色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CRC是如何完成校驗工作的?

AGk5_ZLG_zhiyua ? 來源:YXQ ? 2019-08-06 16:50 ? 次閱讀

數據校驗是為保證數據的完整性進行的一種驗證操作。CAN通信采用CRC校驗作為一種重要的錯誤檢測手段,是節點判斷CAN幀信息的完整性并產生確認應答的依據。

在現場總線通信和控制的實際應用中,工業應用環境往往是極端的溫度以及電磁噪聲或是其他的惡劣環境,系統在這種條件下能否正常工作至關重要,試想一下倘若生產線設備發送的位置信息在傳輸過程出現了錯誤,輕則可能造成生產癱瘓,重則可能導致設備損壞甚至人員傷害。

在CAN總線通信過程中CAN控制器具備完整的錯誤檢測能力,其中包含:位錯誤檢測、格式錯誤檢測、填充錯誤檢測、應答錯誤檢測和CRC錯誤檢測。作為一種重要的錯誤檢測手段,CRC錯誤檢測是接收節點判斷CAN幀信息的完整性并向總線確認應答的依據。1、最簡單的校驗是數據發送后進行主動回讀,結果一致才確認傳輸成功,很顯然這種傳輸溝通的方式很直觀并非常精準,但是由于回讀的操作使得數據傳輸量翻倍,也就是傳輸對帶寬要求高且效率低下。

2、奇偶校驗,就是傳輸中使用額外1個位來記錄傳輸數據二進制數中1的個數是奇數還是偶數,這個方案適合絕大多數硬件,傳輸開銷適中,因此被廣泛使用,例如常見的串口通信。

3、累加和校驗,該算法原理是對數據逐一進行累加后得到一個數值,接收方在接收數據同時也進行數據的累加并最終與發送過來的累加和進行比較,該算法計算簡單,無論在硬件或是軟件實現都能保證較高的效率,常用于低速串行數據通信校驗和芯片代碼的完整性判斷。

4、CRC檢驗,該算法是基于一個多項式除法取余的結果,其根據位數需求和多項式變化有數十種版本,憑借其硬件實現簡單,位反轉偵錯能力較強及運算開銷適中的優點被廣泛應用與數字網絡傳輸以及數據存儲領域,如磁盤數據校驗、USB、GSM/CDMA通信,在計算機應用中經常接觸到的RAR和ZIP文件的壓縮/解壓數據完整性檢查也采用了該算法。

5、MD5、SHA為代表的信息摘要校驗,數據摘要算法也被稱為哈希(Hash)算法、散列算法,摘要算法用于數據量比較大的場合。它通過對所有數據提取指紋信息以實現數據簽名、數據完整性校驗等功能,由于其不可逆性,有時候會被用做敏感信息的加密,如軟件注冊授權文件的內容保護,還有經常遇到的互聯網下載大文件(例如大小到GB級別的ISO鏡像)通常會帶有MD5、SHA1等信息方便用戶檢查傳輸數據的完整性。

1、CRC域在CAN幀中的位置

圖1

如圖1橙色塊方框所示,一個傳統CAN幀結構中,CRC域放置在數據結束后應答檢測之前,對于CAN FD也是相同的位置,該信息對于用戶應用界面來說是不可見的,可以通過CANscope總線分析儀解碼窗口或者帶有CAN協議解碼能力的示波器從總線模擬波形上得到對應的CRC數據展示,見圖2。

圖2

2、CRC的在CAN幀中的生成

在經典CAN中,使用15位CRC,在硬件可使用移位和異或運算完成CRC的計算,而CAN FD規范中對幀數據長度進行了擴展,對于數據長度小于等于16字節的CAN FD幀,采用17位CRC,對于數據長度大于16字節的CAN FD幀采用21位CRC。CAN總線中使用的若干版本CRC生成多項式g整理如表1所示。

表1

3、CRC是如何完成校驗工作的

CAN幀基于CRC多項式的安全校驗是發送器根據發送的比特計算校驗值,并在CAN幀結構CRC字段中提供該結果。接收器使用相同的多項式來計算總線上所見位的校驗值,將自我計算的校驗值與接收的校準值進行比較,如果匹配,則認為幀被正確接收,接收節點在ACK時隙位中發送顯性狀態,從而覆蓋發送器的隱性狀態。在不匹配的情況下,接收節點在ACK定界符之后發送錯誤幀。

目前CAN FD的控制器CRC校驗實現過程會相對復雜一點,在一個CAN總線網絡中,幀起始被檢測到后所有的節點開始使用三組多項式g15、g17和g21同步計算CRC序列,其中也包含發送節點,由于CRC的計算受CAN幀類型和DLC長度影響,直到CAN幀的控制域以及DLC確認后才選擇采用對應的CRC生成序列,確定的CRC序列會在幀結構中CRC字段被采納用于發送或者用于接收比較。

4、有關CRC的ISO CAN FD、non-ISO CAN FD兼容性問題

當前CAN FD協議有兩個版本,為提高故障(錯誤)檢測能力,新版本特別引入了一個3位填充位計數器和一個額外的奇偶校驗位。此外,CRC計算方法也發生了變化。這些改進使最新的CAN FD協議與博世BOSCH)開發的原始CAN FD協議不兼容。負責ISO的工作組已完成其文件,并已將其提交給DIS(國際標準草案)在進行投票程序。

為了避免誤解,CiA建議使用術語“ISO CAN FD”和“non-ISO CAN FD”。所有符合ISO 11898-2:2015的產品都應稱為“ISO CAN FD”。執行博世(BOSCH)原始CAN FD協議的產品應命名為“non-ISO CAN FD”,在這個過度階段的產品主要目的是用于前期評估和開發,將來所有產品都將符合ISO標準。

請注意,早前一些供應商提供的組件或者工具是針對non-ISO CAN FD協議的,包括目前在售的部分CAN FD產品,CiA建議僅使用ISO CAN FD產品進行設計和開發,不過你可繼續使用non-ISO CAN FD做評估和前期開發,因為協議的改變對于用戶界面是不可見,但注意的是不能同一個網絡混用non-ISO CAN FD和ISO CAN FD接口設備,這樣會造成CAN總線錯誤無法完成發送和接收,如果僅僅是發送或接收傳統的CAN幀將不會受到任何影響,幸運的是部分設備供應商提供的組件或者工具允許用戶選擇支持ISO或者non-ISO模式,這樣能很好地在過渡時期幫助你完成工作。

總結

傳統CAN以及目前CAN FD采取的校驗機制,保證傳輸過程中遭受破壞的幀數據幾乎不會被接收以及應答成功,能有效防止物理層傳輸錯誤,讓用戶界面不需要額外關注幀傳輸數據的正確性。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CRC校驗
    +關注

    關注

    0

    文章

    84

    瀏覽量

    15211
  • 數據校驗
    +關注

    關注

    0

    文章

    5

    瀏覽量

    6779

原文標題:詳解CAN/CAN FD通信中的循環冗余校驗(CRC)方法

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ADS131B04-Q1 SPI通信時,為什么無法得到正常的CRC校驗

    你好,我使用 ADS131B04 進行產品開發,使用中遇到如下問題還請幫忙解答。謝謝。 1 . SPI 通信時 CRC 不清楚怎么使用,按如下方法使用時無法得到正常的CRC 校驗。 初始化代碼如下
    發表于 11-22 06:40

    TAS5805內部的硬件CRC8對應標準的哪種? CRC校驗的數據是offset和value值嗎?

    TAS5805 內部的硬件 CRC8 對應標準的哪種? CRC 校驗的數據是 offset 和 value 值嗎?用 PPC 加載文件計算出來的值和在線CRC計算工具計算的值不一樣。
    發表于 10-12 06:19

    CRC實施

    電子發燒友網站提供《CRC實施.pdf》資料免費下載
    發表于 09-26 09:44 ?0次下載
    <b class='flag-5'>CRC</b>實施

    請問InDTU IHDMP協議使用的CRC校驗使用的什么參數模型?

    InDTU IHDMP協議使用的CRC校驗使用的什么參數模型?
    發表于 07-25 06:39

    詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗方法

    面對切換工具鏈的用戶來說,在TSMaster上完成總線通訊中的CRC/E2E校驗處理不是特別熟悉,該文章可以協助客戶快速使用TSMaster完成CAN/CANFD總線通訊的
    的頭像 發表于 05-25 08:21 ?2437次閱讀
    詳解TSMaster CAN 與 CANFD 的 <b class='flag-5'>CRC</b> E2E <b class='flag-5'>校驗</b>方法

    CRC(循環冗余校驗)應用舉例

    CRC(循環冗余校驗)應用舉例
    的頭像 發表于 05-16 16:12 ?1264次閱讀

    Hex文件格式CRC校驗,怎么編寫計算校驗的程序?

    其中的一條記錄:1011000071079907E8071008D206FA0671079907D0 0xD0為校驗,但不知道怎么編寫計算校驗的程序。 校驗和的算法為:計算從0x3A 以后(不包括
    發表于 05-16 06:53

    請問stm32f103c8的usb需要crc模塊嗎?

    我按例子用 stm32cube mx做了一個鼠標的demo, 沒有用 stm32 cube 開啟crc也能使用,我看usb協議好像有crc 校驗的, 到底需不需要手動開啟呢?
    發表于 05-10 06:15

    stm32讀sd卡單個數據塊最后80個字節全是0,怎么crc校驗正確?

    stm32 讀sd卡單個數據塊最后80個字節全是0,怎么crc校驗正確。PS. 用的是SDIO口,4bit總線,1M的SDIO_CK.
    發表于 04-25 07:19

    新版CubeMX CRC校驗模塊沒有Config嗎?

    最近發現CubeMX CRC 模塊config 部分沒有了,也就是用戶只能使能CRC模塊而不能對其做設置嗎。嘗試著生成工程看來一下發現默認的是CRC32,輸入數據 輸出數據都是32位的。那么我希望
    發表于 04-03 08:04

    怎么使用hal accumulate函數完成crc分塊校驗與整體校驗crc值相等?

    怎么使用hal accumulate函數完成crc分塊校驗與整體校驗crc值相等
    發表于 03-27 07:46

    淺析MCU通信、存儲常用的簡單校驗算法

    UART有一個奇偶校驗,CAN通信有CRC校驗。Modbus、MAVlink、USB等通信協議也有校驗信息。
    的頭像 發表于 03-07 10:56 ?525次閱讀
    淺析MCU通信、存儲常用的簡單<b class='flag-5'>校驗</b>算法

    RA MCU中的CRC模塊和使用方法

    瑞薩RA單片機硬件CRC計算單元采用固定的多項式發生器來計算8位或者32位數據的CRC校驗值,對數據傳輸或數據存儲的一致性、完整性進行驗證。這篇文章重點介紹RA MCU中的CRC模塊和
    發表于 02-26 11:45 ?969次閱讀
    RA MCU中的<b class='flag-5'>CRC</b>模塊和使用方法

    什么是熱電偶校驗儀?它的工作原理是什么?

    什么是熱電偶校驗儀?它的工作原理是什么? 熱電偶校驗儀是一種用于測試和校準熱電偶的儀器。熱電偶是一種將溫度轉換為電信號的傳感器,由兩個不同金屬線材組成,通過端頭的接觸產生溫差電勢,從而測量溫度。由于
    的頭像 發表于 02-02 15:11 ?5631次閱讀

    fpga報告crc故障是什么意思

    常用的校驗方法,用于檢測和校正數據傳輸中的錯誤。在FPGA設計中,CRC故障指的是與CRC相關的錯誤或問題。 首先,讓我們了解CRC是什么以及它在數據傳輸中的作用。
    的頭像 發表于 01-04 11:06 ?1500次閱讀
    主站蜘蛛池模板: 国产精品爽黄69天堂A片| 美女议员被泄裸照| 涩涩视频www在线观看入口| 成人性生交片无码免费看 | 麻豆国产MV视频| brazzers情欲狂欢| 他揉捏她两乳不停呻吟口述| 国产囗交10p| 最近中文字幕2019国语4| 秋霞影音先锋一区二区| 国产精品爽爽久久久久久无码 | 2020精品极品国产色在线| 最新高清无码专区在线视频| 伦理在线影院伦理电影| 俄罗斯6一12呦女精品| 欧美又粗又大AAAA片| 国产精品成人久久久久A伋| 伊人精品国产| 色多多污版app下载网站| 精品亚洲永久免费精品| 成a人片亚洲日本久久| 夜色视频社区| 色多多旧版污污破解版| 恋孩癖网站大全在线观看| 国产国产成年在线视频区| 中文字幕专区高清在线观看 | 亚洲人成77777在线视频| 欧美精品v欧洲高清| 国精品产露脸偷拍视频| xx顶级欧美熟妞xxhd| 又黄又爽又无遮挡在线观看免费| 乳交高H糙汉宠文| 美女扒开尿孔| 精品久久久亚洲精品中文字幕| 动漫美女被到爽了流| 最近更新2019中文字幕免费| 小荡娃奶真大| 善良的小峓子2在钱中文版女主角| 美女视频黄色的| 精品无码一区二区三区不卡 | 超碰97超碰在线视频哦|