用于NEXPERlA PNX1500JTAG控制
发布时间:2008/6/3 0:00:00 访问次数:468
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个状态寄存器,一个发送数据寄存器以及一个接收数据寄存器,这些寄存器均可以通过地址线直接
|