datasheet

TMS320C54XX DSP的USB接口实现

2008-03-27来源: 武汉华中科技大学电子与信息工程系(430074) 关键字:USB总线  USB设备  USB接口  接口芯片  EFl  DSP芯片  批量传输  IO

  摘 要:介绍了DSP芯片USB接口的实现。使用USB接口芯片AN2131Q实现DSP和PC机之间的通信,在AN2131Q和TMS320VC54XX DSP之间加有FIFO芯片,可提高数据的传榆速度,使最大数据传输速度超过USB总线的速度。

  关键词:USB DSP 数据传输

  通用串行总线USB(Universal Serial Bus)应用由三部分组成:具有USB接口的PC系统、能够支持USB的系统软件和使用USB接口的设备。USB应用采用通用连接技术,实现外设的简单快速连接,借以达到方便用户、降低成本、扩展PC机连接外设范围的目的。USB的特点

  如下:

  (1)连接灵活、使用方便 现在计算机系统连接外围设备的接口并无统一的标准,如键盘用PS/2接口,打印机用25针的并行接口等。USB则将这些不同的接口统一起来,由一组微小的矩型插座和软件构成。用户插入外设后,计算机系统能够自动识别接人的外设,而不需

  要重新启动系统,用户可以带电插拔;为USB设计的驱动程序和应用软件可以自动启动,无需用户干预USB设备,也不涉及IRQ冲突等问题;USB单独使用自己的保留中断,不会同其它设备争用PC机的有限资源。

  (2)为外设提供电源 USB能自动识别外设所需的电源,并通过USB电缆向该设备供电(最高可达500mA)。

  (3)速度快 USB的最高传输率可达12Mbit/s,比串口速度快100倍,比并口速度快近10倍。USB端口的传输速率比目前PC机平台上的任何其它类型端口的传输速率都快。预计今后USB的速度将会提高到100Mbit/s以上。

  (4)支持多媒体 USB提供了对电话的两路数据支持,它可支持异步及等时数据传输,使电话可与PC机集成,共享语音邮件及其它功能。由于USB音频信息生成于计算机外,因而减少了电子噪音干扰声音质量的机会,从而使音频系统具有更高的保真度。

  1 USB接口芯片AN2131Q

  目前市场上USB接口芯片很多,使用较为广泛的是Crypress公司的AN2131系列的USB接口芯片AN2131Q。AN2131Q具有以下优

  点:

  (1)基于RAM的“软”系统解决方案(SOFT,RAMBASED),不需要ROM或其它的固化存储器,而只使用片内的程序/数据RAM。通过主机下载的方式来配置USB接口,因而使接口系统的修改和升级变得非常简单,使外设硬件的更新和升级变得更为方便。

  (2)数据吞吐量完全达到USB协议要求,可以向用户提供足够的端口、缓冲区和传输速度;提供USB协议要求的全部四种传输方式(控制传输、中断传输、批量传输和同步传输),可以满足用户对各种类型数据传输的需求。

  (3)片上的串行接口处理机(SIE)完成大部分的USB协议操作,使用户可以摆脱复杂的协议细节,简化了用户配置代码,加快了开发过程。

  (4)内嵌增强型8051处理器,兼容8051指令系统;一个指令周期仅需四个时钟周期,可提供标准8051三倍以上的处理能力;双数据指针,方便数据块搬移;使用片内RAM作为数据/程序存储器,非复用数据/地址总线,使程序执行速度更快,并且其同外部器件的连接更

  加简单。

  (5)休眠模式可以降低系统功耗,延长器件的使用寿命。

  AN2131Q的功能框图如图1所示。

  

  

  USB收发器和PC机的接口只有四根导线:+5V、GND、D+、D-。数据以12Mb/s的全速信号或者以1.5Mb/s的低速信号在D+和D信号线上差分传输。收发器固化在芯片上,不需要外部电路,最多只需要用来选择全速或者低速的上拉电阻。

  串行接口引擎(SIE)通过包排序、信号产生及检测、CRC产生及校验、NRZI数据编码、位填充以及包标识产生及解码等功能块处理USB通信协议,并保证传送到USB电缆上的数据字节以LSB开头。

  AN2131Q采用通用的8051微控制器及片上RAM,其编程语言为51系列单片机的通用语言,使用方便。

  2 TMS320C54XX DSP和AN2131Q接口芯片的硬件连接

  TMS320C54XX DSP芯片选用TI公司的TMS320VC5409,TMS320VC5409是定点DSP芯片,它使用改进的哈佛结构,8级流水线操作,最高速度可以达到166MIPS。

  在AN2131Q芯片和TMS320C54XX DSP芯片之间采用FIFO(First In First Out SRAM)芯片连接,可以使USB接口芯片和DSP之间的最大数据交换速度超过USB总线的速度,使之不成为数据传输的瓶颈,从而使DSP和主机间的数据传输速度只受USB协议限制。

  由于AN2131Q芯片内嵌8位8051处理器,所以使用两片8位FIFO芯片实现USB接口和DSP之间的双向通信。FIFO选用具有1K×9bit内存的IDT72V02。从AN2131Q或者DSP传输的数据首先保存在FIFO中,然后再由DSP或者AN2131Q读走,从而使得数据的传输不会出现堵塞情况,其硬件连接框图如图2所示。

  

  

  由于选用的FIFO只有双端数据总线和状态信号,没有地址总线,所以DSP采用I/O译码方式访问FIFO。FIFO状态信号有空(EF)、半满(HF)和满(FF),它们都是低有效。合理利用这三个信号可以很有效地提高FIFO的读写效率。例如利用HF,如果其无效,表示FIFO中的数据没有达到半满,此时不用查询FF就可以向FIFO中写入一块数据,只要数据块的大小等于或小于FIFO容量的一半,FIFO肯定不会满溢出。这样就可以大大提高FIFO的写入速度。

  3 TMS320C54XX DSP芯片和AN2131Q芯片的软件连接

  AN2131Q芯片和TMS320C54XX DSP芯片之间的软件连接包括四个部分:AN2131Q对FIF01的写、AN2131Q对FIF02的读、DSP对FIF01的读、DSP对FIF02的写。为了描述方便,将FIF01的三个状态信号称之为:EF1、HFl和FF1,将FIF02的状态信号称为EF2、HF2和FF2。

  3.1 AN2131Q写FIF01

  当USB总线上有数据要传送至DSP时,AN2131Q查询HFl。若HFl无效,AN2131Q一次向FIF01写入一个数据包。包大小要小于或等于FIF01容量的一半,写每一个字节时不需再查询FFl。

  3.2 DSP读FIF01

  DSP每次从FIF01中读人一个数据包。每读一个字节前,DSP需要查询EFl,只有当EFl无效(FIF01不空)时,DSP才可能进行读操作。

  3.3 DSP写FIF02

  当DSP有数据要传送至主机时,DSP把数据打包,每次向FIF02中写入一包数据。方法同AN2131Q写FIF01,只不过DSP查询的信号是HF2。写完一包后,DSP向AN2131Q发一个中断信号,DSP在写下一包数据时要等待AN2131Q的应答。AN2131Q应答的方法是利用DSP的外部中断INTl中断DSP。

  3.4 AN2131Q读FIF02

  AN2131Q收到DSP发出的中断信号,应答DSP后,从FIF02中读人一包数据,不用再查询EF2。

  3.5数据包格式

  每个数据包由包头和数据两部分构成,如图3所示。包头长度为一个字节,指明以字节为单位包中数据(不含包头)的长度。包中的数据要少于或等于64字节,即最大的包总长度为65字节。

  包头 数 据

  图3数据包格式

  3.6 DSP中断AN2131Q的方法

  

  通过操作控制字向AN2131Q发一个负脉冲,下降沿有效,时序要求如图4所示。

  

  

  3.7 DSP读FIFO状态

  方法一是DSP通过读I/0地址OXXX XXXX XXXX X010b可获得状态信号EFl和HF2。方法二是DSP通过置TMS320VC5409状态寄存器STl中的XF位,从BIO引脚上获取状态信号。当XF置1时,BIO引脚反映HF2的电平,当XF置0时反映EFl的电平。

  4 AN2131Q芯片驱动程序的实现

  AN2131Q芯片的一个特点就是能够按照个人需要通过“下载”和“重列举”动态地改变设备性能。AN2131Q芯片内部有不可改变的存储单元存放特有的代理号(VID)和产品号(PID),VID/PID将绑定主机中的某个设备驱动程序,而该驱动程序的唯一任务就是向AN2131Q下载程序代码。

  用户需要编写三个程序来实现USB设备的使用。—个是负责USB接口调用程序,用于PC机识别USB设备;另一个是安装USB的信息文件,用于对USB设备的一些说明;第三个是AN2131Q使用的程序,用于对数据的传输。下面对这三个程序分别做一些简单的说明。

  4.1负责USB接口调用程序

  Cypress提供了制作该程序的模板。首先,将KEIL51编译生成的16进制文件转换为可写入USB RAM中的二进制文件。然后将该二进制文件拷人模板中,调用DDK(Device Driver Kit),在DDK环境下对模板进行编译,生成驱动程序的系统文件。USB通过GPD(General Purpose Driver)实现上层软件与USB的通信。GPD提供一种用户模式的界面,完成USB设备的请求和数据传输。Cypress的开发工具包中提供了其开发面板的源程序,而其开发面板的设计就是基于GPD的。这使得开发者在例子程序的指引下,能快速地编写出用于通信的应

  用软件。GPD的设计思想是服务于一般用户的,其接口函数具有通用性。通过GPD提供的接口函数的原型,可以实现各种USB操作。包括实现负责USB设备的请求(即打开USB设备);负责USB的I/O口控制;通过改变IOCTL(I/O Control Code)实现各种操作。

  4.2安装USB的信息文件

  安装文件的任务就是将驱动程序文件绑定到特定的VID/PID。主要说明哪一个文件是负责USB接口调用程序,哪一个文件是AN2131Q需要下载的文件。Crypress公司提供了一个标准的USB安装信息文件。然而用户还需要将自己对USB设备的描述(包括说明、版本号、日期、生产商等信息)加到安装信息文件中。

  4.3 AN2131Q使用的程序

  AN2131Q使用的程序是在PC机找到USB设备后下载到AN2131Q芯片内的程序,此程序实现AN2131Q对FIFO和USB接口的监控和读写数据。这个文件因为涉及到下层硬件的连接,不可能提供通用的模板,需要用户自己编写。

  参考文献

  1 Universal Serial Bus Specification[S]. Compaq、Intel、Microsoft、 NEC Revision,September 23,1998

  2 Tms320VC5409 DSP Datasheet.TI,1999

 

关键字:USB总线  USB设备  USB接口  接口芯片  EFl  DSP芯片  批量传输  IO

编辑:ssb 引用地址:http://www.eeworld.com.cn/gykz/2008/0327/article_702.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:GE Fanuc致力于生产管理软件与SAP集成
下一篇:基于ZigBee的无线管理系统设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

基于USB总线的心电检测系统设计

有限;RS232串行总线传输速度慢且与主机的串行口数目较少。近几年USB总线接口异军突起,它具有热插拔、即插即用、系统扩展和配置方便,高效数据传输等显著优点,克服了传统总线接口的缺陷,本文设计的心电监测系统也采用了这种方法。   1 硬件电路设计   1.1 硬件的总体结构   本文设计的心电检测系统硬件总体结构图如图1所示,包括导联电路,滤波放大电路,微控制器,Flash存储器,电源变换电路和USB接口电路等几部分组成。通过电极从人体采集到心电信号,经导联电路和滤波放大电路后进入单片机的A /D,再经单片机处理存储到Flash,从而完成心电信号的采集。系统可以通过USB接口电路实现与PC机的通信,将存储在Flash中
发表于 2016-10-17
基于USB总线的心电检测系统设计

USB总线的体系结构

USB(通用串行总线),由Intel公司提出,带宽为12Mbps,与传统接口总线相比,主要优点有三个,1.可接入多达127个设备,目前计算机外设越来越多,PC机内有限的插槽和接口已经不能满足要求,USB缓解了这一矛盾。2.可以热插拔,在电脑通电的情况下可以随时热插拔所连接的设备。3.可即插即用。   设计USB的设备就必须深入了解USB的体系结构。USB通用串行总线同其他串行并行接口不同,它是一个软硬件相结合的系统体系,对于刚刚进入USB设计的工程师来说,这个结构是复杂的。为此,下面论述了USB的一些体系结构和基本概念。 USB总线的总体结构 整个USB总线可以分为3个部分进行描述:USB连接、USB设备、USB主机(如图
发表于 2016-08-01
USB总线的体系结构

USB总线枚举过程

USB总线枚举是指对USB总线上接入的USB设备进行识别和寻址操作。由于USB支持热插拔和即插即用,所以当一个USB设备接入USB或从USB上拆除时,主机必须使用总线枚举的过程来识别和管理必要的设备状态变化。并动态地对它进行配置。 当设备连接到主机时,按照以下顺序进行枚举: 1.连接了设备的HUB在HOST查询其状态改变端点时返回对应的bitmap,告知HOST某个PORT状态发生了改变。 2.主机向HUB查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性。 3.主机等待(至少lOOmS)设备上电稳定,然后向HUB发送请求,复位并使能该PORT。 4.HUB执行PORT复位操作,复位完成后该PORT就使
发表于 2016-08-01

USB总线接口芯片CH371及其应用

1 引言 CH371是一种USB总线通用接口芯片。该芯片具有8位数据总线以及读、写、片选控制线和中断输出,可以方便地挂接到单片机、DSP、MCU等控制器的系统总线上;在计算机系统中,通过CH371的配套软件可提供简洁易用的操作接口,从而使其与本地端的单片机通讯就如同读写硬盘中的文件一样简单。由于CH371屏蔽了USB通讯中的所有协议,因而可在计算机应用层与本地端控制器之间提供端对端的连接。在不需要了解任何USB协议或者固件程序甚于驱动程序的情况下,就可轻松地将并口、串口产品升级到USB接口。     CH371的主要特点如下: ●屏蔽了USB协议,可在计算机应用层与本地端之间实现
发表于 2016-07-15
USB总线接口芯片CH371及其应用

基于USB总线的高速数据采集系统

,但其传输速度慢(56kbps),且主机的串口数目也有限。 通用串行总线(Universal Serial Bus,简称USB)是1995年康柏、微软、IBM、DEC等公司为了解决传统总线的不足,而推出的一种新型串行通信标准。该总线接口具有安装方便、高带宽、易扩展等优点,已经逐渐成为现代数据传输的发展趋势。基于USB的数据采集系统充分利用USB总线的上述优点,有效地解决了传统数据采集系统的缺陷。USB的规范能针对不同的性能价格比要求提供不同的选择,以满足不同的系统和部件及相应不同的功能,从而给使用带来极大方便。 2 系统介绍 2.1 数据采集系统的结构与功能 常见的数据采集系统的硬件总体结构如图1所示。其中数据采集接口
发表于 2016-07-15
基于USB总线的高速数据采集系统

USB总线正在同步相量丈量单位中的操纵

/MICRSOFT和NEC等公司共同开收回的一种新的、快速的、单向的、同步传输的并可以热拔插的数据传输总线,简称USB总线。USB总线由以下四个重要局部构成:①主机和设备:是指USB体系中的重要构件。②物理构成:是指USB元件的跟尾手法。③逻辑构成:好异的USB元件所担任的角色和任务,和从主机和设备的角度出发USB总线所显现的结构。④客户软件取设备从命接口的关系。   USB总线有四种数据传输体例:①把握传输:重要用于主机把下令传给设备和设备把形态返回给主机。②中止传输:用去支撑那些奇然需求年夜批数据通疑,但就事工妇受限定的设备。③批量传输:用去传输年夜量的数据而出有周期和传输速度的设备上。批量传输体例并没有克没有及包管传输的速度,但可以包管
发表于 2016-03-08
USB总线正在同步相量丈量单位中的操纵

小广播

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