奇偶校驗位

2021-08-28 06:43:08 字數 1320 閱讀 5776

奇偶校驗位(parity bit)或校驗位元(check bit)是乙個表示給定位數的二進位制數中1的個數是奇數還是偶數的二進位制數。奇偶校驗位是最簡單的錯誤檢測檢測碼。

奇偶校驗位有兩種型別:偶校驗位與奇校驗位。

如果一組給定資料位中1的個數是奇數,那麼偶校驗位就置為1,從而使得1的個數是偶數。如果給定一組資料為位中1的個數是偶是,那麼奇校驗位就置為1,使得總的1的個數是奇數。

偶校驗位實際上是迴圈冗餘校驗的乙個特例,通過多項式x+1

x+1x+

1得到1位crc。

錯誤檢測

如果傳輸過程中包括檢驗位在內的奇數個資料位發生改變,那麼奇偶校驗位將出錯表示傳輸過程有錯誤發生。因此,奇偶校驗位是以後再那個錯誤檢測碼,但是由於沒有辦法確定哪一位出錯,所以它不能進行錯誤校正。發生錯誤時必須扔掉全部資料,然後從頭開始傳輸資料。在雜訊很多的媒介上成功傳輸資料可能要花費很長的時間,甚至根本無法實現。但是奇偶校驗位也有它的優點,它是使用一位資料能夠達到的最好的校驗碼,並且它僅僅需要一些異或門就能夠生成。

使用由於它很簡單,所以奇偶校驗位用於許多計算機硬體中,遇到麻煩時能夠重新操作或者通過簡單的錯誤檢測就能起到很大作用的場合。例如scsi匯流排使用奇偶校驗位檢測傳輸錯誤,許多微處理器的指令快取記憶體中也包括奇偶校驗位保護。因為指令快取資料時主記憶體資料的副本,所以在發生錯誤的時候能夠拋棄錯誤資料並重新取回資料。

在序列通訊中,常用的格式時7個資料位、1個校驗位、1到2個停止位。這種格式用方便的8位位元組巧妙地適應了所有的7位ascii字元。也可以使用其它的格式表示,8位資料加上1個校驗位可以傳輸任意的8位位元組資料。

在序列通訊中,奇偶校驗位通常是由uart這樣的介面硬體生成、校驗的,在接收方,通過介面硬體中的暫存器的狀態位傳給cpu以及作業系統。錯誤資料的恢復通常是通過重新傳送資料,這個過程通常由如作業系統輸入輸出程式這樣的軟體處理的。

奇偶校驗塊

一些冗餘磁碟陣列(raid)使用奇偶校驗塊實現冗餘。如果陣列中的一塊磁碟出現故障,工作磁碟中的資料塊與奇偶檢驗快一起來重建丟失的資料。

下面的圖表每列表示乙個磁碟,假設a1 = 00000111、a2 = 00000101以及a3 = 00000000。a1、a2、a3異或得到下面的ap等於00000010.如果第二個磁碟出現故障,a2將不能被訪問,但是可以通過a1、a3與ap異或進行重建:

a1 xor a3 xor ap = 00000101

冗餘磁碟陣列

a1 a2 a3

ap b1 b2

bp c1 c2

c3 c4 cp

注意:資料塊是格式a#,奇偶校驗塊是ap。

奇偶校驗位學習理解

乙個位元組一般有8bit,若是需要進行奇偶校驗需要新增乙個碼元,所以傳送接收時是8位資料位,一位校驗位。奇偶校驗就是指每次傳送接收的每一幀資料加上校驗碼之後1的個數是奇數還是偶數 奇偶校驗碼是奇校驗碼和偶校驗碼的統稱,是一種最基本的檢錯碼。它是由n 1位資訊元和1位校驗元組成,可以表示成為 n,n ...

串列埠通訊中資料的奇偶校驗位演算法

奇偶校驗位是乙個表示給定位數的二進位制數中 1 的個數是奇數還是偶數的二進位制數。奇偶校驗位是最簡單的錯誤檢測碼。奇偶校驗位有兩種型別 偶校驗位與奇校驗位。如果一組給定資料位中 1 的個數是奇數,那麼偶校驗位就置為 1,從而使得總的 1 的個數是偶數。如果給定一組資料位中 1 的個數是偶數,那麼奇校...

串列埠引數詳解 波特率,資料位,停止位,奇偶校驗位

串列埠通訊,9600波特率,資料格式是8,n,1,請問一秒可以傳輸多少個位元組的資料?9600,n,8,1 實際上,在傳送乙個位元組的時候,除了需要傳送8bit資料外,還需要傳送1bit開始位 1bit停止位 1bit的校驗,加起來傳送乙個位元組就是11bit.因此,1秒傳送的位元組 9600 8 ...