基于單片機(jī)設(shè)計(jì)的智能多路信號(hào)源
3.3 系統(tǒng)通信模塊設(shè)計(jì)
通信模塊采用CAN總線和RS-232總線模塊實(shí)現(xiàn),其電路圖如圖3所示。
RS-232電平轉(zhuǎn)換器可以將輸入的±5 V電源電壓轉(zhuǎn)換為RS-232輸出電平所需的±10 V電壓。CAN收發(fā)器選用PCA82C250。PCA82C250是CAN控制器與物理總線之間的接口,可提供對(duì)CAN總線上數(shù)據(jù)的差動(dòng)發(fā)送和接收功能。
作為上位機(jī)的PC通過其串行接口發(fā)送數(shù)據(jù),產(chǎn)生RS-232電平信號(hào),由電平轉(zhuǎn)換電路將RS-232電平信號(hào)轉(zhuǎn)換成單片機(jī)所能接受的TTL/CMOS電平信號(hào),并傳到協(xié)議轉(zhuǎn)換單元的單片機(jī),單片機(jī)將接收到的數(shù)據(jù)打包、轉(zhuǎn)換后,通過CAN收發(fā)器發(fā)送至CAN總線。掛在CAN總線上的下位機(jī)節(jié)點(diǎn)收到數(shù)據(jù)后,根據(jù)控制命令做出相應(yīng)動(dòng)作。上位機(jī)與下位機(jī)通信示意圖如圖4所示。
4 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)分為兩部分:上位機(jī)采用Lab-Windows/CVI為開發(fā)平臺(tái),下位機(jī)以g6E為平臺(tái),采用匯編語言編寫。從功能上軟件設(shè)計(jì)可分為:系統(tǒng)初始化程序、主程序、串口中斷及定時(shí)器中斷程序。雙機(jī)通信協(xié)議約定如下:
aa+55+功能位+數(shù)據(jù)位+校驗(yàn)位
其中,前兩個(gè)字節(jié)為前導(dǎo)碼,第三個(gè)字節(jié)為控制命令,單片機(jī)根據(jù)此字節(jié)進(jìn)行相應(yīng)處理。第四個(gè)字節(jié)為具體控制數(shù)據(jù),最后為校驗(yàn)數(shù)據(jù)。根據(jù)此協(xié)議,上位機(jī)每次發(fā)5個(gè)字節(jié)。下位機(jī)接收到有效的前導(dǎo)碼后進(jìn)行相應(yīng)的動(dòng)作。
5 結(jié)束語
本測(cè)試信號(hào)源已投入使用,系統(tǒng)運(yùn)行可靠、性能穩(wěn)定,體現(xiàn)了良好的實(shí)用性與較高的性價(jià)比,完全能夠滿足各種測(cè)試環(huán)境的要求。
評(píng)論