- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
精确信号幅度的一种新控制DDS输出方法
DDS技术作为一种先进的直接数字频率合成技术,用数字控制的方法从一个频率基准源产生多种频率,具有高可靠性、高集成度、高频率分辨率及频率变化快、控制灵活等特点,在通信与仪表领域得到了广泛的应用。采用DDS芯片制作的信号源,输出信号的频率和幅度都可由微机来精确控制,调节非常方便,常用的幅度调节方法是在DDS输出端加数字增益控制电路,或者通过改变DAC的参考电压或编程电阻来实现。本文介绍一种新的幅度控制方法,通过控制DDS的 DAC满刻度电流的大小来实现对输出幅度的调节,能够保证DDS的无杂散动态输出范围(SFDR)指标,而且控制手段更直接、更精确、更灵活。
系统硬件设计与实现
1 总体结构
系统主要由三部分组成:单片机系统,DDS信号产生与滤波部分,幅度控制部分。系统结构如图1所示。单片机采用AT89C52,作为控制中心,它负责DDS的信号产生和频率刷新,同时输出幅度控制信号调节D/A转换器的输出电压,进而实现对DDS输出信号幅度的灵敏调节。
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所示。
由于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为主程序流程图,该流程没有涉及调频和调相功能。