DDS函数信号发生器的设计与实现 第2页
图2 DDS原理图
图2中,fc为时钟频率,K为频率控制字,N为相位累加器的字长,m为ROM地址线位数,n为ROM数据线宽度(一般也为D/A转换器的位数),f0为输出频率。相位累加器由加法器和D触发器级联组成。在时钟脉冲fc的控制下,对输入频率控制字K进行累加,累加满量时产生溢出。相位累加器的输出对应于该时刻合成周期信号的相位,并且这个相位是周期性的,在0~2π范围内变化。相位累加器位数为N,最大输出为2N-1,对应于2π的相位,累加一次就输出一个相应的相位码,通过查表得到正弦信号的幅度,然后经D/A转换器转换为模拟信号,由低通滤波器滤除杂散波和谐波以后,输出一个频率为f0的正弦波。输出频率f0由fc和K共同决定。当频率控制字为K时,相位累加器的增量步长为K,经过2N/K次累加,相位累加器满量溢出,完成一个周期动作,输出频率f0与时钟频率fc之间的关系满足f0=Kfc/2N ,从而,DDS的最小频率分辨率Δfmin可达Δfmin =f0/2N 。
图3 相位累加器位宽和采样点关系
3 DDS的特点
DDS具有以下特点:
(1)频率分辨率高。DDS的频率分辨率在fc固定时,取决于相位累加器的位数N,只要N足够大,理论上就可以获得相应的分辨精度,这是传统方法难以实现的。
(2)频率变换速度快。在DDS中,一个频率的建立时间通常取决于滤波器的带宽。影响因素为相位累加器,ROM内的工艺结构,D/A转换器及其它信号处理过程中可能产生的时延。其中,信号处理的时延与时钟周期相关。由于DDS中不要相位反馈控制,频率建立及切换快,与频率分辨率、频谱纯度相互独立,明显优于PPL。
(3)DDS中相位改变是线性过程。数字相位累加器是优良的线性数字增值发生器。因此,DDS的相位误差主要依赖于时钟的相位特性,相位误差小。另外,DDS的相位是连续变化的,形成的信号具有良好的频谱特性,这是传统的直接频率合成方法所无法实现的。
(4)输出频率范围宽。理论上,DDS输出的频率范围在0~fc/2,实际上,考虑到低通滤波器的设计,为40%fc,而FPGA的时钟频率可达到100MHz,因此,利用FPGA,可以实现输出频率范围很宽的正弦信号。
4 DDS的FPGA实现
DDS函数信号发生器的内核VHDL源码参见附录:DDS.rar其顶层原理如图4下所示:
图4 DDS.vhd顶层原理图
DDS函数信号发生器的内核与单片机联接采用SPI总线方式。由于单片机作为主控器DDS内核作为被控对象,所以接口可定义为SCLK,MOSI,CS三线结构。数据格式采用串行40bit,高32bit作为频率控制字或相位控制字,低8bit作为指令译码,自行决定其功能。
5 基于DDS的数字移相信号发生器
6 图5基于DDS的数字移相信号发生器参考模型
四、 总结设计及调试的体会
这一星期的课程设计,学会了DDS函数信号发生器内核和利用89S51单片机最小系统的应用,懂得了如何综合应用单片机定时器、中断、数码显示等。
在这个过程中,我们遇到了许多麻烦,但是在于同学的交流中,我们解决了许多难题。同时也对DDS信号发生器的具体应用有了切实的体会。虽然在这其中由于我平时的积累不够,困难还是很大的,但是只要有耐心和细心,一切的困难都可以解决的!
五、 附录(包括系统电路图、元器件清单、应用程序清单和参考资料)
1、DDS原理图
上一页 [1] [2] [3] [4] [5] 下一页
DDS函数信号发生器的设计与实现 第2页下载如图片无法显示或论文不完整,请联系qq752018766