1 引言
國(guó)內(nèi)從90年代中期開始研究邊界掃描技術(shù),取得了一定的成果,但多是對(duì)完全BS (boundary scan)器件的邊界掃描測(cè)試,對(duì)由非BS器件組成的邏輯簇的測(cè)試還鮮見報(bào)道。本文所介紹的基于邊界掃描的邏輯簇測(cè)試診斷軟件以Borland C++ Builder為開發(fā)工具,能夠自動(dòng)產(chǎn)生邏輯簇的串行測(cè)試矢量,準(zhǔn)確進(jìn)行故障定位,并附加有邊界掃描結(jié)構(gòu)完備性測(cè)試功能模塊,提高了測(cè)試可靠性。
2 邏輯簇測(cè)試診斷軟件設(shè)計(jì)
一個(gè)邊界掃描測(cè)試診斷過程可以簡(jiǎn)述為:首先輸入測(cè)試矩陣進(jìn)行激勵(lì),然后輸出響應(yīng)矩陣,最后通過分析響應(yīng)矩陣就可達(dá)到對(duì)故障進(jìn)行診斷定位的目的。所以說,故障診斷問題就集中在測(cè)試矩陣的構(gòu)造、列測(cè)試向量的并行加載、列響應(yīng)向量的并行采集和響應(yīng)矩陣的分析上。我們?cè)谶M(jìn)行軟件設(shè)計(jì)時(shí),利用并行測(cè)試矢量描述與簇描述文件來構(gòu)造完備的測(cè)試矩陣,將其以串行掃描方式由邊界掃描器件的TDI經(jīng)BS鏈路串行移位送到與邏輯簇相連的相應(yīng)BSC,然后通過TMS發(fā)送測(cè)試控制命令,經(jīng)TAP控制器控制BSC完成測(cè)試碼的并行加載和響應(yīng)碼的并行采集。測(cè)試響應(yīng)碼則經(jīng)BS鏈路串行移位從邊界掃描器件的TDO送到測(cè)試機(jī)處理得到響應(yīng)矩陣,最后通過對(duì)響應(yīng)矩陣的分析來進(jìn)行邏輯簇電路故障的診斷定位。
2.1 軟件設(shè)計(jì)流程圖
邏輯簇測(cè)試的程序流程圖如圖1所示,其中各步驟的具體作用如下。
?
邊界掃描信息數(shù)據(jù)選擇與設(shè)置:設(shè)置PCB板邊界掃描鏈的組成、選擇PCB板的網(wǎng)絡(luò)表、選擇各BS器件的BSDL信息、選擇被測(cè)邏輯簇描述文件、輸入其并行測(cè)試矢量描述文件。
編譯信息:從BS器件信息數(shù)據(jù)庫(kù)中讀取各芯片的邊界掃描長(zhǎng)度、指令碼、邊界掃描單元總數(shù)、邏輯簇與BS器件互連網(wǎng)絡(luò)總數(shù)及各網(wǎng)絡(luò)的組成,并根據(jù) PCB板的BS鏈組成給各BSC從最靠近TDO端開始編排序號(hào),然后譯出加載診斷矩陣和采集響應(yīng)結(jié)果的對(duì)應(yīng)BSC序號(hào)。
生成測(cè)試矩陣:根據(jù)邏輯簇與BS器件互連網(wǎng)絡(luò)總數(shù)及各網(wǎng)絡(luò)的組成,結(jié)合邏輯簇的并行測(cè)試矢量或簇描述文件,利用測(cè)試生成算法生成測(cè)試矢量集,構(gòu)成測(cè)試矩陣。
邊界掃描結(jié)構(gòu)完備性檢查:進(jìn)行邊界掃描寄存器、指令寄存器等寄存器的功能測(cè)試和各TAP端口信號(hào)故障測(cè)試。
TAP控制器復(fù)位并控制其進(jìn)入移位指令寄存器狀態(tài):在測(cè)試時(shí)鐘的上升沿發(fā)送“11111”到TMS引腳,掃描鏈所有芯片TAP控制器處于復(fù)位狀態(tài)。然后再次發(fā)送“01100”到TMS引腳,TAP控制器進(jìn)入移位指令寄存器狀態(tài)。
選擇邊界掃描寄存器連接在掃描鏈上:從TDI 引腳發(fā)送各芯片的SAMPLE指令至各芯片的指令寄存器。在測(cè)試時(shí)鐘的上升沿發(fā)送 “11100”到TMS端,各芯片選擇邊界掃描寄存器連接在掃描鏈上, TAP控制器進(jìn)入移位數(shù)據(jù)寄存器狀態(tài)。
測(cè)試矢量輸入掃描鏈并串行移位到相應(yīng)BSC:讀取測(cè)試矢量集中的列向量送入對(duì)應(yīng)邊界掃描單元(即邏輯簇的虛擬輸入端)等待加載。
向掃描鏈各BS器件輸入對(duì)應(yīng)的EXTEST指令:在測(cè)試時(shí)鐘的上升沿發(fā)送“111100”至TMS端,TAP控制器進(jìn)入移位指令寄存器狀態(tài),發(fā)送各芯片 EXTEST指令至各芯片的指令寄存器。發(fā)送“111100”至TMS端,通過各芯片輸出端口上的BSC將數(shù)據(jù)加載到網(wǎng)絡(luò),TAP控制器處于移位指令寄存器狀態(tài)。
掃描鏈各BS器件輸入對(duì)應(yīng)的SAMPIE指令:發(fā)送各芯片的SAMPLE指令至指令寄存器。在測(cè)試時(shí)鐘的上升沿發(fā)送“11100”至TMS端,各芯片從互連網(wǎng)絡(luò)上獲取數(shù)據(jù)并存入輸入端口的BSC中,各芯片TAP控制器進(jìn)入移位數(shù)據(jù)寄存器狀態(tài)。
從邊界掃描鏈TDO端串行輸出響應(yīng)數(shù)據(jù)并存儲(chǔ):連續(xù)發(fā)送N(BSC總數(shù))個(gè)測(cè)試時(shí)鐘到TCK端,并在每個(gè)測(cè)試時(shí)鐘的下降沿采集TDO引腳移出的數(shù)據(jù),提取并保存各邏輯簇虛擬輸出端對(duì)應(yīng)的響應(yīng)數(shù)據(jù)構(gòu)成響應(yīng)向量。
組成響應(yīng)矩陣分析測(cè)試結(jié)果:將所有的響應(yīng)向量組成響應(yīng)矩陣,與正確測(cè)試響應(yīng)相比較和分析,判斷邏輯簇是否存在故障。
2.2 邏輯簇測(cè)試的設(shè)置
在進(jìn)行邊界掃描測(cè)試時(shí),首先要對(duì)測(cè)試矢量自動(dòng)生成所需的若干信息進(jìn)行設(shè)置。對(duì)于BS器件之間的互連測(cè)試,其設(shè)置只需填寫掃描鏈信息和選擇網(wǎng)絡(luò)表文件。而對(duì)邏輯簇的測(cè)試因?yàn)樯婕暗酱氐亩x及針對(duì)其功能的并行測(cè)試矢量,設(shè)置所需信息相對(duì)復(fù)雜,包括有:
?、艗呙桄溌返慕M成芯片、各芯片的邊界掃描指令與其BSC單元信息;
?、票粶y(cè)電路板的網(wǎng)絡(luò)表文件*.edf;
?、沁壿嫶氐牟⑿袦y(cè)試矢量描述文件*.vdf;
⑷簇描述文件*.cld。
?
本軟件邏輯簇設(shè)置界面如圖2所示。掃描鏈路設(shè)置要依次選擇或填寫組成掃描鏈的芯片總數(shù)、芯片序號(hào)(第*片)、芯片標(biāo)稱(網(wǎng)絡(luò)表中芯片的名稱 U1、U2等)以及芯片的具體名稱和相關(guān)邊界掃描信息。芯片的邊界掃描相關(guān)信息是一個(gè)可以編輯、增添、修改信息的數(shù)據(jù)庫(kù),選擇了芯片名稱即可調(diào)用其數(shù)據(jù)庫(kù)信息。“邏輯簇測(cè)試選擇”一欄用來選擇被測(cè)的是單個(gè)非BS器件還是由非BS器件組成的簇,對(duì)于單個(gè)非BS器件,只需填寫器件標(biāo)稱,而對(duì)于簇測(cè)試,還需編寫一個(gè)定義簇的輸入輸出、端口名稱的簇描述.cld(cluster description)文件。另外,它們的并行測(cè)試矢量文件.vdf(vector description file)也需由用戶編寫輸入。cld與vdf文件都是自行設(shè)計(jì)的有一定語(yǔ)法規(guī)范的的文件編輯格式,簡(jiǎn)捷易用,用戶只需了解邏輯簇的組成和功能就可以容易地編輯。
邏輯簇測(cè)試所有信息選擇填寫完成后,點(diǎn)擊 “確定”開始測(cè)試或選擇“保存設(shè)置”、“載入設(shè)置”等命令。
3 邏輯簇測(cè)試實(shí)例驗(yàn)證
3.1 試驗(yàn)板結(jié)構(gòu)
為研制基于邊界掃描的邏輯簇測(cè)試診斷軟件,我們?cè)谝粔K帶有示范性的試驗(yàn)板上對(duì)某邏輯簇進(jìn)行了測(cè)試實(shí)例驗(yàn)證。被測(cè)邏輯簇為試驗(yàn)板的一部分,其電路如圖3所示。試驗(yàn)板采用了邊界掃描測(cè)試性設(shè)計(jì)技術(shù),邏輯簇器件74LS04(U 5)的輸入輸出管腳均與BS器件U1、U 2(Altera公司的EPM7128SL84)相連,因而可以把U 1、U2的邊界掃描單元作為其虛擬測(cè)試點(diǎn),實(shí)現(xiàn)了可觀性、控制性。開關(guān)K1用來控制U1與U5 連線的通斷,以模擬U5的故障情況。
?
3.2 測(cè)試矢量的加載
本試驗(yàn)中,74LS04的6個(gè)輸入管腳1、3、5、 9、11、13與U1的63、64、65、67、68、69管腳相連,其對(duì)應(yīng)的輸出型BSC序號(hào)為53、56、59、65、 71、74;74LS04的6個(gè)輸出管腳2、4、6、8、10、12與U 2的63、64、65、67、68、69管腳相連,其對(duì)應(yīng)的輸入型BSC序號(hào)為72、69、63、57、54、51。
74LS04是一個(gè)簡(jiǎn)單的非邏輯,輸入管腳1、3、 5、9、11、13與輸出管腳2、4、6、8、10、12對(duì)應(yīng)為反,對(duì)它的功能測(cè)試比較簡(jiǎn)單,且故障能夠定位到它與U1、U2的連線。其測(cè)試矢量應(yīng)先給各輸入端賦值0,輸出端應(yīng)該輸出1;再給各輸入端賦值1,輸出端應(yīng)該輸出0。如果某一對(duì)端口不能完成此測(cè)試,而其它端口可以,則說明這一對(duì)端口與U1 或U2的連線有故障;若全部邏輯不符,則說明芯片 74LS04出故障。首先按照并行測(cè)試矢量文件VDF的語(yǔ)法格式,根據(jù)以上邏輯編寫出邏輯簇的并行測(cè)試矢量文件(此處略)。
為利用U1的BSC單元把測(cè)試矢量加載至U5,首先要由網(wǎng)絡(luò)表和BSDL編譯函數(shù)把并行測(cè)試矢量加載到與U 5相連的U1對(duì)應(yīng)管腳的輸出型BSC單元。U5的 I/O管腳是三態(tài)管腳,其每個(gè)管腳對(duì)應(yīng)的BSC單元控制必須賦輸出允許值“1”,經(jīng)過軟件的網(wǎng)絡(luò)表和BSDL 編譯分析,最終從TDI輸入U(xiǎn)1的第一組串行測(cè)試矢量為“111…0110110111110111110110…111”,這樣,序號(hào)為53、56、59、65、71、74的U1的BSC單元賦值為0,其余為1。第二組串行測(cè)試矢量為“111…111”,即全1。
3.3 測(cè)試響應(yīng)的輸出
在指令移位狀態(tài)下輸入EXTEST指令“0000000000”,U 1將測(cè)試矢量加到U5的輸入端,U5完成各輸入端邏輯非的功能,輸出端得到對(duì)激勵(lì)的響應(yīng)。同時(shí)U2捕獲U5輸出管腳的數(shù)據(jù),送入U(xiǎn) 2對(duì)應(yīng)管腳的輸入型BSC單元。控制TMS,轉(zhuǎn)換至數(shù)據(jù)移位狀態(tài),串行輸出U2的288個(gè)BSC單元值,對(duì)第一組串行測(cè)試矢量的輸出響應(yīng)如圖4(a)。經(jīng)過對(duì)TDO值的分析編譯,從中提取出U 5輸出管腳2、4、6、8、10、12對(duì)應(yīng)的值為全“1”,說明第一組測(cè)試無故障。用同樣的控制過程得到TDO對(duì)第二組串行測(cè)試矢量的輸出響應(yīng)如圖4(b)。
?
同樣對(duì)TDO值進(jìn)行分析編譯,從中提取出U5輸出管腳2、4、6、8、10、12對(duì)應(yīng)的值為全“0”,第二組測(cè)試亦無故障。軟件輸出互連網(wǎng)絡(luò)完好的結(jié)果提示。
為模擬邏輯簇的故障情況,用開關(guān)K 1斷開U1與U5的兩條連線,重復(fù)以上測(cè)試過程,通過對(duì)測(cè)試矢量和測(cè)試響應(yīng)的對(duì)比分析,可以準(zhǔn)確地將故障定位到斷開的連線上。另外,邏輯簇測(cè)試前需執(zhí)行邊界掃描結(jié)構(gòu)完備性測(cè)試程序,具體過程請(qǐng)參見文獻(xiàn)[2]。
4 結(jié)束語(yǔ)
本文詳細(xì)介紹了基于邊界掃描的邏輯簇測(cè)試診斷軟件的設(shè)計(jì)原理、流程圖與應(yīng)用,并通過測(cè)試實(shí)例初步驗(yàn)證了軟件的有效性與可靠性。但由于邏輯簇的復(fù)雜不一、串/并行測(cè)試矢量相結(jié)合的工作方式,不可避免地會(huì)帶來掃描鏈管理、器件隔離等諸多問題,它們?cè)谲浖{(diào)試過程中也時(shí)有發(fā)生,如何解決這些問題我們將在后續(xù)工作中繼續(xù)研究。
評(píng)論
查看更多