基于DDS技术的正弦波,方波信号发生器设计<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
摘 要:以AT89S52单片机为核心,通过DDS合成技术设计制作了一个步进值能任意调节的多功能信号源。该信号源能输出稳定可调的1Hz~10MHz正弦波和100Hz~1MHz的方波。系统带液晶显示和4*4键盘控制功能,操作简便,实现效果良好。
关键词:DDS;单片机;信号发生器;AD9850
Wu Haibin
Abstract:This paper presents a sinusoidal and square signal oscillator which adopts MCU AT89S52 is used for controller, based on DDS(Direct Digital Frequency Synthesis). The system sinusoidal signal frequency is between 1Hz and 10MHz, the square signal frequency is between 100Hz and 1MHz, both of the step frequency is 1Hz. The system with LCD and 4 * 4 keyboard is easy to operate and work very well.
direct digital synthesize (DDS);Key words:direct digital synthesize (DDS); MCU; signal generator; AD9850
1. 引言
DDS(Direct Digital Synthesis)频率合成方法具有低失真输出波形、高分辨率、高频谱纯度、可编程和宽频率输出范围等优良性能,在现代频率合成领域中具有越来越重要的地位。在许多应用领域中,如通信、导航、雷达等,DDS频率源已成为主流的关键部件。其主要优点有: ①频率转换快, DDS频率转换时间一般在纳秒级; ②分辨率高,大多数DDS可提供的频率分辨率在1Hz数量级,有的则可达0. 001 Hz; ③频率合成范围宽; ④相位噪声低,信号纯度高; ⑤相位可控:DDS可方便地控制输出信号的相位,在频率变换时也能保持相位联系; ⑥生成的正弦/余弦信号正交特性好等。因此,利用DDS技术特别容易产生频率快速转换、分辨率高、相位可控的信号,这在电子测量、雷达系统、调频通信等领域具有十分广泛的应用前景。[1]
2. 系统设计方案
本系统设计是以单片机AT89S52 为控制器,以微处理器应用技术和DDS AD9850 技术为核心, 通过微处理器控制AD9850, 实现频率预置、控制字的设置等功能。通过LCD显示当前步进值和按键值。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
AT89S52 单片机 |
LCD液晶 |
4*4键盘 |
DDS |
滤波 |
方波 |
正弦波 |
图1.信号发生器结构框图
3. AD9850简介
AD9850采用先进的CMOS工艺,其功耗在3. 3V供电时仅为155mW,扩展工业级温度范围为~ ,采用28脚SSOP表面封装形式。AD9850内含可编程DDS系统和高速比较器,能实现全数字编程控制的频率合成。可编程DDS系统的核心是相位累加器,它由一个加法器和一个N位相位寄存器组成,N一般为24~32。每来一个外部参考时钟,相位寄存器便以步长M递加。相位存器的输出与相位控制字相加后可输入到正弦查询表地址上。正弦查询表包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波中。范围的一个相位点。查询表把输入地址的相位信息映射成正弦波幅度信号,然后驱动DAC以输出模拟量。
相位寄存器每过个外部参考时钟后返回到初始状态一次,相应地正弦查询表每经过一个循环也回到初始位置,从而使整个DDS系统输出一个正弦波。输出的正弦波周期,频率, , 分别为外部参考时钟的周期和频率。
AD9850采用32位的相位累加器将信号截断成14位输入到正弦查询表,查询表的输出再被截断成l0位后输入到DAC,DAC再输出两个互补的电流。DAC满量程输出电流通过一个外接电阻RSET调节,调节关系为IseT=32(1.248V/ RSET),RSET的典型值是3. 9 。将DAC的输出经低通滤波后接到AD9850内部的高速比较器上即可直接输出一个抖动很小的方波。[2]
图2.AD9850内部结构图
4. 硬件设计
4.1 单片机与AD9850硬件连接
单片机与AD9850 的接口既可采用并行方式,也可采用串行方式。为了充分发挥芯片的高速性能,本设计选择并行方式将AT89S52 的P0 口经74HC574 锁存器扩展后接至DDS的并行输入控制端(D0~D7)。AD9850外接100 MHz的有源晶振,产生的正弦信号经低通滤波器(LPF) 去掉高频谐波后即可得到波形良好的模拟信号。这样, 将D/A转换器的输出信号经低通滤波后, 接到AD9850内部的高速比较器上,即可直接输出一个抖动很小的方波。[3]
图3.单片机与AD9850连接图
4.2 键盘输入接口
采用4*4键盘,与单片机P1口连接。
图4. 4*4键盘
4.3 LCD液晶与单片机连接
AT89S52 的P0 口经74HC245三态输出扩展后接至液晶的数据线。
图5. LCD液晶连接图
5. 软件设计
5.1 主程序设计
主程序可控制整个系统, 包括控制系统的初始化、显示、运算、键盘扫描、频率控制等子程序, 其主程序流程如图7所示。初始化可将系统设定为默认工作状态, 然后通过扫描键盘来判断是否有按键按下以确定用户要执行的任务。
开始 |
初始化 |
扫描键盘 |
判断键值 |
执行 |
图6. 主程序流程图
5.2 按键扫描程序
开始 |
有键闭合? |
判断键号 |
是否释放?
|
返回键值 |
结束 |
Y |
N |
Y |
N |
图 7. 键盘扫描子程序流程图
5.3 AD9850频率控制字程序
按照AD9850的时序图来写入控制字[4]。
图8. AD9850时序图
6. 结论
信号发生器实现的参数
正弦波:
频率范围:1Hz~10MHZ
步进精度:1Hz
输出峰峰值:1V
方波:
频率范围:100Hz~1MHz (1MHz略有失真)
步进精度:1Hz
输出峰峰值:5V
参考文献:
[1] 张旭,孔令艳,周龙.一种基于AD9850的信号发生器的设计[J].武汉工业学院学报,2006,04
[2] 操长茂.基于AD9850的数控信号发生器及其应用[J].高等函授学报(自然科学版),2002,05
[3] 龙安国.基于DDS芯片AD9850的全数控函数信号发生器的设计与实现[J].
[4] 陆原,刘国英,崔帅.一种基于DDS的幅值可调信号发生器的设计[J].
用户127565 2013-12-17 15:00
用户433051 2013-5-26 16:50
用户1240655 2010-10-13 22:28
用户209205 2009-10-23 23:26