[發(fā)明專利]一種實現(xiàn)可變長CRC運算的電路無效
| 申請?zhí)枺?/td> | 201010573154.1 | 申請日: | 2010-12-03 |
| 公開(公告)號: | CN102487282A | 公開(公告)日: | 2012-06-06 |
| 發(fā)明(設(shè)計)人: | 左耀華 | 申請(專利權(quán))人: | 上海華虹集成電路有限責任公司 |
| 主分類號: | H03M13/09 | 分類號: | H03M13/09 |
| 代理公司: | 上海東創(chuàng)專利代理事務(wù)所(普通合伙) 31245 | 代理人: | 曹立維 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 實現(xiàn) 變長 crc 運算 電路 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及USB及SATA等高速通信接口中CRC應(yīng)用領(lǐng)域,尤其涉及一種實現(xiàn)可變長CRC運算的電路。
背景技術(shù)
隨著微電子技術(shù)的發(fā)展,大容量、高速的數(shù)據(jù)傳輸應(yīng)用需求越來越多,對帶寬的要求也越來越高,作為重要的高速通信接口,USB和SATA已經(jīng)大量應(yīng)用于日常生活的電子產(chǎn)品。
CRC(Cyclic?Redundancy?Check,循環(huán)冗余校驗)的技術(shù)特點是檢錯能力極強,開銷小,易于用編碼器及檢測電路實現(xiàn)。從其檢錯能力來看,它所不能發(fā)現(xiàn)的錯誤的幾率為0.0047%以下。從性能上和開銷上考慮,均遠優(yōu)于奇偶校驗及算術(shù)和校驗等方式,因而在數(shù)據(jù)存儲和數(shù)據(jù)通訊領(lǐng)域,CRC技術(shù)得到了廣泛的應(yīng)用。如何將可變長CRC運算應(yīng)用于USB,SATA等高速通信接口技術(shù)領(lǐng)域中是本發(fā)明要解決的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明目的提供一種實現(xiàn)可變長CRC運算的電路,通過把傳輸數(shù)據(jù)包截為不大于32比特長度的子數(shù)據(jù)包,并根據(jù)子數(shù)據(jù)包的有效數(shù)據(jù)長度采取不同的CRC運算方法來計算對應(yīng)的CRC值。
一種實現(xiàn)可變長CRC運算的電路,由二選一選擇器、CRC運算模塊和輸出選擇模塊構(gòu)成。
二選一選擇器,用于根據(jù)各自的選擇條件對輸入數(shù)據(jù)進行選擇輸出;
CRC運算模塊,根據(jù)不同的初始值,對輸入數(shù)據(jù)進行CRC運算;
輸出選擇模塊,根據(jù)電路輸入數(shù)據(jù),選擇輸出CRC運算結(jié)果;
本發(fā)明中二選一選擇器為兩個,分別為選擇器MUX1和選擇器MUX2。選擇器MUX1的輸入端有兩個:一個是常數(shù),設(shè)為32’hff_ff,另外一個輸入端連接到輸出選擇模塊的輸出端crc_value;其控制端為電路的輸入信號first_byte,輸出端分別連接到四個CRC運算模塊的輸入端crc_initial_value;控制端輸入信號first_byte位寬為1比特,表示當前輸入的四字節(jié)數(shù)據(jù)是否包含傳輸數(shù)據(jù)包數(shù)據(jù)的第一字節(jié)。當first_byte為1’b1時,表示當前輸入的四字節(jié)數(shù)據(jù)包含傳輸數(shù)據(jù)包數(shù)據(jù)的第一字節(jié),將常數(shù)32’hff_ff輸出到crc_initial_value數(shù)據(jù)線上;否則將crc_value輸出到crc_initial_value數(shù)據(jù)線上。選擇器MUX2有四個輸入端,分別連接于四個CRC運算模塊的輸出端,其控制端為電路的輸入信號data_length。
CRC運算模塊為四個,分別為:電路輸入數(shù)據(jù)din有效位寬為32位的CRC_32、電路輸入數(shù)據(jù)din有效位寬為24位的CRC_24、電路輸入數(shù)據(jù)din有效位寬為16位的CRC_16和電路輸入數(shù)據(jù)din有效位寬為8位的CRC_8。四個CRC運算模塊的輸入端都為電路輸入數(shù)據(jù)din和MUX1的輸出crc_initial_value。電路輸入信號data_length位寬為2比特,當data_length為2’b11時,當前進行CRC運算的輸入數(shù)據(jù)din的有效位寬為32比特,則選擇器MUX2選擇輸出CRC_32b模塊的運算結(jié)果crc32_dout到crc_dout上。當data_length為2’b10時,當前進行CRC運算的輸入數(shù)據(jù)din的有效位寬為24比特,則選擇器MUX2選擇輸出CRC_24b模塊的運算結(jié)果crc24_dout到crc_dout上。當data_length為2’b01時,當前進行CRC運算的輸入數(shù)據(jù)din的有效位寬為16比特,則選擇器MUX2選擇輸出CRC_16b模塊的運算結(jié)果crc16_dout到crc_dout上。當data_length為2’b00時,當前進行CRC運算的輸入數(shù)據(jù)din的有效位寬為8比特,則選擇器MUX2選擇輸出CRC_8b模塊的運算結(jié)果crc8_dout到crc_dout上。
輸出選擇模塊的輸入端為連接電路輸入信號last_byte和二選一選擇器MUX2的輸出crc_dout。last_byte位寬為1比特,表示當前輸入的四字節(jié)數(shù)據(jù)是否包含傳輸數(shù)據(jù)包數(shù)據(jù)的最后一字節(jié)。當last_byte為1’b1時,表示當前輸入的四字節(jié)數(shù)據(jù)包含傳輸數(shù)據(jù)包數(shù)據(jù)的最后一字節(jié),把crc_dout的值輸出到dout數(shù)據(jù)線上;否則把crc_dout的值輸出到crc_value數(shù)據(jù)線上。
本發(fā)明根據(jù)子數(shù)據(jù)包的有效數(shù)據(jù)長度采取不同的CRC運算方法來計算對應(yīng)的CRC值,從而解決了傳統(tǒng)實現(xiàn)方式中因數(shù)據(jù)包長度不定長所帶來的數(shù)據(jù)CRC運算問題。
附圖說明
附圖1本發(fā)明提供的實現(xiàn)可變長CRC運算的電路結(jié)構(gòu)圖
具體實施方案
該專利技術(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/201010573154.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
H03M 一般編碼、譯碼或代碼轉(zhuǎn)換
H03M13-00 用于檢錯或糾錯的編碼、譯碼或代碼轉(zhuǎn)換;編碼理論基本假設(shè);編碼約束;誤差概率估計方法;信道模型;代碼的模擬或測試
H03M13-01 .編碼理論基本假設(shè);編碼約束;誤差概率估算方法;信道模型;代碼的模擬或測試
H03M13-03 .用數(shù)據(jù)表示中的冗余項檢錯或前向糾錯,即碼字包含比源字更多的位數(shù)
H03M13-25 .由信號空間編碼進行的檢錯或前向糾錯,即在信號叢中增加冗余項,例如梳狀編碼調(diào)制
H03M13-27 .應(yīng)用交錯技術(shù)的
H03M13-29 .合并兩個或多個代碼或代碼結(jié)構(gòu),例如乘積碼、廣義乘積碼、鏈接碼、內(nèi)層碼和外層碼
- 互動業(yè)務(wù)終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預(yù)報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設(shè)備實現(xiàn)方法及其實現(xiàn)裝置





