汽車前照燈CAN總線多路傳輸系統(tǒng)的研究與設(shè)計
3.3 主控節(jié)點軟件設(shè)計
主控節(jié)點軟件采用事件驅(qū)動方式,事件信號由各種中斷信號產(chǎn)生;CPU在進入中斷處理程序后,僅僅判斷事件類型,設(shè)置相應(yīng)的事件標(biāo)志位,并不對事件做任何處理;主控節(jié)點主程序?qū)⒀h(huán)讀取事件標(biāo)志,并轉(zhuǎn)入相應(yīng)的事件處理程序。
主控節(jié)點具有兩種工作模式。一種是系統(tǒng)中存在上位機,上位機作為命令發(fā)出點,主控節(jié)點處于被動控制模式。此時,主控節(jié)點的工作是通過RS 232接收上位機的命令,分析命令的目的節(jié)點,并將命令通過CAN網(wǎng)絡(luò)發(fā)送給目的節(jié)點;同時,主控節(jié)點檢測CAN網(wǎng)絡(luò)上的節(jié)點數(shù)據(jù),將節(jié)點發(fā)出的數(shù)據(jù)通過RS 232發(fā)送給上位機;重復(fù)以上流程直到工作方式發(fā)生改變。在這種方式下主控節(jié)點的主要工作流程如圖6所示。
當(dāng)系統(tǒng)中不存在上位機或上位機發(fā)出脫離系統(tǒng)命令后,主控節(jié)點進入主動控制工作模式。在這種狀態(tài)中,命令發(fā)送者為主控節(jié)點,主控節(jié)點可通過定時器事件輪循查詢各節(jié)點工作狀態(tài);響應(yīng)鍵盤事件,并根據(jù)用戶輸入的命令向目標(biāo)節(jié)點發(fā)出命令或響應(yīng)相應(yīng)子節(jié)點的數(shù)據(jù);通過LED燈顯示子節(jié)點工作狀態(tài)。
兩種工作模式間可以通過上位機發(fā)出命令、用戶通過鍵盤輸入命令以及主控節(jié)點查詢上位機工作狀態(tài)異常(如在被動狀態(tài)中,上位機長時間沒有命令)等幾種方式切換。
3.4 上位機監(jiān)控系統(tǒng)設(shè)計
上位機監(jiān)控系統(tǒng)基于C++設(shè)計,可以實現(xiàn)同時對多路數(shù)據(jù)進行采集、存儲,并設(shè)計了圖形化的監(jiān)控顯示。監(jiān)控系統(tǒng)功能包括:
(1)向主控節(jié)點發(fā)出聯(lián)機或脫機命令,切換節(jié)點工作狀態(tài);
(2)定時發(fā)送節(jié)點查詢命令,查詢子節(jié)點工作狀況,更新系統(tǒng)節(jié)點表;
(3)根據(jù)用戶需要,定時向監(jiān)控節(jié)點發(fā)送讀取命令,取得節(jié)點的監(jiān)控數(shù)據(jù),并保存數(shù)據(jù),形成監(jiān)控數(shù)據(jù)文件;
(4)以圖形化的方式顯示監(jiān)控曲線。
上位機系統(tǒng)中還包含了數(shù)據(jù)分析功能,其中設(shè)計了算法接口;系統(tǒng)用戶可編寫自己的算法庫,系統(tǒng)可調(diào)用用戶算法庫對采集的原始數(shù)據(jù)進行進一步的分析。
4 結(jié)語
由于CAN總線具有極強的抗干擾能力,系統(tǒng)在使用現(xiàn)場數(shù)據(jù)通訊非??煽浚⑶彝ㄟ^CAN中繼器可以進一步提高通訊質(zhì)量和距離。隨著CAN總線芯片性能的提高、價格的降低,逐漸應(yīng)用到普通轎車上,也為其在農(nóng)業(yè)機械上的應(yīng)用提供了條件。研究CAN總線在拖拉機等農(nóng)業(yè)機械上的應(yīng)用,對于提高農(nóng)機性能和經(jīng)濟性,促進我國農(nóng)業(yè)機械化發(fā)展,具有重要意義。
本文引用地址:http://m.butianyuan.cn/article/197565.htm
評論