[發(fā)明專利]數(shù)據(jù)接收過程中的CRC碼校驗方法無效
| 申請?zhí)枺?/td> | 200810237265.8 | 申請日: | 2008-12-21 |
| 公開(公告)號: | CN101764669A | 公開(公告)日: | 2010-06-30 |
| 發(fā)明(設(shè)計)人: | 劉渝新 | 申請(專利權(quán))人: | 重慶川儀自動化股份有限公司 |
| 主分類號: | H04L1/00 | 分類號: | H04L1/00 |
| 代理公司: | 北京集佳知識產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 孫長龍 |
| 地址: | 400700*** | 國省代碼: | 重慶;85 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù) 接收 過程 中的 crc 校驗 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及URAT異步通信領(lǐng)域,特別涉及一種數(shù)據(jù)接收過程中的CRC碼校驗方法。
背景技術(shù)
通用異步通信常見的控制芯片有16C450、16C550、16C750等。3位地址總線、8位地址總線、讀寫控制總線等接口,可實現(xiàn)波特率設(shè)置、停止位個數(shù)設(shè)置、數(shù)據(jù)位個數(shù)設(shè)置,同時具有各種報錯功能。通用異步通信控制芯片通信速率每秒已高達數(shù)兆位,可實現(xiàn)高速通信。
現(xiàn)有的異步通信應(yīng)用在RS485接口的多機通信網(wǎng)絡(luò)中,當(dāng)對接收數(shù)據(jù)采用CRC碼(循環(huán)冗余校驗碼)校驗時,接收完成后需要計算CRC碼,判斷是否有傳輸錯誤。由于計算CRC碼的過程需要耗費時間,特別是在信息幀較長和高速通信的時候,這種耗時較明顯,導(dǎo)致數(shù)據(jù)的接收效率受到嚴重影響。
發(fā)明內(nèi)容
本發(fā)明克服了上述缺點,提供了一種控制過程簡單、效率高的數(shù)據(jù)接收過程中的CRC碼校驗方法。
本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是:一種數(shù)據(jù)接收過程中的CRC碼校驗方法,包括如下步驟:
在接收信息幀開始后,從信息幀的起始字節(jié)開始逐字節(jié)接收數(shù)據(jù),并分別計算CRC碼;
把逐字節(jié)計算獲得的數(shù)據(jù)存儲到FIFO模塊,CRC碼存儲到CRC計算器中;
在信息幀接收完畢后,從CRC計算器中提取CRC碼,進行正確與否的檢查。
所述逐字節(jié)接收數(shù)據(jù),并計算CRC碼的步驟中,各個字節(jié)是逐位接收數(shù)據(jù),并分布計算CRC碼。
在所述逐位接收數(shù)據(jù)的步驟后,還包括判斷接收到的位數(shù)據(jù)是否有效,對有效的位數(shù)據(jù)計算CRC碼。
在逐字節(jié)接收數(shù)據(jù)的步驟后還包括,接收奇偶校驗位,并將所述奇偶校驗位寫入FIFO模塊。
在從信息幀的起始字節(jié)開始逐字節(jié)接收數(shù)據(jù)的步驟之前還包括,對CRC碼進行初始化的步驟。
本發(fā)明通過對字節(jié)和信息幀的循環(huán)接收的,使得在接收信息幀的同時,自動計算CRC校驗碼,在信息幀接收完畢時給出CRC是否正確的狀態(tài)位,省去了CPU在接收完一幀數(shù)據(jù)后再計算CRC碼的過程,使確認接收數(shù)據(jù)是否正確的速度加快,從而大大提高了接收效率。
附圖說明
圖1為本發(fā)明所應(yīng)用的接收模塊框圖;
圖2為本發(fā)明的控制流程圖。
具體實施方式
本發(fā)明可應(yīng)用于如圖1中所示的接收模塊中,所述接收模塊由串行接收控制模塊和9位數(shù)據(jù)存儲FIFO(先進先出)模塊構(gòu)成,串行接收控制模塊把串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),同時計算CRC碼,將接收到的字節(jié)存入所述FIFO模塊中。
其中,各信號端的功能說明如下:
RESET:復(fù)位;
SIN:串行輸入;
16XCLK:波特率的16倍時鐘;
STAcrc:CRC碼狀態(tài);
Wrf:串行接收控制模塊寫;FIFO控制信號;
Dr:9位數(shù)據(jù)總線,第9位奇偶校驗位;
RDf:CPU讀FIFO控制線;
DA:9位數(shù)據(jù)總線,第9位奇偶校驗位;
基于上述結(jié)構(gòu),進行數(shù)據(jù)幀接收的具體過程如圖2中所示。
步驟201,初始化后,進入信息幀的幀頭檢測,判斷信息幀接收是否開始;
步驟202,在接收信息幀開始后初始化CRC碼;
步驟203,從信息幀起始位的字節(jié)開始接收,監(jiān)測接收的起始位是否結(jié)束;
步驟204,判斷接收到的位數(shù)據(jù)是否有效,當(dāng)有效時轉(zhuǎn)入步驟205;
步驟205,在起始數(shù)據(jù)位的有效采樣點后,計算CRC碼;
步驟206,檢測當(dāng)前字節(jié)的8位數(shù)據(jù)是否接收完畢,從而循環(huán)接收8位數(shù)據(jù)位并進行CRC碼計算;
步驟207、208,分別接收奇偶校驗位和停止位。
步驟209,在接收到有效停止位后,把接收到的字節(jié)連同奇偶校驗位寫入FIFO。
步驟210,檢測信息幀接收完畢否,如果沒有接收完,從步驟203開始循環(huán)接收下一字節(jié);
步驟211,在信息幀接收完畢后,從CRC計算器中提取事先計算好的CRC碼,并檢查CRC碼是否正確,根據(jù)檢測結(jié)果,分別轉(zhuǎn)到步驟212和步驟213,分別設(shè)置CRC碼狀態(tài)位為正確的狀態(tài)和錯誤的狀態(tài),然后循環(huán)檢測下一個信息幀。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于重慶川儀自動化股份有限公司,未經(jīng)重慶川儀自動化股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810237265.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





