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

正文內(nèi)容

基于fpga的函數(shù)信號發(fā)生器設(shè)計(jì)(參考版)

2025-06-25 01:04本頁面
  

【正文】 data_。 set:in integer range 0 to 7。 use 。調(diào)幅模塊源程序:library ieee。ARCHITECTURE one OF juchi IS begin wave=addr when addr512/2 else addr512/2。 wave: out integer range 0 to 255 )。USE 。鋸齒波模塊源程序:LIBRARY IEEE。ARCHITECTURE one OF square IS begin wave=255 when addr512/2 else 0。 wave: out integer range 0 to 255 )。USE 。方波模塊源程序:LIBRARY IEEE。 begin wave=FONT(addr)。ARCHITECTURE one OF rom_sin IS type rom_type is array(0 to 511) of integer range 0 to 255。 wave: out integer range 0 to 255 )。USE 。LIBRARY IEEE。)。fprintf(fid,39。,[addr。\t%d:%d。)。 fprintf(fid,39。\n\n39。fprintf(fid,39。\n39。 fprintf(fid,39。w39。39。 addr=0:depth1。 sin_a=sin(index)。 depth=1024。end one。data_out=t。end if。139。elsif clk39。039。ARCHITECTURE one of dff32 issignal t:std_logic_vector(31 downto 0)。 data_out:out std_logic_vector(31 downto 0) )。 data: in std_logic_vector(31 downto 0)。entity dff32 is port ( Host Side clk:IN STD_LOGIC。use 。 end one。end addr。 data:in std_logic_vector(31 downto 0)。 use 。32位加法器源程序:library ieee。END PROCESS。 END IF。139。139。elsif clk39。039。end reg_fcw 。 FCW: in std_logic_vector(31 downto 0)。entity reg_fcw is port ( Host Side clk:IN STD_LOGIC。use 。在本課題完成之際,謹(jǐn)向我的恩師致以最衷心的感謝和最崇高的敬意!在課題進(jìn)行過程中,同組的同學(xué)也給了我很多的幫助,在此表示衷心的感謝。賈老師淵博的專業(yè)知識和嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,深深的影響著我,鞭策我不斷奮斗、進(jìn)取。 致謝在這四個(gè)多月的畢業(yè)設(shè)計(jì)過程中,得到了賈老師的悉心指導(dǎo)和無私教誨。本設(shè)計(jì)的核心是直接數(shù)字頻率合成(DDS)技術(shù),DDS模塊的核心是相位累加器,實(shí)現(xiàn)輸出波形的頻率合成。本設(shè)計(jì)實(shí)現(xiàn)了正弦波、方波、三角波和鋸齒波的波形仿真,正弦波產(chǎn)生用查找表法實(shí)現(xiàn),方波和鋸齒波由編程實(shí)現(xiàn),作為固定波形輸出。對方波、鋸齒波,三角波同樣適用。從波形圖來看,波形無明顯失真。注意波形輸入設(shè)置改變后,要重新生成網(wǎng)表文件,否則運(yùn)行仿真仍是原來結(jié)果。同時(shí),頻率控制字也不能太大,其要滿足奈奎斯特采樣定理的要求,否則會產(chǎn)生波形失真。頻率鎖存信號上升沿到來時(shí),鎖存頻率控制字,設(shè)置信號波形時(shí)注意在信號上升沿對應(yīng)位置,頻率控制字設(shè)置合適的數(shù)值。仿真過程中應(yīng)注意以下幾點(diǎn),仿真時(shí)間不宜設(shè)置太短,時(shí)間太短,可能無法看到正確的仿真波形。通過閱讀幫助,以快速找出錯(cuò)誤并調(diào)試改正。5系統(tǒng)調(diào)試軟件調(diào)試主要是在軟件Quartus II中模擬仿真,通過查看仿真波形進(jìn)行調(diào)試。各端口說明如下:Max_min:選擇是放大波形還是是縮小波形;Set:設(shè)置倍數(shù)。圖414三角波形模塊功能仿真該模塊主要功能是實(shí)現(xiàn)波形的幅度調(diào)節(jié),可對波形進(jìn)行放大或縮小。end one。END sanjiao。ENTITY sanjiao ISPORT( addr:IN integer range 0 to 511 。USE 。圖413三角波形模塊各端口說明如下:Addr:輸入的地址Wave[7..0]:輸出8位數(shù)據(jù)波形。圖412 鋸齒波仿真波形該模塊主要功能是生成三角波模塊。 end one。END juchi。ENTITY juchi ISPORT( addr:IN integer range 0 to 511 。USE 。圖411鋸齒波模塊各端口說明如下:Addr:輸入的地址Wave[7..0]:輸出8位數(shù)據(jù)波形。圖410方波模塊仿真該模塊主要功能是生成鋸齒波。 end one。END square。ENTITY square ISPORT( addr:IN integer range 0 to 511 。USE 。圖49方波模塊各端口說明如下:Addr:輸入的地址Wave[7..0]:輸出8位數(shù)據(jù)波形。波形輸出信號送入調(diào)幅模塊,實(shí)現(xiàn)幅度調(diào)節(jié)。在本設(shè)計(jì)中,使用MATLAB工具來生成0~的正弦數(shù)字幅度值,幅度值均為無符號十進(jìn)制數(shù)據(jù),程序如下:n=0:1:511y=round((sin(2*pi*n/512)+1)*2^7)plot(y)波形數(shù)據(jù)如圖48所示。圖47 正弦波形參數(shù)這些數(shù)據(jù)的產(chǎn)生采用matlab產(chǎn)生,matlab面向?qū)ο缶幊?,效率高。type rom_type is array(0 to 511) of integer range 0 to 255??梢允褂肦OM生成也可以直接在程序中描述。圖46相位寄存器功能仿真正弦波采用查找表方法實(shí)現(xiàn),在查找表ROM中所存的數(shù)據(jù)是每一個(gè)相位所對應(yīng)的十進(jìn)制正弦幅值。end one。data_out=t。end if。139。elsif clk39。039。ARCHITECTURE one of dff32 issignal t:std_logic_vector(31 downto 0)。 data_out:out std_logic_vector(31 downto 0) )。 data: in std_logic_vector(31 downto 0)。entity dff32 is port ( Host Side clk:IN STD_LOGIC。use 。add[8..0]:取累加和高9位為ROM表地址,表中相應(yīng)地址存儲對應(yīng)波形數(shù)據(jù)。DATA[31..0]:32位加法器輸出值。圖45相位寄存器各端口說明如下:rstn:復(fù)位信號,低電平有效。輸出累加和送回加法器。在軟件工具Quartus II的編譯和波形仿真后得到的波形如圖44所示。ARCHITECTURE one of addr isbegin addr_out=data+fcw。 addr_out:out std_logic_vector(31 downto 0) )。entity addr is port ( fcw:in std_logic_vector(31 downto 0)。use 。Suaddr_out [31..0]:頻率控制字與相位寄存器值的累加和,累加和送入寄存器中。圖43 32位加法器各端口說明如下:Fcw[31..0]:頻率控制字。 32位加法器該模塊主要功能是實(shí)現(xiàn)相位累加,以頻率控制字為步長進(jìn)行累加,最終得到ROM數(shù)據(jù)表的地址。DDS核心模塊由32位加法器和相位寄存器構(gòu)成,加法器輸入為前一次的累加和與頻率控制字,累加后結(jié)果送入相位寄存器。在軟件工具Quartus II的編譯和波形仿真后得到的波形如圖42所示。END PROCESS。 END IF。139。139。elsif clk39。039。end reg_fcw 。 FCW: in std_logic_vector(31 downto 0)。entity reg_fcw is port ( Host Side clk:IN STD_LOGIC。use 。DATA[31..0]:頻率控制字輸出,送入DDS模塊,確定輸出波形頻率。FCW[31..0]:頻率控制字輸入。該模塊的結(jié)構(gòu)框圖如圖41所示。輸出信號端口說明如下:DA1[9..0]:波形輸出。Set_fudu[2..0]:調(diào)幅信號,實(shí)現(xiàn)波形的幅度調(diào)節(jié)。Fcw[31..0]:頻率控制字,控制輸出波形頻率,實(shí)現(xiàn)系統(tǒng)的調(diào)頻功能。輸入信號端口說明如下:clk:時(shí)鐘信號,為系統(tǒng)提供50MHZ的時(shí)鐘信號。5個(gè)輸入信號分別是時(shí)鐘信號、復(fù)位信號、頻率控制字、頻率鎖存信號、調(diào)幅信號,調(diào)幅模式選擇信號,波形選擇信號。系統(tǒng)整體原理圖如圖39所示。圖38 FPGA設(shè)計(jì)模塊圖整個(gè)設(shè)計(jì)有一個(gè)頂層模塊設(shè)計(jì),按照功能要求劃分為三個(gè)模塊,即DDS控制模塊、波形產(chǎn)生模塊、調(diào)幅模塊。本設(shè)計(jì)是在同步時(shí)鐘clk信號下協(xié)調(diào)工作的。同時(shí)相位累加器高8位作為地址送入方波產(chǎn)生模塊,輸出方波。DDS模塊中的由一個(gè)32位的加法器和一個(gè)相位寄存器構(gòu)成,加法器以頻率控制字K作為步長進(jìn)行加法運(yùn)算,和滿時(shí)清零,重新進(jìn)行計(jì)算。圖36系統(tǒng)硬件框圖 FPGA系統(tǒng)設(shè)計(jì)流程圖37 FPGA設(shè)計(jì)框圖FPGA實(shí)現(xiàn)的主要功能是:(1)保存頻率控制字,并構(gòu)成相位累加器,用相位累加器輸出信號產(chǎn)生波形;(2)用內(nèi)部存儲模塊構(gòu)成存放正弦波數(shù)據(jù)的ROM數(shù)據(jù)表;(3)實(shí)現(xiàn)乘法器設(shè)計(jì),幅度控制字輸入,用于波形的幅度調(diào)節(jié)。本系統(tǒng)主要實(shí)現(xiàn)數(shù)字電路部分的設(shè)計(jì)。其中DDS頻率合成模塊、波形產(chǎn)生模塊、調(diào)幅模塊為數(shù)字電路,由FPGA芯片實(shí)現(xiàn)。本系統(tǒng)由FPGA芯片、鍵盤、數(shù)碼管、數(shù)模轉(zhuǎn)換以及低通濾波和后級放大電路組成。本系統(tǒng)通過輸入頻率控制字控制輸出波形的頻率實(shí)現(xiàn)調(diào)頻功能;通過改變乘法器的倍乘輸入數(shù)據(jù),控制波形幅度的改變,實(shí)現(xiàn)調(diào)幅功能。方波以DDS相位累加器的溢出信號為輸入,計(jì)算得出其基本波形。本系統(tǒng)是在基于DDS技術(shù)的基礎(chǔ)上,產(chǎn)生3種信號波形,分別為正弦波、方波、鋸齒波。因此,采用FPGA來設(shè)計(jì)DDS系統(tǒng)具有很高的性價(jià)比。相比之下FPGA的功能完全取決于設(shè)計(jì)需求,可以復(fù)雜也可以簡單,而且FPGA芯片還支持在系統(tǒng)現(xiàn)場升級,雖然在精度和速度上略有不足,但也能基本滿足絕大多數(shù)系統(tǒng)的使用要求。用FPGA設(shè)計(jì)DDS電路比采用專用DDS芯片更為靈活。FPGA的應(yīng)用不僅使得數(shù)字電路系統(tǒng)的設(shè)計(jì)非常方便,并且還大大縮短了系統(tǒng)研制的周期,縮小了數(shù)字電路系統(tǒng)的體積和所用芯片的品種。后來出現(xiàn)的專用DDS芯片極大的推動(dòng)了DDS技術(shù)的發(fā)展,但專用DDS芯片價(jià)格昂貴,且無法實(shí)現(xiàn)任意波形輸出。設(shè)置時(shí)鐘信號周期、占空比,在波形文件中單擊時(shí)鐘信號(clk),選擇Value→Clock,彈出如圖35所示對話框。圖34 Symbol對話框 Waveform File,選擇File→New→Others打開對話框,選擇Vector Waveform File,新建波形文件。,選擇Insert→Symbol,打開一個(gè)Symbol對話框,如圖34所示,選擇已有模塊,則可將其添加到頂層模塊中。選擇File→Create/Update→Create Symbol Files For Current File,例如圖33所示的是一個(gè)由Verilog源程序生成的乘法器。注意這里所謂的編譯(Compilation)包括Quartus II對設(shè)計(jì)輸入的多項(xiàng)處理操作,其中包括排錯(cuò)、數(shù)據(jù)網(wǎng)表文件提取、邏輯綜合、適配、裝配文件(仿真文件與編程配置文件)生成,以及基于目標(biāo)器件的工程時(shí)序分析等。編譯器首先從工程設(shè)計(jì)文件間的層次結(jié)構(gòu)描述中提取信息,包括每個(gè)低層次文件中的錯(cuò)誤信息,供設(shè)計(jì)者排除,然后將這些層次構(gòu)建產(chǎn)生一個(gè)結(jié)構(gòu)化的以網(wǎng)表文件表達(dá)的電路原理圖文件,并把各層次中所有的文件結(jié)合成一個(gè)數(shù)據(jù)包,以便更有效的處理。Quartus II編譯器是由一系列處理模塊構(gòu)成的,這些模塊負(fù)責(zé)對設(shè)計(jì)項(xiàng)目的檢錯(cuò)、邏輯綜合和結(jié)構(gòu)綜合。確認(rèn)無誤后,單擊Finish按鈕,結(jié)束新建工程向?qū)В鐖D32所示。,默認(rèn)操作,單擊Next按鈕。設(shè)置好后單擊Next按鈕。、名稱和頂層實(shí)體。用于完成波形發(fā)生器的分析綜合、硬件優(yōu)化、適配、配置文件編輯下載以及硬件系統(tǒng)測試等。:包括四種編程模式,即被動(dòng)串行模式、JTAG模式、主動(dòng)串行模式和插座內(nèi)編程模式。;進(jìn)行時(shí)序分析,可查看時(shí)序分析結(jié)果報(bào)告。:包括分析和綜合器件、輔助工具和RTL查看器等工具。 I
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1