可編程485通訊智能檢測網(wǎng)絡電力監(jiān)控電流表產(chǎn)品型號:
可編程485通訊智能檢測網(wǎng)絡電力監(jiān)控電流表技術參數(shù):
外形尺寸:
安裝方式:
按鍵編程說明:
錯誤校驗碼(CRC)的生成方法
錯誤校驗(CRC)域占用兩個字節(jié),包含了一個 16 位的二進制值。CRC 值由傳輸設備計算出來,然后附加到數(shù)據(jù)幀上,接收設備在接受數(shù)據(jù)時重新計算 CRC 值,然后與接收到的 CRC 域中的值進行比較,如果這兩個值不相等,就發(fā)生了錯誤。
CRC 運算時,首先將一個 16 位的寄存器預置為全 1,然后連續(xù)把數(shù)據(jù)幀中的每個字節(jié)中的 8 位與該寄存器的當前值進行運算,僅僅每個字節(jié)的 8 個數(shù)據(jù)位參與生成 CRC,起始位和停止位以及可能使用的奇偶位都不影響CRC。在生成 CRC時,每個字節(jié)的 8 位與寄存器中的內(nèi)容進行異或,然后將結(jié)果向低位移位,高位則用“0" 補充,低位(LSB)移出并檢測,如果是 1,該寄存器就與一個預設的固定值(0A001H)進行一次異或運算, 如果低位為 0,不作任何處理。CRC 生成流程:
1 預置一個 16 位寄存器為 0FFFFH(全1),稱之為 CRC 寄存器。
2 把數(shù)據(jù)幀中的個字節(jié)的 8 位與CRC 寄存器中的低字節(jié)進行異或運算,結(jié)果存回 CRC 寄存器。
3 將CRC 寄存器向右移一位,高位填 0,低位移出并檢測。
4 如果低位移出為 0:重復第 3 步(下一次移位);如果低位移出為 1:將CRC 寄存器與一個預設固定值(0A001H)進行異或運算。
5 重復第 3 步和第4 步直到8 次移位。這樣就處理完了一個完整的 8 位。
6 重復第 2 步到第5 步來處理下一個 8 位,直到所有的字節(jié)處理結(jié)束。
7 終 CRC 寄存器的值就是 CRC 的值。此外還有一種利用查表計算 CRC 的方法,它的主要特點是計算速度快,但是表格需要較大的存儲空間,該方法此處不再贅述,請查閱相關資料。