基于DDS的高精度函数信号发生器的研制

2009-05-25 09:59金海军李映雪余水宝
现代电子技术 2009年1期

殷 雷 金海军 李映雪 余水宝

摘 要:基于直接数字频率合成技术(DDS),采用单片机实现对DDS芯片AD9852的控制,提出一种高精度函数信号发生器的实现方案。重点介绍了单片机与AD9852的硬件接口电路、整个系统的软件设计以及单片机中对48 b频率控制字的处理方法。此方法在单片机程序设计中处理多于32 b的整型数据时具有借鉴意义。此系统具有高频率、高精度的主要特点,且控制灵活方便,具有广阔的应用前景。

关键词:DDS;AD9852;频率控制字;信号发生器

中图分类号:TN74 文献标识码:B

文章编号:1004-373X(2009)01-068-02

Research and Realization of High Precision Signal Generator Based on DDS Technology

YIN Lei,JIN Haijun,LI Yingxue,YU Shuibao

(College of Mathematics Physics and Information Engineering,Zhejiang Normal University,Jinhua,321004,China)

Abstract:This design is based on the Direct Data Frequency Synthesis(DDS) technology,and single chip computer is used to control the AD9852.A kind of design of high precision signal generator is given.The hardware interface circuit between the single chip computer and AD9852,the software design of signal generator and the method to process 48 bit frequency control word in single chip computer are mainly described,and the method can be used in the software design of single chip computer when the data bit of integral type above 32.The output is easy to control,has high frequency and precision,and it has wide application in the future.

Keywords:DDS;AD9852;frequency control word;signal generator

直接数字频率合成技术(Direct Digital Frequency Synthesis,DDS)[1]是从相位概念出发直接合成所需波形的一种新的频率合成技术。DDS技术具有相对带宽宽、频率转换时间短、频率分辨率高等优点,广泛用于高精度频率合成和任意信号发生[2]。本文采用单片机控制DDS芯片,设计实现了一种高精度多波形的信号源。

1 DDS原理

DDS 的基本结构包括:相位累加器、正弦查询表、数模转换器(DAC)及低通滤波器等。DDS原理如图1所示[3]。

图1 DDS基本原理框图

图1中信号输出频率和参考时钟频率的关系表达式为:

fo=f osc×FTW/2N

其中:fo为输出频率,f osc为参考时钟频率,FTW为频率控制字,N为频率控制字的位数。由于N是一个固定值,那么只要改变FTW的大小就能得到所需要的频率值,而且频率的分辨率由N值决定,当N值越大则分辨率越高。由Nyquist取样定理可知,要恢复理想波形,在理想低通滤波器的条件下,输出频率必须小于时钟参考频率的用50%,即fo<1/2f osc,若超过这个范围,则一阶镜像频率就会落在Nyquist带宽内[4]。而实际的LPF都有一个过渡带的问题,所以为了更好地去除一阶镜像带来的杂散[5],一般将DDS的输出频率限制在0.4f osc内。可见当AD9852参考时钟频率为300 MHz时,完全可以满足输出频率为50 MHz的设计要求。

2 系统设计

2.1 硬件设计

系统设计原理如图2所示。该设计选用单片机AT89C55作为控制核心,其与DDS芯片AD9852[6,7]之间采用并口通信方式。单片机P1口作为LCD液晶显示的数据总线,P0口用于AD9852地址总线和并口传输的数据总线,使用锁存器74ALS573实现P0口复用,74ALS573锁存输出的六位数值为AD9852内部寄存器的地址。P2和P3口作为控制口用于键盘芯片HD7279和AD9852的控制。

图2 系统结构框图

由于AD9852使用CMOS工艺,供电电压是 3.3 V,而单片机使用的是TLL电平,所以要在TLL电路与CMOS电路之间进行电平转换。该系统选择了74LVT16245作为5 V逻辑电平到3.3 V逻辑电平的转换器件。所需要输出的频率可通过按键设定得到,进行的操作同时在液晶上进行显示。AD9852内部系统时钟频率由外部有源晶振倍频得到。

由于AD9852 的内部没有低通滤波器,因此经过内部余弦 DAC 输出的扫频信号不可避免地含有高频噪声,所以信号输出端口需外接低通滤波器抑制高频干扰[8]。该设计采用七阶椭园函数滤波器[9]。七阶椭圆滤波器电路图如图3所示。

图3 椭圆滤波器原理图

2.2 软件设计

软件设计主要分为菜单操作和频率控制值计算两部分。不同的按键代表着不同的数字和功能,除了正常的10个数字键0~9外,为了方便频率值输入,还设计了左右移动键、删除键、Output确认输出键等功能键。相应的数值如频率、相位、幅度输入完成后按Output输出键,即产生相应的信号输出。整体软件设计流程图如图4所示。

2.3 48 b频率控制字的处理

由于单片机C语言[10]中数据运算最多为32 b,如单精度Float型、Long长整型,而Double虽是64 b但Keil C编译时出错,故将介绍一种在单片机中计算48 b频率控制字的方法。

在该设计中取参考时钟频率f osc为300 MHz,在DDS的原理中介绍了输出频率的计算方法为:

fo=f osc*(FTW/2 48)

(1)

那么根据式(1)就能推导出计算频率控制字的表达式:

FTW=2 48*fo300 000 000

(2)

图4 信号发生器流程图

在计算频率控制字时采用分割法,通过所需输出频率高低来分割,并引入了临界频率fL的概念。

首先将48 b频率控制字分割成16 b+32 b,使前面的16 b都为0,则FTW=2 32时的fo为临界频率f L1,其值为:

f L1=300 000 000*2 32/2 484.577 kHz

当fo≤f L1时,频率控制字计算公式为:

FTW=(2 48*fo)/300 000 000938 249.922 369*fo

当fo>f L1时,通过把48 b频率控制字分成8 b+32 b+8 b,令最前面的8 b和最后面的8 b等于0,引入临界频率f L2,可由算式(1)计算得到:

f L2=300 000 000*2 40/2 481.171 72 MHz

当f L1<fo≤f L2时,得到频率控制字计算公式为:

FTW=(2 40*fo)/300 000 0003 665.038 759*fo

最后当fo大于f L2,即把后16 b定为0,这时式(1)中N=32,则频率控制字计算公式为:

FTW=2 32*fo300 000 00014.316 558*fo

此时频率分辨率为(300 000 000*2 16)/2 48 0.07 Hz。同理可得当输出频率小于f L1、大于f L1小于f L2时分辨率分别为1.07e-6 Hz和2.73e-4 Hz,本方案设计为输出频率低于1 MHz时分辨率为0.001 Hz,高于1 MHz时分辨率为0.1 Hz。由上可见此方法合理有效,解决了单片机48 b频率控制字算法,同时也达到了很高的频率分辨率和精确度。

3 结 语

针对目前市场上的函数发生器存在的频带范围窄、精度不高、准确度低、频谱纯度差等缺点,

设计了一款高精度高频数控函数信号发生器,该函数发生器具有频带范围宽、精度高、频谱纯度好、频率输出稳定等优点。经测试频率范围可以达到50 MHz,频率分辨率为 0.001 Hz,并可以产生正弦波、FSK与BPSK波形。可应用于日常教学与科研工作中,在晶体滤波器测试、复杂通信系统测试、音频系统测试、高性能视频测试等领域有广泛的应用前景。

参考文献

[1]Tierney J,Rader C M,Gold B.A Digit-al Frequency Synthesizer[J].IEEE Transactions on Audio and Electroacoustics,1971,AU-19:48-57.

[2]杨檍,鲍景富.现代频率合成技术的研究进展[J].电讯技术,2007,47(2):1-5.

[3]许慧波,张厥胜.DDS——直接数字式频率合成器综述[M].西安:西安电子科技大学出版社,1989.

[4]丁玉美.数字信号处理[M].2版.西安:西安电子科技大学出版社,2001.

[5]张玉兴,彭清泉.DDS的背景杂散信号分析[J].电子科技大学学报,1997,26(4):362-365.

[6]马丽.DDS芯片AD9852及其应用[J].国外电子测量技术,2003,22(5):6-8.

[7]Analog Devices Inc.AD9852 Datasheet[Z].2002.

[8]杨陈庆,杨玉梅.使用AD9852实现的10~12.2 MHz跳频源[J].国外电子元器件,2005(2):25-28.

[9]毛敏,郑珍,周渭.基于 DDS 的低通滤波器的设计与实现[J].电子技术,2006(3):17-20.

[10]马忠梅,刘滨,戚军,等.单片机 C 语言 Windows 环境编程宝典[M].北京:北京航空航天大学出版社,2003.

作者简介殷 雷 男,1982年出生,山东淄博人,硕士研究生。研究方向为智能仪表和嵌入式系统。

金海军 男,1979年出生,湖南邵东人,硕士研究生。研究方向为无线传感器网络技术。

李映雪 男,1982年出生,江西高安人,硕士研究生。研究方向为嵌入式系统应用。

余水宝 男,1954年出生,浙江金华人,教授。研究方向为信号检测与智能仪表嵌入式系统。