關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于SATAII協議的CRC32并行算法的研究

        基于SATAII協議的CRC32并行算法的研究

        作者: 時間:2012-12-20 來源:網絡 收藏

        協議中CRC生成校驗模塊采用有限狀態機來識別傳輸數據流中的原語,從而完成CRC值的生成與校驗。其狀態機結構圖如圖3所示。

        本文引用地址:http://www.104case.com/article/159619.htm

        k.JPG


        其中狀態STATE0檢測幀頭并裝入STATE1狀態;在STATE1中,當輸入數據為幀尾時,則轉入STATE3狀態,否則轉入STATE2狀態,在STATE1狀態下輸出幀頭,并設置CRC初始值為0x52325032h;在STATE2中,當輸入為幀尾時,則轉入STATE3狀態,否則轉入STATE2狀態,對非原語數據進行CRC值生成,并保存到寄存器中,輸出為數據或保持原語;在STATE3中輸出最終的CRC值,并轉入STATE4狀態;在STATE4中輸出幀尾,并轉入STATTE0狀態等待下一次數據的輸入。
        輸入一幀數據,并由式(14)進行計算,得出輸入數據對應的CRC計算值如表1所示。

        a.JPG

        其對應的系統仿真結果如圖4所示。
        仿真結果顯示,CRC數據校驗與表1中的理論值一致,CRC生成模塊能夠自動識別數據流中的原語和數據,并能有數據生成正確的CRC校驗值。其中每雙字數據生成CRC值僅需一個時鐘周期,系統輸出延時僅為一個時鐘周期,相對于串行CRC生成算法,更能滿足協議對時鐘頻率的要求。

        5 結束語
        文中介紹了CRC校驗原理和常用實現算法,并根據比特型算法推導出一種的實現方案,該方案實現簡單,實現的相對于串行算法具有速度快,運算簡單,并且易于硬件實現等優點。本文還將將CRC32并行算法與協議相結合,實現了滿足SATA協議規范的CRC生成和校驗模塊,并成功應用于SATAⅡ主控制器的設計中。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贡觉县| 墨玉县| 福建省| 文登市| 栾城县| 长泰县| 桦甸市| 罗定市| 团风县| 金塔县| 高阳县| 望城县| 枣庄市| 靖江市| 宕昌县| 牟定县| 区。| 平阳县| 木里| 彭山县| 惠来县| 乌拉特后旗| 怀远县| 沂水县| 车险| 桂平市| 特克斯县| 凌云县| 库尔勒市| 遂昌县| 丰原市| 漳浦县| 夹江县| 克拉玛依市| 资兴市| 楚雄市| 普定县| 志丹县| 莱芜市| 南通市| 额济纳旗|