基于FT245BM芯片实现USB双向转换的快速接口设计

  • 时间:
  • 浏览:10
  • 来源:苹果数据线

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

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

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

  单芯片实现USB与并行FIFO缓冲区的双向数据传输;FTDI公司提供VCP(虚拟串行口)和D2XX两种驱动程序,使用D2XX驱动程序能获得更好的数据传输性能,传输速率最大可达1 MB/s;通过简单的四线握手信号与MCUCPLDFPGA逻辑器件接口;完整的片内USB协议解决方案,无需底层固件的编程;完全兼容USB1.1,USB2.0协议;)附加的EEPROM接口可定制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。当总线饱和导通,USBDP通过1.5 kΩ电阻上拉至RSTOUT#3.3 V,USB数据通信正常进行;当USB总线因基极无电流而截止,阻止电流由RSTOUT#进入USB总线,可有效防止USB主机的突然上电。

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

  读操作时序见图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#为低。

  USB设备插入PC机时操作系统会请求安装设备驱动程序,FTDI公司为基于FT245BM的USB接口设备提供了VCP、D2XX(动态链接库)两种驱动程序。选择不同的驱动程序,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,结束一次通信过程。3.2.2 基于D2XX的PC机端软件设计

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

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

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

  林超文PCB设计项目综合实战_第10课时:布线设计演示:以太网、天线、HDMID、USB

  本例详细讲解和演示以太网模块、HDMI、USB、WIFI模块的布线设计。本课程主要讲解:1.以太网模块布线.HDM

  随着VoIP的普及,IP电话的通话质量有了明显改善,与传统电话相比,已基本没有差别。另外,它具有传统....

  随着自动化程度的提高和信息的网络化进程, 所需要的测控点和测控参量越来越多, 使得一个自动控制系统日....

  VoIP是指将语音信号进行编码、压缩和分包等处理,通过IP网络进行传输,实现计算机一计算机、普通电话....

  4月9日消息,据国外媒体报道,三星正在与谷歌合作开发定制的Exynos芯片组,这款芯片组可能最早于今....

  自2017年成立以来,瓴盛科技的一举一动备受业内关注。近日,从业内人士处获悉得知,瓴盛科技即将推出第....

  前也有许多新的小型电子生产企业的贴片生产在用手工进行贴片,大家应该明白手工贴片很难控制质量,不良率很....

  请教一下SP605:FPGA与USB + CP2103GM的接口的相关问题

  您好,我拥有SP605开发套件,我想知道是否有USB控制器的Verilog代码,它与电路板上的CP2103GM通信。 我正在...

  USB把所有的输入和输出外设都置于机箱之外,而不用任何扩展槽。他是快速、双向、同步、动态连接且价格低....

  被称为“广州第一芯”的粤芯半导体,拥有广州市第一条、广东省唯一一条量产的12英寸芯片生产线。面对疫情....

  CPCI总线是一个开放式、国际性技术标准,由PCI总线工业计算机制造商组织PICMG(PCI Ind....

  USBN9604是NatiONalSemiconductor公司设计生产的一款较新型的专用USB通信....

  Philps公司生产的型号为PDIUSBDl2的接口芯片是一个具有集成的SIE,FIFO存储器、发送....

  Am79R70是Legerity公司生产的一种功能较强的用户线接口芯片,它除了具有国际电信联盟组织C....

  CTI(Computer Telephone Integration)即计算机电话集成技术已经发展了....

  通用串行总线USB(Universal Serial Bus)应用由三部分组成:具有USB接口的PC....

  你好,我已经修改了自定义的HID项目从MLA工作与PIC18F2550。PIC接收计算机发送的数据,计算机接收PIC...

  我现在做的项目要通过stm32f103的usb与计算机实现相互通信,看了4天的usb协议和其它的案例大体明白到底是怎么回事,不...

  由于项目需要去年10月弄的作为备用方案,由于其他问题已经废弃,现在有空整理一下把例程分享出来,本来打算用更便宜的...

  与微处理器芯片并行发展的是半导体存贮器。1K位动态随机在贮器最出现于1970。所谓1K位就是1024....

  变压器饱和时,L会变小,导致传输delay引起的峰值电流增量急剧上升,那么LED的峰值电流也跟着增加....

  在使用LED照明过程中,与使用传统照明方式一样,需要将电能转换为光能。

  除了会看会听,还会“闻”。近日,一直致力于模仿人类五感的人工智能又有新突破,通过神经拟态芯片,人工智....

  4月7日,上海证监局披露了中信建投证券股份有限公司(以下简称“中信建投”)关于恒玄科技(上海)股份有....

  据路透社报道,当地时间周二,华为网络业务首席技术官保罗•斯坎伦(Paul Scanlan)表示,美国....

  近日,南京大学物理学院马小松教授团队在Nature合作期刊npj Quantum Informati....

  中国是全球最大的电子信息产品和零部件生产国,每年生产全球70%的智能手机、80%的电脑、50%以上的....

  如何使用pic32mx550f256l微控制器产生usb通信和从usb读取数据的协调性

  如何使用pic32mx550f256l微控制器产生usb通信和从usb读取数据的协调性,任何人都可以对此有所帮助...

  我有一个BM64的EVB开发板。我能够使用USB端口通信,但我不能连接使用UART引脚在J6。我想知道USB电路是...

  在传统的工业控制中,现场的传感器与控制器之间总是以4~20mA的直流电流或1-5V的直流电压来传递信....

  USB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。它支持在主机....

  中国电信早在2016年就发布了Cat 1的商用规划,近几年,随着产业升级的需要,以及2G/3G退网的....

  EDUROBOT-680-II型教学机器人是上海交通大学机器人研究所采用世界银行贷款研制的一种五自由....

  在DSP应用系统中,需要大量外扩存储器的情况经常遇到。例如,在数码相机和摄像机中,为了将现场拍摄的诸....

  图1是一个具有逻辑加密功能的非接触式IC卡的结构方块图。对于具有逻辑加密功能的非接触式IC卡,一般包....

  我一直在为我的RPi Zero开发一个扩展板,它包含一个基于降压转换器TPS62130(5V/3A)、USB集线器和CAN控...

  我目前正在开发一个简单的USB CDC设备。运行协调工具和设置USB CDC设备是没有问题的。不过,我想从头开始...

  你能否想象通过巧妙的安排,使得许多支足球队同时在同一个球场上训练阵型而互不干扰?中国一个科研团队就为....

  今日,高通全球副总裁侯明娟在出席活动时透露,目前芯片产业受疫情影响相对较小。芯片产业供应链全球化水平....

  [tr]USB对DMA读写怎么实现 [/tr][table] [/table]...

  目前,在局域网内部,计算机接入局域网的传统方法是通过在计算机主板上安装以太网卡来实现网络的互联。这种....

  要实现普通电话机与ISDN进行连接,需要专门的接口(POTS)电路,这个接口电路应该具有馈电、过压保....

  PCI总线支持存储器地址空间、I/O地址空间和配置空间等三个物理空间。其中,配置空间是PCI总线所特....

  发送器电路包括一个发送缓存器和一个控制逻辑,发送缓存器是一个8×32bit的FIFO,而控制逻辑则允....

  系统结构框图如图1所示。C8051F120是整个系统的主控制芯片,负责对数据的处理和交换,包括通过R....

  字符式液晶显示模块SMC1602B由一块5x7点阵液晶屏和控制芯片HD44780及其辅助电路组成。它....

  TSI系统(汽轮机状态监视和保护系统)和ETS系统(汽轮机危机跳闸系统)是火力发电厂保证汽轮机和发电....

  LXT384是Intel公司生产的八进制短时间脉冲编码调制(PCM)线路接口单元芯片,常用于1.54....

  在TDM over IP 和V5 VoIP Gateway等PSTN(公共交换电话网)应用中都涉及E....

  在开发USB设备时最难的就是固件和驱动程序的开发,要想成功的开发这两部分必须完全熟悉USB协议,而这....

  UBS(Universal Serial Bus)是一种标准的计算机与外设的连接接口,1995年问世....

  美国TI(Texas Instruments)公司的系列DSP芯片采用哈佛结构、流水线操作、专用硬件....

  在嵌入式设计中常常会使用LCD屏,现在常用的屏大部分都是高性能的。因为LCD屏的生产厂商很多,标准也....

  为了建立一个统一的红外数据通讯标准,1993年,由HP、COMPAQ、INTEL等二十多家公司成立了....

  目前,在局域网内部,计算机接入局域网的传统方法是通过在计算机主板上安装以太网卡来实现网络的互联。这种....

  USB2.0规范的推出极大地刺激了包括各类计算机外设在内的多种电子消费产品的开发设计, USB已成为....

  终端传输层根据卡片返回的过程字符和状态字节执行相应的操作,使读写器对数据的处理过程明朗清晰。卡片返回....

  激光多普勒测量技术(LDT)具有精度高、动态响应快、测量范围大,非接触测量的特点,成为气体、流体测量....

猜你喜欢

火币火币网火币网火币okex 吃鸡租号 币安