版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 通信系統(tǒng)課程設(shè)計報告 目 錄 序言 2第一章 通信系統(tǒng)課程設(shè)計要求要求和方案 31.1通信系統(tǒng)課程設(shè)計總體要求 31.2課程設(shè)計題目 31.3 CRC編解碼器設(shè)計方案 3 第二章 Quartus 簡介 52.1 Quartus II簡介 5第三章 (24,16)CRC 循環(huán)碼編解碼器的設(shè)計 73.1 CRC循環(huán)校驗(yàn)碼的基本原理 7 3.1.1 CRC校驗(yàn)碼的生成 7 3.1.2 CRC校驗(yàn)碼校驗(yàn)原理 73.2 (24,16)CRC循環(huán)碼編解碼器的實(shí)現(xiàn) 83.2.1 CRC-8 生成多項(xiàng)式 83.2.2 (24,16)CRC 循環(huán)碼編碼器的設(shè)計 83.2.3 (24,16)CRC 循環(huán)碼解碼器
2、的設(shè)計 103.2.4 (24,16)CRC 循環(huán)冗余校驗(yàn)碼編解碼器總圖 12第四章 CRC循環(huán)校驗(yàn)碼的應(yīng)用 13體會與建議 14參考文獻(xiàn) 15附錄 16 序 言 通常,數(shù)據(jù)通信中的編碼可以分為兩大類,分別是信源編碼和信道編碼。在實(shí)際應(yīng)用中,為了提高數(shù)據(jù)通信的可靠性而采取的編碼稱為信道編碼,也稱做抗干擾編碼。一般來講,數(shù)據(jù)通信要求傳輸過程中的誤碼率應(yīng)該足夠低,這樣才能真正符合實(shí)際應(yīng)用的具體要求,為了降低數(shù)據(jù)通信線路傳輸?shù)恼`碼率,通常有改善數(shù)據(jù)通信線路傳輸質(zhì)量和差錯檢測控制兩種方法。 實(shí)現(xiàn)差錯檢測控制的方法很多,循環(huán)冗余校驗(yàn)(CRC)就是一類重要的線性分組碼。循環(huán)冗余碼校驗(yàn)英文名稱為Cyclic
3、al Redundancy Check,簡稱CRC。CRC校驗(yàn)碼碼的作用是:發(fā)送方發(fā)送的數(shù)據(jù)發(fā)送給了接收方,但是由于在傳輸過程中信號干擾,可能出現(xiàn)錯誤的碼,造成的結(jié)果就是接收方不清楚收到的數(shù)據(jù)是否就是發(fā)送方要發(fā)的數(shù)據(jù),所以就有了CRC校驗(yàn)碼。保證了發(fā)送跟接受的數(shù)據(jù)是否一樣,要糾錯的話,還需對軟件進(jìn)行設(shè)計,畢竟傳輸?shù)氖?進(jìn)制,如果知道了哪一位出錯了,可以把那一位取反,需要對軟件進(jìn)行優(yōu)化。CRC也是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長度可以任意選定。它是利用除法及余數(shù)的原理來作錯誤偵測的。實(shí)際應(yīng)用時,發(fā)送裝置計算出CRC值并隨數(shù)據(jù)一同發(fā)送給接收裝置,接收裝置對收到的
4、數(shù)據(jù)重新計算CRC并與收到的CRC相比較,若兩個CRC值不同,則說明數(shù)據(jù)通訊出現(xiàn)錯誤。 本次課程設(shè)計主要設(shè)計(24,16)校驗(yàn)碼的編碼與解碼,本次課程設(shè)計是介紹如何通過quartus軟件,采用原理圖輸入法,分別完成相應(yīng)的編碼和解碼;最后將編碼和解碼電路圖結(jié)合,檢查編碼解碼過程是否發(fā)生錯誤。通過課程設(shè)計驗(yàn)證CRC校驗(yàn)碼的檢錯糾錯功能。 第一章 通信系統(tǒng)課程設(shè)計總體要求和方案1.1通信系統(tǒng)課程設(shè)計總體要求 1、根據(jù)題目要求的功能進(jìn)行設(shè)計;設(shè)計出整體電路圖和流程框圖; 2、設(shè)計的電路圖的每個組成部分須有設(shè)計說明;以及整體電路概述; 3、采用原理圖或 VHDL 語言輸入法,在計算機(jī)上進(jìn)行編譯和軟件仿真
5、。1.2課程設(shè)計題目 (24,16)CRC 循環(huán)碼編解碼器設(shè)計(2 人合作) 1、采用原理圖輸入法。 2、根據(jù) CRC 循環(huán)碼的編解碼原理,確定編解碼器具體設(shè)計方案。 3、設(shè)計 (24,16)CRC 循環(huán)碼編解碼器電路圖。 4、調(diào)試及彷真時序波形。 1.3 CRC編解碼器設(shè)計方案 CRC循環(huán)校驗(yàn)碼的產(chǎn)生和校驗(yàn)既可用硬件實(shí)現(xiàn),也可用軟件實(shí)現(xiàn),較經(jīng)典的硬件實(shí)現(xiàn)算法有移位計算法、查表計算法和公式法。 方法一、移位計算法。移位計算法就是直接模擬CRC校驗(yàn)碼基本原理中除法的過程,來得到余數(shù)從而得到即CRC值。設(shè)生成多項(xiàng)式g(x)有r位,由于最高位是要一直消掉的,所以只需要一個r位的寄存器。 圖1 移位算
6、法實(shí)現(xiàn)框圖 圖中由R0-Rr-1構(gòu)成的CRC 寄存器是一個r位移位寄存器 組,用來存儲r位的CRC校驗(yàn)碼R(x)。運(yùn)算控制開關(guān)g1-gr-1的位置與生成多項(xiàng)式G(x) 的系數(shù)相關(guān),對應(yīng)系數(shù)1的開關(guān)接通反饋支路(上端),否則接地(右側(cè))。編解碼前清零CRC寄存器,在時鐘驅(qū)動下,待校驗(yàn)的信息碼B(x)經(jīng)運(yùn)算處理逐位移入CRC寄存器中,當(dāng)信息碼全部輸入之后,CRC寄存器中存放的值即為生成的CRC碼。另只須輸出開關(guān)C開始接下端,在時鐘驅(qū)動下逐位輸出待校驗(yàn)的k位信息碼B(x) ,然后改接上端,再逐位將CRC寄存器中的校驗(yàn)碼R(x)輸出即可。該算法原理簡單,易于硬件實(shí)現(xiàn),但是效率較低,主要用于串行通信中,
7、不適合高速通信的場合。 方法二、查表計算法。該算法是指事先把待校驗(yàn)的信息碼B(x) 的所有CRC碼全部計算出來,放在一個表里,編碼時只要根據(jù)M(x)從表中找出對應(yīng)的值進(jìn)行處理即可。編解碼前清零CRC寄存器,編碼時待信息碼M(x)輸入結(jié)束,CRC寄存器的值即為校驗(yàn)碼R(x) ;解碼校驗(yàn)時待傳送碼B(x)輸入結(jié)束時,若CRC寄存器中的值為零,則表明傳輸無誤。該算法執(zhí)行速度快,適合于高速通信場合,但由于需要大容量的存儲表,花費(fèi)的硬件資源較移位計算法要大得多。 圖2 查表算法實(shí)現(xiàn)框圖 方法三、公式法。公式法與查表算法一樣,也是以字節(jié)數(shù)據(jù)為輸入,采用遞推算法,不同之處在于公式法使用公式實(shí)時計算CRC碼,
8、從而省去了查找,不僅節(jié)省了硬件存儲資源,還能進(jìn)一步提高系統(tǒng)的運(yùn)行速度。因此可以認(rèn)為公式法是目前前景較好的一種實(shí)現(xiàn)方法。 第二章 Quratus II簡介2.1 quartus ii簡介 Quartus II 是Altera公司開發(fā)的綜合性PLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。 圖3 Quartus軟件打開后的界面Quartus II 的優(yōu)點(diǎn): Quartus II提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計的全部特性,包括: 可利用原理圖、
9、結(jié)構(gòu)框圖、VerilogHDL、AHDL和VHDL完成電路描述,并將其保存為設(shè)計實(shí)體文件; 可用于芯片(電路)平面布局連線編輯; 是一款功能強(qiáng)大的邏輯綜合工具;完備的電路功能仿真與時序邏輯仿真工具; 支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件; 使用組合編譯方式可一次完成整體設(shè)計流程;自動定位編譯錯誤; 是一款高效的期間編程與驗(yàn)證工具; 可讀入標(biāo)準(zhǔn)的EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog網(wǎng)表文件; Quartus ii能生成第三方EDA軟件使用的VHDL網(wǎng)表文件和Verilog網(wǎng)表文件。 該軟件界面友好,使用便捷,功能強(qiáng)大,是一個完全集成化的可編程邏輯設(shè)計環(huán)境,是先進(jìn)
10、的EDA工具軟件。Quartus II 可以在XP 、Linux 以及Unix 上使用,提供了完善的用戶圖形界面設(shè)計方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。作為一種可編程邏輯的設(shè)計環(huán)境, 由于其強(qiáng)大的設(shè)計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計者的歡迎。 使用軟件時,我們可以雙擊桌面快捷方式圖標(biāo),打開軟件進(jìn)行編輯。 總而言之,參照設(shè)計方案與軟件結(jié)合使用,我們選擇方法一:移位計算法來設(shè)計CRC-8循環(huán)碼的編解碼器。該方法簡單實(shí)用,易于quartus進(jìn)行硬件電路的設(shè)計仿真。 第三章 (24,16)CRC循環(huán)碼編解碼器的設(shè)計3.1 CRC循環(huán)校驗(yàn)碼的基本原理 利用CRC進(jìn)行檢錯
11、的過程可簡單描述為:在發(fā)送端根據(jù)要傳送的k位二進(jìn)制碼序列,以一定的規(guī)則產(chǎn)生一個校驗(yàn)用的r位監(jiān)督碼(CRC碼),附在原始信息后邊,構(gòu)成一個新的二進(jìn)制碼序列數(shù)共k+r位,然后發(fā)送出去。這種編碼又叫(n,k)碼。對于一個給定的(n,k)碼,可以證明存在一個最高次冪為n-k=r的多項(xiàng)式g(x)。根據(jù)G(x)可以生成監(jiān)督碼,而g(x)叫做這個CRC碼的生成多項(xiàng)式。3.1.1 CRC校驗(yàn)碼的生成 校驗(yàn)碼的具體生成過程為: 設(shè)發(fā)送的信息碼用多項(xiàng)式m(x)表示,它的生成多項(xiàng)式為g(x)。則m(x)的最高次項(xiàng)為 k-1。將 m(x)乘以xn-k,,得到xn-k*m(x); 用xn-k*m(x)去模2除g(x),
12、得到余式r(x),即 r(x)=xn-k*m(x) mod g(x)r(x)的次數(shù)必小于g(x)的次數(shù),即小于 n-k。 將余式加于信息位之后作為監(jiān)督位,即將 r(x)與 xn-k*m(x)相加,得到的多項(xiàng)式為碼多項(xiàng)式,因?yàn)樗啬鼙?g(x)整除,且商的次數(shù)不大于 k-1。因此循環(huán)碼的碼多項(xiàng)式可表示為 T(x)= xn-k*m(x)+ r(x) 其中,xn-k*m(x)代表信息位;r(x)是 xn-k*m(x)與g(x)模2相除得到的余式,代表監(jiān)督位。3.1.2 CRC校驗(yàn)碼校驗(yàn)原理 因?yàn)樵跀?shù)據(jù)傳輸過程中,可能會由于噪聲或傳輸特性不理想而使數(shù)據(jù)序列中的某一位或某些位發(fā)生錯誤,導(dǎo)致接收端接受的序
13、列發(fā)生錯誤。所以必須在數(shù)據(jù)的接收端進(jìn)行校驗(yàn),可以很容易地實(shí)現(xiàn)對數(shù)據(jù)傳輸正確性的檢查。編碼電路的主體是由生成多項(xiàng)式構(gòu)成的除法電路,再加上適當(dāng)?shù)目刂齐娐方M成?;贑RC編碼原理,可見其校驗(yàn)原理也是十分簡單的,它在接收端只需要對接收到的序列直接進(jìn)行除法取余式運(yùn)算。若余式為全0,則表示數(shù)據(jù)傳輸過程中沒有發(fā)生錯誤;若不為0,則表示發(fā)生錯誤,那么就需要對錯誤的序列進(jìn)行相應(yīng)的處理操作。檢驗(yàn)過程的多項(xiàng)式除法形式可以表示為兩種形式: M(x)/G(x)=Q(x)+R(x)/G(x) M(x)= R(x) mod G(x) 由此可見,生成多項(xiàng)式G(x)對于CRC循環(huán)碼而言是至關(guān)重要的,決定了CRC碼的算法和最終結(jié)
14、果。3.2 (24,16)CRC循環(huán)碼編解碼器的實(shí)現(xiàn) 3.2.1 CRC-8 生成多項(xiàng)式 生成多項(xiàng)式特點(diǎn)如下: (1)g(x)是常數(shù)項(xiàng)為1的 r=n-k 次,也是循環(huán)碼中次數(shù)最低的多項(xiàng)式; (2)所有許用碼組多項(xiàng)式都是g(x)的倍式; (3)g(x)是xn+1的一個因式。CRC-8 的生成多項(xiàng)式為:g(x)= x 8+ x5 + x4 +1 或 g(x)= x 8+ x2 + x +1 3.2.2 (24,16)CRC 循環(huán)碼編碼器的設(shè)計 CRC 循環(huán)碼的生成多項(xiàng)式并不唯一,在設(shè)計中我們選擇x8+x5+x4+1作為(24,16)CRC循環(huán)碼的生成多項(xiàng)式。(1)編碼之步驟如下: m(x)乘以 x
15、n-k r(x)= xn-k*m(x) mod g(x) T(x)= xn-k*m(x)+ r(x) (2)具體電路圖如下: 圖4 (24,16)CRC循環(huán)編碼器電路 圖5 (24,16)CRC編碼器電路封裝(3)電路工作原理 g(x)的最高次數(shù)r等于移位寄存器的級數(shù);g(x)的非零系數(shù)對應(yīng)移位寄存器的反饋抽頭。 執(zhí)行時,首先將移位寄存器清零,前16位信息位輸入時,門1斷開,門2接通,直接輸出信息碼元,同時送入移位寄存器進(jìn)入除法運(yùn)算。 第 16位移位脈沖到來時,將除法電路運(yùn)算所得的余數(shù)存入移位寄存器。第17-24次移位時,門1接通,門2斷開,輸出監(jiān)督碼。輸入的信息元不同,得到的碼元序列也不同。
16、由附錄可見: 若信息碼為 1111 1111 1111 1111,可以得到信息序列為 1111 1111 1111 1111 00101101; 若信息碼為 0000 0000 1111 1111,可以得到信息序列為 0000 0000 1111 1111 10101100; 若信息碼為 1010 1010 1010 1010 ,可以得到信息序列為 1010 1010 1010 1010 00110110。編碼仿真結(jié)果波形為:(波形有 10ns 的延時) 圖6 輸入信息碼為1010 1010 1010 1010 時的仿真波形由圖可知,得到的循環(huán)碼與計算所得結(jié)果一致,證明了編碼器設(shè)計無誤,符合基
17、本要求,為解碼做好準(zhǔn)備。3.2.3 (24,16)CRC 循環(huán)碼解碼器的設(shè)計(1) 解碼器設(shè)計原理 接收端解碼的目的是檢錯。由于任一碼多項(xiàng)式A(x)都應(yīng)該可以被生成多項(xiàng)式 g(x)整除,所以在接收端可以將接收碼組B(x)用生成多項(xiàng)式g(x)去除。若余式為0,則表示沒有誤碼,接收端正常接收碼元;若余式不為0,則表示傳輸出錯,接收端不進(jìn)行接收。即: 余式為0,無錯 接收碼組B(x)/g(x)= 余式不為0,出錯 所以可以用余項(xiàng)是否為零來判斷碼組中有無誤碼。CRC 解碼電路的目的只是用來檢錯,一旦有錯碼出現(xiàn),則不接收碼組并反饋高電平,使發(fā)送端重發(fā),若碼組正確則接收信息碼及校驗(yàn)碼。 需要指出,有錯碼的
18、接收碼組也有可能被 g(x)整除,這時的錯碼就不能檢出了。在實(shí)際使用中,一般情況下碼組不是孤立傳輸?shù)模且唤M組連接傳輸?shù)?。但是,由以上解碼過程可知,除法電路在一個碼組的時間內(nèi)運(yùn)算求出余式后,尚需在下一個碼組的時間內(nèi)進(jìn)行檢錯甚至糾錯,因此,實(shí)際的解碼器需要兩套除法電路配合一個緩沖寄存器,這兩套除法電路由開關(guān)控制交替接收碼組。此外,在解碼器輸出端也需要有開關(guān)控制只輸出信息位,刪除監(jiān)督位。 (2) 具體電路圖如下: 圖7 (24,16)CRC循環(huán)解碼器電路 圖8 (24,16)CRC解碼器電路封裝解碼仿真結(jié)果波形為: 圖9 信息碼為1010 1010 1010 1010 0011 0110時的解碼
19、 波形分析:接收端信息為1010 1010 1010 1010 0011 0110,即為正確序列碼組,輸出應(yīng)該從第二十五個時鐘,即下一周期開始觀察,如圖,每個周期為 20us,即從480us開始觀察,輸出z為正確信息序列,信號位z1為低電平,表明解碼為正確碼組。 又如輸入錯誤碼組:1011 1010 1010 1010 0011 0110 當(dāng)輸入碼組為錯碼時: 圖 10 輸入錯誤碼組時的解碼波形 波形分析:如圖,接收端信息為1011 1010 1010 1010 0011 0110,即為錯誤序列碼組,輸出從第二個周期開始觀察,輸出z為接收信息,與輸入一致,但信號位z1為高電平,表示接收誤碼并要
20、求發(fā)送端重發(fā),可見與設(shè)計思想一致。 3.2.4 (24,16)CRC 循環(huán)冗余校驗(yàn)碼編解碼器總圖 將CRC編解碼時建模的圖形連接在一起,組成(24,16)CRC循環(huán)編解碼器。如下所示: 圖13 (24,16)CRC 循環(huán)編解碼器 第四章 CRC 循環(huán)校驗(yàn)碼的廣泛應(yīng)用 CRC是常用的校驗(yàn)碼,在早期的通信中運(yùn)用廣泛,因?yàn)樵缙诘耐ㄐ偶夹g(shù)不夠可靠(不可靠性的來源是通信技術(shù)決定的,比如電磁波通信時受雷電等因素的影響),不可靠的通信就會帶來確認(rèn)信息的困惑,對通信的可靠性檢查就需要校驗(yàn),校驗(yàn)是從數(shù)據(jù)本身進(jìn)行檢查,它依靠某種數(shù)學(xué)上約定的形式進(jìn)行檢查,校驗(yàn)的結(jié)果是可靠或不可靠,如果可靠就對數(shù)據(jù)進(jìn)行處理,如果不可
21、靠,就丟棄重發(fā)或者進(jìn)行修復(fù)。因此采用循環(huán)碼編碼,進(jìn)行數(shù)據(jù)傳輸,是提高系統(tǒng)性能和可靠性的重要措施。循環(huán)碼是線性分組碼的一個重要子類,有嚴(yán)密的數(shù)學(xué)結(jié)構(gòu),具有糾、檢錯能力,且編碼、解碼用軟件、硬件都容易實(shí)現(xiàn)。研究了循環(huán)碼實(shí)現(xiàn)的方法和應(yīng)用原理, 結(jié)果表明,將該方法應(yīng)用于前向糾錯方式中, 能大大提高通信質(zhì)量。而CRC是一種在實(shí)際通信中應(yīng)用很廣泛的差錯控制編碼,具有很強(qiáng)的檢錯能力。 體會與心得通過這一次通信課程設(shè)計,讓我對CRC校驗(yàn)碼有了很深的了解,也相應(yīng)的對quartus軟件的使用有了很大的加深。經(jīng)過我的努力,還是比較符合要求的完成了課題的設(shè)計。這也使我明白了,學(xué)習(xí)上的很多事情,只要肯下功夫去鉆研,就一定能夠有所收獲的。作為通信專業(yè)的學(xué)生,通過通信原理的課程設(shè)計,可以提高我們對通信電路設(shè)計領(lǐng)域的認(rèn)識,有利于培
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化用品行業(yè)電子商務(wù)平臺考核試卷
- 寵物藥品的供應(yīng)鏈金融創(chuàng)新考核試卷
- 2024醫(yī)療器械研發(fā)生產(chǎn)項(xiàng)目合作協(xié)議樣本3篇
- 《可視喉鏡用于困難氣道患者氣管插管有效性及安全性的研究》
- 2024原材料采購與品牌形象塑造合作協(xié)議3篇
- 運(yùn)籌學(xué)在金融領(lǐng)域的應(yīng)用-洞察分析
- 舞臺藝術(shù)教育評價改革-洞察分析
- 硫化氫中毒應(yīng)急處理
- 2024年度職工勞動關(guān)系轉(zhuǎn)移及薪酬調(diào)整協(xié)議3篇
- 藥物撤藥后效應(yīng)評估-洞察分析
- 高性能稀土鋁合金導(dǎo)體材料研究
- 電鍍廠安全常識培訓(xùn)
- 倉儲管理練習(xí)題及答案
- 污水處理廠的工藝流程設(shè)計
- 危險品運(yùn)輸車輛租賃合同
- 急性呼吸衰竭的急救(病案查房)
- 2025年日歷有農(nóng)歷有周數(shù)周一開始(A4紙可編輯可直接打印)
- 2006年度銀行業(yè)金融機(jī)構(gòu)信息科技風(fēng)險評價審計要點(diǎn)
- 基于PLC的校園照明智能控制系統(tǒng)設(shè)計畢業(yè)設(shè)計論文
- 現(xiàn)澆梁鋼管柱+貝雷片支架驗(yàn)收表
- 2022年中考物理真題選及參考答案-電學(xué)計算題
評論
0/150
提交評論