FPGA初级课程第十七讲 任意波形发生器DDS
FPGA初级课程第十七讲 任意波形发生器DDS
Hi,大家好!我是至芯科技的李老师。
今天讲课的题目是:任意波形发生器DDS。
本节课我先简要地介绍一下任意波形发生器DDS的基本概念,然后结合第十六讲 ROM实际演示一下任意波形发生器DDS逻辑电路的建模与仿真,并通过仿真查看效果。
我们打开至芯科技编写的《至芯科技DDS课件.pdf》文档。
项目描述:
通过本实验的学习,我们要掌握以下几点
• DDS波形发生器的原理
• 片内ROM的用法
• 学会产生各种波形、相位、频率可调的信号发生器
掌握要求:
学会DDS产生波形的基本原理以及代码实现方法
一、实验原理
DDS是直接数字式频率合成器(Direct Digital Synthesizer)的英文缩写。与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在电信与电子仪器领域,是实现设备全数字化的一个关键技术。
1)什么是波形发生器?
波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常。加入的信号有:正弦波、三角波、方波和任意波形等等。
2)什么是相位可调?
相位(phase)是对于一个波,特定的时刻在它循环周期中的位置:一种它是否在波峰、波谷或它们之间的某点的标度。相位描述信号波形变化的度量,通常以度 (角度)作为单位,也称作相角。 当信号波形以周期的方式变化,波形循环一周即为360°。那么相位可调也可以简单的理解为:改变初始相位(时间轴上位置)。
3)什么是频率可调?
频率,是单位时间内完成周期性变化的次数,是描述周期运动频繁程度的量,常用符号f或ν表示,单位为秒分之一,符号为s-1。频率可调也就是改变单位时间内完成周期性变化的次数。
二、实验任务
设计一个相位和频率可调的波形(正弦波)发生器。
三、实验步骤
1)系统框架
我们应该先把完整的波形数据放在rom里面,然后用一个控制器把rom里面的数据读出来,设计架构图如下:
2)波形数据的由来
我们应用Mif_Maker2010(mif文件生成软件)来生成我们的波形数据。
新建工程文件夹dds。
打开Quartus II软件,打开新工程向导。
新建逻辑模块dds.v。
搭建逻辑框架。
module dds (clk, rst_n, num);
input clk, rst_n;
output num;
endmodule
在用IP核管理器生成ROM的逻辑之前,我们需要先建立数据初始化文件.mif文件。
这里我们要生成正弦波形的.mif文件。
我们使用Guagle_wave_波形Mif文件生成工具Mif_Maker2010.exe文件生成一个256点且分辨率为8位(对应幅值256)的正弦波形.mif文件。
第一步:打开Mif_Maker2010。
第二步:选择你想要的波形(本次实验设定波形为正弦波) 。
第三步:设置全局参数。
全局参数设置对话框。
确认数据长度为256,数据位宽为8,初始相位0度,数据格式为无符号10进制数,采样频率为1000。
点击确定。