10Hz-10kHz 连续可调矩形波发生器的设计及仿真分析
10Hz-10kHz连续可调矩形波发生器的设计
及仿真分析
摘要:本文概述了波形发生器的发展状况及其研究意义;比较和研究了信号发生电路选择方案、
单片机选择方案、显示电路选择方案和按键电路选择方案;分析和设计了系统的框图、软件流程和
硬件电路;比较和解析了通过对软件和硬件的仿真调试所得出的仿真数据;归纳了设计的误差并得
出论文的结论。
关键词:矩形波发生器、连续可调、单片机、仿真
Design and simulation analysis of
10Hz-10kHz continuously adjustable square
wave generator
Abstract: This article outlines the development and significance of waveform generator, compares and
researches the selective schemes of signal generating circuit, single chip microcomputer, display circuit and
key circuit, analyzes and designs the whole diagram of the system, the software processes and hardware
circuit, compares and resolves the simulation data obtained by the simulation software and hardware
debugging, summarizes the error of design and comes to the conclusion of the paper.
Keywords: square wave generator, continuously adjustability, single chip microcomputer, simulation
10Hz-10kHz 连续可调矩形波发生器的设计及仿真分析
引言
波形发生器是指产生所需参数的电测试信号的仪器。按信号波形可分为正弦信
号、函数(波形)信号、脉冲信号和随机信号发生器等四大类。波形发生器又称信号
源,在生产实践和科技领域中有着广泛的应用。它能够产生多种波形,如三角波、锯
齿波、矩形波(含方波)和正弦波。随着电子测量技术与计算机技术的紧密结合,一
种新的信号发生器――多功能波形发生器应运而生。所谓多功能波形发生器[1]是能够
产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作
性的电子仪器。因而它具有广阔的应用前景。通过各方面的调查研究表明,目前国内
外优越的波形发生器厂家大部分采用以单片机为核心的,来实现多功能波形发生器。
1 概述
波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计
应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接
而成,且波形种类有限,多为锯齿、正弦、方波和三角等波形。
波形发生器作为一种常见的应用电子仪器设备,传统的一般可以完全由硬件电路
搭接而成,如采用 555 振荡电路发生正弦波、三角波和方波的电路便是一种途径。但
是这种电路存在波形质量差、控制难、可调范围小、电路复杂和体积大等缺点。在科
学研究和生产实践中,如工业过程控制、生物医学和地震模拟机械振动等领域常常要
用到低频信号源。但是由硬件电路构成的低频信号其性能难以令人满意,而且由于低
频信号源所需的 RC 值要很大。大电阻和大电容在制作上有困难,参数的精度亦难以保
证。体积大、漏电和损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路
复杂程度会大大增加。
利用单片机采用程序设计方法来产生信号,具有线路相对简单、结构紧凑、价格
低廉、频率稳定度高、抗干扰能力强和用途广泛等优点,并且能够对波形进行细微调
整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功
能升级。
1
10Hz-10kHz 连续可调矩形波发生器的设计及仿真分析
1.1 波形发生器的发展状况
波形发生器[2]是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳
定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换和频率
稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、占空比和波形进行
动态、及时的控制,并能够与其它仪器进行通讯,并组成自动测试系统,因此被广泛
用于自动控制系统、震动激励、通讯和仪器仪表领域。
近几年来,国际上任意波形发生器技术发展主要体现在以下几个方面[3]:
○1 过去由于频率很低,所以应用的范围比较狭小。随着输出波形频率的提高,
使得任意波形发生器能应用于越来越广的领域。任意波形发生器软件的开发正使任意
波形的输入变得更加方便和容易。任意波形发生器通常允许用一系列的点、直线和固
定的函数段把波形数据存入存储器。同时可以利用一种非常强有力的数学方程输入方
式,复杂的波形可以由几个比较简单的公式复合成 v=f(t)形式的波形方程的数学表达
式产生。各种计算机语言的飞速发展也推动了任意波形发生器软件技术的发展。目前
可以利用可视化编程语言(如 Visual Basic 和 Visual C 等等)编写任意波形发生器的软面
板(虚拟仪器),这样可以直接从计算机显示屏上输入任意波形,来实现波形的输入。
○2 随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又在繁荣起来。
不过现在的新的台式仪器的形态,和几年前的已有很大的不同。这些新一代台式仪器
具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少
了一半。
1.2 波形发生器的研究意义
波形发生器主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表
测量有用的参数。可见波形发生器在各种实验应用和试验测试处理中,它不是测量仪
器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以
满足测量或各种实际需要。目前我国已经开始研制任意波形发生器,并取得了可喜的
成果。但总的来说,我国任意波形发生器还没有形成真正的产业。就目前国内的成熟
产品来看,多为一些 PC 仪器插卡,我国目前在任意波形发生器的种类和性能都与国
2
10Hz-10kHz 连续可调矩形波发生器的设计及仿真分析
外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。
1.3 研究内容
本设计以单片机为核心设计的函数信号发生器。信号发生器采用数字波形合成技
术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波
及其他任意波形,波形的频率和幅度在一定范围内可任意改变;介绍了波形的生成原
理、硬件电路和软件部分的设计原理;介绍了单片机控制 D/A 转换器产生上述信号的
硬件电路和软件编程、D/A 转换器(DAC0832)的原理和使用方法、AT89C52 以及与
设计电路有关的各种芯片以及关于产生不同信号的信号源的设计方案。该信号发生器
具有体积小、价格低、性能稳定和功能齐全的优点。
2 方案论证和比较
2.1 信号发生电路方案论证
2.1.1 方案一
采用 RC 串并联振荡器[4]产生正弦信号,利用比较器产生方波,通过积分产生矩
形波。频率变化利用 RC 大小控制。此方案优点:该技术成熟,可参考资料较多。缺
点外部电路元器件较多、调试难度较大、频率稳定度和准确度都比较差,很难满足频
率变化要求,更无法满足步进调节。
2.1.2 方案二
基于 MAX038[5][6]芯片通过 51 单片机通过 DAC0832 数模转换器产生小阶梯模拟
量正弦波波形,通过正弦波可比较产生矩形波。优点是频率可调,且有详细的工业成
型内部电路原理图。缺点由积分电路衰减产生信号,且在不同频率段无法使用一个积
分电路完成。而且其硬件制作复杂,调试较麻烦。
2.1.3 方案三
通过 51 单片机和 DAC0832 产生方波、三角波和正弦波的小阶梯式模拟量波形,
通过采样点间的间隔时间和采样点数目的控制产生 10Hz-10kHz 的频率,经过运算放
大器可产生矩形波。
以上三种方案综合考虑,结合自身所学知识,选取方案三。
3
10Hz-10kHz 连续可调矩形波发生器的设计及仿真分析
2.2 单片机选择方案论证
2.2.1 方案一
AT89S52[5][6]单片机是一种高性能 8 位单片微型计算机。它是由中央处理器 CPU、
存储器、寄存器和 I/O 接口制作在一块集成电路芯片上。从而构成较完整的单片机,
而且其价格相对其他单片机便宜。
2.2.2 方案二
C805F005[7]单片机是完全集成的混合信号系统级芯片,具有与 8051 兼容的微控制
器内核,与 MCS-51 指令集完全兼容。除了具有标准 8052 的数字外设部件,片内还集
成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速
度快,但其价格昂贵。
以上两种方案综合考虑,结合市场单片机的占有率,选择方案一。
2.3 显示电路方案论证
2.3.1 方案一
显示电路采用 LED 数码管。LED 数码管由 8 个发光二极管组成,每只数码管轮
流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于
1/16s 时人眼感觉不到闪动,看到的是每只数码管常亮。其优点是使用数码管显示编程
较易,价格便宜。
2.3.2 方案二
显示电路采用 LCD 液晶显示器 1602。其功率小,效果明显,显示编程容易控制,
可以显示字母。其缺点是元器件成本高。
由于本设计需要显示参数较多,所以采用方案二。
2.4 按键电路方案论证
2.4.1 方案一
按键电路采用矩阵式键盘,矩阵式键盘的按键触点接于由行、列母线构成的矩阵
电路的交叉处。当键盘上没有键闭合时,所有的行和列线都断开,行线都呈高电平。
4
10Hz-10kHz 连续可调矩形波发生器的设计及仿真分析
当某一个键闭合时,该键所对应的行线和列线被短路。
2.4.2 方案二
按键电路采用独立式键盘,独立式键盘的按键触点接于 AT89S52 芯片。当键盘上
没有闭合时,所有键都断开,当某一键闭合时,该键对应的编码由 AT89S52 输出。
由于本发生器产生的波形频率较大,同时需要改变幅度和占空比,需要按键较多,
所以采用方案二。
3.1 框图设计
3 系统设计
该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、
信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字
显示的方案。将设计任务分解为按键电路和显示电路等模块。图 1 所示为系统的总体
框图。
复位
电路
键盘控制频
率,幅度,
占空比
51
单
片
机
数码管显示电路
DAC
0832
放大
电路
波形
输出
3.1.1 系统流程分析
图 1 系统框图
4*4 键盘输入全部用作功能键,键盘具体划分如下:第一行主要功能是占空比调
节,调节范围为 10%-100%,默认值为 50%,有占空比加 10%、占空比减 10%、占空
比 50%;第二行主要功能是幅值的调节,幅值调节范围是 0.1-5.0,默认值为 5.0,调
节步进加 0.1 或者减 0.1;第三行、第四行实现频率调节功能,有由个位至千位的逐位
调节,有千位调节加∕减、百位调节加∕减、十位调节加∕减以及个位调节加∕减。
5
10Hz-10kHz 连续可调矩形波发生器的设计及仿真分析
详细按键图参见表 2。先输入开启波形键然后按照要求执行程序。其中是 DAC0832 产
生的波形,再由运算放大器进行放大,单片机通过 P0 口的八位和 P2.0/P2.2 控制 LCD
的显示,在选择的频段范围内通过设定的按键步进调节就可以得到需要的波形。显示
说明简码参见表 1。
表 1 LCD 显示简码
简码
FZ
BX
PL
ZK
名称
幅值
波形
频率
占空比
表 2 键盘界面
开启波形 占空比增大 占空比减小
关闭波形
无
无
幅值增加
幅值减小
频率千位加 频率千位减 频率百位加 频率百位减
频率十位加 频率十位减 频率个位加 频率个位减
3.1.2 频率调节分析[8]
在 D/A 转换部分和波形发生部分则根据以下公式计算:
控制频率 D/A 转换器公式:
控制占空比 D/A 转换器公式:
电路的振荡频率为:
6
○1
○2
○3
10Hz-10kHz 连续可调矩形波发生器的设计及仿真分析
波形占空比为:
说明:由于电路原因以及程序问题,设计的波形发生器产生的波形的占空比、频
○4
率、振幅等不可能如理论那么准确。
3.1.3 详细流程图
开 始
开
初始化
键盘扫描
LCD 显示
功能按键
显示数值
占空比调节
频率调节
幅值调节
范围是否在
10%~100%
之间
计算 D/A 所
需要数据
频 率 在
10HZ---10
KHZ 之间
幅 值 在
1~5v 之间
计算 D/A 所
需要数据
采集 D/A 所
需要数据
单片机输入 P3
口串行数据
单片机输入P3
口串行数据
单片机输入 P3
口串行数据
图 2 系统的详细工作流程图
7