基于单片机的DDS信号发生器设计毕业论文.doc
摘要本文首先介绍了信号发生器的发展以及直接数字频率合成技术(DDS)的现状和发展趋势,然后介绍了DDS的原理结构及其主要构成部分。再根据系统的要求,比较合理地采用了DDS技术,以单片机AT89S52和AD9850芯片为核心,设计了一种结构简单性能优良的信号发生器。最后详细分析了该信号发生器的系统结构,软硬件设计和具体电路实现。信号发生器的硬件部分包括三个模块,分别是单片机主控制模块,DDS模块和信号频率显示模块。软件部分主要开发基于单片机AT89S52的数据处理和控制程序,以及信号发生器的外部通信程序。最终完成实验电路板的制作,并通过电路板的调试,实现电路工作正常。根据系统的最终测试结果可知该信号发生器具有输出信号波形精度高,频带宽等特点。 关键词:信号发生器;DDS;AT98S52;AD9850;频率; ABSTRACTThis article describes the development of the signal generator, the status and development trends of direct digital frequency synthesis (DDS) technology at first, then introduces the principle of DDS structure and its main components. According to system requirements, more rational use of DDS technology, single-chip AT89S52 and AD9850 chip as the core, has designed a simple structure and excellent performance of the signal generator. Finally, there is a detailed analysis of the signal generator system architecture, hardware and software design and specific circuit implementation. The hardware portion of the signal generator consists of three modules, namely, single-chip main control module, DDS module and signal frequency display module. Some of the major software development based on MCU AT89S52 data processing and control procedures, as well as external communication signal generator program. Completing the pilot circuit board production, and through the debug board to realize the circuit is working properly. According to the results of final test, the system shows that the output signal waveform signal generator has high accuracy, bandwidth and other characteristics. Keywords: Signal Generator; DDS; AT98S52; AD9850; Frequency目录摘要IABSTRACTII第1章 绪论11.1 课题背景11.2 课题的主要研究目的和意义1第2章 DDS简介32.1 DDS结构32.2 频率预置与调节电路42.3 累加器42.4 控制相位和控制波形的加法器52.5 波形存储器52.6 D/A转换器52.7 低通滤波器6第3章 系统整体设计方案73.1 系统设计原理73.2 总体设计框图7第4章 系统各模块组成84.1 单片机控制模块84.1.1 AT89S52单片机介绍84.1.2 AT89S52功能特性描述84.1.3 时钟电路114.1.4 复位电路114.2 按键控制模块124.3 LCD显示模块134.4 AD9850 与单片机连接模块134.4.1 AD9850简介134.4.2 AD9850的控制字与控制时序164.4.3 单片机与AD9850的接口18第5章 软件设计与硬件调试205.1 程序流程图205.2 软件测试215.3 硬件电路制作215.4 硬件电路调试22第6章 结束语27致谢28参考文献29附录1 原理图30附录2 主程序代码31第1章 绪论1.1 课题背景信号发生器1,它是一种悠久的测量仪器,最早出现于十九世纪20年代。在40年代用于检测各种接收机的信号发生器出现了,使得信号发生器变成了定量分析测量的仪器,从而改变了信号发生器以往定性分析测试的功能。信号发生器发展速度很慢,因为之前信号发生器的结构繁琐,电路简单,而且功耗比较大。信号发生器的快速发展,是在60年代以后由于函数发生器的出现。那时的信号发生器几乎都是依据模拟电路原理来实现的,但是模拟电路漂移大,导致输出波形幅度的稳定性差,同时模拟电路自身也存在着一些缺点,才使得如果想要输出的信号波形复杂多样,就必须把电路结构设计的非常复杂。自从70年代的微处理器问世以后,信号发生器的设计制作也有了非常大的变化,从而扩大了信号发生器的功能,使得其能够产出较为复杂的波形。而这一时期,以软件为主设计的信号发生器,能够产生多种简单的波形。但是软件控制波形的信号发生器有一个主要缺陷,就是CPU的工作速度决定频率的高低使得其输出波形的频率很低。如果想提高频率,则可以通过改进软件程序来减少其执行周期的时间或者提高CPU的时钟周期,但是这些办法是有局限性的,根本办法还是要对硬件电路进行改进。 和现在数字化信号发生器的兴起的形势一样,信号发生器作为电子领域里不可或缺的测量工具,它必然将朝着更加完善的方向发展。但是我们对于任何一种测量仪器都要全方面的考虑其所适用的领域及其性价比。由于社会各领域有着不同程度的需求,那些低成本制作的集成芯片信号发生器不可能在短期内被取代,所以这样的信号发生器还是会比较广泛的应用 那些精确度要求不是很高的实验。所以完整的信号发生器的设计还是有重要的实践意义和广阔的应用前景。1.2 课题的主要研究目的和意义此次设计要做的是DDS信号发生器,它作为基本的电子仪器,在电子领域中有着广泛的应用。由于电子科学技术的快速发展,各方面的需要同时也要求它要有越来越高的性能,此外,很多时候还需要两路的正弦信号在具有一样的频率的同时,还要有较为明确的相位差值。如今在整个电子技术领域中,由于各种实验的需要,我们经常需要把一些信号作为测量的输入信号,这就是所谓的信号源。随着社会的发展,对信号源性能的要求也越来越高,不仅要能产生复杂多样的波形,而且还要有体积小、操作灵活、可靠性高,因此要实现制作出高性能的信号源,必须在原有的基础上进行技术创新。现在高性能的信号源大多都是利用DDS2技术实现的,随着电子科学技术的发展,DDS技术也有了快速的发展。DDS技术,即直接数字频率合成技术,这是一种把数字信号处理技术引用到信号数字频率合成领域的一项新的技术,这使得再次提高输出信号频率的稳定度提供了可能。与此同时,微电子技术的快速发展,特别是单片机技术的发展,使得智能测量仪器也有了新的发展,它们的性能也更加可靠,功能更加完善,智能的程度也在不断的提高。DDS技术的出现引发了频率合成技术领域的一次重要的革命。直接数字频率合成器刚出现时,构成DDS元器件运行速度的限制以及数字化引起的噪声,这两个主要缺陷阻碍了DDS的发展速度与实际应用范围。由于数字电子电路的快速发展以及对直接数字频率合成技术的深入研究,使得DDS信号发生器的最高输出频率已接近达到和锁相频率合成器差不多的水平。近几年以来直接数字频率合成器得到了快速的发展,它以不同于其他频率合成技术的优越性能成为了当今频率合成技术中的最佳选择。 如今,DDS技术现在已经广泛应用于整个社会的电子电气领域,例如通讯、雷达、电子对抗还有现代化的仪器仪表工业等其他领域。DDS技术是从相位概念作为出发点,直接合成所需要的波形的一项新的频率合成技术,它与传统的模拟式产生波形的方法相比,具有频率转换速度快、相位变换连续、分辨率高、相位噪声小、稳定度高、便于集成、控制灵活以及易于调整等诸多种优点。随着电子科学技术的发展,各方面的需求对信号源频率在其稳定度、准确度以及频谱纯度等方面要求也越来越高。由于DDS信号发生器是一种新类型的信号源以及整个电子领域对其的需求,它俨然已成为了众多电子系统中必不可少的重要组成部分。第2章 DDS简介2.1 DDS结构1971年,由美国学者J.Tierney等人撰写的“A Digital Frequency Synthesizer”一文中,首次提出了凭借全数字技术,从相位概念作为出发点的直接合成所需要波形的一种新的设计组成原理。但是局限于当时的技术和器件产业条件,它的性能指标还不能够与现有的技术相比,所以没受到大家重视。近几年间,由于微电子技术的迅速发展,使得直接数字频率合成器(Direct Digital Frequency Synthesis简称DDS或DDFS)3也得到了快速的发展。它借以不同于其它的频率合成方法的优越性,在现代数字频率合成技术中有着举足轻重的地位。这些优越性具体体现在相对带宽、频率分辨率高、频率转换时间短、输出相位连续、能够产生宽带正交信号以及其他多种调制信号,而且能编程和全数字化,在控制方面也能做到灵活方便,同时具有极高的性价比。DDS信号发生器与传统的数字频率合成器相比,它具有高分辨率、快速转换时间、低成本和低功耗等优点,并且在通信电信与电子仪器仪表领域有着广泛的应用。DDS技术是以相位概念作为出发点的直接合成所需要波形的一种新的频率合成技术。完整的直接数字频率合成器是由相位累加器、加法器、波形存储器、 D/A转换器以及低通滤波器所构成的。DDS的原理图如下框图所示:相位累加器加法器波形存储器D/ALPF频率控制字K相位控制字P波形控制字W参考信号fcN位SnSt图2-1 DDS原理框图如上图所示,相位累加器是由时钟频率fc控制,累加频率控制字长K,同时还有加上输出的N位二进制码和波形控制字W、相位控制字P,这些相加以后的结果作为波形存储器ROM的地址。然后对波形存储器进行寻址,波形存储器输出D位的幅度码Sn经过DAC后,输出的就会是阶梯波St,最后再经过LPF过滤后就能够得到所需要的合成信号波形。波形存储器中所存放的幅度码决定了输出信号的波形形状,所以通过改变ROM中幅度码的值,DDS能够产生所需的任意波形。在这里我们用DDS能实现正弦波和方波合成作为说明来介绍。2.2 频率预置与调节电路K是频率控制字,同时它也叫相位增量。DDS的数学方程为:f0=fc/2n,其中f0是输出频率,fc是参考时钟频率。在K=1时,输出的频率为fc/2,此时频率最低,但是DDS最大的输出频率是由奈奎斯特采样定理所决定的,即K最大取值2n-1时,输出频率最高。所以,只要n的值足够大,DDS的频率间隔就能够足够的小。因此通过改变频率控制字K的值,就能够改变DDS的输出频率。2.3 累加器 相位累加器是3由N位加法器和N位寄存器通过级联来构成,如下图所示:寄存器频率控制字相位量化序列图2-2 累加器框图在整个系统工作过程中,每当有一个时钟脉冲到来时,相位累加器会把ROM所输出的累加相位数据和频率控制字加起来,ROM的数据输入端的数据就是相加后所得到的结果。最后ROM会把相位累加器在前面一个时钟脉冲作用下所得到的结果继续与频率控制字相加。这样一来,系统就会不断地进行相位累加,直到相位累加器累加满,相位累加器加满后就会导致一次溢出,完成一个周期性运作。2.4 控制相位和控制波形的加法器改变相位控制字P的大小可以控制输出信号的相位参数的变化。在此,令相位累加器字长为N,而当相位控制字从0 跳变到P(P0)时,ROM的输入相位大小为相位累加器的输出和相位控制字P之和,这时输出的幅度编码相位的值就会增加P/2N,进而使得最后输出的信号波形发生相移变化。同样地,通过改变波形控制字W的大小也可以控制输出信号的波形形状。因为在ROM中,不同波形存储位置也是不同的,它们是分块存储的,因此当波形控制字的大小发生改变时,相位改变后的地址和波形控制字之和就是ROM的输入地址,因而,最后输出的信号会发生相位移动。2.5 波形存储器波形存储器3工作原理是把相位累加器输出的数据,用来作为波形存储器取样的地址,从而进行波形的相位一幅值转换,也就是波形抽样幅值能在一定的时间内确定出来。N位能寻址的ROM可以看作是把0°360°的正弦信号离散开来,变成有2N 个采样值的序列。如果D位数据位在波形存储器ROM中,那么波形存储器ROM中2N个采样值幅值D位二进制的数值就会被固化,因此,不同的地址就可以得到相应的相位不同正弦信号的幅值,其原理图入下图所示:ROM(波形存储器)相位量化序列地址波形幅度量化序列(数据)图2-3 相位幅度变换原理图2.6 D/A转换器 D/A数模转换器,它是将合成正弦波的数字量转换成为模拟量。在这里要引起重视的是,D/A转换器的分辨率越高,其合成的正弦波St的台阶数就会越多,从而使得输出波形的精度也就越高。这也是数字频率合成器对D/A数模转换器分辨率的要求。2.7 低通滤波器在此,对D/A数模转换器所输出的阶梯波St进行频谱分析,可以得出在阶梯波St中除了主频率f0外,同时还存在着分布在fc,2fc等它们两边±f0处的非谐波分量,幅值包络称为辛格函数。所以,为了从中取出主频率f0,就必须在D/A数模转换器的输出端连接入截止频率为fc/2的低通滤波器,从而过滤掉其他不需要的波形,得到我们所需要的主频率f0。第3章 系统整体设计方案3.1 系统设计原理本次设计采用DDS技术作为信号发生器设计制作核心技术的方案,是要求设计出的系统能够输出可改变的信号波形类型,还要有能够输出可以通过数字控制来改变大小的信号幅度和信号频率。由于AD9850芯片的32位频率控制字能够由单片机编程控制处理,并能经过放大后加到数字衰减网络,从而实现信号幅度、频率、类型以及输出等选项的全数字控制,所以我们选择AD9850芯片来设计系统。本系统主要由单片机AT98S52、DDS模块、A/D转换模块等部分组成。整个系统的核心部分是单片机AT89S52,对其进行编程控制,然后通过对键盘进行扫描读入相位信息,经DAC转换后输出到芯片AD9850,最后输出所需波形。键盘输入的数字信息经过AT89S52控制的LCD1602来显示。3.2 总体设计框图 系统构成如下图3-1所示:键盘LCD1602单片机AD9850低通滤波器信号输出图3-1 系统框图第4章 系统各模块组成4.1 单片机控制模块在本设计的主控制电路中,是以单片机AT98S525为主体,再通过键盘扫描读入输入相应的控制字,对AD9850写入相应的控制字,把整个系统连接起来,使得体统正常工作输出各种所需的波形。单片机是在一块硅片上集成了中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器以及多种I/O接口电路等多种部件的微型计算机。4.1.1 AT89S52单片机介绍单片机AT89S52是Atmel公司推出的一款在系统可编程的微型计算机,用户可以对单片机Flash程序存储器中的代码进行编写修改,从而让单片机实现不同的功能。其的主要性能有:能够和MCS-51单片机产品兼容;,一个全双工的串行通信口;8K字节在系统可编程Flash存储器,3级安全保护;拥有1000次的擦写周期和256字节的内部RAM,另外还有5个中断源,使其能够在断电的情况下执行中断操作。其最高的工作频率为33MHz,工作电压为4.05.5V,另外使用双数字指针可以让程序运行的更快。4.1.2 AT89S52功能特性描述AT89S526单片机是一种低功耗、高性能CMOS8位微控制器,AT89S52具有以下的标准功能:8k字节的可编程ROM、256字节的RAM、32位I/O口线、看门狗定时器、2个数据指针、三个16位定时器/计数器、一个6向量的2级中断结构、全双工的串行口、单片机内部的晶振和时钟电路。其中的4个8位的I/O 口,分别作为P0、P1、P2、P3。在每一个口中都有一个锁存器,一个输出驱动和两个输入缓冲器。其实它们就是寄存器,且有字寻址和位寻址的功能。单片机上Flash程序存储器允许系统可编程,也能用于常规的系统编程器。另外在单片机上,拥有的8 位CPU,使得AT89S52成为众多控制系统能有高灵活、有效解决方案的最佳选择。此外,AT89S52能够降低到0Hz进行静态逻辑操作,同时还支持2种软件可选择节电模式。CPU在空闲模式下停止工作,但是此时还同样允许数据储存器、定时器/计数器、串口、中断继续工作。数据储存器的内容在掉电保护方式下被保存,振荡器也在此时被冻结,单片机停止工作,直到下一个中断或硬件复位单片机才重新开始工作。AT89S52的引脚结构如图所示:图4-1 单片机AT89S52引脚结构图根据实际的需求,在此我们使用的是PDIP封装的单片机,其引脚功能7为:(1)输入/输出引脚(I/O口线)P0.0P0.7:P0口8位双向I/O口,占3932脚; P1.0P1.7:P1口8位准双向I/O口,占18脚; P2.0P2.7:P2口8位准双向I/O口,占2128脚; P3.0P3.7:P3口8位准双向I/O口,占1017脚。P0口作为输出口时,写入的数据信号输送到触发器的CP端,数据写入锁存器,并从端口的引脚输出。在 P0口作为通用的I/O口使用时,由于输出电路的结构是漏极开路,所以要有高电平输出就必须在外部接入一个上拉电阻;而且P0进行一般的I/O输出时,一定要先向电路中的锁存器写入控制字“1”,使得输出驱动电路FET截止,从而避免锁存器为“0”状态时对引脚读入数据的干扰。P1口基本上是用来作为通用I/O口使用的,所以其和P0口在电路结构上有一些不同之处:第一点它不再需要多路转换电路MUX;第二点是其电路的内部结构由上拉电阻和场效应管一起组成输出驱动电路。所以,P1口用作为输出口时,已经为电路提供了上拉电流负载,因此就不需要在外部接入上拉电阻。另外把P1口作为输入口使用时,与P0口有相似之处,也一定要先向电路中的锁存器写入控制字“1”,使输出驱动电路的FET截止。与P1口相比,P2电路多一个多路转换电路 MUX,此外P2口也可以作为通用I/O口使用。通常情况下,P2口是作为高位地址线使用的,此时多路转换电路开关应倒向相反方向。对P2端口写入控制字“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。而P2口作为输入使用时,由于内部电阻的原因,被外部拉低的引脚将会输出电流。在flash编程和校验时,P2口也会接收高8位地址字节和一些控制信号。P3口能适应引脚信号第二功能的需要,增加了第二功能控制逻辑。把P3口作为通用I/O使用时,第二功能信号引脚应保持高电平,与非门开通,以保证从锁存器到输出端的数据输出连续。当输出第二功能信号时,锁存器要写入“1”,使与非门对第二功能信号的输出通畅,借以实现第二功能信号的输出。对于第二功能为输入的信号引脚,在口线的输入通路上增加了一个缓冲器,输入的第二功能信号就从这个缓冲器的输入端取得。不管是在 P3口作为输入口使用时还是在第二功能信号输入时,输入电路中的锁存器输出和第二功能输出信号线都应保持高电平。(2)控制口线PSEN(29脚):外部程序存储器读选通信号;ALE/ PROG(30脚):地址锁存允许/编程信号;EA /VPP(31脚):外部程序存储器地址允许/固化编程电压输入端;RST/VPD(9脚):RST是复位信号输入端,VPD是备用电源输入端。(3)电源及VCC(40脚):电源端+5V;GND(20脚):接地端;XTALl、XTAL2(1918脚): 时钟电路引脚。当使用内部时钟时,这两个引脚端外接石英晶体和微调电容;当使用外部时钟时,用于外接外部时钟源。4.1.3 时钟电路图4-2 时钟电路图单片机的时钟电路7如上图所示,它是用于产生单片机工作所需要的时钟信号,而单片机其本身就是一个复杂的同步时序电路。为了保证其能够同步工作,电路就必须严格地在一定的时钟信号控制下按照时序进行同步工作。在单片机AT98S52的内部有一个很大增益反相放大器,其输入端的引脚是X1,其输出端为引脚是X2。为了实现电路的功能,可以在X1和X2之间跨接晶体振荡器和微调电容,这样我们得到了一个稳定的自激震荡电路。在一般情况下,电容C1和C2大约取30pf,晶振的振荡频率范围是1.212MHz,我们取12.00MHz即可。 4.1.4 复位电路AT89S52的外部复位电路8有上电自动复位和手动按键复位。单片机复位是使CPU和电路中的其他功能都处于一种确定的初始状态。这是由上电复位电容充电来实现。按键电平复位电路是在RC复位电路的基础上接一个有下拉电阻10K、上拉电容10uf接VCC,电源由开关连接到复位引脚并和上拉电容并联。上拉电容支路则是在“上电”瞬间实施复位操作;开关通过和一个10K的下拉电阻连接分压,从而使对单片机能够实现按键电平复位。电路图如下图所示:图4-3 复位电路图4.2 按键控制模块图4-4 键盘控制电路图通过键盘输入控制字对波形频率的输出进行控制,其电路图如上图所示。按键从上至下依次是复位键、幅度调制键、上加键和下减键,它们对应接入单片机上的引脚。4.3 LCD显示模块在本设计中用的液晶显示器9是LCD1602。其具有功耗低、体积小等诸多优点,广泛在各种仪器仪表产品中用作显示部分。如图为LCD1602:图4-5 LCD1602引脚图1602采用的是标准16脚接口,其中:第1脚:VSS为接地引脚第2脚:VCC接5V电源正极第3脚:V0为液晶显示器调整对比度的引脚,其接入电源正极时对比度最弱,接地时对比度最高,同时可以接入一个10K的电阻调整对比度。第4脚:RS为选择寄存器引脚。在高电平时选择数据寄存器,在低电平时选择指令寄存器。第5脚:RW为读写信号引脚,高电平时读取信息,低电平时写入信息。第6脚:E(或EN)端为使能端引脚,高电平时读取信息,负跳变时执行指令。第714脚:DB0DB7为8位双向数据端。第1516脚:背景灯电源引脚。15脚背光正极,16脚背光负极。4.4 AD9850 与单片机连接模块4.4.1 AD9850简介近几年来,由于迅速发展的数字技术,DDS技术也发生了日新月异的变化。AD9850就是运用DDS技术制作的集成度很高的频率合成器,它是由美国的AD公司研发的。AD9850的最高时钟为125 MHz、采用先进的CMOS技术10的直接频率合成器,主要由可编程DDS系统、高性能模数变换器和高速比较器3部分构成,能实现全数字编程控制的频率合成。 图4-6为AD9850的引脚图,图4-7为其系统结构框图。图4-6 AD9850管脚排列图图4-7 AD9850组成框图在AD9850的内部有可编程的DDS系统11,还有高速的比较器。这就使得其能够实现由全数字编程控制来合成频率。相位累加器是可编程的DDS系统的核心,其中包括一个加法器和一个N位的相位寄存器,N 的值通常在2432之间。正弦查询表地址上输入的数据是相位控制字和相位寄存器的输出相加后得到结果。正弦查询表是通过把输入地址的相位信息转换成正弦波的幅度信号使得DAC 输出模拟量。当一定数量的时钟脉冲经过相位寄存器之后,整个系统就会恢复到初始状态。与此同时,与之对应的正弦查询表也是经过了一次循环,使得恢复到了最初的状态,进而使系统输出一个正弦波。AD9850使用的是32位的相位累加器11,它把信号分成14位,继而再送入到正弦查询表。信号从正弦查询表输出来以后,再次被分成10位,然后在输送到DAC,最后两个互补的电流时从DAC输出来。输出的电流通常是经过一个外接电阻来调节,其大小值一般为3.9K。而输出的方波通过DAC输出的信号经过低一个通滤波器后,再连接到AD9850的内部高速比较器后得到的。32位频率控制字在125MHz的时钟频率下能够让AD9850 输出分辨率达到0.0291Hz的频率,同时还有5位相位控制位,使得相位能够按照相位增量180°、90°、45°、22.5°、11.25°或这些值之间的组合进行调整大小。比较器上即可直接输出一个抖动很小的方波。其系统功能如图所示。图4-8 AD9850系统内部结构图4.4.2 AD9850的控制字与控制时序AD9850是拥有40位控制字的DDS控制系统13,并且这40位控制字是能够通过并行方式或者是串行方式输入到AD9850当中。 其中的32位控制字是用于对频率的控制,5位控制字是用于对相位的控制, 2位控制字是用来选择工作方式,还有1位是用来控制电源休眠。图4.9是控制字并行输入控制的时序图, 在并行输入的方式中,是通过8位总线D0D7把数据输入到寄存器中,然后在重复输入了5次之后,把40位的数据在FQ-UD上升沿处从输入寄存器输送到频率/相位数据寄存器,也就是更新了DDS输出信号的频率和相位,与此同时,地址指针也被复位到第一个输入寄存器当中。紧接着将8位的数据在W-CLK的上升沿输入,同时还要让指针指向下一个输入寄存器。同样地,在经过连续5个W-CLK上升沿后, W-CLK的边沿就没有任何影响了,除非地址指针被复位信号或FQ-UD上升沿复位到第一个寄存器。图4-9 控制字并行输入的时序图图4-10 控制字串行输入的时序图图4-10是相应的控制字串行输入的控制时序图。当使用串行输入的方式时, 25引脚的一位数据通过W-CLK上升沿串行移入系统。在移动了40位数据后,使用一个FQ_UD脉冲信号就能更新输出的频率和相位大小。AD9850的复位信号是电位在高电平的时候有效,同时脉冲的宽度不能小于5个参考时钟周期。在通常情况下,AD9850的参考时钟频率都会比单片机的时钟频率要高,所以AD9850的复位端能够直接和单片机的复位端相连。表4-1 AD9850串行装载的数据结构表位代号功能位代号功能位代号功能位代号功能W0Freq-b0(LSB)W10Freq-b10W20Freq-b20W30Freq-b30W1Freq-b1W11Freq-b11W21Freq-b21W31Freq-b31(MSB)W2Freq-b2W12Freq-b12W22Freq-b22W32ControlW3Freq-b3W13Freq-b13W23Freq-b23W33ControlW4Freq-b4W14Freq-b14W24Freq-b24W34Power-DownW5Freq-b5W15Freq-b15W25Freq-b25W35Phase-b0(LSB)W6Freq-b6W16Freq-b16W26Freq-b26W36Phase-b 1W7Freq-b7W17Freq-b17W27Freq-b27W37Phase-b 2W8Freq-b8W18Freq-b18W28Freq-b28W38Phase-b 3W9Freq-b9W19Freq-b19W29Freq-b29W39Phase-b4(MSB)在表4-1中,通过改变W0W31位这32位的频率控制字的内容就能够改变AD9850的输出频率。位W32和W33通常用于工厂测试,这两位应赋0。位W34是用来控制AD9850的上电和掉电,通过控制这一位置使其置1来实现掉电。位W35W39的5位是相位控制字,通过改变它们的内容就可以改变AD9850的输出相位大小。在进行串行装载时,AD9850的D7引脚和W_CLK引脚就可以组成同步串行接口,这个接口能够和单片机AT89S52直接相连。另外,40位的控制/数据字是由AD9850的D7引脚在W_CLK引脚的脉冲信号上升边沿作用下分40次依次装入,其中W0在前,W39在后。40位控制/数据字的装载完成后,FQ_UD引脚的脉冲信号上升沿就会再次刷新AD9850的工作状态,同时使寄存器的指针复位,准备下一次位控制/数据字的装入。4.4.3 单片机与AD9850的接口本次设计在这里要实现的是对DDS的控制13,但是用单片机来实现比用微机实现有很多明显的优点,例如在编程控制上简便、接口简单,而且制作的成本也比较低,还更容易实现小型化的系统制作,所以通常情况下是使用MCS51单片机用来控制向AD9850芯片发送控制字。单片机与AD9850连接有两种方式,一种是并行方式,另一种是串行方式。由于使用并行方式能更好的发挥AD9850芯片的性能,所以在此我们使用的是并行方式把单片机和芯片相连接。图4.11是I/O方式并行接口的电路图,AD9850芯片的D0D7数据接口与单片机上的P1口相连, FQ_UD和W_CLK则是分别和P2.3 与P2.4相连,同时所有时序关系都能够通过软件控制来实现。图4-11 AD9850与单片机连接原理图第5章 软件设计与硬件调试5.1 程序流程图在软件控制中是通过在程序预先设置频率,来实现对频率步进的控制。是实际操作中是由键盘键入的频率值,并判断是否超出了允许的范围,然后生成频率控制字,再通过并行方式送入DDS系统中,合成用户所需要的频率,最后通过程序实现对整个系统的控制,即显示频率。程序流程图如下:开始主程序输入初始化LCD显示键盘扫描处理按键频率字修改AD9850数据更新是否有键按下?是否图 5-1 程序流程图由于DDS的时钟频率比较高,这会对周围电路造成一定负面影响,所以要在电路中使用一些抗干扰的措施,例如:引线尽量的短,减少线路之间的交叉,每个芯片的电源与地之间都有耦合电容,数字接地与模拟接地分开。同时,在LCD的显示调节时也要选取适当的电阻进行分压调节,通常选取1K左右的电阻,这样才能使液晶屏正常显示频率 。5.2 软件测试本次设计的系统软件调试可以在Keil的环境中完成,Keil系统为软件的开发和调试提供了良好的用户界面和强大的功能,程序调试无误后,可以装入Proteus中进行仿真,也可以直接下载到单片机中进行调试。我们此次软件调试时直接烧入到单片机中进行调试。采用自下而上即单独调试好每一个模块后,再连接成一个完整的系统调试。5.3 硬件电路制作本次论文设计的原理图绘制所使用的软件是protel99se。电路实现的基本步骤:1)单片机方案设计。2)电路原理图:利用电路设计软件,将方案用标准的电路原理图表示,为电路板图的生成提供依据。本系统的原理图绘制是在Protel99se中完成。3)电路制板:根据单路原理图,购买相应的元器件,利用实验室里的工具,进行手工制作 。4)程序的调试和烧录:电路板制作完成后,将单片机连接于其上,并进行单片机程序的烧录和电路的调试。利用Protel99se软件画出电路原理图以后,考虑到制作PCB板可能会需要超过一周的时间,为了节省时间于是就放弃了制作PCB板,而是直接采用通用板制作电路。电路完成实物图如下图所示:图5-2 电路完成实物图5.4 硬件电路调试实物电路完成后,将控制程序烧入单片机,然后连接电源适配器,并将电路连接到示波器上,电路显示如下图所示:图5-3 电路通电实物图其中电路中绿色PCB电路板为AD9850模块,其下方的排针为信号输出接口。LCD下方的四个按键从左至右依次是复位键、幅度调制键、上调键和下减键。图5-4 电路板与示波器连接图利用完成的电路板调制一个447Hz的信号,波形如下图所示:图5-5 447Hz的正弦波形图图 5-6 447Hz的方波波形图调制一个3.5kHz的信号,电路显示如下: 图5-7 3.5kHz信号调制实物图图5-8 3.5kHz信号正弦波形图图5-8 3.5kHz信号方波波形图根据以上的调试结果,该信号发生器能够调制出0999.999KHz正弦波信号和方波信号,并且信号频率的精度高,频带宽。第6章 结束语 本次毕业设计要完成的主要工作是完成单片机控制AD9850产生正弦信号,并能显示出相应的频率,且使频率能够以1Hz为步长进行调整。在设计制作的过程中,通过在图书馆和网上搜索目前DDS技术的相关资料,了解了DDS信号发生器的原理相关制作方法。并通过设计方案,针对设计任务提出了可行方案。在设计方案中,结合单片机的功能特点及其控制特性,利用简便的单片机C-51语言和其内部时钟,以单片机作为控制的核心。根据设计方案,详细地阐述了单片机的控制原理、AD9850的使用方法,设计了相应的硬件电路和系统软件,制作了电路原理样机并进行调试。结果表明,所设计的电路和软件能完成基本的测试功能。但是,该信号发生器也是缺点的,例如它只能调制出方波和正弦波,其他的三角波和锯齿波等信号波形都不能调制出来。如果想设计出更完善的信号发生器还是要查阅更多的书籍资料,学习更多的相关知识。 致谢在这几个月的紧张忙碌中,我要感谢给予我知识和精神上帮助与支持的所有老师和同学,正是有了这么多的关心和指导,我才能够顺利的完成毕业设计。尤其要感谢整个过程中一直给予我帮助与支持的张铮老师,在每个阶段的设计过程遇到自己没办法解决的问题,张老师牺牲自己的休息时间,不辞劳苦的讲解,使这些问题终于得到了解答。在做毕业设计整个过程中,张老师严谨的治学态度深深地感染了我,那种用于开拓的精神和高度的责任心将使我终生受益。还要感谢学院领导给了我们这样一个弥足珍贵的锻炼机会,同时也要感谢在百忙之中抽出宝