《【中期報(bào)告】基于FPGA的多信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《【中期報(bào)告】基于FPGA的多信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)(10頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 畢業(yè)設(shè)計(jì)(論文)中期報(bào)告題目名稱:基于FPGA的多信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn) 913 一、課題任務(wù)1.畢業(yè)設(shè)計(jì)題目:基于FPGA的函數(shù)信號(hào)發(fā)生器。2.畢業(yè)設(shè)計(jì)要求:本設(shè)計(jì)要求產(chǎn)生頻率,幅度,可調(diào)的正弦波,三角波和方波。二、總體設(shè)計(jì)方案該方案采用FPGA作為中心控制邏輯,由于其具有高速和邏輯單元數(shù)多的特點(diǎn),因此可以由FPGA、DAC和I/V運(yùn)放直接構(gòu)成信號(hào)源發(fā)生器的最小系統(tǒng)。在該方案中通過FPGA控制DAC并直接向DAC發(fā)送數(shù)據(jù),這樣就提高了所需波形的頻率并繞過了通用存儲(chǔ)器讀取速度慢的特點(diǎn),再加上外部的開關(guān)按鈕就能夠簡單控制波形切換與頻率選擇。當(dāng)然,為了增加人機(jī)界面的交互性與系統(tǒng)功能,可以在原有的基
2、礎(chǔ)上添加一個(gè)標(biāo)準(zhǔn)鍵盤和LED或LCD,這樣就能夠通過編程實(shí)現(xiàn)波形的任意性、幅度變化的靈活性。圖1系統(tǒng)總體方案圖三、 階段性成果FPGA軟件設(shè)計(jì)部分3.1頻率控制部分(相位累加器)相位累加器模塊如圖2所示,相位累加器根據(jù)參考時(shí)鐘fc=1024hz以頻率控制字K進(jìn)行累加,實(shí)現(xiàn)頻率的控制,輸出信號(hào)頻率:fo=Kfc/2N;本設(shè)計(jì)采用16位的相位累加器,N=16,輸出信號(hào)頻率范圍0.015-1024hz。LIBRARY IEEE;-頻率控制器USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fcontrol ISPOR
3、T ( clk:in std_logic; f:in std_logic_vector(15 downto 0);q:out std_logic_vector(15 downto 0); END ENTITY fcontrol;ARCHITECTURE behave OF fcontrol IS signal qf: std_logic_vector(15 downto 0); signal q1: std_logic_vector(15 downto 0);BEGIN PROCESS(clk) BEGIN if clkevent and clk=1 then qf=f; q1=qf+q1;
4、end if; q=q1; END PROCESS; END ARCHITECTURE behave;圖2 相位累加器3.2相位控制部分相位增量模塊如圖3所示,最小相位增量 =2/2N=9.6e-5弧度LIBRARY IEEE;-相位控制器USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY pcontrol ISPORT ( x:in std_logic_vector(15 downto 0); qf:in std_logic_vector(15 downto 0);q:out std_logic_vector(
5、5 downto 0); END ENTITY pcontrol;ARCHITECTURE behave OF pcontrol IS signal q1: std_logic_vector(15 downto 0);BEGIN q1=qf+x; q100 then en=1; cs=1; q=000000000; else en=clk; cs=0; q=sel&qx; end if; end process; END ARCHITECTURE behave;圖4 波形選擇部分3.4波形數(shù)據(jù)存儲(chǔ)器ROM波形rom如圖5所示,波形數(shù)據(jù)的建立,F(xiàn)PGA輸出的數(shù)字信號(hào)需要經(jīng)DA轉(zhuǎn)換器轉(zhuǎn)換成各種波形
6、輸出。而由DA轉(zhuǎn)換器可知,TLC7528的分辨率是8位,這樣,將模擬信號(hào)的各種波行在一個(gè)周期內(nèi)平均分成255份,由于已經(jīng)確定每周期的取樣點(diǎn)數(shù)為64,即每隔2/64的間隔取值一次,所取的值為該點(diǎn)對(duì)應(yīng)的波形的值,通過計(jì)算可以獲得64個(gè)取樣點(diǎn)的值;也可以通過查表的方法取得64個(gè)取樣點(diǎn)的值。同理可以獲取方波和三角波的波形數(shù)據(jù)。圖5 波形ROM存儲(chǔ)器3.5 FPGA頂層設(shè)計(jì)圖6 頂層設(shè)計(jì)文件3.6仿真結(jié)果仿真環(huán)境是ALTERA公司的Quartus II 9.0sp2軟件的一項(xiàng)特殊功能,設(shè)置不同的輸入信號(hào),可實(shí)現(xiàn)不同的波形數(shù)據(jù)的輸出。根據(jù)選擇的不同開關(guān)信號(hào)組合,可得到如下圖所示各種仿真數(shù)據(jù)。(a)正弦波仿
7、真波形圖6正弦波仿真波形(b)三角波仿真波形圖7三角波仿真波形(c)方波仿真波形圖8方波仿真波形3.7仿真結(jié)果分析對(duì)比仿真與實(shí)際所得結(jié)果,本次課程設(shè)計(jì)基本上達(dá)到了預(yù)期的要求,當(dāng)然在對(duì)部分波形輸出的處理與最終結(jié)果的得出上,我們也中遇到并解決了系列問題。 首先,我們對(duì)實(shí)驗(yàn)箱的電路組成及連接情況不清楚,不利于編寫程序及為實(shí)體的各個(gè)端口分配引腳。為此,我們找到實(shí)驗(yàn)箱的電路原理圖,對(duì)照原理圖結(jié)合硬件電路,最終我們搞清楚了電路的組成及連接情況,還有知道了一些必要的硬件設(shè)置,比如開關(guān)是否有效、低通濾波電路電容的選擇等問題。然后,就是帶給我們最大困惑的部分三角波信號(hào)的輸出。起初的時(shí)候我們采用IF語句利用條件賦
8、值語句產(chǎn)生數(shù)字信號(hào),但是觀察不到預(yù)想的波形。經(jīng)過多次檢查修改還是無果后,我們改變了方法利用計(jì)數(shù)器和CASE語句產(chǎn)生信號(hào),但是編譯后發(fā)現(xiàn)硬件資源不夠,只能放棄這種方法,采用第一種方法。調(diào)試分為軟件和硬件兩部分。在軟件調(diào)試部分,我們把產(chǎn)生的數(shù)字信號(hào)送給LED,經(jīng)過觀察,所送的數(shù)據(jù)與預(yù)想的數(shù)字信號(hào)一致,這表明了軟件部分沒有問題;結(jié)合其它波形能夠正確輸出并在示波器上顯示,我們判斷硬件部分也沒問題。在百般無奈的情況下,我們向老師請(qǐng)教,最終弄明白了問題。原來正斜率斜波信號(hào)經(jīng)過一段時(shí)間后基本上相當(dāng)于直流信號(hào),而示波器的檔位沒有調(diào)節(jié),仍為交流耦合,故不能觀察到信號(hào)波形。當(dāng)調(diào)節(jié)為直流檔位后就可觀察到直流波形。四
9、、 時(shí)間進(jìn)度第一學(xué)期0812周:閱讀相關(guān)的外文文獻(xiàn)并翻譯(漢字3000字以上);1317周:熟悉掌握設(shè)計(jì)任務(wù)的要求,查閱資料,確定系統(tǒng)方案; 第二學(xué)期0304周:完成頂層文件的設(shè)計(jì);0506周:完成相關(guān)軟件流程圖及主程序的設(shè)計(jì);0708周:硬件焊接、測(cè)試、軟件編程;0910周:系統(tǒng)軟件調(diào)試。1113周:系統(tǒng)調(diào)試;整理有關(guān)資料,完成畢業(yè)論文的初稿。1416周:系統(tǒng)測(cè)試、完成畢業(yè)論文的修改。17周: 完成論文,準(zhǔn)備畢業(yè)答辯。參考文獻(xiàn)1 盧毅 .VHDL.與數(shù)字電路設(shè)計(jì)M.科學(xué)出版社.北京:2003.2 樊昌信等.通信原理M.國防工業(yè)出版社.北京:1995.3 潘松等.EDA技術(shù)實(shí)用教程M.科學(xué)出版
10、社M.北京:2007.4 郝小江,羅彪.基于FPGA的函數(shù)信號(hào)發(fā)生器J,電測(cè)與儀表.2008.(5).5 許開華 .DDS任意波形發(fā)生函數(shù)器數(shù)據(jù)生成及傳輸接口設(shè)計(jì)D.電子科技大學(xué)碩士學(xué)位論文,20076 楊守良,程正富,基于Matlab/DSP Builder 多波形信號(hào)發(fā)生器的設(shè)計(jì)J.微計(jì)算機(jī)信息。2007,(10)7 高士友,胡學(xué)深,杜興莉,劉橋.基于FPGA的DDS信號(hào)發(fā)生器設(shè)計(jì)期刊論文-現(xiàn)代電子技術(shù) 2009(16)8 學(xué)位論文萬永波.基于ARM的任意波發(fā)生器開發(fā)研究 20069 學(xué)位論文黃振華.基于FPGA函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn) 200910 Altera公司Altera數(shù)字圖書館2002年a