精确控制DDS输出信号幅度的一种新方法
扫描二维码
随时随地手机看文章
DDS技术作为一种先进的直接数字频率合成技术,用数字控制的方法从一个频率基准源产生多种频率,具有高可靠性、高集成度、高频率分辨率及频率变化快、控制灵活等特点,在通信与仪表领域得到了广泛的应用。采用DDS芯片制作的信号源,输出信号的频率和幅度都可由微机来精确控制,调节非常方便,常用的幅度调节方法是在DDS输出端加数字增益控制电路,或者通过改变DAC的参考电压或编程电阻来实现。本文介绍一种新的幅度控制方法,通过控制DDS的DAC满刻度电流的大小来实现对输出幅度的调节,能够保证DDS的无杂散动态输出范围(SFDR)指标,而且控制手段更直接、更精确、更灵活。
系统硬件设计与实现
1 总体结构
系统主要由三部分组成:单片机系统,DDS信号产生与滤波部分,幅度控制部分。系统结构如图1所示。单片机采用AT89C52,作为控制中心,它负责DDS的信号产生和频率刷新,同时输出幅度控制信号调节D/A转换器的输出电压,进而实现对DDS输出信号幅度的灵敏调节。
图1 系统硬件结构图
DDS芯片采用美国ADI公司的AD9830。AD9830是一种完整的DDS(complete-DDS)芯片,内部集成了10位的D/A转换器,采用差分形式输出,可配置成单端输出。其SFDR指标高达72dB,采样速率50MHz,最高输出频率可达25MHz。片内还集成两个频率寄存器和四个相位寄存器,可方便地应用于数字调制,实现FSK、QPSK和GMSK等多种调制功能。
DDS输出幅度的控制有多种方法,最传统的方法是在DDS输出端加数字增益控制电路,此外,也可以通过改变DAC的参考电压或编程电阻来实现。AD9830的47脚(FSADJUST)是其DAC满刻度输出电流调整端,通常的用法是在该脚和地之间接一个编程电阻RSET,改变RSET的大小即可以调节AD9830的输出信号幅度,但这种方法可操作性较差,控制精度也不高。通过分析和实验,我们发现,改变RSET的实质就是改变FSADJUST支路电流,改变FSADJUST支路电流也就能调节DDS的输出信号幅度。因而提出了这种新的控制方法。
DDS输出幅度控制部分主要包括一个12位的D/A转换器AD7531和运算放大器TL071,通过这部分电路控制AD9830的DAC满刻度电流的大小,达到改变AD9830的IOUT输出电流的目的,进而实现对输出信号幅度的精确控制。
2 硬件电路及接口设计
系统的硬件电路如图2所示。
图2 硬件电路图
由于AD9830的输入数据线为16根,需要对单片机的数据线进行扩展。将单片机的P0口作为数据总线口,分时输入到两片8D触发器74HC574中,两片74HC574的时钟信号Latch1和Latch2分别由单片机P1口的P1.4、 P1.5提供,这样实现了数据线由8位到16位的扩展。
单片机P1口的低4位分别控制AD9830的频率寄存器选择信号FSELECT、复位信号RESET和相位寄存器选择输入信号PSEL0、PSEL1。P2口的低3位作为地址总线,与AD9830的A0~A2相连。复用端口P3的P3.6用作AD9830的写信号WR。
为满足D/A转换器AD7531的12位分辨率要求,采用一片74HC175和一片74HC377实现数据由8位到12位的扩展,74HC175和74HC377的时钟信号分别由单片机P1口的P1.6、P1.7控制。
D/A转换器AD7531的参考电压由AD9830的REFOUT输出提供,为高稳定的1.21V。
单片机通过缓冲器送12位数据到AD7531,经D/A转换输出控制电压到运放TL071,经放大后输出到AD9830的47脚(即FSADJUST端),改变AD7531的控制电压即改变了AD9830的DAC满刻度电流的大小,也就改变了AD9830的IOUT输出电流的大小,因此实现了对DDS输出信号幅度的精确控制。
软件设计
软件部分采用C语言设计,主要包括DDS控制子程序和幅度控制子程序。
DDS控制子程序完成对AD9830工作状态、工作模式和频率参数的设置,将单片机送来的数据写入片内相应的寄存器,控制信号的产生。
幅度控制子程序主要通过计算,往D/A转换器AD7531中置入适当的幅度控制字,完成对DDS输出信号幅度的精确和灵活控制。
图3为主程序流程图,该流程没有涉及调频和调相功能。
图3 主程序流程图
调试与实验结果
在实际制作和调试中,采用四层印制版,中间两层分别为模拟地和数字地,以加强屏蔽并有利于电源的滤波,在AD9830和AD7531的每个电源端,都采用0.1μF高频电容滤波,同时注意印刷板合理走线,AD9830的数字地和模拟地分离,且汇总到金属机壳的一点上,以降低数字部分的干扰,保证系统的噪声和杂散性能。
在幅度调整电路中,电阻R1起到减少漂移的作用,不可或缺。R4是限流电阻,一般取1kΩ,同时要注意TL071的电压输出值VDC不能过大,以保证AD9830的DAC满刻度输出电流IOUT不超过最大值21mA,VDC和IOUT满足以下关系:
IOUT=16×(1.21-VDC)/R4
实验中,我们用Agilent83620A作为DDS的参考时钟,驱动AD9830产生频率为1kHz~10MHz的正弦信号,用HP8592E频谱仪测量输出,幅度调节步进量在0.1~1dB之间变化时,信号频谱质量无变化,无杂散动态输出范围达到68dB。
结论
与输出端加数字增益控制电路的传统方法以及改变编程电阻的方法相比,本文提出的这种控制DDS输出幅度的方法更便于实现精确的控制,同时又不影响DDS的其他功能,特别适用于需要改变输出幅度又要实现数字调相功能的应用场合。