图11 4种滤波器性能比较
4. 仿真结果及硬件验证
本设计的仿真和硬件验证主要围绕以FPGA为核心的DDS信号输出和控制模块进行。本设计采用MATLAB软件进行仿真测试,Quartus II可将设计者提供的时序波形文件(.vwf)保存为仿真基准文件(.tbl)格式的波形文件,以此波形文件进行仿真。
4.1 Quartus II波形仿真图
通过Quartus II波形仿真如图12、13所示。由图12、13可知,在时钟频率不变的情况下,改变频率控制字时,DDS系统输出波形的相位是连续的,而且频率变化的速度很快。
图14是频率控制字为02H正弦波时序仿真图,从方波到正弦波,只需改变ROM中存储的波形数据,即改变存储模块data_rom中的.mif文件,而没有改变其它电路部分,如果要得到其它任意波的波形,也只需做相同的操作,这说明波形发生器实现了任意波发生的功能。
图12 频率控制字为02H方波波时序仿真图
图13 频率控制字为82H方波时序仿真图
图14 频率控制字为02H正弦波时序仿真图
4.2 MATLAB中的波形图
由于在Quartus II仿真波形中出现的都是十优尔进制代码,观察起来并不直观,所以通过MATLAB软件将波形仿真结果转换为波形曲线,得到一个直观的波形。图15,16为用MATLAB仿真测试显示的方波波形。
图15 用MATLAB仿真测试频率控制字为02H显示的方波波形
为了更加直观的观察频率控制字对输出频率的影响,这里通过改变方波的频率控制字,即以时序仿真的频率控制字为基准进行验证,使频率控制字由02H改变为82H,从图15到图16,较为明显的观察出,频率控制字越小,输出信号的周期越大,即输出频率越小。
上述MATLAB仿真测试结果验证了,在输入时钟频率不变的情况下,通过改变频率控制字FWORD,可以控制输出频率的大小,这也就说明了采用DDS技术可以输出任意频率的波形信号。
从图17到图21,改变波形存储模块data_rom中的.mif文件,依次载入正弦波、三角波、锯齿波、梯形波和用户自定义的波形采样数据,通过MATLAB软件进行显示波形。通过仿真测试之后波形的显示情况,基于FPGA的波形发生器已经实现了输出任意波形的功能。
图16 用MATLAB仿真测试频率控制字为82H显示的方波波形
图17 用MATLAB仿真测试频率控制字为02H显示的正弦波波形
图18 用MATLAB仿真测试频率控制字为02H显示的三角波波形
图19 用MATLAB仿真测试频率控制字为02H显示的锯齿波波形
图20 用MATLAB仿真测试频率控制字为02H显示的梯形波波形
图21 用MATLAB仿真测试频率控制字为02H显示的用户自定义波形
从上述波形仿真测试的结果中,可以明显看出波形受到了一定程度的干扰,这种干扰的形成存在多方面因素的影响,可能有算法的选择、采样的点数及精确度、程序书写的精确与简练程度、以及输入时钟脉冲频率的选择等方面原因,具体情况有待继续深入研究。
4.3 硬件验证
本设计选用以Altera公司的CycloneII系列中的EP2C5T144C8为主控芯片,在完成引脚锁定工作之后,需要将顶层文件实体通过编译后产生的SOF格式配置文件配置进FPGA中,进行硬件验证。首先需要打开编辑窗口选择编程模式,本设计采用默认方式JTAG,直接对FPGA进行配置。其次,在编程前必须进行编程器选择操作,在Hardware Setup对话框中选择USB-Blaster。最后下载SOF文件,选择Program/ Configure项,单击下载标符Start,进入对目标器件FPGA的配置下载操作。 基于FPGA的任意波形发生器设计+电路图+仿真图(7):http://www.youerw.com/tongxin/lunwen_508.html