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