基于C8051F550的CAN總線智能節點的設計
3.2 CAN中斷服務程序
C8051F550的CAN支持的中斷方式有狀態中斷和模塊中斷。狀態中斷方式是在報文成功傳輸或檢測到CAN總線出錯時發生的。模塊中斷也稱消息中斷。CAN控制器允許用戶按需求配置消息對象成為中斷源。通過設置消息控制寄存器的中斷懸掛位可實現此功能。在CAN中斷寄存器中以最高優先級來指向這些掛起的中斷,而不考慮時序。狀態中斷有最高優先級,讀取狀態寄存器會自動清除狀態中斷值(8000h)。消息中斷優先級是隨消息編號的增加而減小。消息中斷是由清除消息對象的INTPND位來清除的。中斷服務流程圖如圖3所示。本文引用地址:http://www.104case.com/article/155931.htm
4 結束語
本系統的總線通信網絡已實現三個節點與上位機的連調,系統軟件采用結構化程序設計方案,使其具有較好的模塊化和可移植性,對于不同的系統功能或不同的應用環境,可以方便地進行編程重組。
本文設計的CAN總線通信網絡中的主從智能節點經過試驗調試,硬件電路工作正常,在總線數據采集系統中抗干擾能力強。軟件部分實時性強,準確率高。從節點可以實時地將信息傳送給主節點,以便主節點實時監控。整個節點通信系統工作穩定,可以滿足現場環境要求。
在設計過程中,認識到目前基于CAN2.0B協議的CAN控制器無法為實時和非實時性數據動態分配優先權,基于事件觸發模式的訪問機制無法滿足眾多節點的實時訪問。
評論