摘要:采用了直接数字频率合成技术(DDS)和计算机控制技术,选择美国Analog Devices公司的高度集成DDS芯片AD9851和AT89S52单片机作为控制器件,设计了一种基于DDS的程控信号发生器。用C语言进行了软件应用设计。实验结果表明,该信号发生器能较好地产生较高稳定度的激励信号,具有较高的实用价值。
关键词:DDS;信号发生器;AD9851;AT89S52
信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制和科学实验等领域。它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备。信号的频率和稳定度是信号发生器的重要指标,一般的信号发生器很难满足特定的要求,本文运用计算机控制技术和直接数字频率合成技术(Direct Digital Frequency Synthesis)开发出基于DDS的程控信号源。
1 系统总体设计
AD9851可以与多种单片机连接,以完成数据传递与控制等。本设计采用Atmel的单片机AT89S52。
AD9851与AT89S52的接口电路如图1所示。
该系统的硬件设计包含四个模块:
(1)数据传送控制电路。数据传送控制电路的主要功能是将AD9851所需要的频率/相位控制字通过AT89S52微处理器以并行方式或串行方式输入到AD9851的控制字寄存器。根据电路设计的整体思路和资源配置,这个电路可采用并行输入方式为AD9851输送40位频率/相位控制字。
(2)键盘控制电路。利用键盘可以实现向单片机输入数据、传送命令、切换功能等。键盘可分为独立式键盘和矩阵式键盘,本设计采用4×8矩阵式键盘。
(3)显示电路。键盘和LED显示器是单片机应用系统中实现人机对话的一种基本方式。在该频率显示系统的设计电路中,主要是由6个数码管、移位寄存器和3个LED指示等组成。
(4)单片机最小系统设计。
2 系统硬件电路设计
2.1 数据传送控制电路
如前所述,AD9851所需要的40位频率/相位控制字可通过AT89S52微处理器以并行方式或串行方式输入到AD9851的控制字寄存器。AD985 1的7脚(FQ_UD:频率更新控制),8脚(W_CLK:字输入时钟端),和22脚(RESTET:主复位端)分别由AT89S52单片机的三个I/O口P2.1,P2.0和P2.7控制,以更新AD8951的频率信号,字输入时钟信号和主复位信号,电路连接如图1所示。
40位频率/相位控制字是通过AD9851的8位数据输入端(D0~D7)与AT89S52的P0口的8个引脚(P0.0~P0.7)连接,由AT89S52经过P0口分5次传送。
数据传送过程如下:AD9851需要的40位频率/相位控制字(W0,W1,W2,W3,W4)首先预存储在AT89S52内部指定的5个8位存储器中。
(1)将AT89S52的P2.1,P2.0和P2.7全部置零,准备传送数据。AD9851的22脚(RESTET:主复位端)为高电平有效,当其为高电平时会将AD9851寄存器的所有数据清零。
(2)AD9851把W0数据传送到P0口,使AD9851的8个数据输入端(D0~D7)的数值赋为W0。
(3)然后,将单片机的P2.0置为高电平“1”,再将其置“0”,经过AD9851的字输入时钟脉冲W_CLK,W0的数值就进入了AD9851的40位数据输入寄存器。
(4)AD9851把W1数据传送到P0口,将单片机的P2.0置为高电平“1”,再将其置“0”,经过AD9851的字输入时钟脉冲W_CLK,W0的数值就进入了AD9851的40位数据输入寄存器。如此5次之后,W0~W4五组数据就全部传送到AD9851的数据输入寄存器之中。
(5)再将单片机的P2.1置为高电平“1”,使得AD9851的频率更新控制端(FQ_UD)经过频率更新控制信号脉冲,W0~W4共五组数据由AD9851的数据输入寄存器输入到AD9851的频率/相位寄存器,刷新频率/相位寄存器中的原有数值。由此,AD9851的21脚(IOUT端)就输出由W0~W4决定的一定频率和相位的正弦波。
2.2 键盘控制电路
键盘是人工干预单片机进行控制的重要手段,可以实现向单片机输入数据、传送命令、切换功能等。键盘可分为独立式键盘和矩阵式键盘,独立式键盘结构简单,各个键彼此独立,每个按键与一根数据输入线相连。该结构简单,使用方便,但是,随着按键数量的增加所占用的I/O口线也同时增加。
2.3 显示电路
键盘和LED(Light Emitting Diode)显示是单片机应用系统实现人机对话的基本方式。频率显示电路主要由移位寄存器74HC164、数码管以及发光二极管组成,根据数码管驱动方式的不同,可以分为静态式和动态式两类。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多。实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
由于编程简单,且I/O口可以满足需要,本设计选用静态显示方式。在静态的显示方式下,每位数码管的a~h端与一个8位的I/O口相连。当要在某一个数码管上显示字符时,只要从对应的I/O口输出并锁存其显示代码即可。
AD9851输出的正弦波最大频率为70 MHz,分辨率为0.04 Hz,所以本设计选择6个数码管显示,同时选择6个移位寄存器74HC164。74HC1 64是8位串行输入并行输出移位寄存器,每接一片74HC164可以扩展一个8位并行输出口,作为LED显示器的8根段选线。显示电路因由6个数码管组成,因此有6个74HC164级联在一起,前一级74HC164的QH端同时作为下一级74HC164的串行数据输入端。最左边的74HC164的数据输入端的数据是由AT89S52的P3.0脚模拟串行输入数据,所有的74HC164的同步时钟输入端(Clock)连接在一起,由单片机的P3.1脚模拟时钟输入。
但是如果只有6个数码管显示是不够的,因此,加入3个发光二极管,把输出频率数值分为Hz,kHz,MHz三个档。3个发光二极管分别经过200 Ω的电阻由单片机的P3.4,P3.5,P3.6控制。例如,当输出频率应以kHz为单位时,“kHz”发光二极管亮,则数码管显示的频率数值是以kHz为单位的,这样就能精确显示0~70 MHz的频率范围。
2.4 AT89S52和AD9851最小应用系统设计
单片机最小应用系统是指没有外围器件及外设接口扩展的单片机系统。它是单片机应用系统的设计基础,包括最小系统结构选择、时钟系统设计和复位系统设计。通常情况下,单片机最小应用系统分三种结构:
(1)总线型总线应用的最小系统结构,该结构由总线型单片机、复位电路、时钟电路、I/O口及并行扩展总线组成。
(2)总线型非总线应用的最小系统结构,是只有单片机、复位电路构成的最简单的电路,并行总线不用于外围扩展;可作为应用系统的I/O口使用。
(3)非总线型单片机的最小系统结构。本设计中的电路连接图(图1)属于总线型非总线应用的最小系统结构。
最小应用系统设计中单片机的选择一般遵循以下原则:
(1)所选的单片机应最大程度的满足构成单片机最小应用系统的要求,即性能/配置比约为1。
(2)根据产品要求,优先选择专业型单片机。最小系统的结构与所选的单片机型号有关。
2.4.1 AT89S52单片机的时钟系统设计
AT89S52的振荡器有两种组成方式,即片内振荡器和片外振荡器。本设计选择片内振荡器的组成方式。
2.4.2 AT89S52单片机的复位系统设计
复位即是在复位端加不小于指定宽度的低电平(低电平复位)或高电平(高电平复位)信号使单片机的硬件处于初始状态。单片机复位有低电平复位和高电平复位两种,电平复位引脚定义为RST或RESET。
单片机的复位通常有上电复位,信号复位和运行监控复位三种方式。本电路设计采用按键电平复位方式,实际上属于上电复位和按键手动复位形式。
2.4.3 AD8951应用设计
AD9851可以产生一个频谱纯正,频率和相位均可编程控制且稳定度很好的模拟正弦波,AD9851的应用设计图如图2所示。在电路中,40位的频率/相位控制字由AT89S52的P0口输入AD9851的数据输入端(D0~D7),采用并行方式传送数据。在AD9851中,为了避免要求高速参考时钟振荡器,在AD9851的内部有一个6倍频参考时钟乘法器,这就减少了由于外部频率源过高而产生的相位噪声,外部只需30 MHz的有源振荡器。AD9851内部的高速比较器可接收DAC外部的低通滤波器的输出,产生一个低抖动输出脉冲,这个脉冲的频率和相位可以通过程序来进行调解。
3 DDS信号发生器软件设计
3.1 总体流程图
总体流程图如图3所示。
3.2 部分模块子程序设计
数据传送控制电路的程序设计:
4 结论
在现代科研,教学实验,通信系统以及各种电子测量系统中,具有高精度,频率可调,高稳定度,频率输出范围大的信号源是非常重要的。本文基于DDS技术,选择了Analog Devices公司的高度集成芯片AD9851,采用AT89S52单片机作为控制,以此为基础,分别进行了系统的硬件部分(包括数据传送电路,键盘控制电路,频率显示电路和最小应用系统设计)和基于C语言的软件设计,电路输出波形具有高稳定度,高精度,高分辨率,可靠性强,频率输出范围大且可调,相位连续等优点。