




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上湖南科技大學數字系統設計綜合實驗報告實驗題目: CRC編碼模塊設計 班級: 學號: 姓名: 日期: 一:題目功能分析;設計一個在數字傳輸中常用的校驗、糾錯模塊,CRC循環冗余校驗模塊設計簡介:循環冗余校驗(CRC)是一種根據網絡數據封包或電腦檔案等數據產生簡短固定位數校驗碼的一種散列函數,主要用來檢測或校驗數據傳輸或者保存后可能出現的錯誤。生成的數字在傳輸或者儲存之前計算出來并且附加到數據后面,然后接收方進行檢驗確定數據是否發生變化。而且CRC碼是目前通信系統中最常用的一種差錯控制編碼,利用其進行檢錯的過程可簡單描述為:在發送端根據要傳送的二進制碼序列,以一定的規則產
2、生一個校驗用的監督碼,附在原始信息后邊,構成一個新的二進制碼序列數,然后發送出去。在接收端根據信息碼和CRC 碼之間所遵循的規則進行檢驗,一旦傳輸過程中發生差錯,則信息碼元與監督碼元之間的關系遭到破壞,從而可以發現錯誤,乃至糾正錯誤。CRC實驗原理: CRC檢驗原理實際上就是在一個p位二位進制數據序列之后附加一個r位二進制檢驗碼(序列),從而構成一個總長為npr位的二進制序列;附加在數據序列之后的這個檢驗碼與數據序列的內容之間存在著某種特定的關系。如果因干擾等原因使數據序列中的某一位或某些位發生錯誤,這種特定關系就會被破壞。因此,通過檢查這一關系,就可以實現對數據正確性的檢驗。本設計需要完成1
3、6位信息和5位CRC校驗碼發送、接收,其功能實現為:采用平臺上的A、B兩組開關輸入16位二進制數,輸出為X、Y、Z三組發光二極管,同時要求6個數碼管顯示其相對應的16進制編碼結果。二:總模塊劃分; 由兩個模塊構成:CRC校驗生成模塊(發送)和CRC校驗檢錯模塊(接收),采用輸入、輸出否為并行的CRC校驗生成方式。 (結構圖)三:代碼實現;VHDL代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity crc is port(cl
4、k :in std_logic; sdata:in std_logic_vector(15 downto 0); smg:out std_logic_vector(7 downto 0); led:out std_logic_vector(7 downto 0); error,hsend:out std_logic); end crc;architecture comm of crc is constant multi_coef:std_logic_vector(5 downto 0):="" -signal sdata:std_logic_vector(15 downto
5、 0):="00011" signal datacrco:std_logic_vector(23 downto 0); signal cnt:std_logic_vector(4 downto 0); signal dtemp:std_logic_vector(15 downto 0); signal sdatam:std_logic_vector(15 downto 0); signal rdtemp:std_logic_vector(15 downto 0); signal rdatacrc:std_logic_vector(20 downto 0); signal r
6、cnt:std_logic_vector(4 downto 0); signal st:std_logic; signal rt:std_logic; signal cn:std_logic; signal state:integer range 0 to 8; signal tdata1,tdata2,tdata3,tdata4,tdata5,tdata6,data:std_logic_vector(3 downto 0);begin p1:process(clk) variable crcvar:std_logic_vector(5 downto 0); begin if clk'
7、event and clk='1' then if (st='0') then dtemp<=sdata; sdatam<=sdata; cnt<=(others=>'0'); hsend<='0' st<='1' elsif(st='1'and cnt<11)then cnt<=cnt+1; if(dtemp(15)='1')then crcvar:=dtemp(15 downto 10)xor multi_coef; dtemp&l
8、t;=crcvar(4 downto 0) & dtemp(5 downto 0) & '0'& '0'& '0'& '0'& '0' else dtemp<=dtemp(14 downto 0)&'0' end if; elsif(st='1'and cnt=11)then datacrco<='0'& '0'& '0'&sdata&d
9、temp(15 downto 11); hsend<='1' cnt<=cnt+1; elsif(st='1' and cnt=11)then hsend<='0' st<='0' end if; end if; end process p1;tdata1<=datacrco(23 downto 20);tdata2<=datacrco(19 downto 16);tdata3<=datacrco(15 downto 12);tdata4<=datacrco(11 downto 8)
10、;tdata5<=datacrco(7 downto 4);tdata6<=datacrco(3 downto 0);cn<='1'process(clk)begin if (clk'event and clk='1'and cn='1') then state<=state+1; end if;end process;process(data,state)begin case data is when "0000"=>smg<="" when "000
11、1"=>smg<="" when "0010"=>smg<="" when "0011"=>smg<="" when "0100"=>smg<="" when "0101"=>smg<="" when "0110"=>smg<="" when "0111"=>smg<
12、;="" when "1000"=>smg<="" when "1001"=>smg<="" when "1010"=>smg<="" when "1011"=>smg<="" when "1100"=>smg<="" when "1101"=>smg<="" whe
13、n "1110"=>smg<="" when "1111"=>smg<="" when others=>smg<="" end case;end process; process(tdata1,tdata2,tdata3,tdata4,tdata5,tdata6,state)begin case state is when 1=>led<=""data<=tdata1; when 2=>led<="&
14、quot;data<=tdata2; when 3=>led<=""data<=tdata3; when 4=>led<=""data<=tdata4; when 5=>led<=""data<=tdata5; when 6=>led<=""data<=tdata6; when others=>led<=""data<="1111" end case; end process; e
15、nd comm;四:仿真與實驗結果; 首先在工程下VHDL file編寫上述代碼,編寫完成,點擊電腦上的complication圖標,然后再點擊assignments,選擇pins選項,按照所編程程序的要求,完成對輸入輸出引腳的綁定,在點擊仿真模擬的圖標,將程序仿真模擬,在實驗平臺上顯示結果如上圖。五:小組成員及分工說明;小組成員: 分工說明:首先各自通過老師發的資料安裝破解quartus軟件,再看視頻來學習其軟件的基礎使用。然后再翻閱書籍和在網上查閱資料了解到CRC編碼模塊設計的基本原理,一起編寫VHDl代碼,在軟件上進行調試,運行,糾錯。通過多次,最后在實驗平臺上進行功能實現。六:設計心得
16、,體會; 通過這次的EDA課題設計,讓我們對CRC校驗碼有了很深的了解,也相應的對quartus軟件的使用有了很大的加深。經過我們幾周的努力,還是比較符合要求的完成了課題的設計。這使我們明白了,學習上的很多事情,只要肯下工夫去鉆研,就一定能夠有所收獲,提高了我們對通信電路設計領域的認識,通過與同學分工合作既鍛煉了我們合作能力也提高了我們獨立分析問題和解決問題的能力。設計過程的復雜加老師的嚴格要求有益于培養我們嚴謹的工作作風。 在CRC編碼模塊設計的實驗中,最開始對其完全沒有任何概念,也不知道是拿來做什么的,覺得對其基礎知識掌握的很差,對VHDL 代碼的編寫也不了解,不知道怎樣做本實驗,突然感覺我們應該仔細的看看書本知識才行,首先我們學習了怎樣操作quartus軟件,我們上網查詢了CRC的基本原理。了解其實驗需
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 等保檢測機構管理辦法
- 葡萄酒消費稅管理辦法
- 宜賓小區管理辦法細則
- 規劃建設條件管理辦法
- 西安擔保借貸管理辦法
- 育人故事課件視頻
- 股癬護理課件視頻教學
- 壓瘡培訓課件5
- 培訓課件首頁布局
- 高質量高考數學試卷
- 倉儲物流部事故應急預案
- 浙江省臺州市2024-2025學年高一下學期期末政治試卷
- 社區專職考試題庫及答案
- 法院法警考試試題及答案
- 2025年中國電池箔行業發展前景預測及投資戰略研究報告
- 應急工器具培訓課件
- 中國食用油市場調研及發展策略研究報告2025-2028版
- 2026屆江蘇省名校新高三6月適應性調研測試語文試題及答案
- 2025年 浙江省考行測考試試題附答案
- JJF 2252-2025機動車檢測用渦流式金屬探傷儀校準規范
- 宣傳部密碼電報管理制度
評論
0/150
提交評論