DDS(DiFeet Digital Frequency Synthesis)即直接数字式频率合成,是从相位概念出发直接合成所需波形的一种频率合成技术。与传统信号源所采用的用模拟方式生成信号不同,它是将先进的数字信号处理理论与方法引入信号合成领域。DDS技术在精确度、灵活度等方面都超过模拟信号发生器。并且DDS可实现相位连续变化,且具有良好频谱的信号,这是传统方法无法实现的。
FPGA的迅速发展为DDS提供了更加优良的技术手段,它具有处理速度快、可靠性高等特点。SOPC(System On Programmable Chip,片上可编程系统)是一种灵活、高效的SOC解决方案。它以IP Core为基础,将处理器、存储器、IO口等系统设计需要的功能模块集成到一个FPGA器件上,构建成一个可编程的片上系统,具有灵活的设计方式。本设计综合以上软硬件可编程协同设计技术,使得DDS电路在灵活性,可行性,精确性等方面得到很大提高。
由以上代码生成的.mif文件即可存E盘目录下找到,将.mif文件加载到ROM中,实现对ROM的初始化。
3.2 累加控制模块
累加控制模块如图3所示,为了实现波形选择性输出,本设计在累加控制部分增加了选择器,即图3的sel模块,作为系统寻址地址的高两位,实现对波形查找表的范围选择功能。累加器Altaccumulate0的输出做为累加控制模块的低32位的输出,实现在指定范围内对查找表进行寻址。此设计方法相当于做了一个多路数据选择器。四位拨扭开关作为sel模块的输入控制,将寻址地址转换成所需波形首地址,即可实现对波形选择的控制。Adder模块将sel和Altaccumulate0模块输出进行位拼接运算。其部分代码如下:
always@(posedge clk)
begin
addr<={q,32’b0}+{2’b0,result};
end
设计中为了节省ROM的容量而采用相位截断的方法,取累加器输出的高十位作为ROM的寻址地址来进行查表。