综合电子系统设计报告

上传人:pu****.1 文档编号:465476665 上传时间:2023-11-22 格式:DOCX 页数:16 大小:238.46KB
返回 下载 相关 举报
综合电子系统设计报告_第1页
第1页 / 共16页
综合电子系统设计报告_第2页
第2页 / 共16页
综合电子系统设计报告_第3页
第3页 / 共16页
综合电子系统设计报告_第4页
第4页 / 共16页
综合电子系统设计报告_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《综合电子系统设计报告》由会员分享,可在线阅读,更多相关《综合电子系统设计报告(16页珍藏版)》请在金锄头文库上搜索。

1、综合电子系统设计课程设计报告(实验一:基于FPGA的DDS信号发生器)姓名:徐久赟学号:041401012班级:0414103班一、实验要求1)目的:掌握FPGA设计流程和HDL;掌握DDS原理及其FPGA的实现方法。(2) 实验设备:PC机、Quartus II软件、DE2开发板。(3) 实验内容及说明:要求DDS输出的正弦波频率可变,频率变化范围5Hz-100kHz,频率 步进值小于1Hz。二、设计原理DDS系统的核心是相位累加器,它由一个累加器和一个N位相位寄存器组成。每来一个时 钟脉冲,相位寄存器以步长M增加。相位寄存器的输出与相位控制字相加,其结果作为正弦 查找表的地址。正弦查找表由

2、ROM构成,内部存有一个完整周期正弦波的数字幅度信息,每 个查找表的地址对应正弦波中0360范围内的一个相位点。查找表把输入的地址信息映射 成正弦波的数字幅度信号,加到DAC的输入端,DAC输出的模拟信号经过低通滤波器(LPF), 可得到一个频谱纯净的正弦波。三、方案论证及详细设计1. 系统设计图1:系统框图整个系统由五个模块构成:(1)接口模块,如图2所示。interfaceresetfclkclk *clk_enphase9.O1 address1 .0error1 data Bus 9. 0.ddsen-T1irif图2:接口模块接口模块提供了方便的操作接口:reset :复位clk :

3、系统时钟(50MHz)clk_en :时钟使能address:地址总线(控制数据总线向对应的寄存器输入数据)见表1address(2 位)寄存器00div_reg (时钟分频数)01M_reg10phase_reg11ddsen_reg表1:地址总线表dataBus:数据总线(8位)说明:在接口模块中,内嵌了一个分频器,来控制输出的fclk。通过判断div_reg中的值, 分频值从21000000,通过控制fclk进而提高乙fout,使 foutSIN_ROM.mif”。再在文件中加入了头部说明。最后在Quartus中调用了 LPM库,生 成了 sin幅度查询模块。2. 系统的顶层逻辑图及DD

4、S的频率精度与频率控制字之间的关系4id5H.4| i欧初策MilMLlY*.ok唯浏gjinpHdyp 回Lat!Lb|l 1WEch虹心Imrmjrfl-l33WK*.顷 04Ift+13Z1 Uffiuiiiafrur(9.ai图6:系统顶层逻辑图在DDS原理中,将一个正弦函数用其相位表示,即2pi。同时将其离散化,分成 2AN个,M为频率控制字,即为每个fclk时钟,将初始相位与其相加,得到下一个相位,进 而得到对应幅度值。由fout=M/2AN xfclk得,M值越大时,此时fout值越大。但是同时,由于M值越大,每次相位累加时,相位值改变的越大,导致幅度值改变的越大。最终生成 的正

5、弦函数失真现象越加严重,即频率精度越差。所以,频率精度与频率控制字成反比关系。四、系统调试及仿真波形J lew StalnjjQuartjBi II HradjinKEvLilon, HuefamilyUfMeT2Le:(L7T. 2 既Ud LSI 09/2&/)7 SJ Pdll FeIe KDS2EDEZCyx:l! IITP 猝我 T3C2S FSLloTBS /2L6 ( 2 K )5S4 / 33J 2LG ( Z ) QB4 / 33, 2L6 Z 1fi 5凯31 / 4.7!5 ( 7 % )潮做 / 040 ( 77K )fl / 70 ( fl * )图7: FPGA资源

6、利用图8:接口模块仿真图图9:同步模块仿真图五、系统实现功能输出了一个频率和相位可以调控的正弦波。频率变化范围:1Hz-5MHz,步进值1Hz.六、设计调试过程中的问题及解决办法由于整个系统由模块化组成,每个模块在设计的过程中都通过波形仿真验证其功能的正 确性,使得最终的顶层设计时,没有出现太大的问题。但在整个设计过程中出现了一些软件 操作和系统设计的问题。1. 系统编译后无法生成SOF文件。解决:经查阅资料后了解到,Quartus在没有破解的情况下,不生成SOF文件,最 终按照教程破解了软件,成功生成SOF文件。2. DE2开发板上的扩展IO 口按键过少,不足以满足整个系统所需。解决:通过增

7、加接口模块,同时增加address控制数据的输入。3. DE2中的DAC芯片为10bit,这样就使得输入的幅度值为10bit,进而使得N只能 是10位,导致步进值和输出频率无法同时满足设计需要。解决:由于DE2的限制,N只能选择10位,所以在接口模块,设计了分频计,这 样就可以通过改变fclk减小步进值,使其符合要求。七、收获、体会及改进设想1. 通过这次的课程设计,重新学习了对Quartus软件的使用,熟练度得到了极大的提高。2. 复习了 VHDL语言,对VHDL有了更多的认识,对其使用更加的得心应手。3. 从整体系统的设计到底层各个模块的设计与完善,这种层次化,模块化设计,使得整个 系统设

8、计显得更加的科学,极大的降低了系统的出错率。同时对系统各个模块的把握,可以 更好的调试与改善整个系统。4. 这样的设计方式,也使得整个系统扩展性得到一定的提高。5. 电子系统的设计应当是层次化,模块化,可调试性强,可扩展性高。优秀的设计思路可 以极大的提高整个设计过程的效率。改进设想:1. 频率精度:随着M值的增加会导致波形失真,可以试着给每个M值对应的N值。2. 可扩展性:通过接口模块,可以控制整个系统输出不同的波形。八、参考文献1张洪润,张亚凡FPGA/CPLD应用设计200例.上册北京航空航天大学出版社2009.1九、附录1.接口模块: library IEEE;use IEEE.STD

9、_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity interface isport(reset:in std_logic ;clk:in std_logic;clk_en:in std_logic;address:in std_logic_vector(1 downto 0);dataBus:in std_logic_vector(9 downto 0); fclk:out std_logic;M:out std_logic_vector(9 downto 0);phase:o

10、ut std_logic_vector(9 downto 0); error:out std_logic;ddsen:out std_logic);end interface;architecture behave of interface issignal div_reg: std_logic_vector(2 downto 0);signal temp :std_logic;signal m_reg: std_logic_vector(9 downto 0);signal phase_reg: std_logic_vector(9 downto 0);signal ddsen_reg: s

11、td_logic :=0;signal error_reg: std_logic;beginp1:process(clk)beginif(reset=0)then div_reg=000; m_reg=0000000000; phase_regdiv_regm_regphase_regddsen_regerror_reg=1;end case;end if;end process p1;div_frequency:process(clk,clk_en)variable count :integer range 0 to 9999; variable flag :integer;begin if(clk_en=0)then tempflag:=2;when 001=flag:=5;when 010=flag:=10;when 011=flag:=20;when 100=flag:=50;when 101=flag:=100;when 110=flag:=200;when 111=flag:=500;end case;if(count=flag)then

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号