JTAG(Joint Test Action Group)
3 秒看懂
JTAG = 晶片和電路板的”體檢介面”——幾乎每顆數字晶片都內建的標準化測試/除錯埠,讓你能”鑽進”晶片內部做診斷、燒錄程式、定位故障,是嵌入式系統開發和PCB產線測試的基礎設施。
3 分鐘產業解釋
什麼是 JTAG?
JTAG 源於 1985 年成立的聯合測試行動小組(Joint Test Action Group),其技術規範被 IEEE 收納為 IEEE 1149.1 標準(1990 年首次釋出),後沿用該縮寫指代這套邊界掃描(Boundary Scan)技術體系。
核心價值:在晶片引腳越來越密、BGA 封裝無法物理探針的今天,JTAG 提供了一條標準化的”序列通道”,通過 4-5 根訊號線,實現對晶片內部邏輯、PCB 連線完整性的訪問與控制。
為什麼重要?
| 應用場景 | 具體價值 |
|---|---|
| PCB 產線測試 | 替代飛針/ICT 測試儀,驗證焊接連通性 |
| 晶片除錯 | CPU/DSP 核心的斷點、單步、暫存器讀寫 |
| Flash/OTP 程式設計 | In-System Programming(ISP),無需拆卸 |
| FPGA 配置 | 主流 FPGA 的標準配置通道之一 |
| 故障診斷 | 售後返修、現場維修的定位手段 |
產業鏈位置
[晶片設計公司] → 內嵌 TAP 控制器 + 邊界掃描單元
↓
[EDA/測試工具廠商] → 提供 JTAG 控制器、除錯探針、測試軟體
↓
[終端應用場景] → 消費電子/汽車/通訊裝置/工業控制/航天
15 分鐘專家深入
一、技術架構概覽
JTAG 的核心是 TAP(Test Access Port)——一個標準化的硬體介面與控制狀態機。
標準 4 線介面:
| 訊號 | 方向 | 功能 |
|---|---|---|
| TCK | 輸入 | 測試時鐘,同步所有操作 |
| TMS | 輸入 | 測試模式選擇,控制狀態機跳轉 |
| TDI | 輸入 | 序列資料輸入(指令/資料) |
| TDO | 輸出 | 序列資料輸出 |
可選第 5 線 TRST(Test Reset),非同步復位 TAP 狀態機。
二、TAP 狀態機——JTAG 的”大腦”
TAP 控制器是一個 16 狀態 的有限狀態機(FSM),所有操作通過 TMS 在 TCK 上升沿的狀態轉移來控制。
狀態分為三大塊:
- 復位/空閒態:Test-Logic-Reset、Run-Test/Idle
- 資料暫存器(DR)通路:Capture → Shift → Exit → Pause → Update
- 指令暫存器(IR)通路:與 DR 對稱的 6 個狀態
關鍵設計哲學:指令驅動——先掃描 IR 選擇要訪問的目標暫存器,再掃描 DR 進行資料互動。
三、暫存器架構
| 暫存器型別 | 說明 |
|---|---|
| IR(指令暫存器) | 選擇當前操作(如 EXTEST、SAMPLE、IDCODE 等) |
| Bypass 暫存器 | 1-bit,序列鏈路”短路”,跳過當前器件 |
| Device ID 暫存器 | 儲存器件 ID(廠商、版本、Part Number) |
| Boundary Scan 暫存器鏈 | 核心——每個 I/O 引腳對應一個邊界掃描單元 |
四、鏈式拓撲——菊花鏈(Daisy-Chain)
多個 JTAG 器件可串聯:
[TDO] ← [晶片A] ← [晶片B] ← [晶片C] ← [TDI]
- 資料從 TDI 流入,依次穿過各晶片的移位暫存器鏈,最終從 TDO 流出
- 通過 IR 指令控制每個晶片是”參與”還是”旁路”(Bypass)
- 理論上可串聯器件數無硬限制,但實際受限於訊號完整性、時脈頻率和鏈路延遲
技術原理(最深·機制與關鍵引數)
邊界掃描單元(Boundary Scan Cell)工作原理
每個 I/O 引腳配置一個邊界掃描單元(BSC),典型實現為 BC_1 型別(IEEE 1149.1 定義的基本單元):
┌─────────────────────────────────┐
│ Boundary Scan Cell │
│ │
Core Side │──┐ ┌──────┐ ┌──────┐ │ Pad Side
────────┼─┘ │ │ FF-1 │ │ FF-2 │───┐ │
(內部邏輯) │ │ │(Capture) │(Update) │ │
│ │ └──┬───┘ └──┬───┘ │ │
│ │ │ │ │ │
序列TDI ─┼───→───┘ │ │
│ └───────────→序列TDO │
│ │ │
│ └─→ 多路選擇器─→┤
│ (Mode Select)│
└─────────────────────────────────┘
- FF-1(Capture FF):在 Capture-DR 狀態鎖存引腳電平
- FF-2(Update FF):在 Update-DR 狀態輸出新值到引腳
- Mux:由模式選擇訊號控制——正常模式直通內部邏輯,測試模式由 BSC 驅動/取樣
標準指令集
| 指令 | 型別 | 功能 |
|---|---|---|
| EXTEST | 強制 | 驅動引腳輸出 BSC 中的值,測試 PCB 連線 |
| SAMPLE/PRELOAD | 強制 | 取樣引腳當前電平(SAMPLE 階段),預載入 BSC 的值(PRELOAD 階段),不干擾正常操作 |
| IDCODE | 可選 | 讀取器件 ID 暫存器 |
| BYPASS | 強制 | 選擇 1-bit Bypass 暫存器,縮短鏈路 |
| INTEST | 可選 | 測試晶片內部邏輯(引腳由 BSC 驅動/取樣) |
指令寬度因器件而異,常見 4-bit 或 8-bit,部分複雜 SoC 使用更寬指令。
時序引數(定性描述)
- TCK 頻率:標準 IEEE 1149.1 未硬性規定上限,實際實現從數百 kHz 到數十 MHz 不等
- 建立/保持時間:TDI、TMS 相對 TCK 有 setup/hold 要求,具體值取決於晶片工藝和 I/O buffer
- TDO 輸出延遲:通常在 TCK 下降沿後更新,具體延遲因器件而異
注意:以上時序引數無公開標準統一數值,需查閱具體晶片 datasheet。
擴充套件標準
| 標準 | 狀態 | 擴充套件內容 |
|---|---|---|
| IEEE 1149.1 | 主流 | 基礎數字邊界掃描 |
| IEEE 1149.4 | 小眾 | 混合訊號邊界掃描(模擬引腳測試) |
| IEEE 1149.6 | 特定領域 | 交流耦合/差分訊號邊界掃描 |
| IEEE 1149.7 | 嵌入式除錯 | 精簡 2 線介面(cJTAG),使用 TCK 和 TMSC(雙向線),TMSC 替代 TMS 並承載資料,TDI 和 TDO 被移除 |
| IEEE 1687 (IJTAG) | 新興 | 內部可測試性基礎設施的標準化訪問架構 |
技術演進史
| 時間節點 | 里程碑 |
|---|---|
| 1985 年 | JTAG 工作組成立(由歐洲幾家公司發起) |
| 1990 年 | IEEE 1149.1-1990 標準正式釋出 |
| 1993 年 | IEEE 1149.1-1993 修訂(增加可選指令、澄清規範) |
| 1999 年 | IEEE 1149.4 釋出(混合訊號擴充套件) |
| 2001 年 | IEEE 1149.1-2001 修訂 |
| 2003 年 | IEEE 1149.6 釋出(差分/AC 耦合訊號擴充套件) |
| 2009 年 | IEEE 1149.7 釋出(精簡 2 線 cJTAG) |
| 2013 年 | IEEE 1149.1-2013 修訂(當前主流版本) |
| 2014 年 | IEEE 1687 (IJTAG) 釋出(片內測試訪問標準化) |
| 持續演進 | 與 ARM CoreSight、RISC-V Debug 等除錯架構協同 |
趨勢:
- 從”測試專用”向”除錯+測試+程式設計”多功能融合
- 從板級測試向晶片內部可測試性基礎設施(DFT)深度整合
- cJTAG(2 線)在資源受限場景(如汽車 MCU、IoT)滲透率提升
技術路線對比
| 維度 | JTAG (1149.1) | cJTAG (1149.7) | SWD (ARM) | SPI/UART 除錯 |
|---|---|---|---|---|
| 訊號線數 | 4-5 線 | 2 線 | 2 線 | 2-4 線 |
| 標準化程度 | IEEE 國際標準 | IEEE 國際標準 | ARM 私有規範 | 無統一標準 |
| PCB 測試能力 | ✅ 原生支援 | ✅ 相容 | ❌ 無 | ❌ 無 |
| 晶片除錯能力 | ✅ 廣泛支援 | ✅ 相容 | ✅ Cortex-M/A 最佳化 | ⚠️ 有限 |
| 鏈式多器件 | ✅ 菊花鏈 | ✅ 菊花鏈 | ⚠️ 需額外邏輯 | ❌ 點對點 |
| 頻寬效率 | 中等 | 較低(協議開銷) | 較高 | 因介面而異 |
| 工具生態 | 成熟 | 較成熟 | 成熟(ARM 生態) | 分散 |
| 典型應用場景 | 全場景通用 | 汽車/資源受限嵌入式 | ARM MCU 開發 | 簡單除錯/日誌 |
技術選型邏輯:
- 需要 PCB 連通性測試 → 必須 JTAG
- ARM Cortex 晶片除錯 → SWD 或 JTAG 均可,SWD 引腳更少
- 多晶片鏈式測試/除錯 → JTAG 菊花鏈
- 引腳極度受限 + 無 PCB 測試需求 → cJTAG 或 SWD
上下游
上游:設計與 IP
| 環節 | 代表玩家 |
|---|---|
| 標準制定 | IEEE(通過 JTAG 工作組及後續委員會) |
| TAP 控制器 IP | Synopsys、Cadence、Siemens EDA 提供 DFT IP |
| 邊界掃描單元 IP | 整合在綜合/DFT 工具鏈中 |
| 除錯架構 IP | ARM CoreSight(含 JTAG/SWD 介面)、RISC-V Debug Spec |
中游:工具與裝置
| 環節 | 代表玩家 |
|---|---|
| 除錯探針/介面卡 | SEGGER J-Link、Lauterbach TRACE32、ARM DSTREAM、FTDI |
| 測試裝置 | Keysight、Teradyne、XJTAG |
| 開源工具 | OpenOCD、UrJTAG、xc3sprog |
| 邊界掃描測試軟體 | XJTAG、JTAG Technologies、ASSET InterTech |
下游:應用終端
| 領域 | 應用方式 |
|---|---|
| 半導體 | 晶片驗證、量產測試、故障分析 |
| 消費電子 | PCBA 產線測試、韌體燒錄 |
| 汽車電子 | ECU 程式設計/診斷、符合 ISO 26262 測試要求 |
| 通訊裝置 | 基站/交換器多晶片除錯 |
| 工業控制 | PLC/驅動器現場維護 |
| 航空航天/軍工 | 高可靠性系統線上測試 |
關鍵指標
| 指標 | 說明 | 典型量級(定性) |
|---|---|---|
| TCK 頻率 | 測試時鐘速率 | 1 MHz - 50 MHz(因器件/探針而異) |
| 掃描鏈長度 | 串聯的邊界掃描單元總數 | 數百 - 數萬 bit(複雜 SoC) |
| 鏈路延遲 | 訊號傳播延遲限制最大頻率 | 與 PCB 走線長度/負載相關 |
| 指令寬度 | IR 暫存器 bit 數 | 4-16 bit(常見 8 bit) |
| 器件 ID 格式 | 32-bit 標準格式 | Version[31:28] + Part[27:12] + Manuf[11:1] + 1 |
| 除錯延遲 | 從傳送指令到獲取響應 | 取決於鏈長度和 TCK 頻率,可達 ms 級 |
供需與市場資料
市場定位
JTAG 作為嵌入式測試/除錯基礎設施,其市場與半導體測試裝置、嵌入式開發工具高度重疊,獨立市場規模難以精確剝離。
關鍵資料點
| 維度 | 資料/估計 |
|---|---|
| 晶片滲透率 | 數字晶片(CPU/MCU/FPGA/SoC)幾乎 100% 內建 TAP 控制器 [行業共識] |
| 除錯探針市場 | 全球除錯/追蹤探針市場規模約數億美元量級 [供應鏈估算] |
| 邊界掃描測試裝置市場 | 與 ATE/ICT 市場交叉,非獨立品類 [未充分揭露] |
| 主要增長驅動 | 汽車電子測試合規要求(ISO 26262)、IoT 裝置量產程式設計、先進封裝內測試需求 |
趨勢性判斷
- cJTAG(1149.7) 在汽車、IoT 領域滲透率持續提升(引腳優勢)
- IJTAG(IEEE 1687) 在高階 SoC 內部測試訪問架構中逐步落地
- 與 RISC-V Debug 的融合:開源硬體生態推動除錯介面標準化
代表公司與資本對映
工具/裝置廠商
| 公司 | 定位 | 資本狀態 | 說明 |
|---|---|---|---|
| SEGGER | J-Link 除錯探針 + Embedded Studio IDE | 私有(德國) | 行業標杆,全球市佔率領先 [行業共識] |
| Lauterbach | TRACE32 高階偵錯程式 | 私有(德國) | 汽車/航空高階市場強勢 |
| ARM (軟銀子公司) | DSTREAM 除錯探針 + CoreSight 架構 | 已上市後私有化 | 從 IP 到工具的垂直整合 |
| Keysight Technologies | ATE/測試裝置 | NYSE: KEYS | 板級/系統級測試裝置 |
| XJTAG | 邊界掃描測試解決方案 | 私有(英國) | 專注 JTAG/邊界掃描 |
EDA/IP 廠商
| 公司 | JTAG 相關版面配置 |
|---|---|
| Synopsys | DFT 工具鏈含 JTAG TAP 控制器生成 |
| Cadence | DFT + 系統級驗證 |
| Siemens EDA | Tessent 測試平台含 JTAG 支援 |
晶片廠商(作為 JTAG 使用者/整合者)
| 公司 | 典型整合方式 |
|---|---|
| Intel/AMD | CPU 除錯埠(JTAG/SWD + 私有擴充套件) |
| Qualcomm/MediaTek | 移動 SoC 除錯介面 |
| NXP/Infineon/Renesas | 汽車 MCU JTAG/cJTAG |
| Xilinx/AMD FPGA | JTAG 作為標準配置通道 |
| 各 RISC-V 晶片廠商 | 遵循 RISC-V Debug Spec(相容 JTAG) |
注:JTAG 作為開放標準,不存在專利壁壘或授權費用。商業價值主要體現在工具、裝置和測試服務層面。
投資邏輯
核心判斷架構
JTAG 本身不是投資標的,但它是嵌入式測試/除錯基礎設施的核心元件,其演進反映以下產業趨勢:
1. 汽車電子測試合規紅利
- ISO 26262 對晶片級/板級測試有嚴格要求
- JTAG/cJTAG 是滿足這些要求的標準手段
- 受益標的:汽車 MCU 廠商(NXP、Infineon、Renesas)、測試裝置廠商
2. 先進封裝與 Chiplet 的測試挑戰
- 異構整合(2.5D/3D 封裝)使傳統探針測試更加困難
- 內建自測試(BIST)+ JTAG/IJTAG 訪問架構成為必要補充
- 受益標的:EDA 廠商(Synopsys、Cadence)、ATE 廠商(Advantest、Teradyne)
3. 開源硬體生態的工具需求
- RISC-V 生態擴張 → 對開源除錯工具(OpenOCD)和低成本探針需求增長
- 受益標的:SEGGER(開源 + 商業雙軌)、中國本土除錯工具廠商
4. 供應鏈安全考量
- 關鍵除錯工具(Lauterbach、SEGGER)以歐洲廠商為主
- 國產替代在工具/裝置層面存在機會
- 關注標的:國內嵌入式工具/儀器廠商(如有公開標的)
常見誤讀糾偏
❌ 誤讀一:“JTAG 只是除錯介面”
糾偏:JTAG 的原始設計目的和核心能力是測試(Boundary Scan),除錯是後來擴充套件的應用。在 PCB 製造領域,JTAG 邊界掃描仍然是驗證焊接質量、連通性的標準方法,這一應用與”除錯”是完全不同的場景。
❌ 誤讀二:“SWD 是 JTAG 的升級版”
糾偏:SWD(Serial Wire Debug)是 ARM 公司設計的私有除錯介面規範,與 JTAG(IEEE 開放標準)是並行的技術路線,而非升級關係。SWD 在引腳數(2 線 vs 4 線)和頻寬效率上有優勢,但不具備 JTAG 的邊界掃描測試能力。在需要 PCB 測試的場景,SWD 無法替代 JTAG。
❌ 誤讀三:“JTAG 是晶片廠商的私有技術”
糾偏:IEEE 1149.1 是開放國際標準,任何廠商均可實現。商業競爭發生在工具層面(探針、測試軟體),而非標準本身。標準文件可從 IEEE 購買(付費),但規範內容是公開知識。
❌ 誤讀四:“JTAG 已經過時”
糾偏:JTAG 仍然活躍演進。IEEE 1149.1 在 2013 年有重要修訂,IEEE 1149.7(cJTAG)和 IEEE 1687(IJTAG)是近年的新標準。在汽車、航天等高可靠性領域,JTAG 的重要性反而在增加。“過時論”可能源於消費電子領域 SWD 等替代方案的普及,但這只是場景分化。
學習路徑
入門(1-2 天)
- 閱讀 Wikipedia 的 JTAG 詞條(英文版質量較高)
- 理解 4 線介面、TAP 狀態機、IR/DR 暫存器的基本概念
- 觀看 YouTube 上的 JTAG 概念動畫演示
進階(1-2 周)
- 閱讀 IEEE 1149.1 標準文件(至少前 5 章)
- 實操:使用 OpenOCD + 一塊開發板(如 STM32)進行 JTAG 除錯
- 學習邊界掃描測試的基本流程(SAMPLE/PRELOAD → EXTEST)
專家級(持續)
- 深入 DFT(Design for Testability)領域,理解 JTAG 與 Scan Chain、BIST 的協同
- 學習 IEEE 1687 (IJTAG) 和 IEEE 1149.6 的規範
- 研究 ARM CoreSight 或 RISC-V Debug Spec 中 JTAG 的具體實現
- 參與 IEEE 1149.1 工作組討論(如有渠道)
推薦資源
| 資源 | 型別 | 說明 |
|---|---|---|
| IEEE 1149.1-2013 標準 | 規範文件 | 官方定義,需購買 |
| Boundary-Scan Test: A Practical Approach | 書籍 | 經典教材 |
| OpenOCD 官方文件 | 實踐指南 | 開源工具實操 |
| XJTAG 技術文章系列 | 線上教程 | 業界視角的實用講解 |
| ARM CoreSight Architecture Specification | 架構文件 | ARM 生態除錯架構 |
一句話總結
JTAG 是數字晶片和 PCB 測試/除錯領域的”USB”——一個誕生近 40 年、幾乎無處不在的開放標準介面,它不性感,但它是嵌入式系統從研發到量產到維修全生命週期的基礎設施。
延伸閱讀與來源
標準文件
- IEEE 1149.1-2013: Standard Test Access Port and Boundary-Scan Architecture
- IEEE 1149.7-2009: Standard for Reduced-pin and Enhanced-functionality Test Access Port and Boundary-Scan Architecture
- IEEE 1687-2014: Standard for Access and Control of Instrumentation Embedded within a Semiconductor Device
行業資源
- JTAG Technologies: https://www.jtag.com/ (邊界掃描測試專業知識庫)
- XJTAG Technical Articles: https://www.xjtag.com/about-jtag/jtag-a-technical-overview/
- OpenOCD Documentation: http://openocd.org/doc/html/
本頁資料來源說明
- 標準版本年份:依據 IEEE 標準公開記錄
- 市場資料:無公開獨立研究報告,標註為 [供應鏈估算] 或 [未充分揭露]
- 公司資訊:基於公開資料整理,非財務建議
- 技術引數:定性描述為主,具體數值因器件而異,請查閱相關 datasheet
本頁最後更新:基於 IEEE 1149.1-2013 及行業公開資料編寫。技術事實經核實,市場資料多為定性估計。