基于FT245BM的快速USB接口设计

发布者:Qinghua2022最新更新时间:2012-03-01 来源: dzsc关键字:FT245BM  USB接口  数据通信 手机看文章 扫描二维码
随时随地手机看文章
引 言

USB(通用串行总线)是一种新的数据通信接口方式,它使得外围没备到计算机的连接更加高效、便利。USB接口不仅具有快速、即插即用、支持热插拔的特点,而且能同时连接多达127个外部设备,可以有效地解决PC机外围接口不足的问题。目前USB这一接口形式在微电子控制系统的设计中得到了广泛应用。

在近期参与开发的数控系统中,应客户要求需要将USB接口引入到数控系统中。由于该USB数据通信接口设计仅是系统设计的一个很小的部分,如果仍采用传统的设计方法实现,那么将耗费较多的时间和精力,而且最终也未必能获得理想的效果。为了摆脱常规USB数据接口设计的难度,加快系统开发进程,我们引入了基于FT245BM的快速USB接口设计,使系统开发节奏加快,保证整套系统设计周期的缩短。

1 FT245BM芯片简介

FT245BM是FTDI(Future Technology Devices IntlLtd)公司的多种快速USB通信接口解决方案之一。它无需编写片内固件程序,上层PC机则使用FTDI公司提供的官方驱动程序。FT245BM芯片的主要功能是在内部硬件逻辑的作用下实现USB串行数据格式与并行数据格式的双向转换。PC机通过USB接口与FT245BM进行数据交换,FT245BM则通过并行方式与下位微控制器通信。FT25BM芯片引脚见图1。

该芯片有如下特点:

单芯片实现USB与并行FIFO缓冲区的双向数据传输;FTDI公司提供VCP(虚拟串行口)和D2XX两种驱动程序,使用D2XX驱动程序能获得更好的数据传输性能,传输速率最大可达1 MB/s;通过简单的四线握手信号与MCU、CPLD、FPGA等逻辑器件接口;完整的片内USB协议解决方案,无需底层固件的编程;完全兼容USB1.1,USB2.0协议;)附加的EEPROM接口可定制USB接口设备。[page]

2 USB接口的硬件设计

由USB设计规范可知,USB设备有总线供电和自供电两种方式。考虑到开发的数控系统并不属于移动应用,无需通过总线供电方式来供给芯片工作所需电源,因此采用自供电方式进行设计。采用自供电方式的基于FT245BM的USB接口电路原理如图2所示。

FT245BM通过8位并行数据口D[0..7]和4位读写状态/控制口 RXF#、TXE#、RD#、WR实现与微控制器交换数据,而PC机与FT245BM问通过UISB总线传输数据。可选的外部EEPROM用于存储USB设备的特定信息,呵以通过EECS、EESK、EEDATA来完成数据写入和读出。由于设计采用自供电的方式,为防止USB主机或USB HUB(集线器)控制器在断电情况下USB接口设备将电流灌入USB总线(USB主机或USB HUB控制器将突然上电而可能导致损坏),在USBDP的上拉电路中加入检测USB总线电流的NPN型晶体管2N3904。当总线有电时,2N3904饱和导通,USBDP通过1.5 kΩ电阻上拉至RSTOUT#3.3 V,USB数据通信正常进行;当USB总线失电时,2N3904因基极无电流而截止,阻止电流由RSTOUT#进入USB总线,可有效防止USB主机的突然上电。

3 USB接口的软件设计

USB接口软件是配合接口硬件实现USB数据的高效快速传输,包括微控制器端和PC端两部分。

3.1 微控制器端软件的设计

微控制器通过FT245BM提供的数据和控制接口实现数据的交换。

读操作时序见图3。当RxF#为低,表示当前FIFO接收缓冲区内有数据,可以执行读操作读取接收缓冲区数据。在RD#电平由高变低,FIFO控制器将接收缓冲区中的数据输出到8位数据端口上,微控制器此时只需读取I/O口就可以将数据取到内部数据总线上来,再将RD#信号拉高完成1个字节数据的读取。当将FIFO接收缓冲区中的数据全部取出后,RXF#被拉高表示数据为空。在RXF#为高时,禁止从FIFO接收缓冲区读取数据。

写操作时序见图4。当TXE#为低,表示当前FIFO发送缓冲区空,可以向发送缓冲区写人数据。在WR为高电平时,微控制器将8位数据D[0..7]送到并行I/O口上,在WR信号电平由高变低时数据被写入发送缓冲区中。当TXE#为高时,表示当前FIFO发送缓冲区已满或者正在写入上一个字节,此时禁止向发送缓冲区中写入任何数据。微控制器向FT245BM写人数据时应确保TXE#为低。

3.2 PC机端软件的设计

USB设备插入PC机时操作系统会请求安装设备驱动程序,FTDI公司为基于FT245BM的USB接口设备提供了VCP、D2XX(动态链接库)两种驱动程序。选择不同的驱动程序,PC机端软件设计方法也不同。

3.2.1 基于VCP的PC机端软件设计

选择安装VCP驱动程序时,操作系统将基于FT245BM的USB接口设备虚拟成为串行通信口,对这一虚拟的串行口的操作就等同于对该USB接口设备的操作,因此在应用程序中可以利用串行通信控件来简化PC机端软件的设计。目前比较成熟的串行通信控件有MSCOMM、SPCOMM、PCCOMM等,本文采用Delphi和SPCOMM来完成基于VCP的PC端软件的设计。利用SPCOMM编写针对串行口操作的程序比较容易,它有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作。根据SPCOMM提供的属性、方法、事件可以完成对虚拟成串行口的FT245BM的读写,避开了对USB接口本身的操作。

基于VCP的软件设计介绍如下。首先设置好需要打开的VCP的各个属性,调用StartComm方法打开VCP,然后通过WriteCommData将数据写人到发送缓冲区,由计算机硬件实现物理层的数据发送。数据到达PC机将会触发控件的ONReceiveData事件,在该事件下接收数据并转存以供后续的处理。接收数据出错时将触发OnReceiveError事件,在该事件中可进行出错处理。数据传输完毕后调用StopComm关闭VCP,结束一次通信过程。[page]

3.2.2 基于D2XX的PC机端软件设计

选择D2XX作为USB接口的设备驱动程序,应用程序通过FTD2XX.DLL、FTD2XX.SYS、Windows USBDriver Stack来实现对FT245BM。的读写。因此,在程序编写时只需调用FTD2XX.DLL中的函数,便可完成对USB接口设备的读写操作。

FTD2XX.DLL提供了丰富的接口函数来访问FT245BM,主要函数简介如下:

FT_ListDevice:获取当前PC机上连接的所有的FTDI USB接口设备的信息;

FT_Open,FT_OpenEx:打开FTDI USB接口;

FT_Read:从FTDI USB接口读取数据;

FT_Write:向FTDI USB接口写入数据;

FT_Close:关闭FTDI USB接口。

使用DLL(动态链接库)函数首先要在接口单元处重新声明程序中需要使用到的函数。FTD2XX中DLL函数声明示例如下:

采用Delphi 7编写的数据发送示例程序PcData_To_UsbDevice如下:

4 结束语

通过上述的软硬件设计,可以快速实现USB接口的设计,满足数控系统所要求的高速数据传输任务。采用这种USB设计方案在实际应用中表现良好,达到了预期目的,为数控系统如期交货创造了条件。

关键字:FT245BM  USB接口  数据通信 引用地址:基于FT245BM的快速USB接口设计

上一篇:基于CPLD的DSP微处理器与CAN控制器接口设计
下一篇:VMM验证方法在AXI总线系统中的实现

推荐阅读最新更新时间:2024-05-02 21:56

基于USB接口和FPGA控制的虚拟仪器设计
  引 言   随着目前科学技术的发展,电子技术的应用领域越来越广。电子测试测量仪器作为电子技术的基础,其应用范围也越来越广。在许多领域对这些仪器提出了很高的要求,不仅要有高的测量、传输速度,高的精确度、稳定性、可靠性等,有的甚至要有一定的智能化,能够实现自动测量、自动控制,还要能够快速完成一些复杂的数学运算与处理,能够根据实际应用的情况,快速开发出新的功能。传统的测试测量仪器由于设计理念落后、发展缓慢、功能单一,开发新功能或新产品的难度大,已经无法适应各种新的测量情况。而且其价格昂贵、体积大、不易操作,已经无法满足人们的要求。   虚拟仪器作为传统测试测量仪器的可能的替代品,从1986年美国国家仪器公司(NI)首先提出其概念至
[嵌入式]
哈曼卡顿Traveler蓝牙音箱评测:没有花哨的设计
没有花哨的设计,也没有乱七八糟的功能,而最让我觉得好玩的是,哈曼卡顿Traveler完全可以通过 USB接口 为便携移动设备进行充电。想想市面上“大厚重”的 充电宝 ,仅重300g的哈曼卡顿Traveler着实可以称得上是逼格满满了。幻想一下你拿出哈曼卡顿Traveler为设备充电时,别人投来的羡慕眼光,怎一个酷字了得。   给你推荐个音箱好不好 作为一个对生活颇有追求的上班族(时不时出个差啊,上个天啊...!!!∑(゚Д゚ノ)ノ)同时又痴迷音乐的人而言,一台逼格满满的便携式 蓝牙音箱 绝对是我的刚需。   想想拔“箱”如拔利剑的快感,岂不乐哉。   但面对市场上玲琅满目的蓝牙音箱,我想各位要下手购买的时候选择障碍症一定会犯。  
[嵌入式]
usB接口的主要特点
① 使 用 方便。即插即用,可热插拔,具有自动配置能力,用户只要简单地将外设插人到PC以外的总线中,PC就能自动识别和配置uSB设备。 ② 速 度快 。在遵循usBI.1规范的基础上,usB接口最高传输速度可达12MbPs,而在usBZ.0规范 下,更可以达到48oMbps[,〕。 ③ 连 接 灵活,易扩展。它不仅可以连接127个USB设备,而且连接的方式也十分灵活,既可以使用串行连接,也可以使用集线器(Hub)把多个设备连接在一起,再同PC机的USB接口相连。 ④ 能 够采 用总线供电。usB总线提供最大达sv电压、solllA电流。大部分USB外设无需单独的供电系统。 由于 U SB 的诸多特点,在PC的外围设备中,取代
[嵌入式]
双绞线电缆高速通信概览
我们从19世纪下半叶就开始安装和使用双绞线电缆。进入21世纪,双绞线电缆仍广泛应用于高速数据通信。双绞线电缆(见图1)通常被作为电话线来使用,包括为数以百万计的家庭提供高速互联网连接的DSL服务。双绞线电缆还用于以太网连接以及电视机、计算机显示器等设备的HDMI和DVI连接。虽然双绞线电缆在日常生活中随处可见,但是对这种电缆的属性进行深入分析的文章却寥寥无几。    我们可以看到有大量资料在讨论同轴电缆、PCB迹线。虽然双绞线得以广泛运用,但阐述双绞线在各种情况中应用的资料却不多见。笔者在研究中发现缺乏双绞线电缆分析的原因是这种分析将很快陷入复杂的数学问题。在分析同轴电缆或PCB布局时,可以使用二维分析获得良好的电缆行为模
[网络通信]
双绞线电缆高速通信概览
耐高温USB接口的基本特点
耐高温USB接口是一种由特殊的耐高温绝缘材料制成的USB接口,可在高温条件下正常工作,适用于各种环境中高可靠性连接结构的USB接口。该USB接口广泛应用于各种电子仪器、密封容器的电子设备和电源之间的电路连接器。以下主要解释了耐高温USB接口的基本特点、耐高温USB接口的应用和耐高温USB接口的特点。 耐高温USB接口的基本特性: 1、高绝缘; 2、耐高温; 3、高纯度; 4、高耐辐射性; 5、吸潮率低; 6、高强度,尺寸稳定; 7、噪音低,自润滑性能好; 8、耐腐蚀,密封性能好,无污染,适合环保。 耐高温USB接口的应用: 耐高温USB接口广泛应用于各种电子仪器、密封容器电子设备与电源之间的电路连接、超低温反应设备部件
[嵌入式]
耐高温<font color='red'>USB接口</font>的基本特点
可编程放大器在USB接口数据采集系统中的应用
  传感器接口   现今,大部份的电子仪器采用的是嵌入式系统。通常这些嵌入式系统包含传感器、缓冲和调节信号的放大器、模/数转换器,以及供数据处理和人机接口用的微控制器等。例如数据采集系统和数据记录器就是这样的系统。图1表示出设有USB接口的数据采集系统的方块图。   图1 具备USB接口的数据采集系统   在输出端上的传感器拥有一系列的特性。其中,传感器的敏感度和动态范围对于把传感器的信号按比例放大到模数转换器(ADC)的输入范围最为重要。将传感器的敏感度乘以测量中实质量的最大值便等于传感器的最大输出值。在很多情况下,传感器的输出必须被放大才可以充分利用ADC的输入范围。图2表示两者之间的关系。   图2
[嵌入式]
基于FPGA的USB接口IP核设计
摘要: 重点阐述了USB接口IP核关键模块的设计和验证,用VerilogHDL对USBIP核协议RTL级代码编写,对USB协议的数据流、传输等进行了深入的分析,在Xilinx ISE软件平台上进行了FPGA综合,并在Xilinx FPGA开发板上调试成功。通过在ModelSim6.0上仿真、ISE9.1上综合并在FPGA开发板上验证,最后采用0.35μm CMOS工艺实现版图设计,工作频率120 MHz,3.3 V电压时工作电流9mA,静态电流40μA。结果表明文中USB接口IP设计是可行的。 关键词: IP;通用串行总线;VerilogHDL;协议层;SIE USB(通用串行总线)作为一种外设连接技术,是计算机外设连接技术的重
[嵌入式]
高速串行数据通信发送芯片CY7B923的原理及应用
    摘要: 文章介绍了CYPRESS半导体公司推出的一种用于点对点之间高速串行数据通信的发送芯片CY7B923的原理及应用。较详细的介绍了CY7B923的管脚功能、内部组成、工作原理及工作方式。同时给出了一个实际电路来说明其具体的应用方法。     关键词: 串行数据通信 CY7B923 IDT7200 基带传输 差分PECL输出 1 概述 CY7B923是CYPRESS半导体公司推出的一种用于点对点之间高速串行数据通信的发送芯片。CY7B923采用的是基带传输通信方式,并支持带电插拔(热接插)。其内部电路主要包括时钟产生器、输入寄存器、编码器、移位寄存器、三对差分PECL输出对以及测试逻辑等。该芯片
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved