摘 要:直接数字频率合成(dds)是近年来发展非常迅速的一种新型频率合成技术,它具有频率分辨率高、相位噪声低、频率转换时间短等特点。首先简要介绍dds的工作原理及其性能,然后主要阐述如何利用ad9851芯片设计一个高精度直接数字式合成频率源。
关键词:直接数字式频率合成;ad9851;频率分辨率;相位噪声
随着现代电子技术的发展,在通信、雷达、宇航、仪表、电视广播、遥控遥测和电子测量仪器等应用领域,稳定度的晶体振荡器,其输出信号作为dds合成频率的基准频率,同时保证dds中各部件同步工作,频率控制字fcw来自计算机系统,它用来控制相位累加器的累加次数,从而改变输出频率fo的高低。dds的工作实质是以参考频率源对相位进行等可控间隔的采样。
由于:f=ω/2π=δθ/2π×δt,其中δθ为一个采样间隔δt之间的相位增量,采样周期δt=1/fr,即:f=δθ×fr/(2×π),控制δθ,就可以控制不同的频率输出。δθ由频率控制字fcw控制:δθ=fcw×2π/2n(n为相位累加器的字长),改变fcw可得到不同的频率输出fo:
dds中输出滤波器采用lpf。由于dds合成信号是正弦波时,d/a输出的信号中有许多不需要的寄生谱分量,只有基波分量才是所需要的,因此在d/a之后需跟一个低通滤波器。nyquist准则允许输出频率最高为fr/2,即fcw≤2n-1,但实际中受lpf的限制,一般:
dds的主要优点是频率分辨率高,由式(2)可知,它的频率分辨率(即精度)由相位累加器的位数n决定;由式(3)可以看出,dds的工作频带较宽,可合成从直流到0.4fr的频率信号;同时它的输出相位连续,频率稳定度高。
2 一种高精度直接数字式频率合成器的设计
ad9851芯片是ad公司采用先进cmos技术生产的最高时钟为180mhz、高集成度直接数字式频率合成器件。它由一个高速dds,一个高速、高性能dac以及比较器等构成一个完全数字控制可编程频率合成器,其时钟输入端内置一个6倍频乘法器,并且具有时钟产生功能。ad9851的原理框图如图2所示,可将其用作一个高精度可编程的数字频率合成器和时钟生成器。当参考时钟源的频率精度很高时,其输出数字化的模拟正弦波的频率和相位都很稳定,生成的正弦波经滤波后可直接用作频率源,也可通过内部的比较器转换成方波作时钟源。
ad9851的参考时钟输入可采用温补石英晶体振荡器提供,编程启用ad9851内含的6倍频率乘法器。其所需控制字、频率控制字fcw以及相位控制字等数据由pc机通过pci(peripheralcomponentintercon-nect,即外围部件互连)总线以并行或串行异步方式提供,在pci总线与ad9851之间利用pci专用芯片组或pld进行输入数据缓冲,ad9851的输出需经lpf滤波器滤波。系统总体原理框图如图3所示。
ad9851共包含40位控制码(d39~d0),其作用是:(1)d39、d38用来控制ad9851数据输入的模式。ad9851的数据输入模式分为两种:并行输入模式和串行输入模式。在并行输入模式下,模式控制码为“00”,由数据输入端d0~d7每次8bits分数次输入频率控制字。在串行输入模式下,模式控制码为“11”。由数据输入端d7每次1bit依次输入频率控制字。(2)d37用来调节ad9851输出的功率。(3)d36~d32相位调制码,用来控制ad9851的相位调制量。(4)d31~d0,用来控制ad9851输出的频率。这32位频率控制码是由输入的频率值转换过来的。具体转换关系为δphase=fo/(refclk/232)。
ad9851中的dds内核所需输入控制字由pc机提供。在进行频率控制时,首先送入相位调制码、功率调节码和输入模式控制码,然后送入32bits频率控制码。本系统中以软件方式设置ad9851工作在并行数据输入模式。系统启动后,用户从键盘输入所需信号的频率值、初始相位值以及置ad9851的工作模式的控制字,计算机将频率值根据公式δθ=fo/(ref-clk/232)转换为频率相位控制字,将初始相位值按照公式phase=phasein/11.25°转换为相位调制字,准备送往ad9851频率控制输出板。在传输数据之前,计算机先向系统端口产生一个reset上升沿信号,并延时7ns,使系统复位,再依次传输一个8bits的相位调制和置ad9851工作模式码以及32bits的频率控制码。每传输一次8bits的控制码后,需由软件产生一个有效的w_clk上升沿信号,将控制码送入ad9851输入数据寄存器中,重复五次后即可将40bits的控制码全部加载到ad9851内部的数据寄存器中,最后产生一个有效的fq_ud上升沿信号,将40bits的控制码全部加载到ad9851中的dds频率合成单元中,经过13到18个时钟周期后,就可以获得所需要的频率输出信号。
主程序流程图如图4所示,包括:系统初始化,由用户输入所需的频率值,判断输入的频率值是否超出系统所限制的范围,由计算机完成输入频率值到ad9851所需频率/相位控制码的转换,通过pci扩展口将频率