一種CAN息線報文優先級產生與檢測方法
軟件實施是嚴格依據基本原理設計的,各個節點的軟件實施流程如圖3所示。流程的幾點說明:本文引用地址:http://www.104case.com/article/195755.htm
①配置CAN位定時寄存器時要保證各節點的通信波特率嚴格一致;
②配置CAN接收碼和接收屏蔽寄存器時要保證節點1、2和3屏蔽總線上所有報文,節點4只接收來自節點2和節點3的報文;
③節點1軟件流程中第1次配置仲裁場、控制場及數據場是為連續報文發送作準備,第2次配置是為標定報文檢測起始標志作準備。
④節點1軟件流程中第1次鍵盤掃描目的是為啟動連續報文發送,第2次鍵盤掃描是為停止連續報文發送。
⑤CAN的MAC幀檢測是過檢測單元中斷服務程序實現的。
3.3 應用實例
以CAN總線實驗系統為平臺,利用CAN總線優先級檢測方法檢測報文優先級的實例如表1、表2和表3所列。表1給出了各節點實際設置發送的報文;根據方法的基本原理,表2給出了報文過濾設置情況;表3給出了節點1實際檢測到的CAN的MAC幀(灰色陰影標示位為位填充),其檢測到的順序從前到后依次是SENT_ID_12、SENT_ID_2、SENT_ID_3,實際檢測情況與理論分析相符,進而報文優先級得以驗證。另外,節點4液晶顯示接收到的報文順序也與理論分析相符合,更進一步證實了方法的可行性。
4 結 論
①CAN的MAC機制是帶優先級的非破壞性逐位仲裁機制,因此,CAN報文優先級的產生應以此為基礎。
②本文提出了一種CAN報文優先級產生與檢測的方法。該方法能夠直觀地展示CAN總線上信息優先級的競爭情況,有助于深入掌握、理解CAN總線的報文優先級、MAC機制及其相關技術內容;有助于對CAN總線機理與實質的深入研究,為更好地應用CAN總線奠定了理論基礎。
③本文所提出的方法已通過實驗系統驗證,結果證明該方法可行且效果良好。
評論