**这是本文档旧的修订版!**

=====波形信号发生器设计=====

实验任务

  • 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成波形信号发生器设计并观察调试结果
  • 要求:通过底板上的旋转编码器控制串行DAC芯片DAC081S101基于DDS技术产生波形可选、频率可调的常见波形信号。
  • 解析:FPGA驱动旋转编码器得到操作信息,通过逻辑控制波形和频率寄存器,设计DDS模块根据波形和频率寄存器控制波形数据的输出,波形数据通过串行DAC驱动模块传送到底板的DAC芯片进行转换,得到波形信号输出。

实验目的

前面章节我们学习了旋转编码器的工作原理及驱动方法,本实验主要学习DDS技术的原理及实现,IP核rom模块的例化使用,串行DAC芯片DAC081S101的驱动设计。

  • 学习数模转换器DAC的相关知识
  • 串行(SPI接口)DAC芯片DAC081S101的驱动设计
  • 学习DDS技术的原理及实现
  • 完成波形信号发生器设计实现

设计框图

根据前面的实验解析我们可以得知,该设计总体可以拆分成如下功能模块实现,

  • Debounce:给旋转编码器按键功能输出进行消抖
  • Encoder:旋转编码器旋转功能驱动
  • logicctrl:根据旋转编码器的操作信息控制波形选择和频率控制寄存器 * DDS:直接数字式频率合成器的实现,根据波形选择和频率控制信息产生波形数据 * rom:波形数据存储器,存储正弦波波表数据 * DAC081S101driver:驱动SPI接口DAC芯片实现数模转换。

Top-Down层次设计 模块结构设计

实验原理

DAC及DDS介绍

DAC模块电路连接

DAC模块驱动设计

DDS设计实现

系统总体实现

实验步骤

  1. 双击打开Quartus Prime工具软件;
  2. 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);
  3. 新建文件:File → New → Verilog HDL File,键入设计代码并保存;
  4. 设计综合:双击Tasks窗口页面下的Analysis & Synthesis对代码进行综合;
  5. 管脚约束:Assignments → Assignment Editor,根据项目需求分配管脚;
  6. 设计编译:双击Tasks窗口页面下的Compile Design对设计进行整体编译并生成配置文件;
  7. 程序烧录:点击Tools → Programmer打开配置工具,Program进行下载;
  8. 观察设计运行结果。

实验现象