DIY编程器网

标题: TI DSP USB2.0 仿真器制作-参考资料 [打印本页]

作者: liyf    时间: 2012-3-22 20:23
标题: TI DSP USB2.0 仿真器制作-参考资料
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通过事件管理器控制协议,计数器也可以用于事件管理器的计数。命令模块包括主命令寄存器和副命令寄存器,此外命令模块也可以控制所有的状态寄存器。</F
主机模块实现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开发者可以使用本文提供的方法制作仿真器。

pcb图



原理图

仿真器原理图.pdf (51.31 KB, 下载次数: 5)
cpld图

元器件清单:

24文件
24C01配置文件.rar (129 Bytes, 下载次数: 6)
CPLD_XDS510的源码.rar (88.8 KB, 下载次数: 12)
usb驱动
TI.rar (24.72 KB, 下载次数: 4)
TI DSP USB2.0 仿真器制作调试注意事项:

电源问题:先测试板子是否短路,没短路时,接上USB口,测试芯片LM1117-3.3的输入输出电压是否正常。

电脑不识别仿真器的USB口:在配置好24C01之后,电脑不识别USB口,主要是CY7C68013出了问题(包括芯片损坏或是晶振没有正常工作)。



作者: wcy02825    时间: 2012-3-28 08:54
,学习,中。
作者: ovliyp    时间: 2019-10-26 20:38
下载下来学习一下。。。
作者: ovliyp    时间: 2019-10-28 21:05

下载下来学习一下。。。
作者: ovliyp    时间: 2019-10-28 21:06
谢谢,攒攒银两,下载下来学习一下
作者: maxtch    时间: 2019-10-29 01:58
这个好像复杂了点。XDS100 似乎要简单得多。
作者: zjs423315    时间: 2019-11-14 16:37
太牛掰了,这都能自己做?
作者: limeng9251    时间: 2019-12-24 17:34
新人过来学习一下  顺便送点金币
作者: hongmark    时间: 2020-1-5 19:13
感谢楼主的分享!
作者: diy    时间: 2021-3-14 18:40

努力回帖!赚银两,赚积分
作者: Jasonone    时间: 2021-7-18 13:33
谢谢分享。在配置24c01后,重新连板子,显示设备没有驱动。而且XDS510-USB2.0不能直接安装。不知道是不是win10系统太新了。
作者: 早晨    时间: 2021-7-19 10:38
学习,致敬,
作者: cuteboy    时间: 2021-8-17 11:11
学习学习
作者: huangchuan0771    时间: 2023-3-12 17:54
好好学习天天向上
作者: bailian    时间: 2023-3-20 09:00
谢谢分享, 一切为了银子
作者: muelfox    时间: 2023-5-19 15:18

谢谢分享, 一切为了银子




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2