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

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

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

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

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

冬至子 ? 來源:臨菲信息技術(shù)港 ? 作者:臨菲信息技術(shù)港 ? 2023-11-03 15:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

1 定義

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

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

2 基本概念

多項式和二進制數(shù)有直接對應(yīng)關(guān)系:x的最高冪次對應(yīng)二進制數(shù)的最高位,以下各位對應(yīng)多項式的各冪次,有此冪次項對應(yīng)1,無此冪次項對應(yīng)0??梢钥闯觯簒的最高冪次為R,轉(zhuǎn)換成對應(yīng)的二進制數(shù)有R+1位。

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

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

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

生成多項式

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

在發(fā)送方,利用生成多項式對信息多項式做模2除生成校驗碼。在接受方利用生成多項式對收到的編碼多項式做模2除檢測和確定錯誤位置。

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

a、生成多項式的最高位和最低位必須為1。

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

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

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

CRC校驗碼位數(shù)

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

3 基本原理

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

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

4 生成步驟

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

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

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

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

5 生成方法

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

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

圖片

6 電路圖

圖片

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

    關(guān)注

    2

    文章

    807

    瀏覽量

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

    關(guān)注

    2

    文章

    470

    瀏覽量

    34470
  • CRC效驗
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

    crc校驗基本原理

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

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

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

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

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

    CRC-16校驗碼生成

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

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

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

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

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

    薦讀:基于FPGA 的CRC校驗碼生成

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

    CRC校驗碼并行計算的FPGA實現(xiàn)

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

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

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

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

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

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

    CRC循環(huán)冗余校驗)應(yīng)用舉例
    的頭像 發(fā)表于 05-16 16:12 ?1943次閱讀