基于MCU的測試系統(tǒng)
3.1.3 通訊程序設(shè)計
系統(tǒng)的通訊程序包括:主MCU與USB之間的通訊程序、主MCU與從MCU之間的通訊程序以及從MCU對被檢測電路板的掃描程序。
主MCU和USB是通過USB的管腳D0~D7和主MCU的管腳P0.0~P0.7傳遞數(shù)據(jù)的??刂浦饕峭ㄟ^USB的四個管腳: RXF、TXE、WR、RD和主MCU的四個管腳:P1.4、P1.5、P1.6、P1.7進(jìn)行的。當(dāng)TXE為低且WR從0變?yōu)?時,數(shù)據(jù)寫入USB;當(dāng)RXF為低且RD從1變?yōu)?時,數(shù)據(jù)從USB讀到主MCU。主MCU通過P1.4和P1.5對USB的RXF和TXE進(jìn)行判斷,然后通過P1.6和P1.7對USB的WR和RD進(jìn)行控制傳遞數(shù)據(jù)。
主MCU與從MCU之間利用MCU的RxD和TxD端以全雙工UART串行模式進(jìn)行通信,串行通訊通過中斷實(shí)現(xiàn),使用了幀錯誤檢測和自動地址識別功能。本系統(tǒng)的主MCU采用廣播通訊方式,由特殊寄存器SADEN 和SADDR邏輯或產(chǎn)生從機(jī)的廣播地址,利用地址自動識別功能,通過發(fā)送廣播地址,同時發(fā)命令與四個從MCU進(jìn)行通訊。當(dāng)主MCU只和單個從MCU通訊時,采用點(diǎn)點(diǎn)通訊方式,由SADEN和SADDR相與產(chǎn)生的特定地址來確認(rèn)哪些從機(jī)被選中與主機(jī)進(jìn)行通訊,不需要再進(jìn)行軟件查詢。
從MCU對被檢測電路板的掃描程序采用的是功能測試技術(shù)。為了檢測某一組合邏輯電路板是否存在故障,首先把該電路板插到診斷插槽上,由于每個輸出端口只是與該電路板所有端口中的幾個有邏輯關(guān)系,所以掃描程序只需對與某個輸出端口有邏輯關(guān)系的電路板的輸入端口進(jìn)行從全0到全1的電平激勵(比如有五個輸入端口,一共有25=32組激勵)。對于有邏輯關(guān)系的輸入超過七個以上時,由于工作量很大,不實(shí)行從全0到全1的激勵,而是從中選擇128組激勵進(jìn)行類似抽查的檢測,然后讀取輸出端口,把輸出結(jié)果傳輸?shù)接嬎銠C(jī)內(nèi),和標(biāo)準(zhǔn)數(shù)據(jù)庫中的仿真結(jié)果進(jìn)行分析與比較,判斷是否一致,如果出現(xiàn)不一致的情況,則說明電路板存在故障。
3.2 應(yīng)用系統(tǒng)軟件設(shè)計
安裝在計算機(jī)上的自動測試診斷系統(tǒng)軟件采用Visual C 6.0語言編程,其主要作用是使計算機(jī)向USB接口通信卡發(fā)送測試激勵數(shù)據(jù)、接收響應(yīng)數(shù)據(jù)、進(jìn)行數(shù)據(jù)計算與分析等。
3.3 標(biāo)準(zhǔn)診斷數(shù)據(jù)庫的軟件產(chǎn)生方法
建立標(biāo)準(zhǔn)診斷數(shù)據(jù)庫的目的是為了進(jìn)行自動故障定位。本系統(tǒng)可用兩種方法建立標(biāo)準(zhǔn)診斷數(shù)據(jù)庫:第一種方法是根據(jù)被測數(shù)字電路板的原理圖,在一些EDA軟件環(huán)境如Protel、Foudation、MaxplusⅡ中通過仿真功能生成標(biāo)準(zhǔn)診斷數(shù)據(jù)庫。第二種是測試功能正常的數(shù)字電路板,在特定的激勵下記錄該電路板的響應(yīng)數(shù)據(jù),由軟件自動追加到相應(yīng)的數(shù)據(jù)庫中,作為今后測試該電路板的標(biāo)準(zhǔn)診斷數(shù)據(jù)庫。
由于本系統(tǒng)所要測試診斷的電路板端口數(shù)較多,采用第二種方法不但工作量非常大,而且還要確保所測數(shù)字電路板在測試過程中功能正常,因此本系統(tǒng)采用第一種方法??紤]到所測的電路板為組合邏輯數(shù)字電路板,所以本系統(tǒng)采用Xilinx公司的Foundation F3.1i軟件環(huán)境,在原理圖編輯器(Schematic Editor)中輸入被測數(shù)字電路板的原理圖,然后在功能仿真器(Functional Simulation)的Script Editor中利用軟件自帶的仿真命令自動生成標(biāo)準(zhǔn)診斷數(shù)據(jù)文件,再由應(yīng)用系統(tǒng)軟件將數(shù)據(jù)導(dǎo)入相應(yīng)的數(shù)據(jù)庫。
目前一般的自動測試診斷系統(tǒng)通常是在標(biāo)準(zhǔn)的測控總線或儀器總線(CAMAC、GPIB、VXI、PXI、CAN等)的基礎(chǔ)上組建而成的,其成本較高、體積龐大、操作復(fù)雜,在測試過程中顯得非常不方便,難以滿足現(xiàn)代科技工作者的需要。本文介紹的自動測試診斷系統(tǒng)是以五片P89C668單片機(jī)為核心組成故障診斷平臺,采用基于FT245BM USB芯片的通信卡實(shí)現(xiàn)計算機(jī)與測試診斷平臺的通信。該系統(tǒng)的便攜式結(jié)構(gòu)特別適合于現(xiàn)場測試,具有成本低、體積小、重量輕、結(jié)構(gòu)緊湊、自動化程度高等優(yōu)點(diǎn);系統(tǒng)的操作比較簡單,只要掌握計算機(jī)的一般操作,具有一定的數(shù)字電路技術(shù)基礎(chǔ),能夠看懂一般的數(shù)字電路原理圖,經(jīng)過簡單的技術(shù)培訓(xùn),詳細(xì)閱讀并理解本系統(tǒng)的使用說明后就可以進(jìn)行操作;系統(tǒng)硬件模塊的標(biāo)準(zhǔn)化和軟件模塊的可復(fù)用性使系統(tǒng)具有很強(qiáng)的擴(kuò)展能力。目前該測試診斷系統(tǒng)已經(jīng)投入使用,效果良好,完全達(dá)到了預(yù)期的設(shè)計目的。
評論