基于DDS的高精度信号发生器设计.doc_第1页
基于DDS的高精度信号发生器设计.doc_第2页
基于DDS的高精度信号发生器设计.doc_第3页
基于DDS的高精度信号发生器设计.doc_第4页
基于DDS的高精度信号发生器设计.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

河南大学物理与电子学院开放实验室单片机设计报告河南大学物理与电子学院开放实验室单片机设计报告基于DDS的高精度信号发生器设计设计人:开放实验室入室人员目 录摘 要:10 前言21 系统设计及选择分析21.1 总体方案21.2 方案比较21.3 选择实施方案32 系统硬件电路设计32.1 信号发生器控制系统32.2 单片机控制单元42.3 信号产生单元62.4 显示系统82.5实现单片机与AD9850之间的连接83 系统软件分析103.1 系统概述103.2 系统显示程序设计103.3 系统AD9850的控制程序设计103.4 系统的部分核心源码134 结论15参考文献1618基于DDS技术的信号发生器的设计开放实验室入室人员(河南大学物理与电子学院,河南 开封,475004)摘 要: 本文讨论了利用DDS(直接数字频率合成)技术制作信号发生器的方法,介绍了设计信号发生器所用到的DDS相关技术。信号发生器使用8位单片机AT89S52作为控制模块单元,结合芯片AD9850就实现了直接数字频率合成技术(DDS),该信号发生器采用C语言作为系统程序,通过AT89S52控制DDS芯片AD9850产生0HZ20MHZ频率可调的两种信号波(正弦波、方波),同时还采用8位数码管作为频率调节的显示界面。整个系统结构紧凑,电路简单,功能强大。可广泛应用于生产实际和科技领域中。关键词: DDS;正弦波;方波;AT89S52;AD9850The design of signal generator based on DDS technologyLiang b-j(School of Physics and Electronics, Henan University, Henan Kaifeng 475004, China)Abstract: This part discusses the method of making a signal generator which uses the DDS technology,and introduced the use of DDS related technologies.The signal generator uses the 8 single-chip AT89S52 as its control module unit,combined with DDS chip AD9850,to produce 0HZ20MHZ frequency adjustable two signal wave(sine wave and square wave),the display unit uses 8 digital tube as its display. .so this signal generato is clear and consice.It can be widely applied production and in the field of science and technology.Key words: DDS;Sine wave; Square wave; AT89S52; AD98500 前言随着数字技术的飞速发展,高精度动态范围,数字/模拟(D/A)转换器的出现和广泛应用,用数字控制的方法从一个标准参考频率源产生多个频率信号的技术,即直接数字合成(DDS)技术异军突起。其优点有1:(1) 频率转换快:DDS 频率转换时间短,一般在纳秒级;(2) 分辨率高:大多数DDS可提供的频率分辨率在1 Hz 数量级,许多可达0.001Hz;(3) 频率合成范围宽;(4) 相位噪声低,信号纯度高;(5) 可控制相位:DDS可方便地控制输出信号的相位,在频率变换时也能保持相位联系;(6) 生成的正弦/余弦信号正交特性好等。因此,利用DDS技术特别容易产生频率相对带宽较宽、频率转换时间极短、频率分辨率高、相位可控的信号,这在电子测量、雷达系统、调频通信、电子对抗等领域具有十分广泛的应用前景。美国AD公司推出的高集成度频率合成芯片AD9850就是采用DDS技术的典型产品之一。针对DDS的上述特点,本文基于AD9850器件设计了一种信号发生器,在给定电源电压条件下,设计并制作一个正弦波和方波信号源。1 系统设计及选择分析1.1 总体方案设计制作一个能产生正弦波和方波信号源。要求信号频率在0HZ20MHZ范围内能程控步进调整,方波的占空比在2%98%之间能程控步进可调,且性能良好,满足指标。1.2 方案比较1.2.1 正弦波的产生方案一:采用单片函数发生器(ICL8038),可同时产生低失真的正弦波、脉冲波,方法简单,用D/A转换器的输出来改变调整输出电压,也可以实现数控调整频率,但是其电路由于采用正负电压,地线是浮置的,产生的信号的步长难以满足要求,且频率稳定度不高方案二:采用锁相式频率合成器,利用锁相环将压控振荡器(VCO)的输出频率锁定在所需频率上,通过这种锁定不同的频率从而实现实现输出不同频率信号。该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路较为复杂,不适于产生低频信号。方案三:采用直接数字频率合成器(DDS),可用硬件或软件实现。即用累加器按频率要求对相应的相位增量进行累加,再以累加相位值作为地址码,取存放于ROM中的波形数据,经D/A转换、滤波即所得需要正弦波波形。方法简单,频率稳定度高,易于控制2。 1.2.2 方波的产生方波可由正弦波整形得到,关键是如何控制占空比,对此有几种方案:方案一:由D/A转换器产生占空比相应的电压,将之与正弦信号进行比较就可得到所需占空比方波。但这种方法精度较差,难以达到2%的步进的要求。方案二:先把正弦波变换为锯齿波或三角波,然后进行比较。这样一来虽然可以提高精度,但电路复杂,成本较高,调试也困难。方案三:采用计数定时方法,先将正弦波变换为方波,再用它的上升沿触发计时电路,该电路在计时期间输出为高电平,计时终止后输出为低电平,该输出波形即为所需要波形。这种方法计时精度高,成本低。1.3 选择实施方案根据以上分析,选用如下方案。(1) 正弦波的产生800Hz以下的正弦波产生采用软件相位累加DDS方案来实现。800Hz20MHz的正弦波采用动态生成程序的方法来实现。(2) 方波的产生方波由同频率的正弦波产生,采用计数定时方案来实现占空比的步进调整。为提高占空比的精度,采用预分频和择优技术,通过预分频和择优技术从而控制方波的产生。2 系统硬件电路设计2.1 信号发生器控制系统本信号发生器系统主要有单片机控制模块单元、信号产生单元、按键电路和显示电路等四大模块电路构成。其中信号产生单元和单片机控制模块单元是构成DDS信号发生器系统不可分割的两大部分。系统框图如图1所示:图1 DDS信号发生器系统总体电路实现框图2.2 单片机控制单元单片机控制模块单元是整个信号发生器的重要组成部分,通过单片机控制模块单元、信号产生单元、按键电路、显示电路等的连结,从而控制信号的产生、频率的改变和显示。AT89S52是美国ATMEL公司生产的低电压、低功耗、高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的只读存储器(PEROM)和256 bytes 的随机存取数据存储器(RAM),器件采用该公司的高密度、非易失性存储技术生产,与标准的MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,具有1000次擦写周期,三级加密程序存储器I/O线,三个16位定时器/计数器,六个中断源,全双工UART串行通道,低功耗空闲和掉电模式,看门狗定时器,双数据指针,全静态操作:0HZ-33MHZ,掉电标识符。另外AT89S52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。32个可编程AT89S52构成的单片机系统具有结构简单、造价低廉和效率高等优点的微控制系统,由于内部集成了RAM、ROM等器件,减少了硬件开销,提高了系统的性价比。因此,本单片机控制模块采用AT89S52芯片2 3。2.2.1 AT89S52主要性能参数图2 89S52引脚图 与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、256字节RAM、1000次擦写周期、三级加密程序存储器;工作频率范围:0Hz33MHz;4个8位并行可编程I/O口,其中P0P2P3是复用口(P0和P2位地址/数据线,可寻址64KB ROM和64KB RAM); 三个16位定时器/计数器;八个中断源,两个优先级嵌套结构;全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒 、看门狗定时器、双数据指针、掉电标识符;一个片内晶振及时钟电路;工作电压:5V。2.2.2 AT89S52功能特性概述AT89S52提供以下标准功能8k字节Flash闪存存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时器/计数器,串行继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止所有其它所有部件工作直到下一个硬件复位。2.3 信号产生单元信号产生单元是信号发生器信号产生的根本来源,通过单片机可以控制其产生信号的频率。本系统采用AD9850作为信号产生芯片。2.3.1功能介绍AD9850是一款采用32位频率控制字的DDS芯片,最大时钟频率为125MHz。本设计中采用100MHz,输出正弦波频率时的分辨率可达0.02328Hz。AD9850 输出信号的频率fout 可通过式子2.1进行计算:fout=(s)223 (2.1)其中为32位频率控制字的值;s为标准参考时钟的频率。图3 AD9850引脚图按AD9850 芯片手册说明,结合实际输出波形测试,本设计的输出频率带宽限制在120MHz(20%s以内)。单片机与AD9850 通过串口传送频率控制数据,其中AD9850第7引脚(W_CLK)为控制字移位时钟,第8引脚(FQ_UD)为频率更新控制口,第25引脚(D7)为串口移位数据输入口。AD9850的DAC输出两个互补的模拟电流(第20、21引脚),若要调节DAC满量程输出电流,需要第12引脚的外接电阻。其输出电流与电阻的关系为I=32(1.248VR),当电阻为3.9k时,DAC的输出电流约为10mA。这样,在100的负载上可得到峰-峰值约为1V的正弦波。AD9850的引脚图如图3所示。2.3.2 AD9850工作原理AD9850内部结构原理框图如图4所示。当输出改变时,AD9850的波形是相位连续的。DDS电路主要起数字分频作用,其增量是受参考时钟经控制字的2N位分频控制。相位累加器是一种系数可变的计数器,在每次接收到时钟脉冲信号时将增量数字存储。当计数器溢出时,限制增加相位累加器的触发输出。频率控制器设置计数器的系数有效,决定了增量的大小,使得在下一个时钟脉冲到来时相位计数器获得更多的值。大的增量使计数器更快捷的溢出,这样将导致更高的频率输出4 5。AD9850采用独有的控制算法,以适当的CMOS值,使相位计数器的14位值得到转变。独特的控制算法大量的减少了ROM内存(采用DSP技术完成这项功能),这就使得AD9850变得尺寸小,耗能低。图4 AD9850内部原理框图2.4 显示系统显示系统用于信号发生器频率的显示,本系统选用数码管作为显示方式,结构简单且显示清晰。LED数码管(LED Segment Displays)是由多个发光二极管封在在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。本系统选用4位八段共阴极数码管。每一笔划都是 应一个字母表示,DP是小数点,如图5所示。图5引脚定义2.5实现单片机与AD9850之间的连接运用单片机实现对DDS的控制具有编程控制简便、接口简单、成本低、小型化等优点,因此采用MCS52单片机作为控制核心来向AD9850发送控制字。只要能向AD9850发送正确的控制字,就可以在其输出端(第21脚: IOUT)得到我们想要的波形。因此下面我们重点介绍利用单片机的控制电路。单片机与AD9850的接口既可以采用并行方式,也可采用串行方式。为了充分发挥芯片的高速性能,在单片机资源允许的情况下我们选择并行方式。I/O方式的并行接口电路比较简单,图6是I/O方式并行接口的电路图。AD9850的数据线D0D7与P2口相连,WCLK和FQUD分别与P3. 2 (10引脚)和P3. 0 (11引脚)相连,所有的时序关系均可通过软件控制实现。在程序中,每将一字节的数据送到P2口后,必须将P3.2 (WCLK)置高。在其上升沿,AD9850接收到P2口相连的数据线上的数据,然后将P3. 2置低,并准备下一字节的发送,连续发送5个字节后,须将P3.0 ( FQUD)再次置高,以使AD9850根据输入的控制字更改频率和相位输出,随后再置P3.0为低,准备下一组发送。单片机的P3.2、P3.0引脚为串行口,当被占用时,WCLK和FQUD引脚也可与其它I/O 脚相连, 这时需要修改相应的发送程序即可6 7。图6单片机与AD9850的结合图图7 系统仿真图3 系统软件分析3.1 系统概述本系统的软件程序采用C语言编写,系统程序编写采用模块化编写方式.主要分为显示程序、AD9850的控制程序两大部分。3.2 系统显示程序设计本系统用两个四位八段数码管,故能够显示计数范围为:0000 0000-9999 9999,可以满足本信号发生器要求。3.3 系统AD9850的控制程序设计3.2.1 AD9850频率控制字的计算根据AD9850的技术资料可知:其输出频率值为:fout=(s)223 (3.1)其中为32位频率控制字的值;s为标准参考时钟的频率。例如:s =100MHZ,输出信号的频率为,1KHZ,则向AD9850写入的频率控制字为(1*103*232)/(100*106)42950=0X000A7C6。3.2.2 AD9850频率控制方式程序设计AD9850的频率/相位控制字一共有40比特,其中32比特为频率控制字,5比特为相位控制字,1比特是电源休眠控制,最后2比特为工作方式控制,应用中将1位电源休眠控制,2为工作方式控制设置为“000”。Ad9850并行方式加载频率/相位控制字的各位分配如图7所示。并行加载时时序图如图8所示,控制字装换为频率显示值流程图如图9所示,图7 频率/相位控制字的各位分配表图8并行加载时时序图图9 控制字装换为频率显示值流程图10 程序流程图3.4 系统的部分核心源码4.3.1 主程序部分程序#includead9850.h /信号产生程序函数#includesmguan.h /数码管显示程序函数#include void main() /主程序 while(1)display(count); /显数码管示if(k1=0) key1(); /P3.6=0,则频率值加1 if (k2=0) key2(); /p3.7=0,则频率值加1000if(k3=0) key3(); /P3.4=0,则频率值减1 if (k4=0) key4(); /p3.5=0,则频率值减1000 Frequency_Out_9850=count ; Write_9850(); /输出波形4.3.2 显示单元数码管部分程序#include#define uchar unsigned char#define uint unsigned charsbit k1=P36sbit k2=P37sbit k3=P34sbit k4=P35long uint count,Frequency_out_9850; /程序太长不宜写在报告中,完整程序请Void main( ) /联系QQ154401855(或154401856)下载While(1)display(count);if(k1=0) key1();if(k2=0) key2();if(k3=0) key3();if(k4=0) key4(); void display(long uint count)uchar i;long uint wei;uchar buffer8=0;wei=count; buffer7=wei%10;wei=wei/10 ;buffer6=wei%10;wei/=10 ;buffer5=wei%10;wei/=10 ;buffer4=wei%10;wei/=10 ;buffer3=wei%10;wei/=10 ; buffer2=wei%10;wei/=10 ; buffer1=wei%10;wei/=10 ; buffer0=wei%10;wei/=10 ;for(i=0;i8;i+)P1=i;if (i4)P0=leddata1bufferi;else P0=leddata2bufferi;delay5ms();4.3.3 信号产生单元AD9850的部分程序#include #define uchar unsigned char #define uint unsigned intlong uint Frequency_Out_9850;double Con_Word_1_9850 = 0x00;double Con_Word_2_9850 = 0x00;long uint ConTrol_Word_9850 = 0x00; sbit w_clk_9850 = P

温馨提示

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

评论

0/150

提交评论