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所列 。
引脚号 引脚名称 类 型 引脚功能 25 D0 I/O 双向数据总线 24 D1 I/O 双向数据总线 23 D2 I/O 双向数据总线 22 D3 I/O 双向数据总线 21 D4 I/O 双向数据总线 20 D5 I/O 双向数据总线 19 D6 I/O 双向数据总线 18 D7 I/O 双向数据总线
16 RD IN 由低变高时,允许从接收数据缓冲区读取数据 15 WR IN 由高变低时,允许将数据发送到数据缓冲区 14 TXE OUT 为低时,允许数据写入发送数据缓冲区 12 RXF OUT 为低时,允许数据缓冲区的数据被读取
7 USBDP I/O USB数据信号线D+,接1.5kΩ的上位电阻到3.3V 8 USBDM I/O USB数据信号线D- 32 EECS I/O EEPROM片选线 1 EESK OUT EEPROM时钟线 2 EEDATA I/O EEPROM数据线 10 PWREN OUT 电源使能线
11 SI/WU IN 发送立刻消息或唤醒信号线 4 RESET IN 复位脚
5 RSTOUT OUT 内部复位生成器的输出脚 27 XTIN IN 时钟输入脚 28 XTOUT OUT 时钟输出脚 31 TEST IN 测试脚
6 3V3OUT OUT 3.3V输出脚
3、26 VCC PWR 电池,+4.4~5.25V
13 VCCIO PWR 控制引脚10~12、14~16、18~25的信号电平,+3.0~+5.25V 9、17 GND PWR 电源地
30 AVCC PWR 内部模拟电源 29 AGND PWR 内部模拟电源地
4 软件编程
当FT245BM的USB接 口连接到主机后,必须在PC机上安装一个由FTDI公司免费提供的虚拟串行口VCP(Virtual COM Port)驱动程序。该驱动程序兼容Windows 98/ 98 SE、Windows 2000/ME/XP等不同版本。用户可以在这虚拟串口上进行应用程序的开发。该虚拟串口可以像一个标准的物理串口那样被访问,可本质上所有针对虚拟串口的数据通信都是通过USB总线完成的,在设备端则通过并行I/O口完成。
在PC端,应用VB对虚拟串口(通常为COM3)进行应用编程。我们直接应用MSComm控件,将MSComm3.CommPort置为3,MSComm3.Seetings置为“9600,n,8,1”(该速率为默认设置,实际上VCP驱动程序总是使数据以最快速率传输);通过MSComm3.PortOpen设置COM3的开关状态;通过MSComm3.Input和