可编程波形发生器的设计与实现.docx
《可编程波形发生器的设计与实现.docx》由会员分享,可在线阅读,更多相关《可编程波形发生器的设计与实现.docx(34页珍藏版)》请在冰点文库上搜索。
可编程波形发生器的设计与实现
可编程波形发生器设计与制作
院 别:
信息科学与工程学院
专业班:
通信工程0901班
姓 名:
学 号:
指导老师:
2013年5月
可编程波形发生器设计与制作
TheDesignandProductionofProgramableWaveformGenerator
摘要
本系统是基于AD9833芯片的可编程波形发生器。
采用AD9833芯片作为波形产生的核心,外围采用控制电路(AT89S52)、按键和液晶显示器等。
通过按键控制可产生方波、三角波、正弦波等,同时液晶显示器指示其对应的频率。
其设计简单、性能优好,可用于多种需要波形发生器的场所,具有一定的实用性。
各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。
在科学研究及教学实验中常常需要这几种信号的发生装置。
为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的波形发生器是十分必要的。
本文介绍的是利用AD9833芯片和AT89S52单片机产生所需不同信号的中高频信号源,其信号频率是可以按要求控制的。
文中简要介绍了AD9833芯片的结构原理和使用方法,AT89S52的基础理论,以及液晶显示器的工作原理。
文中着重介绍了如何利用单片机控制AD9833芯片产生上述信号的硬件电路和软件编程。
本次关于产生不同信号的中高频的波形发生器设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。
该波形发生器的特点是:
体积小、价格低廉、性能稳定、实现方便、功能齐全。
关键词:
AD9833 AT89S52 液晶显示器 按键
Abstract
ThissystemisbasedontheprogrammablewaveformgeneratoroftheAD9833chip.UsingtheAD9833chipasthecoreofwaveformgenerator,itsperipheralcircuitcontain Controlcircuit(AT89S52),buttonsandLCDdisplayetc. Itcanproducesquarewave,trianglewave,sinewaveandsoon, throughthebuttonControl.,atthesametimeLCDdisplayindicatesthecorrespondingfrequency.Itsdesignissimple,performanceisgood,whichcanbeusedforavarietyofneedsofwaveformgeneratorandhasacertainpracticality.
Allkindsofsignalsisanimportantpartinthefieldofcommunication,Especiallysinewave,triangularwaveandsquarewavesignalsaremorecommon.Thescientificresearchandteachingexperimentsoftenneedtheseveralkindsofsignalgenerator.Fortheconvenienceofexperimentandresearch,developpingonekindofwaveformgeneratorwhichincludesflexibleapplication,completefunctions,convenientuseisverynecessary.
ThisarticledescribestheuseoftheAD9833chipsandAT89S52microControllertogeneratethesignalsourceofrequireddifferentfrequentsignals ,thesignalfrequencycanbeControlledaccordingtotherequirements.ItintroducesthestructureprincipleandusingmethodofAD9833chip,thebasedtheoryofAT89S52basedth,andtheworkingprincipleofLCD.
Thewaveformgeneratordesignongeneratingsignalsofdifferentfrequencies,notonlyintheoryandpracticecanmeettherequirementsoftheexperiment,butalsohasastrongfeasibility.Thewaveformgeneratorfeaturesare:
smallsize,lowprice,stableperformance,convenient,full-featured.
Keywords:
AD9833 AT89S52 LCD buttons
目 录
摘要…………………………….……………….………….…………………………….Ⅰ
Abstract………………………………………………………………………………….Ⅱ
绪论………………………………………………………………………………………..1
1 系统总体设计…………………………………………………………………………2
1.1 设计方案比较与选定…………………….………….……………………………...2
1.1.1 设计方案一…………………………………………………..……………………2
1.1.2 设计方案二……………………………………………..……………………..….3
1.1.3 设计方案三……………………………………………..…………………………3
1.1.4 设计方案的选定………………………………………..…………………………3
1.2 系统总体框图设计 ……………………………………..…………………………...4
2 系统硬件设计…………………………………………………………………………5
2.1 元器件的选择 ……………………………………..…………………………...……5
2.2 系统硬件总体设计……………………………………………..…………………...8
2.3 各模块电路说明 …………………………………………..…………………….......9
2.3.1 波形的产生及处理部分电路 ……………………………..…………………....…9
2.3.2 人机交互电路 ………………………………………..………………………..…11
2.3.3 液晶显示电路 ……………………………………………………..……………..12
3 系统软件设计…………………………………………………………………..……14
3.1 总体方案 ……………………………………………………..…………….…...….14
3.2 程序流程图 ………………………………………………..……………………….15
3.3 主要程序说明………………………………………………..…………..………...15
3.3.1 主程序 …………………………………………..………………………………..15
3.3.2 初始化程序 ……………………………………………………..………………..16
3.3.3 液晶显示程序 …………………………………………………..………………..17
3.3.4 按键程序 …………………………………………………………..……………..19
3.3.5 AD9833程序…………………………………………..……………..…....……...21
4 制作与调试………………………………………………………………………..…24
4.1 硬件电路制作 ………………………………………………………..………….…24
4.1.1 总体特点……………………………………………………..…………………..24
4.1.2 焊接…………………………………………………..…………………………..24
4.2 调试………………………………………………………………….......................25
4.2.1 液晶显示调试……………………………………………………………………25
4.2.2 AD9833波形输出调试…………………………………………………………...26
结论………………………………………………………………………………………29
致谢………………………………………………………………………………………30
参考文献…………………………………………………………………………………31
绪论
波形发生器是一种常用的信号源,广泛应用于电子电路、自动控制和科学试验领域。
它是一种为电子测量和计算工作提供符合严格技术要求的电信号设备。
传统信号发生器一般用以下三种方法设计:
用分立元件组成的函数发生器;由晶体管、运放IC等通用器件制作,更多的则是用专门的函数信号发生器IC产生;利用单片集成芯片的函数发生器。
19世纪70年代,有的科学家提出利用直接数字频率合成技术(DDS)制作信号发生器。
限于当时的技术和器件水平,它的性能指标尚不能与已有技术相比,故未受到重视。
近年来随着数字集成电路和微电子技术的进步,这种结构独特的频率合成技术得到了充分的发展。
该技术在相对带宽、频率转换时间、相位连续性、正交输出、高分辨力以及集成化等一系列性能指标已远远超过了传统的频率合成技术所能达到的水平。
本次毕业设计的波形发生器基于DDS数字频率合成技术,相比于传统的设计方法,它有诸多优势。
基于DDS技术的信号发生器即利用频率合成技术制成的信号发生器,也称为合成信号发生器,具有输出频率稳定、准确,波形质量好和输出频率范围宽等一系列独特的优点,虽然它也有一些缺点,比如工作频带受限,相位噪声,杂散抑制差,但是相比于传统波形发生器频率不高,工作不稳定,调节方式不够灵活,已经具有很大的进步。
该波形发生器必需达到的技术指标:
能产生正弦波、三角波和方波信号,并通过按键切换波形类型;通过按键可以以一定的步进改变频率;输出波所能达到频率范围为0~10MHz。
通过初步的研究与思考,该波形发生器的难点在于:
硬件的具体工作原理,特别是DDS的基本原理以及所选芯片的内部的结构与引脚的功能;软件与硬件到底是怎样进行结合的,基于DDS技术所选的芯片与写程序所选芯片的数据位是否相容;软件的设计,因为必须利用程序对频率以及频率的步进值进行设置。
1 系统总体设计
1.1 设计方案比较与选定
依据应用场合.需要实现的波形种类,波形发生器的具体指标要求会有所不同。
依据不同的设计要求选取不同的设计方案。
通常,波形发生器需要实现的波形有正弦波、方波、三角波和锯齿波。
有些场合可能还需要任意波形的产生。
各种波形共有的指标有:
波形的频率、幅度要求,频率稳定度,准确度等。
对于不同波形,具体的指标要求也会有所差异,例如,占空比是脉冲波形特有的指标。
波形发生器的设计方案多种多样,大致可以分为三大类:
纯硬件设计法、纯软件设计法和软硬件结合设计法。
1.1.1 设计方案一
波形发生器设计的纯硬件法早期,波形发生器的设计主要是采用运算放大器加分立元件来实现[1]。
实现的波形比较单一,主要为正弦波、方波和三角波。
工作原理嗍也相对简单:
首先是产生正弦波,然后通过波形变换(正弦波通过比较器产生方波,方波经过积分器变为三角波)实现方波和三角波。
在各种波形后加上一级放大电路,可以使输出波形的幅度达到要求,通过开关电路实现不同输出波形的切换,改变电路的具体参数可以实现频率、幅度和占空比的改变。
通过对电路结构的优化及所用元器件的严格选取可以提高电路的频率稳定性和准确度。
纯硬件法中,正弦波的设计是基础,实现方法也比较多,电路形式一般有LC、RC和石英晶体振荡器三类。
LC振荡器适宜于产生几Hz至几百MHz的高频信号;石英晶体振荡器能产生几百KHz至几十MHz的高频信号且稳定度高;对于频率低于几MHz,特别是在几百Hz时,常采用RC振荡电路。
RC振荡电路又分为文氏桥振荡电路、双T网络式和移相式振荡电路等类型。
其中,以文氏桥振荡电路最为常用[2,11]。
目前,实现波形发生器最简单的方法是采用单片集成的函数信号发生器。
它是将产生各种波形的功能电路集成优化到一个集成电路芯片里,外加少量的电阻、电容元件来实现。
采用这种方法的突出优势是电路简单,实现方便,精度高,性能优越;缺点是功能较全的集成芯片价格较贵。
实际中应用较多的单片函数信号发生器有MAX038(最高频率可达40MHz)和ICL8038(最高频率为300KHz)。
1.1.2 设计方案二
波形发生器设计的纯软件法波形发生器的设计还可以采用纯软件的方法来实现。
虚拟仪器鞠使传统仪器发生了革命性的变化,是21世纪测试仪器领域技术发展的重要方向。
它以计算机为基础,软件为核心,没有传统仪器那样具体的物理结构.在计算机上实现仪器的虚拟面板,通过软件设计实现和改变仪器的功能。
例如用图形化编程工具LabVIEW来实现任意波形发生器的功能:
在LabVIEW软件的前面板通过拖放控件,设计仪器的功能面板(如波形显示窗口,波形选择按键,波形存储回放等工作界面),在软件的后面板直接拖放相应的波形函数并进行参数设置或直接调用编程函数来设计任意波形以实现波形产生功能;完成的软件打包后,可脱离编程环境独立运行。
实现任意波形发生器的功能。
采用纯软件的虚拟仪器设计思路可以使设计简单、高效,仅改变软件程序就可以轻松实现波形功能的改变或升级。
从长远角度来看,纯软件法成本较低。
软件法的缺点是波形的响应速度和精度逊色于硬件法。
1.1.3 设计方案三
软硬件结合法软硬件结合的波形发生器设计方法同时兼具软硬件设计的优[2]:
既具有纯硬件设计的快速、高性能,同时又具有软件控制的灵活性、智能性。
如以单片机和单片集成函数发生器为核心。
辅以键盘控制、液晶显示等电路,设计出智能型函数波形发生器,采用软硬件结合的方法可以实现功能较全、性能更优的波形发生器,同时还可以扩展波形发生器的功能,比如通过软件编程控制实现波形的存储、运算、打印等功能,采用USB接口设计。
使波形发生器具有远程通信功能等。
目前,实验、科研和工业生产中使用的信号源大多采用此方法来实现。
1.1.4 设计方案的选定
纯硬件设计法功能较单一,波形改变困难、控制的灵活性不够,不具备智能性,其中由运算放大器加分立元件组成的波形发生器,除在学生实验训练中使用外。
基本不被采用。
纯软件设计法实现简单,程序改变及功能升级灵活,但实现的波形精度及响应速度不如硬件法高。
纯软件法主要适用于对波形精度、响应速度要求不是很高的场合。
相比之下,软硬件结合的方法可以设计出性能最优、功能扩展灵活、控制智能化的新一代的波形发生器,可以满足教学、科研、工业生产等各方面对波形发生器性能有较高要求的应用场合。
综合以上几种设计方案,本设计采用方案三的方法—软硬件设计法。
其方案能够产生很好的波形,也易实现。
1.2 系统总体框图设计
本波形发生器的设计频率控制模块及DDS处理模块为核心,配合相应的显示模块及人机接口模块使其组成一个可编程波形发生器系统。
系统的总体框图如图1-1所示。
图1-1 系统总体框图
频率控制模块主要功能是通过程序对波形发生器的频率进行控制;DDS处理模块主要对产生的信号波形进行采样和量化处理,使输出的波形更加平整,不失真;人机接口模块负责改变波形的输出方式,而且可以设置波形的频率和频率变化的步进;显示模块的功能是显示波形的频率以及类型。
2系统硬件设计
2.1 元器件的选择
因为本系统的设计是以DDS处理模块以及幅度、频率控制模块为核心,故而首先选择这两个模块的元器件,DDS处理模块的主要功能是完成波形的相位、频率和振幅的数字调制,本次设计DDS处理模块选用AD9833芯片,外加必要的外围辅助电路。
AD9833是一款采用DDS技术、低功耗、可编程波形发生器[2,3],器件采MSOP封装,非常小巧,外围电路简单,仅需要1个外部参考时钟、一个低精度电阻器和一个解耦电容器,通过SPI接口和单片机相连,编程可生成正弦波、三角波、方波。
输出频率可通过软件编程,易于调节。
AD9833的主频时钟为25MHz时,精度为0.1Hz,主频时钟为1MHz时,精度可以达到0.004Hz。
AD9833的引脚图如图2-1所示,
图2-1 AD9833的引脚图
AD9833内部电路主要有数控振荡器(NCo)、频率和相位调节器、正弦只读存储器(sineROM)、数模转换器(DAC)、电压调整器。
其核心是28位的相位累加器,它由加法器和相位寄存器组成,每来1个时钟,相位寄存器以步长增加相位寄存器的输出与相位控制字相加后输人到正弦查询表地址中。
正弦查询表包含1个周期正弦波的数字幅度信息,每个地址对应正弦波中0°-360°。
范围内的1个相位点。
查询表把输人的地址相位信息映射成正弦波幅度的数字量信号,驱动DAC输出模拟量。
相位寄存器每经过2脚M个MCLK时钟后回到初始状态,相应的正弦查询表经过一个循环回到初始位置,这样就输出了一个正弦波。
其引脚功能如下表
引脚号
符号
功能说明
1
COMP
DAC偏移引脚,该脚用来为DAC偏移解耦
2
VDD
电源电压
3
CAP/2.5V
数字电路电源端
4
DGND
数字地
5
MCLK
主频数字时钟输入端
6
SDATA
串行数字输入
7
SCLK
串行时钟输入
8
FSYNC
控制输入,低电平有效
9
AGND
模拟地
10
VOUT
输入频率(
)
表2-1AD9833的引脚功能
输出正弦波频率为:
(2-1)
其中,M为频率控制字,由外部编程给定,其范围为0-228。
VDD引脚为AD9833的模拟部分和数字部分供电,供电电压为2.3V一5.5V。
AD9833内部数字电路工作电压为2.5V。
AD9833还具有休眠功能,就是没被使用的部分休眠,减少该部分的电流损耗,例如:
若利用AD9833输出作为时钟源,就可以让DAC休眠,以减少功耗。
AD9833有3根串行接口线,与SPI、QSPI、MICROWIRE和DSP接口标准兼容,在串口时钟SCLK的作用下,数据是以16位的方式加载到设备上,FSYNC引脚是使能引脚,电平触发方式,低电平有效。
进行串行数据传输时,FSYNC引脚必须置低,要注意FSYNC有效到SCLK下降沿的建立时间t7的最小值[4,5]。
FSYNC置低后,在16个SCLK的下降沿数据被送到AD9833的输入移位寄存器,在第16个SCLK的下降沿FSYNC可以被置高,但要注意在SCLK下降沿到FSYNC上升沿的数据保持时间ts的最小和最大值。
当然,也可以在FSYNC为低电平的时候,连续加载多个16位数据,仅在最后一个数据的第16个SCLK的下降沿的时将FSYNC置高,最后要注意的是,写数据时SCLK时钟为高低电平脉冲,但是,在FSYNC刚开始变为低时,(即将开始写数据时),SCLK必须为高电平(注意t11这个参数)。
如图2-2和图2-3分别是AD9833的主时钟时序和串行时序[6]。
图2-2主时钟时序
图2-3 串行时序
当AD9833初始化时,为了避免DAC产生虚假输出,RESET必须置为1(RESET不会复位频率、相位和控制寄存器),直到配置完毕,需要输出时才将RESET置为0;RESET为0后的8-9个MCLK时钟周期可在DAC的输出端观察到波形。
AD9833写入数据到输出端得到响应,中间有一定的响应时间,每次给频率或相位寄存器加载新的数据,都会有7-8个MCLK时钟周期的延时之后,输出端的波形才会产生改变,有1个MCLK时钟周期的不确定性,因为数据加载到目的寄存器时,MCLK的上升沿位置不确定。
AD9833内部有5个可编程寄存器,其中包括3个16位控制寄存器,2个28位频率寄存器和2个12位相位寄存器。
其中16位控制寄存器供用户设置所需的功能。
除模式选择位外,其他所有控制位均在内部时钟MCLK的下沿被AD9833读取并动作,要更改AD9833控制寄存器的内容,D15和D14位必须均为0。
AD9833包含2个频率寄存器和2个相位寄存器,其模拟输出为:
(2-2)
其中:
FREQEG为所选频率寄存器中的频率字。
该信号会被移相:
(2-3)
其中,PHASEREC为所选相位寄存器中的相位字。
AD9833可运作的主时钟频率高达25MHz。
一般25MHz的振荡器包含外部电路中,但是这振荡器也可以删除,如有需要可以连接到外部CMOS时钟上[11]。
频率、幅度控制模块可以用FPGA/CPLD或单片机进行设计,由于对FPGA/CPLD语言的接触较少、不熟悉,故而该模块选用单片机以及必要的外围电路进行控制。
单片机选择AT89S52系列,因为其涵盖了AT89C51系列的大部分优点并且烧录程序速度快,性能稳定,耐压值比较高等。
至于显示模块用1602液晶显示器,可以明显的观察到频率的步进变化以及所选择的波形类型,人际接口模块主要是按键,控制波形的输出类型以及频率。
2.2 系统硬件总体设计
根据元器件的特性及外围必要辅助电路,其硬件总体设计如下
图2-4 硬件总体设计图
2.3 各模块的电路说明
2.3.1 波形的产生及处理部分电路
波形的产生与控制部分由DDS芯片AD9833和单片机AT89S52组成,用户通过键盘输入的信号要求被AT89S52接收,并经其处理后将计算出的控制字传送给AD9833,由AD9833产生频率幅度可控的信号。
AD9833系统模块是整个系统的功能核心部分,由此模块可产生所需要的信号了产生所需信号,必须对其进行适当的设置。
具体外围设备如下图示。
图2-5 AD9833波形处理电路
AD9833外围需要一个参考时钟,即在MCLK处接入一个晶振。
因为当AD9833的主频时钟为25MHz时,精度为0.1Hz,主频时钟为1MHz时,精度可以达到0.004Hz,而本次设计中对精度要求不高,为了提高AD9833的操作速度,此处选择了25MHz的有源晶振。
有源晶振有4只引脚,是一个完整的振荡器,里面除了石英晶体外,还有晶体管和阻容元件[6]。
有源晶振不需要DSP的内部振荡器,信号质量好,比较稳定,而且连接方式相对简单(主要是做好电源滤波,通常使用一个电容和电感构成的PI型滤波网络,输出端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电路。
把有源晶振有个点标记的记为1脚,按逆时针(管脚向下)分别为2、3、4,它的通常的接法为一脚悬空,二脚接地,三脚接输出,四脚接电压