freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文(已改無錯(cuò)字)

2023-07-23 01:17:52 本頁(yè)面
  

【正文】 系統(tǒng)通過輸入頻率控制字控制輸出波形的頻率實(shí)現(xiàn)調(diào)頻功能;通過改變乘法器的倍乘輸入數(shù)據(jù),控制波形幅度的改變,實(shí)現(xiàn)調(diào)幅功能。本系統(tǒng)采用Altera公司生產(chǎn)的FPGA器件CycloneII系列芯片EP2C35F672C8,該芯片存儲(chǔ)器密度為33216個(gè)邏輯單元(LE),總的RAM空間為483840位,包括了1818位乘法器,105個(gè)M4K RAM塊,有16個(gè)全局時(shí)鐘網(wǎng)絡(luò),內(nèi)嵌4個(gè)鎖相環(huán)電路,最大用戶I/O引腳數(shù)為475個(gè),并且支持多種不同的單端和高速差分I/O標(biāo)準(zhǔn)。本系統(tǒng)由FPGA芯片、鍵盤、數(shù)碼管、數(shù)模轉(zhuǎn)換以及低通濾波和后級(jí)放大電路組成。設(shè)計(jì)時(shí)分兩大部分進(jìn)行,波形模塊和外圍電路模塊。其中DDS頻率合成模塊、波形產(chǎn)生模塊、調(diào)幅模塊為數(shù)字電路,由FPGA芯片實(shí)現(xiàn)。外圍電路模塊為模擬電路,主要完成輸出波形的低通濾波及增益放大功能。本系統(tǒng)主要實(shí)現(xiàn)數(shù)字電路部分的設(shè)計(jì)。系統(tǒng)的總體硬件結(jié)構(gòu)如圖36所示。圖36系統(tǒng)硬件框圖 FPGA系統(tǒng)設(shè)計(jì)流程圖37 FPGA設(shè)計(jì)框圖FPGA實(shí)現(xiàn)的主要功能是:(1)保存頻率控制字,并構(gòu)成相位累加器,用相位累加器輸出信號(hào)產(chǎn)生波形;(2)用內(nèi)部存儲(chǔ)模塊構(gòu)成存放正弦波數(shù)據(jù)的ROM數(shù)據(jù)表;(3)實(shí)現(xiàn)乘法器設(shè)計(jì),幅度控制字輸入,用于波形的幅度調(diào)節(jié)。本系統(tǒng)可實(shí)現(xiàn)固定波形和任意波形的輸出。DDS模塊中的由一個(gè)32位的加法器和一個(gè)相位寄存器構(gòu)成,加法器以頻率控制字K作為步長(zhǎng)進(jìn)行加法運(yùn)算,和滿時(shí)清零,重新進(jìn)行計(jì)算。相位累加器高10位作為地址進(jìn)行ROM表查詢,本設(shè)計(jì)ROM表中存儲(chǔ)正弦數(shù)據(jù),用于生成正弦波形,ROM表中也可存儲(chǔ)其它波形數(shù)據(jù),生成任意波形。累加器的溢出信號(hào)送入方波產(chǎn)生模塊,輸出方波。累加器高十位輸出同時(shí)送入鋸齒波發(fā)生模塊,生成鋸齒波。本設(shè)計(jì)是在同步時(shí)鐘clk信號(hào)下協(xié)調(diào)工作的。 FPGA系統(tǒng)模塊設(shè)計(jì)系統(tǒng)模塊設(shè)計(jì)如圖38所示。圖38 FPGA設(shè)計(jì)模塊圖整個(gè)設(shè)計(jì)有一個(gè)頂層模塊設(shè)計(jì),按照功能要求劃分為三個(gè)模塊,即DDS控制模塊、波形產(chǎn)生模塊、調(diào)幅模塊。函數(shù)信號(hào)發(fā)生器的波形產(chǎn)生及調(diào)頻功能,主要是由用FPGA設(shè)計(jì)的DDS模塊控制的,其由加法器及相位寄存器構(gòu)成的相位累加器和ROM數(shù)據(jù)表構(gòu)成。系統(tǒng)整體原理圖如圖39所示。如圖39所示,系統(tǒng)共有5個(gè)輸入信號(hào)和3個(gè)輸出信號(hào)。5個(gè)輸入信號(hào)分別是時(shí)鐘信號(hào)、復(fù)位信號(hào)、頻率控制字、頻率鎖存信號(hào)、調(diào)幅信號(hào),3個(gè)輸出信號(hào)分別是正弦波輸出、方波輸出、鋸齒波輸出。本系統(tǒng)實(shí)現(xiàn)信號(hào)波形輸出,方便調(diào)頻、調(diào)幅。輸入信號(hào)端口說明如下:clk:時(shí)鐘信號(hào),為系統(tǒng)提供50MHZ的時(shí)鐘信號(hào)。clr:復(fù)位信號(hào),低電平有效。Fcw[31..0]:頻率控制字,控制輸出波形頻率,實(shí)現(xiàn)系統(tǒng)的調(diào)頻功能。loadCLK:頻率鎖存信號(hào),上升沿到來時(shí)刻,對(duì)頻率控制字進(jìn)行鎖存后,將其送入DDS模塊,經(jīng)相位累加,實(shí)現(xiàn)頻率合成。mult_param[7..0]:調(diào)幅信號(hào),實(shí)現(xiàn)波形的幅度調(diào)節(jié)。此信號(hào)用8位二進(jìn)制表示,高2位為整數(shù)部分,低6位為小數(shù)部分。輸出信號(hào)端口說明如下:DA1[9..0]:正弦波形輸出。DA2[9..0]:方波波形輸出。DA3[9..0]:鋸齒波波形輸出。圖39系統(tǒng)整體原理圖 4系統(tǒng)模塊設(shè)計(jì)及仿真該模塊主要功能是鎖存頻率控制字,loadCLK信號(hào)上升沿到來時(shí)刻,鎖存頻率控制字,將頻率控制字送入DDS模塊,進(jìn)行相位累加,實(shí)現(xiàn)頻率合成,確定輸出波形頻率。該模塊的結(jié)構(gòu)框圖如圖41所示。圖41頻率寄存器模塊結(jié)構(gòu)框圖各端口說明如下:clr:復(fù)位信號(hào),低電平有效。Fcw[31..0]:頻率控制字輸入。loadCLK:頻率鎖存信號(hào),上升沿時(shí)刻鎖存頻率控制字。Q[31..0]:頻率控制字輸出,送入DDS模塊,確定輸出波形頻率。頻率寄存器模塊功能設(shè)計(jì)的VerilogHDL程序如下:module D_FFbe (clr,D,loadCLK,Q)。//add before adder//input clr。input [31:0] D。input loadCLK。output [31:0] Q。reg [31:0] Q。always @(posedge loadCLK or negedge clr) Q=(!clr)?3139。d0:D。 Endmodule在軟件工具Quartus II的編譯和波形仿真后得到的波形如圖42所示。圖42頻率寄存器模塊仿真波形圖 DDS模塊設(shè)計(jì)DDS模塊主要功能是由頻率控制字合成所要產(chǎn)生的波形頻率,并且產(chǎn)生ROM波形數(shù)據(jù)表的的地址。DDS核心模塊由32位加法器和相位寄存器構(gòu)成,加法器輸入為前一次的累加和與頻率控制字,累加后結(jié)果送入相位寄存器。相位寄存器將累加和送回加法器輸入端用于下一次計(jì)算,取高10位作為ROM地址,同時(shí)送入鋸齒波模塊,溢出信號(hào)作為方波模塊的輸入。 32位加法器該模塊主要功能是實(shí)現(xiàn)相位累加,以頻率控制字為步長(zhǎng)進(jìn)行累加,最終得到ROM數(shù)據(jù)表的地址。該模塊的結(jié)構(gòu)框圖如圖43所示。圖43 32位加法器各端口說明如下:Fcw[31..0]:頻率控制字。add[31..0]:相位寄存器值,保存累加值。SUM[31..0]:頻率控制字與相位寄存器值的累加和,累加和送入寄存器中。32位加法器模塊功能設(shè)計(jì)的VerilogHDL部分程序如下(詳細(xì)程序見附錄2):module adder2 (A,B,CY_IN,SUM,CY_OUT)。input A,B,CY_IN。output SUM,CY_OUT。assign SUM=A^B^CY_IN。assign CY_OUT=(Aamp。B)|(Aamp。CY_IN)|(Bamp。CY_IN)。endmodule在軟件工具Quartus II的編譯和波形仿真后得到的波形如圖44所示。圖44 32位加法器功能仿真該模塊主要功能是寄存上一次相位累加和,取累加和高10位作為ROM數(shù)據(jù)表的地址。輸出累加和送回加法器,同時(shí)輸出溢出信號(hào)。該模塊的結(jié)構(gòu)框圖如圖45所示。圖45相位寄存器各端口說明如下:clr:復(fù)位信號(hào),低電平有效。CLK:系統(tǒng)時(shí)鐘信號(hào),頻率為50MHZ.。D[31..0]:32位加法器輸出值。Q[31..0]:上一次加法器累加和數(shù)值,送入加法器中進(jìn)行運(yùn)算。dram[9..0]:取累加和高10位為ROM表地址,表中相應(yīng)地址存儲(chǔ)對(duì)應(yīng)波形數(shù)據(jù)。over:溢出標(biāo)志位,即最高位,溢出時(shí),輸出高電平1,否則輸出低電平0,送入方波產(chǎn)生模塊。相位寄存器模塊功能設(shè)計(jì)的VerilogHDL程序如下:module DFFAF2 (clr,CLK,D,Q,dram,over)。input clr,CLK。input [31:0] D。output [31:0] Q。output [9:0] dram。output over。reg [31:0] Q。reg [9:0] dram。reg over。//use 39。over39。to control t16 always @(posedge CLK or negedge clr) begin Q=(!clr)?3139。d0:D。 {dram[9:0]}={Q[31:22]}。 over=Q[31]。 endendmodule在軟件工具Quartus II的編譯和波形仿真后得到的波形如圖46所示。圖46相位寄存器功能仿真正弦波采用查找表方法實(shí)現(xiàn),在查找表ROM中所存的數(shù)據(jù)是每一個(gè)相位所對(duì)應(yīng)的十進(jìn)制正弦幅值。根據(jù)設(shè)計(jì),截取相位累加器的高10位作為ROM尋址的位數(shù)。首先生成ROM文件,使用Qurtus II中自帶的LPM_ROM函數(shù)建立。ROM中存儲(chǔ)0~的數(shù)據(jù),且輸出幅度值最高位由相位累加器最高位決定,則實(shí)際ROM存儲(chǔ)的數(shù)據(jù)寬度只需8位即可滿足要求,并設(shè)尋址深度為1024,輸入和輸出采用單時(shí)鐘脈沖,如圖47所示。圖47 ROM參數(shù)在ROM生成后,就要對(duì)ROM填充正弦值波形數(shù)據(jù),作為ROM的初始化數(shù)據(jù)。波形數(shù)據(jù)可以手動(dòng)輸入,也可用高級(jí)語(yǔ)言編程實(shí)現(xiàn)。在本設(shè)計(jì)中,使用MATLAB工具來生成0~的正弦數(shù)字幅度值,幅度值均為無符號(hào)十進(jìn)制數(shù)據(jù),程序如下:width=8。 depth=1024。 index=linspace(0,2*pi,depth)。 sin_a=sin(index)。 sin_d=fix(sin_a*(2^width1))。 addr=0:depth1。fid=fopen(39。39。,39。w39。)。 fprintf(fid,39。adderss_radix=dec。\n39。)。fprintf(fid,39。data_radix=dec。\n\n39。)。 fprintf(fid,39。content begin\n39。)。fprintf(fid,39。\t%d:%d。\n39。,[addr。sin_d])。fprintf(fid,39。end:\n39。)。fclose(fid)。波形數(shù)據(jù)如圖48所示。圖48波形數(shù)據(jù)該模塊主要功能是生成方波波形。波形輸出信號(hào)送入調(diào)幅模塊,實(shí)現(xiàn)幅度調(diào)節(jié)。該模塊的結(jié)構(gòu)框圖如圖49所示。圖49方波模塊各端口說明如下:over:輸入1位數(shù)據(jù)。out[7..0]:輸出8位數(shù)據(jù)波形。方波模塊功能設(shè)計(jì)的VerilogHDL程序如下:module square( input data, output[7:0] out )。assign out={8{data}}。endmodule在軟件工具Quartus II的編譯和波形仿真后得到的波形如圖410所示。圖410方波模塊仿真該模塊主要功能是生成鋸齒波。該模塊的結(jié)構(gòu)框圖如圖411所示。圖411鋸齒波模塊各端口說明如下:data[9..0]:波形數(shù)據(jù)輸入。out[7..0]:鋸齒波波形數(shù)據(jù)輸出。鋸齒波模塊功能設(shè)計(jì)的VerilogHDL程序如下:module sawtooth( input[9:0] data, output[7:0] out )。assign out=data[9:2]。endmodule在軟件工具Quartus II的編譯和波形仿真后得到的波形如圖412所示。圖412 鋸齒波仿真波形該模塊主要功能是實(shí)現(xiàn)波形的幅度調(diào)節(jié),可對(duì)波形進(jìn)行放大或縮小。該模塊的結(jié)構(gòu)框圖如圖413所示。圖413調(diào)幅模塊各端口說明如下:data[7..0]:輸入波形數(shù)據(jù),作為基準(zhǔn)信號(hào)。mult_param[7..0]:幅度控制字,即放大倍數(shù),高2位為整數(shù)部分,低6位為小數(shù)部分。調(diào)幅模塊功能設(shè)計(jì)的VerilogHDL程序如下://increase or decrease the amplitude of the input waveform 39。data39。//change value of mult_param lead to different amplitude//mult_param module mult ( input [7:0] data, input [7:0] mult_param, output[9:0] result )。wire[15:0] mult_result。assign mult_result=data*mult_param。assign result =mult_result6。endmodule在軟件工具Quartus II的編譯和波形仿真后得到的波形如圖414所示。圖414調(diào)幅模塊功能仿真 5系統(tǒng)調(diào)試軟件調(diào)試主要是在軟件Quartus
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1