JTAG(Joint Test Action Group)是一種由IEEE制定的標準,全稱為IEEE Standard 1149.1,主要用於晶片和印刷電路板的測試和調試。JTAG的主要作用包括:
測試:JTAG標準允許對積體電路進行電氣特性的測試,以檢測晶片是否存在問題。通過在器件內部定義一個測試訪問連線埠(TAP),可以使用專用的JTAG測試工具對內部節點進行測試。此外,JTAG還允許多個器件通過JTAG接口串聯在一起,形成一個JTAG鏈,實現對各個器件的分別測試。
調試:JTAG接口提供了一種在嵌入式系統中進行調試的機制,允許程式設計師通過JTAG讀取集成在CPU上的調試模組,從而調試嵌入式系統中的軟體。它還可以用於訪問CPU的內部暫存器、匯流排上的設備以及內置模組的暫存器。
編程:JTAG接口也常用於實現ISP(In-System Programming,在系統編程),對FLASH等器件進行編程。這對於FPGA/CPLD的開發尤為重要,通過JTAG接口可以向開發板或產品中導入程式和數據,實現對目標設備的配置和調試。
邊界掃描:邊界掃描技術是JTAG標準的一部分,它通過在晶片的輸入/輸出引腳上增加一個邊界掃描暫存器,實現對晶片輸入/輸出信號的觀察和控制。在調試狀態下,邊界掃描暫存器可以將晶片和外圍的輸入/輸出隔離開來,而在正常運行狀態下,邊界掃描暫存器對晶片來說是透明的。
JTAG接口通常由4條線組成:TMS(模式選擇)、TCK(時鐘)、TDI(數據輸入)和TDO(數據輸出)。