基于MCU的測試系統(tǒng)
通過RxD端口,以串行通信方式接收來自主MCU的與自己相關(guān)的命令和數(shù)據(jù)。
每個(gè)從機(jī)的24路IO端口P0.0~P0.7、P1.0~P1.7和P2.0~P2.7共計(jì)96路分別與測試通道Port1~Port96相連接。根據(jù)IO端口的設(shè)置情況,向定義的輸出通道輸出測試激勵(lì)信號(hào),從相應(yīng)的輸入通道讀入測試結(jié)果并存入相應(yīng)的RAM單元。
在被測試電路板的一個(gè)輸出通道測試完畢后,將測試的結(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。
2.4 測試通道適配接口卡
普通的被測數(shù)字電路板是不能直接插到測試平臺(tái)的測試接口上的,需要有特制的測試通道適配接口卡才能進(jìn)行連接。本系統(tǒng)提供的接口卡是96路通道的總線結(jié)構(gòu)的接口卡,可與適用于本設(shè)計(jì)的數(shù)字電路板進(jìn)行連接。如果要測試其它類型的數(shù)字電路板,則需要專門定做與其配套的測試通道適配接口卡。
3 軟件設(shè)計(jì)
3.1 測試平臺(tái)程序設(shè)計(jì)
本系統(tǒng)測試平臺(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)的測試平臺(tái)軟件主要由系統(tǒng)的主程序、通信程序、測試程序和自檢程序等模塊組成。
3.1.1 主程序設(shè)計(jì)
主、從MCU的主程序設(shè)計(jì)流程圖分別如圖2、圖3所示。本系統(tǒng)中的四個(gè)從MCU具有相同的功能,因此其主程序設(shè)計(jì)是一樣的。主、從MCU在初始化中要設(shè)置的相關(guān)參數(shù)包括:串行口的方式、波特率、定時(shí)器的方式、中斷等。
3.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單元沒有損壞。
評(píng)論