基于ad9954的正弦信号发生器.docx
- 文档编号:27779684
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:15
- 大小:380.55KB
基于ad9954的正弦信号发生器.docx
《基于ad9954的正弦信号发生器.docx》由会员分享,可在线阅读,更多相关《基于ad9954的正弦信号发生器.docx(15页珍藏版)》请在冰豆网上搜索。
基于ad9954的正弦信号发生器
基于AD9954的正弦信号发生器
摘要:
介绍了DDS的基本原理,DDS专用芯片AD9954的特性、内部结构和控制时序。
提出了一种基于AD9954和微处理器的高精度正弦信号发生器的设计。
文中给出了AD9954的硬件配置、控制线连接图,并重点对控制时序和软件做了讲解和说明。
基于AD9954D的信号发生器的具有输出频率可调、稳定度高等特点,可应用于信号源和通信领域。
关键词:
直接数字频率合成(DDS)正弦信号发生器
一、选题背景
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
各种波形曲线均可以用三角函数方程式来表示。
正弦信号发生器在电路实验和设备检测中具有十分广泛的用途。
例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。
在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。
传统信号发生器的实现方法通常有以下几种:
(1)用分立元件组成的函数发生器:
通常是单函数发生器且频率不高,其工作不很稳定,不易调试。
(2)可以由晶体管、运放IC等通用器件制作,更多的则是用专门的函数IC产生。
早期的函数IC,如L8038、BA205、XR2207/2209等,它们的功能较少,精度不高,频率上限只有300kHz,无法产生更高频率的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。
本作品中采用一种新的技术称为DDS频率合成技术,它具有频率分辨率极高、频率切换速度快、切换相位连续、输出信号相位噪声低、可编程、全数字化易于集成、体积小、重量轻等优点。
DDS在大部分操作中使用数字电路,从而提供了数字操作所拥有的许多优势。
利用单片集成芯片AD9954所设计的正弦信号发生器,能产生精准的正弦信号,达到较高的频率,且易于调试,降低了函数发生器的复杂度,提高了函数发生器的稳定性。
二、系统总体设计
2.1系统框图设计
系统结构如图l所示,是以ARMLPC2148为控制核心构成的最小系统,外接矩阵键盘控制实现正弦信号的频率、幅度等参数的数字输入和微、粗调等控制;采用液晶Nokia5110模块实现实时显示输出信号幅度、频率以及用户所输入的参数数据等。
该正弦信号发生器结构设计简单,功能强大,实用可行,是本设计的突出的特点,没有复杂的电路设计,主要强调对系统的软件控制,简化了硬件结构,缩小了体积和功耗,增加了系统设计的灵活性和使得开发这样的系统更加的简单便捷。
图1系统总体设计框图
2.2直接数字频率合成(DDS)的基本原理
直接数字频率合成与锁相频率合成的实现原理完全不通,其基本原理是将正弦函数表存放在ROM中,在输出时按照一定的时钟节拍从该ROM中读出相关的离散的代表正弦幅度值的二进制数,然后经过D/A变换并通过低通滤波,得到一个模拟的正弦波,改变读数的节拍频率或者取点的个数,就可以改变正弦波的频率,即通过控制相位的变化速度,直接产生各种不同频率信号的一种频率合成方法。
DDS的基本结构如图2所示,它主要由相位累加器、正弦ROM表、D/A转换器和低通滤波器构成。
DDS的基本结构原理如图2所示,其中主要包括:
系统时钟、相位累加器、正弦查询表、DAC数模转换器和低通滤波器。
图2DDS原理图
其中,系统时钟Fclk用于各器件的同步;相位累加器由一个加法器和一个相位寄存器组成。
相位累加器对应每个时钟脉冲累加一次,每次累加的量由频率控制字FTW来决定,然后将累加后得到的结果存人相位寄存器中,相位范围为
,每个时钟周期内相位累加器以二进制形式去正弦查询表里寻址,正弦查询表里存放的是一张相位信息与数字化正弦幅度相对应的表,正弦查询表输出的数字化正弦波形再经过DAC转换为正弦阶梯信号,最后通过低通滤波器就可以得到一个完美的正弦信号。
输出的频率F0是由参考时钟Fclk、相位累加器字长N和频率控制字FTW决定的,关系式如下:
F0=Fclk*FTW/2N
三、硬件系统的控制
3.1AD9954芯片性能简介
AD9954是采用先进的DDS技术开发的高集成度DDS器件。
它内置高速、高性能D/A转换器及超高速比较器,可用作数字编程控制的频率合成器,能产生200MHz的模拟正弦波。
AD9954内含1024×32静态RAM,利用该RAM可实现高速调制,并支持几种扫频模式。
AD9954可提供自定义的线性扫频操作模式,通过AD9954的串行I/O口输入控制字可实现快速变频且具有良好的频率分辨率。
其应用范围包括灵敏频率合成器、可编程时钟发生器、雷达和扫描系统的FM调制源以及测试和测量装置等。
AD9954的基本原理框图如图3所示,有400MPSDDS核、14位DAC、参考时钟输入电路、时钟和控制电路、比较器以及用户接口6部分组成。
图3AD9954的基本原理框图
AD9954的内部结构和引脚分布如图4、5所示,其主要特性如下:
●内置400MSPS时钟;
●内含14位DAC;
●相位、幅度可编程;
●有32位频率转换字、14位相位转换字;
●4个频率/相位偏置等级;
●可用串行I/O控制;
●内置超高速模拟比较器;
●可自动线性和非线性扫频;
●内部集成有1024×32位RAM;
●采用1.8V电源供电;
●支持大多数数字输入中的5V输入电平;
●可实现多片同步;
图4AD9954内部结构图
图5AD9954的引脚分布图
3.2AD9954的幅度控制
(1)自动整形开/关键控
当自动整形开关键控被使能后,内部将在自动产生一个比例因子并且输入到乘法器用来控制DDS的输出幅度。
比例因子有一个14位的计数器产生,该计数器的计数速度由一个8位寄存器的设置值来决定。
当OSK引脚为高时,比例因子将增加;当OSK引脚为低时,比例因子将减小。
比例因子为一个无符号数,为0时对应的DDS输出乘以0,为0x3fff时对应DDS输出乘以16383。
比例因子没步增加或者减少的数量由幅度比例因子寄存器ASF的第15位和14位决定,其关系如表1所示。
表1比例因子每步增加或者减少的数量与ASF第15、14位的关系
ASF<15:
14>
每步增加或者减少的数量
00
1
01
2
10
4
11
8
该功能可以设置DDS输出的最大幅度,因为DDS的输出幅度受到ASF寄存器的限制。
因此,用户可以利用该功能来设置DDS的输出幅度。
(2)人工整形开/关键控
人工整形开/关键控即需要用户通过编程来设置输出幅度的比例因子,而不是内部自动产生。
寄存器ASK定义了比例因子,因此在这种工作模式下,需要在编程时设置寄存器ASK来完成比例因子的设置。
(3)OSK斜率定时器
OSK斜率定时器用来为产生比例因子的14为计数器提供时钟信号。
该定时器是一个计数器,当计数到1时,将载入寄存器ASF的值,在定时器使能后将会一直按照这种方式工作,除非强制在计数值未到1时重新载入值。
3.3工作模式
(1)单音模式
在该模式下,DDS核利用静态转换字工作。
当有值被写入寄存器FTW0时,将被加到相位累加器中。
该静态转换字只有在新的数据被写入寄存器FTW0同时更新I/0时才会改变。
在这种模式下,相位将利用相位偏移寄存器的值来调整。
(2)RAM受控操作模式
应用这种模式,需要注意以下几点:
●必须确保起始地址低于终止地址
●改变profiles或者更新I/0都会自动终止当前扫频,并开始下一个扫频
●将RAMdestination置位将会使能RAM输出驱动相位便宜加法器。
RAMdes-tination位控制RAM输出驱动相位累加器或者相位偏移加法器。
RAM的操作模式有5种,如表2所示
表2RAM操作模式与设置
RSCW<7:
5>
操作模式
说明
000
直接转换模式
有profiles;无扫频,忽略no-dwell
001
上斜坡模式
有profiles;扫频,no-dwell
010
双向斜变模式
有扫频,PS0位为直接控制位,忽略no-dwell
011
连续双向斜变模式
有profiles,扫频,忽略no-dwell
100
连续循环模式
XX文库-让每个人平等地提升自我有profiles,扫频,忽略no-dwell
101,110,111
未定义
默认为直接转换模式
3.4AD9954的串行操作
在AD9954的串行操作中,指令字节用来指定读/写操作和寄存器地址。
由于串行操作是在寄存器级别上发生的,因此串行端口控制器应能识别指令字节寄存器地址和自动产生适当的寄存器字节地址。
在串行操作指令阶段和通信阶段,一般先传送指令阶段的指令字,指令阶段对应于SCLK的前8个上升沿,其对应的指令字(8比特)包含了以下信息:
MSB
D6
D5
D4
D3
D2
D1
LSB
R/W
X
X
A4
A3
A2
A1
A0
其中R/W位用于决定指令字后的操作是读还是写,高电平为读出,低电平为写入;第6、5位的电平高低与操作无关;第4~0位则对应于A4~A0,表示操作串行寄存器地址,该地址信息同时包含了与该指令字所在指令段对应的通信段的传送字节数。
指令阶段后接着是通讯阶段,传送对应于字节数的几个通信周期。
通信周期完成后,AD9954的串口控制器即认为接下来的8个SCLK的上升沿对应的是下一个通信周期的指令字。
IOSYNC引脚为高时将立即终止当前的通信周期,而当IOSYNC引脚状态回到低电平时,AD9954串口控制器即认为接下来的8个系统时钟的上升沿对应的是下一个通信周期的指令字,从而保持通信的同步。
图6AD9954串行操作时序图
AD9954的串行操作有两种数据传送方式,即从最高位开始传送和从最低位开始传送,这是由控制寄存器0的第8位来决定的。
默认状态为低电平,此时先传送最高位,若为高电平则先传送最低位。
3.5AD9954的RAM
AD9954内部的1024×32静态RAM具有双向单一入口,对它进行的读/写操作不能同时进行,写操作优先。
RAM的使能位是CFR<31>(控制功能寄存器31位),此位为低时,对RAM的操作只能通过串行端口;此位为高且CFR<30>为逻辑0时,RAM的输出为相位累加器的输入,此时给芯片提供的是频率转换字;此位为高且CFR<30>为逻辑1时,RAM的输出可作为相位偏移加法器的输入给芯片提供相位偏移控制字。
写RAM的操作首先通过控制PS1、SP0来选择RAM段。
然后再对相应的RAM控制寄存器写RAM操作的地址变化率、起始地址、终止地址、模式控制和停留方式位。
RAM段控制寄存器的第5、6、7位可用来指示RAM操作的5种模式,即直接转换模式、上斜坡模式、双向斜变模式、连续双向斜变模式和连续循环模式。
其中连续循环模式是使能RAM,RAM模式控制字为100,这种模式可提供自动、连续、单向的扫频,地址发生器从起始地址开始,当其增加到终止地址后会自动回到起始地址重新开始下次循环。
RAM段控制寄存器的第39~24位可定义RAM控制器在每个地址停留的SYNC_CLK的周期数,取值范围是1~65535;第9、8、23~16位用于定义10位终止地址;第3~0、15~10位则用于定义10位起始地址。
3.6矩阵键盘
键盘作为一种最为普通的输入工具显得尤为重要。
由于设计中需要实现多种多样的功能,如图7的矩阵键盘原理图,设计中选择了扩展性强的连线少的常用的矩阵键盘,将其外接于ARM的IO口中;实现了该信号发生器的控制功能的多样性也节省了I/O口
图7矩阵键盘原理图
如图8为键盘的功能面板,数字键用于输入使用者所要的频率或者幅度的数值;频率键表明是对频率的调节;幅度键是对幅度的调节控制;其中还加有对幅度的微、粗调的“+”、“-”键等;
图8键盘功能分布图
3.7液晶显示模块--诺基亚5110液晶显示屏
液晶显示的主要功能是用于显示当前用户输入的频率数值,幅度的数值以及改变时的频率和幅度的数值。
诺基亚5110液晶显示屏的主控芯片是PCD8544,PCD8544是一块低功耗的CMOSLCD控制驱动器,设计为驱动48行84列的图形显示。
所有必须的显示功能集成在一块芯片上,包括LCD电压及偏置电压发生器,只须很少外部元件且功耗小。
因为ARM核心板上面本身有一个JATG接口用于连接它所配套的液晶显示屏,所以使用起来比较方便,而且ARM核心板中已经为我们分配好了引脚,利用SPI功能来对其进行操作控制,控制简单。
四、软件系统控制
4.1AD9954的软件设计
ARM处理器的控制程序包括按键程序,输出频率、幅度等的显示程序、AD9954初始设置程序以及按键指令与AD9954控制指令间的转换程序。
大致程序流程如图9所示,开始ARM处理器会对AD9954进行一些初始设置,包括时钟选择,串口传输模式设置,初始频率输出设置等,初始输出频率为IMHz,同时在显示屏上实时显示频率、幅度等参数,等查询到有按键按下时,首先在显示屏上显示相应按键指令,然后等到确认按键按下后,才进行相应的指令处理,对AD9954进行改变输出信号的控制,输出相应的信号;当确认键不按下时,ARM中央处理器不会改变向AD9954传输的控制指令。
图9AD9954程序流程图
注意,在软件编写的时候,要注意AD9954的时序问题(分指令周期和数据周期),由于速度比较快,所以考虑不周到会容易出错;其次是各个器件间的协调,由于此次处理器要对三个部件进行控制,所以要注意程序可靠性和稳定性。
4.2单频信号的产生
采用AD9954的单音模式来产生单频信号。
AD9954的上电模式即为单音频模式,此种模式下RAM未使能不可用,DDS核使用的是单一的频率控制字;寄存器FTW0驱动频率转换寄存器,POW驱动相位偏移器。
其中FTW0是32位的寄存器,POW是14位的寄存器。
程序设计流程图如图10所示,可以通过设置CFR<12>来控制输出为正弦或者余弦信号,默认为余弦信号。
设置好各个端口后,然后配置AD9954的CFR1、CFR2、FTW0和POW0更新I/OUPDATE引脚后,系统即可输出与FTW0相对应频率的单频信号,如图10所示。
图10单频信号产生的流程图
4.3FSK的产生
采用AD9954的RAM的直接转换模式模式来产生FSK信号,此种模式下各个RAM段只有首地址的数据有效,不支持扫频模式,通过PS<1:
0>的值控制RAM段的选择。
由于不同RAM段首地址存放的数据不同,所以选择不同的PS<1:
0>就选择了不同的数据来驱动相位累加器或者相位偏移器,从而达到了FSK的效果。
使用两个RAM段可以实现2FSK,使用4个RAM段则可以实现4FSK。
2FSK的程序设计流程图如图11所示。
图11FSK产生流程图
整个过程首先是在程序末端开辟数据区,设置基带信号和2个载波频率值,接着配置AD9954的CFRl、CFR2、RSCWO和RSCWl寄存器,为方便起见,可以使每个RAM段都为1×32位.定义2个段的起始地址和工作方式000即直接转换模式之后,将数据区的数据写入2个RAM段,最后根据基带信号的0、1改变PS0、PSl的值,就能输出相应RAM段首地址数据对应频率的信号,即产生了2FSK信号。
五、结论
AD9959芯片是一片性价比比较高的DDS芯片,速度快,输出波形稳定,频率、相位和幅度皆可控制且分辨率高,可选多串口数据传送,大大提高了数据传输速度,由于是4通道设计且各个通道可独立控制,所以可以满足不同的调制形式,大大扩大了其应用范围,这是其他很多芯片所不能比拟的。
本文完成了正弦信号发生器的系统设计、硬件PCB设计和实现,和相应的产生信号的软件设计。
该信号发生器可以产生1Hz-10MHz频带内单频信号、FSK、PSK等常规通信信号。
该信号发生器具有输出频率准确、频率稳定度高、频率分辨率高、频率转换速度快等特点,满足工程上的应用的需要。
参考文献
[1]许惠波,张厥盛.DDS-直接数字式频率合成综述[M].西安电子科技大学出版社1989.
[2]张静,李廷军,刘长茂,等.基于DDS的高分辨率信号发生器的实现[J].现代电子技术,2004,27(14):
4-5.
[3]许加枫,刘抒珍,刘小红.高性能DDS芯片AD9954以及应用[J].国外电子元器件.2004,11(6):
23-26.
[4]宋万杰.罗丰.吴顺军.CPLD技术及其应用[M]。
西安电子科技大学出版社1999.107—109.
[5]AD9954datasheet.ADIne,2003.
[6]申敏,邓矣兵,郑建宏.等.DSP原理及其在通信中的应用[M].北京:
人民邮电出版社,2001.
[7]崔建鹏,赵敏,江帆.采用DDS技术实现的虚拟任意波形发生器[J].计算机测量与控制,2003,6(7):
53-55.
[8]汪春梅,孙洪波,任治刚。
等.TMS320c50000DsP系统设计与开发实例[M].北京:
电子工业出版社,2004.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ad9954 正弦 信号发生器