[發明專利]用于循環冗余校驗的裝置和方法有效
| 申請號: | 201210332751.4 | 申請日: | 2012-09-10 |
| 公開(公告)號: | CN103684663B | 公開(公告)日: | 2016-11-23 |
| 發明(設計)人: | 霍旭東;朱衛華;張建平;趙銀峰 | 申請(專利權)人: | 西門子信號有限公司 |
| 主分類號: | H04L1/00 | 分類號: | H04L1/00 |
| 代理公司: | 北京康信知識產權代理有限責任公司 11240 | 代理人: | 李慧 |
| 地址: | 710016 陜西省*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 循環 冗余 校驗 裝置 方法 | ||
技術領域
本發明涉及一種用于循環冗余校驗(CRC)的裝置和方法。
背景技術
為了避免數據傳輸過程中發生的錯誤對數據安全性產生影響,需要對傳輸的數據進行校驗來確保數據的完整性。CRC碼是一種常用的錯誤檢測碼,它通過將需要傳輸的每位數據按照一定的計算方式進行計算,并把計算后的結果作為CRC校驗碼附加到數據流后一起傳輸,接收方通過相同的計算方法對接收到的數據進行計算,將結果和收到的CRC碼進行比較,以確定數據傳輸是否正確。由于CRC校驗的編解碼簡單、糾錯能力強且誤判概率很低,因而在工業測控及通信系統中得到了廣泛的應用。
在高速鐵路系統中,應答器用于傳輸地面和列控中心發送給列車的運行控制信息,包括實時的速度、坡度、位置等信息,列車通過對接收到的報文信息進行分析后進行自動控制與駕駛。所以應答器對報文信息傳輸的安全性具有很高的要求。
CRC的錯誤檢測能力依賴于CRC多項式的階次,CRC中每增加一個數據位,就會將碰撞概率減少接近50%。舉例來說,理論上CRC-64的碰撞概率大約是每18×1018個CRC碼出現一次。為了盡量降低校驗中的碰撞概率,提高信息傳輸的可靠性和安全性,當前高速鐵路應答器報文數據采用75位的CRC校驗多項式,數據長度采用1023位。
CRC算法可以用軟件實現,也可以用硬件實現。軟件實現的優點是設計相對簡單,易于維護和更新,但是缺點是必須由中央處理器(CPU)來完成算法計算,不僅計算的速度受限于系統CPU的速度,而且它還會對系統CPU的工作帶來很大的負擔,特別是在一些實時性要求很強的嵌入式系統中,這個影響是不可估量的。所以,現在大量的CRC計算都是使用硬件方式來實現的,比較常見的就是使用現場可編程門陣列(FPGA)芯片來完成硬件電路的設計。它不僅可以提高計算速度,同時可提高系統的安全性和可靠性。現有硬件算法實現大體可分為串行實現和并行實現。
在串行實現中,每次輸入一位數據,將輸入數據和上一次異或運算的結果組成新的數據,進行循環異或運算,直到所有規定數據長度(例如上述1023位)的數據輸入完,校驗電路用移位寄存器和異或門實現。對于r位的CRC校驗長度,需要r個寄存器,當有新的數據輸入后異或運算立刻得出新的CRC值,寄存器依據時鐘控制,等待新的輸入數據,反復循環,直到計算出所有數據位的CRC校驗碼。串行CRC裝置的結構是由所采用的CRC多項式決定的。
串行實現方式雖然可以計算各種CRC,但是一個時鐘周期只能計算一位數據,效率比較低。例如,對于高速鐵路應答器中使用1023位的數據報文長度,需要1023位的時間才能完成一次校驗;而如果校驗錯誤,則需要復位串行CRC電路以針對接下來的1023位進行下一次的校驗。
相比串行實現方式,并行實現方式可以在一個時鐘內對多位數據進行CRC計算,從而提高了CRC的計算速度。目前已采用的CRC并行算法有查表法和公式法。然而,并行CRC所需硬件資源大,不適合實現大的CRC校驗長度,以查找表為例,CRC校驗碼為16位時,CRC余數表的長度為65535,而CRC校驗碼為32位時,CRC余數表的長度將為4294967296,這時,已經很難提供足夠的硬件資源實現并行CRC校驗了,更不用說實現更大長度的CRC校驗。
因此,對于高速鐵路應答器中采用的這種大數據量報文數據的CRC校驗,本領域需要既能滿足校驗實時性,同時又能盡量降低硬件資源需求量的技術。
發明內容
考慮到現有技術的上述問題,本發明的實施例提供一種用于CRC的裝置和方法,其通過采用多任務同時處理的工作模式,通過流水線結構對CRC任務進行區分,根據流水級數的不同控制校驗的實時性和硬件資源的消耗數。
根據本發明的一個方面,提供了一種用于CRC的裝置,包括:多個串行CRC模塊,所述多個串行CRC模塊均按照相同的CRC多項式和數據長度對輸入的串行數據按位進行串行CRC;啟動模塊,其控制所述多個串行CRC模塊依次在不同的時間點啟動,以分別對同一輸入的串行數據流進行串行CRC,其中,當所述多個串行CRC模塊中的一個串行CRC模塊得到正確的校驗結果時,所述裝置判斷出得到正確的校驗結果。
根據一個實施例,所述不同的時間點平均分布在一串行CRC周期中,所述串行CRC周期是用于采樣所述串行數據流中具有所述數據長度的數據段以對其進行串行CRC的周期。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西門子信號有限公司,未經西門子信號有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201210332751.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:傳輸裝置與傳輸方法
- 下一篇:一種基于小衛星集群自組網的數據高速通信方法





