|
摘 要:DDS技术是频率合成中应用较多的技术之一。在对DDS输出噪声进行理论分析后选择了AD9851作为信号源发生芯片。根据芯片特性和信号源人机交互方便、简单实用并能嵌入到采集系统的原则,采用VB程序建立PC机与AT89S52的串行通信联系实现了对AD9851的控制,在此基础上完成了正弦波信号源的制作。把PC机使用的灵活性与单片机成熟的技术联系起来,在信号源制作上做了一次有意义的尝试。 关键词:DDS;AD9851;Visual Basic;AT89S52;串行通信 1 引 言 随着现代电子技术的发展,在科研、通信系统、教学试验以及各种电子测量技术中,常常离不开一个精度高、频率可变的信号源。目前频率合成的基本方法主要有3种[1]:直接式频率合成(DS),锁相环频率合成(PLL)以及直接数字频率合成(DDS)。由于直接数字合成与其他合成方法相比具有合成频率信号相位连续、分辨率高、频率转换速度快,同时还具有低价和良好的可再制性能,很容易实现线性调频和其他各种相位、幅度调制,近年得到了迅速的发展。目前国外生产的DDS芯片大多包含相位累加器、正弦波形存储器以及DAC,在国内使用的DDS芯片多为价格便宜、杂散性能好的CMOS产品,如Qualcomm公司的Q2220,Q2230等,Analog Devices公司的AD7008,AD9850,AD9851等。使用这些芯片关键是频率设定电路的设计,他可以采用单片机形式、可编程器件PLD、常规的数字逻辑电路以及直接由PC机来设定。单片机方式设定是比较成熟的技术,但人机交互不方便,很难嵌入到其他系统之中,PLD产品尚处于未定型阶段,常规的数字逻辑电路虽然简单,但不够灵活。由PC机来设定比较灵活,而且可以将DDS作为数控系统的一部分,目前国内许多厂家都采用这种方式制作出虚拟仪器成品来,但这需要PCI或ISA总线等多方面的知识,对设计者提出了更高的要求,成本也比较高。如果在制作频率生成电路时能把PC机的灵活性与单片机成熟的技术联系起来,同时降低成本,简化设计,必定是一个有意义的尝试。 为减少线路连接和节约单片机资源,本设计采用串行方式控制频率的改变,其技术路线如图1所示。
2 DDS简介 直接数字频率合成(Direct Digital Synthesi,DDS)是在采样时钟信号fc的控制下,通过由频率码控制的相位累加器输出相位码,将存储于只读存储器中的波形量化采样数据值按一定的规律读出,经D/A转换和低通滤波后输出正弦信号。频率控制字(FCW)和时钟频率fc共同决定DDS输出信号的频率fo,他们之间满足式(1):
2.1 DDS输出噪声分析[1] 由DDS的原理和Nyquist取样定理可知,要恢复出理想的波形,输出频率不能超过0.5fc。在典型的DDS应用中,DDS后通常接有一个低通滤波器LPF,用他来滤出镜像频率。而实际中LPF都有一个过渡带的问题,所以为了更好地去除镜像频率带来的杂散,一般将DDS的输出频率限定在0~0.4fc内。DDS输出频率中杂散信号主要有以下3个来源: (1) 相位截断误差:为了得到很高的频率分辨率,相位累加器的位数N通常做得很大,如N=32。 (2) 幅度量化误差:ROM查询表的输出位数是一个有效值,这就会产生幅度量化误差。 (3) DAC的非线性:包括积分、差分以及DAC的非理想动态特性。DAC输出信号中将产生输出频率fo的谐波分量及这些谐波分量的镜像分量,这会影响DDS输出频谱的纯度,产生杂散分量。 幅度量化误差[2]就是ROM存储能力有限引起的舍位误差,也可以认为是由DAC分辨率有限引起的误差。幅度量化误差在DDS输出谱上表现为背景噪声,其幅度远小于由相位截断和DAC非线性引起的杂散信号幅度。DAC非线性引起的杂散实际上成为了DDS杂散的主要来源,特别是随着时钟频率的提高,这个问题已经变得越来越明显。但改善DAC杂散难以从数学上给出理论模型,所以很多研究都是停留在经验上。描述DDS合成器输出信号质量的一个重要参数是SFDR(Spurious-free Dynamic Range)即无杂散动态范围,其定义是:
下面只对相位截断误差进行分析:
因此累加器相位截断误差是理想信号的正交调幅信号。
由以上分析可以看出: (1) 由累加器相位误差带来的DDS杂散的分别和大小K,N,B三个参数有直接的关系。不同的频率K,只要GCD(K,2B)(GCD表示两数的最大公约数)相同,这时输出信号杂散的数量、大小及各杂散相对变化趋势应该相等; (2) 相位截断位越小,最大截断相位误差杂波的幅值越小。 DDS相位截断误差由DDS系统原理决定,一旦DDS芯片确定,外围电路不能对该杂波进行有效的改善。他的解决办法可以是选用大N和大W的器件,然后对频率控制字K进行精心选择。 以上分析为设计DDS信号源和选用DDS芯片提供了理论依据。由此我们选用美国AD公司生产的DDS芯片AD9851。他有32 b加器、正弦/余弦查找表、10位D/A转换器、SFDR大于43 dB及控制电路集成在一个芯片上,具有很高的性能价格比。
2.2 AD9851简介 AD9851采用CMOS技术生产的高集成度DDS芯片,他的最高输入时钟频率为180 MHz,同时可选择是否启用内含的6倍频乘法器。他具有简化的控制接口,允许串/并行异步输入控制字,该器件的工作电源范围为2.7~5.25 V,其掉电方式时的功耗为4 mW@+2.7 V。AD9851的自由寄生动态范围(SFDR)大于43 dB(70 MHz输出),采用极小的28脚贴片式封装。其内部结构和引脚功能如图2所示[3]。
其中:fOUT为输出频率,ΔPhase为输出频率的控制字,System Clock为外接晶振频率。AD9851内部有5个输入寄存器,储存来自外部数据总线的32位频率控制字,5位相位控制字,1位6倍参考时钟倍乘器使能控制,1位电源休眠功能(power down)控制和1位逻辑0。寄存器接收数据的方式有并行和串行两种方式。串行方式如图3(a)所示,W[CD#*2]CLK上升沿把引脚D7上的数据按位串行移入到输入寄存器,40位输入结束后,任何W[CD#*2]CLK上升沿到来都会造成数据顺序移出并导致原来数据无效,此时FQ[CD#*2]UD端的上升脉冲就可以更新40位数据芯片的输出频率和相位。值得注意的是在选择串行模式之前应该将默认的并行方式通过一定的脉冲时序改变过来,其时序如图3(b)所示。
3 正弦信号发生器的实现 3.1 硬件连接 AD9851的引脚可直接与多种类型单片机相连,本文选用Atmel公司的单片机AT89S52。图4为AD9851串行模式下的总体原理图。考虑成本和设计需求,选用10 MHz温补晶振作为AD9851的外部参考时钟,不对相位进行控制。PC机发出的控制数据通过RS 232口经芯片MAX232转换与单片机串行通信。P1.0,P1.1,P1.2,P1.3分别接D7,W[CD#*2]CLK,FU[CD#*2]UD和RESET引脚进行控制。AD9851输出频谱纯净的正弦信号,输出经有源低通滤波放大后得到频率连续可调且符合设计要求的正弦波[4]。如果由引脚VINP进入AD9851内部高速比较器,最后由引脚VOUTP输出可以得到稳定性好的方波。该方波经过相应的功能处理电路后,即可得到三角波、锯齿波、斜波、脉冲等信号[5]。 3.2 软件编程 软件编程是根据系统需要、人机交互合理、方便以及AD9851的串行控制方式进行的,他分为上位机程序和单片机程序,其具体过程如下:
上位机采用简单易学、功能强大的VB 60编写[6],Visual Basic软件提供了一个MSComm控件,可以使我们轻易的完成对串口通信的控制。其程序流程和对话框分别如图5、图6所示。通过人机界面将参数设定好之后按确定,VB程序将根据输入数据计算出控制字,通过RS 232串口通信传给单片机,并等待单片机的返回值予以校核和显示。如果为扫频模式,程序将按设定的时间间隔与步长重新计算新的控制字,重复与单片机的通信。
上位机编程的关键问题是控制字的计算与传输,控制字本身包括两部分,即频率控制字(二进制位表示时为32位)和相位控制字(二进制表示时为8位)。而RS 232串口按字节来传输的数据,数值不能超过255,显然控制字难以一次性传输。很自然地想到先将控制字按二进制形式计算出各位,然后每8位组成一组计算出相应的十进制值,分5次传输,问题得到了很好的解决。 单片机程序采用C语言编写,主程序及串行加载子程序流程[7]如图7、图8所示。单片机复位后对串口通信与AD9851进行初始化,然后采用查询方式等待上位机传输的数据,得到后将数据返回PC机进行校核。之后调用串口控制子函数控制AD9851的频率输出,达到设计目的。值得注意的是串口子程序采用移位比较的方式得到各控制字位的实际值。
4 正弦信号发生器的应用 笔者研究的振动时效系统由于试件固有频率过高,一阶频率达到了182.08 Hz,二阶为504.64 Hz,一般的机械式激振装置难以达到频率的要求,故选用电动式激振器激振。信号发生器控制的数字化、自动化以及作为数控系统的一部分对整个系统具有重要意义。他的基本组成原理如图9所示。根据功率放大器、激振器的使用条件以及振动时效的特点,信号发生器应该具备:频率范围0~2000 Hz; 按设定参数进行定频、扫频; 定时功能; 可以嵌入到振动信号采集系统,实现振动时效的自动化等特点。
将所设计的正弦信号发生器应用到此系统,设定参数后PC机发出通信数据,单片机在接收后控制AD9851产生既定频率下的正弦信号,驱动激振器激振,延时一段时间待激振器稳定下来,VB程序调用数据采集程序将特定频率下试件的振动情况记录下来,经过一定的处理,采集数据可以作为振动时效效果的一种依据,该过程实现了振动时效的自动化。 5 结 语 本文以AD9851为核心,通过PC机与单片机间的串行通信设计了一台人机交互方便,简单实用的正弦信号发生器。通过调试,我们得到了所需要的正弦波信号,试验证明本设计达到了预定要求,与振动时效系统实现了很好的融合。 参 考 文 献 [1]郑毅.高精度数字频率综合器(DDS)的研究与应用[D].武汉:武汉理工大学,2001. [2]黄蕾.基于单片机的直接数字频率合成(DDS)技术的应用研究[D].长沙:湖南大学,2005. [3]伍刚,张小平.有源低通二阶滤波器的设计[J].兵工自动化,2005,24(4):85-88. [4]郭勇,肖明清,谭靖,等.DDS芯片AD9851及其应用[J].电子技术,2001,28(2):54-56. [5]范逸之,陈立元.Visual Basic 与RS 232串行通信控制[M].北京:清华大学出版社,2002. [6]李群芳,张士军,黄建.单片微型计算机与接口技术[M].2版.北京:电子工业出版社,2005.
|