韋翠榮,顏學(xué)龍,尚玉玲
(桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林541004)
邊界掃描測(cè)試生成與故障診斷的研究與實(shí)現(xiàn)
韋翠榮,顏學(xué)龍,尚玉玲
(桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林541004)
隨著電子技術(shù)的日益發(fā)展,電子電路系統(tǒng)的集成度和復(fù)雜性越來(lái)越高,邊界掃描技術(shù)應(yīng)用越來(lái)越廣泛。在研究邊界掃描基本結(jié)構(gòu)和測(cè)試原理的基礎(chǔ)上,給出互連測(cè)試矢量生成與故障診斷算法,對(duì)互連測(cè)試矢量生成和故障診斷進(jìn)行研究與實(shí)現(xiàn)。使用VS2008軟件作為平臺(tái)開(kāi)發(fā)邊界掃描測(cè)試系統(tǒng),采用走步1算法和改良計(jì)數(shù)算法進(jìn)行矢量的生成,并根據(jù)W步自適應(yīng)算法進(jìn)行故障診斷。結(jié)果表明,系統(tǒng)自動(dòng)生成的測(cè)試矢量測(cè)試時(shí)間短,效果好,故障診斷能力強(qiáng),診斷部分能夠消除征兆混淆和征兆誤判現(xiàn)象,對(duì)設(shè)置的故障能夠精確地定位和隔離。
邊界掃描;測(cè)試矢量;互連測(cè)試;故障診斷;測(cè)試系統(tǒng)
隨著微電子技術(shù)、微封裝技術(shù)和印制板制造技術(shù)的不斷發(fā)展,印制電路板變得越來(lái)越小,密度越來(lái)越大,復(fù)雜程度越來(lái)越高[1],傳統(tǒng)的測(cè)試方法難以為繼,一種新的測(cè)試方法——邊界掃描技術(shù)應(yīng)運(yùn)而生。邊界掃描技術(shù)作為標(biāo)準(zhǔn)化的數(shù)字電路測(cè)試及可測(cè)性方法[2]能夠有效地解決傳統(tǒng)測(cè)試方法的不足,在工業(yè)界得到普遍的認(rèn)同和支持。互連測(cè)試是邊界掃描技術(shù)的主要內(nèi)容之一,它能夠?qū)﹄娐钒逯g的互連線(xiàn)進(jìn)行測(cè)試,主要檢測(cè)電路板級(jí)的開(kāi)路、短路或者呆滯型等故障[3]。影響邊界掃描互連測(cè)試效率的關(guān)鍵之一是測(cè)試矢量的生成與故障診斷能力。因此如何縮短測(cè)試矢量生成時(shí)間,提高故障診斷能力,是目前亟需解決的問(wèn)題。
本文對(duì)邊界掃描互連測(cè)試矢量生成與故障診斷進(jìn)行研究與實(shí)現(xiàn),使用VS2008軟件作為平臺(tái)開(kāi)發(fā)邊界掃描測(cè)試系統(tǒng),并采用走步1算法和改良計(jì)數(shù)算法進(jìn)生成測(cè)試矢量,最后根據(jù)W步自適應(yīng)算法進(jìn)行故障診斷。走步1算法故障診斷能力強(qiáng)[4],改良計(jì)數(shù)算法緊湊性指標(biāo)高,而 W 步自適應(yīng)算法靈活性好。
2.1 邊界掃描技術(shù)的基本原理
邊界掃描測(cè)試的基本思想是在靠近器件的每一個(gè)輸入/輸出管腳處增加一個(gè)移位寄存器單元[5]。在正常工作期間,這些附加的移位寄存器單元是透明的,不影響電路板的正常工作。在測(cè)試期間,這些寄存器單元用于控制輸入管腳的狀態(tài),并讀出輸出管腳的狀態(tài),這樣就可測(cè)試出電路板中器件的好壞及相互連接的正確性[6]。IEEE1149.1標(biāo)準(zhǔn)[7-8]給出了邊界掃描測(cè)試的基本結(jié)構(gòu),如圖1所示。
圖1 邊界掃描基本結(jié)構(gòu)
測(cè)試存取端口(Test Access Port,TAP)、TAP控制器、指令寄存器和測(cè)試數(shù)據(jù)寄存器組是IEEE1149.1標(biāo)準(zhǔn)分成的4類(lèi)基本硬件單元。測(cè)試存取通道有1條輸出連接線(xiàn)和4條輸入連接線(xiàn)分別是:測(cè)試數(shù)據(jù)輸出線(xiàn)(Test Data Output,TDO),測(cè)試數(shù)據(jù)輸入線(xiàn)(Test Data Input,TDI),測(cè)試測(cè)試方式選擇輸入線(xiàn),時(shí)鐘輸入線(xiàn),測(cè)試復(fù)位輸入線(xiàn)。
2.2 互連測(cè)試原理
互連測(cè)試主要是指對(duì)電路板上器件之間互連線(xiàn)的測(cè)試。BS器件里的掃描單元就像虛擬探針,要測(cè)試BS器件之間的連線(xiàn)是否正常,可以通過(guò)給輸出型掃描單元賦值,從輸入型掃描單元捕獲這個(gè)值的方法進(jìn)行判斷[3]。圖2所示為互連測(cè)試的一個(gè)簡(jiǎn)單例子。
圖2 互連測(cè)試示例
輸入3組測(cè)試矢量(1,1,1,0)、(0,1,0,1)和(1,0,0,1),從接收掃描單元得到3組測(cè)試響應(yīng)(1, 1,1,0),(0,0,0,0)和(0,0,0,0)。根據(jù)一定的故障診斷算法就可以檢測(cè)到圖2中Net1和Net2存在邏輯與的橋接短路故障,Net4存在固定為0的呆滯型故障[9]。
邊界掃描測(cè)試系統(tǒng)是在VS2008編程軟件環(huán)境下運(yùn)用C++語(yǔ)言進(jìn)行編程。軟件部分可大致劃分為4個(gè)模塊:文本編譯模塊,測(cè)試矢量生成模塊,測(cè)試運(yùn)行模塊和故障診斷模塊。如圖3所示為互連測(cè)試系統(tǒng)框圖。
圖3 互連測(cè)試系統(tǒng)框圖
文本編譯模塊主要是對(duì)網(wǎng)表文件和BSDL文件進(jìn)行編譯,并將編譯好的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)里;測(cè)試矢量生成模塊主要是對(duì)文本編譯模塊提取的電路板信息進(jìn)行分析處理形成測(cè)試鏈路,并結(jié)合各種測(cè)試矢量算法形成互連測(cè)試矢量;測(cè)試運(yùn)行模塊主要是對(duì)電路板測(cè)試激勵(lì)進(jìn)行驅(qū)動(dòng)和測(cè)試響應(yīng)的回收;故障診斷模塊主要是對(duì)測(cè)試運(yùn)行的結(jié)果進(jìn)行分析,判斷電路有無(wú)故障,若存在故障,則對(duì)故障進(jìn)行精確定位。
3.1 測(cè)試文件分析
測(cè)試矢量生成需要由BSDL文件和網(wǎng)表文件提供相應(yīng)的被測(cè)板信息。文本編譯模塊部分主要是對(duì)這2種文件的信息進(jìn)行提取,它根據(jù)研究對(duì)象BSDL文件以及Protel網(wǎng)表文件自身結(jié)構(gòu)特點(diǎn),運(yùn)用flex軟件與bison軟件實(shí)現(xiàn)詞法分析、語(yǔ)法分析、信息儲(chǔ)存等功能,最后能夠?qū)δ繕?biāo)文件進(jìn)行全面、快速、準(zhǔn)確的解析。系統(tǒng)掃描編譯BSDL文件,形成了有關(guān)BSDL器件庫(kù)的信息,包括器件引腳信息、掃描單元信息、封裝信息和器件支持的指令集以及指令編碼;系統(tǒng)掃描編譯網(wǎng)表文件,形成了有關(guān)電路板網(wǎng)絡(luò)連接的信息,具體到一個(gè)網(wǎng)絡(luò)由哪一些器件-引腳組成[10]。
3.2 互連測(cè)試矢量生成算法
進(jìn)行矢量生成最關(guān)鍵的還是算法的確定,算法的選擇主要考慮2個(gè)方面的指標(biāo),即緊湊性指標(biāo)和完備性指標(biāo)。經(jīng)典的測(cè)試生成算法主要包括2種類(lèi)型:一種單純考慮測(cè)試向量集的緊湊性指標(biāo),以改良記數(shù)序列算法為代表;另一種單純考慮測(cè)試向量的故障診斷能力,以走步1算法為代表[11]?;ミB測(cè)試矢量常用的算法有走步1算法、走步0算法、改良記數(shù)序列算法、記數(shù)/補(bǔ)償、等權(quán)值算法等[3]??梢愿鶕?jù)被測(cè)電路的規(guī)模和不同的測(cè)試需求選用不同的基本算法。
采用走步1算法和改良計(jì)數(shù)算法生成矢量,下面對(duì)這2種算法進(jìn)行簡(jiǎn)單介紹,假設(shè)待測(cè)網(wǎng)絡(luò)數(shù)為n。
走步1算法:緊湊性指標(biāo)為n,其測(cè)試向量集為n階單位矩陣,如下所示:
改良計(jì)數(shù)算法:緊湊性指標(biāo)為p=lb(n+2),其測(cè)試矩陣如下所示:
以上矩陣為n行、p列。
3.3 互連測(cè)試矢量生成
生成互連測(cè)試矢量的流程如圖4所示。
圖4 互連測(cè)試矢量生成流程
具體步驟如下:
(1)提取被測(cè)電路板上所有BS器件的基本信息,形成掃描粗鏈。再提取每一個(gè)BS器件的7段碼信息,結(jié)合粗鏈形成掃描細(xì)鏈。
(2)提取網(wǎng)絡(luò)信息,將可測(cè)網(wǎng)絡(luò)提取出來(lái)并判斷它們的網(wǎng)絡(luò)類(lèi)型,采用適當(dāng)?shù)臏y(cè)試算法對(duì)這些網(wǎng)絡(luò)產(chǎn)生初始的測(cè)試矢量。
(3)將初始測(cè)試矢量在掃描鏈上展開(kāi)即給掃描單元賦值,得到整個(gè)掃描鏈的并行測(cè)試矢量(Parallel Test Vector,PTV)集和對(duì)應(yīng)的并行期望響應(yīng)矢量(Parallel Expect Response Vector,PERV)集。
3.4 故障診斷
系統(tǒng)進(jìn)行故障診斷即可得出互連測(cè)試結(jié)果。生成矢量采用的算法不同則診斷的方法也不同。采用走步1算法生成矢量,直接就可以分析出結(jié)果;采用改良計(jì)數(shù)算法,則使用W步自適應(yīng)算法進(jìn)行故障診斷[12]。2種方法各有優(yōu)缺點(diǎn),采用走步1算法生成矢量,其故障診斷能力強(qiáng)直接可以分析出結(jié)果,但是緊湊性指標(biāo)低;采用改良計(jì)數(shù)算法,緊湊性指標(biāo)高,但是若初級(jí)測(cè)試后還存在征兆誤判或混淆現(xiàn)象,那么還需要追加W步由走步1生成的矢量到被測(cè)電路板上,故障診斷能力弱。圖5所示為故障診斷流程。
圖5 故障診斷流程
具體的故障診斷步驟如下:
(1)判斷矢量生成采用何種算法。若采用改良計(jì)數(shù)算法就加載lb(n+2)個(gè)并行測(cè)試矢量(PTV)到被測(cè)板上,若采用走步1算法就加載n個(gè)并行測(cè)試矢量到被測(cè)板上。
(2)得到響應(yīng)結(jié)果后,將并行響應(yīng)矩陣中的向量與并行期望響應(yīng)矩陣中的向量進(jìn)行異或運(yùn)算,如下式所示。
(3)當(dāng)f(vx)=00…0H時(shí)電路無(wú)故障,當(dāng)f(vx)≠00…0H時(shí)電路存在故障。
(4)若步驟(3)分析得出電路無(wú)故障,進(jìn)入步驟(6)。若電路存在故障,記錄f(vx)中矢量位為字符“1”的位置(設(shè)為y),判斷矢量的值。當(dāng)00…0H時(shí),是固定為 0的呆滯型故障,進(jìn)入步驟(6)。當(dāng)時(shí),是固定為1的呆滯型故障,進(jìn)入步驟(6)。當(dāng)且時(shí),進(jìn)入步驟(5)。是串行響應(yīng)矩陣中的向量。
(5)若測(cè)試采用的是走步1算法,是橋接故障,進(jìn)入步驟(6)。若測(cè)試采用的是W步自適應(yīng)算法,檢測(cè)測(cè)試響應(yīng)矩陣中與相同的串行響應(yīng)矢量數(shù)目k。若k=1,是橋接故障,進(jìn)入步驟(6);若k>1,可能存在征兆混淆或誤判現(xiàn)象,識(shí)別出具備相同SRV的網(wǎng)絡(luò)子集R,令W=|R|。加載W個(gè)由走步1算法生成的矢量到被測(cè)板上,進(jìn)入步驟(2)。
(6)給出故障診斷報(bào)表。
測(cè)試中采用一塊實(shí)驗(yàn)板作為被測(cè)對(duì)象,搭建了一個(gè)簡(jiǎn)單的測(cè)試系統(tǒng)。該實(shí)驗(yàn)板主要由sn74bct8244和sn74bct8374兩塊邊界掃描芯片構(gòu)成,如圖6所示。為了方便對(duì)電路故障進(jìn)行模擬,在測(cè)試板上設(shè)置了4個(gè)開(kāi)關(guān),調(diào)節(jié)開(kāi)關(guān)F1、F3即可以完成對(duì)互連測(cè)試產(chǎn)生的故障進(jìn)行模擬。
圖6 實(shí)驗(yàn)板電路結(jié)構(gòu)
由于電路比較簡(jiǎn)單,因此采用走步1算法就能很快進(jìn)行測(cè)試和診斷。走步1算法得到的初始測(cè)試矢量在掃描鏈上展開(kāi)后得到的并行測(cè)試矢量PTV和并行期望響應(yīng)矢量PERV都保存到數(shù)據(jù)庫(kù)中,如圖7所示為存入數(shù)據(jù)庫(kù)的矢量集,其中,X代表任意值。
圖7 生成的測(cè)試矢量
調(diào)節(jié)開(kāi)關(guān) F1,使得網(wǎng)絡(luò) NetU1_16和網(wǎng)絡(luò)NetU1_17橋接短路,調(diào)節(jié)開(kāi)關(guān)F3,使得網(wǎng)絡(luò)NetU1_ 15與地短路。在 EXTEST指令有效狀態(tài)下,進(jìn)入Shift_DR狀態(tài),將測(cè)試矢量(PTV)從TDI端輸入,通過(guò)邊界掃描通路將測(cè)試矢量串行加到sn74bct8244和sn74bct8374的邊界掃描單元中,進(jìn)入U(xiǎn)pdate_DR狀態(tài),sn74bct8244和sn74bct8374邊界掃描單元中的數(shù)據(jù)鎖存輸出到輸出管腳上,進(jìn)入Capture_DR狀態(tài),sn74bct8374把輸入管腳的數(shù)據(jù)捕捉到相應(yīng)的邊界掃描單元,進(jìn)入 Shift_DR狀態(tài),sn74bct8244和sn74bct8374邊界掃描單元中的數(shù)據(jù)從TDO端串行輸出。
最后得出的結(jié)果分析如表1所示,由于版面有限只列出前3組。
表1 矢量結(jié)果比較
通過(guò)故障診斷算法快速檢測(cè)到網(wǎng)絡(luò)NetU1_16和網(wǎng)絡(luò)NetU1_17橋接短路,網(wǎng)絡(luò)NetU1_15與地短路,結(jié)果和假設(shè)的一樣。結(jié)果如圖8所示。
圖8 故障診斷結(jié)果
上述驗(yàn)證結(jié)果表明,測(cè)試系統(tǒng)生成矢量快速,測(cè)試時(shí)間短,故障檢測(cè)率高。相對(duì)于傳統(tǒng)的測(cè)試系統(tǒng),該系統(tǒng)嵌入數(shù)據(jù)庫(kù)提高了數(shù)據(jù)提取和處理速度,采用的測(cè)試算法故障診斷能力強(qiáng),消除了許多算法不能消除的征兆混淆現(xiàn)象和誤判現(xiàn)象,故障檢測(cè)率高達(dá)100%。與傳統(tǒng)的診斷算法相比,本文采用的診斷算法靈活性強(qiáng),根據(jù)不同的測(cè)試生成算法,能夠采取不同的診斷方法。
本文給出互連測(cè)試矢量生成與診斷算法,能夠?qū)?shí)驗(yàn)板預(yù)設(shè)故障進(jìn)行檢測(cè)與定位,快速地完成測(cè)試任務(wù)。實(shí)驗(yàn)結(jié)果表明,該方法具有測(cè)試成本低、生成矢量故障覆蓋率高及操作簡(jiǎn)便等優(yōu)點(diǎn)。系統(tǒng)實(shí)現(xiàn)采用VS2008軟件開(kāi)發(fā)平臺(tái),運(yùn)用模塊化和面向?qū)ο笤O(shè)計(jì)的方法,為建立具有擴(kuò)展性和復(fù)用性的自動(dòng)測(cè)試系統(tǒng)提供有力手段,實(shí)現(xiàn)系統(tǒng)的自動(dòng)高效檢測(cè)。
[1] 孫媛媛.FPGA的邊界掃描測(cè)試方法研究[D].哈爾濱:哈爾濱工程大學(xué),2004.
[2] 賈 勇.FPGA連線(xiàn)資源的自適應(yīng)診斷算法研究[D].哈爾濱:哈爾濱工程大學(xué),2005.
[3] 張學(xué)斌.基于JTAG的互連測(cè)試技術(shù)[J].今日電子, 2004,(4):5-6.
[4] 張學(xué)斌.基于邊界掃描技術(shù)的互連測(cè)試[J].電子元器件應(yīng)用,2005,7(3):45-46.
[5] 潘小龍.基于邊界掃描技術(shù)的測(cè)試系統(tǒng)的研究與應(yīng)用[D].南京:南京航空航天大學(xué),2008.
[6] 彭喜元,俞 洋,孫 寧.邊界掃描技術(shù)的板級(jí)實(shí)現(xiàn)方法研究[J].電子測(cè)量與儀器學(xué)報(bào),2004,(z1):17-20.
[7] IEEE.IEEE Std 1149.1-1990 IEEE Standard Test Access Port and Boundary——Scan Architecture[S]. 1990.
[8] IEEE.IEEE Std 1149.1-2001 IEEE Standard Test Access Port and Boundary Scan Architecture[S].2001.
[9] 王新玲,王 紅,封錦琦.基于邊界掃描的互連測(cè)試技術(shù)實(shí)現(xiàn)[J].測(cè)控技術(shù),2012,31(z1):245-247.
[10] 羅秋明.基于BSDL和Protel網(wǎng)表的BST向量生成軟件[J].計(jì)算機(jī)應(yīng)用與軟件,2008,20(1):66-68.
[11] 胡 政,錢(qián)彥嶺,溫熙森.邊界掃描測(cè)試優(yōu)化算法——極小權(quán)值-極大相異性算法[J].測(cè)控技術(shù),2000, 19(9):9-11.
[12] 周清林.基于電路板互連的自適應(yīng)測(cè)試生成算法研究與實(shí)現(xiàn)[D].桂林:桂林電子科技大學(xué),2003.
編輯 顧逸斐
Research and Implementation of Boundary Scan Test Generation and Fault Diagnosis
WEI Cuirong,YAN Xuelong,SHANG Yuling
(School of Electronic Engineering and Automation,Guilin University of Electronic Technology,Guilin 541004,China)
With the development of electronic technology,integration and complexity of electronic circuit system are increasingly higher.Boundary scan technology is more and more widely applied in electronic circuit system test.Based on the basic structure and principle of the boundary scan,this paper gives the algorithm of interconnect test vector generation and fault diagnosis,to research and implement interconnect test vector generation and fault diagnosis.In the paper, VS2008 software as a platform is used to develop a boundary scan test system,Walk-1 algorithm and MCSA algorithm are used to generate the vector,and the W step adaptive algorithm is used for fault diagnosis.Experimental results show that the test vector generated by system automatically has a short test time and a good test effect and its ability of fault diagnosis is strong.Diagnosis part can eliminate the confusion and misjudgment phenomenon,and the set fault can be accurate location and isolation.
boundary scan;test vector;interconnect test;fault diagnosis;test system
1000-3428(2015)01-0303-06
A
TP274
10.3969/j.issn.1000-3428.2015.01.057
國(guó)家自然科學(xué)基金資助項(xiàng)目(61102012)。
韋翠榮(1987-),女,碩士,主研方向:邊界掃描技術(shù),計(jì)算機(jī)輔助測(cè)試;顏學(xué)龍、尚玉玲,教授。
2014-02-24
2014-03-22 E-mail:1163511219@qq.com
中文引用格式:韋翠榮,顏學(xué)龍,尚玉玲.邊界掃描測(cè)試生成與故障診斷的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2015,41(1): 303-308.
英文引用格式:Wei Cuirong,Yan Xuelong,Shang Yuling.Research and Implementation of Boundary Scan Test Generation and Fault Diagnosis[J].Computer Engineering,2015,41(1):303-308.