汽車(chē)前照燈CAN總線(xiàn)多路傳輸系統的研究與設計
3.3 主控節點(diǎn)軟件設計
主控節點(diǎn)軟件采用事件驅動(dòng)方式,事件信號由各種中斷信號產(chǎn)生;CPU在進(jìn)入中斷處理程序后,僅僅判斷事件類(lèi)型,設置相應的事件標志位,并不對事件做任何處理;主控節點(diǎn)主程序將循環(huán)讀取事件標志,并轉入相應的事件處理程序。
主控節點(diǎn)具有兩種工作模式。一種是系統中存在上位機,上位機作為命令發(fā)出點(diǎn),主控節點(diǎn)處于被動(dòng)控制模式。此時(shí),主控節點(diǎn)的工作是通過(guò)RS 232接收上位機的命令,分析命令的目的節點(diǎn),并將命令通過(guò)CAN網(wǎng)絡(luò )發(fā)送給目的節點(diǎn);同時(shí),主控節點(diǎn)檢測CAN網(wǎng)絡(luò )上的節點(diǎn)數據,將節點(diǎn)發(fā)出的數據通過(guò)RS 232發(fā)送給上位機;重復以上流程直到工作方式發(fā)生改變。在這種方式下主控節點(diǎn)的主要工作流程如圖6所示。

當系統中不存在上位機或上位機發(fā)出脫離系統命令后,主控節點(diǎn)進(jìn)入主動(dòng)控制工作模式。在這種狀態(tài)中,命令發(fā)送者為主控節點(diǎn),主控節點(diǎn)可通過(guò)定時(shí)器事件輪循查詢(xún)各節點(diǎn)工作狀態(tài);響應鍵盤(pán)事件,并根據用戶(hù)輸入的命令向目標節點(diǎn)發(fā)出命令或響應相應子節點(diǎn)的數據;通過(guò)LED燈顯示子節點(diǎn)工作狀態(tài)。
兩種工作模式間可以通過(guò)上位機發(fā)出命令、用戶(hù)通過(guò)鍵盤(pán)輸入命令以及主控節點(diǎn)查詢(xún)上位機工作狀態(tài)異常(如在被動(dòng)狀態(tài)中,上位機長(cháng)時(shí)間沒(méi)有命令)等幾種方式切換。
3.4 上位機監控系統設計
上位機監控系統基于C++設計,可以實(shí)現同時(shí)對多路數據進(jìn)行采集、存儲,并設計了圖形化的監控顯示。監控系統功能包括:
(1)向主控節點(diǎn)發(fā)出聯(lián)機或脫機命令,切換節點(diǎn)工作狀態(tài);
(2)定時(shí)發(fā)送節點(diǎn)查詢(xún)命令,查詢(xún)子節點(diǎn)工作狀況,更新系統節點(diǎn)表;
(3)根據用戶(hù)需要,定時(shí)向監控節點(diǎn)發(fā)送讀取命令,取得節點(diǎn)的監控數據,并保存數據,形成監控數據文件;
(4)以圖形化的方式顯示監控曲線(xiàn)。
上位機系統中還包含了數據分析功能,其中設計了算法接口;系統用戶(hù)可編寫(xiě)自己的算法庫,系統可調用用戶(hù)算法庫對采集的原始數據進(jìn)行進(jìn)一步的分析。
4 結語(yǔ)
由于CAN總線(xiàn)具有極強的抗干擾能力,系統在使用現場(chǎng)數據通訊非??煽?,并且通過(guò)CAN中繼器可以進(jìn)一步提高通訊質(zhì)量和距離。隨著(zhù)CAN總線(xiàn)芯片性能的提高、價(jià)格的降低,逐漸應用到普通轎車(chē)上,也為其在農業(yè)機械上的應用提供了條件。研究CAN總線(xiàn)在拖拉機等農業(yè)機械上的應用,對于提高農機性能和經(jīng)濟性,促進(jìn)我國農業(yè)機械化發(fā)展,具有重要意義。
本文引用地址:http://dyxdggzs.com/article/197565.htm
評論