新四季網

一種實現可變長crc運算的電路的製作方法

2023-09-16 21:19:00

專利名稱:一種實現可變長crc運算的電路的製作方法
技術領域:
本發明涉及USB及SATA等高速通信接口中CRC應用領域,尤其涉及一種實現可變長CRC運算的電路。
背景技術:
隨著微電子技術的發展,大容量、高速的數據傳輸應用需求越來越多,對帶寬的要求也越來越高,作為重要的高速通信接口,USB和SATA已經大量應用於日常生活的電子產
P
ΡΠ OCRC(Cyclic Redundancy Check,循環冗餘校驗)的技術特點是檢錯能力極強,開銷小,易於用編碼器及檢測電路實現。從其檢錯能力來看,它所不能發現的錯誤的機率為 0. 0047%以下。從性能上和開銷上考慮,均遠優於奇偶校驗及算術和校驗等方式,因而在數據存儲和數據通訊領域,CRC技術得到了廣泛的應用。如何將可變長CRC運算應用於USB, SATA等高速通信接口技術領域中是本發明要解決的技術問題。

發明內容
本發明目的提供一種實現可變長CRC運算的電路,通過把傳輸數據包截為不大於 32比特長度的子數據包,並根據子數據包的有效數據長度採取不同的CRC運算方法來計算對應的CRC值。一種實現可變長CRC運算的電路,由二選一選擇器、CRC運算模塊和輸出選擇模塊構成。二選一選擇器,用於根據各自的選擇條件對輸入數據進行選擇輸出;CRC運算模塊,根據不同的初始值,對輸入數據進行CRC運算;輸出選擇模塊,根據電路輸入數據,選擇輸出CRC運算結果;本發明中二選一選擇器為兩個,分別為選擇器MUXl和選擇器MUX2。選擇器MUXl 的輸入端有兩個一個是常數,設為32』 hff_ff,另外一個輸入端連接到輸出選擇模塊的輸出端crc_ValUe;其控制端為電路的輸入信號first_byte,輸出端分別連接到四個CRC運算模塊的輸入端crcjnitialjalue ;控制端輸入信號first_byte位寬為1比特,表示當前輸入的四字節數據是否包含傳輸數據包數據的第一字節。當first_byte為1』 bl時,表示當前輸入的四字節數據包含傳輸數據包數據的第一字節,將常數32』hff_ff輸出到crc_ initial_value數據線上;否則將crc_value輸出到crc_initial_value數據線上。選擇器MUX2有四個輸入端,分別連接於四個CRC運算模塊的輸出端,其控制端為電路的輸入信號 data—length。CRC運算模塊為四個,分別為電路輸入數據din有效位寬為32位的CRC_32、電路輸入數據din有效位寬為M位的CRC_24、電路輸入數據din有效位寬為16位的CRC_16和電路輸入數據din有效位寬為8位的CRC_8。四個CRC運算模塊的輸入端都為電路輸入數據din和MUXl的輸出crc_initial_value。電路輸入信號data_length位寬為2比特,當data_length為2,bll時,當前進行CRC運算的輸入數據din的有效位寬為32比特,則選擇器MUX2選擇輸出CRC_32b模塊的運算結果crc32_dout到crc_dout上。當data_length 為2』bl0時,當前進行CRC運算的輸入數據din的有效位寬為M比特,則選擇器MUX2選擇輸出 CRC_24b 模塊的運算結果 crc24_dout 到 crc_dout 上。當 data_length 為 2,b01 時, 當前進行CRC運算的輸入數據din的有效位寬為16比特,則選擇器MUX2選擇輸出CRC_16b 模塊的運算結果crcl6_dout到crc_dout上。當data_length為2,b00時,當前進行CRC 運算的輸入數據din的有效位寬為8比特,則選擇器MUX2選擇輸出CRC_8b模塊的運算結果 crc8_dout 至Ij crc_dout 上。輸出選擇模塊的輸入端為連接電路輸入信號last_byte和二選一選擇器MUX2的輸出CrC_doUt。laSt_byte位寬為1比特,表示當前輸入的四字節數據是否包含傳輸數據包數據的最後一字節。當last_byte為l』bl時,表示當前輸入的四字節數據包含傳輸數據包數據的最後一字節,把crc_dout的值輸出到dout數據線上;否則把crc_dout的值輸出至Ij crc_value數據線上。本發明根據子數據包的有效數據長度採取不同的CRC運算方法來計算對應的CRC 值,從而解決了傳統實現方式中因數據包長度不定長所帶來的數據CRC運算問題。


附圖1本發明提供的實現可變長CRC運算的電路結構圖具體實施方案以下結合本發明所提供的附圖1對發明內容進行詳細的描述。實現可變長CRC運算的電路中包含兩個二選一選擇器MUXl和MUX2,四個CRC運算模塊CRC_32b,CRC_24b, CRC_16b和CRC_8b,一個輸出選擇模塊。在三根信號f irst_byte, last_byte,data_length的控制下,完成對din的CRC運算操作。USB數據傳輸中數據包的長度會大於等於一字節,假如一包數據長度為72比特, 則該包數據需要分成三次CRC運算,第一次和第二次參與CRC運算的數據的有效長度都是 32比特,第三次參與CRC運算的數據的有效長度為8比特。當數據din被送入到CRC電路後,首先會同時進入到四個CRC運算模塊。同時二選一選擇器MUXl通過f irst_byte信號來判斷當前這32比特數據中,是否包含該包數據的第一字節的數據。如果包含,則把32』hff_ ff當做初始值,通過crcjnitialjalue輸送到四個CRC運算模塊;否則把crcjalue通過crcjnitialvalue輸送到四個CRC運算模塊。運算完成後,四個CRC運算模塊的運算結果分別通過 crc32_dout、crc24_dout、crcl6_dout 和 crc8_dout 送往二選一選擇器 MUX2 模塊。二選一選擇器MUX2通過電路輸入數據data_length來判斷當前進行CRC運算的輸入數據din的有效位是多少,從而判斷出哪個CRC運算模塊的運算結果有效。當datajength 為2』bll時,當前進行CRC運算的輸入數據din的有效位寬為32比特,則選擇器MUX2選擇輸出 CRC_32b 模塊的運算結果 crc32_dout 到 crc_dout 上。當 data_length 為 2,blO 時, 當前進行CRC運算的輸入數據din的有效位寬為M比特,則選擇器MUX2選擇輸出CRC_Mb 模塊的運算結果crc24_dout到crc_dout上。當data_length為2,b01時,當前進行CRC 運算的輸入數據din的有效位寬為16比特,則選擇器MUX2選擇輸出CRC_16b模塊的運算結果crcl6_dout到crc_dout上。當data_length為2,b00時,當前進行CRC運算的輸入數據din的有效位寬為8比特,則選擇器MUX2選擇輸出CRC_8b模塊的運算結果crc8_d0ut 到crc_doUt上。然後在輸出選擇模塊中,通過判斷last_byte來確定當前的結果是否應該作為電路的運算結果輸出。當last_byte為l』bl,則表示當前已進行CRC運算的輸入數據 din中包含最後一字節數據,此時CRC運算結束,crc_dout作為最終結果輸出;否則表明該數據包中還有數據尚未進行CRC運算,則把crc_doUt通過crcjalue輸送到二選一選擇器 MUXl中,進行新一輪迭代運算,直至該包數據中所有的數據都完成CRC運算操作。
權利要求
1.一種實現可變長CRC運算的電路,其特徵在於所述電路由二選一選擇器、CRC運算模塊和輸出選擇模塊構成。
2.如權利要求1所述的一種實現可變長CRC運算的電路,其特徵在於所述二選一選擇器為2個,分別根據各自的選擇條件對輸入數據進行選擇輸出。
3.如權利要求1所述的一種實現可變長CRC運算的電路,其特徵在於所述CRC運算模塊為4個電路輸入數據有效位寬為32位的CRC運算模塊,電路輸入數據有效位寬為M位的CRC運算模塊,電路輸入數據有效位寬為16位的CRC運算模塊和電路輸入數據有效位寬為8位的CRC運算模塊。
4.如權利要求1或2所述的一種實現可變長CRC運算的電路,其特徵在於所述2個二選一選擇器為MUXl和MUX2,MUX1的一輸入端為常數,另一輸入端連接到輸出選擇模塊的輸出端,控制端為電路的輸入信號first_byte ;MUX2有四個輸入端,分別連接於四個CRC運算模塊的輸出端,控制端為電路的輸入信號datajength。
5.如權利要求1或3所述的一種實現可變長CRC運算的電路,其特徵在於所述4個CRC 運算模塊的輸入端為電路輸入數據din和MUXl的輸出數據;4個CRC運算模塊的輸出值是否有效由電路輸入信號datajength的值確定。
6.如權利要求1所述的一種實現可變長CRC運算的電路,其特徵在於所述輸出選擇模塊的輸入端為連接電路輸入信號last_byte和二選一選擇器MUX2的輸出crc_d0ut,根據輸入信號laSt_byte的值確定crc_d0ut的值輸出到dout數據線或crcjalue數據線上。
全文摘要
本發明涉及一種實現可變長CRC運算的電路,由二選一選擇器、CRC運算模塊和輸出選擇模塊構成。二選一選擇器根據選擇條件對輸入數據進行選擇輸出;CRC運算模塊根據不同的初始值選擇對輸入數據進行不同CRC運算;輸出選擇模塊根據電路輸入數據,選擇輸出CRC運算結果。本發明通過把傳輸數據包截為不大於32比特長度的子數據包,並根據子數據包的有效數據長度採取不同的CRC運算方法來計算對應的CRC值,從而解決傳統實現方式中因數據包長度不定長所帶來的數據CRC運算問題。
文檔編號H03M13/09GK102487282SQ20101057315
公開日2012年6月6日 申請日期2010年12月3日 優先權日2010年12月3日
發明者左耀華 申請人:上海華虹集成電路有限責任公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀