基于ATmega8的DDS信号发生器的设计
1引言
频率源是雷达、通信、电子对抗与电子系统实现高性能指标的关键,很多现代电子设备和系统的功能都直接依赖于所用频率源的性能,因此频率源被人们喻为众多电子系统的“心脏”。而当今高性能的频率源均通过频率合成技术来实现。频率合成器是利用一个或多个标准信号,通过各种技术途径产生大量离散频率信号的设备。传统的频率合成器有直接模拟合成法与锁相环合成法两种。直接模拟合成法利用倍频、分频、混频及滤波,从单一或几个参考频率中产生多个所需的频率。该方法频率转换时间快(小于100ns),但是体积大、功耗大,目前已基本不被采用。锁相环式频率合成器具有很好的窄带跟踪特性,可以很好地选择所需频率的信号,抑制杂散分量,并且避免了大量的滤波器,有利于集成化和小型化。但存在高分辨率和快转换速度之间的矛盾,一般只能用于大步进频率合成技术中。
直接数字频率合成(DDS)是近年来发展起来的一种新的频率合成技术。其主要优点是相对带宽很宽、频率转换时间极短(可小于20ns)、频率分辨率很高、全数字化结构便于集成、输出相位连续、频率、相位和幅度均可实现程控。因此,能够与计算机紧密结合在一起,充分发挥软件的作用。作为应用,现在已有DDS产品用于接收机本振、信号发生器、通信系统、雷达系统、跳频通信系统等。
2DDS的基本工作原理
直接数字频率合成是采用数字化技术,通过控制相位的变化速度,直接产生各种不同频率信号的一种频率合成方法。DDS的基本结构如图1所示,它主要由相位累加器、正弦ROM表、D/A转换器和低通滤波器构成。
参考时钟fr由一个稳定的晶体振荡器产生。相位累加器由N位加法器与N位相位寄存器级联构成,类似于一个简单的加法器。每来一个时钟脉冲,加法器将频率控制数据与相位寄存器输出的累积相位数据相加,把相加后的结果送至相位寄存器的数据输入端。相位寄存器将加法器在上一个时钟作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟的作用下继续与频率控制数据相加。这样,相位累加器在参考时钟的作用下,进行线性相位累加,当相位累加器累积满量时就会产生一次溢出,完成一个周期性的动作,这个周期就是DDS合成信号的一个频率周期,累加器的溢出频率就是DDS输出的信号频率。
在参考时钟fr的控制下,频率控制字由累加器累加以得到相应的相位数据,把此数据作为取样地址,来寻址正弦ROM表进行相位-幅度变换,即可在给定的时间上确定输出的波形幅值。DAC将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号,低通滤波器用于滤除不需要的取样分量,这样即可得到由频率控制字决定的连续变化的输出正弦波。
DDS的输出频率f0和参考时钟fr、相位累加器长度N以及频率控制字FSW的关系为: ; DDS的频率分辨率为: ;由于DDS的输出最大频率受奈奎斯特抽样定理限制,所以DDS 的最高输出频率为fr/2,但在实际设计的DDS系统中,由于输出滤波器的非理想性,一般输出信号的最大频率只能达到参考时钟频率fr的40%左右。
3基于ATmega8的DDS信号发生器设计
(1)硬件设计
系统框图如图2所示。
本系统采用AD公司的DDS芯片AD9832。AD9832是一块集成了一个32位的相位累加器、正弦函数功能查询表和一个10位D/A转换器的CMOS芯片。它的最高时钟频率为25MHz,内部包含两个32位的频率寄存器和四个12位的相位寄存器,可以产生一个最高频率为10MHz,频率和相位都可以编程控制的模拟正弦波,它的频率分辨率为0.00582Hz,相移可以是(360/4096)°的任意整数倍,易于实现灵活的高精度PSK和FSK调制。
本系统的一个特点是控制芯片采用ATMEL公司的AVR系列单片机ATmega8,用于控制键盘、显示和DDS芯片的工作。AVR单片机由于采用了精简指令集RISC结构,因此具有1MIPS/MHz的高速运行处理能力。同样以12MHz的晶振为例,AVR单片机的一个机器周期为1/12μs,而普通51单片机的一个机器周期则为1μs。因此,使用AVR单片机来加载和控制频率/相位转换时间极短的DDS芯片,对于提高整个系统的运行速率和性能都是十分有利的。此外,在AVR家族中,ATmega8是一种非常特殊的单片机,它的芯片内部集成了较大容量的存储器和丰富强大的硬件接口电路,具备AVR高档单片机MEGA系列的全部性能和特点,并且在省电性能、稳定性、抗干扰性及灵活性方面都比AT90系列更加周全和完善。而且由于采用了小引脚封装(为DIP 28和TQFP/MLF32),不仅能够有效减小硬件系统的体积,而且其价格仅与低档单片机相当,成为具有极高性价比的单片机。
4×4的小键盘用于设定
- 科技帮我们远离灾难:灾难检测飞行器(03-18)
- Atmega8型号细分区别(12-01)
- 研究arduino支持Atmega8作为主控制芯片(11-30)
- ATMEGA8超声波测距程序(11-30)
- ATmega8---SPI总线控制(11-27)
- ATmega8和ATmega162内部资源(11-27)