《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于多MCU的自動(dòng)測(cè)試診斷系統(tǒng)的設(shè)計(jì)
基于多MCU的自動(dòng)測(cè)試診斷系統(tǒng)的設(shè)計(jì)
劉玉珠, 柴新禹
摘要: 詳細(xì)介紹了基于多P89C668單片機(jī)的組合邏輯電路自動(dòng)測(cè)試診斷系統(tǒng)的設(shè)計(jì),包括硬件結(jié)構(gòu)設(shè)計(jì)和軟件設(shè)計(jì)。該自動(dòng)測(cè)試診斷系統(tǒng)采用USB接口實(shí)現(xiàn)計(jì)算機(jī)與診斷平臺(tái)的通信,其移動(dòng)式結(jié)構(gòu)便于在現(xiàn)場(chǎng)進(jìn)行測(cè)試,且設(shè)備成本低、操作簡(jiǎn)單。
Abstract:
Key words :

  摘 要: 詳細(xì)介紹了基于多P89C668單片機(jī)的組合邏輯電路自動(dòng)測(cè)試" title="自動(dòng)測(cè)試">自動(dòng)測(cè)試診斷系統(tǒng)的設(shè)計(jì),包括硬件結(jié)構(gòu)設(shè)計(jì)和軟件設(shè)計(jì)。該自動(dòng)測(cè)試診斷系統(tǒng)采用USB接口實(shí)現(xiàn)計(jì)算機(jī)與診斷平臺(tái)的通信,其移動(dòng)式結(jié)構(gòu)便于在現(xiàn)場(chǎng)進(jìn)行測(cè)試,且設(shè)備成本低、操作簡(jiǎn)單。
  關(guān)鍵詞: 自動(dòng)測(cè)試診斷系統(tǒng) 多單片機(jī) P89C668 USB


  隨著IT產(chǎn)業(yè)和通信技術(shù)、電子技術(shù)、計(jì)算機(jī)技術(shù)的高速發(fā)展,大量的生產(chǎn)裝備和產(chǎn)品的電子化、數(shù)字化、自動(dòng)化、智能化的程度越來越高,與之配套的電子測(cè)量設(shè)備必須適應(yīng)這種形勢(shì)。因此,綜合測(cè)量技術(shù)、電子技術(shù)、自動(dòng)化技術(shù)和計(jì)算機(jī)技術(shù)于一體的自動(dòng)測(cè)試系統(tǒng)發(fā)展日益完善,在一些高度電子化產(chǎn)品、航空航天和軍用武器裝備中以及工業(yè)自動(dòng)化、通信、光學(xué)、能源等諸多領(lǐng)域中得到了廣泛應(yīng)用。
  一般意義的自動(dòng)測(cè)試系統(tǒng)是指采用計(jì)算機(jī)控制,能實(shí)現(xiàn)自動(dòng)化測(cè)試的系統(tǒng)。這類系統(tǒng)通常是在標(biāo)準(zhǔn)的測(cè)控總線或儀器總線(CAMAC、GPIB、VXI、PXI、CAN等)的基礎(chǔ)上組建而成的。目前,通用串行總線(Universal Serial Bus,即USB)以其方便的即插即用和熱插拔特性及較高的傳輸速率,成為PC機(jī)領(lǐng)域廣為應(yīng)用的外設(shè)連接規(guī)范。本文介紹的自動(dòng)測(cè)試診斷系統(tǒng)是以五片P89C668單片機(jī)為核心組成故障診斷平臺(tái),采用基于FT245BM USB芯片的通信卡建立計(jì)算機(jī)與測(cè)試診斷平臺(tái)通信的橋梁,使其能對(duì)需要檢測(cè)的組合邏輯數(shù)字電路板進(jìn)行測(cè)試,并可以根據(jù)標(biāo)準(zhǔn)診斷數(shù)據(jù)庫對(duì)產(chǎn)生故障的電路板進(jìn)行自動(dòng)故障定位。目前該系統(tǒng)能夠?qū)Χ喾N不含有不受控制的部件如CPU、存儲(chǔ)元件、晶振、阻容式單穩(wěn)態(tài)等的數(shù)字電路板進(jìn)行自動(dòng)測(cè)試及故障診斷,可測(cè)試的電路板邊緣連接器的最大引腳數(shù)為96個(gè)。
1 硬件結(jié)構(gòu)
  該測(cè)試診斷系統(tǒng)的硬件主要由以下部分組成:
  ·計(jì)算機(jī)
  ·USB通信電纜
  ·USB通信卡
  ·多MCU" title="MCU">MCU系統(tǒng)測(cè)試診斷平臺(tái)
  ·微型開關(guān)電源
  ·散熱風(fēng)扇
  ·通道連接適配器板等
1.1 計(jì)算機(jī)
  計(jì)算機(jī)的主要功能是通過USB接口控制測(cè)試診斷平臺(tái),進(jìn)而完成測(cè)試平臺(tái)系統(tǒng)自檢、通道輸入/輸出的定義、發(fā)送測(cè)試激勵(lì)數(shù)據(jù)、接收響應(yīng)數(shù)據(jù)、數(shù)據(jù)計(jì)算與分析等工作。
1.2 USB通信卡
  USB通信卡是連接計(jì)算機(jī)與測(cè)試平臺(tái)的橋梁。它的主要功能一方面是將計(jì)算機(jī)發(fā)送的控制命令、數(shù)據(jù)送到測(cè)試平臺(tái)的主MCU,使測(cè)試平臺(tái)完成各種測(cè)試任務(wù);另一方面是將測(cè)試平臺(tái)中多MCU系統(tǒng)的自檢信息和測(cè)試結(jié)果送往計(jì)算機(jī),以供計(jì)算機(jī)進(jìn)行判斷與分析。
  USB通信卡是基于FTDI公司的FT8U245BM芯片組成的,具有數(shù)據(jù)傳送速率高(達(dá)8Mb/s)和即插即用等優(yōu)點(diǎn)。
1.3 多MCU系統(tǒng)構(gòu)成的測(cè)試平臺(tái)
  多MCU系統(tǒng)由一個(gè)主MCU和四個(gè)從MCU組成。所有的MCU均采用PHILIPS公司的P89C668單片機(jī)芯片,其內(nèi)部有可ISP/IAP編程的64KB Flash程序存儲(chǔ)器和8KB RAM,每個(gè)機(jī)器周期可采用六個(gè)時(shí)鐘周期,是傳統(tǒng)單片機(jī)(80C51)的兩倍。在其全雙工增強(qiáng)型UART中具有幀錯(cuò)誤檢測(cè)和自動(dòng)地址識(shí)別功能,另外還具有可編程的時(shí)鐘輸出功能及可編程的計(jì)數(shù)器陣列(PCA)等,是PHILIPS公司MCU家族中較為高端的產(chǎn)品。多MCU系統(tǒng)構(gòu)成的測(cè)試平臺(tái)如圖1所示。


  在本文設(shè)計(jì)的多MCU系統(tǒng)中,各個(gè)MCU的功能如下:
  (1) 主機(jī)MCU的功能
  ·負(fù)責(zé)與PC機(jī)的通信。通信采用目前流行的USB總線通訊方式,一方面接收來自于PC機(jī)的命令與數(shù)據(jù),另一方面向PC機(jī)發(fā)送測(cè)試數(shù)據(jù)和自檢信息。
  ·解釋來自PC機(jī)的命令,并向所有從機(jī)或者相應(yīng)的從機(jī)發(fā)送。對(duì)來自PC機(jī)的數(shù)據(jù)進(jìn)行分類,并發(fā)送給相應(yīng)的從機(jī)。對(duì)自身的RAM進(jìn)行自檢。
  ·負(fù)責(zé)與四個(gè)從機(jī)的通信。通信為多機(jī)主-從方式,利用MCU的RxD和TxD端以全雙工UART串行模式進(jìn)行通信,并使用幀錯(cuò)誤檢測(cè)和自動(dòng)地址識(shí)別功能。
  ·管理四個(gè)從機(jī)進(jìn)行同步測(cè)試。主MCU利用P1口的低四位(P1.4、P1.5、P1.6、P1.7)向四個(gè)從機(jī)發(fā)送同步控制信號(hào),使得多個(gè)從機(jī)在測(cè)試過程中能夠保持同步性。
  (2) 從機(jī)MCU1~MCU4的功能
  ·通過RxD端口,以串行通信方式接收來自主MCU的與自己相關(guān)的命令和數(shù)據(jù)。
  ·每個(gè)從機(jī)的24路I/O端口P0.0~P0.7、P1.0~P1.7和P2.0~P2.7共計(jì)96路分別與測(cè)試通道Port1~Port96相連接。根據(jù)I/O端口的設(shè)置情況,向定義的輸出通道輸出測(cè)試激勵(lì)信號(hào),從相應(yīng)的輸入通道讀入測(cè)試結(jié)果并存入相應(yīng)的RAM單元。
  ·在被測(cè)試電路板的一個(gè)輸出通道測(cè)試完畢后,將測(cè)試的結(jié)果發(fā)送到主MCU的RAM存儲(chǔ)區(qū),并由主MCU發(fā)往計(jì)算機(jī)。
  ·負(fù)責(zé)自身數(shù)據(jù)存儲(chǔ)區(qū)RAM的自檢工作。當(dāng)接收到主MCU的自檢命令時(shí),對(duì)自身的RAM進(jìn)行自檢,并將自檢結(jié)果發(fā)送到主MCU。
1.4 測(cè)試通道適配接口卡
  普通的被測(cè)數(shù)字電路板是不能直接插到測(cè)試平臺(tái)的測(cè)試接口上的,需要有特制的測(cè)試通道適配接口卡才能進(jìn)行連接。本系統(tǒng)提供的接口卡是96路通道的總線結(jié)構(gòu)的接口卡,可與適用于本設(shè)計(jì)的數(shù)字電路板進(jìn)行連接。如果要測(cè)試其它類型的數(shù)字電路板,則需要專門定做與其配套的測(cè)試通道適配接口卡。
2 軟件設(shè)計(jì)
2.1 測(cè)試平臺(tái)程序設(shè)計(jì)
  本系統(tǒng)測(cè)試平臺(tái)程序采用模塊化設(shè)計(jì),是基于Keil系統(tǒng)開發(fā)軟件和TKS-668開發(fā)硬件,采用C語言與匯編語言編寫的。模塊化程序設(shè)計(jì)的思想就是要把一個(gè)復(fù)雜的程序按整體功能劃分成若干相對(duì)獨(dú)立的程序模塊,各模塊可以單獨(dú)設(shè)計(jì)、編程、調(diào)試和查錯(cuò),然后裝配起來進(jìn)行聯(lián)調(diào),最終成為一個(gè)有實(shí)用價(jià)值的程序。本系統(tǒng)的測(cè)試平臺(tái)軟件主要由系統(tǒng)的主程序、通信程序、測(cè)試程序和自檢程序等模塊組成。
2.1.1 主程序設(shè)計(jì)
  主、從MCU的主程序設(shè)計(jì)流程圖分別如圖2、圖3所示。本系統(tǒng)中的四個(gè)從MCU具有相同的功能,因此其主程序設(shè)計(jì)是一樣的。主、從MCU在初始化中要設(shè)置的相關(guān)參數(shù)包括:串行口的方式、波特率、定時(shí)器的方式、中斷等。


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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。