FPGA+DAC实现DDS信号发生

一、DDS:(Direct Digital Synthesis,直接数字频率合成技术),可用于生成不同频率的、不同波形的信号。在FPGA内部初始化一个ROM,用来保存波形数据,然后按照一定频率将ROM中的数据输出到DAC就行。

二、生成.mif文件,用来初始化ROM

1、生成.mif的方法:

Quartus自带的工具(File--New--Memory Initialization File),或者其他波形生成软件,比如Guagle_wave,

.mif如图1所示。

FPGA+DAC实现DDS信号发生_第1张图片 图1

注:图为用notepad++打开的.mif文件,可用notepad++中的列操作批量修改数据。alt+A+鼠标拖动:选中列;alt+c:在光标列插入数值或字符;

2、生成ROM IP及初始化

创建一个1端口的ROM,如图2所示。

FPGA+DAC实现DDS信号发生_第2张图片 图2

 设置ROM的位宽和深度,如图3所示。

FPGA+DAC实现DDS信号发生_第3张图片 图3

添加之前生成的.mif文件,如图4所示。

FPGA+DAC实现DDS信号发生_第4张图片 图4

 三、在FPGA工程模块中例化ROM,如图5所。.

FPGA+DAC实现DDS信号发生_第5张图片 图5

 四、仿真和实测结果,如图6所示。

FPGA+DAC实现DDS信号发生_第6张图片 图6

注:

1、Modelsim仿真时不能识别.mif文件,可将.mif转换为.hex文件,方法如下:https://blog.csdn.net/weixin_38486204/article/details/88344879

用.mif或者.hex初始化,在生成的ROM文件中都能看到:

FPGA+DAC实现DDS信号发生_第7张图片 图7

2、在仿真时一定确认Quartus生成ROM文件中需要使用的仿真库,在Modelsim中编译了altera_mf--altsyncram才能进行仿真,如图8。

FPGA+DAC实现DDS信号发生_第8张图片 图8

 

 五、工程链接(FPGA工程、仿真文件):

链接://download.csdn.net/download/weixin_38486204/12104785

你可能感兴趣的:(FPGA设计)