乙個位元組一般有8bit,若是需要進行奇偶校驗需要新增乙個碼元,所以傳送接收時是8位資料位,一位校驗位。
奇偶校驗就是指每次傳送接收的每一幀資料加上校驗碼之後1的個數是奇數還是偶數
奇偶校驗碼是奇校驗碼和偶校驗碼的統稱,是一種最基本的檢錯碼。它是由n-1位資訊元和1位校驗元組成,可以表示成為(n,n-1)。如果是奇校驗碼,在附加上乙個校驗元以後,碼長為n的碼字中「1」的個數為奇數個;如果是偶校驗碼,在附加上乙個校驗元以後,碼長為n的碼字中「1」的個數為偶數個。設:如果乙個偶校驗碼的碼字用a=[an-1,an-2,…,a1,a0]表示
例:
1.偶校驗碼
8位資料位和1位校驗位,共9個資料,其中1的個數必須為偶數
一般校驗位可以由八位資料位按照二進位制方式直接相加(不考慮進製)得到。
11001010的校驗位a=(1+1+0+0+1+0+1+0)=0;
所以傳送資料時為110010100.
2.奇校驗碼
8位資料位和1位校驗位,共9個資料,其中1的個數必須為奇數
一般校驗位可以由八位資料位直接相加取反(同樣不考慮進製)。
11001010的校驗位a=~(1+1+0+0+1+0+1+0)=1;
所以傳送資料時為110010101.
在fpga的verilog**設計時,可以使用異或運算,將資料位進行異或運算之後,若是奇數個1,則其結果應該是1,若是偶數個1結果則結果是0;
若是偶校驗方式,將每一位依次與0異或,保持。
若是奇校驗方式,將每一位依次與1異或,取反。
最終得到校驗碼。
奇偶校驗位
奇偶校驗位 parity bit 或校驗位元 check bit 是乙個表示給定位數的二進位制數中1的個數是奇數還是偶數的二進位制數。奇偶校驗位是最簡單的錯誤檢測檢測碼。奇偶校驗位有兩種型別 偶校驗位與奇校驗位。如果一組給定資料位中1的個數是奇數,那麼偶校驗位就置為1,從而使得1的個數是偶數。如果給...
串列埠通訊中資料的奇偶校驗位演算法
奇偶校驗位是乙個表示給定位數的二進位制數中 1 的個數是奇數還是偶數的二進位制數。奇偶校驗位是最簡單的錯誤檢測碼。奇偶校驗位有兩種型別 偶校驗位與奇校驗位。如果一組給定資料位中 1 的個數是奇數,那麼偶校驗位就置為 1,從而使得總的 1 的個數是偶數。如果給定一組資料位中 1 的個數是偶數,那麼奇校...
串列埠引數詳解 波特率,資料位,停止位,奇偶校驗位
串列埠通訊,9600波特率,資料格式是8,n,1,請問一秒可以傳輸多少個位元組的資料?9600,n,8,1 實際上,在傳送乙個位元組的時候,除了需要傳送8bit資料外,還需要傳送1bit開始位 1bit停止位 1bit的校驗,加起來傳送乙個位元組就是11bit.因此,1秒傳送的位元組 9600 8 ...