CRC碼生成與校驗電路的設計_第1頁
CRC碼生成與校驗電路的設計_第2頁
CRC碼生成與校驗電路的設計_第3頁
CRC碼生成與校驗電路的設計_第4頁
CRC碼生成與校驗電路的設計_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目 錄第1章 總體設計方案11.1 設計原理11.2 設計思路21.3 設計環(huán)境3第2章 詳細設計方案52.1 頂層方案圖的設計與實現52.1.1創(chuàng)建頂層圖形設計文件62.1.2器件的選擇與引腳鎖定62.1.3編譯、綜合、適配82.2 功能模塊的設計與實現82.2.1模2除法器的設計與實現82.2.2移位寄存器的設計與實現102.3 仿真調試11第3章 編程下載與硬件測試143.1 編程下載143.2 硬件測試及結果分析14參考文獻15附 錄(電路原理圖)16第1章 總體設計方案1.1 設計原理循環(huán)冗余校驗碼(cyclic redundancy check,CRC)簡稱為循環(huán)碼或CRC碼。二進

2、制信息沿一條信號線逐位在設備之間傳送稱為串行傳送,CRC碼常用于串行傳送過程中的檢錯與糾錯。CRC碼的編碼格式如圖1.1所示,是在k位有效數據之后添加r位校驗碼,形成總長度為n的CRC碼,簡寫作C(n,k)碼。CRC編碼的關鍵技術在于如何從k位信息簡便的得到r位校驗碼,并根據總長度為n的CRC碼進行糾錯。圖1.1設被校驗的數據是一個k位的二進制代碼,將它表示為一個(k-1)階的多項式 (1-1)多項式(1-1)中的系數D的取值為0或1,與被校驗的數據M一一對應;式中的x是一個偽變量,用指明各位的位置。設校驗碼P長度為r,將被校驗數據D左移r位后的結果為將D左移r位的目的是給D右邊添加r個0,形

3、成(k+r)位長度二進制代碼,其多項式形式為M(x)×。如圖1.1所示,CRC碼由k位數據D和r位校驗碼P組成,求校驗碼P的多項式R(X)的方法如下:  (1-2)Q(x)是商,R(x)是余數,R(x)所對應的二進制代碼是校驗碼P。可以證明存在一個最高次冪為n- k=r 的多項式G(x) ,即式(1-2)中G(x),稱為生成多項式。 由式(1-2)可以推導出 (1-3)由式(1-3)可知,CRC碼可被G(x)整除,余數必然為0.。根據這一特性,接收方將收到的CRC碼被G(x)除,若余數為0,則表明傳送過程中沒有錯誤發(fā)生,若出現一位錯,根據余數與出錯位一一對應的關系,可利用余

4、數對錯誤碼進行定位。因此,接收方可根據表1.1發(fā)現并糾正1位錯。 Q6Q5Q4Q3Q2Q1Q0余數出錯位正確1100010000無錯誤1100011001Q01100000010Q11100110100Q21101010011Q31110010110Q41000010111Q50100010101Q6表1.1 循環(huán)校驗碼的出錯模式1.2 設計思路根據題目要求,信息位k=4,r=n-k=3可知本次實驗主要是完成(7,4)碼的生成和校驗。CRC碼生成電路的核心主要由移位寄存器和模2除法器構成,信息位以串行的方式輸入。依據CRC碼生成與校驗原理可知,生成電路中由輸入端串行輸入的數據D左移3位后,與生

5、成多項式G(x)做模2除法,并將得到的3位余數與4位信息碼拼接成7位CRC碼。校驗電路原理同生成電路,主要由移位寄存器、模2除法器和3.8譯碼器構成。將待檢測的CRC碼串行輸入到模2除法器和移位寄存器中去,求得3位余數,利用3.8譯碼器譯碼將三位余數譯碼,通過比較可以找出出錯位,并將譯碼結果與移位寄存器的輸出結果進行異或,便得到糾正后的正確結果。CRC碼生成與校驗電路主要包括兩個部分:1.生成電路。由移位寄存器接收數據并進行移位,生成多項式由開關直接送入,輸入數據與生成多項式通過模2除法器最終生成CRC碼。2.校驗電路。原理類似生成電路,校驗電路中增加了3-8譯碼器。3-8譯碼器與異或門共同完

6、成對信息碼的的校驗與糾正,最后輸出校驗后的信息碼。本設計方案采用的元件有模2除法器模塊,移位寄存器模塊,3-8譯碼器,與門,異或門。移位寄存器由7個D觸發(fā)器構成。模2除法器由若干兩輸入與門,若干兩輸入異或門和D觸發(fā)器構成。1.3 設計環(huán)境(1)硬件環(huán)境: 偉福COP2000型計算機組成原理實驗儀、XCV200實驗板、微機。 COP2000集成調試軟件 COP2000 集成開發(fā)環(huán)境是為COP2000 實驗儀與PC 機相連進行高層次實驗的配套軟件,它通過實驗儀的串行接口和PC 機的串行接口相連,提供匯編、反匯編、編輯、修改指令、文件傳送、調試FPGA 實驗等功能,該軟件在Windows 下運行。C

7、OP2000 集成開發(fā)環(huán)境界面如圖1.2所示。圖 1.2 COP2000計算機組成原理集成調試軟件(2)EDA環(huán)境: Xilinx foundation f3.1設計軟件Xilinx foundation f3.1是Xilinx公司的可編程期間開發(fā)工具,該平臺(如圖1.3所示)功能強大,主要用于百萬邏輯門設計。該系統由設計入口工具、設計實現工具、設計驗證工具三大部分組成。圖 1.3 Xilinx foundation f3.1設計平臺第2章 詳細設計方案2.1 頂層方案圖的設計與實現頂層方案圖實現CRC碼的生成與校驗的邏輯功能,采用原理圖設計輸入方式完成,電路實現基于XCV200可編程邏輯芯片

8、。在完成原理圖的功能設計后,把輸入/輸出信號安排到XCV200指定的引腳上去,實現芯片的引腳鎖定。2.1.1創(chuàng)建頂層圖形設計文件頂層圖形文件的設計實體主要由CRC碼生成電路與CRC碼校驗電路組成。生成電路主要由移位寄存器元件-U2、模2除法器元件-U3構成。如圖2.1所示。圖2.1 CRC碼生成電路圖校驗電路主要由移位寄存器元件-U5、模2除法器-U4,3-8譯碼器,異或門集成模塊-U6構成。如圖2.2所示。圖2.2 CRC碼校驗電路圖2.1.2器件的選擇與引腳鎖定(1)器件的選擇由于硬件設計環(huán)境是基于偉福COP2000型計算機組成原理實驗儀和XCV200實驗板,故采用的目標芯片為Xlinx

9、XCV200軟件中可用芯片。(2)引腳鎖定把頂層圖形文件中的輸入/輸出信號安排到Xlinx XCV200芯片指定的引腳上去,實現芯片的引腳鎖定,各信號及Xlinx XCV200芯片引腳對應關系如表2.1所示。 圖形文件中的輸入/輸出信號XCV200芯片引腳D87A73CLK213VCC47G3100G2101G1102G0103Q6152Q5178Q4184Q3185Q2203Q1111Q0110L693L599L4107L3108L2109L1124L0125表2.1 信號和芯片引腳對應關系2.1.3編譯、綜合、適配利用Xilinx foundation f3.1的原理圖編輯器對頂層圖形文件

10、進行編譯,并最終生成網絡表文件,利用設計實現工具經綜合、優(yōu)化、適配,生成可供時序仿真的文件和器件下載編程文件。2.2 功能模塊的設計與實現CRC碼的生成與校驗電路是基于移位寄存器和模2除法器及異或門實現的。2.2.1模2除法器的設計與實現模2加定義:即按位加,可用異或邏輯實現。模2加同模2減結果相同,即0±1=1,1±0=1,0±0=0,1±1=0。模2除定義:按照模2減求得部分余數。每求一位商應將部分余數減少一位。上商原則是:當部分余數的位數多于除數時,商1,否則,商0。該模塊由D觸發(fā)器、與門和異或門構成。對(7,4)校驗碼,可采用圖2.3所示電路,產

11、生3位的余數Q2、Q1、Q0。圖中的模2減用異或門實現,左移一位由移位寄存器實現;用異或門的輸出控制左邊一位寄存器的D輸入端,可同時實現模2減和左移。用最左一位D觸發(fā)器的取值控制是否做模2減,當其為1時,減去的數就是生成多項式G(x),為0時減去的就是0000。這里,被除數D是逐位串行送到移位寄存器的,且由CP脈沖同步。其設計過程如下:(1)創(chuàng)建控制器設計原理圖。模2除法器原理圖如圖2.3所示。 圖2.3 模2除法器的原理框圖(2)創(chuàng)建元件圖形符號為能在圖形編輯器(原理圖設計輸入方式)中調用MOD2芯片,需要為MOD2模塊創(chuàng)建一個元件圖形符號,可利用Xilinx foundation f3.1

12、編譯器中的如下步驟實現:Tools=>Symbol Wizard=>下一步。CP、D是輸入信號,Q2、Q1、Q0是輸出信號。其元件圖形符號如圖2.4所示: 圖2.4模2除法器元件圖形符號(3)功能仿真對創(chuàng)建的控制器模塊進行功能仿真,驗證其功能的正確性,可用Xilinx Foundation f3.1編譯器Simulator模塊實現。D端串行輸入數據1100000,得到余數Q2、Q1、Q0為010。仿真結果如圖2.5所示: 圖2.5 模2除法器仿真結果2.2.2移位寄存器的設計與實現該模塊由8個D觸發(fā)器相連接構成,數據通過D端串行輸入到D觸發(fā)器中。每過一個時鐘脈沖,輸入的數據左移一位

13、,經過7個脈沖后,由7個D觸發(fā)器的Q端并行輸出所輸入的數據。(1)創(chuàng)建控制器設計原理圖。移位寄存器的原理框圖如圖2.6所示。圖2.6 移位寄存器的原理框圖(2)創(chuàng)建元件圖形符號為能在圖形編輯器(原理圖設計輸入方式)中調用MOV芯片,需要為MOV模塊創(chuàng)建一個元件圖形符號,可利用Xilinx foundation f3.1編譯器中的如下步驟實現:Tools=>Symbol Wizard=>下一步。CP、D是輸入信號,Q6、Q5、Q4、Q3、Q2、Q1、Q0是輸出信號。其元件圖形符號如圖2.7所示:圖2.7 移位寄存器器元件圖形符號(3)功能仿真對創(chuàng)建的控制器模塊進行功能仿真,驗證其功能

14、的正確性,可用Xilinx Foundation f3.1編譯器Simulator模塊實現。D串行輸入數據1100000,得到結果1100000。仿真結果如圖2.8所示: 圖2.8 移位寄存器仿真結果2.3 仿真調試仿真調試主要驗證設計電路邏輯功能、時序的正確性,本設計中主要采用功能仿真方法對設計的電路進行仿真。(1)建立仿真波形文件及仿真信號選擇功能仿真時,首先建立仿真波形文件,添加仿真信號,對選定的輸入信號設置參數,選定的仿真信號和設置的參數如表2.2所示。仿真時D輸入信息碼1100000,A輸入循環(huán)校驗碼1100000,G0,G1,G2,G3輸入生成多項式1011,VCC恒為1。(2)功

15、能仿真結果與分析功能仿真波形結果如圖2.9所示,仿真數據結果如表2.2所示。對表2.2與表1.1的內容進行對比,可以看出功能仿真結果是正確的,進而說明電路設計的正確性。圖2.9 功能仿真波形結果DACLOCKQ6Q5Q4Q3Q2Q1Q0L6L5L4L3L2L1L011100000010000000111000000100010110010000110001011000100011110101100001001110110110000010110001011000100111000101100010表2.2 仿真數據結果 輸入信息碼為:1100000,生成多項式為:1011,應用模2除法器可以求

16、出三位余數為 010 然后把余數和信息碼拼接可以得到CRC編碼為:1100010 輸入需要校驗的CRC碼為:1100000,生成多項式位:1011,可以求得三位余數位010因為余數不為000,可以判斷出接受到的循環(huán)校驗碼是錯的,并且錯誤位在Q1。通過校驗電路修改可輸出正確的CRC碼1100010。由圖2.9的仿真圖和表2.2的仿真數據結果可以看出,生成的CRC碼為1100010,校驗之后CRC碼為1100010。 第3章 編程下載與硬件測試3.1 編程下載利用COP2000仿真軟件的編程下載功能,將得到.bit文件下載到XCV200實驗板的XCV200可編程邏輯芯片中。3.2 硬件測試及結果分析利用XCV200實驗板進行硬件功能測試。CRC碼生成和校驗的輸入數據通過XCV200實驗板的輸入開關實現,輸出數據通過XCV200實驗板的LED指示燈實現,其對應關系如表3.1所示。XCV200芯片引腳信號XCV200實驗板XCV200芯片引腳信號XCV200實驗板XCV200芯片引腳信號XCV200實驗板DK1:0Q6A6L6B6AK2:0Q5A5L5B5CLKCLOCKQ4A4L4B4G3K0:3Q3A3L3B3G2KO:2Q2A2L2B2G1K0:1Q1A1L1B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論