问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

JTAG原理详解:硬件测试与调试的通用接口标准

创作时间:
作者:
@小白创作中心

JTAG原理详解:硬件测试与调试的通用接口标准

引用
CSDN
1.
https://blog.csdn.net/qq_33854057/article/details/136644752

JTAG(Joint Test Action Group)是一种用于测试和调试硬件设备的接口标准,广泛应用于各种电子设备的生产、测试和维护过程中。本文将详细介绍JTAG的原理、结构和具体应用。

JTAG的用途

JTAG的主要用途包括:

  1. 边界扫描测试:通过扫描芯片的边界来检测电路板的连通性和故障。
  2. 程序下载、调试和配置:通过访问内部寄存器来实现对设备的编程和调试。
  3. 串行通信协议:可以认为JTAG是一个带控制通路的串行通信协议,用于实现设备的远程控制和监控。

JTAG的结构

总体结构

JTAG的总体结构主要包括以下几个部分:

  1. 时钟信号(TCK)和模式选择信号(TMS):这些信号并联到所有模块上,用于控制JTAG的状态机。
  2. 数据输入(TDI)和数据输出(TDO):各个模块的TDO和TDI依次首尾相接,形成一个串行数据链路。
  3. 上位机接口:最后的TDO连接到上位机的TDO端口,上位机的TDI连接到第一个模块的TDI端口。

内部结构

对于一个具体的芯片,其内部的JTAG结构通常如下图所示:

芯片内部需要检查连通性或提供可观测性的寄存器通过相同的TDI->{TDO->TDI}->TDO方式串接起来。时钟信号(TCK)和控制信号(TMS)被接入到TAP逻辑块中。

TAP控制器

TAP控制器维护了一个状态机,这个状态机的状态变化仅受TMS控制。状态改变后,对TDI和TDO的解释和行为定义会发生变化,从而实现不同的功能,如监测、程序下载和调试等。

当TAP处于Shift-IR模式时,可以通过TDI每次写入一位到IR寄存器,IR寄存器会自动移动一位。通过这种方式,可以向IR寄存器写入任何想要的值。同样地,当TAP处于Shift-DR模式时,可以向D(E)R寄存器写入任何想要的值。

指令寄存器(IR)

IR寄存器中的值被解释为调试指令,芯片内部根据这些指令完成相应的动作。例如,当IR=0b1001时,可以将芯片内部的某个寄存器的值输出;当IR=0b1011时,可以将芯片挂起。

协议特别规定,如果IR寄存器的每个位都是1,则表示BYPASS指令,此时TDI经过一个周期到达TDO。需要注意的是,不同芯片内部的IR寄存器的位数可能不同。

数据寄存器(DR)

DR寄存器可以理解为IR指令操作的数据。需要注意的是,DR寄存器有很多,每个IR指令可以对应不同的DR。一个特殊的DR动作是,当TAP进入Test-Logic-Reset状态时,DR寄存器会自动装入该器件对应的ID,这个ID是一个32位的值。这一状态的控制权比IR寄存器的控制权更大。

参考资料

  1. JTAG原理详解
  2. 什么是JTAG?
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号