JTAG 邊界掃描之基本原理介紹(上篇)

一. 概述

隨著印製電路板製造工藝向小,微,薄發展,現代封裝技術(如 BGA 和晶片級封裝)限制對引腳的物理訪問,導致無法使用探針等方式來直接測量晶片管腳。對此產生一種新的測試技術,聯合測試行為小組(Joint Test Action Group,簡稱 JTAG )定義這種測試方法為邊界掃描測試。現在用戶使用 JTAG多數用於下載調試,實際上邊界掃描功能才是 JTAG 設計初衷,在此本文將介紹 JTAG 邊界掃描功能基本原理。

二. 邊界掃描功能作用

1.  在晶片被焊接到 PCB 板上之後,測試焊接是否良好。
2.  定位晶片故障,測試內部晶片管腳連接可靠性。
3.  部分具有 JTAG 接口的晶片會內置一些預先定義好的功能模式,通過邊界掃描通道使晶片處於某個特定功能模式。

三. JTAG 邊界掃描測試原理

邊界掃描技術基本思想是在靠近晶片輸入輸出管腳上增加一個移位寄存器單元。因為這些移位寄存器單元都分布在晶片邊界上,所以被稱為邊界掃描寄存器(Boundary-Scan Register Cell)

1.  在正常運行狀態下,這些邊界掃描寄存器對晶片來說是透明的,所以正常運行不會受到任何影響。
2.  當晶片處於調試狀態的時候,這些邊界掃描寄存器可以將晶片和外圍輸入輸出隔離開來。
邊界掃描原理圖

圖 1 邊界掃描原理圖

如上圖所示為邊界掃描原理圖。通過各個邊界掃描單元,在晶片內部形成一條串行鏈,測試數據和測試指令都通過邊界掃描鏈進行輸入輸出,完成整個邊界掃描測試過程。一般晶片都會提供幾條獨立邊界掃描鏈,用來實現完整測試功能。管理和使用這些邊界掃描鏈則主要是通過 TAP(Test Access Port)Controller 來完成。接下來將介紹 TAP(Test Access Port)Controller 。TAP 包括 4/5 個信號接口 TCK、TMS、TDI、TDO 和 TRST,接口信號及其作用如下:

1.  TDI:數據輸入接口
2.  TDO:數據輸出接口
3.  TCK:為 TAP 操作提供了一個獨立的、基本的時鐘信號,TAP 所有操作都通過這個時鐘信號來驅動。
4.  TMS:用來控制 TAP 狀態機轉換。通過 TMS 信號,可以控制 TAP 在不同的狀態間相互轉換。TMS 信號在 TCK 上升沿有效。
5.  TRST (可選項):供異步初始化,低電平有效

通過這些信號接口將可進行 TAP Controller 狀態轉換,在 TCK 驅動下,從當前狀態到下一個狀態轉換由 TMS 信號決定,如下圖所示 TAP 狀態機總共有 16 個狀態,六邊形表示一個狀態,六邊形中標有該狀態名稱和標識代碼。


TAP Controller 

圖 2 TAP Controller 

假設 TAP Controller 當前狀態為 Select-DR-Scan,在  TCK  驅動下,如果 TMS = 0,TAP Controller 進入 Capture-DR 狀態;如果 TMS = 1,TAP Controller 進入 Select-IR-Scan 狀態。在每個狀態 JTAG 都將會進行一些操作,接下來將進行舉例方便更好理解。

 邊界掃描鏈
 
圖 3 邊界掃描鏈

如圖所示是測試晶片及其被當前指令選定的長度為 6 的邊界掃描鏈。由圖可以看出,當前選擇邊界掃描鏈由 6 個邊界掃描移位寄存器單元組成,並且被連接在 TDI 和 TDO 之間。TCK 時鐘信號與每個邊界掃描移位寄存器單元相連。每個時鐘周期可以驅動邊界掃描鏈數據由 TDI 到 TDO 方向移動一位。經過6個時鐘周期,就可以完全更新邊界掃描鏈里的數據,而且獲得邊界掃描鏈里原來 6 位數據。

1.  首先處於初始化狀態,測試將數據序列 101010 輸入晶片,並獲得晶片相應管腳狀態。
2.  TAP 狀態機從 Run-Test/Idle 狀態經過 Select-DR-Scan 進入到 Capture-DR 狀態,經過一個周期 TCK 時鐘驅動,晶片管腳上信號狀態全部被捕獲到相應邊界掃描移位寄存器單元中。
3.  在數據捕獲完成以後進入到 Shift-DR 狀態,每經過一個 TCK 時鐘驅動,邊界掃描鏈從 TDO 輸出一位數據
4.  經過 6 個 TCK 時鐘周期來把新數據序列 (101010)通過 TDI 輸入到邊界掃描鏈當中去;同時,將捕獲序列 (111000)通過 TDO 輸出。
5.  TAP Controller 從 Shift-DR 狀態,經過 Exit1-DR 狀態,進入 到 Update-DR 狀態,經過一個周期 TCK 時鐘驅動,邊界掃描鏈中新數據序列將被加載到測試晶片相應管腳上去。
6.  測試晶片狀態被更新,最後從 Update-DR 狀態回到 Run-Test/Idle 狀態,完成對選定邊界掃描鏈的訪問。

通過以上步驟即可實現邊界掃描,獲取並設置當前邊界掃描移位寄存器狀態。

四. 總結

本文主要介紹關於 JTAG 邊界掃描功能基本原理,關於 JTAG 邊界掃描下篇將會介紹在具體軟硬體平台邊界掃描功能實現步驟。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能