| 摘 要:介绍了PC机与DSP设备间通过USB接口实现高速通信的一种设计方案。以DSPTMS320C5402及EZ-USB系列的AN2131QC为例,详细分析了此设计的硬件结构并提供了部分相应软件代码。 关键词:USB;DSP;高速数据通信;PC High Speed Communication Design Between PC and DSP Device Based on EZ-USB System ZHANG Dayong,WANG Lide (College of ElectricalEngineering,North Jiaotong University,Beijing,100044,China) Abstract: This paper introduces a kind of high-speed communication design, which is based on the USB (Universal SerialBus)port.The main bodies ofthe hardware are two microprocessors,the TMS320C5402 DSPchip and the AN2131QCMCU.The paper describes the hardware structure in detailand also offers a part of software code. Keywords: USB;DSP;high-speed communication;PC 在小规模的联机数字信号处理系统中,设备与上层PC机在一定距离内进行实时大量的数据通信,已经成为系统必不可少的功能之一。其主要通信方法包括ISA,PCI等总线通信,RS232串口通信等,高速的LAN网络和USB接口方式是最近才发展起来的。USB接口技术之所以发展迅速,是因为基于USB进行通讯具有很多优点。首先,USB设备支持热插拔;其次,USB接口1.1协议的传输速率就高达1 MB/s;再次,USB接口是计算机的标配接口,设备与主机连接不许其他辅助外设。其缺点是USB的通信距离较近。 DSP设备的USB接口有3种方式:第1种是如果系统仅需要USB接口的话,可以使用单独的USB接口芯片,类似一个硬件FIFO,应用系统的处理器DSP,ARM可直接从这些芯片里读取USB信息。第2种方法是采用嵌入了USB协议的MCU作为辅助处理器,USB通信协议固化在芯片内,开发商同时提供PC机上USB的底层驱动。用户在已搭建好的环境内编写设备和PC端程序上的应用程序。第3种方法是直接使用嵌入USB功能的数字处理器,例如TI公司的TMS320C5509芯片。这种设计要求系统有较高级的硬件资源,在对通信接口要求较高的系统中,需外加一些接口器件,硬件开发成本高于前2种设计方案。本文针对第2种USB开发方案,以市场上应用较广的DSP5402配合USB芯片AN2131为主体,实现小系统中的PC与DSP设备间的快速通信。
1 通信模式的设计 系统采用PC主机通过USB接口与USB集成芯片通信,USB集成芯片再通过访问DSP的HPI口(主机接口,HostPort Interface)与DSP通信2个模块,如图1所示。本文用Cypress公司的EZ-USB系列的AN2131QC芯片作为USB信息通道,用TI公司的DSPTMS5402作为主处理器,负责数据处理和其他重要工作。 这样的设计方案硬件基础是DSP具有HPI接口,使得DSP内部RAM具有部分双口RAM的特性,2131可以方便地读写DSP内部信息。此方案集成了单片机和DSP双重优势,保证了系统的高性能数据处理能力和简单、方便的数据接口。一般的DSP为其配合强大的运算能力,采用高速接口MCBSP,芯片本身很少有其他类型接口。用AN2131QC作为辅助处理器,可充分发挥单片机的特点,扩展多种低速接口,完成RS232,485,IIC总线通信、外挂CAN总线、操作闪存、上电启动DSP等辅助功能。设计者不必因项目的接口要求不同而更换系统基本体系结构,因此这种双处理器结构比单DPS(TMS320C5409等)处理器具有更好的通用性和可扩展性。
2 AN2131的技术特点及其与PC间的数据传输 Cypress公司的EZ-USB系列的AN2131QC是一款高度集成的USB芯片,支持存储器扩展,具有低功耗、低噪声、有效的高级语言支持和增强的指令集等特性,完全符合USB1.1规范。提供16个传输端点,每个端点的缓冲区为64 B,每个端点可以互不干扰地通过USB发送存储数据。AN2131QC有块传输、中断传输、同步传输以及控制传输4种USB传输模式,其中块传输用于传输大量非连续性数据流,适于建立PC和DSP间的通信。EZ-USB上的8051代码支持汇编和C两种语言,Cypress为硬件编程提供了EZUSB.LIB函数库。EZ-USB芯片具有自动枚举和片外I2C启动等不同的加载程序方式,用户在调试阶段可通过USB控制台将编译好的8051代码和描述符实时地通过USB接口下载到系统中。 PC与AN2131QC之间进行数据传输需要编写两部分程序,一个是上层PC端程序,一个是底层AN2131程序。在PC机上,由于Cypress提供了EZ-USB的底层驱动,因此,在使用EZ-USB芯片时不需要用户编写驱动程序,如用户自己开发应用软件,将Cypress提供的低层驱动稍加改编即可。利用调用驱动接口函数,用户应用程序可实现固件下载、描述符的获取、8051运行控制、各种传输等操作。下面是使用块传输实现主机向USB芯片写数据的一部分代码,内核基于EZUSB底层驱动和Windows基本API函数,读代码于此类似,此处不详述。 对AN2131硬件编程时,按照Cypress的建议,首先调用Cypress基本框架,修改必要的描述符,完成USB传输初始化和外部接口初始化工作。而后在主程序段,调用一个循环等待过程,检测端点缓冲区中是否存在PC机传送来的数据。如果有就将其读出,写字节计数器,告诉EZ-USB内核程序已经完成数据的读取操作。然后,根据自己定义的应用程序协定,完成必要的数据处理任务。如果底层程序有数据要传送给PC机,可将数据放到特定的端点缓冲区中,写端点的字节计数寄存器通知内核,由内核完成向PC机传送数据的任务。有一点需要说明,EZ-USB在传输数据时由于端点缓冲区只有64 B的长度。由于在PC上关于数据包的处理已经由底层驱动程序自动完成,因此,上层PC每次传输没有64 B长度的限制,但底层硬件每次只能接收64 B,用户要根据实际需要进行多组数据组合。
3 AN2131与TMS5402间的数据传输 TMS320C54x(简称C54x)是TI公司推出的一款定点数字信号处理器,采用先进的改进型哈佛结构,片内有8条总线,100 M CPU和16 k片内存储器。他具有高效复杂的指令系统,能够迅速地完成累加、乘积等数据运算。由于此款DSP具有功耗小、高度并行、较高的性能价格比等优势,使其在各个领域都得到了广泛地应用。 在此设计中,我们用DSP的HPI口作为AN2131QC与DSP的通信通道。TMS5402的HPI是一个8 b的通信接口,采用地址线、数据线复用模式,另有10根控制线来辅助完成数据的传送。TMS5402的增强型HPI口的好处在于,通过HPI口外部处理器可以访问DSP内部所有RAM。与标准HPI通信不同的是TMS54xx的HPI依靠自身的主时钟操作,不需要同步模式。HPI口控制线详细功能如下: 此系统用适当方式将TMS5402的HPI口与AN2131QC外部总线连接起来,使得对于AN2131而言,DSP的HPI口相当于一个只有几个存储单元的外部设备。AN2131通过外部总线实现HPI接口的控制时序,此处使用HPI查询模式,有些控制管腿没有使用。具体连线方法如图3所示。 这种连接方法,用户可将TMS5402的HPI口的各个寄存器映射为AN2131QC的外部地址,通过读写这些地址,更改TMS5402的HPI口寄存器中的内容即可实现向TMS5402内部RAM读写数据的功能。另一种连线是用AN2131QC的快速外部存储器存取模式,可以使通信更快,但这会使接口变得稍复杂,在此系统中没有采用这种方式。 在编写AN2131QC底层软件代码时,可以将这部分的功能定义为几个宏,进行以下地址映射: 利用上面的地址定义,AN2131QC可以通过先写地址、再读写数据的方式,操作DSP5402 16 kB片内RAM的内容,即可方便快捷地实现双机通信,进而实现PC机与底层DSP的通信。此系统中,基于AN2131QC与DSP通信,扩展AN2131上的其他外部接口,还可建立多种DSP与其他接口的通信方式。
4 结 语 利用Cypress公司提供的EZ-USB的底层驱动以及EZ-USB芯 片的简单实用的编程结构,我们可以方便地建立上层PC与EZ-USB芯片(AN2131QC)之间的USB通信通道。再根据TMS5402的HPI控制时序,连接AN2131的外部总线和DSP的HPI口,将HPI口的各个寄存器映射为AN2131QC的外部地址,使得AN2131QC能够读写TMS5402内部RAM,从而建立EZ-USB芯片和DSP之间的通信通道。 通过以上方法,可实现基于USB接口的PC机于DSP设备间的高速数据通信。这种结构利用USB的即插即用功能,使得实际设备操作方便快捷。AN2131QC可以作为TMS5402的辅助CPU,实现除了数据通信之外,可以扩展附加其他功能,使整个系统内核有良好的适应性和可移植性,便于应用在多种不同设备中。
参考文献 [1]Intel,Microsoft,NEC.USBProtocol1.1.1998. [2]Cypress.EZ-USB2131 TechRef Manualv1.9,1999. [3]Cypress.EZ USBFXTechRefManual,2001. [4]Texas Instruments.TMS320C54XDSPapplications guide,2000. |