CAN通信幀ID如何設定?



CAN總線ID是包含在報文幀中的。

1、主要用作CAN總線的仲裁使用,所以一般來說網絡上的每個節點(向總線上發送)的ID應該有所不同。ID值越低,報文優先級越高,在兩組不同ID報文同時上線時候,仲裁機制使得ID值低的占用總線,ID值高的退出。

2、ID域可以是11位和29位,其值和含義可以由用戶自定義,可以用作高層協議的管理,比如CANopen等協議中把ID的部分做為“源地址”,部分作為“目的地址”,這樣CAN報文從哪來到哪去都清晰了。

3、ID的另一個作用是配合接收方濾波使用,就是說一般接收的濾波器可以設定接收ID的范圍等,用於過濾掉不需要接收的信息,減輕CPU的處理負擔。

 

 

ID是賦給幀的,不是直接給節點的,只是某節點知道自己要接收某個ID的幀。總線上的節點來說它只管取總線上他應該取的ID的幀,並不管是誰發的。
即使是遠程幀,發出請求的節點在獲得相應時也僅僅是根據幀ID判定,並不影響其他節點的接收。

我們要從總線的角度去看待CAN,不要從節點的角度出發


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM