單片機(jī)應(yīng)用電路板的故障診斷方法及實(shí)現(xiàn)?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
【摘 要】 采用單片機(jī)仿真技術(shù)和程控自動探針測試技術(shù)進(jìn)行了單片機(jī)應(yīng)用電路板的在線測試及故障診斷的設(shè)計(jì),結(jié)合實(shí)例探討了其優(yōu)勢及不足。
關(guān)鍵詞:單片機(jī)應(yīng)用系統(tǒng),仿真測試,故障診斷,在線測試
1 引 言
單片機(jī)以其體積小、功耗低、應(yīng)用靈活、性價(jià)比高等優(yōu)勢,廣泛地應(yīng)用在儀表、家用電器智能化和工業(yè)控制等領(lǐng)域。在我軍新型電子裝備中,單片機(jī)的應(yīng)用也很普遍。當(dāng)這些裝備出現(xiàn)故障時(shí),可利用機(jī)內(nèi)自檢程序?qū)⒐收隙ㄎ坏接≈齐娐钒?。因此,電路板的性能測試及故障診斷就成為裝備維修工作中的重點(diǎn)。我們在研制電子裝備通用自動測試系統(tǒng)時(shí),將PCB的測試,尤其是帶單片機(jī)的PCB(簡稱CPU板)的故障診斷作為難題之一來研究。CPU板的測試和診斷與普通數(shù)字電路板有相同之處,也有其自身的特點(diǎn),因?yàn)镃PU板是總線結(jié)構(gòu)的PCB板,其總線結(jié)構(gòu)中的總線器件(如:RAM、ROM等)隨著程序指令的進(jìn)行而完成不同的功能,管腳數(shù)據(jù)信息隨著程序的執(zhí)行不斷變化,一般采用仿真方法進(jìn)行測試。仿真測試是將單片機(jī)系統(tǒng)開發(fā)的仿真器應(yīng)用于電路板測試。一般的仿真測試方法有:處理器仿真測試、存儲器仿真測試、總線周期仿真測試、DMA仿真測試等。對非總線器件(如:邏輯器件、時(shí)序器件等)進(jìn)行測試,可利用隔離技術(shù)注入測試激勵,采集相應(yīng)節(jié)點(diǎn)的響應(yīng)進(jìn)行在線測試、功能測試等。通過權(quán)衡被測裝備CPU板的性能、種類及其測試速度的要求,我們在測試系統(tǒng)中選擇了處理器仿真測試與自動探針測試相結(jié)合的方法。
2 測試內(nèi)容及實(shí)現(xiàn)方法
CPU板上一般有單片機(jī)、ROM、RAM、數(shù)字I/O及其他IC器件。被測CPU板由測試系統(tǒng)提供特定激勵信號,執(zhí)行專用測試程序,完成測試任務(wù),在電路板輸出端口產(chǎn)生輸出信號。測試系統(tǒng)采集輸出信號與預(yù)期信號進(jìn)行門限比較,以判斷電路板的功能是否正常。當(dāng)功能測試無法通過時(shí),測試系統(tǒng)利用程控探針對電路板內(nèi)部關(guān)鍵節(jié)點(diǎn)進(jìn)行信號采集,并與預(yù)定數(shù)據(jù)進(jìn)行比較,通過故障樹分析程序進(jìn)行故障隔離與顯示,將故障確定到一個(gè)或幾個(gè)器件。對無法利用測試程序進(jìn)行判斷的非總線邏輯和時(shí)序數(shù)字集成器件,可結(jié)合輔助IC夾具測試的方法,采用實(shí)時(shí)仿真測試方法進(jìn)行故障診斷,將故障定位到某一集成器件。
完成上述CPU板的性能測試和故障診斷需要用到以下幾種技術(shù)支持。
2.1 處理器仿真測試技術(shù)
電路板本身攜帶的工作程序無法提供測試系統(tǒng)所需的測試向量并完成測試任務(wù)。測試開發(fā)人員需 要根據(jù)被測電路板的工作原理、電路設(shè)計(jì)及器件種類,編譯相應(yīng)的單片機(jī)程序,以實(shí)現(xiàn)復(fù)雜的測試算法,并將單片機(jī)測試程序編輯成庫。測試操作人員在對特定電路板進(jìn)行功能測試時(shí),首先用與被測板上的單片機(jī)相對應(yīng)的仿真頭取代被測板上的單片機(jī),測試系統(tǒng)調(diào)用開發(fā)的單片機(jī)程序并寫入仿真機(jī)中,然后執(zhí)行仿真機(jī)脫機(jī)運(yùn)行狀態(tài),利用仿真系統(tǒng)對被測板上的總線器件進(jìn)行讀/寫操作,判斷其功能是否正常。因目前單片機(jī)仿真開發(fā)與調(diào)試技術(shù)已日見成熟,只需對市場上供應(yīng)的單片機(jī)仿真器硬件及軟件進(jìn)行少量改進(jìn),就能應(yīng)用到通用自動測試系統(tǒng)中。處理器仿真測試的優(yōu)勢是:以與被測板相同的工作速率進(jìn)行動態(tài)功能測試;可實(shí)現(xiàn)復(fù)雜的測試算法,易于生成復(fù)雜的測試圖形;對總線器件測試故障覆蓋率較高;由于采用市場成熟的仿真技術(shù),開發(fā)工作量較少。
2.2 程控探針自動檢測技術(shù)
程控自動探針可程控定位探測點(diǎn)并刺穿防護(hù)層,獲取檢測信號。它利用步進(jìn)電機(jī)開環(huán)控制,由電機(jī)驅(qū)動完成探針的矢量移位,探針接觸電路焊點(diǎn)的壓力可調(diào)。此裝置有兩種工作狀態(tài):遠(yuǎn)控和本地。程控信號使用IEEE488接口實(shí)現(xiàn),檢測信號由專用電纜引出。在對被測PCB進(jìn)行開發(fā)時(shí),首先對被測PCB在程控探針裝置上的物理位置進(jìn)行校準(zhǔn),一般選取兩個(gè)校準(zhǔn)點(diǎn)記錄在案;再通過人工輔助定位方式確定所選節(jié)點(diǎn)的坐標(biāo)參數(shù),此時(shí)用到了其本地功能:利用控制面板上的位移鍵將探針準(zhǔn)確定位到被測節(jié)點(diǎn);再執(zhí)行其遠(yuǎn)控功能,由計(jì)算機(jī)準(zhǔn)確讀取并記錄坐標(biāo)參數(shù);將測試點(diǎn)坐標(biāo)參數(shù)調(diào)入測試程序,計(jì)算測試點(diǎn)與當(dāng)前探針?biāo)谖恢玫木嚯x,調(diào)用設(shè)備的抬針、位移命令,將探針定位在被測節(jié)點(diǎn)處,再調(diào)用落針、相對位移劃破涂層程序,控制矩陣開關(guān)、測量儀器進(jìn)行測量,記錄檢測數(shù)據(jù)。此自動檢測方法與傳統(tǒng)的人工檢測方法相比,自動化程度高,人為故障少。與針床相比,通用性好,且測試速度相對較快,適應(yīng)目前芯片集成度高、安裝密集的發(fā)展趨向。但對異型PCB進(jìn)行測試時(shí),因電路板難于安裝固定而無法進(jìn)行檢測。
2.3 數(shù)字集成電路實(shí)時(shí)仿真測試技術(shù)
對于處理器仿真測試無法涉及的非總線器件,輔助測試夾具可實(shí)現(xiàn)數(shù)字集成電路的檢測。在測試系統(tǒng)中,我們摒棄傳統(tǒng)的反驅(qū)動(Back Drive)技術(shù),采用對電路器件工作環(huán)境進(jìn)行實(shí)時(shí)仿真的測試方法,使用圖形化編程工具提供的邏輯關(guān)系、條件函數(shù)建立仿真器件庫,將實(shí)際被測器件的輸入信息同步注入仿真器件的輸入端,采集實(shí)際電路的輸出數(shù)據(jù),并與輸入數(shù)據(jù)經(jīng)邏輯關(guān)系、條件函數(shù)計(jì)算之后的仿真輸出相比較,從而檢測此集成電路的工作性能。組合邏輯器件的仿真實(shí)現(xiàn)較簡單,根據(jù)功能表利用數(shù)學(xué)邏輯公式即可組建仿真器件。時(shí)序電路器件的輸出不但與當(dāng)時(shí)的輸入有關(guān),還和電路前一級時(shí)序狀態(tài)有關(guān),需要存儲觸發(fā)器所組成的存儲電路進(jìn)行記憶和表征,因此其組建過程需要解決時(shí)序電路的初態(tài)、存儲和記憶等問題。我們選用HPVEE軟件進(jìn)行仿真,使用它的Math、Sample&Hold和ShiftRegister等特殊功能函數(shù)來實(shí)現(xiàn)仿真器件庫的組建。
此技術(shù)避免了反驅(qū)動技術(shù)可能對CMOS電路帶來的器件損壞,擴(kuò)大了應(yīng)用范圍。改進(jìn)鋸齒形人工夾具增強(qiáng)了其刺破涂層的能力,減少了因接觸不良帶來的測試故障。但在仿真測試開發(fā)工作中,龐大的仿真器件庫占用了大量空間,有可能影響運(yùn)行速度。
3 實(shí)例分析
電子裝備通用自動測試系統(tǒng)是集VXI總線技術(shù)和各種測試診斷技術(shù)于一體的新型、高性能綜合測試系統(tǒng),用于完成新型電子裝備的性能測試與故障診斷。該系統(tǒng)硬件由主控計(jì)算機(jī)、VXI機(jī)箱及卡式儀器、程控交直流電源、通用適配器、程控探針定位儀組成;軟件設(shè)計(jì)平臺選擇HPVEE,基本環(huán)境為Windows98,編程語言為HPVEE和VC++,漢化平臺為中文之星。軟件結(jié)構(gòu)主要由被測件診斷信息庫、系統(tǒng)編輯開發(fā)軟件庫、系統(tǒng)測試診斷數(shù)據(jù)庫、系統(tǒng)測試診斷程序集、被測件測試診斷報(bào)告五部分組成。PCB的檢測診斷是測試系統(tǒng)的主要功能之一。進(jìn)行CPU板測試的系統(tǒng)結(jié)構(gòu)如圖1所示。
軟件測試流程見圖2,軟件設(shè)計(jì)過程中,被測PCB板的性能測試與故障診斷可單獨(dú)進(jìn)行,也可連續(xù)進(jìn)行,并對故障診斷歷史記錄進(jìn)行保存。故障顯示利用測試點(diǎn)圖像顯示方法,可調(diào)用被測板電路圖,動態(tài)顯示測試節(jié)點(diǎn)及故障隔離器件位置。
在本測試系統(tǒng)中從CPU板的核心(單片機(jī))由內(nèi)向外進(jìn)行測試,既提高了故障診斷準(zhǔn)確率,又提高了測試系統(tǒng)的故障覆蓋率。另外需要提及的是:本系統(tǒng)中RAM測試采用k/n碼提取圖形法,其測試性能和測試時(shí)間基本滿足被測武器裝備的需求。ROM測試使用原碼比較法,利用仿真機(jī)的附加功能,讀取被測板上的實(shí)際工作程序代碼,與系統(tǒng)保存的標(biāo)準(zhǔn)原程序代碼進(jìn)行比較,得出診斷結(jié)果,此方法無須添加硬件與軟件,簡單易行。
目前,已在該系統(tǒng)上完成了多種裝備測試診斷軟件的開發(fā)工作。通過故障模擬實(shí)驗(yàn),計(jì)算機(jī)通信板、信息機(jī)CPU板、信息機(jī)通信板、火炮終端機(jī)CPU板、通信板等13種單片機(jī)應(yīng)用電路板的典型故障均可被測試系統(tǒng)正確隔離。