新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > CRC校驗編程和硬件快速校驗探討

CRC校驗編程和硬件快速校驗探討

作者: 時間:2011-04-14 來源:網(wǎng)絡 收藏

3
器件或設備的說明書中,常給出其碼的生成電路。以總線數(shù)字溫度傳感器DS18820為例,其8位碼生成電路如圖2所示。

本文引用地址:http://www.butianyuan.cn/article/156401.htm

對應該電路,等效的模除多項式為:
g(x)=x2+x5+x4+1
該模除多項式反序后,再隱含最高位,其多項式的值為8CH。
8位移位寄存器的初始值清O(00H),通信數(shù)組數(shù)據(jù)的每個字節(jié)低位在前,按位依次輸入,當數(shù)據(jù)全部輸入完成后,移位寄存器各個位的存儲(輸出)值就是所需的CRC碼。
在實際應用中發(fā)現(xiàn),Autonics等品牌的控制儀表,其通信CRC碼與DSl8820的完全相同。
對應于圖2的硬件生成電路,可用1片8D觸發(fā)器(如74HC373)和1片4封裝異或門(如74HCl36)連接而成,如圖3所示。

對于CRC賦初值OOH(74HC373清O)的操作,可先讀出DO~D7的隨機值,然后將讀出的數(shù)據(jù)再串行輸入即可。因為相同的數(shù)據(jù)相異或總是為O,再除以任何多項式仍為O。
若MCU剩余足夠的I/O口,可將CRC碼的DO~D7位并行讀入。否則,還需加一片74HCl65,將D0~D7轉換成串行數(shù)據(jù)讀入。
以少量的硬件實現(xiàn)CRC,能節(jié)省單片機的運算時間和存儲資源。用于發(fā)送端,能夠獲得CRC校驗碼,在系統(tǒng)其他任務很重時,能增強實時性。而用于接收端,除了上述優(yōu)點之外,還能顯著增強系統(tǒng)接收和確認信息的可靠性,適用于一些遠程控制的執(zhí)行裝置(如變頻驅動器、閥門定位控制器、重要的監(jiān)測報警裝置等)。這些裝置對于接收到的數(shù)據(jù)或命令信息,一旦因誤校驗而不能正確地判斷執(zhí)行,其后果都是比較嚴重的。因此,要提高嵌入式系統(tǒng)的可靠性和實時性,硬件CRC校驗是一種選擇。


結 語
本文在分析了常用CRC碼的反序生成原理的基礎上,給出了其運算的統(tǒng)一步驟,并提出了由硬件生成CRC碼或對接收數(shù)據(jù)進行CRC校驗的電路和方法,可為嵌入式系統(tǒng)的可靠性和實時性設計提供參考.

c語言相關文章:c語言教程


分頻器相關文章:分頻器原理

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉