864234565數(shù)字基帶信號(hào)碼型發(fā)生器_第1頁(yè)
864234565數(shù)字基帶信號(hào)碼型發(fā)生器_第2頁(yè)
864234565數(shù)字基帶信號(hào)碼型發(fā)生器_第3頁(yè)
864234565數(shù)字基帶信號(hào)碼型發(fā)生器_第4頁(yè)
864234565數(shù)字基帶信號(hào)碼型發(fā)生器_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、fpga設(shè)計(jì)課程設(shè)計(jì)報(bào)告數(shù)字基帶信號(hào)碼型發(fā)生器專 業(yè): 集 成 電 路班 級(jí): 電 子 0 6 0 4 數(shù)字基帶信號(hào)碼型發(fā)生器一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)應(yīng)用vhdl語(yǔ)言和相關(guān)碼型轉(zhuǎn)換原理實(shí)現(xiàn)基帶碼型轉(zhuǎn)換。.熟悉ise軟件的使用,和xilinx fpga開發(fā)板的使用。.熟悉fpga系統(tǒng)開發(fā)的流程和步驟。4 .培養(yǎng)軟件和硬件聯(lián)合開發(fā)的能力和與小組成員分工合作的習(xí)慣。二、ise簡(jiǎn)介本實(shí)驗(yàn)使用xilinx公司的fpgaspartan 3e芯片,與芯片相搭配的開發(fā)軟件是ise,ise可以完成fpga開發(fā)的全部流程,即設(shè)計(jì)輸入、仿真、綜合、布局布線、生成bit文件、配置及在線調(diào)試等。對(duì)大多數(shù)fpga設(shè)計(jì)者來(lái)說(shuō),使

2、用ise即可完成設(shè)計(jì)任務(wù)。ise集成了很多實(shí)用工具,包括hdl編輯器hdl editor、ip核生成器core generator system、約束編輯器constraints editor、靜態(tài)時(shí)序分析工具static timing analyzer、布局規(guī)劃工具floorplanner、fpga編輯工具fpga editor、功耗分析工具xpower、配置工具impact、綜合工具xst等。尤其是ise集成環(huán)境project navigator、仿真工具ise simulator lite(也可以使用modelsim)、綜合工具xst和配置工具impact,這些是fpga初學(xué)者先要掌握的

3、。三、實(shí)驗(yàn)原理1. 幾種典型的基帶碼型(1) 單極性非歸零碼(nrz碼):這種傳輸碼的零電平與正電平(或負(fù)電平)分別對(duì)應(yīng)于二進(jìn)制代碼中的“0”碼與“1”碼。(2) 雙極性非歸零碼(srz碼):這種傳輸碼的正、負(fù)電平分別對(duì)應(yīng)于二進(jìn)制代碼中的“1”碼與“0”碼。(3) 單極性歸零碼(rz碼):在傳送“1”碼時(shí)發(fā)送一個(gè)寬度小于碼元持續(xù)時(shí)間的歸零脈沖;傳送“0”碼時(shí)不發(fā)送脈沖。(4) 差分碼(cfm碼):差分碼利用前后碼元電平的相對(duì)極性變化來(lái)傳送信息,又稱為相對(duì)碼。(5) 交替極性碼(ami碼):編碼規(guī)則是,二進(jìn)制代碼中的“1”碼由正、負(fù)極性交替的脈沖表示,其脈寬等于碼元周期的一半;二進(jìn)制代碼中的“0

4、”碼由零電平表示。(6) 分相碼(fxm碼):每個(gè)碼元用兩個(gè)連續(xù)極性相反的脈沖表示。如“1”碼用正、負(fù)脈沖表示,“0”碼用負(fù)、正脈沖表示。(7) 編碼信號(hào)反轉(zhuǎn)碼(cmi碼):二進(jìn)制代碼中的“1”碼交替地用“11”和“00”表示;“0”碼則固定地用“01”表示。2.碼型轉(zhuǎn)換原理說(shuō)明:1.“高位”為正負(fù)極性標(biāo)志位,其中高電平(1)表示負(fù)極性,低電平(0)表示正極性; 2.“ ”表示高、低兩種電平;3.基帶碼發(fā)生器的原理框圖說(shuō)明:雙極性的碼形需要數(shù)字部分+模擬電路來(lái)實(shí)現(xiàn),圖中沒有包含模擬電路部分,輸出信號(hào)為數(shù)字信號(hào)。對(duì)雙極性的信號(hào)如雙極性歸零碼(rz)、交替極性碼(ami)碼碼形輸出時(shí)引入正負(fù)極性標(biāo)

5、志位,而對(duì)雙極性非歸零碼(nrz)和差分碼碼形輸出時(shí)由低電平表示負(fù)極性。四、實(shí)驗(yàn)過(guò)程. 建立新工程并設(shè)置并選擇設(shè)備型號(hào)和仿真器;. 新建vhdl文件,編寫程序代碼并檢查語(yǔ)法錯(cuò)誤;. 新建波形仿真文件,設(shè)置clock和輸入信號(hào),并進(jìn)行行為仿真;. 分配fpga引腳;. 下載配置文件,使用板載的 usb 接口,通過(guò) jtag將 fpga 設(shè)計(jì)直接下載到 spartan3e 的fpga中;五、vhdl文件及仿真分析.vhdl文件(基帶傳輸碼型變換程序)(1)編程思想由于fpga開發(fā)板上只有4個(gè)輸入端和8個(gè)輸出端,可通過(guò)3個(gè)輸入端選擇8種模式的16位序列dat_16,第四個(gè)輸入端作為異步復(fù)位端。由于片

6、上時(shí)鐘頻率為5mhz,為了便于觀察現(xiàn)象,可令這8種模式的序列的占空比逐漸增加。由于占空比越大,發(fā)光二極管越亮。這樣就可以在下載后通過(guò)改變輸入,觀察nrz信號(hào)輸出端的亮度來(lái)確定程序是否正確執(zhí)行?;鶐鬏敶a型變換程序的核心是通過(guò)16位移位寄存器來(lái)移出16位序列dat_16的最高位到鎖存器latch_sig,再根據(jù)同步時(shí)鐘產(chǎn)生一個(gè)控制占空比的信號(hào)latch_cnt,最后再根據(jù)這兩個(gè)信號(hào)和碼型變換的相關(guān)規(guī)則來(lái)決定碼型輸出信號(hào)的值。(2)全部vhdl程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ie

7、ee.std_logic_unsigned.all;entity hs_ujdm5 isport (clk : in std_logic; -系統(tǒng)時(shí)鐘 start : in std_logic; -始能信號(hào)dat : in std_logic_vector(2 downto 0); -二進(jìn)制數(shù)據(jù)輸入端nrz : out std_logic; -非歸零信號(hào)輸出端drz : out std_logic; -單極性歸零信號(hào)輸出端srz : out std_logic_vector(1 downto 0);-雙極性歸零信號(hào)ami : out std_logic_vector(1 downto 0);

8、-交替極性信號(hào)輸出端cfm : out std_logic; -差分信號(hào)輸出端cmi : out std_logic; -編碼信號(hào)反轉(zhuǎn)碼信號(hào)輸出端fxm : out std_logic); -分相碼(曼徹斯特碼)信號(hào)輸出端end hs_ujdm5;architecture behavioral of hs_ujdm5 issignal dat_16 :std_logic_vector(15 downto 0);beginprocess(clk)beginif clkevent and clk=1 then if dat=000 then dat_16=0000000000000000;-八種不

9、同的輸入分別對(duì)應(yīng) nrz信號(hào)不同的占空比elsif dat=001 then dat_16=1100000000000000;elsif dat=010 then dat_16=1111000000000000;elsif dat=011 then dat_16=1111110000000000;elsif dat=100 then dat_16=1111111100000000;elsif dat=101 then dat_16=1111111111000000;elsif dat=110 then dat_16=1111111111110000;elsif dat=111 then dat

10、_16=1111111111111100;end if;end if;end process;process(clk,start)variable latch_dat : std_logic_vector(15 downto 0); -十六位二進(jìn)制信號(hào)鎖存器variable latch_sig : std_logic; -高位信號(hào)鎖存器variable latch_cfm : std_logic; -差分碼variable latch_cnt : std_logic; -基帶碼同步信號(hào)variable count_fri : integer range 0 to 2; -分頻計(jì)數(shù)器(碼寬定義)

11、variable count_mov : integer range 0 to 16; -移位計(jì)數(shù)器beginif start=0 then latch_cnt:=0; -異步復(fù)位latch_cfm:=0; latch_sig:=0; count_fri:=0;count_mov:=16; -異步置位latch_dat:=0000000000000000;elsif rising_edge(clk) then count_fri:=count_fri+1; -分頻計(jì)數(shù)器+1 if count_fri=2 then count_fri:=0; -計(jì)數(shù)到2if count_mov16 then c

12、ount_mov:=count_mov+1; -移位計(jì)+1 latch_sig:=latch_dat(15); -二進(jìn)制碼高位移入latch_sig中 latch_dat:=latch_dat(14 downto 0)&0; -二進(jìn)制數(shù)據(jù)向高位移動(dòng)一位,低位補(bǔ)零 else latch_dat:=dat_16;count_mov:=0; -載入下一輪將發(fā)送的數(shù)據(jù) latch_cfm:=0;latch_sig:=0;latch_cnt:=0; -寄存器復(fù)位end if; if latch_sig=1 then latch_cfm:=not(latch_cfm); -差分碼信號(hào)寄存器中信號(hào)取反end

13、 if; end if; if count_fri1 then latch_cnt:=1; -基帶碼同步信號(hào)的占空比調(diào)節(jié) else latch_cnt:=0; end if; end if;nrz=latch_sig; -非歸零碼信號(hào)drz=latch_sig and latch_cnt; -單極性歸零碼信號(hào)srz(0)=latch_cnt; -雙極性歸零碼信號(hào)srz(1)=not(latch_sig); -srz(1)=1表示負(fù)極性ami(0)=latch_sig and latch_cnt; -極性交替碼信號(hào)ami(1)=not(latch_cfm); -ami(1)=1cfm=latch

14、_cfm; -差分碼信fxm=latch_cnt xnor latch_sig; -分相碼信號(hào)if latch_sig=1 then cmi=latch_cfm; -編碼信號(hào)反轉(zhuǎn)碼else cmi=not(latch_cnt);end if;end process;end behavioral;. 仿真波形(1) 激勵(lì)時(shí)鐘設(shè)置clock time high: 20 ns.clock time low: 20 ns.input setup time: 10 ns.output valid delay: 10 ns.offset: 0 ns.global signals: gsr (fpga) (

15、2) 仿真結(jié)果a.局部放大圖:當(dāng)dat=010時(shí),16位輸入序列為1111000000000000,仿真波形如圖,滿足碼型轉(zhuǎn)換規(guī)則。b.時(shí)序仿真全圖:當(dāng)dat由000變化到111時(shí)(即由0到7),輸入序列由0000000000000000變化到1111111111111100,nrz的占空比也越來(lái)越大。仿真波形如下圖,符合預(yù)期要求。六、引腳分配及硬件實(shí)現(xiàn). 引腳分配net ami loc = f9 ;net ami loc = e9 ;net cfm loc = d11 ;net clk loc = c9 ;net cmi loc = c11 ;net dat loc = n17 ;net d

16、at loc = h18 ;net dat loc = l14 ;net drz loc = f11 ;net nrz loc = e11 ;net srz loc = e12 ;net srz loc = f12 ;net start loc = l13 ;. 硬件實(shí)現(xiàn)() 連接fpga開發(fā)板和電源,fpga和電腦的通信線路。() fpga開發(fā)板上的四個(gè)開關(guān)作為輸入量,從左到右順次代表dat(0)、,dat(1)、dat(2)、start。() fpga開發(fā)板上的8路led作為輸出量,從左到右順次代表六種不同的基帶碼型輸出信號(hào)。(舍去了fxm碼,否則還需要一路輸出型號(hào))。() 完成下載程序后,可通過(guò)控制start和dat到dat來(lái)驗(yàn)證基帶碼型轉(zhuǎn)換的正確性。七實(shí)驗(yàn)結(jié)果由于led燈反應(yīng)速率相對(duì)基帶碼速率慢得多,基帶碼的波形在led燈上表現(xiàn)不夠明顯,實(shí)驗(yàn)中經(jīng)多次修改程序,我們使用特殊輸入碼,使得nrz碼的效果明顯,經(jīng)驗(yàn)證,當(dāng)dat2.0由000增加到111時(shí),代表nr

溫馨提示

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

評(píng)論

0/150

提交評(píng)論