用于NEXPERlAPNX1500JTAG控制
发布时间:2007/4/23 0:00:00 访问次数:630
JTAG调试技术是一种嵌入式调试技术,它的接口标准是IEEE发布的边界扫描标准IEEE 1149.1。目前,大多数芯片生产厂商在芯片中封装了测试电路,形成了一种板级测试协议JTAG接口标准,将其复杂的电路测试转换成具有良好结构性能的测试,可以通过软件简单而灵活的处理。本文介绍了一种应用于Nexperia PNxl500平台的USB接口的JTAG控制器设计与实现。该控制器对比以往的PCI接口的JTAG控制器,更加方便实用,并且该设计中选用了专用的JTAG测试控制器芯片代替以往通过逻辑可编程器件实现JTAG时序的方法,简化设计的同时提高了稳定性。 系统总体设计 本设计的整体调试系统可以分为三个部分: (1) 具有USB功能的windows主机。此主机上必须具备用于PNxl500调试的应用程序、USB用户设备驱动以及USB系统驱动三个单元; (2) 由CY7C68013和SN54ACT8990两款芯片设计实现的应用于PNXl500平台的JTAG控制器; (3) 以PNXl500作为核心处理器的目标板。 整个系统的结构图如图1所示 JTAG简介 JTAG标准 IEEE 1149.1-1990边界扫描测试技术的目的是测试集成电路芯片之间的互连,测试集成电路芯片自身,监视和修改集成电路芯片T作时的内部行为。支持JTAG标准的芯片必须集成一个测试访问端口(TEST ACCESSPORT,TAP),TAP至少提供TCK、TDI、TMS三个输入端口和TDO数据输出端口。TAP控制器的状态机通过时钟TCK和模式TMS进行状态改变,测试访问状态机的主要目的是选择指令寄存器或者数据寄存器,使其连接到TDI和TDO之间。TAP的运行如图2所示。 PNXl500的JTAG接口 PNXl500中JTAG单元设计主要包括一个TAP,两个JTAG数据寄存器和两个JTAG控制寄存器。这四个物理寄存器分别是:TM—DBG—DATA—IN数据输入寄存器,TM—DBG—DATA—OUT数据输出寄存器和TM—DBG—CTRLl和TM—DBG—CTRL2两个控制寄存器。它们在PNXl500中的逻辑连接图如图3所示。 图3中除了4个物理存在的寄存器外还描述了两个虚拟寄存器:TM—DBG—IFULL—IN和TM—DBG—OFULL—OUT。 其中第一个虚拟寄存器是由TM—DBG—CTRL2.ifuIl串 上TM—DBG—DATA—IN寄存器组成的。而第二个虚拟寄存器则是由TM—DBG—CTRLl.ofull串 上TM—DBG—DATA—OUT寄存器所组成。这种设计有效的缩短了两个数据寄存器的扫描时间,从而提高了程序的下载速度。 图4所示为PNXl500 JTAG接口的时序。 在PC机与PNXl500目标板之间,需要设计一个JTAG控制器,使得PC机发出的命令按照IEEEll49.1协议传输给目标板。PNXl500中JTAG接口单元在TCK上升延对TMS采样,根据TMS状态,决定连接在TDI于TDO之间的寄存器。 JTAG控制器的设计与实现 硬件系统 应用于PNXl500的USBJTAG控制器选用了CYPRESS公司FX2系列USB接口芯片CY7C68013以及TI公司生产的SN54ACT8990。他们的硬件连接图如图5所示。 CY7C68013内嵌增强型8051内核,具有4KB LISB端点缓冲区,可设置为双缓冲,三缓冲或者四缓冲,支持USB2.0高速传输。其时钟高达48MHz,单指令周期为83.3ns。芯片包含双串口,支持230K波特率,400K高速IIC接口,8KB片内RAM,可以存放数据和代码,5个复用端口和5个外部中断源。其中端点缓冲区“量子FIFO”支持GPIF和Slave FIFO传输方式,实现端点FIFO和外设“胶连接”,支持8/16位总线。 SN54ACT8990是JTAG测试总线控制器TBC(Test—BusCOntrollers)芯片。该芯片提供了处理器与符合IEEE 1149.1标准的测试总线之间的接口,使得处理器与JTAG接口工作于异步方式。该芯片具有5位的地址线,16位的数据线,通过读写控制线,与主机通信。芯片中包括10个控制寄存器,2个指令寄存器,6个控制内部计数器的寄存器,4个状态寄存器,一个发送数据寄存器以及一个接收数据寄存器,这些寄存器均可以通过地址线直接寻址。 在硬件设计
|