当前位置:首页 > 物联网 > 网络协议
[导读]   JTAG(Joint Test AcTIon Group,联合测试行动组)是一种国际标准测试协议(IEEE 1149.1兼容)。标准的JTAG接口是4线——TMS、T

  JTAG(Joint Test AcTIon Group,联合测试行动组)是一种国际标准测试协议(IEEE 1149.1兼容)。标准的JTAG接口是4线——TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

  JTAG是最基本的通讯协议之一,大家可以理解为与RX TX或者USB的道理是一样的,只是一种通讯手段,但与RX TX以及USB有很重大的不同,那就是这个JTAG协议是最底层的,说的通俗一点,一般来说,手机里边,CPU是老大,对吧?但在JTAG面前,他就不是老大了,JTAG协议就是用来控制CPU的,在JTAG面前CPU变成喽啰了。一般的协议是求着CPU读写字库的程序,但JTAG可以读写CPU的程序,命令让CPU啥活都干,擒贼先擒王,JTAG就是屠龙刀。

  

  JTAG也是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效

  JTAG的主要功能有两种,或者说JTAG主要有两大类:一类用于测试芯片的电气特性,检测芯片是否有问题;另一类用于Debug,对各类芯片以及 其外围设备进行调试。一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器、挂在CPU总线上的设备以及内置模块的寄存器。本文主要介绍 的是Debug功能。

  注释:JTAG可以访问一些内部寄存器,主要是CPU内的寄存器,例如一些通用寄存器等;也可以访问一些挂在总线上的设备,比如片内的内存L1,L2,L3等;还可以访问内置模块的寄存器,比如MMU模块,通过JTAG都可以访问这些寄存器。

  1 JTAG原理分析

  简单地说,JTAG的工作原理可以归结为:在器件内部定义一个TAP(Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试和调试。首先介绍一下边界扫描和TAP的基本概念和内容。

  1.1 边界扫描

  边界扫描(Boundary-Scan)技术的基本思想是在靠近芯片的输入/输出引脚上增加一个移位寄存器单元,也就是边界扫描寄存器(Boundary-Scan Register)。

  当芯片处于调试状态时,边界扫描寄存器可以将芯片和外围的输入/输出隔离开来。通过边界扫描寄存器单元,可以实现对芯片输入/输出信号的观察和控 制。对于芯片的输入引脚,可以通过与之相连的边界扫描寄存器单元把信号(数据)加载到该引脚中去;对于芯片的输出引脚,也可以通过与之相连的边界扫描寄存 器“捕获”该引脚上的输出信号。在正常的运行状态下,边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。这样,边界扫描寄存器提供了一 种便捷的方式用于观测和控制所需调试的芯片。另外,芯片输入/输出引脚上的边界扫描(移位)寄存器单元可以相互连接起来,任芯片的周围形成一个边界扫描链 (Boundary-Scan Chain)。边界扫描链可以串行地输入和输出,通过相应的时钟信号和控制信号,就可以方便地观察和控制处在调试状态下的芯片。

  1.2 测试访问口TAP

  TAP(Test Access Port)是一个通用的端口,通过TAP可以访问芯片提供的所有数据寄存器(DR)和指令寄存器(IR)。对整个TAP的控制是通过TAP控制器(TAP Controller)来完成的。下面先分别介绍一下TAP的几个接口信号及其作用。其中,前4个信号在IEEE1149.1标准里是强制要求的。

  ◇TCK:时钟信号,为TAP的操作提供了一个独立的、基本的时钟信号。

  ◇TMS:模式选择信号,用于控制TAP状态机的转换。

  ◇TDI:数据输入信号。

  ◇TDO:数据输出信号。

  ◇TRST:复位信号,可以用来对TAP Controller进行复位(初始化)。这个信号接口在IEEE 1149.1标准里并不是强制要求的,因为通过TMS也可以对TAP Controller进行复位。

  ◇STCK:时钟返回信号,在IEEE 1149.1标准里非强制要求。

  ◇DBGRQ:目标板上工作状态的控制信号。在IEEE 1149.1标准里没有要求,只是在个别目标板(例如STR710)中会有。

  简单地说,PC机对目标板的调试就是通过TAP接口完成对相关数据寄存器(DR)和指令寄存器(IR)的访问。

  系统上电后,TAP Controller首先进入Test-LogicReset状态,然后依次进入Run-Test/Idle、Select-DR- Scan、Select-IR-Scan、Capture-IR、Shift-IR、Exitl-IR、Update-IR状态,最后回到Run- Test/Idle状态。在此过程中,状态的转移都是通过TCK信号进行驱动(上升沿),通过TMS信号对TAP的状态进行选择转换的。其中,在 Capture-IR状态下,一个特定的逻辑序列被加载到指令寄存器中;在Shift-IR状态下,可以将一条特定的指令送到指令寄存器中;在 Update-IR状态下,刚才输入到指令寄存器中的指令将用来更新指令寄存器。最后,系统又回到Run-Test/Idle状态,指令生效,完成对指令 寄存器的访问。当系统又返回到Run-Test/Idle状态后,根据前面指令寄存器的内容选定所需要的数据寄存器,开始执行对数据寄存器的工作。其基本 原理与指令其存器的访问完全相同,依次为Select-DR-Scan、Capture-DR、Shift-D、Exit1-DR、Update-DR, 最后回到Run-Test/Idle状态。通过TDI和TDO,就可以将新的数据加载到数据寄存器中。经过一个周期后,就可以捕获数据寄存器中的数据,完 成对与数据寄存器的每个寄存器单元相连的芯片引脚的数据更新,也完成了对数据寄存器的访问。

  目前,市场上的JTAG接口有14引脚和20引脚两种。其中,以20引脚为主流标准,但也有少数的目标板采用14引脚。经过简单的信号转换后,可以将它们通用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

  JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port?测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器

关键字: jtag

        感谢原著作者对人类文化的传播做出的努力!以下内容直译为主,意译为辅,同时笔者可能会加入个人观点以方便理解。如有翻译不当的地方希望各位同仁积极指出,如有必要的话请做出引证,以助于笔者翻译

关键字: jtag 硬件

JTAG(Joint Test Action Group)是一个接口,为了这个接口成立了一个小组叫JTAG小组,它成立于1985年,比推丸菌的年龄还大。在1990年IEEE觉得一切妥当,于是发布了 IEEE Standa...

关键字: jlink jtag swd 引脚定义

  JTAG接口主要包括以下四个引脚:TMS TCK TDI和TCO及一个可选配的引脚TRST,用于驱动电路模块和控制执行规定的操作。各引脚的功能如下:  TCK:JTAG测试时钟,为TAP控

关键字: jtag 电源技术解析 电路图设计 调试接口

  复位电路用于重新启动模块并初始化,按键开关SW1的一端接地,另一端与CC2530芯片的RESET_N管脚相连,按下按键开关SW1即可实现对电路的手动复位。  JTAG接口电路主要用

关键字: jtag 复位 接口电路 电源技术解析

导读:本文介绍AVR官方唯一推荐的下载方法:STK500。也介绍了 AVR Studio 同时支持的JTAG下载,如果要仿真的话,还是少不了JTAG,所以JTAG下载也很常用。 并口下载由于速度很...

关键字: jtag 烧录

前奏先来copy下 JTAG、SW接口的定义,JTAG:JTAG(Joint Test Action Group;联合测试工作组)是一种国际标准测试协议,主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DS...

关键字: jtag STM32 引脚复用

上百度搜索,有人说这样可以JTAG已死,没事烧纸::::::焚~~~超生方法(实验一次没成功,但是好多人都说成功过,坏了不妨一试):Cyclone III的JTAG死而复生经过durgy指点,我让e

关键字: FPGA jtag 万用表

在系统中编程,英文简称ISP,即In System Programming,这里的”系统”值的是电路系统。是 Lattice 半导体公司首先提出来的一种让我们能在产品设计、制造过程中的每个环节,甚...

关键字: isp jtag

LPC2104/05/06基于16位/32位ARM7TDMI-S CPU,该CPU支持实时仿真和嵌入式跟踪,并拥有128 KB的嵌入式高速Flash存储器。128位存储器接口和独特的加速架构使得32位代码可在最高时钟速率...

关键字: isp jtag lpc2106 时钟计算
关闭
关闭