一种基于FPGA的正弦波信号发生器的设计
3.2 ROM查询表的实现
本文设计的ROM查询表寻址范围为256,数据为8bit。ROM查询表如图7所示,输出q[7…O]需与D/A转换器的输入相连。ROM查询表的输出为8位,因此与D/A转换芯片的分辨率相匹配。本文引用地址:https://www.eepw.com.cn/article/191487.htm
ROM查询表的设计有很多种方法。定制ROM查询表需要在软件Quartus中载入.mif或.hex文件,这两种文件可由多种工具获得,如Quart-us的Text File编辑器、Matlab、DSP Builder、vc++编译器、Keil编译器等工具。本文选用Matab得到正弦波数字幅度值的.mif文件。Matl-ab程序如下:
由于此时生成的.mif文件不符合Quartus中所需载入的.mif格式,还需要对其进行修改。修改格式如下:
最后通过载入此.mif文件,就可获得如图7所示的ROM查询表。
4 系统测试
硬件调试完成后,我们对系统的整体功能进行了测试,并且与Matlab的仿真结果进行了比较。用示波器观测试验波形如图8所示。系统的测试结果表明,输出波形状态良好,未出现明显失真。
5 结束语
本文介绍的这种基于FPGA的DDS正弦波信号发生器,具有电路结构简单、工作频率稳定度高、频率调整精度高等特点。并且,此方法同样适用于三角波、方波等其他任意波形的实现。若要产生某特定波形,只需先用地Matlab对波形曲线采样生成相应的.mif文件,然后载入ROM查询表中,其他硬件不变即可产生所需信号。因此,该设计也可以直接拓展到其他测试领域的电路中。
评论