CAN總線的數據校驗

題目來源

有很多網友在QQ上問關於CAN總線上數據需不需要加校驗,換句話說,CAN總線支不支持校驗,我們需要在我們的數據場(數據域)加上校驗碼嗎?答案是否定的。CAN總線在傳輸過程中採用多種抗干擾的措施。兩種重要的方式如下:
1. 位填充
2. CRC校驗

CAN總線上的消息幀結構

  1. CAN的消息幀結構

CAN總線上的校驗機制

CAN總線採用多種抗干擾措施以減少消息幀在傳輸過程中的出錯。

  1. 位填充技術是其中很重的一種。在CAN消息幀中,幀起始,仲裁場。控制場,數據場和CRC段,均以位填充方法進行編碼。當發送器在發送流中檢測到5個極性相同的連續位時,自動插入一個部補位碼。
  2. CRC場包括CRC序列和CRC界定符,用於檢驗的CRC序列特別適用於位數小於127位幀的循環冗餘碼(BCH碼)校驗驅動。CAN發送器會根據幀起始位,仲裁場,控制場,數據場,和進行編碼CRC序列。接受器接受數據時,按照同樣的規則對接受的數據進行CRC計算。然後比較,以判定數據在傳輸的過程中是否出錯。

小結

綜上說述,我們只關心我們怎麼發送數據,不用擔心數據在總線上會出錯,CAN技術以爲我們解決了數據是否出錯的檢驗工作。如果數據在總線出錯,我們的CAN驅動,有相應的函數可以讀取錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章