JTAG的基本原理

描述

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,也可以不接。
        责任编辑:彭菁

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分