基于AD9850单片机的嵌入式信号源设计
时间:2009-10-08 11:29:01点击:次
基于DDS芯片AD9850和MSP430F149单片机的嵌入式信号源设计方法,该信号源可输出频率范围为1 Hz~10 MHz的正弦波和方波,且具有频率设定1 Hz,10 Hz,100 Hz多档步进调整和幅度调节的功能。可以通过按键进行频率值设定,并有LCD显示波形的频率等信息,经实验测试,在1 Hz~10 MHz频率范围内,得到的正弦波方波信号具有频率稳定性好,频率准确度高及频率分辨率高等特点。
该设计采用直接数字频率合成(DDS)技术,使用DDS芯片AD9850与超低功耗的MSP430F149单片机配合,可输出精确控制的正弦波和方波信号。AD9850是AD公司推出的低功耗直接数字频率合成器芯片,可以产生从直流到62.5 MHz的宽频率信号,从投放市场至今已广泛应用于雷达系统、低功耗频率源中;MSP430是TI公司开发的一类具有16位总线的带FLASH的单片机,该设计将AD9850与MSP430F149结合提出一种具有较高性价比和集成度、低功耗的嵌入式信号源设计方案。在控制流程中,通过4x 4矩阵键盘设定频率值,MSP430为AD9850计算频率控制字,并且将频率控制字通过串行方式写入其中,结合键盘上步进调节增量“1 Hz”,“10 Hz”,“100 Hz”键,使得频率可以精确到步长为1 Hz的调节;产生正弦波时,经过低通滤波器滤除信号的高频分量,通过增益可调的宽带放大器放大输出所需信号。如果接到AD9850内部的高速比较器上,即可直接输出一个抖动很小的方波,系统通过字符型液晶屏1602显示设定频率和其他信息。实验结果显示,输出信号频率范围在1 Hz~10 MHz,且无明显失真;输出信号频率实现1 Hz,10 Hz,100 Hz三级步进调节,频率精度0.01 Hz,频率转换速度1 ms,输出幅度范围1~10 V。
1 系统设计
1.1 DDS技术原理与结构
DDS技术是一种用数字控制信号的相位增量技术,具有频率分辨率高,稳定性好,可灵活产生多种信号的优点。一个DDS信号发生器由相位累加器、波形数ROM表、D/A转换器以及模拟低通滤波器LPF组成,原理框图如图1所示。DDS技术的核心是相位累加器。相位累加器在稳定时钟信号的控制下产生读取数据的地址值,随后通过查表变换,地址值被转化为信号波形的数字幅度序列,再由数/模变换器(D/A)将代表波形幅度的数字序列转化为模拟电压;最后经由低通滤波器将D/A输出的阶梯状波形平滑为所需的连续波形。DDS信号发生器通过改变相位增量寄存器的值△phase(每个时钟周期的度数)来改变输出频率。每当N位全加器的输出锁存器接收到一个时钟脉冲时,锁存在相位增量寄存器中的频率控制字就与N位全加器的输出相加。在相位累加器的输出被锁存后,它就作为波形存储器的一个寻址地址,该地址对应波形存储器中的内容就是一个波形合成点的幅度值,然后经D/A转换变成模拟值输出。当下一个时钟到来时,相位累加器的输出又加一次频率控制字,使波形存储器的地址处于所合成波形的下一个幅值点上。最终,相位累加器检索到足够的点就构成了整个波形。合成信号的波形取决于ROM表中的幅度序列,通过修改数据可以产生任意波形,如果要产生多种波形,只需把所需的多种波形数据存放到波形ROM表中。
DDS系统输出正弦波的频率计算公式为:
式中:fo为输出正弦波的频率;fo为系统的时钟频率;FSW为频率控制字;N为相位累加器的字长,频率控制字与输出频率成正比。由取样定理,所产生的信号频率能超过时钟频率的50 %,在实际应用中,为了保证信号的输出质量,输出频率不要高于时钟频率的33 %,以避免混叠或谐波落入有用输出频带内。
DDS的频率分辨率定义为:
由于基准时钟的频率一般固定,因此相位累加器的位数决定了频率分辨率;位数越多,分辨率越高。
该信号源采用DDS专用芯片AD9850产生正弦信号。AD9850采用CMOS工艺,其功耗在3.3 V供电时为155 mW,扩展工业级温度范围为-40~+80℃,采用28脚SSOP表面封装形式,AD9850内含可编程DDS系统和高速比较器,能实现全数字编程控制的频率合成。AD9850支持的时钟输入最高为125 MHz,频率控制字的位数为32位。由式(2)可以计算出在125 MHz时钟输入时分辨率为0.021 9 Hz,该设计中选用30 MHz的有源晶振,故其分辨率按式(2)计算得0.006 9 Hz。
1.2 系统总体设计
该信号源由MSP430F149单片机、DDS芯片AD9850、低通滤波器(LPF)、4×4软键盘、1602液晶显示屏和外部参考时钟源、宽带放大器和稳压电源等组成。其中,低通滤波器是信号源中的关键器件,负责滤除正弦输出信号中的高频、杂散信号和谐波信号;稳压电源的+5 V电压经过电平转换后为MSP430和AD9850提供+3.3 V的电源电压;外部参考时钟源选用30 MHz有源晶振,MSP430F149与AD9850采用串行通信方式连接。
1.3 硬件设计
该信号源选用MSP430F149作为核心控制器,为了节省I/O资源,方便系统功能扩展,MSP430与DDS芯片AD9850之间采用串行通信方式,接口电路如图3所示。AD9850与外围元件的硬件连接图如图4所示,AD9851的正弦输出信号端IOUT接至外部的低通滤波器,滤除高频杂散和谐波后,一路信号经过宽大放大器AD811放大后输出需要的正弦信号,另一路再回接到AD9851内部比较器的正向输入端(VINP)以得到方波信号。其中:DGND为数字地;AGND为模拟地;VCC为模拟部分的电源电压;VDD为数字部分的电源电压。D7,FQ_UD,W_CLK,RESET分别接至MSP430的P3.0,P3.1,P3.2,P3.3上。为降低噪声信号对放大器的影响,在低通滤波器与宽带放大器之间接一级高速电压跟随器隔离,AD9850的输出信号峰峰值为1~2 V,为增大AD9850输出信号幅值,采用单位增益带宽为140 MHz,Sr=2 500 V/μs的高速宽频带运放AD811进行信号放大,并且通过调节反馈电阻来改变增益,从而调节输出信号幅度。放大电路的最大放大倍数,可以满足一般的应用需求。
1.4 低通滤波器设计
低通滤波器是直接数字频率合成器的重要组成部分,其性能的优劣直接影响整个直接数字合成器的特性。在整个DDS实现过程中,低通滤波器除了滤掉高频信号之外,还有除去杂散的作用。DDS的杂散主要来源以下三个方面:
(1)ROM幅度量化误差:相位转化为幅度,是通过寻址ROM实现的,然而ROM地址中存有的波形幅度值字长是有限的,ROM存储能力有限而引起的舍位误差就是幅度量化误差;
(2)相位截断误差:为了提高DDS的精度,DDS的相位累加器位数都取得非常大,但ROM的容量是有限的,因此只利用相位累加器的高M位ROM寻址,其低(N-M)位被截断。由此引入的截断误差是DDS杂散的主要来源;
(3)DAC的转换误差,即DAC中非线性引起的转换误差:DAC有限的分辨率、非线性特性以及转换过程中出现的尖峰脉冲均会导致频谱质量变坏。因此,低通滤波器的使用是非常必要的,其性能的优劣直接关系到整个DDS的技术指标。
低通滤波器可以分为巴特沃什滤波、切比雪夫滤波、贝赛尔滤波和椭圆滤波等。巴特沃什低通滤波器通带和阻带都是平坦的,但是其过渡带太过平缓;切比雪夫低通滤波器的通带是等波纹抖动的,阻带是平坦的,过渡带比巴特沃什稍陡;贝赛尔低通滤波器和切比雪夫低通刚好相反,通带平坦,阻带是等波纹抖动的;椭圆低通滤波器的通带和阻带都是抖动的。但是其过渡带下降迅速,过渡带很窄。在该系统中,为了使输出信号频率最高10 MHz时能够最低程度地降低AD9850外部系统时钟30 MHz的干扰,采用具有较窄过渡带特性的椭圆滤波器,并采用7阶椭圆低通滤波。根据系统要求,输出信号的频率可达10 MHz,设定其通带为10 MHz,且7阶滤波具有下降速度更快的过渡带,可以有效地滤除10 MHz以上的高频干扰。考虑到实际的椭圆滤波器设计与理论分析是有所不同的,在此使用Multisim 9经行仿真后得出椭圆滤波器的具体参数。
2 系统软件设计
软件设计主要分为菜单操作和频率控制值计算两部分。在系统中通过外接4×4软键盘输入设定频率和调整步进。一共16个按键,不同的按键代表着不同的数字和功能,除了正常的10个数字键0~9外,为了方便频率值的输入,还设计了菜单键、删除键、步进一、步进十、确认键、输出键等功能键。通过输入0~9数字键,输入设定频率;按下确认键,输出相应频率的波形;按下菜单键,可根据需要按下1,2,3数字键,分别选择1 Hz,10 Hz,100 Hz三个档位的频率步进;按下确认键,此后按下步进+、步进一即可对输出信号进行频率的步进调整;欲重新设定频率只需按下删除键,再次输入预设的频率即可。
该系统中单片机与AD9850采用串行通信方式连接。其中,频率控制字的计算:AD9850的时钟信号采用30 MHz,根据式(1)得:
式中:fo为从键盘上输入的频率值。式(3)计算的结果在不影响精度的情况下舍去小数部分,转换为32位的频率控制字。AD9850有40位控制字,32位用于频率控制,5位用于相位控制,1位用于电源休眠(PowerDown)控制,2位用于选择工作方式。这40位控制字可通过并行方式或串行方式输入到AD9850。实际应用中,工作方式选择位通常设定成00,该系统中AD9850的40位控制字高8位设置为00H。串行接口方式下需满足的时序关系为:在W_CLK的上升沿,引脚D7上的数据自最低有效位开始逐位串行移人输入寄存器,40位数据输入结束后,任何W_CLK上升沿到来,都会造成数据顺序移出并导致原来数据无效。此时,FQ_UD端的上升沿将40位数据装入频率/相位控制寄存器,更新芯片的输出频率和相位,同时把地址指针复位到第一个输入寄存器,等待下一组新数据的写入。
程序开始后,运行初始化程序,包括初始化单片机MSP430F149、初始化AD9850、初始化液晶显示模块1602等。然后扫描键盘状态,检查到有键按下就运行键值处理程序,对按键值进行查表处理,之后执行相应的子程序。输入的信号相关信息通过运行液晶显示程序,在LCD上显示正确的输入数据和提示字符。在按下确认键后,MSP430F149计算出所需信号的数据或控制命令,将其传送到AD9850,输出最终信号。
3 系统测试与结果分析
为了检验本系统的实际性能,在完成所有设计后,使用HDSTO22M型示波表对该系统进行实测,经过实验测试系统达到下列性能指标:输出信号频率范围为1 Hz~10 MHz;步进调整为1 Hz,10 Hz,100 Hz三档步进;失真度无明显失真;输出电压峰峰值为1~10 V;频率稳定度优于10-4。