校驗(yàn)碼工作原理解析
元件故障\噪聲干擾等各種因素常常導(dǎo)致計(jì)算機(jī)在處理信息過程中出現(xiàn)錯(cuò)誤。為了防止錯(cuò)誤,可將信號采用專門的邏輯線路進(jìn)行編碼以檢測錯(cuò)誤,甚至校正錯(cuò)誤。通常的方法是,在每個(gè)字上添加一些校驗(yàn)位,用來確定字中出現(xiàn)錯(cuò)誤的位置。
最簡單且應(yīng)用廣泛的檢錯(cuò)碼是采用一位校驗(yàn)位的奇校驗(yàn)或偶校驗(yàn)。
設(shè)x=(x0x1…xn-1)是一個(gè)n位字,則奇校驗(yàn)位定義為
=x0⊕x1⊕…⊕xn-1??????? (2.15)
式中⊕代表按位加,表明只有當(dāng)x中包含有奇數(shù)個(gè)1時(shí),才使=1,即C=0。
同理,偶校驗(yàn)位C定義為
C=x0⊕x1⊕…⊕xn-1??????? (2.16)
即x中包含偶數(shù)個(gè)1時(shí),才使C=0。
假設(shè)一個(gè)字x從部件 A 傳送到部件 B。在源點(diǎn) A,校驗(yàn)位C可用上面公式算出來,并合在一起將(x0x1…xn-1C)送到B。假設(shè)在B點(diǎn)真正接收到的是x=(x'0x'1…x'n-1C '),然后計(jì)算
F=x'0⊕x'1⊕…⊕x'n-1⊕C'
若F=1,意味著收到的信息有錯(cuò),若F=0,表明x字傳送正確。奇偶校驗(yàn)提供奇數(shù)個(gè)錯(cuò)誤檢測,無法檢測偶數(shù)個(gè)錯(cuò)誤,更無法識別錯(cuò)誤信息的位置。
[例7]已知下表中左面一欄有5個(gè)字節(jié)的數(shù)據(jù)。請分別用奇校驗(yàn)和偶校驗(yàn)進(jìn)行編碼,填在中間一欄和右面一欄。
[解:]
假定最低一位為校驗(yàn)位,其余高8位為數(shù)據(jù)位,列表如下。從中看出,校驗(yàn)位的值取0還是取1, 是由數(shù)據(jù)位中1的個(gè)數(shù)決定的。
非常好我支持^.^
(4) 80%
不好我反對
(1) 20%
相關(guān)閱讀:
- [電子說] 使用MODBUS協(xié)議的時(shí)候可以不用設(shè)置數(shù)據(jù)幀格式了嗎? 2024-01-30
- [電子說] CRC校驗(yàn)碼的多種Verilog實(shí)現(xiàn)方式 2023-11-12
- [電子說] 循環(huán)冗余校驗(yàn)碼(CRC)的基本原理及生成方法 2023-11-03
- [電子說] 如何在IAR Embedded Workbench中配置生成對應(yīng)代碼區(qū)域的CRC校驗(yàn)碼 2023-10-27
- [電子說] CRC校驗(yàn)碼的多種Verilog實(shí)現(xiàn)方式 2023-06-21
- [電子說] 工控常用LRC XOR累加和CRC校驗(yàn)工具校驗(yàn)碼自動生成軟件多計(jì)算方式 2022-11-25
- [電子說] 計(jì)算機(jī)組成原理—校驗(yàn)碼 2023-05-25
- [可編程邏輯] 基于FPGA的CRC校驗(yàn)碼生成器設(shè)計(jì) 2022-11-16
( 發(fā)表人:admin )