USB通信芯片FT245BM的应用
发布时间:2008/5/29 0:00:00 访问次数:465
摘要:ft245bm的主要功能是进行usb和并行i/o口之间的协议转换。详细介绍ft245bm芯片的工作原理、内部结构、引脚分布及功能;给出基于ft245bm接口电路的典型设计及驱动和应用软件的编写方法。
关键词:ft245bm usb接口 并行i/o口
引 言
1 概 述
当前,usb外设的开发是一个热点。由于usb总线具有传输速度快、占用资源少及真正的即插即用等优点,越来越受到业界的青睐。可是,usb的开发要求设计人员对usb的标准、firmware(固件)编程及驱动程序的编写等有较深入的理解,因此限制了usb的开发人员;而基于ft245bm芯片的usb产品开发,能够使研发人员在最短的周期内开发出相应的usb产品。该芯片由ftdi (future technology devices intl. ltd.)公司推出,使用简单、性能卓越,只要熟悉单片机编程及简单的vb、vc应用程序编程,就可很容易地进行用户产品开发。
2 ft245bm芯片功能简介
ft245bm的主要功能是进行usb和并行i/o口之间的协议转换。芯片一方面可从主机接收usb数据,并将其转换为并行i/o口的数据流格式发送给外设;另一方面外设可通过并行i/o口将数据转换为usb的数据格式传回主机。中间的转换工作全部由芯片自动完成,开发者无须考虑固件的设计。
ft245bm内部主要由usb收发器、串行接口引擎(sie)、usb协议引擎和先进先出(fifo)控制器等构成, 如图1所示 。usb收发器提供usb1.1/ 2.0的全速物理接口到usb总线,支持uhci/ohci主控制器;串行接口引擎主要用于完成usb数据的串/并双向转换,并按照usb1.1规范来完成usb数据流的位填充/位反填充,以及循环冗余校验码(crc5/crc16)的产生和检错;usb协议引擎管理来自usb设备控制端口的数据流;fifo控制器处理外部接口和收发缓冲区间的数据转换。
fifo控制器实现与单片机(如at89c51等)的接口,主要通过8根数据线d0~d7及读写控制线(、wr、和)来完成和单片机的数据交互。ft245bm内含两个fifo数据缓冲区,一个是128字节的接收缓冲区,另一个是384字节的发送缓冲区。它们均用于usb数据与并行i/o口数据的交换缓冲区。
另外,ft245bm还包括1个内置的3.3 v的稳压器,1个6 mhz的振荡器、8倍频的时钟倍频器、usb锁相环和eeprom接口。ft245bm采用32脚的pqfp封装,体积小巧,易于和外设做到一块板上。其外形及引脚分布 如图2所示 ,各引脚的功能描述 如表1所列 。
表1 ft245bm引脚功能 引脚号 引脚名称 类 型 引脚功能 |
3 硬件设计
ft245bm的典型硬件电路如 图3所示 。该电路采用总线供电模式,同时采用上电复位方式,通过的输出使单片机复位。时钟电路可采用4脚的6 mhz晶振模块或由1个6 mhz的晶体及2个33 pf的电容组成。脚和i/o 24脚相连,用于判断usb总线是处于挂起状态还是正常状态。在usb接口的电源端采用一个磁珠,以减少主机和设备的干扰;同时,电源端增加了去耦和旁路电容,以提高电路的抗干扰性能。在pcb板的设计中,数据线的走线应尽可能短并且长度相等。图3中的93c46(93c56或93c66)是一片eeprom,用于存储产品的vid、pid、设备序列号及一些说明性文字等。这些需要用户自己编写,编写的应用程序由ftdi提供。用户只须运行相应的vb应用
摘要:ft245bm的主要功能是进行usb和并行i/o口之间的协议转换。详细介绍ft245bm芯片的工作原理、内部结构、引脚分布及功能;给出基于ft245bm接口电路的典型设计及驱动和应用软件的编写方法。
关键词:ft245bm usb接口 并行i/o口
引 言
1 概 述
当前,usb外设的开发是一个热点。由于usb总线具有传输速度快、占用资源少及真正的即插即用等优点,越来越受到业界的青睐。可是,usb的开发要求设计人员对usb的标准、firmware(固件)编程及驱动程序的编写等有较深入的理解,因此限制了usb的开发人员;而基于ft245bm芯片的usb产品开发,能够使研发人员在最短的周期内开发出相应的usb产品。该芯片由ftdi (future technology devices intl. ltd.)公司推出,使用简单、性能卓越,只要熟悉单片机编程及简单的vb、vc应用程序编程,就可很容易地进行用户产品开发。
2 ft245bm芯片功能简介
ft245bm的主要功能是进行usb和并行i/o口之间的协议转换。芯片一方面可从主机接收usb数据,并将其转换为并行i/o口的数据流格式发送给外设;另一方面外设可通过并行i/o口将数据转换为usb的数据格式传回主机。中间的转换工作全部由芯片自动完成,开发者无须考虑固件的设计。
ft245bm内部主要由usb收发器、串行接口引擎(sie)、usb协议引擎和先进先出(fifo)控制器等构成, 如图1所示 。usb收发器提供usb1.1/ 2.0的全速物理接口到usb总线,支持uhci/ohci主控制器;串行接口引擎主要用于完成usb数据的串/并双向转换,并按照usb1.1规范来完成usb数据流的位填充/位反填充,以及循环冗余校验码(crc5/crc16)的产生和检错;usb协议引擎管理来自usb设备控制端口的数据流;fifo控制器处理外部接口和收发缓冲区间的数据转换。
fifo控制器实现与单片机(如at89c51等)的接口,主要通过8根数据线d0~d7及读写控制线(、wr、和)来完成和单片机的数据交互。ft245bm内含两个fifo数据缓冲区,一个是128字节的接收缓冲区,另一个是384字节的发送缓冲区。它们均用于usb数据与并行i/o口数据的交换缓冲区。
另外,ft245bm还包括1个内置的3.3 v的稳压器,1个6 mhz的振荡器、8倍频的时钟倍频器、usb锁相环和eeprom接口。ft245bm采用32脚的pqfp封装,体积小巧,易于和外设做到一块板上。其外形及引脚分布 如图2所示 ,各引脚的功能描述 如表1所列 。
表1 ft245bm引脚功能 引脚号 引脚名称 类 型 引脚功能 |
3 硬件设计
ft245bm的典型硬件电路如 图3所示 。该电路采用总线供电模式,同时采用上电复位方式,通过的输出使单片机复位。时钟电路可采用4脚的6 mhz晶振模块或由1个6 mhz的晶体及2个33 pf的电容组成。脚和i/o 24脚相连,用于判断usb总线是处于挂起状态还是正常状态。在usb接口的电源端采用一个磁珠,以减少主机和设备的干扰;同时,电源端增加了去耦和旁路电容,以提高电路的抗干扰性能。在pcb板的设计中,数据线的走线应尽可能短并且长度相等。图3中的93c46(93c56或93c66)是一片eeprom,用于存储产品的vid、pid、设备序列号及一些说明性文字等。这些需要用户自己编写,编写的应用程序由ftdi提供。用户只须运行相应的vb应用