JTAG是20世纪80年代开发的IEEE标准(1149.1),用于解决电子板的制造问题。如今,它可以用作编程、调试和探测端口。但首先,让让我们看看JTAG的最初目的,边界测试。

边界测试

这是一个简单的电子板(也叫PCB 印刷电路板)带有两个IC(集成电路),一个CPU和一个FPGA。典型的电路板可能有更多的IC。

IC可以有许多引脚。因此,IC当然通过大量PCB走线连接在一起。这里只显示了四个。但是数千个可以容易地放置在PCB上。

现在,如果你建一千块板,每块板都有几千个连接,那么不可避免地会有一些坏板。如何测试所有这些板?确保所有这些连接都正确。你可以不要只是手动测试所有这些连接。就这样,JTAG诞生了。

JTAG可以控制所有IC的管脚在图片中,也许JTAG将使所有的CPU引脚输出,和所有的FPGA引脚输入。然后,JTAG可以通过从CPU引脚发送一些数据并从FPGA引脚读取值来确保电路板连接良好。

目前,JTAG实际上包含四个逻辑信号,即TDI、TDO、TMS和TCK。从PC 从s的角度来看,这是三个输出和一个输入。

TCK:时钟信号,为TAP的运行提供独立的基本时钟信号。

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

TDI:数据输入信号。

TDO:数据输出信号。

这四个信号需要以特定的方式连接。首先,TMS和TCK与所有JTAG IC并联。

然后TDI和TDO并联形成一个链。在JTAG术语中,你经常会听到JTAG链。

如您所见,每个JTAG兼容IC都有四个引脚(三个输入和一个输出)用于JTAG。第五个名为TRST的引脚是可选的(JTAG复位)。JTAG引脚通常是专用的(不共享用于其他目的)。

所有大型集成电路都通过JTAG使用边界测试——边界测试是创建JTAG的最初原因。如今,JTAG的使用已经扩展到允许配置FPGA等操作,然后在FPGA内核中使用JTAG进行调试。

编辑:CC