当前位置:首页 > 物联网 > 网络协议
[导读]   JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port?测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器

  JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port?测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System Programmable?在线编程),对FLASH等器件进行编程。

  JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程实现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对PSD芯片内部的所有部件进行编程

  简单地说,JTAG的工作原理可以归结为:在器件内部定义一个TAP(TestAccessPort,测试访问口),通过专用的JTAG测试工具对内部节点进行测试和调试。

  边界扫描

  边界扫描(Boundary-Scan)即在芯片的每个输入输出管脚上都增加一个移位寄存器单元(Boundary-Scan Register Cell),因为这些移位寄存器单元分布在芯片的边界上,所以被称为边界扫描寄存器。在JTAG 调试中,边界扫描是一个很重要的概念,当需要调试芯片时,这些寄存器将芯片与外围电路隔离,实现对芯片输入输出信号的观察和控制:对于输入管脚,可以通过与之相连的边界扫描寄存器单元把数据加载到该管脚中;对于输出管脚,可以通过与之相连的边界扫描寄存器“捕获”(CAPTURE)该管脚上的输出信号;正常运行状态下,这些边界扫描寄存器单元对芯片是透明的,所以正常的运行不会受到影响。另外,芯片输入输出管脚上的边界扫描(移位)寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链(Boundary-Scan Chain),它可以串行的输入和输出,通过相应的时钟信号和控制信号,实现对处在调试状态下的芯片的输入和输出状态的观察和控制。

  在CPU外围,处理器内部包含了JTAG的硬件实现,并且向外界提供接口,也就是上面所说的TMS、TCK、TDI、TDO四个引脚。

  这里的CPU:是指运算处理单元,只包含了内部寄存器以及运算单元等基本部件。

  这里的处理器:是指CPU 扩展芯片,不是SoC。

 

  JTAG如何用于芯片测试呢? 其中用到的最主要部件就是边界扫描链。命名为边界扫描链,是由于它位置处于处理器的边界上。

  我们知道CPU是通过引脚与外围交流的,所有的数据都会通过引脚输入或者输出,而JTAG就是通过监控引脚的信号达到芯片测试的目的。而边界扫描链就是在引脚上的一个部件。如下图:

 

  通过边界扫描链,当有信号输入的时候,边界扫描链就能获取信号,当CPU要输出信号的时候,边界扫描链也能获取要输出的信号。另外,也可以通过边界扫描链来直接向外部输出信号。

  无论是信号的抓取还是输出,都需要有接口来保存这些信号,TDI 跟 TDO 就是做这样一些工作的。如图:

  

  本来边界扫描链保存着引脚上的信号,当通过TDI引脚输入我们自己的信号的时候,会发生沿上面红线方向的移位操作,

  TDI ——〉 边界扫描链 —— 〉 TDO

  就能从TDO获取边界扫描链上的信号,我们从TDI输入的信号也会到边界扫描链上去。

  在CPU跟外界通信的引脚上的数据无非就是 指令 跟 数据信号(包括地址跟数据) 两种。但是这两者的结合形成了一个完整的程序,能对它们进行监控就表明我们能进行程序的调试。一般的芯片都会提供几条独立的边界扫描链,对边界扫描链的控制主要是通过 TAP(Test Access Port) Controller来完成的。

  上面的只是jtag最基本的原理,要对程序更好的调试还需要控制部件,还有更多寄存器的结合等等。

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

  JTAG(Joint Test AcTIon Group,联合测试行动组)是一种国际标准测试协议(IEEE 1149.1兼容)。标准的JTAG接口是4线——TMS、T

关键字: 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 时钟计算
关闭
关闭