• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      CRC計算實現(xiàn)方法

      2018-02-25 06:21:08楊衛(wèi)平
      電子技術(shù)與軟件工程 2018年9期
      關(guān)鍵詞:快速

      楊衛(wèi)平

      摘要 本文討論一種通用CRC計算實現(xiàn)方法。該方法采用純硬件方法實現(xiàn)CRC計算,可靈活配置、計算速度快,無需CPU計算,適用于任意CRC類型、任意CRC生成多項式時的快速CRC計算。

      【關(guān)鍵詞】CRC 快速 類型可選

      1 CRC 計算算簡介

      循環(huán)冗余校驗碼(CRC)的基本原理是:在K位信息碼后再拼接R位的校驗碼,整個編碼長度為N位,因此,這種編碼又叫(N,K)碼,它是一類重要的線性分組碼。對于一個給定的(N,K)碼,可以證明存在一個最高次冪為N-K=R的多項式G(x)。根據(jù)G(x)可以生成K位信息的校驗碼,而G(x)叫做這個CRC碼的生成多項式。校驗碼的具體生成過程為:假設(shè)發(fā)送信息用信息多項式c(x)表示,將C(x)左移R位,則可表示成C(x)*2的R次方,這樣C(x)的右邊就會空出R位,這就是校驗碼的位置。通過C(x)*2的R次方除以生成多項式G(x)得到的余數(shù)就是校驗碼。通信過程中,發(fā)送方將K位信息碼在前、R位校驗碼在后拼接的共N位數(shù)據(jù)發(fā)送。

      接收方己知接收的數(shù)據(jù)包含K位DATA信息碼與R位CRC校驗碼。接收方將收到的數(shù)據(jù)同樣處理:假設(shè)前K位數(shù)據(jù)用信息多項式D(X)表示,將D(x)左移R位,則可表示成D(x)+2的R次方,這樣D(x)的右邊就會空出R位,這就是校驗碼的位置。通過Dfx)*2的R次方除以生成多項式G(x)得到的余數(shù)就是校驗碼,用R(x)表示。將接收的后R位數(shù)據(jù)與CRC校驗結(jié)R(x)系數(shù)比較,如果有不一致則說明該筆數(shù)據(jù)傳輸有誤。

      CRC編碼和解碼方法簡單,檢錯和糾錯能力強,在通信領(lǐng)域廣泛地用于實現(xiàn)差錯控制。

      2 CRC計算方法分析

      同時,本文給出一種CRC計算硬件系統(tǒng)結(jié)構(gòu),主要包括五個模塊。

      (1) CONFIG模塊。該模塊獲取配置的信息,包括CRC類型選擇配置、生成多項式的配置、CRC初始值的配置、CRC輸入數(shù)據(jù)、輸入數(shù)據(jù)翻轉(zhuǎn)處理配置、CRC計算輸出結(jié)果異或與翻轉(zhuǎn)處理配置等。該模塊的配置與選擇,使得電路支持多種多樣的CRC計算需求。

      (2)CRC JUDGE模塊。該模塊處理當(dāng)前CRC類型配置, 如CRC7,CRC8,CRC16,CRC32等,并準備好選定CRC類型的配置數(shù)據(jù)。

      (3) CRC CRTL模塊。該模塊針對具體選定的CRC類型產(chǎn)生配置數(shù)據(jù),并產(chǎn)生時序控制信號。不同CRC類型需要使用不同位寬的CRC移位電路實現(xiàn),時序控制主要根據(jù)n值產(chǎn)生。

      (4) SHIFTCALC模塊。該模塊是數(shù)字組合邏輯,實現(xiàn)CRC計算迭代推理,輸出迭代計算結(jié)果。該模塊主要功能如上圖2所示,可以實現(xiàn)一個時鐘周期內(nèi)完成多位數(shù)據(jù)的CRC移位計算,是整個CRC計算硬件電路的核心部分。

      (5) RESULT GEN模塊。該模塊抓取迭代計算結(jié)果,并根據(jù)配置要求做異或與翻轉(zhuǎn)等處理,最終輸出CRC計算結(jié)果。該模塊完成后,會將計算完成的狀態(tài)顯示出來。

      軟件使用該硬件系統(tǒng)結(jié)構(gòu)進行CRC計算,操作流程需要與硬件配合。軟件操作流程依次為:

      (1)配置CONFIG模塊以完成CRC初始化:

      (2)寫入CRC計算輸入數(shù)據(jù);

      (3)觸發(fā)CRC計算;

      (4)等待中斷或狀態(tài)確認CRC計算完成標志;

      (5)讀取CRC計算結(jié)果。

      4 實際仿真結(jié)果及分析

      運用本文推薦快速CRC計算方法與電路,可在一個時鐘周期內(nèi)完成CRC計算,效果如圖3所示。在圖中,對硬件電路初始化配置后一個時鐘周期后便輸出RESULT OUT。因此在實際使用過程中,由于硬件電路CRC計算速度之快,軟件可以連續(xù)寫入CRC計算輸入數(shù)據(jù),或直接使用DMA連續(xù)寫入CRC計算輸入數(shù)據(jù),直至CRC計算需求結(jié)束,軟件直接讀取CRC計算結(jié)果即可。

      5 結(jié)論

      本文通過公式推理,提出一種CRC計算硬件實現(xiàn)方法,可以靈活、快速的計算得出CRC校驗的余數(shù),適用于任意CRC類型、任意C,RC生成多項式時的快速CRC計算。利用該方法,仿真結(jié)果顯示最快可以在一個時鐘周期內(nèi)完成多bit輸入時的并行CRC計算。

      參考文獻

      [1]俞迅.32位CRC校驗碼的并行算法及硬件實現(xiàn)[J],信息技術(shù),2007 (04): 0071-04.

      [2]石林艷,羅漢文.CRC循環(huán)冗余校驗碼并行算法的FPGA實現(xiàn)[J].通信技術(shù)及應(yīng)用,2005 (08).

      [3]王新梅,糾錯碼與差錯控制[M].北京:人民郵電出版社,1989.

      猜你喜歡
      快速
      一年級學(xué)生學(xué)跳短繩的教學(xué)策略
      基于拉格朗日有限差分數(shù)值模擬的巷道掘進技術(shù)研究
      油井井口盤根更換器
      屏蔽門系統(tǒng)安全回路故障智能診斷系統(tǒng)設(shè)計
      綜采設(shè)備反向倒裝工藝探討
      盤根快速更換器的結(jié)構(gòu)及原理
      抽油機盤根更換器
      汽車空調(diào)產(chǎn)品的協(xié)同開發(fā)探討
      種子發(fā)芽率快速測定方法的教學(xué)探討
      芒果農(nóng)藥殘留快速檢測方法探討
      盐津县| 北流市| 察哈| 株洲市| 仁化县| 平陆县| 上饶县| 漯河市| 大悟县| 安阳市| 深州市| 淮北市| 汝阳县| 麻栗坡县| 曲松县| 乳山市| 皋兰县| 西吉县| 洛南县| 嘉义县| 工布江达县| 肇州县| 敦化市| 岐山县| 元阳县| 泸溪县| 巴塘县| 蒙阴县| 汉川市| 德保县| 浦东新区| 高尔夫| 大新县| 上思县| 扶风县| 伊吾县| 新邵县| 鹤庆县| 邵阳县| 修文县| 成武县|