JTAG 量測技術大觀 JTAG 測量及分析 JTAG(Joint Test Action Group, 測試行動聯合組織 ), 這是一種專門用於燒錄或測試電路板的介面,JTAG 介面技術是由 IEEE-1149.1 邊界掃描架構 (IEEE-1149.1 Boundary Scan Architecture) 標準規定所規範的一項技術, 屬於一種同步並列式的介面, 而 JTAG 介面的特色是一個控制器可同時連接多個裝置進行測試 JTAG 介面主要由下列訊號所組成 : TCK (Test Clock) 由控制器產生的資料同步訊號, 頻率最高可達 16MHz TMS (Test Mode Select) 由控制器產生, 用於選擇測試裝置 TDI (Test Data Input) 從控制器接收裝置所送出的資料 TDO (Test Data Output) 從控制器傳送裝置的資料 TRST (Test Logic Reset) 由控制器產生, 用於重置介面裝置 上述這些訊號均為單向傳輸, 透過這些訊號就可構成測試存取埠 (TAP, Test Access Port), 而待測裝置便是透過這個存取埠連接到控制器上, 控制器主要便是依照待測裝置的製造商所定義的測試程式產生測試訊號, 並將測試結果與樣品進行比較 只要待測裝置符合 JTAG 規範, 一組控制器就可以透過 TAP 將多個裝置串連起來 圖一 :JTAG 介面裝置串連
一個數位電路, 具有輸入 輸出及雙向通訊 在裝置的外部輸出與邏輯裝置之間加入了 B/S 測試單元 (B/S Cell),TAP 控制器就能夠掃描這些單元, 這就是所謂的邊界掃描 (boundary scan), 如圖二所示 當開啟測試模式時,TAP 控制器可將訊號及外部輸出在邏輯上離線, 藉此設定輸入的動作, 再讀取結果 其實, 這樣子的動作方式就是測試裝置所要做的事 圖二 : 連接掃描單元
支援 JTAG 的裝置需包含下列測試元件 : 測試存取埠 TAP, 共由四根訊號組成 TAP 暫存器控制器 - 指令暫存器 (IR, Instruction Register) 接收由 TDI 輸入的序列碼, 指令碼則是用來選取要執 行的測試動作, 或是選擇要使用的測試資料暫存器 一個裝置一定會擁有三個暫存器, 分別為旁路暫存器 測試資料暫存器 (Test Data Register) (BPR, Bypass Register) 裝置識別暫存器 (DID, Device Identification Register) 及邊界掃描暫存器 (BSR, Boundary Scan Register) 指令暫存器與資料暫存器是屬於不同的移位暫存器 (Shift Register), 兩個暫存器以並連的方式 連接 TDI 訊號接到它們的輸入端,TDO 接至輸出端 當 TCK 出現一個脈衝訊號時, 移位暫存器 內的資料就會移動一個位元 BPR 暫存器僅只有一個位元的長度, 當其他的暫存器沒有進行交換時,BPR 用作串列資料傳送 最快的旁路 BSR 則是一個較長的移位暫存器, 其中每一位元就是處理器的每一輸入與輸出訊號對應的邊 界單元 對於雙向訊號或是構成的群組, 除了對應外部訊號的暫存器資訊單元 (information cells) 本身之外, 另外有控制單元設定資訊單元 (control cells) 的操作模式 DID 暫存器長度為 32 位元, 內容包含製造商的辨識位元 裝置碼以及版本編號 有了 DID 暫存 器,TAP 控制器才能夠分辨待測裝置的類型 IR 暫存器用來儲存執行的測試指令, 暫存器長度取決於待測裝置 所有的裝置都必須支援 BY- PASS IDCODE SAMPLE/PRELOAD 及 EXTEST 指令
BYPASS IDCODE SAMPLE 及 EXTEST 指令說明 : BYPASS 指令 指令碼內容均為 1 所組成, 主要用來連接 1 位元的 BPR, 以提供繞 經裝置最快的路徑 IDCODE 指令 辨識指令, 指令碼最低兩個位元固定為 10, 主要將 DID 暫存器連 接到介面後讀取暫存器內容 指令碼最低兩個位元固定為 01, 該指令主要功能分為兩項, 一 為當 TAP 控制器處於 Capture DR 狀態時, 這指令可以不影響裝置 SAMPLE/PRELOAD 指令 操作的情況下瞬間擷取所有外部的訊號 另一為當 TAP 控制器在 Update-DR 狀態下時, 該指令可利用 EXTEST 指令再搬移到處理 器的輸出上 EXTEST 指令 指令碼最低兩個位元固定為 00, 是用來測試外部電路, 在這指 令操作當中, 事先寫到 BSR 暫存器的訊號就會被搬移到輸出上 除了上述介紹的四種指令之外,IEEE1149.1 也提供 INTEST 指令用來測試裝置內部邏輯, 但並非 所有的裝置都支援 TAP 控制器在電源啟動時, 會自動回到初始的測試邏輯重置狀態 (Test Logic Reset), 無論控制 器處於何種狀態下, 只要 TMS 訊號高準位維持超過 5 個 TCK 週期, 就會強迫進入重置狀態, 有時 控制器也會透過 TRST 訊號回復成初始狀態 TAP 控制器狀態介紹 : Run-Test-Idle 狀態 介於測試操作與執行之間的中間狀態, 在此狀態下暫存器數值並 不會改變 Shift-DR 狀態 此狀態下, 來自 TDI 的資料都會經由連接的移位暫存器搬移到 TDO 輸出 Pause-DR 狀態 控制器此時會禁止任何資料經由移位暫存器進行搬移 Update-DR 狀態 遇到 TCK 負向轉換時, 會在測試單元的輸出上閂鎖來自移位暫存器 的訊號 Capture-DR 狀態 控制器會將 SAMPLE 指令碼載入到移位暫存器 Shift-IR 狀態 在 TDI 與 TDO 之間的串連插入一個移位暫存器, 但前一個指令仍然 繼續進行
這些主要的控制器狀態決定了測試裝備的操作行為, 除了這些狀態之外還有許多的暫態, 這些 暫態包含了 Select-DR-Scan Exit1-DR Exti2-DR Select-IR-Scan Exit1-IR Exti2-IR 等等, 圖三 為 TAP 控制器狀態轉換流程圖 圖三 :TAP 控制器狀態轉換流程圖 目前針對 JTAG 介面也發展出一種特殊的邊界掃描描述語言 (BSDL, Boundary Scan Description Language) 用來描述裝置, 每一種裝置在資料移位暫存器中資訊與控制單元的先後順序與特性都有獨特之處, 需要由裝置的研發廠商提供,JTAG 介面不僅用來測試裝置, 也可以用於編譯不同的裝置
JTAG 訊號實機測量 孕龍科技邏輯分析儀可支援 JTAG 訊號解碼, 將 TAP 控制器上的 TCK TMS TDI TDO 及 TRST 接上邏輯分析儀後即可進行訊號解碼 接著將以 Altera 的 MAX II 做為 JTAG 測量目標進行訊號分析, 使用茂倫的 USB-Download Cable 對 MAX II 做 JTAG 傳輸, 並透過孕龍邏輯分析儀來擷取訊號 圖四為茂倫 USB-Download Cable, 圖五為 Altera MAX II 開發板, 為方便連接邏輯分析儀, 這邊事先準備了一塊測試治具 ( 如圖六所示 ), 目的在於將 MAX II 上的 JTAG PORT(F) 分接成兩組, 一邊接上 USB-Download Cable 的 JTAG PORT(M), 而另外一端則接上孕龍邏輯分析儀測試線 JTAG PORT (M) 圖四 : 茂倫 USB-Download Cable JTAG PORT (F) 圖五 :Altera MAX II 開發板 * All Trademarks and Copyrights are reserved by original owner companies.
連接孕龍邏輯分析儀測試線 連接 JTAG PORT (F) 連接 JTAG PORT (M) 圖六 : 訊號測試治具 透過訊號分接治具 ( 將訊號一分為二 ) 將 MAX II 上的 JTAG PORT 分接出來, 一邊接上 USB-Download Cable, 另一邊透過測試接上孕龍邏輯分析儀 ( 預設連接通道為 A0 ~ A3) 連接完成如圖 七所示 圖七 : 測試環境連接完成 * All Trademarks and Copyrights are reserved by original owner companies.
連接完成後便可以開啟孕龍邏輯分析儀軟體進行訊號測量 ( 邏輯分析儀操作方式請參閱孕龍科 技網站 www.zeroplus.com.tw), 擷取完成波形如圖八所示 圖八 :JTAG 訊號擷取完成
孕龍科技邏輯分析儀 JTAG 匯流排模組除了可自動分析訊號封包之外, 還可依照訊號內容自行 設定 CAPTURE_IR 及 CAPTURE_DR 位元長度, 設定畫面如圖九所示 圖九 : 孕龍科技邏輯分析儀 JTAG 匯流排模組設定畫面
總結 JTAG 介面不僅用來測試裝置, 同時也可用於編譯不同的裝置, 許多新款的微處理器都支援 JTAG 介面, 甚至在 PCI 匯流排上也提供 JTAG 訊號的接腳 JTAG 介面還能夠做成探針模式 (Probe mode) 的除錯系統, 探針模式是一種功能強大的系統除錯方式, 而且一個微處理器透過 JTAG 連接到測試控制器還可以實現為電路模擬器 (ICE, In Circuit Emulator), 這樣子的功能對於研發工程師而言更是極為方便 孕龍科技邏輯分析儀推出了五十多種匯流排解碼模組, 針對研發工程師在分析匯流排訊號時, 可透過軟體自動解碼功能縮短開發專案的時間, 及早讓商品問世, 面對各種數位訊號時, 不需要以人工的方式來解碼欲分析的訊號 關於更多孕龍邏輯分析儀介紹請至孕龍科技網站 www.zeroplus.com.tw 參考資料 : PC 硬體介面徹底研究 Michael Gook 著陳黎光譯旗標出版社出版 系統晶片設計使用 Quartus II * 所有商標及所有權歸屬於原註冊商所有 廖裕評陸瑞強編著