用JTAG邊界掃描測(cè)試電路板、BGA和互連
當(dāng)?shù)谝慌娐钒鍢影宸旁谟布こ處熥烂娴臅r(shí)候,在測(cè)試時(shí)他會(huì)感到非常困擾。工程師耗費(fèi)幾個(gè)星期的時(shí)間設(shè)計(jì)電路圖和布板,現(xiàn)在電路板做出來了,上面也安裝好了元器件并拿在手上,現(xiàn)在必須確定它能否工作。工程師插上板子,加電并觀察。但沒有辦法檢測(cè)BGA下面微小到得用放大鏡才能看清楚的芯片引腳,工程師應(yīng)該怎么辦?
本文引用地址:http://www.ex-cimer.com/article/193877.htmBGA因?yàn)榫哂泻芏鄡?yōu)點(diǎn),所以應(yīng)用非常普遍。然而我們不能靠剝離器件來探測(cè)BGA下面的連線。X射線是一種可選的測(cè)試方案,但是,它們僅僅 呈現(xiàn)焊點(diǎn)的靜態(tài)圖像,而不是提供確保連接性所需的動(dòng)態(tài)電氣報(bào)告,因而極難判斷虛焊和可靠焊點(diǎn)之間的差異。人們總是希望一換掉BGA,問題就會(huì)消失。這通常 是一種昂貴和耗時(shí)間的選擇方案,并且生產(chǎn)率非常低。
傳統(tǒng)的邊界掃描是另一種選擇方案,但是這通常需要一些昂貴的工具,并要?jiǎng)?chuàng)建測(cè)試向量和測(cè)試執(zhí)行,整個(gè)過程要花很長(zhǎng)時(shí)間。所花費(fèi)的時(shí)間長(zhǎng)短取決于設(shè)計(jì)文檔的穩(wěn)定性和精度。此外,測(cè)試結(jié)果不是動(dòng)態(tài)的,它們通常是對(duì)電路板上所發(fā)現(xiàn)問題的匯總。
最佳測(cè)試方案是存在于現(xiàn)有設(shè)計(jì)中的快速、簡(jiǎn)單和廉價(jià)的方案。許多BGA和大多數(shù)高端嵌入式處理器都支持通過IEEE 1149.1 JTAG接口進(jìn)行邊界掃描。
核心問題在于:信號(hào)線是否被正確地連接到物理上無法用探頭接觸的BGA器件的某一引腳?該信號(hào)線可能是時(shí)鐘線、地址線、數(shù)據(jù)總線或任何感興趣的信號(hào)線。關(guān)鍵是對(duì)其在電路中進(jìn)行測(cè)試,以觀察其狀態(tài)是高、低或正發(fā)生狀態(tài)跳變,以及信號(hào)線是否連通。
基于JTAG的邊界掃描能以非傳統(tǒng)的方式獲得這些信息。概念很簡(jiǎn)單,即IC獲取其所有引腳的狀態(tài)并通過邊界掃描鏈重復(fù)地把這些狀態(tài)移出,并在個(gè)人電腦上同步顯示結(jié)果。用戶可以觀察BGA器件下面每一個(gè)可掃描引腳的動(dòng)態(tài)行為指示。
從顯示器可以實(shí)時(shí)觀察振蕩器是否連接到G17腳或者地址或數(shù)據(jù)總線的行為,與此同時(shí),電路板上的電路可以不受干擾而保持正常運(yùn)行。該技術(shù)的 最好之處在于電路不知道你在進(jìn)行測(cè)試,測(cè)試對(duì)電路的工作是完全透明的。測(cè)試應(yīng)用程序以全速運(yùn)行,在JTAG掃描鏈上的每一個(gè)器件都受到監(jiān)測(cè)。
完成這類測(cè)試的工具非常依賴于圖形用戶接口(GUI)。一旦電路板被描述到應(yīng)用軟件中,屏幕上顯示的芯片圖就類似于電路版圖中的封裝。因 為芯片的JTAG接口可能以菊花鏈排列,版圖可能僅包含一個(gè)處理器或一些BGA器件,或者可能包含許多器件,諸如處理器、門陣列、輸入/輸出控制器等。引 腳在屏幕上以彩色編碼顯示實(shí)時(shí)狀況,如引腳現(xiàn)在的邏輯電平或是否在發(fā)生狀態(tài)跳變。這就使測(cè)試非常直觀。當(dāng)測(cè)試目的是簡(jiǎn)單的連通性和狀態(tài)檢查時(shí),就消除了創(chuàng) 建測(cè)試向量或測(cè)試執(zhí)行的需要。
圖1:目前市場(chǎng)上常見的JTAG調(diào)試工具
每一個(gè)器件都被發(fā)送JTAG指令EXTEST,以容許對(duì)器件上的每一根引腳進(jìn)行完全的控制。應(yīng)用程序然后可以驅(qū)動(dòng)地址總線或切換到一根到連接器或LED的線,以檢查整個(gè)電路的連通性,所有這一切只要點(diǎn)擊鼠標(biāo)就能完成。
所有具備JTAG端口的集成電路都將內(nèi)建邊界掃描功能,其組成部分包括:圍繞被掃描器件邊界的較長(zhǎng)的移位寄存器和控制移位寄存器行為的狀態(tài)機(jī)。在邊界寄存器中的每一個(gè)寄存器位捕獲或控制器件上每一個(gè)引腳的某些方面。如果該位是緩沖器使能的,該寄存器位就可能控制若干引腳。
軟件應(yīng)用程序引導(dǎo)狀態(tài)機(jī)把每一個(gè)引腳的狀態(tài)捕獲到邊界寄存器之中,然后將其移出JTAG端口。重復(fù)這個(gè)過程,并把結(jié)果顯示在屏幕上,就可以實(shí)時(shí)顯示在掃描鏈中的每一個(gè)器件的每一個(gè)引腳的行為。因?yàn)榕c測(cè)試向量法相比,通過顯示圖像可以做可視化分析,所以掃描速度不是問題。
對(duì)于典型的門陣列,一個(gè)這樣的寄存器通常有300到400位;而對(duì)于處理器,最多有幾千位。邊界掃描描述語言文件(BSDL)定義了寄存器中每一位的含義。這些文件常見于IC供應(yīng)商的網(wǎng)站,它們非常詳細(xì)、精確地描述了邊界掃描鏈中每一個(gè)單元的含義以及它與物理引腳的關(guān)系。
在器件中與每一個(gè)引腳相關(guān)的典型掃描單元有三種:1. 捕獲/控制進(jìn)入器件的信號(hào);2. 捕獲/控制流出器件的信號(hào);3. 捕獲/控制輸出緩沖器使能。如果引腳是一個(gè)專用的“輸入”引腳,它通常具有單個(gè)掃描單元。
JTAG接口只有4條線:測(cè)試數(shù)據(jù)輸入(TDI)、測(cè)試數(shù)據(jù)輸出(TDO)、測(cè)試時(shí)鐘(TCK)和測(cè)試模式選擇(TMS)。TCK是用于把數(shù)據(jù)讀入TDI引腳并把數(shù)據(jù)讀出TDO引腳的異步時(shí)鐘。TMS引腳被用于轉(zhuǎn)換TAP控制器的狀態(tài)機(jī)。
BSDL文件是免費(fèi)的,邊界掃描電路已經(jīng)被構(gòu)建在你的JTAG器件之中,而JTAG接頭在你的目標(biāo)板上。接下來做的事就是編制合適的診斷應(yīng)用程序,并開始觀察BGA器件下面的情況。
Macraigor、XJTAG和Corellis等公司提供了很多工具,幫助硬件工程師最大限度地利用目標(biāo)板內(nèi)建的JTAG功能。面對(duì)價(jià) 格和功能各異的各種工具,你需要找到最適合你的測(cè)試要求的工具。所幸大多數(shù)可由JTAG解決的硬件問題都可以采用合適的工具方便和快速地加以解決。
市場(chǎng)上存在廉價(jià)的工具,它不僅完全支持JTAG調(diào)試,而且配備極易使用的GUI。Macraigor Systems公司最近剛推出一種稱為JSCAN的 工具,它除了能夠完成所有上述工作之外,還能完成許多其它測(cè)試任務(wù)。在應(yīng)用程序中,包含各種虛擬LED和開關(guān),它們可以虛擬連接到BGA器件的引腳以幫助 監(jiān)測(cè)和控制被測(cè)信號(hào)。它具有一個(gè)腳本記錄器,所以,你可以創(chuàng)造包含循環(huán)、用戶提示和查詢的簡(jiǎn)單測(cè)試腳本。該腳本被存儲(chǔ)在工業(yè)標(biāo)準(zhǔn)的SVF文件中,可以在 JSACN工具或任何SVF播放器上播放。這就容許你快速地測(cè)試多個(gè)電路板并即時(shí)了解哪塊板有問題及其問題的根源。
此外,該產(chǎn)品無論板上的處理器是否在運(yùn)行,都能對(duì)閃存進(jìn)行編程。只要選擇一些選項(xiàng),提供一個(gè)數(shù)據(jù)文件并點(diǎn)擊“編程”項(xiàng),就能把信號(hào)信息 (地址、數(shù)據(jù)和控制)填入空位。JSCAN控制被測(cè)器件的所有引腳,并使用這些引腳對(duì)閃存編程。當(dāng)然這需要假定你的閃存已經(jīng)連接到JTAG鏈中的一個(gè)或多 個(gè)器件。
JTAG Commander是一種較低級(jí)的工具,它直觀地輔助JTAG掃描鏈本身被診斷,并為硬件工程師提供了SVF和JAM目標(biāo)代碼文件的播放器。
除了電路板測(cè)試外, Macraigor Systems公司還提供高端和低端調(diào)試工具,使軟件監(jiān)測(cè)操作系統(tǒng)和運(yùn)行在你的目標(biāo)系統(tǒng)上的所有應(yīng)用程序。
評(píng)論