邊界掃描測試的原理和應(yīng)用
一、邊界掃描測試的原理 枅R?ㄩ6U
邊界掃描測試是一種可測試結(jié)構(gòu)技術(shù),它采用集成電路的內(nèi)部外圍所謂的“電子引腳”(邊界)模擬傳統(tǒng)的在線測試的物理引腳,對器件內(nèi)部進行掃描測試。它是在芯片的I/O端上增加移位寄存器,把這些寄存器連接起來,加上時鐘復(fù)位、測試方式選擇以及掃描輸入和輸出端口,而形成邊界掃描通道。IEEE 1149.1 標準規(guī)定了一個四線串行接口(第五條線是可選的),該接口稱作測試訪問端口 (TAP),用于訪問復(fù)雜的集成電路 (IC),例如微處理器、DSP、ASIC 和 CPLD 等。 在 TDI(測試數(shù)據(jù)輸入)引線上輸入到芯片中的數(shù)據(jù)存儲在指令寄存器中或一個數(shù)據(jù)寄存器中。 串行數(shù)據(jù)從 TDO(測試數(shù)據(jù)輸出)引線上輸出。 邊界掃描邏輯由 TCK(測試時鐘)上的信號計時,而且 TMS(測試模式選擇)信號控制驅(qū)動 TAP 控制器的狀態(tài)。 TRST*(測試重置)是可選項,可作為硬件重置信號,一般不用。詳細邊界掃描結(jié)構(gòu)及信號流程參考圖1。
圖1 中“TAP Controller”其實質(zhì)上是一個狀態(tài)機,它根據(jù)不同的操作指令能產(chǎn)生16 個不同的狀態(tài),具體狀態(tài)邏輯參考圖2。從一個狀態(tài)切換成另一個狀態(tài)總是發(fā)生在TCK 的上升沿,由TMS 從兩個狀態(tài)選擇其中一個狀態(tài)。在測試向量寄存器中,既有指令寄存器(IR),又有數(shù)據(jù)寄存器(DR),而且,為了區(qū)分是指令還是數(shù)據(jù),掃描鏈路中的狀態(tài)圖有兩個獨立的完全類似的結(jié)構(gòu)(Scan DR / Scan IR)。
測試操作的最重要步驟是移入和同步移出測試數(shù)據(jù)(DR SHIFT),新的數(shù)據(jù)進入移位鏈,測試數(shù)據(jù)傳送到測試單元DR-update)的輸出鎖存器中,對于指令寄存器(IR-shift,IR-capture,IR-update)同樣如此。除了邊界掃描寄存器oundary Scan Register),IEEE 1149.1標準還定義了在數(shù)據(jù)寄存器附近至少存在一個旁路寄存器,用來將TDI 到TDO 的可以直連接。數(shù)據(jù)寄存器根據(jù)指令寄存器的指令尋址,然后在TDI 和TDO 的引腳之間,各個數(shù)據(jù)寄存器結(jié)合成移位路徑。正如圖2 所示,從一個狀態(tài)轉(zhuǎn)換成另一個狀態(tài)由信號TMS 的邏輯電平?jīng)Q定?!癟AP ”是一個時鐘系統(tǒng),它的時鐘是由信號TCK 提供。信號TMS 和信號TCK共同作用,使得數(shù)據(jù)一位一位從TDI 移入,最后由TDO 移出。 鋤?G羝!
各種邊界掃描單元是否有效取決于是否實行測試或者得到激勵。圖3 就是一個最普通的邊界掃描單元的結(jié)構(gòu)圖。如,第一個鎖存器鎖存數(shù)據(jù)由移位寄存器(SHIFT DR)決定從前一個掃描單元移出的數(shù)據(jù)(SCAN IN)或者是掃描輸入的數(shù)據(jù)(DATA IN),并且由CLOCK DR控制鎖存輸出。在第一個鎖存器移出數(shù)據(jù)穩(wěn)定后,第二個鎖存器由UPDATE DR 控制鎖存輸出第一個鎖存器移出的數(shù)據(jù)。MODE 信號的電平?jīng)Q定是測試模式還是工作模式。邊界掃描單元既有輸入又有輸出。一般來說,在每一個物理引腳不論輸入還是輸出,都有一個獨立的邊界掃描單元,但區(qū)別是輸入在每一個物理引腳的后面,而對于所有的輸出是在每一個物理引腳的前面。
MODE, SHIFT DR, UPDATE DR 以及CLOCK DR 這些全局信號線與所有掃描單元都相連接,而且同一個時間狀態(tài)都一樣。這樣,TAP 狀態(tài)在CAPTURE DR 時,所有的掃描單元都能在CLOCK DR 的上升沿取樣輸入數(shù)據(jù)。測試數(shù)據(jù)的輸出也相類似,它是在TAP 狀態(tài)在UPDATE DR 的下降沿時將掃描輸入端鎖存并輸出。所有的掃描單元都能完成以上功。所有的掃描單元運行在工作模式還是在測試模式,由MODE 信號控制選擇其一,同時運行在兩個模式是不可能的。而MODE 信號是由掃描指令控制的。 蕓帔S, ??
二、邊界掃描在板級測試中的應(yīng)用 ??,*u抐
邊界掃描測試技術(shù)不僅應(yīng)用于單個芯片測試,而且在板測試領(lǐng)域同樣有廣泛應(yīng)用。如圖4 所示,在 PCB 上可串行互連多個可兼容掃描功能的 IC,形成一個或多個邊界掃描鏈,每一個鏈有其自己的 TAP。 每一個掃描鏈提供電氣訪問,串行 TAP 接口到作為鏈的一部分的每一個 IC 上的每一個引線。 在正常操作過程中,IC 執(zhí)行其預(yù)定功能,就好像邊界掃描電路不存在。 但是,當為了進行測試或在系統(tǒng)編程而激活設(shè)備的掃描邏輯時,數(shù)據(jù)通過互連的測試訪問端口TAP)傳送到 IC 中,并且使用串行接口從 IC 中讀取出來。 這樣的數(shù)據(jù)可以用來激活設(shè)備核心,將信號從引線TDI 發(fā)送到 PCB 上,讀出 PCB 的輸入引線并讀出TDO 輸出。 卑鴍箇洿詥
邊界掃描在板級測試中,主要是對PCB 上器件間互連線和管腳的故障進行檢測和隔離,對在系統(tǒng)編程器件進行編程。測試邊界掃描板的通用測試策略是: 另覲5乼厲
1)執(zhí)行板級邊界掃描基本結(jié)構(gòu)完整性測試。 獲?pn]傶
2)使用Extest 指令,施加激勵和檢測響應(yīng),進行邊界掃描器件間互連的測試,測試時將非邊界掃描器件設(shè)置到安全狀態(tài)。3)對非邊界掃描器件進行測試,如集群測試、RAM 測試等。 澨勜晱' |x
在正常工作模式,帶邊界掃描功能的IC 好像沒有實現(xiàn)其特定功能。然而,當要進行測試或在系統(tǒng)編程時,器件的掃描邏輯被激活,通過菊花鏈將多個具有JTAG 接口的器件串聯(lián)起來,組成一個掃描鏈,使用單組測試向量實現(xiàn)對整個電路板的完整測試。 琇?茶Ng肕
邊界掃描測試對于采用復(fù)雜表面貼裝技術(shù)的電路板功能測試也是一種較好選擇,它能快速剔除產(chǎn)品的制造故障,讓功能測試真正進行功能性故障的查找。當前的主流在線測試和飛針測試設(shè)備也都兼有邊界掃描測試功能。 閊Jh€Fna,?
盡管很多使用中的器件可以使用BST 技術(shù),但仍有部分電路沒有邊界掃描功能。有些測試設(shè)備供應(yīng)商可利用特定的軟件,利用其在線測試ATE 運行來實現(xiàn)。其大致的工作原理是:將邊界掃描器件的掃描單元作為一個虛擬的ATE 測試通道,去驅(qū)動激勵非邊界掃描邏輯電路,然后測試響應(yīng)。而且可以組合虛擬通道和真實的ATE 通道進行驅(qū)動和檢測。進行單個器件或集群(Cluster)測試時,關(guān)鍵的任務(wù)是定義測試目標的輸入和輸出。 煥?秎;v邀
四、邊界掃描的DFT 問題 句瘰#`
通過遵守一定的規(guī)程(DFT-Design for Testability,可測試的設(shè)計),可以大大減少生產(chǎn)測試的準備和實施費用。測試的設(shè)計需要增加成本和開發(fā)時間,然而,測試困難的設(shè)計的測試成本隨著測試級數(shù)的增加而加大;從在線測試到功能測試以及系統(tǒng)測試,測試費用越來越大。如果跳過其中一項測試,所耗費用甚至?xí)蟆R话愕囊?guī)則是每增加一級測試費用的增加系數(shù)是10 倍。通過測試友好的設(shè)計,可以及早發(fā)現(xiàn)故障,從而使測試友好的設(shè)計所費的費用迅速地得到補償。所以,可測試性的設(shè)計,雖然增加了設(shè)計成本,延長了產(chǎn)品的開發(fā)周期,但總起來看,還是創(chuàng)造了更多的附加價值。為了順利地實現(xiàn)邊界掃描的可測試,在產(chǎn)品科研開發(fā)階段,就必須有以下幾個方面的考慮。 ??波K颻?
1)元器件的選型 偛j&?W?
選擇IEEE 1149.1 兼容的器件:當前一些大規(guī)模的集成電路都帶有JTAG 接口,采用1149.1 兼容的器件,能增加邊界掃描測試的覆蓋率。 獼﹙3q陾h
所有IEEE 1149.1 兼容的器件必須支持強制的SAMPLE/PRELOAD,EXTEST 和BYPASS 指令,并最好也支持可選的HIGHZ IDCODE 指令。 T嶓 D╙犢
對于CPLD 器件,建議采用IEEE 1532 兼容器件,這樣可使來自不同廠家的CPLD 器件同時進行配置。 頖b?d膧粔
雙功能的JTAG 端口:盡量避免選擇帶雙功能JTAG 端口的器件。這些器件的雙功能引腳,在上電時默認為內(nèi)核功能模式,通過預(yù)定義的JTAG 使能引腳,將雙功能引腳切換到JTAG模式,因此,設(shè)計師必須確認在進行板級邊界掃描之前,能夠訪問和控制JTAG 使能端。 d鍡??
2)掃描鏈布局 ?痔?0%醪
JTAG 控制信號的連接:TCK、TMS 和可選的TRST 并行連接,TDI、TDO 信號將邊界掃描器件組成一個菊花鏈,如圖2 所示。 hu俥?釨赍
盡可能將邊界掃描鏈連接到邊緣連接器,這樣可不需要針床,避免因不清潔導(dǎo)致的接觸不良,有利于背板環(huán)境下的系統(tǒng)級訪問。如果實在不行,設(shè)法使相應(yīng)的具體的測試引線腳可以接觸(如測試數(shù)據(jù)輸入-TDI,測試數(shù)據(jù)輸出-TDO,測試鐘頻-TCK 和測試模式選擇-TMS以及可選項-TRST 測試復(fù)位)。 V愛 燙暟?
分區(qū):為了滿足第三方調(diào)試/仿真工具的要求,有些器件(如DSP)必須位于同一個分離鏈中。為了使不同的FPGA 和PLD 廠商的在系統(tǒng)配置軟件工具與各自器件良好通信,不同公司的器件必須位于不同鏈中。不同的邏輯系列器件(如cL/TTL)放在不同的鏈中。為有利于測試分區(qū)、診斷分辨率的提高或優(yōu)化測試向量的執(zhí)行,應(yīng)對器件進行分區(qū)。在系統(tǒng)環(huán)境中,提供到背板接口的器件應(yīng)進行分區(qū),這有利于進行板到板互連測試時優(yōu)化測試向量的執(zhí)行。 睒6€€kPM ?
對于高速的JTAG 應(yīng)用,如SDRAM 測試、FLASH 編程等,TCK 的速度高于10MHz,建議使用一個阻抗匹配的RC 網(wǎng)絡(luò)端接(通常采用60-100? 的電阻和100pF 的電容串接),所有其它的輸入使用一個弱的上拉電阻(10k?)。為了抑制反射,在菊花鏈的最后一個TDO 引腳串接一個22? 的電阻。 ?w蘝$鏭
通過放置一個0? 的旁路電阻,可實現(xiàn)對邊界掃描器件的物理旁路。有時由于上市時間的壓力,邊界掃描器件并未實現(xiàn)其功能和對其進行測試,如果它是掃描鏈中的一部分,將導(dǎo)致電路板上該鏈中的剩余器件無法進行邊界掃描測試。這時可以使用旁路電阻對單個器件和多個器件進行旁路。 {嶰鉌漚?f
最好對進入板上的所有IEEE 1149.1 輸入信號進行緩沖,以保證信號的完整性,特別是TCK 和TMS。一個通用的規(guī)則是,如果電路板線長度相對較短,74244 型緩沖器可扇出4~6個器件,如果緩沖器和邊界掃描器件間導(dǎo)線較長(大于10cm),建議一個緩沖器扇出1~2 個器件。 ?⒆(化p?
3)對非邊界掃描元器件的控制 !?@呟務(wù)幨
對非邊界掃描邏輯控制信號的訪問:為了防止測試時的信號競爭導(dǎo)致器件損壞或測試不可靠,非邊界掃描器件的控制信號必須連到邊界掃描單元,以實現(xiàn)對該器件的非使能控制。 殶??觬?lt;
時鐘信號的控制:有時需要對同步存儲器讀寫的時鐘信號進行控制,用測試時鐘替代或?qū)r鐘關(guān)斷。 2穩(wěn)#盿v皸
對連接器的測試,可將連接器的引腳接至邊界掃描器件的掃描單元,通過在連接器上外接的短接器,實現(xiàn)直通測試。 nR釀?f鴧?
五、結(jié)束語: @4G穉vjH[?
通過采用邊界掃描的測試技術(shù),可以消除或極大地減少對電路板上物理測試點的需要,從而使得電路板布局更簡單、測試夾具更廉價、電路中的測試系統(tǒng)耗時更少、上市時間更快,這樣就大大降低了成本。除了可以進行電路板測試之外,利用邊界掃描在 PCB 貼片之后,在電路板上對幾乎所有類型的 CPLD 和閃存可以進行在線寫入程序, 這在生產(chǎn)中有著非常廣泛的應(yīng)用。 桙}腉︳