基于邊界掃描技術(shù)的電路板可測性設(shè)計分析
現(xiàn)代電子技術(shù)的高速發(fā)展對傳統(tǒng)的電路測試技術(shù)提出了新的挑戰(zhàn)。器件封裝的小型化、表面貼裝(SMT)技術(shù)的應(yīng)用,以及由于板器件密度的加大而出現(xiàn)的多層印制板技術(shù)使得電路節(jié)點的物理可訪問性逐步減低,原來借助于針床的在線測試(ICT)的局限性日益增大。電路和系統(tǒng)可測試性的急劇降低導(dǎo)致測試費用占電路和系統(tǒng)總費用的比重越來越高。人們已意識到,單靠改善測試方法來實現(xiàn)電路的測試及故障診斷是遠(yuǎn)遠(yuǎn)不夠的。要從根本上解決問題,提高電路的可觀測性和可控制性,在電路系統(tǒng)設(shè)計之初就要充分考慮測試及故障診斷的要求,即進(jìn)行可測性設(shè)計(design-for-testability,DFT)?;贗EEE 1149.1標(biāo)準(zhǔn)(又被稱為JTAG協(xié)議)制定的邊界掃描技術(shù)是對DFT的一個飛躍發(fā)展。邊界掃描技術(shù)的應(yīng)用使得電路板上需要的測試節(jié)點數(shù)目減少,用于測試夾具的費用減少,比傳統(tǒng)的ICT測試節(jié)省了時間,縮短了產(chǎn)品推向市場的周期。另外,邊界掃描也支持CPLD、FPGA和Flash的
在線編程(ISP)。但是,在現(xiàn)實情況中,真正考慮到邊界掃描測試的電路設(shè)計并不普遍。本文以對一個目標(biāo)板所作的測試工作為例,探討了在把邊界掃描機(jī)制引入電路設(shè)計的前提下,如何增加板級互連的故障診斷覆蓋率。
1 邊界掃描機(jī)制的引入
邊界掃描技術(shù)的基本思想是在芯片管腳和內(nèi)部邏輯之間增加了串聯(lián)在一起的移位寄存器組,在邊界掃描測試模式下,寄存器單元在相應(yīng)的指令下控制引腳狀態(tài),從而對外部互連及內(nèi)部邏輯進(jìn)行測試。邊界掃描結(jié)構(gòu)定義了4個基本硬件單元:測試存取口(TAP)、TAP控制器、指令寄存器和測試數(shù)據(jù)寄存器組。其中,TAP一般包括4條測試總線:測試數(shù)據(jù)輸入總線(TDI)、測試數(shù)據(jù)輸出總線(TDO)、測試模式選擇總線(TMS)和測試時鐘輸入總線(TCK)。還有一個可選擇的測試復(fù)位輸入端(TRST*)。FAP控制器是邊界掃描的核心部分,整個測試邏輯都是由它按一定順序調(diào)用的。在測試時鐘TCK的作用下,從TDI加入的數(shù)據(jù)可以在移位寄存器鏈中移動進(jìn)行掃描。
目標(biāo)板是一個中央資源板子系統(tǒng),其結(jié)構(gòu)如圖1所示。主要作用是為數(shù)字通道子系統(tǒng)提供精確的時序信息,為數(shù)字通道板之間提供定時和控制信號,分析處理數(shù)字通道子系統(tǒng)和探筆子系統(tǒng)返回的數(shù)據(jù)。該電路板上有4個邊界掃描器件:EPLD(EPM7256AETC144)、FPGA(EP1S25F780)、Flash EPROM(EPC8)和DSP(TMS320C6203B)。
在電路設(shè)計時,引入邊界掃描結(jié)構(gòu)首要考慮的問題就是盡可能地選擇符合IEEE 1149.1標(biāo)準(zhǔn)的器件。目前大部分VLSI器件都帶邊界掃描結(jié)構(gòu),而對于小型芯片,在實現(xiàn)的功能相同的前提下,要盡量選用符合IEEE 1149.1標(biāo)準(zhǔn)的。
在此目標(biāo)板上,我們將Flash EPROM(N30)、DSP(N31)、EPLD(N14)和FPGA(N24)依次連接起來,成為一個完整的掃描鏈路。TAP控制信號(TCK、TMS、TRST*)并聯(lián),前一器件的TDO和后一器件的TDI依次連接成鏈。其中只有DSP有TRST*信號。對于TRST*信號,因為它是低電平有效,若在器件內(nèi)部或者電路板上已經(jīng)上拉,則在測試時可以不加以控制。而在該目標(biāo)板的DSP內(nèi)部此引腳處于下拉狀態(tài),為使其進(jìn)人邊界掃描狀態(tài),必須外加激勵信號,因此本文把它單獨引出來。如圖2所示。
為保證信號的完整性,本文對來自測試裝置的主TAP控制信號進(jìn)行了緩沖處理,同時用上拉電阻將TDI、TMS信號拉至邏輯1狀態(tài),將TCK下拉接地。另外,在最后一個器件的TDO和被測板的TDO端口之間放置一個20 Ω的電阻以衰減反射。緩沖器類型的選用要參考電路板上器件的電平類型。如圖3所示,被測板上邊界掃描器件工作電壓為3.3 V,本文選用的緩沖器SN74LV244的工作電壓為2.7 V~5.5 V,可以滿足需要。
這樣做可以解決測試裝置和被測板之間的阻抗不匹配及提升TCK的速度,可增加測試裝置和被測板之間電纜的長度,也使得在測試裝置和被測板間的電纜沒有連接的情況下,功能模式和測試模式時信號可以保持安全狀態(tài)。
2 電路板互連測試
BSDL(boundary scan description language)是硬件描述語言(VHDL)的一個子集,是對邊界掃描器件的邊界掃描特性的描述,主要用來溝通邊界掃描器件廠商、用戶與測試工具之間的聯(lián)系。每一個邊界掃描器件都附有特定的BSDL文件。在測試進(jìn)行之前,有必要查看電路板上邊界掃描器件的BSDL文件,以確保器件能夠正常地進(jìn)入到邊界掃描測試狀態(tài)。以N24為例,其BSDL文件中提到:
attribute COMPLIANCE _ PATTERNS ofTMS320C6203:entity is“(EMU1,EMU0)(00)”;
由此可知,器件的EMU1和EMU0引腳處于邏輯0狀態(tài)時,器件才能處于邊界掃描模式。這種引腳被稱為邊界掃描服從使能引腳(簡稱為BSCE引腳)。因此本文通過跳線將EMU0和EMU1接地。
另外,如果器件除了支持取樣/預(yù)載(SAMPLE/PRELOAD)、互連測試(EXTEST)、旁路(BYPASS)這些IEEE 1149.1強(qiáng)制的指令外,還支持IDCODE、CLAMP、HIGHZ等指令,就能給測試帶來更多方便。有些器件,內(nèi)部功能不同但有著相同的封裝,IDCODE指令能對此加以很好的區(qū)分,確保正確的器件安裝在正確的位置。CLAMP和HIGHZ指令可以使器件的輸出引腳處于一個固定狀態(tài),從而避免總線競爭。
2.1 掃描鏈完整性測試
掃描鏈連接完畢后,為保證后續(xù)工作的進(jìn)行,要測試它的連通性,包括BYPASS測試和IDCODE測試。在TAP控制器處于復(fù)位狀態(tài)時,BST電路無效。器件已處于正常工作狀態(tài),這時指令寄存器也已完成了初始化。如果器件支持IDCODE,則初始化的指令為IDCODE,否則為BYPASS。在TCK控制下,IDCODE或BYPASS寄存器中的內(nèi)容就從TDO端口移出,測試軟件將讀到的數(shù)據(jù)與正確數(shù)據(jù)對比,從而判定掃描鏈的通斷和器件型號的正確性。對于BYPASS測試,器件的BYPASS寄存器初始值為0;對于IDCODE測試,器件的標(biāo)準(zhǔn)IDCODE從BSDL文件中提取。
2.2 包含非邊界掃描器件的互連測試
對于一個電路板來說,相當(dāng)部分的器件都是非邊界掃描器件,如何有效利用掃描鏈來測試連接在邊界掃描器件之間的非邊界掃描器件是提高故障覆蓋率的關(guān)鍵??梢哉f,故障覆蓋率與邊界掃描器件的邊界掃描寄存器提供給非邊界掃描器件的可控制性和可觀測性的程度息息相關(guān)。
2.2.1 可控制性的提高
為了增加可控制性,對于非邊界掃描器件的重要的控制信號,如片選端和使能端,盡可能地直接控制,或者通過邊界掃描器件的邊界掃描單元進(jìn)行控制。這樣在測試時,為了避免信號沖突可以把相應(yīng)的器件禁用或者改變信號輸入輸出的方向。如圖4所示,器件N17(SN74LVC4245A)的/OE端和DIR端與N14(EPLD)的引腳相連。N50(74F245)的/E端也受N14控制,而DIR端接地,N50的/E端選通時,固定的B端為輸入而A端為輸出。N17和N50的A端引腳共享VXI總線的D00-D07,但B端引腳分別連在不同的總線上。如果N17的/OE端選通,DIR端置0時,A端為輸入,與N50的A端為輸出相矛盾;DIR端置1時,B端為輸入,不同的總線信號發(fā)送到同一引腳上,引起沖突。因此,通過N14的BS引腳控制N17和N50,讓兩個器件不同時選通,使測試順利進(jìn)行。
2.2.2 可觀測性的提高
為了增加可觀測性,本文要給測試軟件提供這些非邊界掃描器件的基本信息,如器件的電源Vcc和接地GND引腳、I/O引腳的性質(zhì)(是輸入、輸出、三態(tài)輸出還是雙向的)、器件的邏輯功能等,也就是對非邊界掃描器件進(jìn)行建模,編寫測試軟件能識別的MODEL。以74F245為例,其MODEL如下:
在此MODEL中,描述了器件的引腳性質(zhì)及各種狀態(tài)下的邏輯功能。MODEL被分成了若干PART,要根據(jù)電路板上器件的具體連接情況來選取相應(yīng)的PART。對于N50和N51來說,因DIR引腳接地,固定為低,我們就選取PARTBtoA_with_DIR_fixed
在做互連測試時,建模的器件越多,故障覆蓋率就越高。本文做了一個對比實驗。如圖5所示。N14的109、110和111這3個引腳分別與3個上拉電阻相連,同時與插針J6相連。通過跳線可以使3個引腳處于001~111這7個狀態(tài)中的某一個,從而確定被測板電路響應(yīng)VXI總線中7根中斷線中的某一根。在向測試軟件輸入被測板的信息時,我們默認(rèn)109~111這3個引腳正常狀態(tài)為邏輯高。那么,當(dāng)我們用跳線將J6的1、2 腳短接時,就人為制造了N14的109腳與地短路的故障。
第一階段,本文只對電路板上的179個電阻進(jìn)行了建模,測試得到的與邊界掃描器件引腳相關(guān)的故障覆蓋率為56.78%,沒有檢測到故障。第二階段,本文在第一階段的基礎(chǔ)上又對39個與邊界掃描器件相連的非邊界掃描器件進(jìn)行建模,測試得到的故障覆蓋率為67.03 %,有了明顯提高,且故障檢出,結(jié)果顯示如圖6所示。
3 結(jié)束語
復(fù)雜數(shù)字電路板的可測試性設(shè)計是電路和器件設(shè)計領(lǐng)域研究的重要課題。本文介紹了通過在復(fù)雜數(shù)字電路板中設(shè)計和利用器件的邊界掃描結(jié)構(gòu),提高電路板的可測試性,及通過增加邊界掃描器件對非邊界掃描器件的可控制性與可觀測性,獲得更高的故障診斷覆蓋率的方法。
邊界掃描技術(shù)實現(xiàn)了可測性設(shè)計的一次變革,但它并不能解決所有的可測性問題。邊界掃描的長處在于器件引腳之間的互連測試。由于TCK速度的限制,邊界掃描對于器件內(nèi)部的動態(tài)故障顯得無能為力。而自建內(nèi)測試技術(shù)(BIST)則是針對器件功能性測試的。把BIST結(jié)構(gòu)置入芯片內(nèi),結(jié)合IEEE 1149.1中可選擇的RUNBIST指令可以達(dá)到高的故障覆蓋率。因此,要全方位地對故障類型進(jìn)行考慮,利用現(xiàn)有的DFT技術(shù),混合采用傳統(tǒng)的ICT,取長補(bǔ)短,才能更好地解決DFT問題,當(dāng)代的ICT設(shè)備,大多也都支持邊界掃描測試。
評論