CAN:Controller Area Network,控制器局域網
是一種能有效支持分布式控制和實時控制的串行通訊網絡。
CAN-bus: Controller Area Network-bus,控制器局域網總線技術
CAN總線系統結構
- CAN 控制器
接收控制單元中微處理器發出的數據,處理數據並傳給CAN收發器
- CAN收發器
將數據傳到總線 or 從總線接收數據給控制器
- CAN數據傳遞終端
避免數據傳輸終了反射回來
-
CAN數據總線
傳輸數據的數據線,兩根 CAN-high and CAN-low,差分信號


CAN總線系統的數據傳輸
CAN總線節點上的節點發送數據是以報文的形式廣播給網絡中所有節點。收發器接收到數據就把數據傳送給控制器,再由控制器檢查判斷是不是所需數據。不是則忽略。
- 網絡上任何一個節點在任何時候都可以發送數據
- 多個節點發送數據,優先級低主動退出發送
- 短幀結構,每幀數據信息為0~8字節(具體用戶定義),對數據編碼而不是地址編碼
- CAN每幀都有CRC校驗和其他檢驗措施,嚴重錯誤的情況下具有自動關閉輸出的功能
CAN總線系統數據格式
CAN-bus通信幀共分為數據幀、遠程幀、錯誤幀、過載幀和幀間隔
五種類型。
-
數據幀
結構上由7個段組成,其中根據仲裁段ID碼長度的不同,分為標准幀(CAN2.0A)和擴展幀(CAN2.0B)。

幀起始、幀結束

仲裁段

顯性隱性

總線仲裁


- 從該分析過程得出結論是:幀ID值越小,優先級越高
-
對於同為擴展格式數據幀、標准格式遠程幀和擴展格式遠程幀的情況同理。


控制段

數據段

CRC段

ACK段

遠程幀

數據幀與遠程幀的區別

CAN-bus 錯誤類型



過載幀

幀間隔


