一、实验目的
本实验基于 Intel Altera Cyclone IV EP4CE6F17C8N 开发板与 Verilog HDL 语言设计简易数据采集系统。该系统需要实现 DDS 正常产生波形,通过 DAC 与 ADC 转换后的波形数据一致。为实现该目的,需进行的操作细则如下:
- 查阅资料,理解并掌握 DDS 运行原理。
- 阅读 ADC 和 DAC 芯片手册理解芯片工作原理及时序要求。
- 进行模块化程序设计,独立进行各个模块的代码设计和仿真调试,完成各个模块设计之后,再进行模块互联,最后测试模块互联后的顶层程序功能是否与预期设计一致。
- 板级测试,将通过仿真调试的程序烧录到开发板上,用 Signal Tap 联合调试,抓取输入与输出的波形数据,观察二者是否一致。
二、实验原理
本次实验原理将分为理论原理、硬件原理两部分进行阐述。
2.1 理论原理
2.1.1 DDS 基本原理
DDS(Direct Digital Synthesis)是一种用于产生可控制频率的数字信号的技术,由于其易于控制,相位连续,输出频率稳定度高,分辨率高,频率转换速度快等优点,被广泛应用于任意波形发生器。基于 DDS 技术的任意波形发生器用高速存储器作为查找表,通过高速 D/A 转换器来合成出存储在存储器内的波形。所以它不仅能产生正弦、余弦、方波、三角波和锯齿波等常见波形,而且还可以利用各种编辑手段,产生传统函数发生器所不能产生的真正意义上的任意波形。DDS 的实现原理图如下:
首先 ROM 中要存放好要显示的信号数据。然后由频率计数器一直累加,根据这个累加器的值作为 ROM 的地址,然后 DAC 根据 ROM 输出的数据输出相应的电压值,即波形。DDS 可以通过改变频率控制字和相位控制字,控制 ROM 的初始地址和 ROM 地址改变的时间间隔,间接控制输出波形的形状。
2.1.2 SPI 协议原理
SPI(Serial Peripheral Interface)是一种串行外设接口,是一种同步、高速、全双工通信总线,用于在数字系统之间进行通信。SPI 只需要四根端口线即可,能节约引脚,同时有利于 PCB 的布局。正是出于这种简单易用的特性,现在越来越多的芯片集成了 SPI 通信协议,如 FLASH、SD 卡等,本次设计中所使用到的 ADC 和 DAC 芯片也都集成了 SPI 通信协议。一般有四根端口线,分别是:SCLK(同步时钟线)、MOSI(主设备输出/从设备输入线)、MISO(主设备输入/从设备输出线)、CS_N(片选信号)。SPI 主从机通信原理图如下:

SPI 通信的基本原理是,主设备通过在时钟信号的边沿(上升沿或下降沿)上发送数据到 MOSI 线,同时从设备在另一个时钟边沿上将响应数据发送到 MISO 线。通信开始时,主设备选择一个或多个从设备,拉低相应的 SS 线。通信结束后,主设备释放 CS_N 线。
SPI 支持四种通信模式,其通信模式的设置由 CPOL(时钟极性)和 CPHA(时钟相位)来决定的。四种通信模式如下:

CPOL 决定时钟的空闲电平,CPOL=0 时,SCLK 空闲为低电平;CPOL=1 时,SCLK 空闲为高电平。CPHA 决定采样的时钟边沿(奇数沿/偶数沿);CPHA=0,采样的时钟边沿为奇数沿;CPHA=1,采样的时钟边沿为偶数沿。
2.2 硬件原理
2.2.1 DAC 基本原理
DAC 转换基本原理是:将输入的数字量按权的大小,通过电阻网络转化为模拟量,再通过加法电路,转换为与数字量成比例的模拟量。实际上就是二进制转换为十进制的过程。 DAC 基本组成包括,锁存器、电子开关、基准源、权电阻网络和求和电路。各个组件的功能如下表所示:
| 组件 | 功能 |
|---|---|
| 锁存器 | 保存输入的数字量 |




















