TMS320C54XX DSP的USB接口实现

2008-02-17 23:20:22来源: 电子技术应用
通用串行总线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接口的监控和读写数据。这个文件因为涉及到下层硬件的连接,不可能提供通用的模板,需要用户自己编写。

关键字:接口  USB  DSP  数据传输

编辑:吕海英 引用地址:http://www.eeworld.com.cn/qcdz/qt/200802/article_3198.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
接口
USB
DSP
数据传输

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved