CRC算法原理和CRC編碼的實現方式與使用Verilog對CRC編碼進行描述
資料介紹
CRC 校驗是一種在數據通信系統和其它串行傳輸系統中廣泛使用的錯誤檢測手段。通用的CRC 標準有CRC-8、CRC-16、CRC-32、CRC-CCIT,其中在網絡通信系統中應用最廣泛的是CRC-32 標準。本文將以CRC-32 為例,說明CRC 編碼的實現方式以及如何用verilog 語言對CRC 編碼進行描述。
在說明CRC 編碼方式之前,首先介紹一下模2 運算法則,在CRC 運算過程中會使用到模2 除法運算。模2 運算是一種二進制運算法則, 與四則運算相同,模2 運算也包括模2 加、模2 減、模2 乘、模2 除四種運算。模2 運算用“ +”表示加法運算,用“ -”、“×”或“ ?!?、“/”分別表示減法、乘法和除法運算。與普通四則運算法則不同的是, 模2 加法是不帶進位的二進制加法運算,模2 減法是不帶借位的二進制減法運算。同時,模2 乘法在累加中間結果時采用的是模2 加法運算; 模2 除法求商過程中余數減除數采用的是模2 減法運算。因此,兩個二進制數進行模2 加減法運算時,相當于兩個二進制數進行按位異或運算, 每一位的結果只與兩個數的當前位有關。模2 除法在確定商時,與普通二進制除法也略有區別。普通二進制除法中,當余數小于除數時,當前位的商為0,當余數大于等于除數時,當前位的商為1。模2 除法在確定當前位的商時,只關心余數的首位,首位為1 則商為1,首位為0 則商為0。
用戶評論
查看全部 條評論
發表評論請先 登錄, 還沒有賬號?免費注冊。
發表評論