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