JTAG:引脚配置、工作、协议分析器、时序图及其应用
JTAG(联合测试行动小组)是一个完善的IEEE 1149.1标准,制定于1980年,旨在解决电子板或印刷电路板中出现的制造问题。这项技术用于。。。
JTAG(联合测试行动小组)是一个完善的IEEE 1149.1标准,制定于1980年,旨在解决电子板或印刷电路板中出现的制造问题。该技术用于在测试访问减少时为每个复杂板提供足够的测试访问。因此,边界扫描技术应运而生&JTAG标准或JTAG规范建立。电子设备的复杂性与日俱增,因此JTAG规范已成为测试复杂紧凑电子设备的公认测试格式。本文讨论了联合标签协议–使用应用程序。
什么是JTAG?
IEEE 1149.1标准测试接入端口以及边界扫描架构的名称被称为JTAG(联合测试行动小组)。这种边界扫描体系结构主要用于计算机处理器,因为英特尔发布了第一个带有JTAG的处理器。这个IEEE标准简单地定义了如何测试计算机的电路,以确认其在制造过程后是否正常工作。在电路板上,进行测试以检查焊点。
联合测试行动小组为每个IC焊盘的测试人员提供了引脚输出视图,有助于识别电路板内的任何故障。一旦该协议与芯片接口,就可以通过允许开发人员控制芯片及其与其他芯片的连接,将探针连接到芯片上。开发人员还可以使用与联合测试行动组的接口将固件复制到电子设备中的非易失性存储器。
配置/引脚输出
联合测试行动小组包括20个引脚,每个引脚及其功能如下所述。

引脚1(VTref):这是用于连接目标主电源的目标参考电压引脚,其范围为1.5至5.0VDC。
引脚2(电源电压):这是用于连接目标1.5VDC–5.0VDC主电压电源的目标电源电压。
引脚3(nTRST):这是一个测试复位引脚,用于复位TAP控制器的状态机。
引脚(4、6、8、10、12、14、16、18和20):这些是常见的GND引脚。
引脚5(TDI):这是引脚中的测试数据。这些数据被转移到目标设备中。此引脚必须在目标板上的规定条件下拔出。
引脚7(TMS):这是测试模式状态引脚,用于确定TAP控制器状态机的下一个状态。
引脚9(TCK):这是一个测试时钟引脚,用于同步TAP控制器中的内部状态机操作。
引脚11(RTCK):这是在支持自适应时钟的设备中使用的输入返回TCK引脚。
引脚13(TDO):这是“测试数据输出”引脚,因此数据会从目标设备移到Flyswatter中。
引脚15(nSRST):这是目标系统复位引脚,连接到目标的主复位信号。
引脚17和19(NC):这些引脚未连接。
JTAG工作
JTAG最初的用途是用于边界测试。这里是一个简单的印刷电路板,包括两个IC,如CPU和FPGA。一个典型的电路板可能包括许多IC。通常,IC包括许多引脚,这些引脚与许多连接件联合连接。在下图中,只显示了四个连接。

所以,如果你设计了许多板,每个板都有数千个连接。在这方面,有一些糟糕的董事会。因此,我们需要检查哪个委员会在工作,哪个委员会不在工作。为此,联合测试行动小组应运而生。

该协议可以使用所有芯片的控制引脚,但在下图中,联合测试行动小组将制作CPU的所有输出引脚和FPGA的所有输入引脚。之后,通过从CPU引脚传输一些数据并从FPGA读取引脚的值,JTAG表示PCB板的连接良好。
实际上,联合测试行动组包括四个逻辑信号TDI、TDO、TMS和TCK。这些信号需要以特定的方式连接。首先,TMS和TCK与JTAG的所有IC并联。

之后,TDI和TDO两者被连接以形成链。正如您所观察到的,每个符合JTAG的IC都包括4引脚,用于JTAG,其中3引脚为输入,4引脚为输出。第五个类似TRST的引脚是可选的。通常,JTAG引脚不用于其他目的。

通过使用联合测试行动小组,所有IC都使用边界测试,这是JTAG创建的最初原因。目前,该协议的使用已经扩展到允许不同的事情,如配置FPGA,之后在FPGA核心中使用JTAG进行调试。
JTAG体系结构
JTAG体系结构如下所示。在这种架构中,设备的核心逻辑和引脚之间的所有信号都通过称为BSR或边界扫描寄存器的串行扫描路径中断。该BSR包括各种边界扫描“单元”。通常,这些边界扫描单元是不可见的,但它们可以用于在测试模式下从设备引脚设置或读取值。

被称为TAP或测试访问端口的JTAG接口使用不同的信号来支持边界扫描操作,如TCK、TMS、TDI、TDO和TRST。
- TCK或测试时钟信号只是同步状态机的内部操作。
- TMS或测试模式选择信号在测试时钟信号的上升沿被采样以决定下一状态。
- TDI或Test Data In(测试数据输入)信号表示移位后的数据进入测试设备,否则为编程逻辑。一旦内部状态机处于正确状态,则在TCK的增加边缘对其进行采样。
- TDO或Test Data Out信号表示测试设备的偏移数据,否则为编程逻辑。一旦内部状态机处于正确状态,那么它在TCK的下降沿上是有效的
- TRST或Test Reset(测试复位)是一个可选引脚,用于复位TAP控制器的状态机。
TAP控制器
JTAG体系结构中的测试接入点由TAP控制器、指令寄存器和测试数据寄存器组成。该控制器包括负责读取TMS和TCK信号的测试状态机。这里,数据i/p引脚简单地用于将数据加载到IC核心和物理引脚之间的边界单元中,并且还将数据加载至数据寄存器之一或指令寄存器中。数据o/p引脚用于从寄存器或边界单元读取数据。
TAP控制器的状态机由TMS控制,并由TCK计时。状态机使用两条路径来表示两种不同的模式,如指令模式和数据模式。
寄存器
边界扫描中有两种寄存器可用。每个兼容设备至少包括两个或两个以上的数据寄存器和一个指令寄存器。
指令寄存器
指令寄存器用于保存当前指令。因此,TAP控制器使用其数据来决定对所获得的信号执行什么。最常见的情况是,指令寄存器数据将描述必须将信号传递到数据寄存器中的哪一个。
资料暂存器
数据寄存器有三种类型:BSR(边界扫描寄存器)、BYPASS和ID CODES寄存器。此外,也可能存在其他数据寄存器,但它们不是JTAG标准的必要元素。
边界扫描寄存器
BSR是主要的测试数据寄存器,用于将数据从设备I/O引脚转移到设备I/O引脚。
旁路
旁路是一个用于传递TDI–TDO数据的单比特寄存器。因此,它允许电路中的额外设备以最小的开销进行测试。
身份证代码
这种类型的数据寄存器包括设备的ID代码以及修订号。因此,这些数据允许设备连接到其BSDL(边界扫描描述语言)文件。该文件包括设备的边界扫描配置详细信息。
JTAG的工作最初是选择指令模式,其中该模式“路径”中的一个状态允许操作员在TDI的指令中计时。之后。,状态机一直发展到重新排列。大多数指令的下一步是选择数据模式。因此,在这种模式下,数据通过TDI加载,从TDO读取。对于TDI和TDO,数据路径将按照已计时的指令进行排列。一旦完成读/写操作,状态机将再次发展到重置状态。
JTAG与UART之间的差异
JTAG和UART之间的区别包括以下几点。
联合标签 | 美国汽车制造商协会 |
术语“JTAG”代表联合测试行动小组。 | 术语“UART”代表通用异步接收器/发送器。 |
它是一个同步接口,利用内置硬件对闪存进行编程. | UART是一种异步接口,它使用在内存中运行的引导加载程序。 |
它是一组测试端口,用于调试,但也可以用于对固件进行编程(通常这样做)。
|
UART是一种控制与设备通信的芯片,如微控制器、ROM、RAM等。大多数时候,它是一种串行连接,允许我们与设备通信。 |
有四种类型可供选择:TDI、TDO、TCK、TMS和TRST。 | 有两种类型的哑UART和FIFO UART。 |
联合测试行动组是用于微控制器和相关设备接口的串行编程或数据访问协议。 | UART是一种芯片,也就是微控制器的子组件,用于提供生成RS-232/RS-485等异步串行流的硬件。 |
JTAG组件包括处理器、FPGA、CPLD等。 | UART组件包括CLK发生器、I/O移位寄存器、发送或接收缓冲器、系统数据总线缓冲器、读取或写入控制逻辑等。 |
JTAG协议分析器
像PGY-JTAG-EX-PD这样的JTAG协议分析器是一种协议分析器,它包括一些捕获和调试主机和被测设计之间通信的功能。这种类型的分析仪是领先的仪器,允许测试和设计工程师通过安排PGY-JTAG-EX-PD(如主设备或从设备)来生成JTAG流量并解码联合测试行动组协议的解码数据包,从而测试JTAG的特定设计及其规格。

特征
JTAG协议分析器的功能包括以下内容。
- 它支持高达25MH的JTAG频率。
- 它同时为总线生成JTAG流量和协议解码。
- 它具有联合特遣部队主能力。
- 可变JTAG数据速度和占空比。
- 用户定义的TDI和TCK延迟。
- 主机USB 2.0或3.0接口。
- 协议解码中的错误分析
- 协议解码总线时序图。
- 连续协议数据流传输到主机,以提供大的缓冲区。
- 协议活动列表。
- 在不同的速度下,可以编写一个练习脚本来组合多个数据帧的生成。
时序图
这个联合特遣部队时序图协议如下所示。在下图中,除了在移位IR/移位DR控制器状态期间,TDO引脚保持在高阻抗条件下。
在移位IR和移位DR控制器条件下,TDO引脚在TCK通过Target的下降沿上更新,并在TCK经过Host的上升沿上采样。
TDI和TMS引脚都是通过Target在TCK的增加边缘上简单采样的。在递减边缘更新,否则通过主机进行TCK。

应用
这个JTAG应用程序包括以下内容。
- 联合测试行动小组经常在处理器中使用,以提供进入其仿真或调试功能的权限。
- 所有CPLDs和FPGA都将此作为接口,以访问其编程功能。
- 它用于PCB测试,无需物理访问
- 它用于板级制造测试。
因此,这一切都是关于JTAG引脚配置和应用程序的概述。工业标准JTAG用于设计验证以及制造后的PCB测试。这里有一个问题要问你,JTAG代表什么?