毕业设计(论文)基于DDS技术的任意波形发生器的设计_第1页
毕业设计(论文)基于DDS技术的任意波形发生器的设计_第2页
毕业设计(论文)基于DDS技术的任意波形发生器的设计_第3页
毕业设计(论文)基于DDS技术的任意波形发生器的设计_第4页
毕业设计(论文)基于DDS技术的任意波形发生器的设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、yibin university基于dds技术的任意波形发生器的设计专 业: 电子信息科学与技术 学生姓名: 院 系: 物理与电子工程学院 年级、班: 2012级励志班 指导教师: 2014年6月6日 摘 要本系统设计一个正弦信号发生器。,使用cortex-m4单片机作为中央控制器,cortex-m4 处理器是由 ti 专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。 高效的信号处理功能与 cortex-m 处理器系列的低功耗、低成本和易于使用的优点的组合,旨在满足专门面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别的灵活解

2、决方案。传统的频率合成器,通常从一排晶振荡器产生的各种频率通过开关进行频率混合。也有的采用众所周知的锁相环(pll)技术实现频率合成。随着数字技术的飞速发展,用数字控制方法从一个参考频率源产生多种频率,即直接数字合成技术(dds)异军突起。本设计使用世界流行的美国adi公司生产的ad9850频率合成器正是应用这种dds技术的典型热门产品之一,ad9850采用先地蝗cmos工艺,其功耗在3.3v供电时仅为155mw,扩展工业级温度范围为-4080,采用28脚ssop表面封装形式,结合dds芯片ad9850,产生015mhz频率可调的正弦信号;调制信号为1khz的正弦波,调制信号的产生采用dds技

3、术;系统采用全中文菜单操作方式,操作简单,快捷,且系统的精度和稳定性高。关键字:正弦信号cortex-m4ad9850dds技术 1 前言信号发生器广泛应用于电子电路、自动控制和科学试验等领域。是一种为电子测量和计量工作提供符合严格技术要求的电信号设备,也是应用最广泛的电子仪器之一,几乎所有的电参量的测量都需要用到信号发生器。本设计研究的信号发生器的基本思路是:基于dds芯片ad9850基础的任意波形发生器。系统是基于ad9850芯片产生的波形。它是由相位累加器、正弦查询表、d/a转换器组成的集成芯片。其中相位累加器的位数n=32位,寻址ram用14位,舍去18位,采用高速10位数模转换,dd

4、s的时钟频率为125mhz,输出信号频率分辨率可达0.0291hz;系统的微处理器采用cortex-m4,外围电路主要是接口电路、调幅电路、滤波电路和积分电路的设计。同时还包括键盘接口。系统的软件主要是启动和初始化cortex-m4,然后处理键盘输入的频率控制字和相位控制字,并将其转换为32位的二进制数的控制字,最后并行递交给ad9850并启动ad9850,让它实现从正弦查询表中取数产生波形再输出。2.方案设计2.1 dds的基本原理1971年,美国学者j. tierncy, c. m. rader和b. gold提出了以全数字技术,从相位概念出发直接合成所需波形的一种新的频率合成原理。限于当

5、时的技术和器件水平,它的性能指标尚不能与已有的技术相比,故未受到重视。近20年间,随着技术和器件水平的提高,一种新的频率合成技术直接数字合成频率合成(dds)得到了飞速的发展,它以有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的佼佼者。dds基本原理图如图1所示,dds由相位累加器,只读存储器,数模转换器dac及低通滤波器组成。 以合成正弦波为例,幅值表rom中存有正弦波的幅值码,相位累加器在时钟fc的触发下,对频率控制字k进行累加,相位累加器输出的相位序列(即相码)作为地址去寻址rom,得到一系列离散的幅度编码(即幅码)。该幅码经过dac变换后得到模拟的阶梯电压,再经过低通滤波

6、器平滑后,即得到所需的正弦信号。一般将相位累加器和rom合称为nco(数控振荡器) clockba相位累加器波形存储器d/alpf频率控制字 图1 dds的基本原理图 相位累加器的结构如图2所示,由n位字长的二进制加法器与一个由时钟取样所得的n位二进制相位累加寄存器级联构成,加法器的一个出入端与相位寄存器的输出端相连,另一个输入端相连,另一个输入端是外部的频率控制字k。每来一个时钟脉冲,加法器将频率控制数据与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟的作用下继续与

7、频率控制数据相加。这样,相位累加器在参考时钟的作用下,进行线性相位累加,当相位累加器累加满是就会产生一次溢出,完成一个周期性的动作,这个周期就是dds合成信号的一个频率周期,累加器的溢出频率就是dds输出的信号频率。 图2 相位累加器的结构设相位累加器的位数为n,时钟频率为fc, 当频率控制字为k时,dds的输出频率fo为: fo=kfc/2n2.2 dds的特点 其主要优点有:(1)频率转换快:dds频率转换时间短,一般在纳秒级;(2)分辨率高:大多数dds可提供的频率分辨率在1 hz数量级,许多可达0.001 hz;(3)频率合成范围宽;(4)相位噪声低,信号纯度高;(5)可控制相位:dd

8、s可方便地控制输出信号的相位,在频率变换时也能保持相位联系;(6)生成的正弦/余弦信号正交特性好等。因此,利用dds技术特别容易产生频率快速转换、分辨率高、相位可控的信号这在电子测量、雷达系统、调频通信、电子对抗等领域具有十分广泛的应用前景。2.3 系统的总体设计2.3.1 本设计的技术指标 本设计要求的波形发生器可产生正弦波、方波、三角波以及便于产生频率可变而且具有高分辨率的波形。它要求频率范围在0mhz40mhz,要求幅值范围在 -10v+10v。2.3.2 系统方案本设计采用的是直接数字法设计波形发生器中的基于相位累加器的数字频率合成法。这种结构主要由相位累加器、数据存储器、d/a转换器

9、、低通滤波器组成,它是一种全新的直接数字合成方式。 图3 基于相位累加器的直接数字合成结构图在此设计中的基于dds技术的信号发生器,是通过用单片机编程将控制字并行送入dds芯片ad9850,然后由ad9850产生波形输出,即采用基于相位累加器的数字频率合成法,利用直接数字合成芯片ad9850产生波形。在该芯片中集成了相位累加器、正弦查询表、d/a转换器以及高速的比较器。我们再加入单片机、滤波器和一个微分电路就可实现我们所要的波形了。要想实现我们想要的频率和幅度值,因为在dds系统中决定频率大小的是频率控制字,所以我们可以通过键盘由用户键入十进制数,再由单片机编程控制将十进制转化成对应的二进制,

10、然后送入ad9850产生波形。而幅值是通过调幅电路实现的。2.3.3 系统原理图 考虑到各方面的原因,可以得到系统框图如下: 图4 系统总框图此系统主要由键盘、接口电路、m4、dds芯片ad9850及调理电路5部分组成。外围电路由单片机的复位电路和振荡电路组成。调理电路部分由低通滤波器、调幅电路和微分电路组成。3 单元电路设计3.1 单片机的选择现在单片机种类比较多,在本设计中我们选择cortex-m4单片机。 cortex-m4单片机的基本组成请参见图5 图5 cortex-m4 单片机结构框图 cortex-m4 处理器已设计为具有适用于数字信号控制市场的多种高效信号处理功能。cortex

11、-m4 处理器采用扩展的单周期乘法累加 (mac) 指令、优化的 simd 运算、饱和运算指令和一个可选的单精度浮点单元 (fpu)。这些功能以表现 arm cortex-m 系列处理器特征的创新技术为基础。 32 位 arm cortex-m4f 架构针对小封装嵌入式应用进行了优化 80-mhz 运行速度;100 dmips 性能 优越的处理性能和更快的中断处理。 混合 16 位/32 位的 thumb-2 指令集提供与 32 位 arm 内核所期望的高性能而采用了更紧凑的内存大小,而这通常在 8 位和 16 位设备相关的存储容量中,特别是在微控制器级应用的几千字节存储中。 单周期乘法指令和

12、硬件除法器 精确的位操作(bit-banding),不仅最大限度的利用了存储器空间而且还改良了对外设的控制 非对齐式数据访问,使数据能够更为有效的安置到存储器中 符合 ieee754 的单精度浮点单元 (fpu) 16 位 simd 矢量处理单元 快速代码执行允许更低的处理器时钟和增加休眠模式时间 harvard 结构 - 将数据和指令所使用的总线进行了分离 高效的处理器内核,系统和存储器 硬件除法和以快速数字信号处理为导向的乘加 采用饱和算法处理信号 对时间苛刻的应用提供可确定的, 高性能的中断处理 存储器保护单元为操作系统机能提供特权操作模式 增强的系统调试提供全方位的断点和跟踪能力 串行

13、线调试和串行线跟踪减少调试和跟踪过程中需求的管脚数 从 arm7 处理器系列中移植过来,以获得更好的性能和电源效率 针对高达指定频率的单周期 flash 存储器使用情况而设计。详见 “内部存储器”图6 cortex-m4引脚图cortex-m4f 系统组件细节cortex-m4f 包含以下系统组件: systick24 位的递减定时器,可被用作实时操作系统 (rtos) 的节拍定时器,或者作为一个简单的计数 器,参见 “系统定时器(systick)” 嵌套式向量化中断控制器(nvic)一个嵌入的中断控制器,支持低延迟中断处理,参见 “嵌套式向量化中断控制器 (nvic)” 系统控制模块 (sc

14、b)处理器的编程模型接口。系统控制块 (scb) 提供系统实现信息和系统控制,包括系统异常的配 置、控制和报告(请参考“系统控制模块 (scb)”(107页)。 存储器保护单元 (mpu)通过为不同的内存区定义内存属性来提高系统的稳定性。mpu 提供多达 8 个不同区和一个可选 的预定义的背景区,参见 “存储器保护单元 (mpu)” 浮点单元 (fpu)完全支持单精度的加、减、乘、除、乘加以及平方根操作。它还可用于转换定点和浮点数据格 式,并提供浮点常数指令3.2 dds芯片ad9850的主要性能ad9850 是美国ad 公司生产的最高时钟速率为125mhz ,采用先进的cmos 技术制造出来

15、的直接数字式频率合成器。它具有频率分辨率高、输出频谱纯度高和快速频率转换等性能,同时,该器件还具有体积小、使用简便、性能价格比高的优点。在便携式通信、雷达系统、跳频通信等领域具有广泛的应用前景。ad9850的主要性能特点(1)125mhz时钟速度(2)集成在一块集成电路板上的高性能dac和高速比较器(3)在40mhz模拟输出时,dac输出的sfdr50db(4)32b 频率控制字(5)简单的控制接口:并行或串行输入形式(6)具有相位调制能力。(7) +3.3v或+5v电源均可工作。(+5v时,380mw、125m时钟;+3.3v时,155mw)(8)功率下调功能(9)极小的28管脚表面封装形式

16、ad9850主要可用于以下几个方面:(1)灵活可变的正弦波合成器(2)可用于数字通信的时钟恢复和锁定回路(3)数控adc译码器(4)灵活可变的本振合成器。ad9850的管脚介绍ad9850外形图如下图:d0 d4 d1 d5d2 d6d3 lsb msb d7dgnd dgnddvdd dvddw_clk resetfq_ud ioutclkin ioutb agnd agnd avdd avdd rset dacbl qoutb vinpqout vinn 图7 ad9850的引脚排列图管脚功能说明:clkin:参考时钟输入,此时钟输入可以是连续的cmos序列,也可以是经1/2电源电压偏置的

17、模拟正弦波输入。rset: 是dac外部电阻rset连接处,此电阻设置了dac输出电流的幅值,一般情况下iout =10ma , rset = 3. 9k , rset 与iout 的关系式为iout= 32 1.248v/ rset 。agnd:模拟电路地(模拟电路有dac和比较器)。dgnd:数字电路地。dvdd:数字电路电源。avdd:模拟电路电源。w_clk:控制字输入时钟,在此时钟用来并行或串行输入频率或相位控制字。fq_ud:频率更新时钟。在此时钟的上升沿,dds将刷新已输入到数据输入寄存器中的频率(或相位)字,使数据输入寄存器归零。d0d7:8bits数据输入。这是一个用于重复输

18、入32bits频率和8bits相位/频率控制字的8bits数据端口,d7是高位,d0是最低位(25脚),它还是40bits串行数据输入端口。resrt:重新设置。这是整片重新设置功能,当此脚置高电平时,它清除(除输入寄存器)的所有寄存器,dac的输出在一个追加的时钟t后变成coso。iout:dac的模拟电流输出。ioutb:dac的补充模拟电流输出。dacbl:dac基准线,这是dac基准电压参考。vin:不转换电平输入,这是比较器的同相输入。vinn:转换电平输入,这是比较器的反相输入。qout:输出为真,这是比较器的真正输出。qoutb:输出补充,这是比较器的补充输出。ad9850的工作

19、原理:ad9850 内含可编程dds 系统和高速比较器,能实现全数字编程控制的频率合成。可编程dds 系统的核心是相位累加器, 它由一个加法器和一个n位相位寄存器组成, n 一般为2432。每来一个外部参考时钟,相位寄存器便以步长m 递加。相位寄存器的输出与相位控制字相加后可输入到正弦查询表地址上。正弦查询表包含一个正弦波周期的数字幅度信息, 每一个地址对应正弦波中0360范围的一个相位点。查询表把输入地址的相位信息映射成正弦波幅度信号, 然后驱动dac 以输出模拟量。相位寄存器每过2n/ m 个外部参考时钟后返回到初始状态一次, 相应地正弦查询表每经过一个循环也回到初始位置, 从而使整个dd

20、s 系统输出一个正弦波。输出的正弦波周期to = tc2n/ m , 频率fout = mfc/ 2n ,tc 、fc 分别为外部参考时钟的周期和频率。ad9850 采用32 位的相位累加器将信号截断成14 位输入到正弦查询表,查询表的输出再被截断成10 位后输入到dac , dac 再输出两个互补的电流。dac 满量程输出电流通过一个外接电阻rset调节, 调节关系为iset = 32 (1. 248v/ rset) , rset的典型值是3. 9k。将dac 的输出经低通滤波后接到ad9850 内部的高速比较器上即可直接输出一个抖动很小的方波。其系统功能如图8。ad9850 在接上精密时钟

21、源和写入频率相位控制字之后就可产生一个频率和相位都可编程控制的模拟正弦波输出, 此正弦波可直接用作频率信号源或经内部的高速比较器转换为方波输出。在125mhz 的时钟下, 32 位的频率控制字可使ad9850 的输出频率分辨率达0. 0291hz ; 并具有5位相位控制位,而且允许相位按增量180、90、45、22. 5、11. 25或这些值的组合进行调整。参考时钟输入dac rset主复位模拟信号输出10位dac高速dds32位控制字相位和控制字模拟信号输入频率更新数据寄存器复位频率/相位数据寄存器时钟输出+字输入时钟时钟输出-数据输入寄存器并行输入串行输入1位408位5 频率/相位控制数据

22、输入图8 ad9850系统的功能框图ad9850的控制字与控制时序:ad9850 有40 位控制字, 32 位用于频率控制,5 位用于相位控制, 1 位用于电源休眠( power down) 控制, 2 位用于选择工作方式。这40 位控制字可通过并行方式或串行方式输入到ad9850 ,图9控制字并行输入的控制时序图, 在并行装入方式中,通过8 位总线d0 d7 将可数据输入到寄存器,在重复5 次之后再在fq - ud 上升沿把40 位数据从输入寄存器装入到频率/ 相位数据寄存器(更新dds 输出频率和相位) , 同时把地址指针复位到第一个输入寄存器。接着在w - cl k 的上升沿装入8位数据

23、,并把指针指向下一个输入寄存器,连续5 个w - cl k 上升沿后, w - cl k 的边沿就不再起作用,直到复位信号或fq - ud 上升沿把地址指针复位到第一个寄存器。在串行输入方式, w - cl k 上升沿把25 引脚的一位数据串行移入, 先传低位,再传高位。当移动40 位后, 用一个fq-ud 脉冲即可更新输出频率和相位。图10 是相应的控制字串行输入的控制时序图。ad9850 的复位(reset) 信号为高电平有效,且脉冲宽度不小于5 个参考时钟周期。ad9850 的参考时钟频率一般远高于单片机的时钟频率, 因此ad9850 的复位(reset) 端可与单片机的复位端直接相连。

24、值得一提的是: 用于选择工作方式的两个控制位,无论并行还是串行最好都写成00 ,并行时的10、01 和串行时的10、01、11 都是工厂测试用的保留控制字,不慎使用可能导致难以预料的后果。w3w4w0w1w2dataw_clkfq_ud图9 控制字并行输入的时序图40周期.d39999d0d1d2dataw_clkfq_ud 图10控制字串行输入的时序图控制字的计算:(a) 相位控制字的计算:ad9850中40位控制字中有5位是用于相位控制的,所以,相位控制的精度为,用二进制表示为00001,根据实际需要,设置不同的相位控制字,就可以实现精确的相位控制。在本设计中输出的相移为90度,其相位控制

25、字为:01000。(b) 频率控制字的计算:设输出信号的频率为fout,参考频率为clkin,ad9850的频率控制字为phase,则三者之间的关系为:phase=(fout)/clkin在本设计中要求输出8种不同的频率也即有8个不同的频率控制字,所用到的参考时钟clkin为125mhz。8种不同频率字的计算:(1)当fout=2khz时,phase=68719d =10c6fh(2)当fout=80khz时,phase=2748779d=29f16bh(3)当fout=200khz时,phase=6871948d=68db8bh(4)当fout=800khz时,phase=27487790d

26、=1a36e2eh(5)当fout=2mhz时,phase=68719477d=4189375 h(6)当fout=8 mhz时,phase=27487907d=10624dd3h(7)当fout=20 mhz时,phase=28f5c28fd=28f5c28fh(8)当fout=40 mhz时,phase=51eb851fd=51eb851fh3.3 ad9850与单片机的接口设计cortex-m4并行加载ad9850的接口电路如图11,为明晰可见,图中仅画出了与并行加载有关的信号线。图4.7中,ad9850引脚14、2528为8位数据线d0d7,ad9850的频率/相位控制字一共有40位,

27、采用并行加载方式时,需连续加载5次,每次传送的频控字位数分配见表4.3,其中,d7为最高位,d0为最低位,串行方式时,仅使用d7位(管脚25),ad9850引脚7wclk是加载时钟,与引脚8fqud配合,完成数据加载,fqud为频率/相位更新控制,在fqud的上升沿,dds更新频率、相位,同时将指针指向第一个寄存器w0,clkin是ad9850的参考时钟,即芯片的工作时钟频率,可由晶振提供,本文中选择ad9850的时钟为125mhz。cortex-m4的p1.0p1.7接ad9850的d0d7,cortex-m4的p3.0接ad9850的wclk,cortex-m4的p3.1接ad9850的f

28、qud。 图11 cortex-m4并行加载ad9850接口电路3.3.1 调幅电路的设计在ad9850内集成的d/a转换器输出的信号需经低通滤波后才能得到我们想要的信号,ad9850内的d/a转换器是属于电流输出型的,而低通滤波器输入的信号是电压信号,这就需要在它们之间加入i/v转换电路(调幅电路)来实现电流和电压的转换。i/v转换电路有多种方式,在这里我们使用双极性输出的i/v转换电路。图12 i/v转换电路如图4.7所示为i/v转换电路,如果需要改变输出电压的极性,把vef改变极性就能实现,因为vef的极性决定了电流的流动方向。所以电压输出的范围可以通过vref来实现。其输出电压公式为:

29、在本设计中ad9850中的d/a转换器输出的电流满量程输出为10ma,也即i/v转换电路的输入电流为10ma,要求输出的电压幅值为-10v+10v,也即uo的输出范围为-10v+10v。在这里我们可以设=500,=1k,如果要求电压输出的范围为-10v+10v,则变化范围为0v10v。其详细对应关系见表3.2。表3.2 电流/电压对应表vrefuo0 v-10v5 v0 v10 v10v总之,i/v转换电路实现的功能有两个,一是实现i/v的转换,二是实现信号发生器的调幅功能。3.3.2 滤波电路的设计在本设计中在低通滤波部分中,采用压控电压源型二阶滤波电路,如图13所示。图13电压源型二阶滤波

30、电路本文中频率输出的范围是040mhz,而且输出的是8种不同的频率值,由于输出的频率范围较广,所以我们采取分段滤波的形式进行滤波,即使用多个滤波电路进行滤波。由于采用多个滤波电路,而调幅电路输出只有一路。所以在滤波电路和调幅电路之间需加入一个模拟开关,在这里我们选用cd4052,cd4052是双向双四选1的模拟开关,工作电压vcc是7.5v,ic30ma。在040mhz中,分成4个频率段进行滤波,其中低频段分三个段,高频段分一段,具体如下:(1)0100khz, 滤波电路的截止频率选120k,即fo=120khz。(2)100khz1mhz, 滤波电路的截止频率选1.2mhz,即fo=1.2m

31、hz。(3)1mhz10mhz, 滤波电路的截止频率选12mhz,即fo=12mhz。(4)10mhz40mhz, 滤波电路的截止频率选42mhz,即fo=42mhz。根据对低通滤波电路截止频率的要求,首先选择c值。电容的选择原则见表3.3,滤波电路的品质因数q=0.707,这时的幅频特性最平坦,接近于理想低通滤波的幅频特性。但为了使输出的信号不发生改变,也即增益放大倍数为1.这时需要在滤波电路后再加一个放大器来降低它的增益放大倍数。表3.3二阶有源滤波器设计电容选择用表fo/hz100103c/f100.10.10.010.010.00110-310-410-410-5第一个滤波电路的参数设计:因为fo=120khz100103hz,所以选c1=c2=110-5f。=133k,可以得=1.586,而,取=200k,则=117.2 k。第二个滤波电路的参数设计:因为fo=1.2mhz100103hz,所以选c1=c2=110-5f。=13 k,可以得=1.586,而,取=20k,则=11.72 k。第三个滤波电路的参数设计:因为fo=12mhz100103hz,所以选c1=c2=110-5f。=1.3 k,可以得=1.586,而,取=2k,则=1.172k。第四个滤波电路的参数设计:因为fo=42mhz100103h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论