1、JTAG
JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
具有JTAG口的芯片都有如下JTAG引脚定义:
TCK——测试时钟输入;
TDI——测试数据输入,数据通过TDI输入JTAG口;
TDO——测试数据输出,数据通过TDO从JTAG口输出;
TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。
可选引脚TRST——测试复位,输入引脚,低电平有效。
2、JTAG链(菊花链)JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(Test Access Port;测试访问口)通过专用的JTAG测试工具对内部节点进行测试。 JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。 多个器件的硬件连接成菊花链结构,连接JTAG接口TDO的器件为菊花链上的第一个器件,连接JTAG接口TDI的器件为菊花链上的最后一个器件。前一个器件的TDI和后一个器件的TDO连接在一起,菊花链上所有ARM器件的TMS、TCK信号连接在一起。 3、JTAG边界扫描 扫描链 在J TA G调试当中,边界扫描Boundary-Scan 是一个很重要的概念。边界扫描的技术的思想是在输入输出的管脚上增加一个移位寄存器。当进行调试的时候将这些管脚和芯片隔离,以控制输入值和获取输出值。当正常运行的时候,这些寄存器是透明的。这些寄存器连接起来就形成了边界扫描链。一般的芯片都提供几条边界扫描链。 寄存器和管脚 JTAG 标准中有两类的寄存器:数据寄存器(DR)和指令寄存器(IR),他们都是移位寄存器。数据寄存器和边界扫描链相连控制数据的输入和输出。指令寄存器用于输入指令,控制数据寄存器的操作。Bypass寄存器也是一个一位寄存器,链接于TDI和TDO 之间,为一些操作提供更加便捷的方式。对这些寄存器的访问都是通过TAP(Test Access Port)实现的, TAP的五个基本的信号是: TCK (Test clock input):为TAP控制器提供时钟信号。 TDI (Test data input):数据输入信号,所有的数据按TCK时序从这个引 脚串行输入。 TDO (Test data output)数据输入信号,所有的数据按TCK时序从这个引 脚串行输入。 TMS(Test Mode Selection Input)用于控制TAP的状态模式的转换,在TCK 上升沿有效。 TRST (Test Reset Input)TAP控制其的控制信号。该信号可以通过软件复 位。 TAP 控制器 TAP控制器是一个16状态的有限状态机,为JTAG提供控制逻辑,控制进入到JTAG结构中各种寄存器内数据通信的扫描与操作。 通过TAP接口,对数据寄存器(DR)进行访问的一般的过程是:通过指令寄存器(IR),选定一个需要访问的数据寄存器;把选定的数据寄存器连接到TDI 和TDO 之间;由TCK驱动,通过TDI,把需要的数据输入到选定的数据寄存器当中去;同时把选定的数据寄存器中的数据通过TDO 读出来。 总线协议: IEEE1149.1 规定了对测试接入接口的要求。如下所示: 14脚JTAG口的信号的时序图如下所示: TMS和TDI信号在器件TCK的上升沿被采样. TDO信号在TCK的下降沿被采样. 14脚JTAG 接口 4、JTAG链作用 通过JTAG链,我们可以看到被仿真芯片哪个管脚不正常, 可以加载不同的仿真文件,测试IO管脚,DDR连接,nand flash连接等。
|
|