JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个 TAP(Test Access Port;测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链, 能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System Programmable。
注: JTAG口与PC并口的连接线要尽量短,原则上不大于15cm。
Flash在擦写和编程时所需的工作电流较大,在选用系统的供电芯片时,必须加以考虑。 ④为提高对Flash的编程速度,尽量使TCK不低于6MHz,可编写烧写Flash程序时实现
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性 ,检测芯片是否有问题;一类用于Debug ;一般支持JTAG的CPU内都包含了这两个模块。
一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比 如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。 上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件 的配合,具体实现的功能则由具体的软件决定。
目前大多数比较复杂的器件都支持 JTAG 协议,如 ARM 、 DSP 、 FPGA 器件等。标准的 JTAG 接口是 4 线: TMS 、 TCK 、 TDI 、 TDO ,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。 目前 JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口,其定义分别如下所示。
14针JTAG接口定义引脚名称描述
1 、 13 VCC 接电源 2 、 4 、 6 、 8 、 10 、 14 GND 接地 3 nTRST 测试系统复位信号 5 TDI 测试数据串行输入 7 TMS 测试模式选择 9 TCK 测试时钟 11 TDO 测试数据串行输出 12 NC 未连接
20针JTAG接口定义引脚名称描述
1 VTref 目标板参考电压,接电源 2 VCC 接电源 3 nTRST 测试系统复位信号 4、6、8、10、12、14、16、18、20 GND 接地 5 TDI 测试数据串行输入 7 TMS 测试模式选择 9 TCK 测试时钟 11 RTCK 测试时钟返回信号 13 TDO 测试数据串行输出 15 nRESET 目标系统复位信号 17 、 19 NC 未连接