資源描述:
《【中期報(bào)告】基于fpga的多信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
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)按鈕就能夠簡(jiǎn)單控制波形切換與頻率選擇。當(dāng)然,為了
2、增加人機(jī)界面的交互性與系統(tǒng)功能,可以在原有的基礎(chǔ)上添加一個(gè)標(biāo)準(zhǔn)鍵盤和LED或LCD,這樣就能夠通過編程實(shí)現(xiàn)波形的任意性、幅度變化的靈活性。圖1系統(tǒng)總體方案圖913三、階段性成果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。LIBRARYIEEE;--頻率控制器USEIEEE.STD_LOGIC_1164.ALL;USE
3、IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfcontrolISPORT(clk:instd_logic;f:instd_logic_vector(15downto0);q:outstd_logic_vector(15downto0));ENDENTITYfcontrol;ARCHITECTUREbehaveOFfcontrolISsignalqf:std_logic_vector(15downto0);signalq1:std_logic_vector(15downto0);BEGINPROCESS(clk)BEGI
4、Nifclk'eventandclk='1'thenqf<=f;q1<=qf+q1;endif;q<=q1;ENDPROCESS;ENDARCHITECTUREbehave;913圖2相位累加器3.2相位控制部分相位增量模塊如圖3所示,最小相位增量δ=2π/2N=9.6e-5弧度LIBRARYIEEE;--相位控制器USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYpcontrolISPORT(x:instd_logic_vector(15downto0);qf:i
5、nstd_logic_vector(15downto0);q:outstd_logic_vector(5downto0));ENDENTITYpcontrol;ARCHITECTUREbehaveOFpcontrolISsignalq1:std_logic_vector(15downto0);BEGINq1<=qf+x;q<=q1(15downto10);ENDARCHITECTUREbehave;圖3相位控制器9133.3主控器主控器模塊如圖4所示相位累加器根據(jù)參考時(shí)鐘fc以頻率控制字K進(jìn)行累加,將所得N位的二進(jìn)制代碼,加上相位控制字P和波
6、形控制字W,取其高L位作為ROM的地址,已選擇波形。當(dāng)sel=‘000’,輸出為正弦波;sel=‘001’,輸出為方波;sel=‘010’,輸出為三角波;LIBRARYIEEE;--主控制器USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYcontrolISPORT(sel:instd_logic_vector(2downto0);qx:instd_logic_vector(5downto0);clk:inst
7、d_logic;en:outstd_logic;cs:outstd_logic;q:outstd_logic_vector(8downto0));ENDENTITYcontrol;ARCHITECTUREbehaveOFcontrolISBEGINPROCESS(sel,qx,clk)BEGINifsel>"100"thenen<='1';cs<='1';q<="000000000";elseen<=clk;913cs<='0';q<=sel&qx;endif;endprocess;ENDARCHITECTUREbehave;圖4波形選擇部分
8、3.4波形數(shù)據(jù)存儲(chǔ)器ROM波形rom如圖5所示,波形數(shù)據(jù)的建立,F(xiàn)PGA輸出的數(shù)字信號(hào)需要經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換成各種波形輸出。而由D/A轉(zhuǎn)換器可知,TLC7528的分