基于单片机的多功能信号发生器的设计 - 图文

更新时间:2024-03-31 07:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计(论文)

题 目:基于单片机的多功能信号发生器的设计

院 系: 专 业: 班级学号: 学生姓名: 指导教师: 成 绩:

年 月 日

摘 要

信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。

本设计主要由主控制器模块、信号发生模块和液晶显示模块三大部分组成。采用STC89C52单片机为主控制器,由它来控制DDS芯片AD9835再通过TLC5615完成数字量输入到模拟量输出的转换,然后经运放调节电压幅度,产生1MHz~15MHz的正弦波和方波,最后由液晶屏显示。本论文其重点讨论了AD9835基本工作原理、DAC数模转换及其与89C52单片机控制系统的硬件结构和软件设计框图。

关键词:单片机;DDS芯片;液晶显示

II

Abstract

Signal generator is signal power or oscillator in production practice and science and technology has been widely used in the field. Various waveform curve can be expressed by trigonometric function equations. For example in telecommunications, broadcasting and television systems, high-frequency radio frequency (need) emission, here is the carrier of radio frequency waves, video and audio (low) signals or carrying out the pulse signal, need to be able to produce high-frequency oscillator. In industry, agriculture, biomedical fields, such as in high-frequency heating, smelting, quenching, ultrasonic diagnosis, nuclear magnetic resonance imaging, etc, all need power or big or small, high or low frequency or the oscillator.

The three main module design, control module, signal module and LCD module. AT89S52 SCM, mainly adopted by it to control the controller chip AD9835 DAC0832 through spurious again, it is a of 8 bits can be completed digital-to-analog converters, digital input to the analog output conversion, then the op-amp regulation, to meet the requirements of the voltage waveform, finally by the display on the LCD panel. LCD USES is four line resistance feeling. This paper discusses the basic principle of work, and AD9835 89S52 interface, the single chip microcomputer control system, the hardware structure and software design, working principle and touch screen.

Key words: SCM;DDS chip;LCD

III

目 录

绪论 ............................................................................................................................................ 6 1 系统设计与方案论证 .......................................................................................................... 5 1.1 信号发生器实现的功能 ................................................................................................ 5 1.2 系统方案设计 ................................................................................................................ 6 1.3 DDS工作原理与特点 ................................................................................................... 6 1.3.1 DDS工作原理 ....................................................................................................... 6 1.3.2 DDS性能特点 ....................................................................................................... 7 1.4 系统模块设计思路 ........................................................................................................ 8 1.4.1 控制模块 ................................................................................................................ 9 1.4.2 显示模块 ................................................................................................................ 9 1.4.3 功率放大模块 ...................................................................................................... 10 1.5 开发工具与开发环境 .................................................................................................. 10 1.6 本系统的设计框图 ...................................................................................................... 16 2 系统硬件电路设计 ............................................................................................................ 17 2.1 单片机最小系统 .......................................................................................................... 17 2.1.1 STC89C52RC单片机 .......................................................................................... 17 2.1.2 单片机最小系统 .................................................................................................. 18 2.2 信号发生模块电路设计 .............................................................................................. 19 2.3 1602LCD显示屏 ......................................................................................................... 22 2.3.1 液晶显示屏概述 .................................................................................................. 23 2.3.2 接口信号说明 ...................................................................................................... 18 2.3.3 1602LC地址说明 ................................................................................................ 18 2.3.4 1602指令码说明 ................................................................................................. 19 2.3.5 1602LCD写操作时序图 ..................................................................................... 19 2.3.6 1602硬件电路 ..................................................................................................... 20 2.4 D/A转换与功率放大模块 .......................................................................................... 25 2.4.1 TLC5615芯片 ...................................................................................................... 25

IV

2.4.2 AD603芯片 ......................................................................................................... 27 2.5 声光提示电路 .............................................................................................................. 29 2.6 按键电路设计 .............................................................................................................. 29 3 系统软件设计 .................................................................................................................... 30 3.1 系统软件设计语言与步骤 .......................................................................................... 32 3.2 系统软件流程图 .......................................................................................................... 33 3.2.1 主控制器软件设计 .............................................................................................. 28 3.2.2 主程序设计 .......................................................................................................... 28 3.2.3 LCD液晶显示驱动程序设计 ............................................................................. 29 3.3 波形产生模块的软件设计 .......................................................................................... 30 3.3.1 波形产生模块主程序设计 .................................................................................. 30 3.3.2 波形输出功能程序设计 ...................................................................................... 37 3.4 声光提示电路的程序设计 .......................................................................................... 33 4 系统的调试 ........................................................................................................................ 34 4.1 波形的输出测试 .......................................................................................................... 34 4.2 参数测量与误差分析 .................................................................................................. 35 结论 .......................................................................................................................................... 37 致谢 .......................................................................................................................................... 38 参考文献 .................................................................................................................................. 39 附录 A ................................................................................................................................... 40 附录 B ................................................................................................................................... 53 附录 C ................................................................................................................................... 54

V

绪论

波形发生器是一种常用的信号源,广泛地应用于电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域。

通常认为,波形发生器是随着不断进步的计算机技术和微电子技术在测量仪器中的应用而形成和发展起来的一类新型信号源。可分四大类按其波形信号:①正弦信号发生器。这类发生器主要适用于测量电路和一些系统的频率特性、可出现的非线性失真、增益及灵敏度等等。按照性能和用途分类还可细分为高频(100千赫至300兆赫)信号发生器、低频(20赫至10兆赫)信号发生器、微波信号发生器、扫频和程控信号发生器及频率合成式信号发生器等。②函数信号发生器(也叫波形信号发生器)。其是一种能产生某些特定周期性时间函数波形(包含正弦波、方波、三角波、锯齿波和脉冲波等)信号的发生器,几个微赫到几十兆赫都属于其频率范围。不仅供通信、仪表和自动控制系统测试用,在其他非电测量领域还被广泛使用。③脉冲信号发生器。这种发生器能产生宽度、幅度和重复频率可调的矩形脉冲,线性系统的瞬态响应可用它测试,或用作模拟信号来测试雷达、多路通信和其他脉冲数字系统的性能。④随机信号发生器。通常由噪声和伪随机两类信号发生器。主要用到噪声信号发生器的地方:引入一个随机信号到待测系统中,测定系统性能是凭借模拟实际工作条件中的噪声;测定噪声系数通过外加一个已知噪声信号与系统内部噪声比较;用随机信号代替正弦信号或脉冲信号,实现系统动态特性的测定。进行相关函数测量用噪声信号时,若平均测量用时过短,统计性误差难以避免,解决这种情况可以用伪随机信号[1]。

1.历史发展情况

总的来讲,波形发生器的发展经历了以下几个阶段: 第一阶段:分立元件实现阶段

在早期集成电路还不成熟的时候,波形发生装置都是由三极管等分立元件组成的。采用这种方法设计实现的波形发生器,硬件电路十分复杂,而且输出波形单一,频率和幅值不易精确调节。但这种方法实现的波形发生装置,具有频率稳定度高的优点,例如石英晶体振荡器,至今仍在信息技术等领域具有不可替代的作用。

6

第二阶段:集成芯片实现阶段

随着运算放大器等简单集成电路的发展成熟,采用少量的集成电路芯片可以替代大量的分立元件实现波形输出的功能。在一定程度上降低了硬件电路的复杂程度。随着单片机和存储芯片的发展,软件编程的思想逐渐被引入到电子领域中,利用软件编程的灵活性和可重复性的优点,可以进一步简化硬件电路,并且将数字化和智能化的概念引入到波形发生器的设计中,使得波形频率和幅值的精确可调成为了可能。

第三阶段:专用集成芯片实现阶段

随着集成芯片制造工艺的进一步发展,一些高性能的波形产生专用芯片逐渐被应用到该领域并获得成功。波形发生装置的电路设计得到进一步简化,而与此同时,所产生的波形的质量却得到了显著提高。例如应用比较广泛的DDS芯片AD9833系列,能制作出各种频带宽,质量高的波形信号,例如应用高性能的AD9833芯片,可以做出频率1GHZ以上,频率分辨率0.1HZ以下的优质波形[2]。

2.国内波形发生器发展现状与发展趋势

如今,波形发生装置的门类已经相当齐全。基于各种不同技术的波形发生装置各具特色,分别在不同的场合得到了广泛应用。基于模拟器件和振荡原理的各种信号产生电路,例如RC振荡电路和LC振荡电路等,由于其电路简单,稳定性较高,在一些对波形参数可调性要求较低的场合应用较为广泛;近些年随着数字集成芯片的发展而逐渐出现并成长起来的波形产生技术则在对波形的各种参数要求较高的场合占据优势,使其在通信、雷达、电子对抗、导航、广播电视、遥测遥控、仪器仪表等许多领域中被广泛应用[3]。

随着科技不断发展,在各个领域对信号产生电路提出了越来越高的要求。以往那些只具有单一优势的波形发生装置的应用越来越受到限制。例如用模拟器件构成的波形发生器电路简单可靠、信号频率较高,但可调节性差;采用数字电路为核心的波形发生装置所产生的信号可调节性好,但电路复杂,而频率又不易做的很高。较为理想的波形发生装置应该同时具备多方面的优良品质,信号的频带应该较宽,而且步进精确。另外,微型化也是信号产生装置的发展趋势之一,这样,才能将信号发生装置方便的嵌入到各种仪器设备中。随着芯片制造工艺的不断提高,性能更高、体积更小的专用信号处理芯

7

片必将会越来越多地应用到信号产生电路中,使更高质量的信号的产生成为可能。

3.课题的提出

前已述及,基于直接频率合成(DDS)技术实现的波形发生器具有频率分辨率高,频率切换速度快,输出信号噪声低,易于集成等优点,具有较高的实用价值。直接数字频率合成技术(DDS),就是将要产生的波形数据存入波形存储器中,然后在参考脉冲的作用下,对输入的频率数据进行累加并将累加器的输出经过转换后作为读取波形存储器的地址,读出的波形数据经过数\\模转换后变为电压信号,也就是连续的阶梯信号,再加一级低通滤波电路,过滤掉波形信号里的高频成分,即可得到较为理想的波形信号。

DDS技术的实现,一般有如下几种可选的方案。首先是使用专用的DDS芯片,例如应用比较广泛的DDS芯片AD9833系列。专用DDS芯片性能可靠,特别是在高频领域,有着无可替代的地位。但在中低频领域,专用DDS芯片却不一定是唯一的选择。其次是基于可编程逻辑器件FPGA的实现方法。这也是一种较为成熟的实现方法,FPGA是把相应的逻辑“暂时”固化为硬件电路了,而且FPGA在编程使用时也十分灵活,因此,利用FPGA作为核心器件再辅以低通滤波等辅助电路就可以得到质量较高的波形信号[4]。

单片机以其体积小,功能齐全,价格低廉,可靠性高等方面所具有的独特优点,长期以来被广泛的应用在各个领域。作为一种优秀的控制装置,当只要求波形发生装置工作在频率较低的频段时,用单片机取代专用DDS芯片和FPGA,通样可以得到频率精确可调的高质量的波形信号。本系统将波形数据存放在单片机的存储器中,利用软件编程的方法模拟DDS原理,实现直接数字频率合成的功能[5]。

4.系统结构简介 本文共分为四个大部分:

第一部分:系统总体方案设计,提出了信号发生器系统的总体设计方案,并进行比较,最终选择了最优方案进行设计。

第二部分:系统硬件设计部分,详细说明了系统的硬件设计,以及各模块的硬件设计说明。

第三部分:系统软件设计部分,阐述了系统主流程图以及各子程序流程图。

8

第四部分:系统的调试,阐述了系统软硬件调试过程。

9

1 系统设计与方案论证

1.1 信号发生器实现的功能

本系统设计信号发生器欲实现的功能如下:

(1)本系统需要设计显示器,用以显示当前信号发生器的波形类型,以及信号发生器输出波形的幅度及频率;

(2)本系统需要设计键盘电路,用以调节信号发生器输出波形的幅度值和频率值; (3)本系统需要设计的信号发生器可以输出三种不同的波形,波形类型分别为矩形波、正弦波和三角波;

(4)本系统需设计的信号发生器可以实现输出频率在1Hz和100MHz之间。

1.2 系统方案设计

目前,波形发生器设计方案主要有以下几种:

1.方案一

用分立元件组成的函数发生器。分立器件是相对于集成芯片而言的。随着科学技术的不断发展,人们渐渐步入电子时代,分立器件也被也被广泛应用到消费电子、计算机及外设、网络通信,汽车电子、LED显示平等领域。它包括:半导体二极管、半导体三极管、电容、电阻、逻辑器件、传感器、敏感器件以及装好的压电晶体类似半导体器件等。

用分立器件组成的函数信号发生器通常机构简单、成本较低。但是由于元器件的分散性及环境条件的改变等因素,致使波形频率产生偏差,它通常是单函数发生器且平率不高,其工作不很稳定,不易调试[6]。

2.方案二

制作函数信号发生器可用运放IC、晶体管等通用元器件。晶体管、运放IC等通用器件均可以制作函数信号发生器,用专业的发生器产生信号则是普遍选择。函数信号发

10

生器IC在早些时候,如M8045、CA102、XR5547等,不仅精度不够高,功能也比较少,频率上限只有200kHz,若想产生更高的频率信号是难以实现的,再加上不够灵活的调节方式,频率,占空比无法单独调节。

由于用通用器件制作的信号发生器同样具有频率不高的缺点,因此,在本论文设计中,此种方案也不宜采用。

3.方案三

采用DAC0832通过查表得方式输出需要的波形,通过单片机定时向DAC转化器发送转换数据,实现不同的幅值和频率的输出。这种方法能够实现各种需要的波形的输出,成本也不高,只是在扩展外设的时候浪费了大量的接口,以后的系统扩展可能会有影响。

4.方案四

利用专用直接数字合成DDS芯片制作的函数信号发生器。DDS有如下优点: (1)速度快,可达到μs数量级;

(2)频率分辨率较高,输出频点多,可达多个频点切换; (3)能够输出正交信号; (4)频率切换时能实现相位连续; (5)可以产生任意的波形;

(6)输出噪声低,对参数频率源的噪声有改善作用;

(7)全数字化实现便于集成,体积小,重量轻。DDS芯片的时钟频率从几十兆赫兹到几百赫兹不等,芯片从一般功能到集成有D/A转换器和正交调制器[7]。

DDS有上述诸多优点,而且利用直接数字合成DDS芯片实现的函数信号发生器能够产生任意波形并达到很高的频率,克服了方案一、方案二的多数缺点,故本设计采用方案四。

1.3 DDS工作原理与特点

1.3.1 DDS工作原理

直接数字频率合成器(DDFS)的基本原理:DDS是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在EPROM中构成一个正弦查询表,通过

11

查表法产生波形。它是由参考时钟、相位累加器、正弦查询表和D/A转换器组成,如图1.1所示。

图1.1 直接数字频率合成原理框图

相位累加器由N位加法器级联与N位累加寄存器构成,其原理框图如图1.2所示。时钟脉冲信号Fc被接受时,频率控制数据K被累加相位数据与N位加法器相加,结果被送到累加寄存器的输入端。新产生的相位数据会被反馈到加法器的输入端,在下一时钟的作用下加法器继续与频率控制数据K相加;同时以相加后的结果形成正弦查询表的地址,取出表中与该相位对应的单元中的幅度量化正弦函数值,作为取样地址值送入幅度/相位转换电路。这样查找表就可把波形存储器内的波形抽样值(二进制编码)查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的幅值转换成所要求合成频率的模拟量形式信号[8]。

图1.2 相位累加原理框图

这样看来,每一个时钟脉冲输入,相位累加器都会把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。当相位累加器加满量时就会产生一次溢出,溢出频率就是DDS输出的信号频率。 1.3.2 DDS性能特点

电路设计DDS的性能特点 (1)频率转换时间短

由于数字合成是一个开环的系统,无任何的反馈,使得数字合成的频率转换时间非常的短。实际上,当DDS的频率控制字发生改变,经过一个时钟周期之后,按照新的

12

相位增量进行累加,才能实现频率转换。DDS频率转换的时间可达纳秒级,比使用其它的合成方法都要少几个数量级。

(2)输出波形灵活性

只要DDS内部加上相应控制如控制PM通过调相、控制FM通过调频以及控制AM通过调幅,就可以灵活方便地实现调相、调频和调幅功能,产生PSK、FSK、MSK和ASK信号。次外,只要不同波形的数据值在DDS的波形存储器中存放,每种不同波形的输出即可实现,如锯齿波、三角波和矩形波甚至是其他的波形。当余弦和正弦函数表分别存放在DDS的波形存储器中时,正交的两路输出即可得到。

(3)输出频率带宽较宽

输出的频率带宽理论值为55%fs。但是,考虑到其低通滤波器的特性及设计难度,抑制杂散的输出信号,输出频率带宽在实际上仍能达到45%fs。

(4)相位变化连续

改变DDS的输出频率,实际每一个时钟周期的相位增量上的改变,都是连续的相位函数的曲线,只是其频率在改变频率的瞬间发生了突变,因而使信号相位的连续性得以保持。

(5)其他优点

由于直接数字合成芯片中大部分器件都属于数字电路,功耗低、易于集成,可靠性高体积小,且易于程控,因此性价比很高[9]。

1.4 系统模块设计思路

根据毕业设计要求,以及方案的比较结果,拟采用DDS芯片实现设计内容。本设计采用模块化思想,即将不同功能器件分别做成不同模块。根据功能要求,共分为五大模块:输入模块、显示模块、造波模块、调幅模块和控制模块。其中输入模块为键盘,输出模块为LCD1602液晶显示器。输入与输出模块体积较小,焊接在同一块电路板上,但分有不同数据接口,相互独立。造波模块由DDS芯片及其外围电路以及一个低通滤波器组成。调幅模块由一片串行的10位D/A芯片和功率放大芯片组成。控制模块由单片机、晶振电路和复位电路组成,构成单片机最小系统。

13

1.4.1 主控模块的选择

方案一:用单片STC89C52作为系统的主控核心。单片机具有体积小,使用灵活的,易于人机对话和良好的数据处理,有较强的指令寻址和运算功能等优点。且单片机功耗低,价格低廉的优点。

方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。片内集成了控制系统和数据采集中常用的模拟部件和其他数字外设及功能部件,还具有标准8052的数字外设部件,而且执行速度快,但其价格较贵。

方案三:用FPGA等可编程器件作为控制模块。FPGA可以实现各种复杂的逻辑功能,密度高,速度快,稳定性好等许多有点。FPGA在掉电后会丢失数据上电后须进行一次配置,因此FPGA在应用中需要配置电路和一定的程序。并且FPGA作为数字逻辑器件,竞争、冒险是数字逻辑器件较为突出的问题,因此在使用时必须注意毛刺的产生、消除及抗干扰性。

在此系统中,采用STC89C52单片机作为控制比采用C8051F005单片机、FPGA实现更简便。基于综合性价比,确定选择方案一。 1.4.2 显示模块的选择

方案一:采用LED数码管。LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16s时人眼感觉不到闪动,看到的是每只数码管常亮。使用数码管显示编程较易,但要显示内容多,而且数码管不能显示字母。

方案二:采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。优点是显示信息非常丰富,可以很形象的显示信号发生器的各个参数。占用的I/O资源比较少,不需要循环扫描,节省了大量的程序开销。

以上两种方案综合考虑,本设计选择方案二。 1.4.3 功率放大模块的选择

方案一:采用多级放大电路。由两个晶体管构成共射——共集放大电路如图1.3所

14

示,第一级起到电压放大作用,达到正弦信号峰-峰值输出,第二级为跟随器,主要为了能够带50欧的负载,使其负载上的正弦信号的输出电压的峰-峰值达到题目的要求。此电路只是在调试选定具体参数中比较麻烦,但工作比较稳定,比较易于实现。

图1.3 共射-共基放大电路的交流通路

方案二:采用可变增益放大器。增益放大器直接与AD9833相接,用来实现电压的放大并且控制波形的失真,精确度高,且较稳定,实现简单。系统可以采用AD603,这种芯片具有程控增益调整功能。是一个90MHz带宽增益可调、低噪的集成运放,如用分贝表示增益,则控制电压与增益成线性关系,压摆率为275V/μs。可编程的增益范围由管脚间的连接方式决定,增益在-11~+30dB时的带宽为90Mhz,增益在+9~+41dB时具有9MHz带宽,改变管脚间的连接电阻,可使增益处在所需范围内[10]。

综上所述,本设计采用方案二。

1.5 开发工具和开发环境

本文件系统采用单片机C语言实现,编译器为Keil uVision2。

C语言是一种程序设计语言,它具备汇编语言的一些功能,并兼顾了多种高级语言的特点。用C语言来编写目标源程序,不但会大大缩短开发时间,而且明显地增加软件的可读性,便于更正,以研制出规模更大,性能更完备的系统。用C语言进行8051系列单片机的程序设计是单片机开发与应用的必然趋势。

C语言具有可读性好的优势,更容易使大家相互借鉴,提高自己的程序设计水平。C语言具有模块化程序结构的特点,使程序模块化,不断丰富。采用C语言,可针对常用的功能模块、算法等编制相应的函数可针对单片机,常用的接口芯片编制通用的驱动函数。这些函数经过整理可形成库函数,供广大的单片机爱好者使用和完善。

15

目前,8051系列单片机上的C语言的代码长度,在未加入优化的条件下做到了最优汇编程序水平的1.2—1.5倍,达到了中等程序员的水平。在仿真器水平提高的前提下,优化水平还会继续提高。在软件质量和开发速度及结构严谨性等方面,C语言的优势绝非汇编语言所能比拟[11]。

KEIL公司的C51编译器DOS版本曾通过美国Franklin公司在市场上畅销多年,最早传入我国并得到广泛使用的是Franklin C51 V3.2版本。随着时间的推移,KEIL公司的产品不断升级,V5.0以上版本C51编译器就配有基于Windows的uVision集成开发环境和dScope软件模拟调试程序。现KEIL公司的编译器有支持经典8051和8051派生产品的版本,统称为Cx51。新版本uVision2把uVision1用的模拟调试器dScope与集成开发环境无缝结合起来,界面更友好,使用更方便,支持的单片机品种更多。因此,Keil uVision2是单片机程序开发的理想环境[12]。

1.6 系统设计总框图

本系统的设计总框图如图1.4所示。

图1.4 系统总体框图

本系统主要包括以下几个模块:主控制器及其接口电路模块,键盘及液晶显示模块,波形产生模块,幅值调节模块。其中,主控制器负责接收并处理来自键盘的命令输入,驱动液晶显示当前波形的频率值或幅值,向波形产生模块发送当前波形的频率值数据,向幅值调节模块发送当前波形的幅值数据,以此实现对整个系统的统一协调管理。

16

2 系统硬件电路设计

根据系统框图可知,本系统的硬件电路设计应包括单片机最小系统设计、信号发生模块设计、显示电路设计、D/A转换电路与功率放大模块设计和按键提示电路设计等。

2.1 单片机最小系统设计

单片机最小系统是指在保证控制器正常工作的前提下,所需的最小计硬件电路,它主要包括:晶振电路、复位电路、供电电路。

晶振电路在单片机系统中的作用非常大,它为单片机电路内部工作提供时钟频率。时钟频率越高,系统工作越快,它是单片机内部一切指令的时钟基础。在正常条件下,普通的晶振频率绝对精度可达百万分之五十,可靠性很高,通常外部晶振电路与系统内部锁相环电路配合使用,用来提供系统所需的时钟频率。对于级联系统,如果不同子系统需要不同频率的时钟基准信号,可以用与同一个晶振相连的不同锁相环来提供。

复位电路主要功能是让系统恢复到初始状态,如果程序跑飞,系统无法运行,可以使用复位电路让其再次启动,恢复系统功能。

供电电路主要是为系统提供能量,保证系统能正常工作。 2.1.1 STC89C52RC单片机

STC89C52是一个高性能低电压CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),采用ATMEL公司生产的器件,含有高密度、非易失性等高端技术,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,STC89C52单片机在电子行业中有着广泛的应用。

STC89C52单片机主要特性: (1)与C51单片机指令系统相兼容 (2)8k的FLASH可反复擦写使用;

17

(3)256x8bit内部Ram;

(4)三十二个双向输入输出接口; (5)3个16位可编程定时计数器; (6)系统时钟范围0-24MHz; (7)2个UART串行通道; (8)8个中断源含两个外部中断; (9)2个读写线;

(10)具有低功耗空闲模式和掉电模式,通过软件设置睡眠和唤醒功能; (11)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 本系统中,主控制器采用STC89C52型单片机。STC89C52单片机是新一代超强抗干扰/低功耗/高速的单片机,其指令代码完全兼容传统的8051单片机。实际上,STC89C52单片机与经典的MCS-51单片机具有相同的内核结构,在应用上可以当作传统的MCS-51单片机使用。

MCS-51单片机由美国INTEL公司推出,它比之前推出的MCS-48单片机功能更强,结构更先进,指令和电路单元都在原有的基础上增加了。MCS-51系列单片机主要包括8031、8051和8751等通用产品[13]。 2.1.2 单片机最小系统

单片机最小系统如图2.1所示。

(1)单片机晶振电路:单片机外围的晶振电路是通过单片机的第18(X2)、19(X1)引脚接入。X1脚为振荡器反相放大器和内部时钟发生电路的输入端,X2脚为振荡器反相放大器的输出端。

对于MSC-51一般的晶振频率可以在1.2MHz—12MHz之间选择,这时电容C可以对应的选择10pF—30pF。当使用89C52时晶振频率可以提高到24MHZ。对于本设计的电容C用30pF,晶振选用12MHz。晶振电路原理图如图2.1所示,一条引脚接在X1,另一条接在X2。

(2)KG:复位信号。当无源晶振工作时,RST脚将持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器

18

AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。为了防止程序执行过程中失步或运行紊乱,本系统采用了上电复位及手动复位电路。

图2.1 单片机最小系统

(3)EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。若只是用内部程序存储空间,该引脚悬空即可。

2.2 信号发生模块电路设计

AD9833是一款低功耗器件,采用MSOP封装,非常小巧,外围电路简单,仅需要1个外部参考时钟、一个低精度电阻器和一个解耦电容器,通过SPI接口和单片机相连,可编程波形发生器;能够产生正弦波、三角波、方波输出。其主要特性如下:相位和频率可数字编程;工作电压为3V时,功耗仅为20mW;输出频率范围为0MHz~12.5MHz;频率寄存器为28位(在25MHz 的参考时钟下,精度为0.1Hz);可选择正弦波、方波、三角波输出;无需外接元件,3线SPI接口,温度范围为-40℃~+105℃[14]。

AD9833的引脚图如图2.2所示。

19

图2.2 AD9833的引脚图

各引脚功能如表2.1所示。

表2.1 AD9833的引脚功能

引脚号 1 2 3 4 5 6 7 8 9 10

符号 COMP VDD CAP/2.5V DGND MCLK SDATA SCLK FSYNC AGND VOUT

功能说明

为DAC偏移解耦的DAC偏移引脚

电源电压 数字电路的电源端

数字地

主频数字时钟的输入端

串行数字输入 串行时钟输入 控制输入,低电平有效

模拟地 输入频率(

AD9833内部电路主要有数控振荡器(NCo)、相位和频率调节器、正弦只读存储器(sineROM)、电压调整器、数模转换器(DAC)。28位的相位累加器是其核心,相位寄存器和加法器将其组成,每来一个时钟,输人到正弦查询表地址中的相位寄存器以相位控制字与步长增加相位寄存器的输出相加。1个周期正弦波的数字幅度信息被包含在正选查询表中,正弦波中0°-360°对应每个地址。输人的地址相位信息被查询表映射成正弦波幅度的数字量信号,DAC被驱动输出模拟量。每经过2脚M个MCLK时钟后相位寄存器回到初始状态,相应的正弦查询表经过一个循环回到初始位置,这样正弦波就被输出[15]。

输出正弦波频率为:

20

fOUT?MFMCLK (2.1) 228其中,外部编程给定M为频率控制字,范围在0到228之间。VDD引脚为AD9833的数字部分和模拟部分供电,供电电压为2.3V-5.5V。AD9833内部数字电路工作电压为2.5V。AD9833还具有休眠功能,就是没被使用的部分休眠,减少该部分的电流损耗,例如:若利用AD9833输出作为时钟源,就可以让DAC休眠,以减少功耗。如图2.3和图2.4是AD9833的主时钟时序和串行时序。

图2.3主时钟时序

图2.4 串行时序

当AD9833初始化时,为了避免DAC产生虚假输出,RESET必须置为1(RESET不会复位频率、相位和控制寄存器),直到配置完毕,将RESET调置为0只能在需要输出的时候;可在DAC的输出端观察到波形当RESET为0后的8-9个MCLK时钟周期。AD9833写进数据到输出端收到响应,有一定的反应时间,每次给相位寄存器或频率载入新的数据,在输出端产生的波形产生改变之前都会有7-8个MCLK时钟周期的延时。因为当数据载入目的寄存器得时候MCLK上升沿的位置无法确定,所以有1个MCLK时钟周期不确定。

该信号会被移相:

2?Pi?PHASEREC 4096 (2.2)

其中,PHASEREC为所选相位寄存器中的相位字。

AD9833可运作的主时钟频率高达25MHz。一般25Hz的振荡器包含在外部电路中,

21

但是这振荡器也可以删除,如有需要可以连接到外部CMOS时钟上。图2.5为AD9833的外围电路。

图2.5 AD9833的外围电路

AD9833有3根串行接口线,与SPI、QSPI、MI-CROWIRE和DSP接口标准兼容,在硬件电路中,本系统用单片机的P20,P21,P22三个通用I/O口去模拟SPI时序,在串口时钟SCLK的作用下,数据加载到设备上是以16位的方式,FSYNC引脚是使能引脚,低电平有效的电平触发方式。进行数据窜行传输时,必须置低FSYNC引脚,要注意FSYNC有效到SCLK下降沿的建立时间最小值。FSYNC置低后,在16个SCLK的下降沿数据被送到AD9833的输入移位寄存器,可以置高第16个SCLK的下降沿FSYNC。当然,连续加载多个16位数据在FSYNC为低电平的时候也是可以的,仅最后一个数据的第16个SCLK的下降沿的时将FSYNC置高,还有,写数据时SCLK时钟为高低电平脉冲,但是,在FSYNC刚开始变为低时(即将开始写数据时),SCLK必须为高电平[16]。

2.3 系统显示电路设计

本系统设计的显示电路用以显示信号发生器输出的波形类型,以及输出波形的频率和幅值。

22

2.3.1 LCD1602液晶显示屏

液晶显示器(LCD)的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面,各种液晶显示器简称液晶。不能显示汉字的液晶命名规则是以点阵的列数和行数来命名的。如本设计使用的LCD1602的意思是每行显示16个字符,共有2行。可以显示汉字的液晶称为图形液晶,图形液晶是以点阵的数目命名的,每个点都可以单独控制。例如12232代表该液晶有122行,32列的点阵。LCD1602内置含128个字符的ASCII字符集字库,显示控制用ASCII码即可[17]。 2.3.2 接口信号说明

1602液晶接口的信号说明如表2.2所示。

表2.2 1602液晶接口的信号说明

编号 1 2 3 4 5 6 7 8

符号 VSS VDD VO RS R/W E D0 D1

引脚说明 电源地 电源正极 液晶显示的对比度调节 数据/命令选择(H/L)

读/写选择(H/L) 使能信号 数据口 数据口

编号 9 10 11 12 13 14 15 16

符号 D2 D3 D4 D5 D6 D7 BLA BLK

引脚说明 数据口 数据口 数据口 数据口 数据口 数据口 背光电源的正极 背光电源的负极

2.3.3 LCD1602地址说明

1602LCD地址说明表如表2.3所示。当向直接显示区写入数据时,液晶可立即显示出来,当向缓存显示区写入数据时,液晶不直接显示,但可通过移屏指令使其显示出来。

23

表2.3 1602LCD地址说明表

第一行 第二行

直接显示区 80H——8FH C0H——CFH

缓存显示区 90H——A7H D0H——E7

2.3.4 1602指令码说明

LCD1602指令表如表2.4所示。

表2.4 1602LCD指令表

功 能

0 0 0 0 0 0 0 1 清屏:1.数据指针清零 2.所有显示清零 0 0 0 0 0 0 0 2 回车:数据指针清零

0 0 1 1 1 0 0 0 设置16x2显示,5x7点阵,8位并行数据接口

D=1开显示;D=0关显示

0 0 0 0 1 D C B C=0不显示光标;C=1显示光标

B=0光标不闪烁;B=1光标闪烁

N=1当读或写一个字符之后地址指针加1,且光标加1

0 0 0 0 0 1 N S

N=0当读或写一个字符之后地址指针减1,且光标减1

S=1当写一个字符时,整屏移动,以得到屏幕移动而光标不动的效果 S=0,当写一个字时,整屏不移动

2.3.5 LCD1602写操作时序图

由于液晶显示屏为输出设备,故不需要从中读取数据,本设计只涉及写操作,未涉及读操作,故只列出写操作时序图如图2.6所示。

24

图2.6 1602LCD写操作时序图

2.3.6 系统显示电路

本系统设计的显示电路如图2.7所示,1602液晶显示器的三个控制端口分别通过P2.5、P2.6、P2.7三个I/O口控制,8位数据端口与单片机的P0口相连。1602液晶显示器背光亮度通过如图所示的滑动变阻器RP1调节控制。

图2.7 系统显示电路原理图

2.4 D/A转换电路与功率放大模块设计

本设计采用串行10位数/模转换器TLC5615采集信号电压,为下一级的功率放大器AD603提供控制电压。 2.4.1 TLC5615芯片

TLC5615为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,

25

其输出为电压型,最大输出电压是基准电压值的两倍。其带有上电复位功能,即把DAC寄存器复位至全零。TLC5615性能价格比高,目前在国内市场很方便购买。

1.TLC5615的特点 (1)输出电平可达到十位; (2)芯片需要5V供电; (3)与SPI串行口模式兼容;

(4)芯片电压输出可以达到基准电压值的两倍; (5)与参考电压有相同的极性; (6)建立时间μs级; (7)内部使能复位; (8)低功耗。 2.TLC5615引脚说明

TLC5615有小型和塑料DIP封装,DIP封装的TLC5615芯片引脚排列如图2.8所示。

图2.8 TLC5615引脚排列图

引脚功能说明如下:

(1)1脚DIN:串行数据输入端; (2)2脚SCLK:串行时钟输入端;

(3)3脚3CS:芯片选用通端,低电平有效; (4)4脚4DOUT:用于级联时的串行数据输出端; (5)5脚5AGND:模拟地;

(6)6脚6REFIN:基准电压输入端; 3.TLC5615时序部分

TLC5615的时序如图2.9所示。

26

图2.9 TLC5615的时序图

由TLC5615的时序图,当片选CS为低电平时,输入数据DIN由时钟SCLK同步输入或输出,而且在前为最高有效位,在后为低有效位。输入时串行输入数据DIN被SCLK的上升沿移入内部的16位移位寄存器,串行数据DOUT由SCLK的下降沿输出,数据被片选CS的上升沿传送至DAC寄存器。

当片选CS为高电平时,时钟同步不能把串行输入数据DIN送入移位寄存器;输出数据DOUT不进入高阻状态通过保持最近的数值不变。因此必须满足两个条件方可串行输出数据和输入数据:第一时钟SCLK的有效跳变;第二片选CS为低电平。当片选CS为高电平时,输入时钟SCLK应当为低电平。

系统的D/A转换电路原理图如图2.8所示。

图2.8 TLC5615硬件连接图 单片机通过P36口控制串行数模转换器TLC5615的3脚片选端,1脚串行数据输入端与2脚串行时钟输入端分别通过单片机的P34和P35端口控制。串行数模转芯片7脚输出端接下一级的功率放大的控制端。 2.4.2 AD603芯片

在很多信号采集系统中,信号变化的幅度都比较大,那么A/D转换的量程可能被放大以后的信号幅值超过,所以调整放大器的增益必须根据信号的相应变化。在有较高要

27

求的自动化程度的系统中,希望控制放大器的增益可用程序中的软件调节,或者放大器本身能自动将增益调整到适当的范围。AD603这种芯片正具有程控增益调整功能。由美国ADI公司生产,是一个90MHz带宽增益可调、低噪的集成运放。

AD603内部结构图如图2.9所示。有图可知芯片内部包括增益控制部分,精密无源输入衰减器,固定增益放大器,梯形电阻网络几大部分组成。AD603由一个可通过外部反馈电路设置固定增益GF(31.07~51.07)的放大器、40dB/V的线性增益控制电路和0~-42.14dB的宽带压控精密无源衰减器构成。

AD603利用了X-AMP由一个可变范围在0~-42.14dB的衰减器及一个固定增益放大器组成。其中,一个七级R-2R梯形网络构成可变衰减器,6.02dB为每级的衰减量,可为输入信号提供的衰减范围在0~-42.14dB。优越的噪声特性是X-AMP结构的一个重要优点,在1MHz宽带,最大不失真输出为1Vrms时,输出x信噪比为86.6dB。

图2.9 AD603内部结构图

增益控制接口通过控制电压VG=GPOS-GNEG来控制片内的精确调节器来控制输入信号的衰减量GA,增益控制接口电压—增益转换率为42.14dB/V,即23.73mV/dB,其线性转换曲线如图2.10所示。其中对GPOS与GNEG只要求不超过电源电压,增益的调整与自身电压值大小无关,而仅与其差值有关,并且控制电压GPOS/GNEG端的输入阻抗高达50MΩ,即输入的电流很小,则片内的控制电路对提供增益控制电压的外围电路影响很小。

28

图2.10 线性转换曲线

本系统利用AD603设计的功放电路硬件原理图如图2.11所示。

AD603芯片的一脚GPOS电压控制信号来自串行数模转换器TLC5616的输出端,2脚GNEG控制电压信号通过一个分压电路使其为固定值+2V,3脚VINP信号输入端与AD9833芯片的输出端相接。

图2.11 增益调节模块

2.5 声光提示电路设计

当有调频、调幅、复位或者光标移动按键按下时,为了达到提示使用者的目的,在电路硬件设计时,加入了按键声光提示电路。

按键声光提示硬件连接图如图2.12所示。

29

图2.12 按键声光提示硬件连接图

在此硬件电路设计中,选用PNP三极管8550作为开关,单片机通过P37端口控制三极管基极,当有调频、调幅、复位或者光标移动按键其中的一个按下时,P37口置为低电平,使得蜂鸣器和LED灯电路出去导通状态。

2.6 按键电路设计

按键电路如图2.13所示。

图2.13 按键电路图

由图可知,按键S1与单片机的P10口相连,按键S2与单片机的P11口相连,按键S3与单片机的P12口相连,按键S4与单片机的P13口相连,按键S5与单片机的P14口相连,按键S6与单片机的P15口相连。具体功能如表2.5所示。

30

表2.5 按键功能表

按键 S1 S2 S3 S4 S5 S6

功能 控制光标左移 控制光标右移 频率加 频率减 幅值加 幅值减

31

3 系统软件设计

3.1 系统软件设计语言与步骤

51单片机系列的编程语言常用的有两种,一种是汇编语言,一种是C语言。 1.汇编语言

汇编语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言可以直接和计算机的底层硬件进行交互。

(1)汇编语言的优势

①不受编译器类别的局限,对生成的二进制代码进行全面的控制; ②能够直接访问与硬件相关的存储器或输入输出端口;

③能够对代码进行准确的控制,避免因共同访问或者硬件设备共享引起的死锁; ④能最大限度地发挥硬件电路的功能;

⑤能够根据特定的应用对代码进行优化处理,提高运行的速度。 (2)汇编语言的缺点

同时还应该认识到,汇编语言是一种底层机器语言,它仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点。

①编写的代码非常难懂,不好维护; ②很容易产生漏洞,不易调试;

③只能针对特定的体系结构和处理器进行优化。 2.C语言

C语言,是一种计算机程序设计的语言。它既具有高级语言的优势,又具有汇编语言的特点。它既可以作为系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖硬件的应用程序。因此,它的应用范围非常广泛,不仅仅是在各种软件开发上,而且各类科学研究都会用到C语言,一些具体应用,比如单片机以及嵌入式系统开发。它具有如下优点:

32

(1)灵活方便、简洁时效; (2)数据结构非常全面; (3)运算符十分丰富;

(4)C语言语法限制少,程序设计自由比较度大; (5)C语言是结构式的语言;

(6)C语言适用范围大,可移植性好;

本设计采用Keil Software公司出品的集成开发环境进行编程,其版本为Keil μVision4。Keil μVision4是2009年2月发布的最新版本,是针对Windows桌面平台所研发的一套完整的集成开发环境,具有可视化、灵活的Windows窗口管理。该软件不仅给用户提供了丰富的库函数,而且提供了功能强大的开发测试工具;既支持C语言编程,也支持汇编语言编程;可以完成编辑、编译、连接、测试、仿真等整个开发流程;此外,在程序被编译之后,即可生成相应的汇编语言代码,使用户可以切身感觉到该款软件的生成目标的代码效率是相当高的,并且多数语句生成的汇编代码更为紧凑和容易理解,进而使得编程效率更为高效[18]。

3.2 系统软件流程图

3.2.1 主控制器软件设计

主控制器负责接收并处理来自键盘的命令输入,驱动LCD液晶显示当前波形的频率值或幅值,向波形产生模块发送当前波形的频率值数据,向幅值调节模块发送当前波形的幅值数据。

主控制器对键盘的操作是通过不断地扫描来完成的,当有按键按下,并根据键值调用相应的功能函数。主控制器其他功能的实现,也是分别调用相应的功能函数。具体细节在后面每个模块的软件设计分析中详细介绍。 3.2.2 主程序设计

主控制器的主程序设计完成以下功能:监视键盘,驱动LCD液晶的显示,发送频率值数据到波形发生模块,发送幅值数据到幅值修改模块。

本系统的主流程图如图3.1所示。

33

在图3.1中,初始化模块完成对中断控制寄存器的设置,LCD1602液晶显器的初始化设置和AD9833模块初始化设置。系统使用了主控制器的定时器T0中断来控制光标的隐藏与显示。

开始监视键盘发送频率数值发送幅值数据产生波形驱动液晶显示

图3.1 主控制器主程序流程图

3.2.3 LCD液晶显示驱动程序设计

显示模块采用1602液晶显示器,本系统设计所需显示的全部内容均由数字0—9以及英文字母组成,程序中定义一个字符型数组,用于存放与之相对应的字形数据。

本系统设定显示的内容包括当前波形的类型、频率值和幅值。1602液晶显示器控制器内部带有80个字节的缓冲区,控制器设有数据地址指针,为实现显示的内容,我们可以通过数据地址指针来访问全部80个字节的RAM, 我们把缓冲分成三个部分,分别用于显示波形类型,显示幅值和当前正在被显示波形的频率。光标位置变化在缓冲区对应的地址如下所示:

BYTE code Cursor[]={0xC3,0XC4,0XC6,0XC7,0XC8,0XCA,0XCB,0XCC,0x85};

34

程序中定义了全局位变量flag,用于判断光标的显示与隐藏。flag =0表示光标处于隐藏状态,flag =1表示光标处于显示状态。

其程序流程图如图3.2所示。

频率,幅值是否改变? N Y

图3.2 液晶显示模块主程序流程图

初始化 驱动液晶显示 返回 3.3 波形产生模块的软件设计

本模块设计实现的功能为:接收来自主控制器的频率值数据,模拟DDS原理输出波形。按照系统整体设计要求,本模块软件部分设计实现如下功能:

(1)接收来自主控制器的频率值数据; (2)响应来自辅助键盘的波形选择输入; (3)查表输出波形。 3.3.1 波形产生模块主程序设计

波形产生模块的主程序完成的操作包括对本模块的单片机进行初始化,接收来自主控制器的频率值数据,并利用接收到的频率值数据完成对波形频率的修改。

该主程序的流程图如图3.3所示。

在图3.3中,初始化模块完成对中断控制寄存器的设置。系统使用了主控制器的INT0

35

中断来响应操作者的按键输入;使用了定时器T0控制相邻两次查表操作之间的时间间隔。

图3.3 波形产生模块主程序流程图

开始 接收频率值数据 将频率数据转换为 定时器的定时初值 因此在初始化模块中,需要完成如下功能: (1)开CPU中断; (2)开INT0中断;

(3)设置触发方式为负边沿触发;

(4)开定时器T0中断;

本系统使用定时器T0控制相邻两次查表操作之间的时间间隔,因此,定时器的定时初值与输出波形的频率是一一对应的。能否精确地调节输出波形的频率,关键就在于能否精确地设定定时器的定时初值。

本系统设置定时器工作于方式1下。在本方式下,该计数器由高8位TH0和低8位TL0组成。定时器是按16位加1计数器工作的,计满为0时自动向CPU发出溢出中断请求,若要求它再次计数,则CPU必须在其中断服务程序中为它重装初值。

假设定时时间为tms,本系统设计输出波形的采样点数为32个,那么,输出波形的频率就可以表示为:f=1000/(32*t)。

因此,要通过频率值得到定时器的定时初值,需要经过若干乘、除运算。对于单片机来说,它内部的资源有限,在其内部做乘、除和取余运算会占用大量资源且不精确。

36

因而程序换用另一种方法取得定时初值。

考虑到每个频率点对应一个定时初值,本系统共设计有160个频率点,故可以在程序中定义一个大小为160的字符型数组freqarray[],用于存放求取定时初值的关键数据——1000*t,即可方便准确地求得当前频率值所对应的定时初值。 3.3.2 波形输出功能程序设计

本系统利用定时器的定时中断功能来精确控制相邻两次取样波形之间的时间间隔,从而达到精确控制输出波形频率的目的。波形输出功能由定时器中断服务程序来完成。该定时器中断服务程序流程图如图3.4所示。

本周期波形输出结束? N Y N

进入中断服务子程序 寻址下一个采样点数据 寻址第一个采样点数据 送出波形采样点数据 为定时器重装初值 结束本次中断 图3.4 波形输出功能程序流程图

37

3.4 按键电路的程序设计

当S1~S6按键,有按键被按下执行相关操作时,为了达到提示使用者的目的,在电路硬件设计时,加入了该电路。其具体程序流程图如图3.5所示。

开始YS1是否被按下?NYS2是否被按下?控制光标左移NYS3是否被按下?控制光标右移NY频率加S4是否被按下?NYS5是否被按下?频率减NYS6是否被按下?幅值加N返回幅值减图3.5 按键功能程序流程图

38

4 系统的调试

简单系统硬件的调试通常采用载入简单的测试程序并运行,使用数字表或示波器观察;对有些硬件例如显示器、键盘等可直接编入程序观察程序执行状态。

首先检查各指示灯是否亮起,再用万用表测量各Vcc、GND电平是否正常,然后用示波器检查各晶振电路是否起振。仔细触摸各个芯片,检查有无过度发热情况。一切检查完成后,测试单片机复位电路是否工作良好。

4.1 波形输出测试

连接示波器后,随机选取正弦波的小、中、大三个频率进行测试,检测是否能稳定输出用户要求的波形,方波和三角波的测试方法类似,这里本文不再赘述。本设计测试频率分选100Hz、123456Hz、12MHz三个值,测试结果如下:

100HZ输出波形如图4.1所示。

图4.1 100HZ波形图

39

123456HZ输出波形如图4.2所示。

图4.2 123456HZ波形图

12MHZ输出波形如图4.3所示。

图4.3 12MHZ波形图

40

4.2 参数测量与误差分析

本设计软件与硬件关系不是十分紧密,故在完成硬件及软件调试后,联调难度不大。测试中,三个测试点误差情况见下表4.1所示。

表4.1 参数表

预置频率 100Hz 123456Hz 12MHz

输出频率 100Hz 123500Hz 12.02MHz

误差 0 3.5640e-4 0.001666

经分析,误差来源主要有以下几点: (1)示波器本身在测量上存在误差。 (2)DDS参考时钟芯片晶振误差。

(3)由于布线非专业布线,未考虑到布线对信号的影响,且手工焊接质量难以保证,故此造成杂波频率叠加也会影响频率值精度。

41

结论

DDS技术作为一种新型的频率合成技术,同传统的频率合成技术相比,具有频率转换时间短、频率分辨率高、相位变化连续、易实现对输出信号的多种调制等诸多优点,使得DDS自从问世以来就受到了广泛的关注,具有广阔的应用前景。本设计以信号发生器为研究对象,使用STC89C52单片机作为中央控制器,通过AD9833产生频率并且经过DDS技术对频率的合成以完成对信号发生器的研制。主要完成了以下几个方面的任务:

(1)对数字合成技术的基本结构、工作原理和其频谱做了理论分析,分析了DDS输出频谱杂散的主要原因:幅值量化误差、以及DAC器件的非线性误差,并相对应的提出了减少杂散的方法。

(2)基于数字合成技术信号发生器的研究与设计,包括了方案论证,芯片的选择与介绍,MCU与DDS的硬件电路设计,波形变换电路的设计,其他外围电路的设计以及软件设计等。

(3)LCD液晶显示部分,首先上网查资料了解液晶屏的种类、内部结构和工作原理,然后逐一进行比较论证,最终采用1602液晶显示器。

在完成本次设计的过程中,遇到了很多的困难。在老师和同学们的帮助下,这些困难被一一克服了。通过本次设计,我不仅学习到了AD9833的知识,更拓展了自己的视野。

当然,由于设计的时间较短,设计之中还有几点不足的地方需要改进:

本系统的核心控制芯片单片机,由于单片机本身的晶振频率为11.0592Hz仅适用于低频信号源的电路当中。为了使频率范围能够扩大,在以后的设计中,应采用更高晶振频率的控制器件如DSP,FPGA等。LCD液晶显示部分,1602液晶屏幕较小,对于数据的显示不够直观,可以尝试触屏液晶。

42

致谢

参考文献

[1] 王永疆.信号发生器的原理与使用[M].天津:家电检测办公版,1991,6(2):22-46. [2] 周耀华.数字信号处理[M].上海:复旦大学出版社,2001,132-153. [3] 康华光.电子技术基础模拟部分[M].北京:高等教育出版社,2004,24-69. [4] 李凯彦.多功能信号发生器的设计[N].天津商学院日报,2005-12-25(8). [5] 王皑编.电子仿真电路[M].西安:科技大学大学出版社,1998,12-26.

43

[6] 吕薇编.基于DDS正弦信号发生器的设计[D].西安:信息技术出版社,2004,28-56. [7] 胡宴如.高频电子线路[M].北京:高等教育出版社,2000,232-269. [8] 肖汉波.一种基于DDS芯片AD9850的信号源[M].北京:中国物理研究所, 2002,66-72.

[9] 高卫东.AD9835DDS芯片信号源的研制[N].北京:人民邮电出版社,2005,32-54. [10] 藩柄松.DDS芯片AD9835及其应用[N].西安:科技大学出版社,2002,

166-192.

[11] 石雄.AD9835的工作原理及其与单片机的接口[N].北京:人民邮电出版社,2005,

62-96.

[12] 公茂法.单片机人机接口实例集[M].北京:北京航空航天大学出版社,1998,36-58 [13] 张洪润.单片机应用技术教程[M].北京:清华大学出版社,2003,26-38. [14] 张毅刚.新编MCS-54单片机应用设计[M].哈尔滨:工业大学出版社,2003,132-156. [15] 何立明.MSC51单片机应用系统设计[M].北京:航空航天大学出版社,2003,68-93. [16] Newnes.Programming 16-Bit Microcrotrallers in C.America:Ended,2003

[17] Devices Inc .CMOS 125MHz Complete DDS Synthesizer AD9850.1991,168-192. [18] Cai X and Giannakis G B. Low-complexity ICI suppression for OFDM over time and

frequency-selective Rayleigh fading channels. In Proc. of Asilornar Conf. Signals, Systems and Computers,2002, vol.l:22-26.

44

45

46

本文来源:https://www.bwwdw.com/article/mg4r.html

Top