基于MCU的測試系統(tǒng)
通過RxD端口,以串行通信方式接收來自主MCU的與自己相關(guān)的命令和數(shù)據(jù)。
每個從機的24路IO端口P0.0~P0.7、P1.0~P1.7和P2.0~P2.7共計96路分別與測試通道Port1~Port96相連接。根據(jù)IO端口的設(shè)置情況,向定義的輸出通道輸出測試激勵信號,從相應(yīng)的輸入通道讀入測試結(jié)果并存入相應(yīng)的RAM單元。
在被測試電路板的一個輸出通道測試完畢后,將測試的結(jié)果發(fā)送到主MCU的RAM存儲區(qū),并由主MCU發(fā)往計算機。
負(fù)責(zé)自身數(shù)據(jù)存儲區(qū)RAM的自檢工作。當(dāng)接收到主MCU的自檢命令時,對自身的RAM進行自檢,并將自檢結(jié)果發(fā)送到主MCU。
2.4 測試通道適配接口卡
普通的被測數(shù)字電路板是不能直接插到測試平臺的測試接口上的,需要有特制的測試通道適配接口卡才能進行連接。本系統(tǒng)提供的接口卡是96路通道的總線結(jié)構(gòu)的接口卡,可與適用于本設(shè)計的數(shù)字電路板進行連接。如果要測試其它類型的數(shù)字電路板,則需要專門定做與其配套的測試通道適配接口卡。
3 軟件設(shè)計
3.1 測試平臺程序設(shè)計
本系統(tǒng)測試平臺程序采用模塊化設(shè)計,是基于Keil系統(tǒng)開發(fā)軟件和TKS-668開發(fā)硬件,采用C語言與匯編語言編寫的。模塊化程序設(shè)計的思想就是要把一個復(fù)雜的程序按整體功能劃分成若干相對獨立的程序模塊,各模塊可以單獨設(shè)計、編程、調(diào)試和查錯,然后裝配起來進行聯(lián)調(diào),最終成為一個有實用價值的程序。本系統(tǒng)的測試平臺軟件主要由系統(tǒng)的主程序、通信程序、測試程序和自檢程序等模塊組成。
3.1.1 主程序設(shè)計
主、從MCU的主程序設(shè)計流程圖分別如圖2、圖3所示。本系統(tǒng)中的四個從MCU具有相同的功能,因此其主程序設(shè)計是一樣的。主、從MCU在初始化中要設(shè)置的相關(guān)參數(shù)包括:串行口的方式、波特率、定時器的方式、中斷等。
3.1.2 自檢程序設(shè)計
主從MCU的自檢是為了保證每個單片機都能正常工作,即USB和主MCU、主MCU和從MCU之間的通訊正常,并且保證每個單片機的RAM沒有損壞。
主MCU和從MCU之間的通訊是否正常的自檢是:先由主單片機向從單片機發(fā)一串?dāng)?shù)據(jù),然后再由從單片機把接收到的數(shù)據(jù)發(fā)回主單片機,判斷兩串?dāng)?shù)據(jù)的個數(shù)和內(nèi)容是否一致,一致的話則說明通訊正常。同理,USB和主MCU之間通訊自檢的原理也是如此。
MCU的RAM自檢的原理是:對于每一個RAM的存儲單元,先把一個數(shù)據(jù)寫入該RAM的單元,然后再從該單元里讀出一個數(shù)據(jù),判斷兩者是否一致,如果一致則說明該RAM單元沒有損壞。
評論