摘要:本文設(shè)計(jì)了一套基于邊界掃描的電路板快速測(cè)試系統(tǒng),該系統(tǒng)利用計(jì)算機(jī)并行端口,通過(guò)適配器發(fā)送,、接收測(cè)試向量,然后對(duì)采集數(shù)據(jù)進(jìn)行分析,顯示測(cè)試結(jié)果,。本文主要介紹了該系統(tǒng)的硬件結(jié)構(gòu)、軟件思想和診斷策略,。經(jīng)實(shí)驗(yàn),該系統(tǒng)能夠?yàn)榫S修人員提供有力的支持,。
1 引 言
隨著電子技術(shù)的不斷發(fā)展,,電子設(shè)備中越來(lái)越多的使用大規(guī)模可編程數(shù)字邏輯器件,,如 FPGA 等,。這種器件的使用提高了電子設(shè)備的性能,增加了可靠性,,但是與此同時(shí)復(fù)雜的邏 輯關(guān)系,、細(xì)密的引腳也給設(shè)備的維修帶來(lái)了巨大的壓力。維修人員無(wú)法通過(guò)探針來(lái)測(cè)量芯片 引腳上的波形,,而使用“針床”等專用測(cè)試平臺(tái)又需要付出很高的成本,。邊界掃描技術(shù)的誕 生為這一問(wèn)題提供了一個(gè)新的解決途徑。邊界掃描協(xié)議是聯(lián)合測(cè)試工作組(JTAG:Joint TEST action GROUP)提出了,,并于1990 年形成了IEEE 1149.1 工業(yè)標(biāo)準(zhǔn),。該標(biāo)準(zhǔn)通過(guò)設(shè)置在器件 輸入輸出引腳與內(nèi)核電路之間的邊界掃描單元對(duì)器件及外圍電路進(jìn)行測(cè)試,從而提高了電路 板的可測(cè)性,。邊界掃描就像一根“虛擬探針”,,能夠在不影響電路板正常工作的同時(shí),采集 芯片引腳的狀態(tài)信息,,通過(guò)分析這些信息達(dá)到故障診斷功能,。本文針對(duì)當(dāng)前復(fù)雜數(shù)字電路板 快速測(cè)試難的現(xiàn)狀,設(shè)計(jì)了一套基于邊界掃描的電路板測(cè)試系統(tǒng),,利用該系統(tǒng)可以對(duì)含有邊 界掃描接口的復(fù)雜數(shù)字電路板進(jìn)行快速診斷,,幫助維修人員進(jìn)行維修。
2 基于邊界掃描的電路板測(cè)試系統(tǒng)設(shè)計(jì)
2.1 設(shè)計(jì)需求
?。?)對(duì)于包含邊界掃描接口的電路均可測(cè)試,,用戶需根據(jù)實(shí)際情況自定義被測(cè)電路板JTAG 掃描鏈結(jié)構(gòu)。
?。?)既能在線對(duì)電路板上邊界掃描鏈路及接口信號(hào)進(jìn)行采集,,又能在離線狀態(tài)實(shí)現(xiàn)對(duì)電路 板上模塊的測(cè)試功能。
?。?)能夠?qū)崿F(xiàn)數(shù)據(jù)的顯示,、錄制、分析,,預(yù)置系統(tǒng)觸發(fā),、停止條件的功能。
?。?)對(duì)采集到的信號(hào)進(jìn)行快速分析,產(chǎn)生測(cè)試報(bào)告供維修人員使用,。
2.2 基本結(jié)構(gòu)及工作原理
該系統(tǒng)包括一臺(tái)計(jì)算機(jī)和一個(gè)邊界掃描適配器,,兩者使用計(jì)算機(jī)并口相連,,其整體結(jié)構(gòu) 框圖如圖1 所示。
使用該邊界掃描測(cè)試系統(tǒng)進(jìn)行測(cè)試時(shí)應(yīng)首先進(jìn)行電路板上掃描鏈的測(cè)試,,確保掃描鏈正 常,。然后根據(jù)實(shí)際情況選擇進(jìn)行在線功能測(cè)試或者離線功能測(cè)試。在線功能測(cè)試即電路板不 脫離設(shè)備,,通過(guò)采集電路板內(nèi)邊界掃描單元及電路板接口的數(shù)據(jù)判斷電路板工作狀態(tài)和故障 分布情況,。此步驟適合于對(duì)電路板進(jìn)行快速診斷、快速維修時(shí)使用,。離線功能測(cè)試即電路板 脫離設(shè)備,,在連接好電源后,由測(cè)試系統(tǒng)對(duì)電路板進(jìn)行信號(hào)加載,,分模塊對(duì)整個(gè)電路進(jìn)行測(cè) 試,。此步驟適合于對(duì)故障電路板維修時(shí)使用。如果懷疑系統(tǒng)自身出現(xiàn)故障,,可以通過(guò)自測(cè)試 進(jìn)行診斷,。
2.3 邊界掃描適配器設(shè)計(jì)
邊界掃描適配器采用Altera 公司的EPM7128SLC84-15 芯片作為控制器,負(fù)責(zé)與計(jì)算機(jī) 相連,,上傳,、下載測(cè)試數(shù)據(jù)和控制字,按時(shí)鐘產(chǎn)生邊界掃描控制時(shí)序及測(cè)試向量,。芯片內(nèi)部 按功能分應(yīng)包含通信接口,、指令寄存器、數(shù)據(jù)寄存器,、TAP 控制器,、信號(hào)采集模塊、信號(hào)發(fā) 生模塊和分頻模塊,。結(jié)構(gòu)框圖如圖2 所示,。
從計(jì)算機(jī)傳來(lái)的指令信號(hào)和數(shù)據(jù)信號(hào)通過(guò)通信接口分別保存在邊界掃描適配器內(nèi)部的 寄存器中,然后適配器中的其它模塊如TAP 控制器,、信號(hào)采集模塊和信號(hào)發(fā)生模塊將依據(jù) 指令寄存器中的指令字進(jìn)行相應(yīng)的工作,,包括發(fā)送JTAG 總線時(shí)序、移位,、并行采集數(shù)據(jù)和 并行發(fā)送數(shù)據(jù)等,。采集的數(shù)據(jù)通過(guò)通信接口上傳給計(jì)算機(jī)以供分析時(shí)使用。分頻器用來(lái)產(chǎn)生 各模塊工作所需要的時(shí)鐘信號(hào),。本文在MAX+Plus II 環(huán)境下,,使用VHDL 語(yǔ)言對(duì)各模塊進(jìn) 行設(shè)計(jì),頂層文件使用圖形輸入方式將各模塊連接起來(lái)。
2.4 計(jì)算機(jī)軟件設(shè)計(jì)
本系統(tǒng)的計(jì)算機(jī)軟件采用Visual Basic 6.0 高級(jí)編程語(yǔ)言開(kāi)發(fā),,其主要功能是通過(guò)計(jì) 算機(jī)并行端口實(shí)現(xiàn)計(jì)算機(jī)與邊界掃描適配器之間的實(shí)時(shí)通信,,將指令信號(hào)和測(cè)試數(shù)據(jù)發(fā)送給 邊界掃描適配器,同時(shí)將測(cè)試響應(yīng)數(shù)據(jù)上傳至計(jì)算機(jī),,并完成對(duì)數(shù)據(jù)的處理,、顯示、存儲(chǔ)等 操作,。
?。?)系統(tǒng)的軟件組成
系統(tǒng)軟件包含下列組件:系統(tǒng)主程序、物理接口程序,、硬件設(shè)置程序,、實(shí)時(shí)采集程序、 離線測(cè)試程序,、自測(cè)試程序和數(shù)據(jù)庫(kù)管理程序,。
系統(tǒng)主程序:顯示系統(tǒng)主界面,并與系統(tǒng)中其它模塊進(jìn)行切換,。
物理接口模塊:控制計(jì)算機(jī)端口,,負(fù)責(zé)從計(jì)算機(jī)端口讀取數(shù)據(jù)和將數(shù)據(jù)發(fā)送到端口上。
系統(tǒng)硬件設(shè)置模塊:設(shè)置系統(tǒng)的各種參數(shù),,包括掃描鏈路的結(jié)構(gòu),、芯片型號(hào),同時(shí)進(jìn) 行總線故障測(cè)試和內(nèi)部邊界掃描鏈測(cè)試,,以驗(yàn)證掃描鏈路是否暢通,。
在線測(cè)試模塊:使用外測(cè)試命令,對(duì)電路板上邊界掃描器件引腳以及電路板接口信號(hào) 進(jìn)行采集,、顯示與分析,。
離線測(cè)試模塊:依次向電路板接口或者板上邊界掃描器件輸入激勵(lì)測(cè)試信號(hào),觀察其 響應(yīng)信號(hào)是否與標(biāo)準(zhǔn)結(jié)果一致,,判斷板上連線,、功能模塊是否正常。
自測(cè)試模塊:輸出系統(tǒng)自測(cè)試向量,,觀察系統(tǒng)自響應(yīng)是否與標(biāo)準(zhǔn)一致,,檢查系統(tǒng)是否 工作正常。
數(shù)據(jù)庫(kù)管理模塊:保存系統(tǒng)數(shù)據(jù),、測(cè)試向量,、標(biāo)準(zhǔn)測(cè)試結(jié)果等數(shù)據(jù),用以查詢比較等 操作,。
?。?)物理接口模塊
由于在 VB 中不能直接使用命令對(duì)計(jì)算機(jī)端口進(jìn)行操作,,本文中選擇動(dòng)態(tài)鏈接庫(kù) inpout32.dll 幫助系統(tǒng)軟件實(shí)現(xiàn)對(duì)底層硬件的控制。在開(kāi)發(fā)計(jì)算機(jī)端Windows 應(yīng)用程序時(shí)只 需在開(kāi)發(fā)前將其驅(qū)動(dòng)程序相關(guān)文件拷貝到計(jì)算機(jī),,并且在開(kāi)發(fā)過(guò)程中注冊(cè)其動(dòng)態(tài)鏈接庫(kù)相應(yīng) 的API 函數(shù),,即可實(shí)現(xiàn)并行端口的應(yīng)用,。本文物理接口模塊中引用了動(dòng)態(tài)連接庫(kù)中的兩個(gè)函 數(shù):Inp32 和Out32 用于并行端口的輸入和輸出,,相關(guān)程序代碼如下所示。
寫(xiě)入操作:Out add, reg
讀出操作:reg = Inp(add) 其中,,add 為寫(xiě)入/讀出的地址,,reg 為寫(xiě)入/讀出的數(shù)據(jù)。
?。?)在線測(cè)試模塊 在線測(cè)試模塊主要實(shí)現(xiàn)對(duì)掃描鏈信號(hào)的循環(huán)采集,,同時(shí)將采集到的結(jié)果顯示在屏幕上。 采集數(shù)據(jù)的同時(shí)對(duì)掃描鏈上信號(hào)的變化頻率進(jìn)行統(tǒng)計(jì),,實(shí)時(shí)顯示統(tǒng)計(jì)結(jié)果,。可預(yù)置中斷暫停 條件,,使用虛擬工具箱單獨(dú)顯示關(guān)鍵信號(hào)狀態(tài),,儲(chǔ)存采集數(shù)據(jù),進(jìn)行信號(hào)分析,,生成報(bào)告表 供維修人員使用,。
(4)離線測(cè)試模塊 離線測(cè)試模塊主要實(shí)現(xiàn)電路板單獨(dú)測(cè)試功能,。用戶可選擇進(jìn)行自動(dòng)測(cè)試或是手動(dòng)測(cè)試,。 自動(dòng)測(cè)試時(shí),系統(tǒng)將已生成的測(cè)試向量依次送入被測(cè)電路板,,然后采集電路板響應(yīng)向量,,將 其與標(biāo)準(zhǔn)響應(yīng)進(jìn)行比較。手動(dòng)測(cè)試時(shí),,用戶可根據(jù)需要利用系統(tǒng)提供的工具手動(dòng)編寫(xiě)測(cè)試向 量,,系統(tǒng)將一步步執(zhí)行用戶的指令。
3 故障分析策略
在邊界掃描測(cè)試系統(tǒng)進(jìn)行循環(huán)采集時(shí),,一般采集頻率較低,。例如使用10MHz 的時(shí)鐘對(duì)邊 界掃描鏈上的數(shù)據(jù)進(jìn)行移位輸出,如果掃描鏈上有500 個(gè)單元,,則采集數(shù)據(jù)頻率最高只能達(dá) 到20KHz,。而電路板上信號(hào)的脈寬有的很短,如何對(duì)采集到的數(shù)據(jù)進(jìn)行故障分析成為系統(tǒng)設(shè) 計(jì)中的難點(diǎn),。本系統(tǒng)主要采取下列兩個(gè)方法進(jìn)行分析,。
如果掃描鏈的采集間隔遠(yuǎn)大于信號(hào)脈寬,系統(tǒng)可能很長(zhǎng)時(shí)間無(wú)法采集到信號(hào)的變化,因 此信號(hào)統(tǒng)計(jì)法需要運(yùn)行相當(dāng)?shù)臅r(shí)間才能保證分析的準(zhǔn)確性,。
方法二:數(shù)據(jù)分析法
記錄采集到的數(shù)據(jù),,計(jì)算每路信號(hào)之間的差異,著重觀察相同的信號(hào),,如全0,、全1 或 者其它。出現(xiàn)全0,、全1 的引腳易發(fā)生呆滯故障,,而出現(xiàn)信號(hào)的變化且采集信號(hào)完全相同的 引腳易發(fā)生斷路故障。
上述兩種方法僅適合于對(duì)周期信號(hào)的分析,。如果電路板某模塊的輸入輸出引腳上信號(hào)為 單脈沖信號(hào),且脈寬較短,,則在線測(cè)試很難采集到它們的脈沖。對(duì)于這類模塊電路的測(cè)試一 般采用離線測(cè)試的方法人為輸入測(cè)試向量分析模塊輸出是否正常,。
4 結(jié)論
通過(guò)實(shí)驗(yàn),,該系統(tǒng)能夠成功實(shí)現(xiàn)對(duì)含邊界掃描器件(如FPGA 等)電路板的在線測(cè)試、 離線測(cè)試等功能,,而且系統(tǒng)的體積小,,測(cè)試時(shí)與電路板的連接線少,雖然由于測(cè)試點(diǎn)有限,, 不能提供100%的故障覆蓋率,,但該系統(tǒng)仍能夠?yàn)榫S修人員對(duì)含邊界掃描器件電路板的快速 維修提供有效支持。
本文作者創(chuàng)新點(diǎn)是:將邊界掃描技術(shù)應(yīng)用在電路板快速測(cè)試系統(tǒng)中,,設(shè)計(jì)了一套具有自 主知識(shí)產(chǎn)權(quán)的邊界掃描測(cè)試系統(tǒng),,并對(duì)系統(tǒng)的故障分析策略進(jìn)行了討論研究,提出對(duì)周期信 號(hào)采用信號(hào)統(tǒng)計(jì)法和數(shù)據(jù)分析法的故障分析策略,。