数字频率合成dds正弦波信号发生器

时间:2008-08-18
  在数字信号处理器飞速发展的今天,微处理器的应用已主领着电子技术领域的潮流,先进的数字信号处理技术,能实现各种复杂的功能。对正弦波信号发生器而言,数字DDS技术的诞生,使波形发生器技术有了进一步的飞跃。就数字DDS波形发生器和模拟振荡器对比而言,具有输出频率高,波形失真小,可由单片机或DSP微处理器对其进行通讯控制其输出频率,从而实现用数控方式来控制其输出频率,以适应高仪表或智能化系统信号发生器应用,从而克服传统方式通过模拟振荡带来的频率调整分辨率低,稳定性较差,无法实现和微处理器接口的智能化的缺点。基于该芯片能实现很宽范围的输出频率和可输出任何波形的特点。本文以DDS技术,介绍一种宽范围正弦波发生器的芯片。

  数字频率合成技术芯片ML2035 DDS(Digitai Direct Frequency Synthesis)是一种全数字化的频率合成器,由相位累加器、波形ROM、D/A转换器和低通滤波器构成。时钟频率给定后,输出信号的频率取决于频率控制字;频率分辨率取决于累加器位数;相位分辨率取决于ROM的地址线位数;幅度量化噪声取决于ROM的数据位字长和DIA转换器位数等。基于DDS信号发生器有如下优点:(1)频率分辨率高,输出频点多,可达N个频点(N为相位累加器位数);(2)频率切换速度快,可达μs量级;(3)频率切换时相位连续;(4)可以输出宽带正交信号;(5)输出相位噪声低,对参考频率源的相位噪声有改善作用;(6)可以产生任意波形;(7)全数字化便于集成,体积小,重量轻。 DDS的部件是相位累加器,它由N位加法器与N位相位寄存器构成,类似一个简单的计数器。每来一个时钟脉冲,相位寄存器的输出就增加一个步长的相位增量值,加法器将频率控制数据与累加寄存器输出的累加相位数据相加,把相加结果送至累加寄存器的数据输入端。相位累加器进入线性相位累加,累加至满量程时产生计数溢出,这个溢出频率即为DDS的输出频率。正弦查询表是一种可编程只读存储器(PROM),存储的是以相位为地址的一个周期正弦信号的采样编码值和包含一个周期正弦波的数字幅度信息,每个地址对应于正弦波中0~360°范围中的一个相位点。将相位寄存器的输出与相位控制字相加,得到的数据,作为一个地址对正弦查询表进行寻址,查询表把输入的地址相位信息映射成正弦波幅度信号,驱动DAC,输出模拟信号。低通滤波器滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。随着电子工程领域的实际需要以及数字集成电路和微电子技术的发展,DDS技术日益显露出它的优越性。

  ML2035就是Micro Linear公司的一款基于DDS技术的单片正弦信号发生芯片,它可以在几乎不需要其他外围器件的条件下,产生从直流到25kHz的正弦信号。该芯片具有如下特点:
●输出正弦信号频率为直流到25kHz;
●具有低增益误差和低谐波畸变性能;
●具有3线SPI兼容性串行微处理器接口,并具有数据锁存功能;
●具有不需要外围器件的全集成解决方案功能;
●频率分辨率可达1.5Hz(±0.75Hz)(当输入时钟频率为12MHz时);
●自带3~12MHz的内部晶振
●具有同步和异步的数据加载功能。

  该芯片兼容SPI通讯接口,通讯控制可以通过单片机或DSP以SPI协议模式写入需要的频率,其通讯时序见图2,各个电平的逻辑持续时间见表20芯片的数字接口部分,主要由移位寄存器和数据锁存器组成。 SID引脚上的16bits数据字在时钟SCK的上升沿时被送入16bits的移位寄存器。需要注意的是,应该先送位,送位。然后在LAI的下降沿触发下,送入移位寄存器的数据被锁存进数据锁存器。为了确保数据的有效锁存,LAI的下降沿应该发生在SCI为"低"电平期间。同理,在SID数据移位寄存器期间,LAI应该保持"低"电平。

  由于ML2035的控制字长为16比特,因此根据DDS的原理,可推导出ML2035的输出频率关系式为:


  相应地,ML2035的频率分辨率(频率)为

  由DDS的基本原理可以知道,由于ML2035频率分辨能力有限,输出的正3S信号将有可能出现误差。对于不同的参考时钟,将产生不同程度的频率误差,表1中列举了
  ML2035的常用晶振下的频率控制字和频率误差情况。


 


  ML2035还具有电源"休眠"功能,可以有效提高电源的使用效率,这对于便携式产品是极其有利的。当希望ML2035保持"休眠"时,可以向移位寄存器输入全"0",并向LATI加载"1"使其保持高电平。在这种情况下,ML2035的功耗可以降到11.5mW以下,而输出正弦信号的幅度降到0V。需要提及的是,在电路设计中应该对ML2035的电源输入端进行电源去耦处理。

  芯片的引脚分布见图1,该芯片只有八个引脚,高度的集成技术,实现了不需要外围元件的特点,该芯片的引脚功能介绍如下:

脚①:VSS,接地;
脚②:SCK,串行时钟输入引脚:
脚③:SID,串行数据输入引脚;
脚④:LATI,通讯数据锁存输入引脚(下降沿);
脚⑤:Vcc,正电源供电引脚(+5V)
脚⑥:VOUT,模拟输出,输出摆幅为vcc/2;
脚⑦:GND,全部输入输出的参考点引脚;
脚⑧:CLKIN,外部时钟输入引脚,该引脚可接入3~12MHz的数字时钟信号。



 

  图3是采用ML2035设计的简易式1000Hz的高的正弦信号发生器,输出正弦频率在理论上可达到0.00%。由前面的计算公式可以得知需要的频率控制字为1280,因此需要的控制位为1111 D1010 0000 0000(16bit)。这里74HC4060(计数器)的功能是振荡器和计时器,而74HC4002是高速CMOS四与非门器件。为了实现ML2035的输出正弦信号频率为1000Hz,必须在前8个脉冲移入8比特0,接下来的后8个脉冲移入1111 1010。

  
上一篇:Embedded Linux 技术与概念解析
下一篇:基于DM642的嵌入式网络视频服务器的设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料