• <del id="qqie6"><sup id="qqie6"></sup></del>
  • <tfoot id="qqie6"></tfoot>
  • <ul id="qqie6"></ul>
  • 產品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質分析|光譜儀|試驗機|試驗箱


    儀表網>技術中心>故障維護>正文

    歡迎聯系我

    有什么可以幫您? 在線咨詢

    如何保證CAN數據的正確性

       2017年07月19日 15:55  
      CANbus總線協議以高穩定性,高容錯率而著稱于世,然而仍有很多用戶在使用的時候擔心CAN會接受到錯誤的信息,在數據里增加了CRC校驗的部分,這種做法是否有必要,CAN 會收到錯誤的數據嗎?
     
      信息的傳遞,古往今來都是人類無比關注的一個問題。從zui原始的肢體語言到的電子信號,信息傳達的方法五花八門。而對于信息安全的追求也是從古至今未有變過,我國西周時期的《太公兵法》就有過“陰符”“陰書”的設計來保證信息的安全。
     

     
    圖 1讓人心憂的信息安全
     
      而在我們的工業生產中,為了保證信號的正確傳遞的方法更是五花八門。而在信息傳遞過程中采取CAN協議是一種常見的減少出錯率的方案。那么,問題來了,CAN協議何德何能能讓傳輸的信號不出錯呢?這里就讓我們來深入分析一番。利用CANScope總線綜合分析儀來抓取一幀CAN的報文如下:
     

     
    圖 2CANScope總線綜合分析儀抓取的報文
     
      從圖中可以看出CAN協議采取了差分信號傳輸的方式,可以有效杜絕來自外部的屏蔽干擾。而在zui后一行的協議解析部分,進過觀察我們發現一幀信號被分割成了不同顏色的一段段,每一段究竟是何含義?保證信號正確傳輸的秘密就隱藏在這些段落里。讓我們來庖丁解牛分別為大家分析下。
     
      數據頭:在數據的開始,是一個1位的數據頭,表示數據幀都開始
     

     
    圖 3數據頭
     
      仲裁段:標志了本幀數據的優先級,其中包含了一個ID碼,仲裁段中的ID碼值越小,幀數據的優先級就越高,CAN控制器在發送數據的同時會監聽電纜上的電平狀態,如果發現仲裁位的電平與本節點發出的電平不一致,則退出發送放棄總線使用權。這樣的設計可以提高總線的利用率,并且能讓重要的信息優先發送。
     

     
    圖 4仲裁段
     
      控制段:共六位,用于表示數據長度。在數據的控制段存有保留位以供未來協議規則擴展。
     

     
    圖 5控制段
     
      數據段:經過前面的鋪墊,數據段所編碼的即是本幀數據所需要傳達的信息。一幀信號可以傳送0~8位數據,每字節8位。短小精悍保證信息的實時性。
     

     
    圖 6數據段
     
      CRC段:CRC段即是保證數據準確的一個關鍵所在(敲黑板)。為防止信號由于某種原因被更改,CAN的數據鏈路層上加入了CRC校驗。發送節點會根據發送內容計算得到一個CRC值填入CRC段進行發送,而相應的接收節點也會對接收到的數據進行計算,并將計算出的CRC值和接收到的進行比對。能夠對得上暗號的才是自己人,如果對照有誤那么就說明傳輸的信號出現了問題,需要反饋錯誤消息。這樣的機制保證了CAN不會收到錯誤的信息,其安全性毋庸置疑。
     

     
    圖 7CRC段
     
      ACK段:用于表征信號是否被正確接收,接受正常的節點在ACK的*位會發出一個顯性位。根據ACK的狀態,發送節點就可以了解到數據是否被傳輸成功。若發送失敗,發送節點會根據自身狀態來決定是否重傳。
     

     
    圖 8ACK段
     
      幀結束:由7個隱性位組成,表示該幀結束。
     

     
    圖 9幀結束
     
      經過這樣一番抽絲剝繭的分析,CAN的報文結構就這樣清晰的展現在我們面前。由于CRC 段的存在,CAN出錯的概率十分之小。
     
      CRC校驗所使用的CRC多項式zui多可以檢測出5個離散錯誤,或發現長度在15位以下偶然出現的突發錯誤。CRC校驗對SOF位、仲裁段、控制段和數據段的位序列進行計算,但不考慮填充位。CAN協議中規定的15位校驗序列源自于BCH代碼,它是一種特別適用于127位以下消息長度的循環代碼。CAN協議中所應用的15位多項式如下:
     

     
      在發送或接收收到數據場的zui后一位后,CRC寄存器就會包含待傳輸或者待接收的CRC序列。將計算出的CRC序列與接收到的CRC序列相除,接收器就可以識別出可能存在的CRC錯誤。
     
      有些工程師擔心CAN 收到錯誤的信息,在數據中又做了CRC校驗的工作,豈不知在數據鏈路層CAN已經自備了CRC校驗的工作,在數據中再加入CRC校驗實際上是沒有什么必要的。
     

     
      CAN總線不但規定了物理層的差分傳輸規范,還規定了數據鏈路層的分包校驗規則,而這兩個都是由硬件自動完成,接收時,無需考慮是否有錯誤,只要從緩沖區取出數據即可,CAN的CRC校驗可以保證錯誤率在10的-9次方以下,毫無疑問是一種非常安全可靠的傳輸協議。
     

     
      CAN總線在信號的實時傳輸方面具有非常好的*性,通過CANscope總線分析儀可以很好的完成CAN總線的故障排查與檢測標定。致遠電子憑借自身掌握的核心技術可為用戶解決工業現場的各種疑難問題,期待與您一同成長。

    免責聲明

    • 凡本網注明“來源:儀表網”的所有作品,均為浙江興旺寶明通網絡有限公司-儀表網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:儀表網”。違反上述聲明者,本網將追究其相關法律責任。
    • 本網轉載并注明自其它來源(非儀表網)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。
    • 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
    聯系我們

    客服熱線: 15024464426

    加盟熱線: 15024464426

    媒體合作: 0571-87759945

    投訴熱線: 0571-87759942

    關注我們
    • 下載儀表站APP

    • Ybzhan手機版

    • Ybzhan公眾號

    • Ybzhan小程序

    企業未開通此功能
    詳詢客服 : 0571-87759942
    主站蜘蛛池模板: 亚洲欧美成人完整版在线| 国产成人免费高清在线观看| 成人午夜精品久久久久久久小说| 精品成人一区二区三区四区| 成人一级黄色毛片| 久久成人福利视频| 成人免费在线视频网站| 午夜成人精品福利网站在线观看| 久久亚洲国产成人精品无码区 | 欧美人成人亚洲专区中文字幕| 成人欧美一区二区三区1314| 国产成人精品免费视频软件| 亚洲伊人成人网| 国产成人久久综合二区| 欧美成人看片一区二区三区 | 成人a毛片在线看免费全部播放| 国产成人a毛片在线| 欧美成人免费一区在线播放| 国产成人一区二区三区高清| 成人黄色在线网站| 久久亚洲精品成人| 噜噜噜亚洲色成人网站| 成人午夜国产内射主播| 久久精品成人免费观看| 国产成人精品一区二区三在线观看| 欧美成人在线免费观看| 久久亚洲AV成人无码| 国产成人免费在线| 国产精品成人免费视频网站| 成人白浆超碰人人人人| 欧美亚洲国产成人不卡| 青青青国产成人久久111网站| 免费观看成人羞羞视频软件| 国产成人一区二区三区高清| 成人免费视频网站www| 日韩国产成人资源精品视频 | 成人免费无遮挡无码黄漫视频| 一级毛片成人免费看免费不卡| 动漫成人在线观看| 中文字幕成人免费高清在线| 亚洲成人免费看|