本文为明德扬原创及录用文章,转载请注明出处!
作者:造就狂野青春
1.1 总体设计
1.1.1 概述
学习了明德扬至简设计法和明德扬设计规范,本人设计了一个基于FPGA的可调频调相而且可以输出不同波形的DDS信号发生器。该信号发生器实现了通过按键控制输出不同类型的波形,并可以通过按键改变波形频率和初始相位。将此设计与明德扬的波形采集设计相结合,可以实现示波器功能,并且还可拓展实现波形频率计算、峰峰值计算、频谱分析等功能,有很大的设计空间。同时本设计以及其扩展功能在现实生活中也具有比较广泛的应用。在本案例的设计过程中,包含了按键定义和消抖、计数器、ROMIP的应用等技术。经过逐步改进、调试等一系列操作之后,完成了此设计,下面将完整的设计记录与大家分享。
1.1.2 设计目标
此设计可以通过按键进行波形类型的切换,并且波形的频率还可以进行改变,具体需求如下:
1)按键1按下时可以改变波形的类型,实现波形的切换,顺序为正弦波、锯齿波、三角波;
2)按键2按下时可以改变波形的频率,每按下一次,频率增大2倍,达到一定值后跳回初始频率值,以此循环;
3)按键3按下时可以改变波形的初始相位,每按下一次,初始相位加30,达到一定值后跳回初始相位值,以此循环。
1.1.3 系统结构框图
系统结构框图如下所示:
1.1.4 模块功能
按键模块实现功能
将外来异步信号打两拍处理,将异步信号同步化;
实现20ms按键消抖功能,并输出有效按键信号。
DDS模块实现功能
通过有效按键信号实现切换波形类型、改变波形频率、调整波形初始相位;
从ROM中读取波形数据并输出按键控制下的波形数据。
1.1.5 信号定义
顶层模块mdy_DDS.v