




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)示范中心eda技術(shù)基礎(chǔ)實(shí)驗(yàn)電工電子實(shí)驗(yàn)報(bào)告課程名稱eda技術(shù)基礎(chǔ)實(shí)驗(yàn)名稱綜合實(shí)驗(yàn)總結(jié)選題性質(zhì)基于fpga的dds信號(hào)發(fā)生器的設(shè)計(jì)第2頁(yè),共3頁(yè)基于fpga的dds信號(hào)發(fā)生器的設(shè)計(jì)1 dds的基本原理dds技術(shù)是一種把一系列數(shù)字量形式的信號(hào)通過dac轉(zhuǎn)換成模擬量形式的信號(hào)的合成技術(shù),它是將輸出波形的一個(gè)完整的周期、幅度值都順序地存放在波形存儲(chǔ)器中,通過控制相位增量產(chǎn)生頻率、相位可控制的波形。dds電路一般包括基準(zhǔn)時(shí)鐘、相位增量寄存器、相位累加器、波形存儲(chǔ)器、d/a轉(zhuǎn)換器和低通濾波器(lpf)等模塊,如圖1.1所示。相位增量寄存器寄存頻率控制數(shù)據(jù),相位累加器完成相位累加
2、的功能,波形存儲(chǔ)器存儲(chǔ)波形數(shù)據(jù)的單周期幅值數(shù)據(jù),d/a轉(zhuǎn)換器將數(shù)字量形式的波形幅值數(shù)據(jù)轉(zhuǎn)化為所要求合成頻率的模擬量形式信號(hào),低通濾波器濾除諧波分量。整個(gè)系統(tǒng)在統(tǒng)一的時(shí)鐘下工作,從而保證所合成信號(hào)的精確。每來一個(gè)時(shí)鐘脈沖,相位增量寄存器頻率控制數(shù)據(jù)與累加寄存器的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸出端。這樣,相位累加器在參考時(shí)鐘的作用下,進(jìn)行線性相位累加,當(dāng)相位累加器累加滿量時(shí)就會(huì)產(chǎn)生一次溢出,完成一個(gè)周期性的動(dòng)作,這個(gè)周期就是dds合成信號(hào)的一個(gè)頻率周期,累加器的溢出頻率就是dds輸出的信號(hào)頻率。相位累加器輸出的數(shù)據(jù)的高位地址作為波形存儲(chǔ)器的地址,從而進(jìn)行相位到幅值的轉(zhuǎn)換,即
3、可在給定的時(shí)間上確定輸出的波形幅值。圖1-1:dds原理圖 波形存儲(chǔ)器產(chǎn)生的所需波形的幅值的數(shù)字?jǐn)?shù)據(jù)通過d/a轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),經(jīng)過低通濾波器濾除不需要的分量以便輸出頻譜純凈的所需信號(hào)。信號(hào)發(fā)生器的輸出頻率fo可表示為: ( 1.1) 式中為系統(tǒng)時(shí)鐘,為系統(tǒng)分辨率,n為相位累加器位數(shù),m為相位累加器的增量。參數(shù)確定及誤差分析.2 參數(shù)確定首先確定系統(tǒng)的分辨率,最高頻率,及最高頻率下的最少采樣點(diǎn)數(shù)根據(jù)需要產(chǎn)生的最高頻率以及該頻率下的最少采樣點(diǎn)數(shù),由公式 (1.2)確定系統(tǒng)時(shí)鐘的下限值。同時(shí)又要滿足分辨率計(jì)算公式 (1.3)綜合考慮決定的值。選定了的值后,則由公式(1.3)可得,據(jù)此可確定相位
4、累加器位數(shù)n。然后由最高輸出頻率 (1.4)推出m,得出相位增量寄存器為s位。確定波形存儲(chǔ)器的地址位數(shù)w,本系統(tǒng)中決定寄存?zhèn)€數(shù)據(jù)值,因此ram地址為z位。一般選用fpga/cpld器件作為dds的實(shí)現(xiàn)器件,對(duì)于d/a轉(zhuǎn)換器的選擇,首先要考慮到d/a轉(zhuǎn)換器的轉(zhuǎn)換速率。要實(shí)現(xiàn)所需的頻率,d/a的轉(zhuǎn)換速度要大于,然后根據(jù)d/a轉(zhuǎn)換器字長(zhǎng)所帶來的誤差,決定d/a的位數(shù)。由此選擇d/a轉(zhuǎn)換器的型號(hào)。3 dds的fpga實(shí)現(xiàn)設(shè)計(jì)本設(shè)計(jì)要求dds實(shí)現(xiàn)的性能指標(biāo)為:當(dāng)系統(tǒng)時(shí)鐘頻率為24mhz時(shí),分辨率為1.43hz,當(dāng)相位增量寄存器為19位時(shí),最高輸出頻率是749731hz。(理論上完全可以達(dá)到,甚至更高,但
5、是由于受到da器件及運(yùn)算放大器的影響,實(shí)際中的頻率不可能達(dá)到)。根據(jù)上面所列公式可以得出:累加器位數(shù)n= 24;相位增量寄存器為19位。如圖3.1所示,dds系統(tǒng)包括相位增量寄存器、相位累加器、地址寄存器、波形存儲(chǔ)器、時(shí)鐘倍頻器及地址發(fā)生部分等幾個(gè)模塊。內(nèi)部所有模塊均用verilog語(yǔ)言編寫或調(diào)用maxplus2中的已有的lpm庫(kù)文件,其頂層設(shè)計(jì)用原理圖的方式進(jìn)行模塊間的連接。圖3.1 dds系統(tǒng)框圖下面就上面向個(gè)模塊的結(jié)構(gòu)進(jìn)行論述:3.1 相位累加器 相位累加器在參考時(shí)鐘的作用下,進(jìn)行線性相位累加,當(dāng)相位累加器累加滿量時(shí)就會(huì)產(chǎn)生一次溢出,完成一個(gè)周期性的動(dòng)作,這個(gè)周期就是dds合成信號(hào)的一個(gè)
6、頻率周期,累加器的溢出頻率就是dds輸出的信號(hào)頻率。相位增量分段寄存器的端口如圖3.1.1所示。根據(jù)前面的計(jì)算可知,相位增量寄存器需要24位。圖3.1.1 相位增量寄存器圖3.1.2是相位增量分段寄存器仿真圖,從圖中可以看出,在時(shí)鐘的激勵(lì)下,累加器的仿真結(jié)果是正確的.圖 3.1.2累加器的仿真結(jié)果3.2 波形存儲(chǔ)器波形存儲(chǔ)器實(shí)際上就是一個(gè)rom,波形存儲(chǔ)器存儲(chǔ)的是所生成波形一周期采樣256點(diǎn)的數(shù)據(jù)值,通過地址的改變,所輸出的值就會(huì)變化,因?yàn)?,地址不一定是連續(xù)變化的,所以所輸出的值也不是連續(xù)的,在同樣的時(shí)鐘周期下,地址間隔的變化也就造成了生成波形的頻率的變化。地址值每溢出一次,便完成了一個(gè)周期的
7、輸出。當(dāng)改變波形存儲(chǔ)器中波形數(shù)據(jù)時(shí),也就改變了輸出波形。圖3.2.1 rom模塊rom的設(shè)計(jì)直接調(diào)用lpm中的庫(kù)生成,端口分別為:時(shí)鐘輸入端clock,輸出數(shù)據(jù)總線daout(7:0),輸入數(shù)據(jù)總線result23:16.地址總線address(7:0)是相位累加器輸出高8位的數(shù)據(jù).輸出數(shù)據(jù)總線douta(7:0)連接輸出緩沖通過fpga的i/o口輸出,作為d/a轉(zhuǎn)換器的輸入。3.3相位增量寄存器及顯示模塊.這個(gè)模塊的功能是接收從單片中傳來的數(shù)據(jù).從單片機(jī)中傳遞過來的數(shù)據(jù)為分兩部分,第一是頻率控制字,即給相位增量寄存器的控制字.第二是將當(dāng)前的輸出頻率顯示在數(shù)碼管上.這個(gè)模塊的底層文件是基于ve
8、rilog語(yǔ)言描述的,在頂層上生成相就的功能模塊.其生成的原理圖如圖3.3.1所示:圖3.3.1相位增量寄存器及顯示模塊上面的頂層模塊簡(jiǎn)要描述如下:clock是系統(tǒng)輸入時(shí)鐘,led_seg7.0是8段數(shù)碼管的段選,led_wei2.0是8個(gè)數(shù)碼管的位選。(這里聯(lián)接是38譯碼器的輸入端)。其源程序如下:module led_print( clock, /輸入時(shí)鐘 led_seg, /數(shù)碼管段選 led_wei, /數(shù)碼管位選 code, data_clk, write_data, );input data_clk;input clock ; /時(shí)鐘輸入 input 7:0 code;output
9、 23:0 write_data;output 2:0 led_wei; /132,133,135output 7:0 led_seg; /131,130,128,122,121,120,119,118 /*/wire clock,rst;reg2:0 led_wei;reg7:0 led_seg;reg23:0 count; /計(jì)數(shù)器單元reg3:0 ledbuff; reg23:0 times; /時(shí)分秒要分配的單元 reg3:0 seg_count;reg3:0 seg_flag;reg write_flag;reg23:0 write_data;always ( posedge dat
10、a_clk )/送給fpga的數(shù)據(jù)改變時(shí).begin seg_count = code 3:0; /數(shù)據(jù)位 seg_flag = code 7:4;/標(biāo)志位 case(seg_flag)/在數(shù)碼管中顯示的數(shù)字 4b0000: times3:0 = seg_count; 4b0001: times7:4 = seg_count; 4b0010: times11:8 = seg_count; 4b0011: times15:12 = seg_count; 4b0100: times19:16 = seg_count; 4b0101: times23:20 = seg_count;/給控制寄存器中的
11、數(shù)據(jù) 4b0110: write_data3:0 = seg_count; 4b0111: write_data7:4 = seg_count; 4b1000: write_data11:8 = seg_count; 4b1001: write_data15:12 = seg_count; 4b1010: write_data19:16 = seg_count; 4b1011: write_data23:20 = seg_count; default: begin times = times; write_data = write_data; end endcase endalways(pos
12、edge clock ) begin if (count = 24d1200000)/ begin count = 0; end else begin count = count +1; / write_data = 24d699; end end/*數(shù)碼管掃描程序*/always (count12:10) begin case(count12:10) 3h0: led_wei = 3b000; 3h1: led_wei = 3b001; 3h2: led_wei = 3b010; 3h3: led_wei = 3b011; 3h4: led_wei = 3b100; 3h5: led_wei
13、 = 3b101; 3h6: led_wei = 3b110; 3h7: led_wei = 3b111; default :led_wei = 3bzzz; endcase case(count12:10) 3h0: ledbuff = 4ha; 3h1: ledbuff = 4hb; 3h2: ledbuff = times3:0; 3h3: ledbuff = times7:4; 3h4: ledbuff = times11:8; 3h5: ledbuff = times15:12; 3h6: ledbuff = times19:16; 3h7: ledbuff = times23:20
14、; default :ledbuff = 3bzzz; endcase end always ( ledbuff) begin case( ledbuff ) 4h0: led_seg = 8h3f;/0 4h1: led_seg = 8h06;/1 4h2: led_seg = 8h5b;/2 4h3: led_seg = 8h4f;/3 4h4: led_seg = 8h66;/4 4h5: led_seg = 8h6d;/5 4h6: led_seg = 8h7d;/6 4h7: led_seg = 8h07;/7 4h8: led_seg = 8h7f;/8 4h9: led_seg
15、= 8h6f;/9 4hb: led_seg = 8h76;/h 4ha: led_seg = 8h5b;/z 4hc: led_seg = 8b00; default :led_seg = 8hzz; endcase end endmodule 3.4 fpga與單片機(jī)通信接口設(shè)計(jì)單片機(jī)在讀得矩陣鍵盤的控制字后,必須把相應(yīng)的數(shù)據(jù)傳遞給fpga。本實(shí)驗(yàn)中單片機(jī)所傳遞的數(shù)據(jù)有兩大部分。第一是傳遞給相位增量寄存器的相位增量字。第二是數(shù)碼管要顯示當(dāng)前在頻率控制字下面的頻率輸出值。因?yàn)閒pga只負(fù)責(zé)掃描8個(gè)數(shù)碼管,故其顯示的頻率值必須是單片機(jī)計(jì)算好后再將其值傳遞給fpga顯示。如圖3.4.1所示:圖
16、3.4.1 fpga與單片機(jī)通信接口設(shè)計(jì) 單片機(jī)與fpga接口總共用了9根線,一根時(shí)鐘線外加8根數(shù)據(jù)線。如圖3.4.1所示。每一個(gè)時(shí)鐘下降沿時(shí),單片機(jī)傳送一個(gè)8位的數(shù)據(jù)到fpga中。其中8位寬度的數(shù)據(jù)線中高四位的值表示的是fpga內(nèi)各寄存器內(nèi)約定好的地址,低四位表示的數(shù)要傳遞過來的數(shù)據(jù)。在fpga內(nèi)部有下面一段代碼:always ( posedge data_clk )/送給fpga的數(shù)據(jù)改變時(shí).begin seg_count = code 3:0; /數(shù)據(jù)位 seg_flag = code 7:4;/標(biāo)志位 case(seg_flag)/在數(shù)碼管中顯示的數(shù)字 4b0000: times3:0
17、 = seg_count; 4b0001: times7:4 = seg_count; 4b0010: times11:8 = seg_count; 4b0011: times15:12 = seg_count; 4b0100: times19:16 = seg_count; 4b0101: times23:20 = seg_count;/給控制寄存器中的數(shù)據(jù) 4b0110: write_data3:0 = seg_count; 4b0111: write_data7:4 = seg_count; 4b1000: write_data11:8 = seg_count; 4b1001: writ
18、e_data15:12 = seg_count; 4b1010: write_data19:16 = seg_count; 4b1011: write_data23:20 = seg_count; default: begin times = times; write_data = write_data; end endcase end在單片機(jī)每產(chǎn)生一個(gè)有下降的時(shí)鐘信號(hào)時(shí),會(huì)執(zhí)行上面一塊代碼程序。 每次傳送8位數(shù)據(jù)后,進(jìn)行分離如下: seg_count = code 3:0; /數(shù)據(jù)位 seg_flag = code 7:4;/標(biāo)志位再根據(jù)各個(gè)標(biāo)志位的不同,傳遞給fpga各個(gè)寄存器中不同的數(shù)據(jù)。高四位作為標(biāo)志位,最多可表示16種不同的情況,而本實(shí)驗(yàn)最多只用到其中的12種,因此是滿足要求的。34 頂層框圖圖 3.4.1生成的頂層框圖4 實(shí)驗(yàn)總結(jié)通過本次基于fpga的設(shè)計(jì)實(shí)驗(yàn),不僅使我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 經(jīng)濟(jì)利益與社會(huì)責(zé)任的協(xié)調(diào)試題及答案
- Java開發(fā)中的常見問題試題及答案
- 人工智能技術(shù)對(duì)傳統(tǒng)行業(yè)的變革試題及答案
- 行政法學(xué)的學(xué)術(shù)研究與實(shí)踐相結(jié)合的策略試題及答案
- 2025標(biāo)準(zhǔn)的產(chǎn)品買賣合同模板
- 組建公司合作協(xié)議書模板
- 企業(yè)戰(zhàn)略與最佳實(shí)踐試題及答案
- 行政管理科研方法論試題及答案
- 【舟山】2025年浙江舟山市定海區(qū)部分事業(yè)單位公開招聘工作人員20人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 2025購(gòu)買商品房定金合同范本
- 《新疆精河縣烏蘭達(dá)坂脈石英礦資源儲(chǔ)量核實(shí)報(bào)告》礦產(chǎn)資源儲(chǔ)量
- 防雷和接地安裝施工組織方案
- 管理學(xué)原理第六章 指揮課件
- 工序標(biāo)準(zhǔn)工時(shí)及產(chǎn)能計(jì)算表
- 消防安全知識(shí)宣傳-主題班會(huì)課件(共24張PPT)
- 生產(chǎn)中的七大浪費(fèi)(PPT35頁(yè))
- YY∕T 0617-2021 一次性使用人體末梢血樣采集容器
- 《漢服文化介紹》PPT課件(完整版)
- 5以內(nèi)的加減法(可直接打印)
- 車駕管知識(shí)題庫(kù)查驗(yàn)業(yè)務(wù)知識(shí)試題庫(kù)(附答案)
- 鋼結(jié)構(gòu)焊接變形的火焰矯正方法
評(píng)論
0/150
提交評(píng)論