宋遇剛 尹飛 朱文亮
摘? 要:水文、水資源通訊規(guī)約通信規(guī)約中數(shù)據(jù)的準(zhǔn)確傳輸?shù)靡嬗贑RC校驗,同時此校驗也保證了數(shù)據(jù)傳輸?shù)耐暾?。文章介紹了循環(huán)冗余校驗(CRC)原理,并以實例闡述了它在水文、水資源項目工程中數(shù)據(jù)準(zhǔn)確傳輸?shù)闹匾饔谩?/p>
關(guān)鍵詞:CRC算法;CRC校驗原理;數(shù)據(jù)傳輸
中圖分類號:TP301.6? ? ? ?文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號:2095-2945(2020)29-0039-02
Abstract: The accurate transmission of data in the communication protocol of hydrology and water resources benefits from CRC verification, which also ensures the integrity of data transmission. In this paper, the principle of cyclic redundancy check (CRC) is introduced, and its important role in accurate data transmission in hydrological and water resources projects is illustrated with examples.
Keywords: CRC algorithm; CRC verification principle; data transmission
引言
計算機串口通信中,為了保證數(shù)據(jù)傳輸準(zhǔn)確,一般采用奇偶校驗法和糾錯校驗等方法進(jìn)行校驗。在一些通信安全較高的場合中,上述的方法還不足以滿足要求,需要采用CRC校驗原理進(jìn)行校驗。
隨著通信領(lǐng)域的快速發(fā)展,數(shù)據(jù)傳輸?shù)目煽啃?、?zhǔn)確性顯得尤為重要,為了保證數(shù)據(jù)在傳輸過程中的準(zhǔn)確無誤,既需要可靠的硬件電路,又要有查錯檢查機制支持。水利信息化建設(shè)的基礎(chǔ)是水文、水資源現(xiàn)代化建設(shè),信息傳輸是水利信息化的重要基礎(chǔ)之一,在信息傳輸過程中通信規(guī)約在保障監(jiān)測系統(tǒng)安全運行中起著極大作用,而CRC校驗又是整個規(guī)約中數(shù)據(jù)安全傳輸?shù)年P(guān)鍵所在,保證了數(shù)據(jù)的準(zhǔn)確性和完整性[1]。在實際應(yīng)用中,相比于LRC,CRC校驗由于實現(xiàn)簡單、檢錯能力強、占用系統(tǒng)資源少、用軟硬件都便于實現(xiàn),從而得到了廣泛應(yīng)用[2-3]。
1 CRC校驗原理
CRC校驗的基本原理是基于串行數(shù)據(jù)傳輸?shù)拈L除法,即將發(fā)送的信息左移若干位,然后與生成多項式進(jìn)行模2除法,即按位進(jìn)行異或計算,得到的余數(shù)即為CRC校驗信息[4]。
如果接收碼沒有出現(xiàn)誤碼,接收碼應(yīng)當(dāng)?shù)扔谏鲜街邪l(fā)送的碼T(x),此時接收碼可以被生成多項式G(x)整除,反之,若無法整除,則在傳輸中發(fā)生誤碼。另外在信息傳輸中還有一種校驗方法,CRC碼直接被用于監(jiān)測通信過程中的誤碼。傳輸數(shù)據(jù)期間,發(fā)送端計算每個數(shù)據(jù)塊的CRC碼,數(shù)據(jù)塊發(fā)送完畢后,CRC校驗碼也發(fā)送出去,接收端同樣的生成多項式處理接收到的數(shù)據(jù)塊,若接收到的數(shù)據(jù)無誤,則接收端計算得到的CRC碼應(yīng)當(dāng)和發(fā)送端的CRC碼一致[5]。
2 CRC校驗在工程中的應(yīng)用實例
在江蘇省東??h沭新灌區(qū)項目中,無論是水位、閘位、流量、圖片等每個重要數(shù)據(jù)上傳至服務(wù)器過程中進(jìn)行CRC校驗,從而保證了數(shù)據(jù)的準(zhǔn)確性,此次測試?yán)密浖﨣eil uVision5,配合MSO-MC3智能遙測終端機進(jìn)行了多次測試,以攝像頭拍照為例,如圖1、圖2、圖3所示。
通過實驗結(jié)果看出,由于將圖1中CRC校驗代碼注釋后,導(dǎo)致了圖片數(shù)據(jù)的不完整,如圖2、3所示,以至于攝像頭拍到的照片在服務(wù)器端無法還原。
3 結(jié)束語
數(shù)據(jù)的準(zhǔn)確傳輸是項目工程中的關(guān)鍵一環(huán),應(yīng)該深刻認(rèn)識到CRC校驗對保證數(shù)據(jù)準(zhǔn)確傳輸起到的重要作用,加強數(shù)據(jù)的準(zhǔn)確傳輸則是提高工程質(zhì)量的重要步驟。
參考文獻(xiàn):
[1]崔彥坤,馬萌.CRC校驗算法的設(shè)計與實現(xiàn)[J].計算機與網(wǎng)絡(luò),2019,45(01):66-68.
[2]譚明新,李瑞,余英,等.CRC檢錯探究[J].科技創(chuàng)業(yè)月刊,2006(11):202-204.
[3]張平安.16位循環(huán)冗余校驗碼(CRC)的原理和性能分析[J].山西科技,2005(05):129-131.
[4]肖艷艷,何曉雄.基于FPGA的CRC算法的串行和并行實現(xiàn)[J].合肥工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2016(39):1366.
[5]朱正鵬,朱旭鋒,李賓,等.一種位寬可變的CRC校驗算法及硬件實現(xiàn)[J].航天控制,2019,037(002):42-48.
[6]王鵬.基于Modbus協(xié)議的數(shù)據(jù)采集系統(tǒng)的研究[D].合肥工業(yè)大學(xué)2019.