遠程幀
遠程幀由6個場組成:幀起始、仲裁場、控制場、CRC場、應答場和幀結束。遠程幀不存在數據場。
遠程幀的RTR位必須是隱位。
DLC的數據值是獨立的,它可以是0~8中的任何數值,為對應數據幀的數據長度。
錯誤幀
錯誤幀由兩個不同場組成,一個場由來自各站的錯誤標志疊加得到,第二個場是錯誤界定符
錯誤標志具有兩種形式:
活動錯誤標志(Active error flag),由6個連續的顯位組成
認可錯誤標志(Passive error flag),由6個連續的隱位組成
錯誤界定符包括8個隱位
超載幀
超載幀包括兩個位場:超載標志和超載界定符
發送超載幀的超載條件:
要求延遲下一個數據幀或遠程幀
在間歇場檢測到顯位
超載標志由6個顯位組成
超載界定符由8個隱位組成
數據錯誤檢測
不同于其它總線,CAN協議不能使用應答信息。事實上,它可以將發生的任何錯誤用信號發出。CAN協議可使用五種檢查錯誤的方法,其中前面三種為基于報文內容檢查。
如果你想正常的實現串口數據與CAN總線數據之間的轉換,如果你不想在數據轉換的時候發生丟幀現象,那濾波設置是必須的,濾的是CAN總線端的波。因為,相對而言,CAN總線的通訊速率遠高于串口總線,如果我們不進行濾波,單位時間里大量的CAN端數據就沒辦法同時被轉換成串口端的數據,比如說CAN端有10個數據,但同一時間串口端只能接收一個,那剩下的9個該怎么辦呢?只能丟失掉了,這當然是我們不能接收的。
CAN總線用戶接口簡單,編程方便。網絡拓撲結構采用總線式結構。這種網絡結構簡單、成本低,并且采用無源抽頭連接,系統可靠性高。通過CAN總線連接各個網絡節點,形成多主機控制器局域網(CAN)。信息的傳輸采用CAN通信協議,通過CAN控制器來完成。各網絡節點一般為帶有微控制器的智能節點完成現場的數據采集和基于CAN協議的數據傳輸,節點可以使用帶有在片CAN控制器的微控制器,或選用一般的微控制器加上獨立的CAN控制器來完成節點功能。