**这是本文档旧的修订版!**
=====波形信号发生器设计=====
实验任务
- 任务:基于 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芯片实现数模转换。
实验原理
DAC及DDS介绍
DAC模块电路连接
DAC模块驱动设计
DDS设计实现
系统总体实现
实验步骤
- 双击打开Quartus Prime工具软件;
- 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);
- 新建文件:File → New → Verilog HDL File,键入设计代码并保存;
- 设计综合:双击Tasks窗口页面下的Analysis & Synthesis对代码进行综合;
- 管脚约束:Assignments → Assignment Editor,根据项目需求分配管脚;
- 设计编译:双击Tasks窗口页面下的Compile Design对设计进行整体编译并生成配置文件;
- 程序烧录:点击Tools → Programmer打开配置工具,Program进行下载;
- 观察设计运行结果。