1. 程式人生 > >CAN協議,系統結構和幀結構

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

src 類型 微處理器 數據傳輸 www 地址 bus images 接收數據

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

    技術分享

    技術分享

    技術分享

    過載幀

    技術分享

    幀間隔

    技術分享

    技術分享

  • 轉載自:http://www.cnblogs.com/pejoicen/p/3986587.html

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