1. 程式人生 > >CAN匯流排學習記錄之二:系統結構與幀結構

CAN匯流排學習記錄之二:系統結構與幀結構

CAN匯流排系統結構

CAN 控制器 

接收控制單元中微處理器發出的資料,處理資料並傳給 CAN 收發器

CAN 收發器

將資料傳到匯流排 or 從匯流排接收資料給 CAN 控制器

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 錯誤型別

     

    過載幀

     

    幀間隔

     

本篇隨筆轉自:www.cnblogs.com/pejoicen/p/3986587.html,感謝博主!