用户登陆 用户注册
您的位置:首页> 技术文章>内容正文
USB通信芯片FT245BM的应用
[正文]:摘要: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引脚功能 引脚号 引脚名称 类 型 引脚功能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.3v8 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.25v13 vccio pwr 控制引脚10~12、14~16、18~25的信号电平,+3.0~+5.25v9、17 gnd pwr 电源地30 avcc pwr 内部模拟电源29 agnd pwr 内部模拟电源地   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应用程序,写入自己相应的信息即可。
该eeprom是可选的。
若没有eeprom,ft245bm将使用默认的vid、pid、产品描述符和电源描述符,并且没有设备的序列号。
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和mscomm3.output读入或输出数据。
在读取数据时,设置mscomm3.rthreshold的值为1。
只要有数据传到pc机,就立即触发mscomm3.commevent事件,自动读取com3的数据;而发送数据则可自动或手动发送,由用户自己设置。
根据这些,用户就可以轻松编写自己的应用程序了。
在设备端,基于万利的insight se-52仿真器进行编程。
根据图4所示接收数据时序图,首先,须采样到信号为低,若为低,表明有接收到来自pc机的数据,允许单片机通过八位数据总线d0~d7读取数据。
接着,通过信号由低到高的变化锁存数据(读入数据)。
最后,延迟一段时间,重新开始下一字节的读取。
软件流程如图5所示。
发送数据过程,可根据图6所示发送数据时序图,同理编写发送数据的程序。
设备程序可以在此基础上进一步开发,即用户根据自己的具体项目进行编程。
5 结 论   利用ft245bm进行usb接口的开发,简单、容易,开发周期短,易于为工程实践所采用;同时,也可以直接用于新产品的开发,如数码相机的usb接口、mp3播放器的usb接口及无线modem的usb接口等。



网站首页 培训课程 维修指南
技术文章 家电专栏 供应信息
求购信息 培训资讯 展会信息
电脑专栏 教程下载 资料下载
常用软件 PLC教程 PLC资料
变频伺服 低压电器 维修资料
人机界面 自控仪表 工控机类
文章标题: 搜文章
中国工控资源网手机版 2012
电话:010-67577139 13811659603
培训咨询QQ:657167934 471895637 销售咨询QQ:623769457
联系邮箱:zggkzyw@163.com
 京ICP备11002135号
报时(2026-04-04 02:20:42) 流量统计