標(biāo)準(zhǔn)
根據(jù)應(yīng)用環(huán)境與習(xí)慣的不同,CRC又可分為以下幾種標(biāo)準(zhǔn):
?、貱RC-12碼;
?、贑RC-16碼;
③CRC-CCITT碼;
?、蹸RC-32碼。
CRC-12碼通常用來(lái)傳送6-bit字符串。
CRC-16及CRC-CCITT碼則是用來(lái)傳送8-bit字符串,其中CRC-16為美國(guó)采用,而CRC-CCITT為歐洲國(guó)家所采用。
CRC-32碼大都被采用在一種稱(chēng)為Point-to-Point的同步傳輸中。
生成過(guò)程
下面以最常用的CRC-16為例來(lái)說(shuō)明其生成過(guò)程。
CRC-16碼由兩個(gè)字節(jié)構(gòu)成,在開(kāi)始時(shí)CRC寄存器的每一位都預(yù)置為1,然后把CRC寄存器與8-bit的數(shù)據(jù)進(jìn)行異或(異或:二進(jìn)制運(yùn)算 相同為0,不同為1;0^0=0;0^1=1;1^0=1;1^1=0),
之后對(duì)CRC寄存器從高到低進(jìn)行移位,在最高位(MSB)的位置補(bǔ)零,而最低位(LSB,移位后已經(jīng)被移出CRC寄存器)如果為1,則把寄存器與預(yù)定義的多項(xiàng)式碼進(jìn)行異或,否則如果LSB為零,則無(wú)需進(jìn)行異或。重復(fù)上述的由高至低的移位8次,第一個(gè)8-bit數(shù)據(jù)處理完畢,用此時(shí)CRC寄存器的值與下一個(gè)8-bit數(shù)據(jù)異或并進(jìn)行如前一個(gè)數(shù)據(jù)似的8次移位。所有的字符處理完成后CRC寄存器內(nèi)的值即為最終的CRC值。
計(jì)算過(guò)程
1.設(shè)置CRC寄存器,并給其賦值FFFF(hex)。
2.將數(shù)據(jù)的第一個(gè)8-bit字符與16位CRC寄存器的低8位進(jìn)行異或,并把結(jié)果存入CRC寄存器。
3.CRC寄存器向右移一位,MSB補(bǔ)零,移出并檢查L(zhǎng)SB。
4.如果LSB為0,重復(fù)第三步;若LSB為1,CRC寄存器與多項(xiàng)式碼相異或。
5.重復(fù)第3與第4步直到8次移位全部完成。此時(shí)一個(gè)8-bit數(shù)據(jù)處理完畢。
6.重復(fù)第2至第5步直到所有數(shù)據(jù)全部處理完成。
7.最終CRC寄存器的內(nèi)容即為CRC值。
常用的CRC循環(huán)冗余校驗(yàn)標(biāo)準(zhǔn)多項(xiàng)式如下:
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位)多項(xiàng)式為例,其對(duì)應(yīng)校驗(yàn)二進(jìn)制位列為1 1000 0000 0000 0101。
注意:這兒列出的標(biāo)準(zhǔn)校驗(yàn)多項(xiàng)式都含有(X+1)的多項(xiàng)式因子;各多項(xiàng)式的系數(shù)均為二進(jìn)制數(shù),所涉及的四則運(yùn)算仍遵循對(duì)二取模的運(yùn)算規(guī)則。
(注:對(duì)二取模的四則運(yùn)算指參與運(yùn)算的兩個(gè)二進(jìn)制數(shù)各位之間凡涉及加減運(yùn)算時(shí)均進(jìn)行XOR異或運(yùn)算,即:1 XOR 1=0,0 XOR 0=0,1 XOR 0=1,0 XOR 1=1,即相同為0,不同為1)
本文中,小編將對(duì)無(wú)線(xiàn)模塊予以介紹,如果你想對(duì)無(wú)線(xiàn)模塊的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。
關(guān)鍵字: 無(wú)線(xiàn)模塊 寄存器 處理器計(jì)算機(jī)網(wǎng)絡(luò)編程中一個(gè)非常基本的問(wèn)題:該怎樣表示client與server之間交互的數(shù)據(jù),在往下看之前先想一想這個(gè)問(wèn)題。
關(guān)鍵字: 計(jì)算機(jī) 二進(jìn)制(全球TMT2022年8月30日訊)近日,浪潮M6服務(wù)器的帶外管理模塊固件BMC獲得了由中國(guó)網(wǎng)絡(luò)安全審查技術(shù)與認(rèn)證中心發(fā)布的IT產(chǎn)品信息安全認(rèn)證EAL4證書(shū),這表明浪潮M6系列服務(wù)器在產(chǎn)品及信息安全保障方面均獲得頂級(jí)認(rèn)...
關(guān)鍵字: 信息安全 網(wǎng)絡(luò)安全 ASSURANCE CRCdsPIC33CH/dsPIC33CK系列數(shù)字電源控制器芯片,在目前諸多典型應(yīng)用中都得到了廣泛使用。在閉環(huán)控制中,尤其是電壓模式控制中,對(duì)PWM數(shù)據(jù)寄存器進(jìn)行實(shí)時(shí)更新是必要的一個(gè)動(dòng)作,本文主要就這一話(huà)題做一些分析和討論
關(guān)鍵字: 數(shù)字電源控制器 寄存器中國(guó),北京 – 2022年5月5日 – Analog Devices, Inc.(Nasdaq:ADI)推出新一代16至24位超高精度逐次逼近寄存器(SAR)模數(shù)轉(zhuǎn)換器(ADC)系列產(chǎn)品,可簡(jiǎn)化儀器儀表、工業(yè)和醫(yī)療健康應(yīng)...
關(guān)鍵字: ADI 模數(shù)轉(zhuǎn)換器 寄存器外部數(shù)據(jù)總線(xiàn)是中央處理器CPU(Central Processing Unit)的一部分,是CPU與外部數(shù)據(jù)傳輸?shù)耐ǖ?。外部?shù)據(jù)總線(xiàn)一次可傳輸二進(jìn)制數(shù)據(jù)的位數(shù)越大,CPU與外部交換數(shù)據(jù)的能力越強(qiáng)。
關(guān)鍵字: 外部數(shù)據(jù)線(xiàn) CPU 二進(jìn)制星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!鏈接:https://www.cnblogs.com/jozochen/p/8541714.html一、問(wèn)題復(fù)現(xiàn)穩(wěn)定復(fù)現(xiàn)問(wèn)題才能正確的對(duì)問(wèn)題進(jìn)行定位、解決以及驗(yàn)證。一般來(lái)說(shuō),越容易復(fù)現(xiàn)的問(wèn)...
關(guān)鍵字: 嵌入式開(kāi)發(fā) 函數(shù) 代碼 寄存器文|周立功日期|2021年11月29日Z(yǔ)LG致遠(yuǎn)電子創(chuàng)始人周立功你用的mcu漲價(jià)了,這還不是最壞的結(jié)果。過(guò)去20多年里芯片漲價(jià),半年后基本上都會(huì)緩和下來(lái)。今年不一樣,接近年底了,還沒(méi)有任何跡象表明明年何時(shí)恢復(fù)供應(yīng),很多企...
關(guān)鍵字: MCU 寄存器 軟件開(kāi)發(fā) CK