USB接口芯片FT245AM的原理

发布者:dandan666最新更新时间:2016-07-15 来源: eefocus关键字:USB接口芯片  FT245AM 手机看文章 扫描二维码
随时随地手机看文章
随着计算机的广泛就算,与计算机通信的方式也越来越多,对通信速度和易用性要求也越来越高,这使得USB通信方式显得越来越突出,应用领域也越来越广泛。因此,在鼠标、键盘、游戏杆、数据采集卡、数码相机、掌上电脑中都有USB的应用。

FT245AM是美国FTDI公司生产的一种USB专用芯片。它具有功能强、体积小、传输速度快、符合USB1.1技术规范、易于一微处理器接口等特点,因而倍受用户的青睐。笔者采用FT245AM成功地开发了航空ARINC429总线测试仪。

    FT245AM集成了USB1.1通信协议和外设接口,可以方便地实现USB主机与外设MCU、CPLD的接口,其数据传输速率可达1MB/s。FT245AM内部128字节的接收FIFO和384字节的发送FIFO大大提高了USB主机与外设的通信质量。另外,FT245AM还具备3.3V的LDO调整器、8位频器、USB数据时钟恢复PLL、USB数据收发器,且EEPROM接口逻辑单元可外接串行存储器93C46,以实现USB VID、PID、序列号和设备说明字符串的存储。使用FT245AM可大大简化其外围电路,使用户设备更趋于小型化。

1 FT245AM简介

1.1 FT245AM内部结构和引脚功能

FT245AM芯片的内部结构如图1所示。该芯片采用QFP32封装,其各管脚说明如下:

USBDP(7脚):USB差分数据正端;

EEDATA(2脚):串行存储器数据;

USBDM(8脚):USB差分数据负端;

TEST(5脚):厂商测试管脚;

3V3OUT(6脚):3.3V电源输出;

D[7:0](25~18脚):外设接口数据总线;

XTIN(27脚):晶体振荡器输入;

RD(16脚):外设读数据信号输入;

XTOUT(28脚):晶体振荡器输出;

WR(15脚):外设写数据信号输入;

RCCLK(31脚):RC定时器;

TXE(14脚):发送FIFO空标志输出;

RESET(4脚):芯片复位输入;

RXF(12脚):接收FIFO非空标志输出;

EECS(32脚):串行存储器片选;

EEREQ(11脚):串行存储器读取请求;

EESK(1脚):串行存储器时钟;

EEGNT(10脚):串行存储器读取允许;

VCC,AVCC(3、13、26、30脚):分别为芯片电源和电路模拟电源;

GND,AGND(9、19、29脚):芯片地和模拟地。

1.2 FT246AM与外设的数据传输方法

FT245AM具有外设接口控制单元,可以方便地与MCU、CPLD接口来实现数据交换。

    当外设从FT245AM中读取USB主机数据时,如果FT245AM的管脚RXF为高电平,则表明FT245AM没有接收到USB主机发送的数据,此时外围MCU(CPLD)不能读取数据。而当MCU(CPLD)检测到RXF为低电平时,表明FT245AM的接收FIFO中已有USB主机发送的数据,此时外围MCU(CPLD)便可以通过外设数据总线读取数据。外设通过FT245AM读取USB主机数据的时序图如图2所示。

当外设通过FT245AM写数据到USB主机时,如果FT245AM的管脚TXE为高电平,则表示FT245AM内部正忙,外围MCU(CPLD)不能向FT245AM的发送FIFO中写数据。而当外围MCU(CPLD)检测到TXE为低电平时,则表明FT245AM的发送FIFO空闲,外围MCU(CPLD)可以向FT245AM中写数据到USB主机。图3所示是外设通过FT245AM向USB主机发送数据的时序图。

2 在ARINC429总线测试仪中应用

ARINC429总线在航空领域有着广泛的使用,该总线采用差分数据传输方式,支持12.5kbps和100kbps两种传输速率。由于ARINC429总线设备的应用领域比较特殊,因此需要较高的可靠性,同时其测试设备也显得尤为重要。为了方便该总线设备的测试,摆脱专用测试设备的不灵活性,急需一种方便快捷的通信方式来实现计算机与该总线设备的互连,使该总线设备的测试可以在计算机中自动完成,从而提供测试设备的灵活性和通用性。因此,提出了基于USB总线的ARINC429总线测试仪。

2.1 基于USB的ARINC429总线测试仪结构

考虑到USB总线为自供电试,最大可驱动500mA电流,故ARINC429测试仪选取4路接收、2路发送的结构。当然,如果允许外接电源,还可以实现更多的收发路数,但这样会降低USB总线的方便性。由于ARINC429总线的传输速率最大为100kbps,而USB1.1的通信能力可达12Mbps。,考虑到协议的额外开销,一路USB总线同时完成2路ARINC429总线的发送和4路接收。

为了提高ARINC429总线测试仪的实时性,可选用高速MCU控制USB接口芯片FT245AM,但MCU没有足够的I/O数,无法满足与ARINC429控制芯片连接的I/O管脚,因此,可选用CPLDEPM7128S来完成FT245AM的控制和数据传输。

基于USB的ARINC429总线测试仪结构如图4所示。图5所示是FT245AM部分的外围电路。

在谝测试仪电路中,EPM7128S用于完成ARINC429总线控制芯片DEI1016与USB控制芯片FT245AM的逻辑变换,以使USB主机可以实时发送数据到ARINC429总线设备,并实时接收设备返回的数据,以供主机中的测试软件进行记录和检测,从而满足设备故障的诊断和定位之需。

    2.2 EPM7128S与FT245AM的接口实现

EPM7128S与FT245AM的接口电路主要完成从FT245AM的接收FIFO中读数据和向FT245AM的发送FIFO中写数据。采用纯硬件实现方式可使FT245AM的接口延时和整个测试仪通信环节的延时达到最小。

EPM7128S可与FT245AM共享工作时钟,它使用12条I/O与FT245AM相连,分别对应于FT245AM的D0~D7、TXE、RXF、RD、WR等。

对EPM7128S的编程可采用VerilogHDL语言,并采用Synplify综合,最后使用MAXPlus II进行布线和仿真。与FT245AM的接口设计代码如下:

//-------------

//产生FT245AM读信号

always@(posedge clk or negedge reset)

begin

if(reset = =1'b0)

usb_rd<=1'b1;

else if(usb_rxf= =1'b1)

usb_rd<=1'b1;

else if(usb_rd= =1'b0)

usb_rd<=1'b1;

else if((usb_rxf = = 1'b0)&&(usb_rden= =1'b1)&&(cnt= =2'd0))

usb_rd<=~usb_rd;

end

//---------------------

//计数器,控制FT245AM读写时序

always@(posedge clk or negedge reset)

begin

if(reset = =1'b0)

cnt<=2'd0;

else if(cnt !=2'd0)

cnt<=cnt+1'b1;

else if((usb_txe = =1'b0)&&(data_valid = =1'b1)&&(usb_rden= =1'b0))

ent<=cnt+1'b1;

end

//---------------------

//产生FT245AM写信号

always@(posedge clk or negedge reset)

begin

if(reset= =1'b0)

usb_wr<=1'b0;

else

usb_wr<=(cnt= =2'd1);

end

//---------------------

//读取USB主机数据

always@(posedge clk or negedge reset)

begin

if(reset= =1'b0)

rx_data<=8'b00;

else if(usb_rd = = 1'b0)

rxdata<=usb_data;

end

//---------------------

//向USB主机写数据

always@(posedge clk or negedge reset)

begin

if(reset = =1'b0)

tx_data<=8'h00;

else if(cnt[0] = =1'b1)tx_data<=data_429;

end

//---------------------

//FT245Amgn EPM7128S的数据三态接口

assign usb_data=(cnt[1] = =1'b1)?tx_data:8'hzz;

//----------------------

图5 FT245AM外围电路图

3 结束语

本文介绍了USB接口芯片FT245AM的原理和在航空ARINC429总线测试仪中的具体应用实例方法。笔者将EPM7128与FT245AM的接口逻辑在MAXplus II环境下进行了仿真,结果表明:使用该设计完全可满足实际要求,因此,使用USB通信接口的航空ARINC429总线测试仪,大大便利了429总线设备与计算机的通信,有效提高了429总线设备的检测效率。

关键字:USB接口芯片  FT245AM 引用地址:USB接口芯片FT245AM的原理

上一篇:高速USB数据采集系统的设计
下一篇:基于CH371的USB接口虚拟示波器设计

推荐阅读最新更新时间:2024-05-03 00:31

基于BlueCore2External蓝牙芯片USB接口设计
1 前言 蓝牙是一种全新的无线数据交换技术,他的应用省却了各种数字设备之间需要经过 复杂的软件安装与调试的有线连接过程,做到紧紧咬合、无缝连接,使各种电子设备与家用 电器融为一体,给人们的生活和工作带来全新的感受。 蓝牙技术集成到各种数字设备中的方式有2种:一种是单微控制器方式,即所有的蓝牙低层传输协议(包括蓝牙射频、基带与链路控制器、链路管理器)与高层传输协议(包括逻辑链 路控制与适配协议、服务发现协议、串口仿真协议、网络封装协议等)以及用户应用程序都 集成到一个模块当中,整个处理过程由一个微处理器来完成;另一种是双微控制器方式,即 蓝牙协议与用户应用程序分别由主机和主机控制器来实现(低层传输协议一般通过蓝牙硬件模块实
[网络通信]
USB接口芯片SL811HS的应用
1 引言   USB(通用串行总线)是INTEL、DEC、MI-CROSOFT、IBM等公司联合提出的、最近几年逐步在PC领域广为应用的新型接口技术。USB接口通用性好、实时性强、传输方式多样、成本低、支持即插即用、易于扩展且便于使用,这些优点使其得到许多硬件厂商的青睐。目前各种类型的USB产品已大量涌入市场,同时也被广泛地用在PC机及嵌入式系统中。 USB的拓扑结构中居核心地位的是Host(也称为主机),任何一次USB数据传输都必须由主机发起和控制,所有的USB外设都只能和主机建立连接,任何两个外设之间或是两个主机之间无法直接通信。而目前,扮演主机角色的大多是个电脑PC。而我们买到和使用的USB移动设备都是USB外设
[嵌入式]
CP2701:USB接口芯片
     CP2701是一款支持充电器以及多种外设接入的USB接口芯片。该芯片可以帮助设计者通过单一Micro-USB接口实现系统与充电器,耳机的连接,以及USB和UART数据通讯。CP2701非常符合手机充电器接口标准化统一的需求,同现有的用多个模拟开关实现方案上有着集成度更高,应用更简单、性能更好的优势。   CP2701在支持UCS(universal charging solutiON)方面,可以支持各种DC、USB端口等充电类型,通过自动识别充电类型设定充电电流。CP2701支持过压、过流保护以及高达28V的输入耐压。CP2701可以支持识别多达32种不同的外部设备接入,例如耳机,充电器,数据线等,在主芯片的控制下实
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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