基于单片机的波形发生器的设计Word文件下载.docx
- 文档编号:735802
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:51
- 大小:323.88KB
基于单片机的波形发生器的设计Word文件下载.docx
《基于单片机的波形发生器的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的波形发生器的设计Word文件下载.docx(51页珍藏版)》请在冰点文库上搜索。
目前波形发生器的基础就是直接数字合成技术,用存储器做查询表通过数字形式存入的波形,由数/模转换器产生所需要的波形。
近几年来,国际上波形发生器技术发展主要体现在以下几个方面:
1、过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。
波形发生器软件的开发正使波形的输入变得更加方便和容易。
波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。
同时可以利用一种非常强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数字表达式产生。
各种计算机语言的飞速发展也推动了任意波形发生器软件技术的发展。
目前可以利用可视化编程语言(如VisualBasic,VisualC等等)编写任意波形发生器的软件板,这样允许徒手从计算机显示屏上输入任意波形,来实现波形的输入。
2、与VXI资源结合。
目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的VXI模块。
由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量和产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得波形发生器VXI模块仅限于航空、军事及国防等大型领域。
在民用方面,VXI模块远远不及台式仪器更为方便。
3、随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又在繁荣起来。
不过现在的新的台式仪器的形态和几年前的已有很大的不同。
这些新一代台式仪器具有多种特征,可以执行多种功能。
而且外形、尺寸与价格,都比过去的类似产品减少了一半。
1.3国内外波形发生器产品的比较
1978年,由美国Wavetek公司和日本东亚电波工业公司最早公布的波形发生器的最高取样频率为5MHz,可以形成256点(存储长度)波形数据,垂直分辨率为8bit,主要用于振动、医疗、材料等领域做评价信号源,经过将30多年的发展,伴随着电子元器件、电路及生产设备的高速化、高集成化,任意波形发生器的性能有了飞速的提高。
变得操作越来越简单而输出波形的能力越来越高。
波形操作方法的好坏,是由任意波形发生器控制软件质量保证的,编辑功能增加的越多,波形形成的操作性越好。
1.4研制波形发生器的目的及意义
波形发生器是信号源的一种,它是具有信号源所具有的特点,更因它高的性能优势而备受人们青睐。
信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量感兴趣的参数。
可见信号源在各种实验应用和试验测试处理中,它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。
目前我国已经开始研制波形发生器,并取得了可喜的成果。
但总的来说,我国波形发生器还没有形成真正的产业。
就目前国内的成熟产品来看,多为一些PC仪器插卡,独立的仪器和VXI系统的模块很少。
并且我国目前在任意波形发生器的种类和性能都与国外同类产品存在较大的差异,因此加紧对这类产品的研制显得迫在眉睫。
1.5本文所研究的内容
对波形发生器的研制在国外已有报道,而国内在这方面报道较少,本论文的任务是根据波形发生器的特点和应用情况,结合新一代高性能芯片设计一种使用简单、性能优良的波形发生器,该波形发生器能产生正弦波、方波、三角波、锯齿波等常用的标准信号,整个系统采用单片机控制,论文主要研究在波形发生器设计时如何合理地确定设计方案,在系统的硬件设计时需要注意的问题以及如何进行电路设计,还有单片机软件和生成常用波形编辑软件的编写等等问题。
波形编辑软件主要用于产生各种标准或非标准波形的作用,用户可以通过键盘对软件进行操作,如选取波形类型、调整波形周期等。
1.6小结
本章首先简要的介绍了波形发生器在当今电子世界中的地位及对科研与教学中的作用。
接着介绍了国内外研究波形发生器的概况,指出波形发生器近几年技术发展体现在输出波形频率的提高、更方便的波形输入、与VXI总线资源的结合及台式仪器的发展,列出了国外著名仪器公司任意波形发生器的主要指标,然后指出了研制开发波形发生器的意义。
最后说明了本设计的主要内容。
2基于单片机的波形发生器的设计方案介绍
2.1总体方案设计
根据题意,可采用单片机程序产生以上4种波形,并通过一片D/A转换器输出。
另外,采用一片D/A转换器来控制前一片D/A转换器的参考电压,从而可以改变输出波形幅值,见图1所示。
通过外接键盘来设定波形的类型、幅值和频率,并在扩展的七段LED显示器上显示响应的波形的类型、幅值和频率。
2.2波形发生器的原理
本文利用AT89C51单片机外接数模转换器和运算放大电路,由用户通过按键选择输出实验室中经常使用到的几种基本波形:
方波、锯齿波、正弦波和三角波。
方波由AT89C51单片机将最大值和最小值输出给D/A进行转换,并由用户通过键盘选择波形周期。
与微处理器兼容的8位数模转换器DAC0832将数字量转换为模拟量电压信号,通过运放电路得到锯齿波、正弦波、三角波信号,波形保证了它的精度、平滑和稳定。
以产生正弦波为例,采用定点法来生成波形,即将一个周期的正弦波按360。
等分为若干点,计算出各点的正弦函数值,并转化相应的D/A转换器输入数值,这样得到一个正弦函数表。
通过程序将该表存于单片机的程序存储器中,利用单片机的定时器来产生定时,每当定时时间到时,查表得到该点对应的输出值,然后通过D/A转换得到该点的对应电压值。
如此,周而复始地查表输出,就得到所要的正弦波。
由于一个周期正弦波的点数固定,改变定时器的定时值,就改变相邻两点的间隔时间,从而改变正弦波的频率。
三角波和锯齿波的产生发生于正弦波类似。
方波的产生较简单,只要交替地将最大值和最小值输出给D/A进行转换即可,它们的延续时间为周期的一半。
2.3波形发生器的设计方案
AT89C51单片机时钟电路采用内部方式,外接陶瓷谐振器(频率为12MHz),微调电容值为30pF。
系统复位采用按键式外部复位方式,复位信号至少保持8us以上。
通过按键由用户选择要输出的波形,按键选择占用P10—P17口,采用独立式键盘结构。
框图见图1所示,其具体电路见附图。
图1波形发生器原理框图
2.4基于单片机的波形发生器的可行性的理论分析
2.4.1元器件的选择及其可行性
根据技术指标及系统设计目的,在电源部分我们选用7805、7812、7912三个三端集成稳压器得到+5V、+12V、-12V的电压,然后再将这三个集成稳压器输出的电压值供给整个系统;
通过两个集成D/A转换器DAC0832进行数/模转化和电压的比较;
四个集成运放LM356将得到的模拟电压进行放大;
一个示波器对输出波形进行观测;
8组集成74HC164和LED;
其余部分为一些常用电阻、电容等元器件。
以上这些器件在实验室大部分都可以找到,只有极少数集成芯片及器件需要购买,所以器件的选择完全可行。
2.4.3经济上的可行性
本设计是一个实验系统,所需要的芯片以及波形转换电路中所需要的电容电阻等元器件大部分可在实验室中找到。
因此,设计费用主要集中在印制板的制作上。
而系统制作成功将省去一部分实验器材的购置费用。
所以,经济上本设计完全可行,并将节省实验设备投资。
3基于单片机的波形发生器的硬件设计
在整个设计系统中,最为关键的部分为数据的处理,选择一个合适的处理芯片是极为重要的,而处理芯片的选择与软件的设计休戚相关,软件的可行与否和设计思路直接与单片机的内部结构和资源有关。
按照总体方案设计的硬件电路见图1所示,它主要包括单片机最小系统、两片D/A转换器组成的波形输出部分、键盘扩展部分和七段LED显示器显示部分等。
3.1单片机的简介
单片微型计算机是微型计算机的一个重要分支,也是一个非常活跃和颇具生命力的机种。
单片微型计算机简称单片机,特别适用于控制领域,故又称为微控制器(Microcontroller)。
它是将计算机的基本部件微型化,使之集成在一块芯片上的微机。
片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟及系统总线。
单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能化仪表、过程控制和家用电器等许多领域得到日益广泛的应用。
因此要完成此系统的设计,考虑到实际的应用和性价比,在数据处理和控制方面单片机是首选。
3.2本设计对单片机的要求
从1976年9月Intel公司推出MCS-48系列单片机以来,单片机的发展非常迅速,世界上一些著名的器件公司如Atmel公司、Motorola公司、Zilog公司等也竞相推出新产品。
每个公司的单片机各有优异,适用范围也有区别。
因此选择一个适合本系统的单片机是十分重要的。
在本设计系统中,对单片机有如下的要求:
1、本系统要求在有信号输入时,单片机要尽快工作,因此要求单片机运行速度尽可能快。
2、由于汇编语言的移植性好,程序简单明了,因此应选用可支持汇编语言的单片机。
3、单片机的成本应尽可能低。
4、操作过程应尽可能简单。
3.3单片机的选择
图2AT89C51芯片外观
综合以上因素,作者比较了PIC、Motorola公司、Zilog公司等公司的单片机,选择了美国的ATMEL公司的单片机,其外观见图2所示。
美国ATMEL公司率先将Flash存储技术应用于单片机产品中,推出了AT89系列单片机,在全球电子业内引起了巨大的反响。
ATMEL公司是一家跨国的专业半导体企业,总部设在美国硅谷圣何塞,ATMEL在电可擦技术上,拥有世界上最多的专利和最先进的工艺。
AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机抽取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产。
兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
3.3.1主要性能参数
●MCS-51产品指令系统完全兼容
●4K字节可重复擦写Flash闪速存储器
●1000次擦写周期
●全静态操作:
0Hz-24MHz
●三级加密程序存储器
●128*8字节内部RAM
●32个可编程I/O口线
●2个16位定时/计数器
●6个中断源
●可编程串行UART通道
●低功耗空闲和掉电模式
3.3.2功能特性概述
AT89C51提供以下标准功能:
4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作方式。
空闲工作方式停止CPU的工作,但允许RAM,定时器/计数器串口通信及中断系统继续工作,掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
3.3.3引脚功能说明
●VCC:
供电电压。
●GND:
接地。
●P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
●P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
●P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
●P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
●RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
●ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
●/PSEN:
程序存储允许(PSEN)输出是外部程序存储器的选通信号。
在由外部程序存储器取指令(或数据)期间,每个机器周期两次/PSEN有效即输出两个脉冲。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
●/EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),/EA必须保持低电平,需注意的是:
如果加密位LB1被编程,复位时内部会锁存/EA端状态。
当/EA端保持高电平时,CPU则执行内部程序存储器中的指令。
在Flash存储器编程期间,此引脚施加12V编程电源(VPP),当然这必须是该器件是使用12V编程单元Vpp。
●XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
●XTAL2:
反向振荡放大器的输出。
3.3.4时钟振荡器
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF+10pF,而如使用陶瓷谐振器建议选择40pF+10pF。
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。
3.4波形输出电路
3.4.1DAC0832引脚介绍
DAC芯片的型号很多,它们在价格、精度和速度上有很大的差别。
常用的D/A器件是将数字量转换成电压或者电流的形式。
按照D/A和单片机的接口方法可分为并行和串行D/A转换器。
前者CPU将各位代码同时送到转换器相应的输入端,转换速度快,应用较广。
因此根据上述原因,本设计用DAC0832作为与单片机AT89C51相连的数据转换器。
DAC0832具有一组8位数据线D0~D7用于输入数字量,一对模拟输出IOUT1和IOUT2用于输出与输入数字量成正比的电流信号,一般外部连接由运算放大器组成的转换电路。
转换器的基准电压输入端VREF一般在-10V~+10V范围内。
DAC0832的引脚及功能如图3所示。
图3DAC0832的外部图形
DI0~DI7:
8位的数据输入端,TTL电平,DI7为最高位。
ILE:
数据锁存允许控制信号输入线,高电平有效。
/CS:
片选信号输入线,低电平有效。
WR1:
为输入寄存器的写选通信号。
XFER:
数据传送控制信号输入线,低电平有效。
WR2:
为DAC寄存器写选通输入线。
IOUT1:
模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当DAC寄存器中数据全为0时,输出电流为0。
IOUT2:
模拟电流输出端2,IOUT2与IOUT1的和为一个常数,即IOUT1+IOUT2=常数。
RFB:
反馈信号输入线,DAC0832内部已经有反馈电阻,所以RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。
VREF:
参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10~-10)V。
VREF端与D/A内部T形电阻网络相连。
Vcc:
芯片供电电压,范围为(+5~15)V。
AGND:
模拟地,即模拟信号和基准电源的参考地。
DGND:
数字地。
即数字信号和基准电源的参考地。
两种地线在基准电源处共地比较好。
3.4.2DAC0832的工作原理
当输入锁存信号ILE为高电平时,而
与
同时为低电平时,由图10-4可知
=1,输入锁存器的内容随数据总线DI0~DI7而变化。
当
变为高电平时,
=0,8位输入数据被锁存在输入寄存器中。
同时为低电平时,
=1,8位DAC寄存器内容随输入锁存器而变化。
此时若
变为高电平,
=0,则将输入锁存器中数据锁存在8位DAC寄存器中,并开始D/A转换。
对于要求多片DAC0832同时转换的系统,鉴于各芯片的片选信号不同,可用片选信号
分时地将数据分别输入到每个芯片的输入锁存器中。
各芯片的
分别连接在一起,共用一组信号。
同时为低电平时,数据将在同一时刻由8位输入寄存器传送到对应的8位DAC寄存器中,在
上升沿将数据锁存到DAC寄存器中。
与此同时,多个DAC0832芯片开始同时进行D/A转换,因此可以达到多路模拟量同时输出的目的。
3.4.3DAC0832可工作在三种不同的工作模式
1、直通方式
当转换器的实际连接中,要注意区分“模拟地”和“数字地”的连接,为了避免信号串扰,数ILE接高电平,/CS、/WR1、/WR2和/Xfer都接数字地时,DAC处于直通方式,8位数字量一旦到达D0~D7输出端,就立即加到D/A转换器,被转换成模拟量。
在D/A字量部分只能连接到到数字地,而模拟量部分只能连接到模拟地。
这种方式可用于不采用微机的控制系统中。
2、单缓冲方式
单缓冲方式是将两个锁存器之一处于直通状态,输入数据经过一级缓冲送入D/A转换器,如把/WR2和/XFER都接地,是寄存锁存器2处于直通状态,ILE接+5V,/WR1接CPU系统总线的/IOW信号,/CS接端口地址译码信号,这样CPU可执行一条OUT指令,使/CS和/WR1有效,写入数据并立即启动D/A转换。
3、双缓冲方式
即数据通过两个寄存器锁存后再送入D/A转换器中,执行两次写操作才能完成一次D/A转换。
这种方式可在D/A转换的同时,进行下一个数据的输入,可通过转换速度。
更为重要的是,这种方式特别适用于系统中含有2片及以上DAC0832,且要求同时输出多个模拟量的场合。
3.4.4数模转换器与单片机的接口设计
在本设计中选用DAC0832的单缓冲工作方式,它与单片机AT89C51的接口电路如图5所示
图4DAC0832与单片机AT89C51的接口电路
按应用要求的不同,DAC0832可以接成单极性电压输出和双极性电压输出,当数字量在00—FF范围时,电压输出量若为0—+xV或0---xV,这种输出方式称为单极性电压输出方式;
若电压的输出为-xV--+xV,则为双极性电压输出方式。
本课题根据实际要求选择IC3为单极性输出和IC4为双极性电压输出。
波形输出电路主要由两片8位D/A转换器DAC0832和相应运算放大器组成,见图1中相应部分;
其中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 波形 发生器 设计