那曲檬骨新材料有限公司

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

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

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

循環(huán)冗余校驗(yàn)碼(CRC)的基本原理及生成方法

冬至子 ? 來(lái)源:臨菲信息技術(shù)港 ? 作者:臨菲信息技術(shù)港 ? 2023-11-03 15:49 ? 次閱讀

在數(shù)據(jù)傳輸過程中,很難實(shí)現(xiàn)無(wú)差錯(cuò)傳輸。差錯(cuò)傳輸導(dǎo)致接收方收到的數(shù)據(jù)發(fā)生錯(cuò)誤。為盡量提高接收數(shù)據(jù)的正確率,在接收數(shù)據(jù)之前需要對(duì)數(shù)據(jù)進(jìn)行差錯(cuò)檢測(cè)

CRC是一種用于校驗(yàn)通信鏈路上數(shù)字傳輸準(zhǔn)確性的計(jì)算方法。其原理是附加在數(shù)據(jù)序列之后的檢驗(yàn)碼與數(shù)據(jù)序列的內(nèi)容之間存在著某種特定的關(guān)系,如果數(shù)據(jù)序列中的某一位或某些位發(fā)生錯(cuò)誤,這種特定關(guān)系就會(huì)被破壞,由于CRC檢錯(cuò)能力極強(qiáng),且檢測(cè)成本較低,成為數(shù)據(jù)通信領(lǐng)域最為普遍的校驗(yàn)方式。

1 定義

CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check):是數(shù)據(jù)通信領(lǐng)域中最常用的一種查錯(cuò)校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。

CRC是一種數(shù)據(jù)傳輸檢錯(cuò)功能,對(duì)數(shù)據(jù)進(jìn)行多項(xiàng)式計(jì)算,并將得到的結(jié)果附在幀的后面,接收設(shè)備也執(zhí)行類似的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。

2 基本概念

多項(xiàng)式和二進(jìn)制數(shù)有直接對(duì)應(yīng)關(guān)系:x的最高冪次對(duì)應(yīng)二進(jìn)制數(shù)的最高位,以下各位對(duì)應(yīng)多項(xiàng)式的各冪次,有此冪次項(xiàng)對(duì)應(yīng)1,無(wú)此冪次項(xiàng)對(duì)應(yīng)0。可以看出:x的最高冪次為R,轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制數(shù)有R+1位。

多項(xiàng)式包括生成多項(xiàng)式G(x)和信息多項(xiàng)式C(x)。

如生成多項(xiàng)式為G(x)=x^4+x^3+x+1, 可轉(zhuǎn)換為二進(jìn)制數(shù)碼11011。

而發(fā)送信息位 1111,可轉(zhuǎn)換為數(shù)據(jù)多項(xiàng)式為C(x)=x^3+x^2+x+1。

生成多項(xiàng)式

是接受方和發(fā)送方的一個(gè)約定,也就是一個(gè)二進(jìn)制數(shù),在整個(gè)傳輸過程中,這個(gè)數(shù)始終保持不變。

在發(fā)送方,利用生成多項(xiàng)式對(duì)信息多項(xiàng)式做模2除生成校驗(yàn)碼。在接受方利用生成多項(xiàng)式對(duì)收到的編碼多項(xiàng)式做模2除檢測(cè)和確定錯(cuò)誤位置。

應(yīng)滿足以下條件:

a、生成多項(xiàng)式的最高位和最低位必須為1。

b、當(dāng)被傳送信息(CRC碼)任何一位發(fā)生錯(cuò)誤時(shí),被生成多項(xiàng)式做除后應(yīng)該使余數(shù)不為0。

c、不同位發(fā)生錯(cuò)誤時(shí),應(yīng)該使余數(shù)不同。

d、對(duì)余數(shù)繼續(xù)做除,應(yīng)使余數(shù)循環(huán)。

CRC校驗(yàn)碼位數(shù)

CRC校驗(yàn)碼位數(shù) = 生成多項(xiàng)式位數(shù) - 1。注意有些生成多項(xiàng)式的簡(jiǎn)記式中將生成多項(xiàng)式的最高位1省略了。

3 基本原理

CRC檢驗(yàn)原理實(shí)際上就是在一個(gè)p位二進(jìn)制數(shù)據(jù)序列之后附加一個(gè)r位二進(jìn)制檢驗(yàn)碼(序列),從而構(gòu)成一個(gè)總長(zhǎng)為n=p+r位的二進(jìn)制序列;附加在數(shù)據(jù)序列之后的這個(gè)檢驗(yàn)碼與數(shù)據(jù)序列的內(nèi)容之間存在著某種特定的關(guān)系。

如果因干擾等原因使數(shù)據(jù)序列中的某一位或某些位發(fā)生錯(cuò)誤,這種特定關(guān)系就會(huì)被破壞。因此,通過檢查這一關(guān)系,就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)正確性的檢驗(yàn)。

4 生成步驟

1、將x的最高次冪為R的生成多項(xiàng)式G(x)轉(zhuǎn)換成對(duì)應(yīng)的R+1位二進(jìn)制數(shù)。

2、將信息碼左移R位,相當(dāng)于對(duì)應(yīng)的信息多項(xiàng)式C(x)*x的R次方。

3、用生成多項(xiàng)式(二進(jìn)制數(shù))對(duì)信息碼做除,得到R位的余數(shù)。

4、將余數(shù)拼到信息碼左移后空出的位置,得到完整的CRC碼。

5 生成方法

設(shè)需要發(fā)送的信息為M = 1010001101,CRC8=X5+X4+X2+1產(chǎn)生多項(xiàng)式對(duì)應(yīng)的代碼為P = 110101,R=5。

在M后加5個(gè)0為計(jì)算序列:101000110100000,然后對(duì)P做模2除法運(yùn)算,得余數(shù)r(x)對(duì)應(yīng)的代碼:01110。故實(shí)際需要發(fā)送的數(shù)據(jù)是101000110101110。其中CRC校驗(yàn)碼就為:01110。

圖片

6 電路圖

圖片

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

    關(guān)注

    2

    文章

    796

    瀏覽量

    41757
  • 數(shù)據(jù)通信
    +關(guān)注

    關(guān)注

    2

    文章

    433

    瀏覽量

    33877
  • CRC效驗(yàn)
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    1145
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何在IAR Embedded Workbench中配置生成對(duì)應(yīng)代碼區(qū)域的CRC校驗(yàn)碼

    在“使用IAR Embedded Workbench和MCU的CRC模塊來(lái)檢查代碼的完整性”一文中,介紹了如何在IAR Embedded Workbench中配置生成對(duì)應(yīng)代碼區(qū)域的CRC校驗(yàn)碼
    的頭像 發(fā)表于 10-27 11:49 ?1772次閱讀
    如何在IAR Embedded Workbench中配置<b class='flag-5'>生成</b>對(duì)應(yīng)代碼區(qū)域的<b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)碼</b>

    循環(huán)冗余校驗(yàn)碼的單片機(jī)及CPLD 實(shí)現(xiàn)

    循環(huán)冗余校驗(yàn)(CRC)是一種可靠性很高的串行數(shù)據(jù)校驗(yàn)方法。介紹
    發(fā)表于 04-16 14:19 ?16次下載

    電話網(wǎng)遠(yuǎn)程通信中CRC校驗(yàn)碼的設(shè)計(jì)及實(shí)現(xiàn)

    本文介紹了基于電話網(wǎng)遠(yuǎn)距離分布式測(cè)控系統(tǒng)的通信方法,重點(diǎn)介紹了傳輸協(xié)議中CRC 循環(huán)校驗(yàn)碼校驗(yàn)原理,CR
    發(fā)表于 08-12 10:24 ?18次下載

    循環(huán)冗余校驗(yàn)碼---CRC

    循環(huán)冗余校驗(yàn)碼---CRC   二進(jìn)制信息位串沿一條信號(hào)線逐位在部件之間或計(jì)算機(jī)之間傳送稱為串行傳送。
    發(fā)表于 10-13 16:52 ?7197次閱讀
    <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><b class='flag-5'>碼</b>

    crc校驗(yàn)基本原理

    本內(nèi)容介紹了crc校驗(yàn)基本原理,CRC幾個(gè)基本概念,CRC
    發(fā)表于 12-21 16:55 ?4721次閱讀

    基于FPGA的循環(huán)冗余校驗(yàn)實(shí)驗(yàn)系統(tǒng)

    文章首先分析了循環(huán)冗余校驗(yàn)碼的功能,在此基礎(chǔ)上提出了基于FPGA的實(shí)現(xiàn)方法,詳細(xì)闡述了CRC校驗(yàn)
    發(fā)表于 03-26 13:52 ?1785次閱讀
    基于FPGA的<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗(yàn)</b>實(shí)驗(yàn)系統(tǒng)

    CRC校驗(yàn)碼算法的研究與實(shí)現(xiàn)

    為了提高實(shí)際通信中檢查信號(hào)傳輸錯(cuò)誤的能力,提高和推廣CRC校驗(yàn)技術(shù),本論文用邏輯代數(shù)知識(shí)、按模運(yùn)算、代數(shù)知識(shí)和C語(yǔ)言編程工具設(shè)計(jì)了幾種具體實(shí)用的CRC校驗(yàn)碼的計(jì)算
    發(fā)表于 05-28 15:41 ?0次下載

    CRC-16校驗(yàn)碼生成

    C#編寫的CRC校驗(yàn)碼生成小程序,簡(jiǎn)潔明了,如果有需要的話,大家可以下載了。
    發(fā)表于 05-06 15:06 ?8次下載

    CRC基本原理及其兩個(gè)重要性質(zhì)的介紹及FPGA實(shí)現(xiàn)

    CRC基本原理 在串行數(shù)據(jù)流的最有效的檢錯(cuò)方案是CRC(Cyclic Redundancy check)循環(huán)冗余檢驗(yàn),CRC
    發(fā)表于 09-29 15:38 ?23次下載
    <b class='flag-5'>CRC</b><b class='flag-5'>基本原理</b>及其兩個(gè)重要性質(zhì)的介紹及FPGA實(shí)現(xiàn)

    crc循環(huán)冗余校驗(yàn)碼算法

     循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check, CRC)是一種根據(jù)網(wǎng)絡(luò)數(shù)據(jù)包或電腦文件等數(shù)據(jù)產(chǎn)生簡(jiǎn)短固定位數(shù)校驗(yàn)碼的一種散
    發(fā)表于 12-04 10:11 ?2.3w次閱讀
    <b class='flag-5'>crc</b><b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗(yàn)碼</b>算法

    薦讀:基于FPGA 的CRC校驗(yàn)碼生成

    循環(huán)冗余校驗(yàn),是一種數(shù)字通信中的常用信道編碼技術(shù)。其特征是信息段和校驗(yàn)字段的長(zhǎng)度可以任意選定。 2.CRC
    的頭像 發(fā)表于 06-13 11:18 ?6558次閱讀
    薦讀:基于FPGA 的<b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)碼</b><b class='flag-5'>生成</b>器

    CRC校驗(yàn)碼并行計(jì)算的FPGA實(shí)現(xiàn)

    用軟件實(shí)現(xiàn) CRC 校驗(yàn)碼計(jì)算很難滿足高速數(shù)據(jù)通信的要求 ,基于硬件的實(shí)現(xiàn)方法中 ,有串行經(jīng)典算法 LFSR 電路 以及由軟件算法推導(dǎo)出來(lái)的其它各種并行計(jì)算方法。以經(jīng)典的LFSR 電路
    發(fā)表于 03-28 09:34 ?30次下載
    <b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)碼</b>并行計(jì)算的FPGA實(shí)現(xiàn)

    CRC校驗(yàn)碼的多種Verilog實(shí)現(xiàn)方式

    CRC循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check),檢錯(cuò)碼。
    的頭像 發(fā)表于 06-21 15:03 ?3474次閱讀
    <b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)碼</b>的多種Verilog實(shí)現(xiàn)方式

    簡(jiǎn)述循環(huán)冗余crc校驗(yàn)方法的工作原理

    循環(huán)冗余CRC校驗(yàn)是一種常用的錯(cuò)誤檢測(cè)和糾正方法,廣泛應(yīng)用于通信和存儲(chǔ)設(shè)備中,用于確定數(shù)據(jù)
    的頭像 發(fā)表于 12-20 11:27 ?1398次閱讀

    CRC循環(huán)冗余校驗(yàn))應(yīng)用舉例

    CRC循環(huán)冗余校驗(yàn))應(yīng)用舉例
    的頭像 發(fā)表于 05-16 16:12 ?1436次閱讀
    澳门百家乐的公式| 云林县| 聚龍社百家乐官网的玩法技巧和规则| 大发888娱乐城怎么玩| 百家乐官网五湖四海娱乐场开户注册 | 百家乐天下| 滨海湾百家乐娱乐城| 滨州市| 基础百家乐的玩法技巧和规则 | 百家乐游戏机分析仪| 武胜县| 百家乐出庄的概率| 百家乐官网一黑到底| 老虎机规律| 阳宅24方位判断方法| 青浦区| 百家乐唯一能长期赢钱的方法| 百家乐官网有公式| 澳博88| 赌场百家乐打法| 百家乐官网专业豪华版| 皇冠现金网骗人| 太阳城百家乐如何看路| 澳门百家乐官网赢钱秘诀| 威尼斯人娱乐城 色情| 百家乐官网德州| 百家乐官网千术道具| 威尼斯人娱乐城平台打不开| 百家乐官网7人桌布| 百家乐官网视频世界| 威尼斯人娱乐客户端| 百家乐官网法则| 百家乐官网破解打法| 威尼斯人娱乐场送1688元礼金领取lrm| 678百家乐官网博彩娱乐场开户注册| 林口县| 全讯网纯净版| 狮威百家乐官网的玩法技巧和规则| 信丰县| 大发888卡| 百家乐玩揽法大全|