USB接口芯片FT245BM的功能及其应用
发布时间:2008/6/3 0:00:00 访问次数:523
the function and application of usb interface chip ft245bm
摘 要: ft245bm芯片是ftdi(future technology devices intl. ltd)公司生产的一种usb接口芯片,支持usb协议与并行i/o协议之间的转换,文中主要介绍了ft245bm芯片的内部结构、功能、工作原理,以及基于ft245bm芯片的硬件接口设计及软件编程。
关键字:ft245bm;usb
概要
通用串行总线usb(universal serial bus)由于具有数据传输速率高、易于使用、支持热插拔等特点,越来越成为一种流行的计算机通信接口。ft245bm芯片是由ftdi(future technology devices intl. ltd)公司推出的第二代usb接口芯片,与其他usb芯片相比,应用ft245bm芯片进行usb外设开发,只需熟悉单片机(mcu)编程及简单的vc或vb 编程,而无需考虑固件设计以及驱动程序的编写,从而能大大缩短usb外设产品的开发周期。此外,ft245bm支持usb1.1及usb2.0规范,数据传输速度可达到1m byte/s。因此,ft245bm是开发usb外设所需接口芯片的极佳选择。
ft245bm的结构与功能
ft245bm芯片是一种32脚,lqfp封装的芯片,管脚定义如下:
d[0-7](25,24,23,22,21,20,19,18):双向数据信号线;
rd#(16):读信号;
wr(15):写信号;
txe#(14): fifo发送缓冲区空标志信号;
rxf#(12): fifo接收缓冲区非空标志信号;
usbdp(7),usbdm(8):usb数据信号正端,usb数据信号负端;
eecs(32),eesk(1),eedata(2):eeprom片选线,时钟线,数据线;
pwren(10):电源使能信号;
si/mu(11):立即发送或唤醒信号;
reset(4):复位信号;
rstout(5):内部复位生成器的输出信号;
xtin(27),xtout(28):时钟输入信号,输出信号;
test(31):测试信号;
3v3out(6):3.3v输出信号;
vcc(3,26),vccio(13),avcc(30):芯片电源,控制引脚电源,内部模拟电源;
gnd(9,17),agnd(29):芯片地,内部模拟地。
芯片内部由3.3v稳压器,usb收发器,锁相环,串行接口引擎(sie),fifo控制器,usb协议引擎,fifo接收缓冲区,发送缓冲区以及6m振荡器,8倍频时钟倍频器等组成。
ft245bm芯片可实现usb接口与并行i/o接口之间数据的双向转换。一方面,当usb收发器从主机接收usb串行数据后,由串行接口引擎将数据转换成并行数据,存储在fifo接收缓冲区, fifo控制器检测到读信号rd为低,就把接收缓冲区的数据送到并行数据线d0-d7上;另一方面当fifo控制器检测到写信号wr为高时,就从数据线d0-d7上读取并行数据,存储在fifo发送缓冲区,并行数据经串行接口引擎转换成usb串行数据,再通过usb收发器传送到主机。可见ft245bm芯片自身就可完成数据转换,而不需要设计者考虑硬件设计。其内部结构功能如图1。
图1 ft245bm芯片功能框图(略)
硬件接口设计
接口电路原理图见图2。
设计采用usb总线供电,图2中ft245bm与一片mcu相连,mcu的一个8位端口用来传输数据,另外一个端口用来控制和产生ft245bm需要的4根握手信号线,即rxf#、txe#、rd#、wr。txe#为低,表示当前fifo发送缓冲区空,这时wr脉冲由高变低就将数据线d0-d7上数据写入fifo发送缓冲区中;当txe#变高时,表示当前fifo发送缓冲区满或者正在存储上一个字节,禁止向发送缓冲区中写数据。rxf#为低,表示当前fifo接收缓冲区有数据,这时rd#脉冲由低变高,将从fifo接收缓冲区中读取数据;读信号rd#为低时,把数据读到数据线d0...d7上;当rxf#为高时,禁止从fifo接收缓冲区读数据。读写时序见图3与图4。
图2 硬件设计原理(略)
图2中的93c46(93c56或93c66)是一片eeprom,用于存储产品的vid、pid、设备序列号及一些说明性文字等。该eeprom是可选的,若没有eeprom,ft245bm将使用默认的vid、pid、产品描述符和电源描述符,并且没有设备的序列号。
图3 读数据时序(略)
图4 写数据时序(略)
设计时需在usb接口的电源端连接一个磁珠,以减少设备的噪声和usb电缆辐射对主机产生的电磁干扰;电源端增加了去耦和旁路电容,以提高电路的抗干扰性能。还需注意的是,电路中rstout#用来提供上电复位mcu。如果mcu本身有复位逻辑,那么通常就不需使用rstout#来复位设备,这部分连接与47k下拉电阻就能省略。
软件设计
当外设连到主机usb接口时,主机会检测到新硬件,这时需要安装一个可从ftdi公司的网站上免费下载的虚拟串口(vcp)驱动程序,该驱动程序适用于windows98/2000/me/xp等不同操作系统。
the function and application of usb interface chip ft245bm
摘 要: ft245bm芯片是ftdi(future technology devices intl. ltd)公司生产的一种usb接口芯片,支持usb协议与并行i/o协议之间的转换,文中主要介绍了ft245bm芯片的内部结构、功能、工作原理,以及基于ft245bm芯片的硬件接口设计及软件编程。
关键字:ft245bm;usb
概要
通用串行总线usb(universal serial bus)由于具有数据传输速率高、易于使用、支持热插拔等特点,越来越成为一种流行的计算机通信接口。ft245bm芯片是由ftdi(future technology devices intl. ltd)公司推出的第二代usb接口芯片,与其他usb芯片相比,应用ft245bm芯片进行usb外设开发,只需熟悉单片机(mcu)编程及简单的vc或vb 编程,而无需考虑固件设计以及驱动程序的编写,从而能大大缩短usb外设产品的开发周期。此外,ft245bm支持usb1.1及usb2.0规范,数据传输速度可达到1m byte/s。因此,ft245bm是开发usb外设所需接口芯片的极佳选择。
ft245bm的结构与功能
ft245bm芯片是一种32脚,lqfp封装的芯片,管脚定义如下:
d[0-7](25,24,23,22,21,20,19,18):双向数据信号线;
rd#(16):读信号;
wr(15):写信号;
txe#(14): fifo发送缓冲区空标志信号;
rxf#(12): fifo接收缓冲区非空标志信号;
usbdp(7),usbdm(8):usb数据信号正端,usb数据信号负端;
eecs(32),eesk(1),eedata(2):eeprom片选线,时钟线,数据线;
pwren(10):电源使能信号;
si/mu(11):立即发送或唤醒信号;
reset(4):复位信号;
rstout(5):内部复位生成器的输出信号;
xtin(27),xtout(28):时钟输入信号,输出信号;
test(31):测试信号;
3v3out(6):3.3v输出信号;
vcc(3,26),vccio(13),avcc(30):芯片电源,控制引脚电源,内部模拟电源;
gnd(9,17),agnd(29):芯片地,内部模拟地。
芯片内部由3.3v稳压器,usb收发器,锁相环,串行接口引擎(sie),fifo控制器,usb协议引擎,fifo接收缓冲区,发送缓冲区以及6m振荡器,8倍频时钟倍频器等组成。
ft245bm芯片可实现usb接口与并行i/o接口之间数据的双向转换。一方面,当usb收发器从主机接收usb串行数据后,由串行接口引擎将数据转换成并行数据,存储在fifo接收缓冲区, fifo控制器检测到读信号rd为低,就把接收缓冲区的数据送到并行数据线d0-d7上;另一方面当fifo控制器检测到写信号wr为高时,就从数据线d0-d7上读取并行数据,存储在fifo发送缓冲区,并行数据经串行接口引擎转换成usb串行数据,再通过usb收发器传送到主机。可见ft245bm芯片自身就可完成数据转换,而不需要设计者考虑硬件设计。其内部结构功能如图1。
图1 ft245bm芯片功能框图(略)
硬件接口设计
接口电路原理图见图2。
设计采用usb总线供电,图2中ft245bm与一片mcu相连,mcu的一个8位端口用来传输数据,另外一个端口用来控制和产生ft245bm需要的4根握手信号线,即rxf#、txe#、rd#、wr。txe#为低,表示当前fifo发送缓冲区空,这时wr脉冲由高变低就将数据线d0-d7上数据写入fifo发送缓冲区中;当txe#变高时,表示当前fifo发送缓冲区满或者正在存储上一个字节,禁止向发送缓冲区中写数据。rxf#为低,表示当前fifo接收缓冲区有数据,这时rd#脉冲由低变高,将从fifo接收缓冲区中读取数据;读信号rd#为低时,把数据读到数据线d0...d7上;当rxf#为高时,禁止从fifo接收缓冲区读数据。读写时序见图3与图4。
图2 硬件设计原理(略)
图2中的93c46(93c56或93c66)是一片eeprom,用于存储产品的vid、pid、设备序列号及一些说明性文字等。该eeprom是可选的,若没有eeprom,ft245bm将使用默认的vid、pid、产品描述符和电源描述符,并且没有设备的序列号。
图3 读数据时序(略)
图4 写数据时序(略)
设计时需在usb接口的电源端连接一个磁珠,以减少设备的噪声和usb电缆辐射对主机产生的电磁干扰;电源端增加了去耦和旁路电容,以提高电路的抗干扰性能。还需注意的是,电路中rstout#用来提供上电复位mcu。如果mcu本身有复位逻辑,那么通常就不需使用rstout#来复位设备,这部分连接与47k下拉电阻就能省略。
软件设计
当外设连到主机usb接口时,主机会检测到新硬件,这时需要安装一个可从ftdi公司的网站上免费下载的虚拟串口(vcp)驱动程序,该驱动程序适用于windows98/2000/me/xp等不同操作系统。