JTAG

联合测试工作组(英語:JTAG, Joint Test Action Group),是個工業標準,用于驗證設計與測試生產出的印刷電路板功能。

1990年,JTAG正式由電機電子工程師學會(IEEE)進行文档标准化,編號為IEEE 1149.1-1990。在1994年,加入了补充文档对边界扫描描述语言(BSDL)进行了说明。从那时开始,这个标准被全球的电子企业广泛采用。边界扫描几乎成为了JTAG的同义词。

在設計印刷電路板時,目前最主要用在測試積體電路的副區塊,而且也提供一個在嵌入式系統很有用的偵錯機制,提供一個在系統中方便的"後門"。當使用一些偵錯工具像電路內模擬器用JTAG當做訊號傳輸的機制,使得程式設計師可以經由JTAG去讀取整合在CPU上的偵錯模組。偵錯模組可以讓程式設計師偵錯嵌入式系統中的軟體。

電氣特性

JTAG的介面是一種特殊的4/5個接腳介面連到晶片上 ,所以在電路版上的很多晶片可以將他們的JTAG接腳通过Daisy Chain的方式連在一起,并且Probe只需连接到一个“JTAG端口”就可以访问一块印刷電路板上的所有IC。这些连接引脚是:

  1. TDI(测试数据输入)
  2. TDO(测试数据输出)
  3. TCK(测试时钟)
  4. TMS(测试模式选择)
  5. TRST(测试复位)可选。
JTAG链的一个例子
JTAG链的一个例子

因为只有一条数据线,通信协议有必要像其他串行设备接口,如SPI一样为串列傳輸。时钟由TCK引脚输入。配置是通过TMS引脚采用状态机的形式一次操作一位来实现的。每一位数据在每个TCK时钟脉冲下分别由TDI和TDO引脚传入或传出。可以通过加载不同的命令模式来读取芯片的标识,对输入引脚采样,驱动(或悬空)输出引脚,操控芯片功能,或者旁路(将TDI与TDO连通以在逻辑上短接多个芯片的链路)。TCK的工作频率依芯片的不同而不同,但其通常工作在10-100MHz(每位10-100ns)。

当在集成电路中进行边界扫描时,被处理的信号是在同一块IC的不同功能模块间的,而不是不同IC之间的。

TRST引脚是一个可选的相对待测逻辑低电平有效的复位开关——通常是异步的,但有时也是同步的,依芯片而定。如果该引脚没有定义,则待测逻辑可由同步时钟输入复位指令而复位。

尽管如此,极少消费类产品提供外部的JTAG端口接口,但作为开发样品的残留,这些接口在印刷电路板上十分常见。在研发后,这些接口常常为反向工程提供了非常良好的途径。

JTAG-Zustandsautomat
JTAG-Zustandsautomat

常用的扩展

关于制造商的扩展:英飞凌,MIPS EJTAG飞思卡尔COP, ARM ETM (Extended Trace Macrocell), OnCE etc.

广泛的应用

  • 几乎所有的嵌入式系统都具有JTAG端口。
  • PCI总线接口包含JTAG引脚。一种特殊的JTAG卡可以用来刷新被破坏了的BIOS

客户端软件

可以通过使用一些支持JTAG的应用程序来访问JTAG接口。

免费软件

私有软件

外部链接