JTAG的英文名称为Joint Test Action Group,中文名字叫做联合测试事情组,是一种国际标准测试协议(IEEE 1149.1兼容),紧张用于芯片内部测试及对系统进行在线仿真、调试,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口),通过专用的JTAG测试工具对芯片进行测试。现在多数的高等器件都支持JTAG协议,如以以ARM为核心的手机CPU、DSP、FPGA、CPLD等芯片都会带JTAG接口。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
2、接口
JTAG 技能是一种嵌入式调试技能,JTAG最初是用来对芯片进行测试的,JTAG的基本事理是在器件内部定义一个TAP(Test Access Port;测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试许可多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。如今,JTAG接口还常用于实现ISP(In-System Programmer,在系统编程),对FLASH等器件进行编程。

JTAG调试接口有TMS、TCK、TDI、TDO四根调试旗子暗记,可选旗子暗记脚为:TRST、RESET复位旗子暗记和RTCK(同步时钟)。
TRST:JTAG复位,连接到目标CPU的nTRST引脚,用于复位CPU调试接口的TAP掌握器;目标板上应将此脚上拉到高电位,避免意外复位;
3、JTAG功能
JTAG是最基本的通讯协议之一,大家可以理解为与RX、TX以及USB的道理一样,只是一种通讯手段,但与RX TX以及USB有很重大的不同,那便是这个JTAG协议是最底层的,说的普通一点,一样平常来说,手机里边,CPU是老大,妥妥的吧?但在JTAG面前,他就变得不那么回事了,JTAG协议便是用来掌握CPU的,在JTAG面前CPU变成喽啰了。一样平常的协议是求着CPU读写字库的程序,但JTAG可以读写CPU的程序,命令让CPU啥活都干,擒贼先擒王,JTAG便是屠龙刀。
所有的手机CPU都支持JTAG协议,也必须支持JTAG协议,由于CPU里边的数据只有通过JTAG功能才能写入,在内部数据错乱的时候或者其他部分主要数据错乱的时候,CPU可能就不理会RX TX或者USB了,在这个时候,用JTAG协议功能,逼迫手机的CPU乖乖的干活。
更说的更大略一点,让大家理解,便是在CPU由于软件缘故原由不联机的时候,JTAG是唯一能够规复这部分软件的工具。JTAG能够指挥CPU干任何事,在JTAG面前CPU只是一个马仔。
A. 下载器,即烧写软件到FLASH里;
B. 用于调试程序,通过JTAG接口可以调试电路板上的程序,跟年夜夫的听诊器似的,可探听芯片内部小心思;
C. 边界扫描,可以访问芯片内部的旗子暗记逻辑状态,还有芯片引脚的状态等等。
4、JTAG的引脚定义
a) Test Clock Input (TCK)------测试时钟输入,TCK在IEEE1149.1标准里是逼迫哀求的;
b) Test Mode Selection Input (TMS) ----测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式,TMS旗子暗记在TCK的上升沿有效,TMS在IEEE1149.1标准里也是逼迫哀求的;
c) Test Data Input (TDI)------ 测试数据输入,所有的数据都是通过TDI接口串行输入的,TDI在IEEE1149.1标准里是逼迫哀求的;
d) Test Data Output (TDO)------测试数据输出,所有的数据都是通过TDO接口串行输出的,TDO在IEEE1149.1标准里是逼迫哀求的;
e) Test Reset Input (TRST)------测试复位,输入引脚,低电平有效,这个旗子暗记接口在IEEE 1149.1标准里是可选的,并不是逼迫哀求的。
f) (VTREF) -----参考电压旗子暗记,这个引脚一样平常直接连接VCC。用于检讨目标板是否供电,直接与目标板VDD联,并不向外输出电压,这个引脚也是逼迫哀求的;
g) 目标板参考电压旗子暗记。Return Test Clock ( RTCK) ----由芯片返回给仿真器的时钟旗子暗记,用来同步TCK旗子暗记的产生,不该用时直接接地,不是必选的;
h) System Reset ( nSRST)------与目标板上的系统复位旗子暗记相连,可以直接对目标系统复位,同时可以检测目标系统的复位情形,为了防止误触发应在目标端加上适当的上拉电阻;
i) GND------公共地旗子暗记。
虽然TRST、nSRST是可选的旗子暗记;但一样平常都建议接上,使得仿真器能够在连接器件前对器件进行复位,以得到较空想的初始状态,便于后续仿真。
由于JTAG在实验室调试的时候常常利用排线连接,为了增强抗滋扰能力,在每条旗子暗记线间加上地线就涌现了这种20针的接口。但事实上,RTCK、USER IN、USER OUT一样平常都不该用,于是还有一种14针的接口。对付实际开拓运用来说,由于实验室电源稳定,电磁环境较好,滋扰不大。
5、20、14、10 pin JTAG的引脚关系
值得把稳的是,不同的IC公司会自己定义自家产品专属的Jtag头,来下载或调试程序。嵌入式系统中常用的20、14、10pin JTAG的旗子暗记排列如下:
须要解释的是,上述JTAG管脚的名称是对IC而言的。例如TDI脚,表示该脚该当与IC上的TDI脚相连,而不是表示数据从该脚进入download cable。