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