函数波形发生器硬件电路设计.docx
《函数波形发生器硬件电路设计.docx》由会员分享,可在线阅读,更多相关《函数波形发生器硬件电路设计.docx(17页珍藏版)》请在冰豆网上搜索。
函数波形发生器硬件电路设计
毕业论文目录
全文共17页6379字
函数波形发生器硬件电路设计
摘要此文从硬件角度介绍了一种应用AT89C51单片机设计的一台函数波形发生器,它包括:
键盘电路,晶振电路,数模转换电路,滤波放大电路等硬件模块。
能在示波器上输出方波、矩形波、三角波和正弦波并可以调节频率以及方波输出占空比的大小。
其输出结果表明了此设计具有实用性强,电路操作简单,智能性好的特点。
关键词单片机;正弦波;智能性
1引言
函数波形发生器,可以产生某些特定的周期性时间函数波形(正弦波、方波、三角波、锯齿波等)信号,频率范围从几微赫到几十兆赫。
它在国内外电路实验和设备检测中具有十分广泛的用途。
例如在通信、广播、电视系统中,都需要射频发射。
除供通信、仪表和自动控制系统测试用外,还广泛用于其他非电子测量领域。
函数发生器在测量中作为信号源的应用也是非常广泛的[1]。
国际上波形发生器技术发展主要体现在以下两个方:
(1)过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。
波形发生器软件的开发正使波形数据的输入变得更加方便和容易。
波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。
同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。
从而促进了函数波形发生器向任意波形发生器的发展,对各种计算机语言的飞速发展以及对任意波形发生器软件方面的技术起到了推动作用。
目前可以利用可视化编程语言(如VisualBasic,VisualC等等)编写任意波形发生器的软面板,同样允许从计算机显示屏上输入任意波形,来实现波形的输入。
(2)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。
不过现在新的台式仪器的形态,和几年前的己有很大的不同。
这些新一代台式仪器具有多种特性,可以执行多种功能。
而且外形尺寸与价格,都比过去的类似产品减少了一半。
要得到一个频率稳定的正弦波、矩形波等多种波形的方法也很多,但是就国内外研究人员大多数研究状况都表明设备的成本都比较昂贵,电路比较复杂,为了节约成本,故本次设计利用单片机的基本性质,数字电路,模拟电路,通信原理以及C语言的应用,采用软硬件的方法来实现一个稳定性、可靠性较好,智能性强,电路操作简单,成本较低,能在键盘电路的控制下输出正弦波、方波、锯齿波、三角波并且频率可以调整、方波的占空比也可以进行调整的函数波形发生器。
2总体方案设计
2.1三种基本方案及思路
与老师和组员协商后,大致有三种设计方案。
方案一:
利用ICL8038芯片和外接少量的元器件,制成能够产生正弦波、矩形波和三角波信号,幅度及频率范围可调整技术指标先进、用途广泛的多功能函数波形发生器。
方案二:
应用AT89C51单片机配合键盘电路,数模转换电路,数码管等在示波器上实现方波、矩形波、三角波和正弦波的输出,并通过按键电路能实现频率增减以及方波占空比的增减。
能达到实用性强,智能性好的特点。
方案三:
采用EDA技术,利用VHDL编程语言和综合设计能力设计出能输出矩形波、方波、三角波和正弦波以及测量范围为1hz——100khz,其幅度为100mV——5V的函数波形发生器。
2.2各方案优缺点以及最终方案选定
方案一优点:
ICL8038是一种具有多种波形输出的精密振荡集成芯片,只需要个别的外部元件就能产生从0.001Hz~30KHz的正弦波、三角波、矩形波等脉冲信号,输出波形的失真小,正弦波失真度还可降低到0.5%。
三角波的线性度高达0.1%。
由于该芯片具有调制信号输入端,所以可以用来对低频信号进行频率调制。
利用ICL8038芯片进行设计,其总体电路组建比较简单,很大程度上减轻了设计难度,节约了制作的成本。
方案一缺点:
此方案采用纯硬件制作,无需软件设计,无法达到硬软件相结合,使设计比较单调,不加入软件设计也无法实现方波的占空比调整等。
设计过于死板,达不到灵活设计的要求。
方案二优点:
AT89C51单片机是一种低电压,高性能的CMOS8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。
系统整体加入了8个键盘来分别控制4种输出波形以及频率增减和方波占空比的增减,通过数模转换和滤波放大电路输出。
其失真小,性能稳定,智能型好,非常有助于设计者软硬件综合能力的提高。
方案二缺点:
由于受硬件限制,使频率调整范围小。
程序设计时问题出现频繁,修改麻烦。
数模转换时的芯片选择以及数模转换电路设计比较困难,一旦设计稍有偏差就会导致波形不稳定。
方案三优点:
利用EDA技术采取模块化设计思想,把系统分成几个具体的模块可以使电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
利用EDA的VHDL硬件描述语言来设计信号发生器可达到较高的频率和产生多种波形信号,工作稳定,只需改变软件部分就能改变波形,易于调试,成本低。
方案三缺点:
EDA技术都是在理想环境下进行仿真,不会考虑到干扰或者布线之类的影响。
另外利用VHDL语言进行程序设计难度比较大,稍微的错误即会导致结果失真或是不稳定。
考虑到硬软件结合的方式来实现本次设计,因此放弃方案一。
由于相比利用EDA设计思路的方案三,利用单片机设计的方案二在软件方面采用的是C语言编写程序,比起VHDL语言更为简单灵活,实用性强。
硬件电路成本比较低,布局十分简单,并由于按键式键盘电路的加入使整个电路更容易灵活操作。
数模转换电路的设计更加考验了通信基础知识的应用能力,对设计者的能力提高有着促进作用,因此,最终选定方案二(利用AT89C51单片机为主控芯片)为本次设计的设计思路。
2.3本次设计要求
(1)熟悉Proteus仿真软件,并在掌握函数波形发生器原理的基础上搭建出一个函数发生器的软件实现系统,并实现其仿真。
(2)在万用版上正确的利用焊接技术实现函数波形发生的电路系统,并用示波器观察波形,测量频率和电压范围。
根据波形分析系统性能及失真、不稳定的原因。
(3)在老师的指导下,完成毕业设计的全部内容,并按要求编写毕业设计报告,能够正确阐述和分析实验结果。
3系统框图及总体原理概述
基于单片机设计的函数波形发生器系统框图如图1所示。
图1系统框图
总体原理概述:
本设计利用AT89C51单片机为主控芯片,以其P1口作为键盘电路的输入,其中8个按键分别控制正弦波输出,方波输出,锯齿波输出,三角波输出,方波的占空比增加,方波占空比减少,频率增加,频率减小。
P0口外接数码管,当按键按下时每种波形会出现对应的数字。
P2口作为信号输出,连接数模转换电路实现数模转换,通过滤波放大电路最终在示波器上显示出要求的波形信号。
4各部分模块电路设计
4.1硬件单元模块设计
4.1.1键盘电路
本次设计的键盘电路为按键式键盘。
此电路由8个按键组成,由单片机电路的P1.0至P1.7口作为输入以此连接。
其中按键1控制正弦波输出,按键2控制方波输出,按键3控制锯齿波输出,按键4控制三角波输出,按键5控制方波的占空比增加,按键6控制方波占空比减少,按键7控制频率增加,按键8控制频率减小。
如图2所示。
图2键盘电路图3晶振电路
4.1.2晶振电路
晶振电路是单片机时钟电路中最重要的部件,如图3所示。
其提供的系统频率为12MHZ,两旁的20pF的负载电容使51类单片机的晶振电路起振并且工作于并联谐振状态[2]。
4.1.3单片机电路
单片机电路的P0口是一组8位漏极开路型双向I/O口,在本设计中外接数码管。
P1口是一个带内部上拉电阻的8位双向I/O口,在本设计中作为按键电路的输入口,用于控制切换各种波形输入。
P2口也是一个带内部上拉电阻的8位双向I/O口,在本此设计中作为波形输出口。
外接数模转换电路EA端为高电平(接VCC端),执行内部程序存储器中的指令。
如图4所示。
图4单片机电路
4.1.4电源电路
日用电压为输入交流220V,所以输入到变压器(可调)的输入端,把电压调到本设计的各个芯片的额定电压左右,使各元器件正常工作,然后通过整流桥进行交直流转换,再进行滤波处理,然后通过7805三端集成稳压电路进行稳压。
如图5所示。
图5电源电路
4.1.5数模转换电路
DAC0832是采样频率为八位的D/A转换器件,芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。
D/A转换结果采用电流形式输出,一般要求输出是电压信号,所以还必须经过一个外接的运算放大器将其转换成电压信号。
如图6所示。
4.1.6滤波放大电路
经数模转换电路输出的信号极其微弱且带有无用的信号,故需要先进行滤波处理,将过程中的无用信号除去,然后通过运放(放大电路)进行信号放大,以便更好的观察结果。
如图7所示。
图6数模转换电路图7滤波放大电路
4.2软件设计
4.2.1软件简介
4.2.1.1Proteus软件简介
Proteus仿真软件是由英国Labcenterelectronics公司推出的EDA工具软件,基于Windows环境下运行的用于系统仿真分析的可视化软件工具[3],它使用功能模块(Token)描述程序。
从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
利用Proteus,可以构造各种复杂的模拟、数字、数模混合系统和各种多速率系统。
用户在进行系统设计时,只需从Proteus配置的图标库中调出有关图标并进行参数设置,完成图标间的连线,然后运行仿真操作,最终以时域波形输出等形式给出系统的仿真分析结果。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
4.2.1.2KeiluVision3软件简介
KeilSoftware公司推出的uVision3是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。
除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。
此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。
Keil可以软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
在开发大型软件时更能体现高级语言的优势。
Keil标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品,它已被完全集成到uVision3的集成开发环境中,这个集成开发环境包含:
编译器,汇编器,实时操作系统,项目管理器,调试器。
uVision3提供对多种最新的8051类微处理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。
4.2.2软件设计流程图
更新显示
5系统调试
系统调试分为硬件调试和软件调试两个部分,调试方法如下:
首先用仿真软件进行软件调试,比如Keil,该软件提供一个集成开发环境uVision,它包括C编辑器、宏编辑器、库管理器、连接器和一个功能强大的仿真调试器。
通过编辑可以检查出来程序的错误所在。
在确定编辑思路以后将各部分程序编好,通过Keil进行编译,根据提示错误进行修改,处了语法错误和逻辑错误外,当确认程序没问题时,通过直接加载到Proteus中进行仿真,仿真结果详见仿真实现过程单元。
硬件调试主要是在电路板上焊接元器件,然后利用万用表等对电路进行检查,查出虚焊点和焊接错误点,进行修改最后连接示波器观察现象。
硬件制作以及调试比较费时,需要耐心,也需要熟练掌握电路原理。
6仿真实现过程
6.1系统仿真图
系统仿真图如图9所示
图9系统仿真图
6.2正弦波输出
正弦波输出如图10所示
图10正弦波输出
6.3方波输出
方波输出图如图11所示
图11方波输出
6.4锯齿波输出
锯齿波输出图如图12所示
图12锯齿波输出
6.5三角波输出
三角波输出如图13所示
图13三角波输出
6.6方波占空比增减输出对比图
方波占空比增减输出对比图如图14所示
图14方波占空比增减输出对比图
6.7以正弦波为例的频率增减输出对比图
以正弦波为例的频率增减输出对比图如图15所示
图15以正弦波为例的频率增减输出对比图
7结果分析
7.1结论概述
经过Proteus仿真及示波器观察后,发现系统的确可以通过按键控制产生预期的四种波形(正弦波,方波,锯齿波,三角波),其中频率范围约为:
100HZ——1KHZ,幅值范围约为:
110mV——796mV。
并且液晶可以对应显示数字1,2,3,4,方波的占空比增减可以通过按键5和按键6控制,四种波形的频率增减可以通过按键7和按键8控制。
结果显示表明:
(1)滤波放大电路正常工作,滤去了无用的信号。
(2)数模转换电路的确将离散的数字信号转换成为连续的模拟信号。
(3)电源电路将220V的交流电转换成为各元器件的额定电压左右,致使正常工作。
7.2设计创新亮点
本次设计基本达到预想的要求,其中设计亮点在于:
(1)将液晶显示加入电路,使各种波形在显示时,对应的在液晶上显示数字1,2,3,4,以便于实验观察,使整个设计更加完整,智能。
(2)加入方波占空比增减的设计,使整个设计多元化,更加完整。
7.3设计中的不足和完善想法
当然,存在不足的地方,比如在示波器上显示的波形不是很稳定,有些抖动,不能实现频率按照一个很小的步进进行调整,并且频率太小的时候容易产生波形失真。
针对以上不足,我和组员认为是在数模转换电路位置出现的问题,可能是因为芯片的基准电压精度不够而且稳定行不好,或是在用运放将电流信号转换成电压信号时出现问题,需要进一步稳定和提高其DAC0832芯片的基准电压精度,所以应该在电源电路处采用更好的线性稳压电路,或是直接通过更换质量更好的芯片和电容和集成运放器件等。
8心得体会
开始的时候由于没有经验,不知如何下手,所以就去图书管找了一些书看,尽管查到有许多的设计方案,可是总感觉自己还是有许多的东西弄不太清楚,无法确定哪种方案才能既达到毕业设计的要求,又可以最大程度上提高我的能力,把四年所学融合在一起,于是就去请教了老师,经过他的解释分析各方案之后,决定用单片机的方法来做。
做的过程十分困难,频频出错,甚至想过换题目,但老师鼓励我不要放弃,之后通过两周的努力终于和组员一起在电脑上实现了仿真结果,但焊接时又出现了很多虚焊的情况,之后仔细检查后才发现这些虚焊点,重新焊接后终于在示波器上实现了各种波形的输出,达到了实验的目的。
这次尽管经历了不少的艰辛,但给我积累了许多宝贵的设计经验,最后也有点小小的成就感。
后面的路还很长,我还得不断的努力!
在本文的写作过程中得到了张鹏举老师的精心指导,在此表示衷心的感谢。
参考文献
[1]曹志刚,钱亚生编著,现代通信原理,清华大学出版社,1992。
[2]罗伟雄原东昌编著,单片机基础,北京理工大学出版社,1999。
[3]左洪浩.Proteus系统设计及仿真入门与应用,电子工业出版社。
TheHardwareCircuitDesignofFunctionGenerator
ComputerandInformationEngineeringCollegeCommunicationsEngineering.TianXiaodong20091105773
DirectedbyZhangPengjulecturer
AbstractThisarticleintroduceshardwarecircuitdesignoffunctiongeneratorbasedonAT89C51microcontroller,itincludeskeyboardcircuit,crystalscircuit,D/Aconversioncircuit,filteramplifiercircuitandotherhardwaremodules.Itcanoutputpulse,squarewave,trianglewaveandsinewave,itcanalsoadjustthefrequencyandthesizeofthesquarewavedutyratio.Theoutputshows
thisdesignhasstrongpracticability,simpleoperation,andgoodintelligence.
Keywordsmicrocomputer;D/A;goodintelligence
附录
(1)设计所用元器件表
器材名称
个数(单位:
个)
AT89C51单片机
1
DAC0832
1
按键
9
石英晶体振荡器
1
集成运放
2
液晶
1
1K的变阻器
1
1.5K电阻
3
10K
1
5.1K
2
100uF
3
470uF
1
20pF
2
10uF
1
万用版
1
7805三端稳压集成电路
1
烙铁和焊锡导线若干
——
(2)系统总电路图