CRC(循環冗余校驗)是一種根據數據產生簡短固定位數校驗碼的常用方法,主要用來檢查數據傳輸或者保存后是否有錯誤。CRC計算單元的工作過程如下:
1. 首先,CRC計算單元會初始化一個寄存器(通常是一個32位或64位的寄存器),初始值是生成多項式(在這個問題中是0x4C11DB7)。
2. 然后,CRC計算單元會逐位處理輸入的數據緩沖區。對于每一個數據位,它都會將寄存器的當前值與這一位進行異或操作。
3. 如果結果的最高位(第31位或第63位)是1,那么CRC計算單元就會將寄存器與生成多項式進行模2除法,并將余數保留在寄存器中。
4. 這個過程會持續到所有的數據位都被處理完。最后,寄存器中的值就是CRC碼。
注意,這個過程中的關鍵步驟就是異或操作和模2除法,它們都是計算機科學中的基本操作。
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
寄存器
+關注
關注
31文章
5430瀏覽量
123987 -
crc
+關注
關注
0文章
204瀏覽量
30055
發布評論請先 登錄
相關推薦
熱點推薦
想從linux系統讀回CYC65215部件的配置程序映像,并檢查其CRC是否正確(假設它有附加 CRC),圖像有CRC嗎?
我想從 linux 系統讀回 CYC65215 部件的配置程序映像,并檢查其 CRC 是否正確(假設它有附加 CRC)。圖像有 CRC 嗎? CRC 是否使用標準
發表于 05-23 06:22
求助,關于3014的緩沖區設置疑問求解
和數量改為34kb,6。rgb24 1080p@60fps無法出圖?
dma緩沖區大小和數量是否有什么說法嗎?需要對應?
fx3可用的dma大小為多少?
根據usbcap抓取數據以及demo來看
發表于 05-06 13:42
求助,關于ad7616序列器模式+crc的兩個問題求解
我在使用序列器模式+CRC時,發現只有序列器最后一組
通道會出crc數據,比如序列器配置為2組數據,第二組數據出來后會跟出
發表于 04-15 08:23
FreeRTOS進階使用之流緩沖區:高效處理字節流的秘密武器
工具,通過合理設置觸發閾值和緩沖區大小,可顯著提升系統性能。實際開發中需注意多核同步、阻塞策略及數據格式設計,必要時結合消息緩沖區實現更復雜的通信需求。掌握這一機制,將助你在嵌入式開發
發表于 03-24 11:37
L9663如何使用上行緩沖區發送同步脈沖?
我根據L9663 Datasheet這個手冊,想使用這個配置“通過帶有上行數據緩沖區的SPI觸發。微控制器發送相應的SPI命令以發送同步脈沖。然后,同步脈沖觸發發生器根據上行
發表于 03-13 08:15
求助,關于ADS125H02數據通訊格式及CRC校驗問題求解
of the initial data.
第1條中,將所有數據“左移擴展為40bit,最右邊用1補齊”,與傳統的crc計算方法不一致,傳統的計算方法是在
發表于 12-03 06:54
TAS5805內部的硬件CRC8對應標準的哪種? CRC校驗的數據是offset和value值嗎?
TAS5805 內部的硬件 CRC8 對應標準的哪種? CRC 校驗的數據是 offset 和 value 值嗎?用 PPC 加載文件計算出來的值和在線
發表于 10-12 06:19
單片機中的幾種環形緩沖區的分析和實現
單片機中的幾種環形緩沖區的分析和實現一、簡介環形緩沖區(RingBuffer)是一種高效的使用內存的方法,它將一段固定長度的內存看成一個環形結構,用于存儲數據,能夠避免使用動態申請內存

ESP8266有雙緩沖區嗎?
我想實時傳輸一些信號的測量數據。信號的采樣周期為 1 ms。我想每 500 毫秒發送 2048 字節(一個數據包)。ESP8266有雙緩沖區(2x 2048字節)嗎?其想法是計數填充一
發表于 07-16 07:29
評論