基于AD9954的正弦信号发生器
:介绍了DDS的基本原理,DDS专用芯片AD9954的特性、内部结构和控制时序。提出了一种基于AD9954和微处理器的高精度正弦信号发生器的设计。文中给出了AD9954的硬件配置、控制线连接图,并重点对控制时序和软件做了讲解和说明。基于AD9954D的信号发生器的具有输出频率可调、稳定度高等特点,可应用于信号源和通信领域。
关键词: 直接数字频率合成(DDS 正弦信号发生器 
一、选题背景
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。正弦信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。
传统信号发生器的实现方法通常有以下几种:(1)用分立元件组成的函数发生器:通常是单函数发生器且频率不高,其工作不很稳定,不易调试。(2)可以由晶体管、运放IC等通用器件制作,更多的则是用专门的函数IC产生。早期的函数IC,如L8038BA205XR2207/2209等,它们的功能较少,精度不高,频率上限只有300kHz,无法产生更高频率的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。
本作品中采用一种新的技术称为DDS频率合成技术,它具有频率分辨率极高、频率切换速度快、切换相位连续、输出信号相位噪声低、可编程、全数字化易于集成、体积小、重量轻等优点。DDS在大部分操作中使用数字电路,从而提供了数字操作所拥有的许多优势。利用单片集成芯片AD9954所设计的正弦信号发生器,能产生精准的正弦信号,达到较高的频率,且易于调试,降低了函数发生器的复杂度,提高了函数发生器的稳定性。
二、系统总体设计
2.1 系统框图设计
系统结构如图l所示,是以ARM LPC2148为控制核心构成的最小系统,外接矩阵键盘控制实
现正弦信号的频率、幅度等参数的数字输入和微、粗调等控制;采用液晶Nokia5110模块实现实时显示输出信号幅度、频率以及用户所输入的参数数据等。
该正弦信号发生器结构设计简单,功能强大,实用可行,是本设计的突出的特点,没有复杂的电路设计,主要强调对系统的软件控制,简化了硬件结构,缩小了体积和功耗,增加了系统设计的灵活性和使得开发这样的系统更加的简单便捷。
                            1 系统总体设计框图
2.2 直接数字频率合成(DDS)的基本原理
直接数字频率合成与锁相频率合成的实现原理完全不通,其基本原理是将正弦函数表存放在ROM中,在输出时按照一定的时钟节拍从该ROM中读出相关的离散的代表正弦幅度值的二进制数,然后经过D/A变换并通过低通滤波,得到一个模拟的正弦波,改变读数的节拍频率或者取点的个数,就可以改变正弦波的频率,即通过控制相位的变化速度,直接产生各种不同频率信号的一种频率合成方法。DDS的基本结构如图2所示,它主要由相位累加器、正弦ROM表、D/A转换器和低通滤波器构成。DDS的基本结构原理如图2所示,其中主要包括:系统时钟、相位累加器、正弦查询表、DAC数模转换器和低通滤波器。
                        2  DDS原理图
其中,系统时钟Fclk用于各器件的同步;相位累加器由一个加法器和一个相位寄存器组成。相位累加器对应每个时钟脉冲累加一次,每次累加的量由频率控制字FTW来决定,然后将累加后得到的结果存人相位寄存器中,相位范围为,每个时钟周期内相位累加器以二进制形式去正弦查询                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  表里寻址,正弦查询表里存放的是一张相位信息与数字化正弦幅度相对应的表,正弦查询表输出的数字化正弦波形再经过DAC转换为正弦阶梯信号,最后通过低通滤波器就可以得到一个完美的正弦信号。
输出的频率F0是由参考时钟Fclk、相位累加器字长N和频率控制字FTW决定的,关系式如下:
F0= Fclk * FTW/2N                                                                                                                                                                        
三、硬件系统的控制
3.1 AD9954芯片性能简介
AD9954是采用先进的DDS技术开发的高集成度DDS器件。它内置高速、高性能D/A 转换器及超高速比较器,可用作数字编程控制的频率合成器,能产生200MHz的模拟正弦波。AD9954内含1024×32静态RAM,利用该RAM可实现高速调制,并支持几种扫频模式。AD9954可提供自定义的线性扫频操作模式,通过AD9954的串行I/O口输入控制字可实现快速变频且具有良好的频率分辨率。其应用范围包括灵敏频率合成器、可编程时钟发生器、雷达和扫描系统的FM调制源以及测试和测量装置等。
AD9954的基本原理框图如图3所示,有400MPS DDS核、14DAC、参考时钟输入电路、时钟和控制电路、比较器以及用户接口6部分组成。
                        3 AD9954的基本原理框图
AD9954的内部结构和引脚分布如图45所示,其主要特性如下:
内置400MSPS时钟;
内含14DAC
相位、幅度可编程;
32位频率转换字、14位相位转换字;
4个频率/相位偏置等级;
可用串行I/O控制;
内置超高速模拟比较器;
可自动线性和非线性扫频;
内部集成有1024×32RAM
采用1.8V电源供电;
支持大多数数字输入中的5V输入电平;
可实现多片同步;
                        4 AD9954内部结构图
   
                        5 AD9954的引脚分布图
3.2 AD9954的幅度控制
1)自动整形开/关键控
当自动整形开关键控被使能后,内部将在自动产生一个比例因子并且输入到乘法器用来控制DDS的输出幅度。比例因子有一个14位的计数器产生,该计数器的计数速度由一个8位寄存器的设置值来决定。当OSK引脚为高时,比例因子将增加;当OSK引脚为低时,比例因子将减小。比例因子为一个无符号数,为0时对应的DDS输出乘以0,为0x3fff时对应DDS输出乘以16383
比例因子没步增加或者减少的数量由幅度比例因子寄存器ASF的第15位和14位决定,其关系如表1所示。
1 比例因子每步增加或者减少的数量与ASF1514位的关系
ASF<1514>
每步增加或者减少的数量
00
1
01
2
10
4
11
8
该功能可以设置DDS输出的最大幅度,因为DDS的输出幅度受到ASF寄存器的限制。因此,用户可以利用该功能来设置DDS的输出幅度。
2)人工整形开/关键控
人工整形开/关键控即需要用户通过编程来设置输出幅度的比例因子,而不是内部自动产生。寄存器ASK定义了比例因子,因此在这种工作模式下,需要在编程时设置寄存器ASK来完成比例因子的设置。
3OSK斜率定时器
OSK斜率定时器用来为产生比例因子的14为计数器提供时钟信号。该定时器是一个计数器,当计数到1时,将载入寄存器ASF的值,在定时器使能后将会一直按照这种方式工作,除非强制在计数值未到1时重新载入值。
3.3 工作模式
1)单音模式
在该模式下,DDS核利用静态转换字工作。当有值被写入寄存器FTW0时,将被加到相位累加器中。该静态转换字只有在新的数据被写入寄存器FTW0同时更新I/0时才会改变。在这种模式下,相位将利用相位偏移寄存器的值来调整。
2RAM受控操作模式
应用这种模式,需要注意以下几点:
必须确保起始地址低于终止地址
改变profiles或者更新I/0都会自动终止当前扫频,并开始下一个扫频
RAM destination 置位将会使能RAM 输出驱动相位便宜加法器。RAM des-tination 位控制RAM输出驱动相位累加器或者相位偏移加法器。
RAM的操作模式有5种,如表2所示
2 RAM操作模式与设置
RSCW<7:5>
操作模式
说明
000
直接转换模式
profiles;无扫频,忽略no-dwell
001
上斜坡模式
profiles;扫频,no-dwell
010
双向斜变模式
有扫频,PS0位为直接控制位,忽略no-dwell
011
连续双向斜变模式
profiles,扫频,忽略no-dwell
100
连续循环模式
profiles,扫频,忽略no-dwell
101110111
未定义
默认为直接转换模式
3.4 AD9954的串行操作
AD9954的串行操作中,指令字节用来指定读/写操作和寄存器地址。由于串行操作是在寄存器级别上发生的,因此串行端口控制器应能识别指令字节寄存器地址和自动产生适当的寄存器字节地址。在串行操作指令阶段和通信阶段,一般先传送指令阶段的指令字,指令阶段对应于SCLK的前8个上升沿,其对应的指令字(8比特)包含了以下信息:
MSB
D6
D5
D4
D3
D2
三角函数查询表
D1
LSB
R/W
X
X
A4
A3
A2
A1
A0
其中R/W位用于决定指令字后的操作是读还是写,高电平为读出,低电平为写入;第65位的电平高低与操作无关;第40位则对应于A4A0,表示操作串行寄存器地址,该地址信息同时包含了与该指令字所在指令段对应的通信段的传送字节数。指令阶段后接着是通讯阶段,传送对应于字节数的几个通信周期。
通信周期完成后,AD9954的串口控制器即认为接下来的8SCLK的上升沿对应的是下一个通信周期的指令字。IOSYNC引脚为高时将立即终止当前的通信周期,而当IOSYNC引脚状
态回到低电平时,AD9954串口控制器即认为接下来的 8个系统时钟的上升沿对应的是下一个通信周期的指令字,从而保持通信的同步。
                        6 AD9954串行操作时序图
    AD9954的串行操作有两种数据传送方式,即从最高位开始传送和从最低位开始传送,这是由控制寄存器0的第8位来决定的。默认状态为低电平,此时先传送最高位,若为高电平则先传送最低位。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。