精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

冬至子 ? 來源:臨菲信息技術港 ? 作者:臨菲信息技術港 ? 2023-11-03 15:49 ? 次閱讀

在數據傳輸過程中,很難實現無差錯傳輸。差錯傳輸導致接收方收到的數據發生錯誤。為盡量提高接收數據的正確率,在接收數據之前需要對數據進行差錯檢測

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

1 定義

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

CRC是一種數據傳輸檢錯功能,對數據進行多項式計算,并將得到的結果附在幀的后面,接收設備也執行類似的算法,以保證數據傳輸的正確性和完整性。

2 基本概念

多項式和二進制數有直接對應關系:x的最高冪次對應二進制數的最高位,以下各位對應多項式的各冪次,有此冪次項對應1,無此冪次項對應0??梢钥闯觯簒的最高冪次為R,轉換成對應的二進制數有R+1位。

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

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

而發送信息位 1111,可轉換為數據多項式為C(x)=x^3+x^2+x+1。

生成多項式

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

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

應滿足以下條件:

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

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

c、不同位發生錯誤時,應該使余數不同。

d、對余數繼續做除,應使余數循環。

CRC校驗碼位數

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

3 基本原理

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

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

4 生成步驟

1、將x的最高次冪為R的生成多項式G(x)轉換成對應的R+1位二進制數。

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

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

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

5 生成方法

設需要發送的信息為M = 1010001101,CRC8=X5+X4+X2+1產生多項式對應的代碼為P = 110101,R=5。

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

圖片

6 電路圖

圖片

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

    關注

    2

    文章

    794

    瀏覽量

    41603
  • 數據通信
    +關注

    關注

    2

    文章

    430

    瀏覽量

    33737
  • CRC效驗
    +關注

    關注

    0

    文章

    30

    瀏覽量

    1093
收藏 人收藏

    評論

    相關推薦

    如何在IAR Embedded Workbench中配置生成對應代碼區域的CRC校驗碼

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

    循環冗余校驗碼的單片機及CPLD 實現

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

    電話網遠程通信中CRC校驗碼的設計及實現

    本文介紹了基于電話網遠距離分布式測控系統的通信方法,重點介紹了傳輸協議中CRC 循環校驗碼校驗原理,CR
    發表于 08-12 10:24 ?18次下載

    循環冗余校驗碼---CRC

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

    crc校驗基本原理

    本內容介紹了crc校驗基本原理,CRC幾個基本概念,CRC
    發表于 12-21 16:55 ?4694次閱讀

    基于FPGA的循環冗余校驗實驗系統

    文章首先分析了循環冗余校驗碼的功能,在此基礎上提出了基于FPGA的實現方法,詳細闡述了CRC校驗
    發表于 03-26 13:52 ?1757次閱讀
    基于FPGA的<b class='flag-5'>循環</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>實驗系統

    CRC校驗碼算法的研究與實現

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

    CRC-16校驗碼生成

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

    CRC基本原理及其兩個重要性質的介紹及FPGA實現

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

    crc循環冗余校驗碼算法

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

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

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

    CRC校驗碼并行計算的FPGA實現

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

    CRC校驗碼的多種Verilog實現方式

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

    簡述循環冗余crc校驗方法的工作原理

    循環冗余CRC校驗是一種常用的錯誤檢測和糾正方法,廣泛應用于通信和存儲設備中,用于確定數據
    的頭像 發表于 12-20 11:27 ?1186次閱讀

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

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