在兩台裝置傳輸過程中,如果對資料要求較高,需要高的準確性,那麼校驗是必不可少的。一般用到的校驗方式有奇偶校驗和crc校驗。
假設我們要用微控制器和pc之間進行通訊,每次資料不能出錯,如果出錯,那麼這一幀資料直接無效,那麼用什麼方法可以檢驗其有效性?
假設資料為111010(資料段)+(校驗位)。
下面就上述例子介紹crc校驗:
首先傳送端要將資料進行打包處理。就上述而言,每次我們要傳送6+n個資料,n為crc的n位冗餘碼,將這些資料報打包後構成一幀完整的資料傳送出去。
資料處理的方法如下:
注:這裡說明一下,如果約定的除數為n為二進位制,那麼得到的餘數規定為n-1位,也就是n-1個冗餘碼。
假設約定的除數為1101,那麼就用111010除以1101得到餘數為011,即三位冗餘碼。
有3為冗餘碼就要把原來的資料左移3位,即:
2^3*(原資料)
處理之後原來的資料變成了6+3個,即111010011
這就完成了傳送端的處理。
接收端:
接受每一幀資料以後,拿這幀資料除以1101,得到餘數為0.
111010011/1101=0
校驗完畢!
資料校驗 CRC校驗
工作原理 crc即迴圈冗餘校驗碼 cyclic redundancy check 是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。迴圈冗餘檢查 crc 是一種資料傳輸檢錯功能,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資...
CRC校驗原理
crc校驗原理 1 迴圈校驗碼 crc碼 是資料通訊領域中最常用的一種差錯校驗碼,其特 徵是資訊字段和校驗欄位的長度可以任意選定。2 生成crc碼的基本原理 任意乙個由二進位制位串組成的 都可以和乙個系 數僅為 0 和 1 取值的多項式一一對應。例如 1010111對應的多項 式為x6 x4 x2 ...
CRC校驗程式設計
程式的宗旨 通過編寫crc的校驗程式,加深對crc原理的理解,同時學會將書本上的原理運用於實際,動手實踐才能學得更快。注 本文關於crc原理那部分內容,來自網路蒐集。1.需求分析 編寫乙個crc校驗的模擬程式,該程式實現的功能如下 輸入 一串二進位制位元串 輸出 crc校驗碼 2.crc校驗原理分析...