在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

CAN通信協(xié)議里一種checksum校驗和的方法

冬至子 ? 來源:知鋰 ? 作者:SW十五 ? 2023-10-31 12:58 ? 次閱讀

看到了一種checksum校驗和的方法,分享給大家。

為什么需要checksum

前段時間分享ISO 11898內(nèi)容的時候,提到了幀結(jié)構(gòu)里的CRC場。

CAN信號在傳輸?shù)臅r候,有可能會因為干擾、攻擊之類的原因產(chǎn)生錯誤,比如發(fā)送方要發(fā)1,結(jié)果傳輸錯誤,到接收方那就成0了。為了避免這種比特錯誤,數(shù)據(jù)鏈路層做了CRC(Cyclic Redundancy Check)校驗。

但是,CRC并不能檢測到所有的差錯,有些方式是可以騙過去的,就像黑客攻破防火墻一樣。為了盡可能保證數(shù)據(jù)傳輸?shù)臏蚀_性,我們用的CAN通信里還增加了checksum校驗和,checksum在傳輸層。

當然,checksum起初被發(fā)明是因為有些通信的數(shù)據(jù)鏈路層沒有CRC,新出的一種校驗方法。

另外,CRC和checksum只能做到無差錯接收,而不是可靠接收。接收方如果發(fā)現(xiàn)了比特錯誤,這幀報文不要了,那必然是少了一幀報文。為了避免這個問題,CAN有重傳和確認機制,接收方會發(fā)出信號告訴發(fā)送方有錯誤,那發(fā)送方將重傳該幀報文,接收方收到后回復確認后結(jié)束。

checksum舉例

我見過幾種checksum方式,下面以最近看到的一個為例。僅做分享。

圖片

checksum的計算方式

從上圖可以看出,這幀報文里Byte 0是checksum的值。checksum是所有字節(jié)模256的和的反。這里的所有字節(jié)就是Byte 1到Byte 7。

模256就是不考慮大于等于255的進位,只做8位以內(nèi)的算術(shù)加法,即求和的值不會比255(0xFF)更大了。

那怎么做到不比255(0xFF)大呢?求和后超過255的進位(Carry),再去求和(ADD)。這個進位(Carry)是放到LSB(Least Significant Bit,二進制的最低位)去求和的。

模256的和是sum,再對sum取反(inverted),得出checksum。

圖片

checksum的計算舉例

從圖里的例子可以計算,Byte 1(0x4A)+Byte 2(0x55)=0x9F,這里進位是0。

然后0x9F+Byte 3(0x93)=0x132,這個0x132就比0xFF大了,進位是1,那就把進位和該字節(jié)的Bit 0~Bit 7再求和。

圖片

依次計算,最后求得sum=0x20。再取反,得出checksum=0xDF。

接收方收到數(shù)據(jù)后,算出Byte 1到Byte 7的sum,再與發(fā)送方發(fā)出的checksum(Byte 0)相加,得出0xFF就說明該幀報文數(shù)據(jù)是正確的,可以接收。否則該幀報文棄之不用。

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

    關(guān)注

    5

    文章

    94

    瀏覽量

    17929
  • 接收機
    +關(guān)注

    關(guān)注

    8

    文章

    1184

    瀏覽量

    53566
  • 二進制
    +關(guān)注

    關(guān)注

    2

    文章

    795

    瀏覽量

    41718
  • CRC校驗
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

    15252
  • 信號傳輸
    +關(guān)注

    關(guān)注

    4

    文章

    436

    瀏覽量

    20242
收藏 人收藏

    評論

    相關(guān)推薦

    CAN總線通信協(xié)議的基礎知識

    本文將介紹CAN總線通信協(xié)議的基礎知識,目前的內(nèi)容僅為通用的協(xié)議部分,暫不涉及具體的外設模塊的用法。研究通信協(xié)議的具體內(nèi)容,主要是看建立通信
    的頭像 發(fā)表于 06-16 10:58 ?6817次閱讀
    <b class='flag-5'>CAN</b>總線<b class='flag-5'>通信協(xié)議</b>的基礎知識

    CAN通信協(xié)議

    CAN通信協(xié)議,需要的看看。
    發(fā)表于 04-19 17:11

    如何去設計一種點對點通信協(xié)議PPPoE模塊?

    如何去設計一種點對點通信協(xié)議PPPoE模塊?
    發(fā)表于 06-03 07:06

    STM32 CAN通信協(xié)議

    CAN 簡介CAN 是控制器區(qū)域網(wǎng)絡(Controller Area Network) 的縮寫(以下稱為CAN),是ISO國際標準化的串行通信協(xié)議。在當前的汽車產(chǎn)業(yè)中,出于對安全性、舒
    發(fā)表于 08-19 09:31

    一種支持TTL協(xié)議設備與CAN協(xié)議設備通信的電路

    本實用新型涉及通信電路,尤其是一種支持TTL協(xié)議設備與CAN協(xié)議設備通信的電路。背景技術(shù):
    發(fā)表于 08-23 08:31

    一種高效的串行通信協(xié)議的制定及實現(xiàn)

    一種高效的串行通信協(xié)議的制定及實現(xiàn)
    發(fā)表于 11-09 18:08 ?56次下載

    基于雙CAN總線的數(shù)字伺服通信協(xié)議

    基于雙CAN總線的數(shù)字伺服通信協(xié)議
    發(fā)表于 09-01 14:25 ?8次下載
    基于雙<b class='flag-5'>CAN</b>總線的數(shù)字伺服<b class='flag-5'>通信協(xié)議</b>

    CAN總線通信協(xié)議的分析和實現(xiàn) CAN總線通信協(xié)議以及其實現(xiàn)方法

    CAN總線通信協(xié)議的分析和實現(xiàn) CAN總線通信協(xié)議以及其實現(xiàn)方法
    發(fā)表于 09-04 08:45 ?40次下載
    <b class='flag-5'>CAN</b>總線<b class='flag-5'>通信協(xié)議</b>的分析和實現(xiàn) <b class='flag-5'>CAN</b>總線<b class='flag-5'>通信協(xié)議</b>以及其實現(xiàn)<b class='flag-5'>方法</b>

    一種輕量級的通信協(xié)議 - MAVLink

    一種輕量級的通信協(xié)議 - MAVLink
    的頭像 發(fā)表于 03-12 14:14 ?4757次閱讀
    <b class='flag-5'>一種</b>輕量級的<b class='flag-5'>通信協(xié)議</b> -  MAVLink

    CAN總線通信協(xié)議

    CAN總線通信協(xié)議詳細如下。
    發(fā)表于 04-19 16:54 ?78次下載

    CAN入門書之中文版CAN通信協(xié)議

    CAN入門書之中文版CAN通信協(xié)議
    發(fā)表于 11-18 16:36 ?0次下載

    個簡單的基礎通信協(xié)議的設計與實現(xiàn)

    之間的數(shù)據(jù)的穩(wěn)定傳輸,通信協(xié)議的設計需要考慮很多的問題。當然應對不同的應用場景,可以有針對性的設計不同的通信協(xié)議一種常見的通信協(xié)議格式這是一種
    發(fā)表于 12-14 18:38 ?10次下載
    <b class='flag-5'>一</b>個簡單的基礎<b class='flag-5'>通信協(xié)議</b>的設計與實現(xiàn)

    can總線的通信協(xié)議有哪些 CAN接口保護及工作原理

    CAN總線(Controller Area Network)是一種廣泛應用于汽車、工業(yè)自動化和其他領(lǐng)域的串行通信協(xié)議。以下是幾種常見的CAN總線通信
    的頭像 發(fā)表于 08-18 14:40 ?2.3w次閱讀
    <b class='flag-5'>can</b>總線的<b class='flag-5'>通信協(xié)議</b>有哪些 <b class='flag-5'>CAN</b>接口保護及工作原理

    CAN通信協(xié)議中有哪幾種幀類型?CAN通信中幀格式的作用

    CAN通信協(xié)議中有四幀類型,分別是數(shù)據(jù)幀、遠程幀、錯誤幀和過載幀。
    的頭像 發(fā)表于 01-30 09:18 ?5715次閱讀

    can通信協(xié)議主要由什么完成

    CAN(Controller Area Network)是一種基于消息的通信協(xié)議,主要用于汽車和工業(yè)領(lǐng)域。它是一種局域網(wǎng)技術(shù),允許多個設備在同
    的頭像 發(fā)表于 06-16 10:29 ?655次閱讀
    主站蜘蛛池模板: 色妞综合| 免费色视频| 精品视频一区二区三区| 亚洲深夜| 免费视频一区| 亚洲一区二区色| 性视频在线| 日本人zzzwww色视频| 老色皮| 国产精品热久久毛片| 4hu影院在线观看| 天天干天天操天天做| 久久久久久久影院| 国产视频h| 美女扒开内裤无遮挡禁18| 亚洲人成人网毛片在线播放| 四虎免费永久观看| 美女 免费 视频 黄的| a看片| 35qao强力打造免费上线高清 | 男人天堂网www| 国产理论| 天天激情| 1024国产基地永久免费| 日本不卡视频在线视频观看| 99精品在免费线视频| 国产yw855.c免费视频| h网站亚洲| 日韩怡红院| 国产亚洲一区二区精品| 天天做天天爱天天干| 2019天天操| 伊人久久大香线蕉观看| 欧美视频一区在线观看| 操狠狠| 国产美女视频爽爽爽| 日本一区二区免费在线观看| 特级毛片女人18毛片| 国产一区美女| 两人性潮高免费视频看| 嗯!啊!使劲用力在线观看|