函数发生器顾飞飞,吴兴波(信息与控制工程学院,电信0902)摘要:基于MSP430单片机,采用直接式数字频率合成(DDS)芯片AD9833设计一个多种波形函数发生器,可产生正弦波、三角波、脉冲波,输出波形频率在1Hz~1MHz。
设计主要包括电源电路、控制电路、波形发生电路、放大电路和滤波电路。
根据DDS特点给出合理的设计方案,包括AD9833初始化,写控制字,合成频率等。
实验测试结果证明能够达到各项设计指标要求。
关键字:AD9833;MSP430单片机;波形发生器0 引言函数发生器又称信号源或振荡器,在生产实践和科技领域有着广泛的应用。
各种波形曲线均可以用三角函数方程式来表示。
本次设计中通过MSP430单片机控制DDS芯片实现三角波、正弦波、方波,通过按键的形式,可实现波形参数的设置和波形的选择,并通过LCD1602显示出来。
1 方案的设计与选择常用的函数发生器的实现方法:第一种,利用分立元件通过模拟电路来实现正弦波的输出,但是这种方法的调频和调幅比较困难,而且模拟电路受外部因素影响较大。
第二种,采用集成信号发生芯片MAX038通过外接电阻值改变实现对幅值和频率的调整。
这种方法实现起来比较容易,但是频率和幅值的调节比较困难。
第三种,采用DAC0832通过查表的方式输出需要的波形,通过单片机定时向DAC转化器发送转换数据,实现不同的幅值和频率的输出。
这种方法能够实现各种对输出的波形的要求,成本也不高,只是在扩展外设的时候浪费了大量的接口,以后的系统扩展可能会有影响。
第四种,采用DDS频率合成器,能输出各种波形,而且能够轻松调节幅值和频率。
与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换等优点。
DDS芯片输出的一般是数字化的正弦波,因此还需经过低通滤波器才能得到一个可用的模拟频率信号。
2 系统设计方案本系统以MSP430F169单片机,采用DDS芯片AD9833设计一个函数发生器,可产生正弦波、三角波、脉冲波,输出波形频率为lHz~1MHz[1]。
设计主要包括电源电路、控制电路、波形发生电路、滤波电路和放大电路。
根据DDS芯片的特点给出程序的设计方案,包括AD9833的初始化、写控制字、合成频率等。
实验测试结果证明该设计方法的正确性及可靠性,单片机控制DDS模块产生所需的频率信号,并通过低通滤波器滤掉DDS芯片输出产生的寄生频谱分量及其它低频杂波,再经功率放大,使输出的信号满足信号发生器的需求,通过按键可以选择输出波形的参数,并通过显示模块显示。
3 芯片介绍3.1 MSP430F169的最小系统MSP430F169的最小系统如图3-1所示。
图3-1 MSP430F169的最小系统3.2 AD9833芯片的介绍AD9833是由ADI公司生产的一款高精度、低功耗的串行接口DDS芯片。
能够输出正弦波、三角波、方波。
AD9833无需外接元件,输出频率和相位都可通过软件编程,易于调节,AD9833的核心是28位的相位累加器,它由加法器和相位寄存器组成。
可以通过3个串行接口将数据写入AD9833,这3个串口的最高工作频率可以达到40MHz,易于与DSP和各种主流微控制器兼容。
AD9833还具有休眠功能,可使未被使用的部分休眠,减少该部分的电流损耗,例如,若利用AD9833输出作为时钟源,就可以让DAC休眠,以减少功耗,其结构如图3-2所示。
AD9833的主要特点如下:(1)频率和相位可数字编程。
(2)工作电压为3V时,功耗仅为20mW。
(3)输出频率范围为0MHz-12.5MHz。
(4)频率寄存器为28位(在25MHz的参考时钟下,精度为0.1Hz)。
(5)可选择正弦波、三角波、方波输出。
(6)无需外接元件(7)3线SPI接口(8)温度范围为-40℃— +105℃。
图3-2 AD9833原理结构图4 硬件设计4.1 基于MSP430单片机控制的AD9833设计的函数发生器系统总体设计结构框图如图4-1所示,由MSP430F169单片机控制DDS模块产生所需的频率信号,并通过低通滤波器滤掉DDS芯片输出产生的寄生频谱分量及其它高频杂波,再经过功率放大,使输出的信号满足信号发生器的需要,通过按键可以选择输出波形的参数,并通过显示模块显示。
波形选择MSP430F169单片机电源模块AD9833波形产生模块波形频率显示低通滤波功率放大图4-1 系统总体设计结构框图4.2 波形发生模块设计AD9833具有SPI接口,该串行口可以在40MHz时钟频率下(最大值),供电电压为2.3~5.5V,AD9833与单片机MSP430F169连接时,需要使用单片机的3个I/O口。
FSYNC(控制输入,低电平有效)与单片机的管脚P3.2连接,SCLK(串行时钟输入)与管脚P3.1连接,SDATA(串行数据输入)与管脚P3.0连接。
在串口时钟SCLK的作用下,数据以16位的方式加载到设备上,FSYNC引脚是使能引脚,电平触发方式,低电平有效,进行串行数据传输时,FSYNC引脚必须置低,传送数据的每一位,都在SCLK(串行时钟)处于下降沿时发生,在写操作时,P3.2应处于高电平,执行两次写操作时,SCLK应处于高电平。
MSP430F169向AD9833输出16位数据时,要由单片机通过软件控制移位寄存器,从最低位起,串行每次输出一位,这也是软件编程的关键所在。
如图4-2所示。
图4-2 单片机与AD9833连接电路4.3 电源模块设计系统使用的直流电源为5V,220V交流电源经降压、整流、滤波和稳压后得到4.3V电压,再经过LMI317降压到3.6V。
3.6V电压供给单片机使用,5V电压供给单片机以外的电路使用。
原理图如图4-3所示。
图4-3 系统电源电路4.4 功率放大模块设计采用功率放大器OPa820芯片组成比例放大电路[2],与OP07相比,除了具有其优点外,OPA820是高电压,大电流的精密放大器,其输出电压范围为±4~±30V,驱动电流为200mA,驱动负载能力非常强,这里使用三极管为opa820运放提供稳定的2.5V偏置工作点。
电路图如图4-4所示。
图4-4 输出功率放大电路4.5 低通滤波模块由于杂波信号的干扰,从AD9833中输出的信号里面含有丰富的高频成分[3]。
这里采用RC和LC 无源滤波电路作为低通滤波器对输出信号的高频部分进行低通滤波处理。
尽可能降低输出信号的信噪比,然后再利用带有电感器的复式滤波电路进行滤波,使输出信号的脉动减小,且波形平滑。
如图4-5所示。
图4-5 低通滤波电路4.6 按键和显示模块采用8个按键来完成波形参数的设置和波形类型的选择,显示模块使用LCD1602液晶屏显示当前输出的波形及该波形的幅值及频率。
5 电路软件设计5.1 主程序的流程图主程序的流程图如图5-1所示。
开始初始化AD9833设置波形选择频率产生波形扫描键盘是否为#键NY图5-1 主程序的流程图5.2 AD9833的初始化和设置AD9833的初始化和设置流程图如图5-2所示。
子程序数据写选择数据源等7/8个MCLKDAC输出AD9833初始化SPI初始化改变相位?改变频率?改变FSELECT?改变FR数据?改变PSELECT?改变PR数据?返回N YYY NYYY NN NN图5-2 AD9833的初始化和设置流程图无论是写控制寄存器、频率寄存器还是相位寄存器,在写操作之前都需要把选通信号置为有效状态,这样写入的数据才有效.在单片机发送完1个数据字后将产生SPI 中断请求,本设计中未使用中断方式,而是通过查询中断标志来跳出,并要读MSP430 的接收缓冲器清除中断标志。
值得注意的是,AD9833 从写入数据到输出端得到响应,中间有一定的响应时间,每次给频率或相 位寄存器加载新的数据,需要有7 ~8个MCLK 时 钟周期的延时之后,输出端的波形才会产生改变。
6 调试为了验证设计系统是否能按照设计目标正常工作,需要对系统的软件和硬件进行调试。
这里使用GOS-620示波器进行观察,完成对3种不同输出信号的测试,频率设置的步进值为1Hz ,10Hz ,100HZ ,1KHz ,10KHz ,100KHz ,1MHz 和2MHz 。
数据如表6-1-1所示。
由测试结果并结合示波器所示波形可以看出:当波形输出频率范围1Hz ~1MHz 时,用示波器观察无明显失真,具有同等的稳定度和准确度,但是随着信号频率的升高,相位截断误差逐渐增大[4],造成输出信号的幅度失真和相位失真,使得DDS 的输出信号杂散较大,这个缺点限制了DDS 输出信号的带宽;当频率在2MHz 时的信号波形不太平滑,出现波形的阶梯上升和阶梯下滑。
为了克服这个缺点,可以采用DDS 技术与PLL 技术结合的改进方案。
利用PLL 频率合成技术的宽带、高频、频谱质量好、杂散小的优点,折中带宽和频谱质量,能较好地降低杂散,提高信号发生器的带宽。
预置频率/KHz输出频率/KHz正弦波方波三角波0.001 0.01 0.1 1 10 100 1000 20000.0010.010010.10011.00110.01100.1100119880.0010.010010.10011.00110.01100.1100119880.0010.010010.10011.00110.01100.110011988 图6-1 波形输出频率测试参考文献[1] 淮文军. 基于MSP430和AD9833的信号发生器的设计.苏州市职业大学学报,2012(9):23-3.[2]弘道工作室.融会贯通 Protel99电路设计.北京:人民交通出版设,20004]谢兴红,林凡强,吴雄英.MSP430单片机基础与实践 [M].北京:航空航天大学出版社,2008.[3]程明,赵恒,陈莹.基于DSP和DDS的商品防窃监视器扫频信号源[J].国外电子元件,2006[4]淮文军,张进峰.单电源宽带放大器的设计与实现 [J].苏州市职业大学学报,2010Frequency Functio GeneratorGU Fei-fei,WU Xing-bo(Class-0902, Major of Science and Technology, College of Information &Control Engineering) Abstract : Based on MSP430F169 MCU and AD9833 chip ,a high accuracy programmable ultrasonic wave signal simulator using DDS (direct digital frequency synthesis) technique is designed. It can produce sine wave,tri-angular wave and pulse ,which has 1 Hz-1 MHz frequency range of output waveform. Some modules are designed for the generator ,such as power supply circuit ,control circuit ,waveform simulator circuit ,wave filter circuit ,amplify circuit and so on. The characteristics of the AD9833 chip is given ,the software design methodology is provided including initiative ,write control word ,synthesis frequency and etc. Finally ,the simulation results show Indicators can reach the design requirements.Key words :AD9833 ;DDS ;waveform simulator ;MSP430 microcontrollers。