研究了几天基于DDS技术的函数信号发生器,断断续续获得了一些收获。 DDS- Direct Digital Frequency Synthesis(直接数字频率合成技术)至于利用DDS制作函数信号发生器的优点我就不说了,百度一下,一切皆了然。这里介绍一下利用Verilog语言编写DDS的思想。当然网上也有很多参考资料,都介绍得不错,也有用单片机做的,不过我觉得利用单片机来做对于低频来说完全没问题,但是对于高频来说就完全没有效果了。首先介绍一下DDS的整体思想:整个DDS的模拟框图如下:其核心就是频率控制,相位控制和相位累加。主要参数有:频率步进精度、相位步进精度、DAC的位数以及滤波器的设计。那么怎么去确定这些参数呢,我个人理解如下: 1.频率步进精度就决定了程序中相位累加器的位数(一般介绍都是取24-32位,但是具体怎么取没有明确给出),同时也要取决于FPGA的时钟(这里以50MHz为例)也就是说采用30位的相位累加器可以达到0.046Hz。根据不同的位数和系统的时钟就可以确定频率的精度了。 2.相位步进:相位步进主要是调解