www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]CRC標準簡介及計算過程

標準

  根據(jù)應用環(huán)境與習慣的不同,CRC又可分為以下幾種標準:

 ?、貱RC-12碼;

  ②CRC-16碼;

 ?、跜RC-CCITT碼;

 ?、蹸RC-32碼。

  CRC-12碼通常用來傳送6-bit字符串。

  CRC-16及CRC-CCITT碼則是用來傳送8-bit字符串,其中CRC-16為美國采用,而CRC-CCITT為歐洲國家所采用。

  CRC-32碼大都被采用在一種稱為Point-to-Point的同步傳輸中。

  生成過程

  下面以最常用的CRC-16為例來說明其生成過程。

  CRC-16碼由兩個字節(jié)構成,在開始時CRC寄存器的每一位都預置為1,然后把CRC寄存器與8-bit的數(shù)據(jù)進行異或(異或:二進制運算 相同為0,不同為1;0^0=0;0^1=1;1^0=1;1^1=0),

  之后對CRC寄存器從高到低進行移位,在最高位(MSB)的位置補零,而最低位(LSB,移位后已經(jīng)被移出CRC寄存器)如果為1,則把寄存器與預定義的多項式碼進行異或,否則如果LSB為零,則無需進行異或。重復上述的由高至低的移位8次,第一個8-bit數(shù)據(jù)處理完畢,用此時CRC寄存器的值與下一個8-bit數(shù)據(jù)異或并進行如前一個數(shù)據(jù)似的8次移位。所有的字符處理完成后CRC寄存器內的值即為最終的CRC值。

  計算過程

  1.設置CRC寄存器,并給其賦值FFFF(hex)。

  2.將數(shù)據(jù)的第一個8-bit字符與16位CRC寄存器的低8位進行異或,并把結果存入CRC寄存器。

  3.CRC寄存器向右移一位,MSB補零,移出并檢查LSB。

  4.如果LSB為0,重復第三步;若LSB為1,CRC寄存器與多項式碼相異或。

  5.重復第3與第4步直到8次移位全部完成。此時一個8-bit數(shù)據(jù)處理完畢。

  6.重復第2至第5步直到所有數(shù)據(jù)全部處理完成。

  7.最終CRC寄存器的內容即為CRC值。

  常用的CRC循環(huán)冗余校驗標準多項式如下:

  CRC(12位) =X12+X11+X3+X2+X+1

  CRC(16位) = X16+X15+X2+1

  CRC(CCITT) = X16+X12 +X5+1

  CRC(32位) = X32+X26+X23+X16+X12+X11+X10+ X8+X7+X5+X4+X2+X+1

  以CRC(16位)多項式為例,其對應校驗二進制位列為1 1000 0000 0000 0101。

  注意:這兒列出的標準校驗多項式都含有(X+1)的多項式因子;各多項式的系數(shù)均為二進制數(shù),所涉及的四則運算仍遵循對二取模的運算規(guī)則。

  (注:對二取模的四則運算指參與運算的兩個二進制數(shù)各位之間凡涉及加減運算時均進行XOR異或運算,即:1 XOR 1=0,0 XOR 0=0,1 XOR 0=1,0 XOR 1=1,即相同為0,不同為1)

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)控制系統(tǒng)中,Modbus RTU協(xié)議的CRC校驗如同通信網(wǎng)絡的"免疫系統(tǒng)",某石化廠DCS系統(tǒng)曾因CRC計算錯誤導致0.3%的數(shù)據(jù)包丟失,引發(fā)連鎖控制故障。本文將深入解析CRC-16/MODBUS算法原理,對比軟件...

關鍵字: Modbus RTU CRC 算法

控制寄存器(Control Register)是中央處理器(CPU)中用于管理系統(tǒng)級操作的特殊寄存器,它為操作系統(tǒng)和硬件提供對處理器行為的精細控制。本文從計算機體系結構角度系統(tǒng)闡述控制寄存器的設計原理、功能分類、操作機制...

關鍵字: 寄存器 處理器

在嵌入式系統(tǒng)開發(fā)中,硬件抽象層(Hardware Abstraction Layer,HAL)起著至關重要的作用。它為上層軟件提供了統(tǒng)一的硬件訪問接口,隱藏了底層硬件的細節(jié),使得軟件具有更好的可移植性和可維護性。C++作...

關鍵字: 嵌入式C++ HAL 寄存器 封裝

采用51單片機最小開發(fā)板,由8位自制獨立按鍵控制。單片機芯片為STC89C52RC,晶振為@12.000 mhz。8X8LED點陣屏模塊由MAX7219驅動,MAX7219包含一個自動掃描電路。你只需要把要顯示的數(shù)據(jù)發(fā)送...

關鍵字: 51單片機 MAX7219 寄存器

電源管理集成電路(PMIC)有益于簡化最終應用并縮小其尺寸,也因此備受青睞。然而,當默認啟動時序和輸出電壓與應用要求不符時,就需要定制上電設置。大多數(shù)情況下,電路沒有可以存儲這些設置的非易失性存儲器(NVM)。對此,低功...

關鍵字: 電源管理 集成電路 寄存器

我從Digilent公司拿出了我的Arty Z7板,并在Vivado/Vitis 2021.2中創(chuàng)建了一個項目來讓它工作,你可以在我的上一個項目帖子中閱讀,我在QDSP-6061的5位數(shù)上顯示滾動文本,上面寫著“Hell...

關鍵字: 寄存器 AXI4 QDSP-6061 RTL模塊

在單片機系統(tǒng)的設計中,復位電路是確保單片機正常工作的關鍵組成部分。它能夠在系統(tǒng)啟動時將單片機的內部寄存器和狀態(tài)設置為初始值,保證單片機從一個確定的狀態(tài)開始運行。與門芯片作為一種常見的數(shù)字邏輯芯片,有時會被應用于單片機復位...

關鍵字: 復位電路 寄存器 單片機

在數(shù)字通信領域,二進制通信協(xié)議扮演著至關重要的角色。它們不僅決定了數(shù)據(jù)如何在不同系統(tǒng)或設備間高效、準確地傳輸,還直接影響到通信的實時性、可靠性和資源利用率。本文將深入探討二進制通信協(xié)議的序列化與解析過程,并通過實例代碼展...

關鍵字: 二進制 通信協(xié)議 序列化

在數(shù)字電路設計中,計數(shù)器是一種基礎的數(shù)字電路組件,用于記錄并顯示脈沖信號的數(shù)量或頻率。4進制計數(shù)器,即模4計數(shù)器,是一種特殊的計數(shù)器,其計數(shù)范圍從0到3,共4個狀態(tài)。本文將深入探討如何結合D觸發(fā)器與寄存器來實現(xiàn)一個4進制...

關鍵字: D觸發(fā)器 寄存器 計數(shù)器

上海2024年11月26日 /美通社/ -- 2024年11月22日,由上海璞咣教育科技有限公司主辦的"宇宙新生時空藝術展"在長三角文博會上璀璨開幕,吸引了無數(shù)目光。本次展覽以AI人工智能發(fā)展背景下的...

關鍵字: 人工智能 BSP 二進制 影像
關閉