CAN協議,系統結構和幀結構


CAN:Controller Area Network,控制器局域網

是一種能有效支持分布式控制和實時控制的串行通訊網絡。

CAN-bus: Controller Area Network-bus,控制器局域網總線技術

 

CAN總線系統結構

  1. CAN 控制器

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

  1. CAN收發器

將數據傳到總線 or 從總線接收數據給控制器

  1. CAN數據傳遞終端

避免數據傳輸終了反射回來

  1. 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 錯誤類型

     

    過載幀

     

    幀間隔

     


免責聲明!

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



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