相位累加器由一个N位字长的加法器和N位累加寄存器级联而成,加法器可对频率字输入的二进制码进行累加运算,累加寄存器是典型的反馈电路,产生的累加结果作为正弦ROM查找表的下一个取样地址值,把从波形表中取出的数据送到D/A转换器进行转换,最后经过滤波电路输出正弦信号。相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相同,由于相位累加器的相位增量不同,将导致一周期内的取样点数不同,这样输出信号的频率也相应变化(实现变频)。如果设定累加器的初始相位,则可以对输出信号进行相位控制。由采样原理可知,如果使用两个相同的频率合成器,并使其参考时钟相同,同时设定相同的频率字输入、不同的初始相位,那么在原理上就具备了实现输出两路具有一定相位差的同频信号的可能性,有效地解决了在一般通信信道中存在的相位不同步问题,这也是DDS技术的显著优点。
基本DDS常用参量计算公式,输出频率为;频率分辨率为;频率字输入为;相位分辨率,即相位最小步进为。其中,B△θ是相位增量(频率字);fout是信号输出频率;fclk是时钟频率:D是杏找表的地址宽度。
只要对相位的量化值进行累加运算,就可得到正弦信号的当前相位值;而用于累加的相位增量量化值B△θ决定了信号的输出频率fout,并呈现简单的线性关系。直接数字频率合成技术就是根据上述原理而设计的数字控制频率合成器。
2 系统硬件电路设计
2.1 AD9850芯片介绍
AD9850是美国AD公司生产的高集成度DDS芯片,采用CMOS工艺,其功耗在3.3 V供电时仅为155 mW,扩展工业级温度范围为-40~80℃,采用28引脚的SSOP表面封装形式。该芯片组成原理,如图2所示,内层虚线内是一个完整的可编程DDS系统,外层虚线内包含了AD9850的主要组成部分。AD9850内含可编程DDS系统和高速比较器,能实现全数字编程控制的频率合成。
在125 MHz的系统时钟下,AD9850中32位的频率字输入可使输出信号的频率分辨率达到0.029 Hz,并具有5位的相位字输入,允许相位按增量180°,90°,45°,22.5°,11.25°或这些值的组合进行调整。芯片对输入的标准正弦波,进行直接数字合成。输入信号频率最高为fclk=125 MHz,可生成0~fclk/2范围内的任意频率的正弦波和方波。AD9850在接上时钟电路之后,就可以产生一个频率和幅值都可编程控制的模拟正弦波输出,此正弦波可直接用作信号发生器,或者经过内部的高速比较器转换为方波输出。
2.2 硬件电路设计
该信号发生系统是以单片机AT89S52为控制器,以DDS芯片AD9850为核心,通过单片机控制功能芯片来实现频率预置、控制字设置等产生相应的信号输出。AD9850实现信号发生器功能,微处理器控制D/A转换器,实现各种信号幅值的可调性。整个信号发生系统的硬件电路主要由单片机及外围控制电路、正弦信号发生器功能电路、积分电路、滤波电路和检测电路等5部分组成,系统框图,如图3所示。其中键盘采用4×4矩阵式,主要用以设置频率和幅值;波形采用LCDl602液晶显示;LPF低通滤波和积分电路都采用模拟集成芯片LM324实现。
3 系统软件设计
系统软件设计采用汇编语言与C语言相结合来编写程序,这样不但提高程序对电路硬件的可控制性,同时也增加了程序的可读和可移植性。软件模块包括主程序(AT89S52初始化、AD9850初始化、LCDl602初始化)、显示子程序、键盘输入子程序、信号发生与控制子程序4部分组成。信号发生器系统主程序流程,如图4所示。