[發明專利]一種用于數據傳輸差錯控制的嵌套CRC碼生成方法及裝置有效
| 申請號: | 201210446605.4 | 申請日: | 2012-11-10 |
| 公開(公告)號: | CN102946297A | 公開(公告)日: | 2013-02-27 |
| 發明(設計)人: | 周文利;段斌斌 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | H04L1/00 | 分類號: | H04L1/00 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 數據傳輸 差錯 控制 嵌套 crc 生成 方法 裝置 | ||
技術領域
本發明屬于通信及計算機數據傳輸差錯控制技術領域,更具體地,涉及一種用于數據傳輸差錯控制的嵌套CRC碼生成方法及裝置。
背景技術
在各種各樣的數據通信中,一般都是將數據分組后進行傳輸,在分組數據后附加數據幀校驗序列(Frame?Check?Sequence,簡稱FCS)進行差錯控制,以保證傳輸的正確性。在幀校驗序列的實現中,循環冗余校驗碼(Cyclic?Redundancy?Code,簡稱CRC)以其高效率、高性能獲得了廣泛應用,是目前數據傳輸過程中普遍采用的一種提高數據通信可靠性的辦法。
數據發送過程中,發送端將需要傳送的數據進行CRC校驗碼計算,并將校驗碼附在傳送數據后一起發送。接收端需要用同樣的計算方法對接收到的數據進行校驗碼計算,然后將計算得到的CRC碼與接收到的CRC碼進行比較,如果一致則說明數據傳送無誤,反之數據傳送有差錯。如果數據傳送有誤,可以采用各種自動重發請求(Automatic?Repeat-request,簡稱ARQ)技術讓發送端重新傳送該數據。
在現有的技術中,CRC編碼的計算可以由軟件和硬件完成。軟件和硬件均分為串行與并行兩種方式。在實時高速數據通信中,為了達到實時高速的要求,多采用并行CRC編碼計算來提高運算速度。目前通用的并行計算主要有兩種,一種是通過異或邏輯和余數緩存器及相關控制電路組成,可采用可編程邏輯器件(programmable?logic?device,簡稱PLD)、現場可編程門陣列(Field?Programmable?Gate?Array,簡稱FPGA)等器件實現。另一種是通過查找余數表實現,該方法可以通過預先計算好余數表,并儲存余數表,由軟、硬件查找余數表來實現并行計算。在第一種實現方式中,隨著并行計算的位數增加,所需要的邏輯資源也大量增加,而且隨著級聯的邏輯門越來越多,會導致寄存器之間的延時不斷增加,成為提升計算速度的瓶頸。在第二種并行計算方法中,對于R位的CRC并行計算,需要保存的余數表容量為(2R·R)bit,因此,隨著并行計算位數R的增加,存儲的容量也會呈指數上升,成為提升計算速度的瓶頸。
在并行計算的基礎之上,為了進一步提升CRC編碼計算的速度,可以通過對數據塊進行預先分段,利用多個并行CRC計算通道對各數據塊同時進行計算,從而進一步提升CRC計算速度。
公布號為CN1431594A的中國發明專利申請公開了一種多通道多位并行計算CRC碼的方法。該方法直接將整個待計算CRC碼數據按每個長度為Ls位分割成多個數據塊,最后一個通道的數據長度為LF,并將各數據塊按順序依次放入N個通道,由該N個通道同時對各自通道中的數據塊進行CRC計算,得到N個通道中數據塊的CRC子碼;再通過構建除法余數變換表,對前N-1個通道的CRC子碼進行除法余數變換查表(最后一個通道不需要進行余數變換),得到變換后的CRC子碼;最后對變換后的CRC子碼逐一進行異或計算后,得到整個待計算數據CRC碼。但是,該方法需要對N-1個通道計算的CRC子碼依次進行余數轉后才能得到各通道需要的CRC計算碼,因而存在以下缺點:
1)按照該專利的說明,前N-1個通道中計算得到的CRC子碼,需要再通過構建除法余數變換表,對N個通道的CRC子碼進行除法余數變換查表,才能得到需要的CRC子碼。其中第i(i為小于N的正整數)個通道的余數轉換表中的表項,是通過對典型數據余數表中每一個表項進行[(N-i)·Q+P]次連續查表得到的,其中Ls為所計算的CRC碼位數R的Q倍,最后一個通道的數據長度LF為計算CRC位數R的P倍。因此,隨著待計算數據的長度變化,會導致N、P兩個變量發生變化,單個通道對應的余數表則隨著這兩個參數而發生變化,從而無法為每個通道分配固定的余數變換表。
2)按照該專利的說明,需要為前N-1個通道的每一個通道分配一個余數轉換表,這使得計算器需要的存儲容量大大增加。如建立一個N通道的運算器,余數轉換表需要的存儲容量為[(N-1)·2R·R]bit。因此,隨著所計算CRC碼位數R的增加,整個計算器需要分配給余數轉換表的存儲容量將急劇上升。例如在32位CRC計算中,單個通道需要的余數轉換表的存儲容量為16GB的容量。
發明內容
針對現有技術的缺陷,本發明的目的在于提供一種用于數據傳輸差錯控制的嵌套CRC碼生成方法,旨在解決現有多通道多位并行CRC碼生成方法中存儲容量耗費大、通用性較差的問題,并且嵌套CRC碼的糾錯能力優于傳統的CRC碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210446605.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種熱固性氰酸酯及其應用
- 下一篇:一種鋰離子動力電池及其加工方法





