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