欢迎来到天天文库
浏览记录
ID:56143045
大小:896.00 KB
页数:14页
时间:2020-03-17
《VHDL语言正弦波信号发生器EDA实训研究分析报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、个人收集整理仅供参考学习EDA实训报告学生姓名:XXX学号:XXXXXXXXXXXX学院:理工学院专业:电子科学与技术题目:基于FPGA地正弦波发生器指导教师:安国臣2013年1月14/14个人收集整理仅供参考学习课程设计成绩评定表学生姓名XXX学号0XXXXX成绩专业班级电子科学与技术起止时间设计题目基于FPGA地正弦波发生器指导教师评语指导教师:安国臣年月日基于FPGA地正弦波发生器14/14个人收集整理仅供参考学习摘要:本设计结合了EDA技术和直接数字频率合成(DDS)技术.EDA技术是现代电子设计技术地核心,是以电子系统设计为应用方向地电子产
2、品自动化地设计技术.DDS技术则是最为先进地频率合成技术,具有频率分辨率高、频率切换速度快、相位连续、输出相位噪声低等诸多优点.b5E2RGbCAP本文在对现有DDS技术地大量文献调研地基础上,提出了符合FPGA结构地正弦信号发生器设计方案并利用MAXPLUSⅡ软件进行了设计实现.文中介绍了EDA技术相关知识,同时阐述了DDS技术地工作原理、电路结构,及设计地思路和实现方法.经过仿真测试,设计达到了技术要求.p1EanqFDPw关键词:现场可编程门阵列(FPGA);直接数字频率合成(DDS);正弦波信号发生器一、DDS地基本原理正弦波信号发生器是由地
3、址发生器和正弦波数据存储器ROM两块构成,输入为时钟脉冲,输出为8位二进制.1.地址发生器地原理地址发生器实质上就是计数器,ROM地地址是6位数据,相当于64位循环计数器.2.只读存储器ROM地设计(1)、VHDL编程地实现①基本原理:为每一个存储单元编写一个地址,只有地址指定地存储单元才能与公共地I/O相连,然后进行存储数据地读写操作.DXDiTa9E3d②逻辑功能:地址信号地选择下,从指定存储单元中读取相应数据.直接数字频率合成器(DDFS)地基本原理:DDS是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在EPROM中构成一
4、个正弦查询表,通过查表法产生波形.它是由参考时钟、相位累加器、正弦查询表和D/A转换器组成,如图1所示.RTCrpUDGiT图1直接数字频率合成器原理框图14/14个人收集整理仅供参考学习相位累加器由N位加法器与N位累加寄存器级联构成,其原理框图如图2所示.每来一个时钟脉冲Fc,N位加法器将频率控制数据K与累加寄存器输出地累加相位数据相加,把相加后地结果Y送至累加寄存器地输入端.累加寄存器一方面将在上一时钟周期作用后所产生地新地相位数据反馈到加法器地输入端,以使加法器在下一时钟地作用下继续与频率控制数据K相加;另一方面以相加后地结果形成正弦查询表地地
5、址,取出表中与该相位对应地单元中地幅度量化正弦函数值,作为取样地址值送入幅度/相位转换电路.这样就可把存储在波形存储器内地波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换.波形存储器地输出送到D/A转换器,D/A转换器将数字量形式地波形幅值转换成所要求合成频率地模拟量形式信号.5PCzVD7HxA图2相位累加器原理框图由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出地数据就是合成信号地相位.当相位累加器加满量时就会产生一次溢出,溢出频率就是DDS输出地信号频率.jLBHrnAILg相位累加器地最大计数长度与
6、正弦查询表中所存储地相位分隔点数相同,在取样频率(由参考时钟频率决定)不变地情况下,由于相位累加器地相位增量不同,将导致一周期内地取样点数不同,输出信号地频率也相应变化.如果设定累加器地初始相位,则可以对输出信号进行相位控制.由采样原理可知,如果使用两个相同地频率合成器,并使其参考时钟相同,同时设定相同地频率控制字、不同地初始相位,那么在原理上就可以实现输出两路具有一定相位差地同频信号.xHAQX74J0X二、设计方案1.基于VHDL编程地设计在地址信号地选择下,从指定存储单元中读取相应数据系统框图如下:14/14个人收集整理仅供参考学习2、总体设计
7、框图信号发生器结构框图三、原理图1、顶层原理图四、VHDL编程地实现1、顶层文件libraryieee;14/14个人收集整理仅供参考学习useieee.std_logic_1164.all;entitysinisport(clk:instd_logic;b:instd_logic_vector(15downto0);qout:outstd_logic_vector(6downto0);sel_out:outstd_logic_vector(3downto0);q:outstd_logic_vector(7downto0));end;architec
8、turebhvofsiniscomponentsineport(clk:instd_logic;div_se
此文档下载收益归作者所有