JTAG简介

2023-06-14 09:20:25

来源:面包芯语

1、简介

JTAG的英文名称为Joint Test Action Group,中文名字叫做联合测试工作组,是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试及对系统进行在线仿真、调试,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口),通过专用的JTAG测试工具对芯片进行测试。现在多数的高级器件都支持JTAG协议,如以以ARM为核心的手机CPU、DSP、FPGA等芯片都会带JTAG接口。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。


(资料图片)

2、接口

JTAG技术是一种嵌入式调试技术,JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(Test Access Port;测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。如今,JTAG接口还常用于实现ISP(In-SystemProgrammer,在系统编程),对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.用于调试程序,通过JTA接口可以调试电路板上的程序,跟医生的听诊器似的,可探听芯片内部小心思;

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、USERIN、USER OUT一般都不使用,于是还有一种14针的接口。对于实际开发应用来说,由于实验室电源稳定,电磁环境较好,干扰不大。

5、20、14、10 pin JTAG的引脚关系

值得注意的是,不同的IC公司会自己定义自家产品专属的Jtag头,来下载或调试程序。嵌入式系统中常用的20、14、10pin JTAG的信号排列如下:

需要说明的是,上述JTAG管脚的名称是对IC而言的。例如TDI脚,表示该脚应该与IC上的TDI脚相连,而不是表示数据从该脚进入download cable。实际上10针的只需要接4根线,4号是自连回路,不需要接,1,2接的都是1管脚,而8,10接的是GND,也可以不接。

欢迎射频微波雷达通信工程师关注公众号

关键词: