精密函数波形发生器的设计与实现.docx
- 文档编号:10887796
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:29
- 大小:4.02MB
精密函数波形发生器的设计与实现.docx
《精密函数波形发生器的设计与实现.docx》由会员分享,可在线阅读,更多相关《精密函数波形发生器的设计与实现.docx(29页珍藏版)》请在冰豆网上搜索。
精密函数波形发生器的设计与实现
郑州大学
本科毕业论文(设计)
题目精密函数波形发生器的设计与实现
指导教师吴老师职称硕士
学生姓名孟菲锋学号2007111111111
专业通信工程班级2班
院(系)电子信息工程学院电子工程系
完成时间2011-4-30
摘要
本毕业设计主要介绍的是函数波形发生器的设计和实现,使之输出不同频率的正弦波、三角波和方波,并通过按键切换输出的波形,输出频率范围为0MHz-12.5MHz,工作电压范围是2.3V-5.5V,功耗仅为20Mw。
频率寄存器为28位,主频时钟为25MHz时,精度为0.1Hz;主频时钟为1MHz时,精度可达到0.004Hz。
该信号发生器由AT89S51单片机,AD9833芯片,1602液晶显示模块,独立按键,放大整形电路等构成。
AT89S51单片机通过3个SPI接口控制DDS芯片AD9833,这3个口的最高频率可已达到40MHz,易于和单片机兼容。
AD9833还具有休眠功能,可没被使用的部分休眠,减少该部分的电流损耗。
关键词:
AD9833/AT89S51/DDS技术
ABSTRACT
Thispapermainlyintroducesthedesignandimplementationofthefunctionwaveformgenerator,whichcanoutputdifferentwaveformswithdifferentfrequenciesthroughbutton,includingsinewaves,trianglewaveandsquare-wave.Thefunctionwaveformgenerator'spowerconsumptionisonly20mwwhentheoutputfrequencyandworkingvoltagerangeare0MHz-12.5MHzand2.3V-5.5V,respectively.Frequencyregistersis28units.Whenthebasicfrequencyclockpresents25MHzand1MHz,theprecisioncanbereached0.1Hzand0.004Hz,respectively.
ThissignalgeneratorisconstitutedofAT89S51SingleChipMicrocomputer(SCM),AD9833chip,1602LCDdisplaypanel,Separatebuttons,amplificationwaveshapingcircuit,etc.AT89S51SCMcontrolsAD9833DDSchipthroughthreeSPIinterfaceswhosemaximumfrequencycanbereached40MHz,thus,itiseasytobecompatiblewithSCM.Withthepropertyof'dormancy',AD9833canreducethepowerconsumptionduetothepropertyof'partialdormancy'.
KEYWORDSAD9833/AT89S51/DDStechnology
1引言
信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制和科学试验领域。
它是一种为电子测量和计算工作提供符合严格技术要求的电信号设备。
随着电子技术的发展,要求信号的频率越来越准确和越来越稳定,一般振荡器已不能满足系统设计的要求。
晶体振荡器虽然具有高准确度和高稳定度,但其频率变化范围很小,而且频率值也不高,很难满足通信、雷达、测控、仪器仪表等电子系统的需求,这就需要应用频率合成技术来满足这一要求。
直接数字频率合成(DDS)技术继1971年问世以来,由于它低成本、低功耗、高分辨率、频率切换时间短、相位连续、相噪低、结构简单、体积小等诸多优点,在电信和电子仪器领域得到了越来越广泛的应用。
AD9833是ADI公司生产的一款采用DDS技术、低功耗、可编程波形发生器,器件采用MSOP封装,非常小巧,外围电路简单,通过SPI接口和单片机相连,编程可生成正弦波、三角波、方波,输出频率和相位都可通过软件编程,易于调节。
本课题主要是基于DDS芯片AD9833的一款简易信号发生器,由AT89S51单片机通过3个SPI接口控制AD9833产生各种频率的正弦波、三角波、方波,经放大整形电路后输出,并通过独立的按键切换输出的波形,也可改变频率以及频率变化。
相比于传统的设计方法,它有诸多优势。
基于DDS技术的信号发生器即利用频率合成技术制成的信号发生器,也称为合成信号发生器,具有输出频率稳定、准确,波形质量好和输出频率范围宽等一系列独特的优点。
该系统以低功耗为出发点,用低功耗单片机AT89S51作为主控芯片,选用低功耗芯片AD9833为信号产生芯片。
且使用DDS器件,具有体积很小,电路简单的优点,整个系统可以做得很小,甚至可以作为手持设备使用,这就正好满足了当前技术的需要。
此也为这次设计的两个创新点。
2DDS技术及总体设计
2.1DDS技术
直接数字合成技术是美国学者于1971年提出的,即以全数字技术,从相位概念出发直接合成所需波形的一中新的频率合成原理,称之为直接数字频率合成器(DirectDigitalSynthesis)。
这是频率合成技术的一次重大革命。
它的基本原理就是利用采样原理,通过查表法产生波形。
但是限于当时微电子技术和数字信号处理技术的限制,DDS并没有得到足够的重视,随着现代超大规模集成电路集成工艺的高速发展,使得数字频率合成技术得到了质的飞跃,它在相对带宽、频率转换时间、相位连续性、正交输出、高分辨率以及集成化等一系列性能指标方面,已远远超过了传统频率合成技术所能达到的水平。
但是由于DDS数字化实现的固有特点,决定了其输出频谱杂散较大。
从20世纪80年代末开始通过深入的研究认识了DDS杂散成因及其分布规律后,对DDS相位累加器进行了改进,ROM数据进行了压缩,使用了抖动注入技术以及对DDS工艺结构和系统结构进行了改进。
DDS技术建立在采样在采样定理的基础上,它首先对需要产生的信号波形进行采样和量化,然后存入存储器作为待产生信号波形的数据表。
输出信号波形时,电路在一个高稳定时钟控制下从数据表中依次读出信号波形的数据,产生过数字化的信号,这个信号再通过DAC转换成所需的模拟信号波形。
具体原理框图如图2-1所示。
它的核心是相位累加器,由N位加法器与N位相位寄存器构成,类似一个简单的计数器。
加法器将频率控制字与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。
这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。
由此可以看出,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。
将相位寄存器的输出与相位控制字相加得到的数据作为一个地址对正弦查询表进行寻址,查询表把输入的地址相位信息映射成正弦波幅度信号,通过D/A变换器把数字量变成模拟量,再经过低通滤波器平滑并滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。
在参考频率为fs的情况下,DDS系统输出信号的频率fo为[3]:
(2-1)
输出信号的频率分辨率Δfo为:
(2-2)
图2-1DDS技术的原理框图
相对于其他信号波形产生技术,DDS技术具有输出信号的采样频率固定、频率稳定性高、信号频率转换时间输出相位连续、全数字化、可编程和易于控制等优点。
但还是有两点不足之处:
(1)散分量丰富。
这些杂散分量主要由相位舍位、幅度量化和DAC的非理想特性所引起,如图2-2所示。
因为在实际的DDS电路中,为了达到足够小的频率分辨率,通常将相位累加器的位数取大。
但受体积和成本的限制,即使采用先进的存储方法,ROM的容量都远小于此,因此在对ROM寻址时,只是用相位累加器的高位去寻址,这样不可避免地引起误差,即相位舍位误差。
另外,一个幅值在理论上只能用一个无限长的二进制代码才能精确表示,由于ROM的存储能力,只采用了有限比特代码来表示这一幅值,这必然会引起幅度量化误差。
另外,DAC的有限分辨率以及非线性也会引起误差。
所以对杂散的分析和抑制,一直是国内外研究的特点,因为它从很大程度上决定了DDS的性能。
图2-2DDS掺杂模型
(2)频带受限。
由于DDS内部DAC和ROM的工作速度限制,使得DDS输出的最高频率有限。
目前市场上采用CMOS、TTL等工艺制作的DDS芯片工作频率一般在几十MHz至几百MHz。
但随着高速GaAs器件的出现,频带限制已明显改善,芯片工作频率可达到2GHz左右。
2.2本设计方案思路
该信号发生器由AT89S51单片机,AD9833芯片,1602液晶显示模块,独立按键,放大整形电路等构成。
由AT89S51单片机通过3个SPI接口控制DDS芯片AD9833产生各种频率的正弦波、三角波、方波,经放大整形电路后输出。
通过1602液晶模块和独立按键进行人机交互。
系统上电后检查启动按键是否按下,当启动按下被按下时,启动各个模块,与此同时检查被按下的按键值。
当检查到不同的按键被按下时,由AT89S51通过SPI控制AD9833进行相应的改变。
系统的总体框图如图2-3所示
图2-3系统的总体框图
2.3技术指标和需要解决的主要问题
所需达到的技术指标:
(1)能产生正弦波、三角波和方波信号,并通过按键切换信号类型;
(2)通过按键可以以一定的步进改变频率;
(3)正弦波所能达到最高频率为5MHz。
需要解决的主要问题:
(1)虽然AT89S51单片机具有硬件SPI总线功能,但是一次只能传输8位数
据位,而AD9833在接收数据时是16位数据位,因此,需要用软件模拟
SPI总线,如同软件模拟I2C总线;
(2)AD9833在接收16位数据时是高位在前,低位在后;
(3)先发送控制寄存器字然后发送想要的频率字;
(4)发送数据前必须把FSYNC置成低电平,发送完以后把FSYNC置成高电
平;
(5)当对AD9833初始化时,为了避免DAC产生虚假输出,RESET必须置为
1,直到配置完毕,需要输出时才将RESET置为0。
RESET为0后的8一
9个MCLK时钟周期就可在DAC的输出端观察到波形。
3硬件设计
3.1信号的产生与控制部分电路
信号的产生与控制部分由DDS芯片AD9833和单片机AT89S51组成,用户通过键盘输入的信号要求被AT89S51接收,并经其处理后将计算出的控制字传送给AD9833,由AD9833产生频率幅度可控的信号。
3.1.1AD9833系统电路
AD9833系统模块是整个系统的功能核心部分,由此模块可产生所需要的信号。
为了产生所需信号,必须对其进行适当的设置。
具体外围设备如图3-1所示[15][16]。
图3-1AD9833的外围设备
1.参考时钟
AD9833外围需要一个参考时钟,即在MCLK处接入一个晶振。
因为当AD9833的主频时钟为25MHz时,精度为0.1Hz,主频时钟为1MHz时,精度可以达到0.004Hz,而本次设计中对精度要求不高,为了提高AD9833的操作速度,此处选择了12MHz的有源晶振。
2.与单片机的连接
AD9833有3根串行接口线,分别是FSYNC、SCLK和SDATA,与SPI、QSPI、MI-CROWIRE和DSP接口标准兼容,在串口时钟SCLK的作用下,数据是以16位的方式加载到设备上,FSYNC引脚是使能引脚,电平触发方式,低电平有效。
进行串行数据传输时,FSYNC引脚置低,在16个SCLK的下降沿数据通过SDATA引脚被送到AD9833的输入移位寄存器。
因此,此处将这3个引脚接到单片机AT89S51的P2.0、P2.1和P2.3引脚,通过单片机来控制AD9833。
具体传输过程的时序如图3-2所示[6][7]。
图3-2数据的传输时序
3.其他外围设备
AD9833的其他引脚用了诸多电容,主要是为了去藕和滤波,起到稳定输入电压和输出波形的作用。
3.1.2AT89S51控制电路
运用单片机实现对DDS芯片的控制,具有编程控制方便、接口简单、成本低、容易实现系统小型化等优点,因此采用AT89S51单片机作为控制核心模块向AD9833发送控制字。
a)复位电路
AT89S51的复位电路与一般的单片机相同,用两个阻值分别为1K和10K的电阻一个0.1u的电容和一个按键即可。
当按键按下时,给RST引脚一个低电平。
此处的电容起到储能的作用。
b)参考时钟
AT89S51的时钟模块由低速晶体振荡器LFXT1、高速晶体振荡器XT2、数字控制振荡器DCO、琐相环FLL和增强型琐相环FLL+等部件组成。
它的基本时钟模块有三个时钟输入源LFXT1CLK(低速32768Hz,高速450Hz到8MHz)、XT2CLK(450Hz到8MHz)、DCOCLK,提供以下三种时钟信号:
ACLK辅助时钟(由LFXT1CLK信号经1、2、4、8分频后得到,可以由软件选作各个外围模块的时钟信号,一般用于低速外设)、MCLK系统主时钟(MCLK可由软件选择来自LFXT1CLK、XT2CLK、DCOCLK三者之一,然后经1、2、4、8分频得到,MCLK主要用于CPU和系统)和SMCLK子系统时钟(可由软件选自LFXT1CLK和DCOCLK,或XT2CLK和DCOCLK,然后经1、2、4、8分频得到,SMCLK主要用于高速外围模块).
系统频率与系统的工作电压密切相关(MSP430工作电压1.8V~3.6V,编程电压2.7V~3.6V),所以不同的工作电压,需要选择不同的系统时钟。
当两个外部振荡器失效时,DCO振荡器会自动被选作MCLK的时钟源。
PUC信号之后,DCOCLK被自动选作MCLK和SMCLK的时钟信号,LFXT1CLK被选作ACLK的时钟信号,根据需要MCLK和SMCLK的时钟源可以另外设置。
控制时钟模块的三个寄存器为DCO控制寄存器DCOCTL、基本时钟系统控制寄存器1BCSCTL1、基本时钟控制寄存器2BCSCTL2。
所以本单片机MSP430F149采用两个时钟输入,其中低频XT1输入为32KHz,高频XT2输入为16MHZ,XT2周围的两个电容有助于起振。
3.2人机交互电路
人机交互电路以单片机AT89S51为核心,通过其控制液晶显示模块和键盘输入模块,使其输出一定的波形。
3.2.1液晶显示电路
本系统采用的液晶型号为LCD1602,1602是指显示的内容为16*2,即可以显示两行,每行16个字符。
目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶
该系统中,我们选用LCD1602的理由为:
1602液晶屏也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点阵的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
1602的驱动电路带有11条指令,可以很方便的控制液晶的现实和效果,例如:
清屏、左移右移、光标显示。
而且1602显示的字符在下一条指令到来之前不会改变,也就是能够维持显示的字符,1602液晶占用的系统资源也少。
在与单片器连接中,将1602的VCC和LED引脚接3.3V电压,因为1602的最佳工作电压为3V—3.3V,过高会使其灰度加重,影响显示效果,过低会显示不清晰。
另外D0-D7引脚分别与AT89S51的P0.0—P0.7引脚相连,用单片机控制51602的显示。
图3-3为1602液晶显示器和它的连接电路。
图3-31602液晶显示器
3.2.2键盘控制电路
本系统因为要改变输出波形的种类,设置波的频率和频率改变的步进,所以需要设置键盘。
此处我们仅用了4个按键来简单的完成上述任务。
使用软件扫描的方式来获得按键信息,因为按键需要去抖动,这些都采用软件编程的方式实这样可以节省硬件资源,是电路变得简单。
4个按键通过4个1K的电阻连到AT89S51的P2.4—P2.7,用单片机获取按键信息。
图3-4为键盘控制电路。
图3-4键盘控制电路
3.3波形处理电路
波形的处理具体分为两个方面:
意识对噪声干扰的有效抑制;二是对输出信号幅度进行放大。
因此主要是低通滤波器的设计。
具体如图3-5所示。
其中VOUT为AD9833的第10个引脚。
图3-5波形处理电路
一般用一个可以实现的衰减特性来逼近理想特性,且使衰减的变化处在所规定的容限之内,根据不同的逼近原则、不同的衰减特性,选择不同响应的滤波器。
低通滤波器的频率响应主要有三种:
巴特沃斯滤波器、切比雪夫滤波器、椭圆函数滤波器。
巴特沃斯滤波器的响应最为平坦,它的通带内没有纹波,在靠近零频处,有最平坦通带,趋向阻带时衰减单调增大,缺点是从通带到阻带的过渡带最宽,对于带外干扰信号的衰减作用最弱,过渡带不够陡峭。
切比雪夫滤波器在通带内衰减在零值和一个上限值之间做等起伏变化,阻带内衰减单调增大,带内有起伏,但过渡带比较陡峭。
椭圆函数滤波器不仅通带内有起伏,阻带内也有起伏,而且过渡带陡峭。
椭圆函数滤波器在三个原型滤波器中过渡带最窄,但有纹波,适合于对矩形系数要求高的场合,但是带外抑制度相对较低,但是对器件的精度要求也高。
就LC单级LPF而言,截至频率f=1/[2*Pi*(LC)^0.5],当通带上限到了MHz级时,一般就会用LC滤波器了。
所以这里我们就用多级LC回路构成低通滤波器。
下面讨论单级LC回路如何确定参数。
对于归一化LPF,是指特征阻抗为1Ω且截止频率为1/(2*Pi)Hz的LPF,待设计的实际滤波器各元件参数,可以依据这种归一化LPF设计数据。
也就是说,首先通过改变归一化LPF的元件参数值,得到一个截止频率从归一化截止频率1/(2*Pi)Hz变为待设计滤波器所要求截止频率而特征阻抗仍等于归一化特征阻抗1Ω的过渡性滤波器;然后再通过改变这个过渡性滤波器的元件参数值,把归一化特征阻抗(1Ω)也变换成待设计滤波器所要求的特征阻抗,从而最终得到所要涉及的滤波器。
其过程如图3-6所示[10]。
归一化低通滤波器
截止频率变化
特征阻值变化
图3-6利用归一化LPF的设计数据来设计LPF的步骤
在所设计滤波器为定K型LPF的情况下,就是以定K型的归一化LPF为基本依据,经由上述截止频率变换和特征阻抗变换两个步骤来求得待设计滤波器的构成元件参数。
其中,截止频率变换就是按下式来改变归一化LPF的元件参数。
M=待设计滤波器的截止频率/基准滤波器的截止频率
(3-1)
(3-2)
而特征阻抗变换则是通过对上面以求得的元件参数值再施加下式的变换来实现的。
K=待设计滤波器的特征阻抗/基准滤波器的特征阻抗
(3-3)
(3-4)
此次设计借助ADS(AdvancedDesignSystem)仿真设计软件,制作了一种由LC级联的低通滤波器,方法简单,性能高,材料省。
ADS仿真软件,是安捷伦(Agilent)公司的一套强大的EDA软件,它可以模拟整个信号通带,完成从电路到系统的各级仿真,当任何一级仿真器结果不理想时,都必须回到原理图中重新进行优化,并进行再次仿真,直到仿真结果满意为止,这样可以保证实际电路与仿真电路的一致性。
在设计中,将需要达到的设计要求输入,ADS自动设计出最简单的方法。
3.4USB供电电路
一般USB供电分2种情况,分别是:
(1)采用+5VSB或+5V供电
一些低端主板生产厂家出于成本的考虑,有的是直接使用开关电源送出的+5VSB或+5V供电,其间有一个或根本没有保险电源或限流电阻,这样做的话会导致如果USB接口或USB外设出现故障时会造成主机不能加点或无法启动。
如果是主机正在工作时插入了有问题的USB外设,就会导致主板立即重启。
(2)采用+5V电源通过限流IC供电或使用电源管可控供电
这种设计一般见于中高档主板,在USB供电回路中有电容滤波,保险电阻,限流IC或功率电源管,这种设计可以保证主板的每个USB接口向外设提供最大500mA的供电电流,同时当外设短路时,限流IC会自动切断USB供电,保证主机正常稳定的工作。
不过,因为最大供电电流只有500mA,所以当我们使用移动硬盘时,往往就会出现无法认盘,认盘后文件读取不易,只能拷贝小文件不能拷贝大文件,拷贝文件容易死机等情况。
所以中档主板的生产厂家多数都在USB管脚中设计了电源滤波和可恢复保险电阻以保护主板稳定工作,避免受到热插拔USB外设时出现死机或重启现象。
此处,我们出于经济方面的考虑使用第一种情况,具体接口如图3-7所示。
其中2、3、4管脚为传输数据用,所以悬空不用。
接入后通过Switch和LM1117芯片输出3.3V电压。
图3-7USB的具体接口电路
4软件设计
4.1总体方案
本系统的软件设件包括了1602液晶显示、AD9833模块、AT89S51模块、按键模块、初始化函数和主函数。
设计时首先对系统进行初始化,其次显示LCD,并使系统运作起来,由AT89S51控制AD9833输出波形,最后,我们可以通过按键模块对整个系统的输出波形和频率进行变化。
AD9833模块和AT89S51模块是本次软件设计的重点。
另外MCU和AD9833的SPI接口速率较高,可达到1Mbps,所以在软件中需要对时序做准确的设计。
信号发生器至今都是设计的一个热点话题,本系统较好地实现了系统的基本功能,而且实现了系统的小型化和便捷化。
此次设计的编译器采用KeiluVision3,该编译器是AT89S51系列单片机程序设计的常用工具,既可用汇编,也支持C语言编译,同时具有完善的调试功能。
4.2程序流图
如图4-1
4.3各模块说明
4.3.1主程序
主要是蜂鸣器和液晶输出程序,包括系统的整个运行流程。
液晶的显示根据5110.H中字符、数字以及特殊符号来显示,再通过AD9833.H中的定义来输出各种波。
4.3.2初始化程序
主要是对单片机AT89S51进行初始化,包括晶振的选择,振荡器的清除以及MCLK和SMCLK时钟源的选择等。
另外1602液晶和AD9833等的初始化函数都在各自的子程序中。
图4-1输出波形流程图
4.3.31602液晶程序
先对1602液晶进行了字符、数字和特殊符号的设置,其次介绍了液晶的清屏和初始化程序,最后详细介绍了1602的写入程序,包括写入汉字、字符以及特殊符号,在结尾还说明了频率的书写方法。
4.3.4按键程序
主要是对接入AT89S51的P3口的4个按键程序进行说明,其中按键1表示波的频率以一定的步进递增,按键2表示波的频率以一定的步进递减,按键3表示波形的改变,按键4表示步进的改变,其中波形有3种,分别为正弦波、三角波和方波,三者循环,步进有4种,分别为1K、10K、100K和1M,四者循环。
4.3.5AT89S51程序
主要是对单片机进行一些常规的设置,其主要程序都是MSP430X14X系列单片机所固有的,如复位程序和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精密 函数 波形 发生器 设计 实现