基于vhdl语言正弦波信号发生器--eda实训报告-

基于vhdl语言正弦波信号发生器--eda实训报告-

ID:3155448

大小:903.00 KB

页数:13页

时间:2017-11-20

基于vhdl语言正弦波信号发生器--eda实训报告-_第1页
基于vhdl语言正弦波信号发生器--eda实训报告-_第2页
基于vhdl语言正弦波信号发生器--eda实训报告-_第3页
基于vhdl语言正弦波信号发生器--eda实训报告-_第4页
基于vhdl语言正弦波信号发生器--eda实训报告-_第5页
资源描述:

《基于vhdl语言正弦波信号发生器--eda实训报告-》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、EDA实训报告学生姓名:XXX学号:XXXXXXXXXXXX学院:理工学院专业:电子科学与技术题目:基于FPGA的正弦波发生器指导教师:安国臣2013年1月13课程设计成绩评定表学生姓名XXX学号0XXXXX成绩专业班级电子科学与技术起止时间设计题目基于FPGA的正弦波发生器指导教师评语指导教师:安国臣年月日13基于FPGA的正弦波发生器摘要:本设计结合了EDA技术和直接数字频率合成(DDS)技术。EDA技术是现代电子设计技术的核心,是以电子系统设计为应用方向的电子产品自动化的设计技术。DDS技术则是最为先进的频率合成技术,具有频率分辨率高、频率切换速度快、相位连续、

2、输出相位噪声低等诸多优点。本文在对现有DDS技术的大量文献调研的基础上,提出了符合FPGA结构的正弦信号发生器设计方案并利用MAXPLUSⅡ软件进行了设计实现。文中介绍了EDA技术相关知识,同时阐述了DDS技术的工作原理、电路结构,及设计的思路和实现方法。经过仿真测试,设计达到了技术要求。关键词:现场可编程门阵列(FPGA);直接数字频率合成(DDS);正弦波信号发生器一、DDS的基本原理正弦波信号发生器是由地址发生器和正弦波数据存储器ROM两块构成,输入为时钟脉冲,输出为8位二进制。1.地址发生器的原理地址发生器实质上就是计数器,ROM的地址是6位数据,相当于64位

3、循环计数器。2.只读存储器ROM的设计(1)、VHDL编程的实现①基本原理:为每一个存储单元编写一个地址,只有地址指定的存储单元才能与公共的I/O相连,然后进行存储数据的读写操作。②逻辑功能:地址信号的选择下,从指定存储单元中读取相应数据。直接数字频率合成器(DDFS)的基本原理:DDS是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在EPROM中构成一个正弦查询表,通过查表法产生波形。它是由参考时钟、相位累加器、正弦查询表和D/A转换器组成,如图1所示。13图1直接数字频率合成器原理框图相位累加器由N位加法器与N位累加寄存器级联构成,其原理框图如

4、图2所示。每来一个时钟脉冲Fc,N位加法器将频率控制数据K与累加寄存器输出的累加相位数据相加,把相加后的结果Y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据K相加;另一方面以相加后的结果形成正弦查询表的地址,取出表中与该相位对应的单元中的幅度量化正弦函数值,作为取样地址值送入幅度/相位转换电路。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频

5、率的模拟量形式信号。图2相位累加器原理框图由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。当相位累加器加满量时就会产生一次溢出,溢出频率就是DDS输出的信号频率。相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相同,在取样频率(由参考时钟频率决定)不变的情况下,由于相位累加器的相位增量不同,将导致一周期内的取样点数不同,输出信号的频率也相应变化。如果设定累加器的初始相位,则可以对输出信号进行相位控制。由采样原理可知,如果使用两个相同的频率合成器,并使其参考时钟相同,同时设定相同的频率控制字、不同的

6、初始相位,那么在原理上就可以实现输出两路具有一定相位差的同频信号。二、设计方案1.基于VHDL编程的设计在地址信号的选择下,从指定存储单元中读取相应数据13系统框图如下:2、总体设计框图信号发生器结构框图三、原理图1、顶层原理图13四、VHDL编程的实现1、顶层文件libraryieee;useieee.std_logic_1164.all;entitysinisport(clk:instd_logic;b:instd_logic_vector(15downto0);qout:outstd_logic_vector(6downto0);sel_out:outstd_l

7、ogic_vector(3downto0);q:outstd_logic_vector(7downto0));end;architecturebhvofsiniscomponentsineport(clk:instd_logic;div_set:instd_logic_vector(15downto0);qout:outstd_logic_vector(7downto0));endcomponent;componentseg_outport(ins:instd_logic_vector(3downto0);outs:outstd_logic_vect

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。