CAN總線在商用車上數(shù)據(jù)采集的實現(xiàn)
3 系統(tǒng)的軟件設(shè)計
本系統(tǒng)軟件由數(shù)據(jù)采集發(fā)送單元軟件和數(shù)據(jù)接收顯示單元軟件兩大部分組成。數(shù)據(jù)采集發(fā)送單元軟件負責對商用車信號進行采集、處理并發(fā)送;數(shù)據(jù)接收.顯示單元負責對以上數(shù)據(jù)進行接受,并顯示輸出系統(tǒng)的主程序框圖、數(shù)據(jù)接收顯示單元軟件框圖和數(shù)據(jù)采集發(fā)送單元軟件框圖如圖6-8所示。
圖6 系統(tǒng)主程序框圖
圖7 接收單元框圖
商用車信號采集電路程序編寫可分為:
1) CAN總線通訊節(jié)點的初始化程序;
2) CAN總線數(shù)據(jù)采集發(fā)送單元程序;
3) CAN總線數(shù)據(jù)接收顯示單元程序。
CAN總線的初始化十分重要,這里給出CAN初始化程序。下面就以Keil C51為平臺,系統(tǒng)介紹如何用C51語言對SJA1000 CAN總線控制器進行初始化。
以上就是SJA1000初始化的全部程序,其中AT89C52.H是為89C52主控制器專門編寫的庫函數(shù),它在Keil軟件中是現(xiàn)成的,只要用#inelude語句包括進來即可;int rins.h是為今后調(diào)用空函數(shù)-nop-()作準備,它里面包括了一個類似于匯編語言的NOP語句;其中還須注意的就是在主函數(shù)中一般都有一個while(1)語句,表示不斷地做循環(huán),否則在程序編譯時會提示出錯。
評論