这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » TI DSP USB2.0 仿真器制作

共1条 1/1 1 跳转至

TI DSP USB2.0 仿真器制作

助工
2014-12-18 19:41:37     打赏

1 引言
目前,TI公司DSP芯片的应用越来越广泛,DSP的仿真器是每一个DSP开发者必备的工具之一。早期的DSP并口仿真器由于传输速度慢,很难适应开发者的需求,而最近TI公司推出的PCI560仿真器,由于价格高,而且使用PCI接口,使得连接十分不方便。为此,本文介绍一种基USB2.0接口的DSP仿真器(TDS510/XDS510),其理论上数据传输速度可以达到448 Mb/s,而且USB接口可以带电插拨,使用方便。
本文研制的DSP仿真器以美国Cypress公司的USB2.0控制器CY7C68013为核心,配置实现IEEE1149.1的JTAG片内扫描协议芯片,实现对DSP片内数据的读写和传输等功能。整个系统具有小型化、价格低以及制造简单的特点,该系统可以实现对TI公司所有系列DSP的仿真,包括C54x、C55x、C6x、C24x、C28x、OMAP等。DSP开发者可以自行按照本文的方法研制仿真器(网站上还可以提供制作套件,在产品商城可以看到),真正学会制作仿真器的过程,从而避免购买高价的DSP仿真器。
2 系统硬件结构
整个系统以USB2.0控制器CY7C68013和JTAG扫描芯片ACT8990为核心,还包括E2PROM、电压转换芯片、总线驱动以及电压比较器。


2.1 USB2.0控制器CY7C68013


CY7C68013是美国Cypress公司推出的USB2.0芯片,是一个全面集成的解决方案。CY7C68013主要结构如下:1个增强的8051微处理器、1个智能串行接口引擎(SIE)、1个USB收发器、16 KB片上RAM(其中包括4 KB FIFO)存储器和1个通用可编程接口GPIF(General Programmable Interface)。这种独创性结构可使数据传输率达到448 Mb/s,即USB2.0允许的最大带宽。智能SIE可以硬件处理USB1.1和USB2.0协议,从而减少了开发时间,并确保了USB的兼容性。GPIF和主/从端点FIFO(8位或16位数据总线)为ATA、UT0PIA、EPP、PCM—CIA和DSP等提供了简单甚至无缝连接接口,使得和外设的连接十分方便可靠。
CY7C68013独特的架构具有如下特点。

包括1个智能串行接口引擎(SIE)。它执行所有基本的USB功能,将嵌入的MCU解放出来以用于实现其他功能,保证持续高速有效的数据传输。

具有4 KB的大容量FIFO用于数据缓冲,当作为从设备时,可采用Synchronous/Asynchronous FIFO接口与主设备(如ASIC,DSP等)连接;当作为主设备时,可通过通用可编程接口(GPIF)形成任意的控制波形来实现与其他从设备连接,能够轻易地兼容绝大多数总线标准。

固件软配置,可将需要在CY7C68013上运行的固件存放在主机上,当USB设备连上主机后,下载到设备上。这样就实现了在不改动硬件的情况下,很方便地修改固件。

能够充分实现USB2.0(2000版)协议,并向下兼容USB1.1协议。
CY7C68013和外部设备的接口包括I C总线、GPIF接口和FIFO 接口三种方式。数据通过这些接口传输到内部的数据和地址总线,由805l微控制器处理或者直接送到USB的SIE单元,然后传输到USB收发器。此外,还包括片内的PLL时钟电路,将外部时钟信号连接到USB收发器和8051处理器。


2.2 JTAG扫描芯片ACT8990


ACT8990是美国TI公司推出的测试DSP芯片,它通过JTAG接口扫描DSP片内的数据区和程序区,扫描结果通过其内部的主机模块传输到其他设备上。ACT8990实际上是实现IEEE1149.1的TBC(Test Bus Controller)协议,从而实现对DSP片内空间的访问。ACT8990主要由队列管理模块、主机模块、串行模块、事件管理器、计数器、命令管理以及读写总线组成。
队列管理模块和串行模块实现IEEEl149.1的扫描协议。队列管理模块通过SDO 从串行模块读取IEEE1149.1的扫描命令,并通过TMS5~0引脚通知所访问的多片DSP,每个TMS对应一个DSP。队列管理模块将串行模块中的多个任务分配到EVENT3~0引脚,这样可以让流水完成3个任务,从而加快访问速度。DSP上的数据通过TD10 1引脚传输到队列管理模块,队列管理模块首先确定该任务的状态,然后根据任务状态确定数据属于哪个任务,最后通过SDI将数据传送到串行模块。
事件管理器实现外部事件的管理,DSP可以通过外部事件来中断IEEE1149.1的协议。事件管理器一般用于DSP控制协议的过程。在DSP仿真过程中,一般不使用事件管理器。计数器用于计算各个任务所访问的数据地址,如果DSP通过事件管理器控制协议,计数器也可以用于事件管理器的计数。命令模块包括主命令寄存器和副命令寄存器,此外命令模块也可以控制所有的状态寄存器。
主机模块实现ACT8990和外部设备的数据通信,本文使用CY7C68013作为外部设备,两者之间通过数据和地址总线以及必要的读、写、中断和准备好等控制信号进行数据通信,此时ACT8990为从设备。


2.3 系统硬件结构
仿真系统主要由CY7C68013、24C01、ACT8990、HC244 和EPM7032组成。下方的JTAG接口直接连接到DSP的JTAG接口,USB接口直接连接到计算机的USB接口。整个系统的电源由计算机的USB接口提供,使用电压转换芯片TPS7333将5 V电压转换成3.3 V提供给各个芯片。使用1片HC244总线驱动芯片,有两个作用:一是驱动总线,以适应驱动能力不同的各个系列DSP芯片;另外一个作用是隔离DSP和ACT8990,从而保护ACT8990避免受到DSP传输的高电压伤害。


3 系统软件结构
系统软件从上层到底层包括以下几个部分:DSP的仿真软件CCS和USB接口的连接;USB接口和仿真器上CY68013 的连接;CY7C68013 和ACT8990 的连接;ACT8990和DSP的连接。在以上4个部分中,CCS和USB接口的实现由TI公司提供,使用TI公司提供的通用USB 仿真器驱动程序就可以。USB 接口和CY7C68013 的连接使用24C01实现,实际上就是对CY7C68013进行配置,使得计算机可以识别到仿真器的USB设备,从而实现CY7C68013下载驱动程序到其内部处理器。一旦软件下载成功,CY7C68013就会发出命令,驱动ACT8990工作,ACT8990根据IEEE1 149.1协议实现对DSP的访问。


3.1 USB2.0驱动程序
需要编写三个程序来实现USB设备的使用。一个是负责USB接口调用程序;另一个是安装USB的信息文件,用于对USB设备的一些说明;第三个是设备驱动程序,用于对数据的传输。下面对这三个程序分别做一些简单的说明。USB接口调用程序由Cypress提供,其提供的CY7C68013开发工具包中提供了开发板的源程序,而其开发板的设计就是基于GPD的。这使得开发者在示例程序的指引下,能快速地编写出用于通信的应用软件。GPD的设计思想是服务于一般用户的,其接口函数具有通用性。通过GPD提供的接口函数原型,可以实现各种USB操作,包括实现负责USB设备的请求(即打开USB设备);负责USB的GPIF接口控制;通过改变IOCTL(I/OControl Code)实现各种操作。该程序可以直接使用TI公司提供的源程序或者使用任何一家仿真器供应商提供的源程序。安装信息文件的任务就是将驱动程序文件绑定到特定的VID/PID,主要说明哪一个文件负责USB接口调用程序.哪一个文件是CY7C68013需要下载的文件。用户还可以根据需要将自己对USB设备的描述(包括说明、版本号、日期、生产商等信息)加到安装信息文件中。安装文件的编写十分简单,使用记事本直接修改通用的信息文件即可,主要就是将该仿真器生产公司的信息输入到安装文件。这样,在Windows设备管理器的硬件描述中,将出现生产公司的信息。计算机识别到USB仿真器,并安装好信息文件后,就可以将驱动程序下载到CY7C68013 中,此程序实现CY7C68013对其内部FIFO和USB接口的监控和数据通信。该程序还要实现数据和DSP仿真软件CCS的连接。由于涉及到CCS的接口,而TI公司未公开CCS的源代码,用户无法编写该程序,但该程序未涉及USB设备的ID和VID,也就是该程序在所有的仿真器板子上通用,用户使用任何一家仿真器供应商的程序代码都可以。第三个设备驱动程序的设计我们将会在后面介绍。


3.2 USB2.0配置E2PROM程序
为了配合TI公司提供的仿真器驱动程序,CY7C68013的配置文件相当重要,只有USB配置正确后,驱动程序才可以下载到CY7C68013中运行。CY7C68013的配置是通过其外接E 2PROM 完成的。上电时,内部逻辑会检查连接到IC总线上的E2PROM 中的第一个字节(0xC0或0xC2),如果是0xC0,就会使用E2PROM中的VID/PID/DID来替代内部存储值;如果是0xC2,内部逻辑就会把E2PROM 中的内容装入到内部RAM 中;如果没有检查到E2PROM,使用内部存储的描述符来枚举。本系统使用普通的24C01芯片完成配置。配置信息实际上只包括16个字节的信息,其信息如下:CO 1E 0B 06 00 00 02 00 FF FF FF FF FF FF FF FF。对24C01的编程,使用Cypress提供的EZ—USB软件完成,该软件中带有专门的EPROM 编程控件,将以上16个字节信息存成扩展名为IC的文件,然后从EZ—USB中下载该文件到E2PROM,完成E2PROM 的配置。


3.3 CPLD的程序


CPLD采用的是EPM7032,实现CY7C68013与ACT8990之间以及ACT8990与HC244之间的逻辑组合。


4 总结
本文详细介绍了基于USB2.0接口的DSP仿真器的研制方法。采用该方法,只需要设计出DSP仿真器的硬件系统和CPLD程序,USB驱动程序的设计采用TI公司提供的源程序,使得仿真器的研制十分简单易行。该仿真器通过实际产品测试,性能可靠。广大的DSP开发者可以使用本文提供的方法制作仿真器。


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]