一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CAN/CAN FD通信中的循環(huán)冗余校驗(yàn)(CRC)方法

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-26 02:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)據(jù)校驗(yàn)是為保證數(shù)據(jù)的完整性進(jìn)行的一種驗(yàn)證操作。CAN通信采用CRC校驗(yàn)作為一種重要的錯(cuò)誤檢測(cè)手段,是節(jié)點(diǎn)判斷CAN幀信息的完整性并產(chǎn)生確認(rèn)應(yīng)答的依據(jù)。

在現(xiàn)場(chǎng)總線通信和控制的實(shí)際應(yīng)用中,工業(yè)應(yīng)用環(huán)境往往是極端的溫度以及電磁噪聲或是其他的惡劣環(huán)境,系統(tǒng)在這種條件下能否正常工作至關(guān)重要,試想一下倘若生產(chǎn)線設(shè)備發(fā)送的位置信息在傳輸過(guò)程出現(xiàn)了錯(cuò)誤,輕則可能造成生產(chǎn)癱瘓,重則可能導(dǎo)致設(shè)備損壞甚至人員傷害。

在CAN總線通信過(guò)程中CAN控制器具備完整的錯(cuò)誤檢測(cè)能力,其中包含:位錯(cuò)誤檢測(cè)、格式錯(cuò)誤檢測(cè)、填充錯(cuò)誤檢測(cè)、應(yīng)答錯(cuò)誤檢測(cè)和CRC錯(cuò)誤檢測(cè)。作為一種重要的錯(cuò)誤檢測(cè)手段,CRC錯(cuò)誤檢測(cè)是接收節(jié)點(diǎn)判斷CAN幀信息的完整性并向總線確認(rèn)應(yīng)答的依據(jù)。

常見(jiàn)的校驗(yàn)方法

1、最簡(jiǎn)單的校驗(yàn)是數(shù)據(jù)發(fā)送后進(jìn)行主動(dòng)回讀,結(jié)果一致才確認(rèn)傳輸成功,很顯然這種傳輸溝通的方式很直觀并非常精準(zhǔn),但是由于回讀的操作使得數(shù)據(jù)傳輸量翻倍,也就是傳輸對(duì)帶寬要求高且效率低下。

2、奇偶校驗(yàn),就是傳輸中使用額外1個(gè)位來(lái)記錄傳輸數(shù)據(jù)二進(jìn)制數(shù)中1的個(gè)數(shù)是奇數(shù)還是偶數(shù),這個(gè)方案適合絕大多數(shù)硬件,傳輸開(kāi)銷適中,因此被廣泛使用,例如常見(jiàn)的串口通信。

3、累加和校驗(yàn),該算法原理是對(duì)數(shù)據(jù)逐一進(jìn)行累加后得到一個(gè)數(shù)值,接收方在接收數(shù)據(jù)同時(shí)也進(jìn)行數(shù)據(jù)的累加并最終與發(fā)送過(guò)來(lái)的累加和進(jìn)行比較,該算法計(jì)算簡(jiǎn)單,無(wú)論在硬件或是軟件實(shí)現(xiàn)都能保證較高的效率,常用于低速串行數(shù)據(jù)通信校驗(yàn)和芯片代碼的完整性判斷。

4、CRC檢驗(yàn),該算法是基于一個(gè)多項(xiàng)式除法取余的結(jié)果,其根據(jù)位數(shù)需求和多項(xiàng)式變化有數(shù)十種版本,憑借其硬件實(shí)現(xiàn)簡(jiǎn)單,位反轉(zhuǎn)偵錯(cuò)能力較強(qiáng)及運(yùn)算開(kāi)銷適中的優(yōu)點(diǎn)被廣泛應(yīng)用與數(shù)字網(wǎng)絡(luò)傳輸以及數(shù)據(jù)存儲(chǔ)領(lǐng)域,如磁盤(pán)數(shù)據(jù)校驗(yàn)、USB、GSM/CDMA通信,在計(jì)算機(jī)應(yīng)用中經(jīng)常接觸到的RAR和ZIP文件的壓縮/解壓數(shù)據(jù)完整性檢查也采用了該算法。

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

CAN幀中的CRC檢驗(yàn)

1、CRC域在CAN幀中的位置

圖1

如圖1橙色塊方框所示,一個(gè)傳統(tǒng)CAN幀結(jié)構(gòu)中,CRC域放置在數(shù)據(jù)結(jié)束后應(yīng)答檢測(cè)之前,對(duì)于CAN FD也是相同的位置,該信息對(duì)于用戶應(yīng)用界面來(lái)說(shuō)是不可見(jiàn)的,可以通過(guò)CANscope總線分析儀解碼窗口或者帶有CAN協(xié)議解碼能力的示波器從總線模擬波形上得到對(duì)應(yīng)的CRC數(shù)據(jù)展示,見(jiàn)圖2。

圖2

2、CRC的在CAN幀中的生成

在經(jīng)典CAN中,使用15位CRC,在硬件可使用移位和異或運(yùn)算完成CRC的計(jì)算,而CAN FD規(guī)范中對(duì)幀數(shù)據(jù)長(zhǎng)度進(jìn)行了擴(kuò)展,對(duì)于數(shù)據(jù)長(zhǎng)度小于等于16字節(jié)的CAN FD幀,采用17位CRC,對(duì)于數(shù)據(jù)長(zhǎng)度大于16字節(jié)的CAN FD幀采用21位CRC。CAN總線中使用的若干版本CRC生成多項(xiàng)式g整理如表1所示。

表1

3、CRC是如何完成校驗(yàn)工作的

CAN幀基于CRC多項(xiàng)式的安全校驗(yàn)是發(fā)送器根據(jù)發(fā)送的比特計(jì)算校驗(yàn)值,并在CAN幀結(jié)構(gòu)CRC字段中提供該結(jié)果。接收器使用相同的多項(xiàng)式來(lái)計(jì)算總線上所見(jiàn)位的校驗(yàn)值,將自我計(jì)算的校驗(yàn)值與接收的校準(zhǔn)值進(jìn)行比較,如果匹配,則認(rèn)為幀被正確接收,接收節(jié)點(diǎn)在ACK時(shí)隙位中發(fā)送顯性狀態(tài),從而覆蓋發(fā)送器的隱性狀態(tài)。在不匹配的情況下,接收節(jié)點(diǎn)在ACK定界符之后發(fā)送錯(cuò)誤幀。

目前CAN FD的控制器CRC校驗(yàn)實(shí)現(xiàn)過(guò)程會(huì)相對(duì)復(fù)雜一點(diǎn),在一個(gè)CAN總線網(wǎng)絡(luò)中,幀起始被檢測(cè)到后所有的節(jié)點(diǎn)開(kāi)始使用三組多項(xiàng)式g15、g17和g21同步計(jì)算CRC序列,其中也包含發(fā)送節(jié)點(diǎn),由于CRC的計(jì)算受CAN幀類型和DLC長(zhǎng)度影響,直到CAN幀的控制域以及DLC確認(rèn)后才選擇采用對(duì)應(yīng)的CRC生成序列,確定的CRC序列會(huì)在幀結(jié)構(gòu)中CRC字段被采納用于發(fā)送或者用于接收比較。

4、有關(guān)CRC的ISO CAN FD、non-ISO CAN FD兼容性問(wèn)題

當(dāng)前CAN FD協(xié)議有兩個(gè)版本,為提高故障(錯(cuò)誤)檢測(cè)能力,新版本特別引入了一個(gè)3位填充位計(jì)數(shù)器和一個(gè)額外的奇偶校驗(yàn)位。此外,CRC計(jì)算方法也發(fā)生了變化。這些改進(jìn)使最新的CAN FD協(xié)議與博世BOSCH)開(kāi)發(fā)的原始CAN FD協(xié)議不兼容。負(fù)責(zé)ISO的工作組已完成其文件,并已將其提交給DIS(國(guó)際標(biāo)準(zhǔn)草案)在進(jìn)行投票程序。

為了避免誤解,CiA建議使用術(shù)語(yǔ)“ISO CAN FD”和“non-ISO CAN FD”。所有符合ISO 11898-2:2015的產(chǎn)品都應(yīng)稱為“ISO CAN FD”。執(zhí)行博世(BOSCH)原始CAN FD協(xié)議的產(chǎn)品應(yīng)命名為“non-ISO CAN FD”,在這個(gè)過(guò)度階段的產(chǎn)品主要目的是用于前期評(píng)估和開(kāi)發(fā),將來(lái)所有產(chǎn)品都將符合ISO標(biāo)準(zhǔn)。

請(qǐng)注意,早前一些供應(yīng)商提供的組件或者工具是針對(duì)non-ISO CAN FD協(xié)議的,包括目前在售的部分CAN FD產(chǎn)品,CiA建議僅使用ISO CAN FD產(chǎn)品進(jìn)行設(shè)計(jì)和開(kāi)發(fā),不過(guò)你可繼續(xù)使用non-ISO CAN FD做評(píng)估和前期開(kāi)發(fā),因?yàn)閰f(xié)議的改變對(duì)于用戶界面是不可見(jiàn),但注意的是不能同一個(gè)網(wǎng)絡(luò)混用non-ISO CAN FD和ISO CAN FD接口設(shè)備,這樣會(huì)造成CAN總線錯(cuò)誤無(wú)法完成發(fā)送和接收,如果僅僅是發(fā)送或接收傳統(tǒng)的CAN幀將不會(huì)受到任何影響,幸運(yùn)的是部分設(shè)備供應(yīng)商提供的組件或者工具允許用戶選擇支持ISO或者non-ISO模式,這樣能很好地在過(guò)渡時(shí)期幫助你完成工作。

總結(jié)

傳統(tǒng)CAN以及目前CAN FD采取的校驗(yàn)機(jī)制,保證傳輸過(guò)程中遭受破壞的幀數(shù)據(jù)幾乎不會(huì)被接收以及應(yīng)答成功,能有效防止物理層傳輸錯(cuò)誤,讓用戶界面不需要額外關(guān)注幀傳輸數(shù)據(jù)的正確性。

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2921

    瀏覽量

    467939
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6207

    瀏覽量

    137870
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    第十八章 淺談循環(huán)冗余校驗(yàn)(CRC)計(jì)算單元

    本篇文章介紹了CRC循環(huán)冗余校驗(yàn)),其計(jì)算單元用 CRC-32多項(xiàng)式,32位數(shù)據(jù)寄存器,4個(gè)AHB時(shí)鐘周期完成計(jì)算。含數(shù)據(jù)、獨(dú)立數(shù)據(jù)和控制
    的頭像 發(fā)表于 05-29 11:00 ?393次閱讀
    第十八章 淺談<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗(yàn)</b>(<b class='flag-5'>CRC</b>)計(jì)算單元

    【全網(wǎng)最直白】CAN FDCAN XL到底差在哪?#CANXL #CANoe

    CAN
    北匯信息POLELINK
    發(fā)布于 :2025年05月07日 22:29:51

    如何從傳統(tǒng)的CAN用法中設(shè)置CAN-FD?

    您好 NXP: 我們?cè)?s32k312 平臺(tái)中使用了經(jīng)典的 CAN 總線(2.0/固定 8 字節(jié)數(shù)據(jù)),現(xiàn)在我們想升級(jí) CAN-FD 格式。我設(shè)置了 CAN-FD 參數(shù)(經(jīng)典 CAN
    發(fā)表于 04-14 11:32

    CAN轉(zhuǎn)CAN中繼網(wǎng)橋的應(yīng)用案例

    CAN轉(zhuǎn)CAN中繼網(wǎng)橋在工業(yè)通信中常用于擴(kuò)展網(wǎng)絡(luò)距離、隔離干擾或連接不同波特率的CAN網(wǎng)絡(luò)。
    的頭像 發(fā)表于 04-11 17:17 ?565次閱讀

    基于Verilog語(yǔ)言實(shí)現(xiàn)CRC校驗(yàn)

    CRC循環(huán)冗余校驗(yàn)碼:是數(shù)據(jù)通信領(lǐng)域中最常用的一種查錯(cuò)校驗(yàn)碼,其特征是信息字段和
    的頭像 發(fā)表于 03-24 10:36 ?1470次閱讀
    基于Verilog語(yǔ)言實(shí)現(xiàn)<b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)</b>

    廣成科技CAN FD轉(zhuǎn)以太網(wǎng)模塊的應(yīng)用場(chǎng)景

    CAN FD轉(zhuǎn)以太網(wǎng)模塊在多個(gè)領(lǐng)域和項(xiàng)目中都有廣泛應(yīng)用,主要用于實(shí)現(xiàn)CAN FD總線與以太網(wǎng)之間的數(shù)據(jù)轉(zhuǎn)換和通信。
    的頭像 發(fā)表于 02-17 10:38 ?553次閱讀

    ROHM推出支持CAN FD的TVS二極管系列

    重要性日益凸顯。ROHM的ESDCANxx系列二極管,能夠在不損害CAN FD等高速通信中傳輸信號(hào)質(zhì)量的前提下,為ECU等電子設(shè)備提供
    的頭像 發(fā)表于 12-27 14:25 ?582次閱讀

    ROHM支持“CAN FD”的TVS二極管“ESDCANxx系列”

    全球知名半導(dǎo)體制造商ROHM(總部位于日本京都市)面向隨著自動(dòng)駕駛和高級(jí)駕駛輔助系統(tǒng)(ADAS)的發(fā)展而需求不斷增長(zhǎng)的高速車載通信系統(tǒng),開(kāi)發(fā)出支持CAN FD(CAN with Fle
    的頭像 發(fā)表于 12-25 14:40 ?614次閱讀
    ROHM支持“<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>”的TVS二極管“ESDCANxx系列”

    CAN FD與傳統(tǒng)CAN的區(qū)別是什么

    隨著汽車電子、工業(yè)自動(dòng)化的蓬勃發(fā)展,CAN總線上的設(shè)備數(shù)量、數(shù)據(jù)量都大大增加,給CAN總線帶來(lái)了極大的挑戰(zhàn)。為滿足更高的帶寬及數(shù)據(jù)吞吐量,CAN FD
    的頭像 發(fā)表于 10-22 10:47 ?1306次閱讀
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>與傳統(tǒng)<b class='flag-5'>CAN</b>的區(qū)別是什么

    CAN-FDCAN總線網(wǎng)絡(luò)第二章

    日常工作中使用 CAN FD 的公司實(shí)習(xí)。無(wú)論哪種方式,本指南都會(huì)向您展示 CAN FD:具有靈活數(shù)據(jù)的 CAN 的相似點(diǎn)、差異和用例。
    的頭像 發(fā)表于 10-02 15:20 ?548次閱讀
    <b class='flag-5'>CAN-FD</b>:<b class='flag-5'>CAN</b>總線網(wǎng)絡(luò)第二章

    MCAN(CAN FD)模塊入門(mén)

    電子發(fā)燒友網(wǎng)站提供《MCAN(CAN FD)模塊入門(mén).pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:08 ?0次下載
    MCAN(<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>)模塊入門(mén)

    從替代到創(chuàng)新,國(guó)產(chǎn)CAN FD芯片持續(xù)突破

    電子發(fā)燒友網(wǎng)報(bào)道(文/吳子鵬)隨著汽車電子、工業(yè)自動(dòng)化設(shè)備的發(fā)展迭代,CAN總線上的設(shè)備、數(shù)據(jù)量都大大增加,給CAN總線帶來(lái)了極大的挑戰(zhàn)。因此,CAN FD應(yīng)運(yùn)而生。
    的頭像 發(fā)表于 09-02 08:13 ?8309次閱讀

    虹科技術(shù) 全新Linux環(huán)境PCAN驅(qū)動(dòng)程序發(fā)布!CAN/CAN FD通信體驗(yàn)全面升級(jí)!

    全新8.17.0版本的PCAN-Linux驅(qū)動(dòng)程序正式發(fā)布,專為CANCAN FD接口量身打造。無(wú)論是CAN 2.0 a/b還是CAN
    的頭像 發(fā)表于 08-29 09:36 ?855次閱讀
    虹科技術(shù) 全新Linux環(huán)境PCAN驅(qū)動(dòng)程序發(fā)布!<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b><b class='flag-5'>通信</b>體驗(yàn)全面升級(jí)!

    CAN FD如何滿足工業(yè)設(shè)備對(duì)高效數(shù)據(jù)通信的需求?

    電子發(fā)燒友網(wǎng)報(bào)道(文/吳子鵬)作為CAN總線的升級(jí)版,CAN FDCAN with Flexible Data rate)在數(shù)據(jù)長(zhǎng)度和帶寬方面做了明顯的拓展和增強(qiáng),滿足工業(yè)和汽車應(yīng)用
    的頭像 發(fā)表于 08-22 18:08 ?6811次閱讀

    CAN/CAN FD/CAN XL三大總線協(xié)議解讀,是逐步替代關(guān)系嗎?

    電子發(fā)燒友網(wǎng)報(bào)道(文/吳子鵬)在軟件定義汽車逐漸成為主流的當(dāng)下,數(shù)據(jù)傳輸?shù)乃俣群托食蔀榇蛟熘悄芷嚨钠款i,在這種大背景下,傳統(tǒng)CAN總線應(yīng)對(duì)一些需求已經(jīng)相當(dāng)吃力,因此CAN FDCAN
    的頭像 發(fā)表于 08-12 01:12 ?5674次閱讀