波形发生器论文.docx
- 文档编号:10997700
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:21
- 大小:2.90MB
波形发生器论文.docx
《波形发生器论文.docx》由会员分享,可在线阅读,更多相关《波形发生器论文.docx(21页珍藏版)》请在冰豆网上搜索。
波形发生器论文
2012山东省大学生电子设计竞赛
设计报告
题目:
波形发生器
论文编号:
06
参赛学校:
中国海洋大学
参赛学生:
杨忠健、周志鑫、曾丽萍
指导教师:
刘滨
二○一二年八月
波形发生器
摘要:
本设计给出了以32位单片机ARM(LM3S1138)为核心的波形发生器的基本原理与实现方案。
该系统由波形发生、D/A转换、低通滤波、键盘控制和LCD显示五个模块构成,采用数值计算的方法由单片机实现波形发生和波形控制,通过D/A转换和低通滤波电路模块完成波形输出。
可通过键盘选择波的类型、控制幅度和频率。
本系统可产生输出频率及幅度可调,频率范围为100Hz~10kHz的方波、三角波、正弦波及三种波形的线性组合波形,以及由基波及其谐波的线性组合波形,波形信号的频率、波形与幅度值送至LCD进行显示。
本系统具有波形信号频率、波形、幅度变化容易,硬件电路简单可靠,成本低,稳定性高等特点。
关键词:
ARMLM3S1138基波与谐波复合波数值计算D/A转换
波形发生器
1方案论证与设计
1.1波形产生方案
方案一:
采用模拟分立元件或单片压控函数发生器MAX038。
此方案可产生正弦波、方波、三角波,通过调整外部元件可改变输出频率。
方案二:
程控数字锁相环频率合成。
这种技术已经很成熟,也已经有各种成品集成电路可供使用,并且可以实现三种基本波形。
具体方案如下:
首先通过频率合成技术产生所需要频率的方波,通过积分电路就可以得到同频率的三角波,再经过滤波器就可以得到正弦波。
方案三:
基于计算的数字频率合成。
利用函数将组成波的点保存在单片机的RAM中,根据波形的频率计算出送点的时间间隔,将定时器设为周期定时器,定时时间设为送点的时间间隔,定时时间到了就产生中断,然后送点到D/A进行转换,这样就得到了连续的波形。
对以上三种方案进行比较,方案一采用模拟器件,分散性太大,而采用单片压控函数发生器,参数与外部元件有关,外接的电阻电容对参数影响很大,因而成本高、精度低、频率稳定性较差、抗干扰能力低,而且不能实现任意波形以及波形运算输出等智能化的功能;方案二可达到很高的工作频率和频率分辨率,但使用的滤波器要求通带可变,实现起来困难,而且不能实现任意波形功能;方案三采用数值计算的方法通过单片机产生各种波形,虽然增加了软件难度,但却减小了硬件复杂度,而且成本低、精度高、频率稳定性高、抗干扰能力强。
因此采用方案三来实现波形发生。
1.2幅度调整方案
方案一:
用高速模拟乘法器实现。
采用AD835模拟乘法器,来实现模拟调制。
模拟乘法器AD835的-3dB截止频率为250MHz,能够满足题目的要求。
方案二:
采用软件实现。
在软件中设置一个幅度的参数来改变送往D/A转换的值的大小,从而改变输出波形的幅度大小。
对以上方案进行比较,方案一利用模拟乘法器来实现幅度调整,AD835的差分输入范围仅为
1V,因此必须对多输入信号进行预处理,这样既增加了硬件,又加大了软件设计的难度;而采用方案二,虽然增加了软件的难度,延迟了波形的输出时间,但是可以不用外加硬件拓展,节省了成本。
综合考虑,采用方案二来实现幅度调整。
1.3频率调整方案
方案一:
通过在存储芯片ROM中保存不同频率信号的信号发生点数,在频率切换时调用ROM中所存储的不同点数模块来实现频率的切换。
方案二:
通过重新设定定时器的装载值,改变送点的时间间隔,从而改变发生的波形的频率。
对以上方案进行比较,方案一占用存储空间较多,实现起来困难;方案二占用存储少,且实现起来简单。
因此采用方案二的设计方法。
1.4显示部分设计方案
方案一:
采用八位共阴极LED数码管进行显示,利用单片机串行口的移位寄存器工作方式,外接MAX7219串行输入共阴极显示驱动器,每片可驱动8个LED数码管。
方案二:
采用中文点阵LCD液晶显示,可以显示数字、中文与阿拉伯字母等,随着半导体技术的发展,LCD的液晶显示越来越广泛的应用于各种显示场合。
比较以上两种方案,数码管显示驱动简单,但显示信息量少,功耗大;利用液晶显示可以工作在低电压、低功耗下,内容丰富、显示界面友好,综合考虑,选用LCD来实现显示功能。
1.5滤波电路
方案一:
利用运放芯片TL082构成的有源二阶巴尔沃基滤波器,它的频率范围可以达到1MHz,远高于最高频率200KHz,而且可以提高输出电压的稳定性。
方案二:
采用硬件构建的有源滤波器,通常这种滤波电路主要采用运放、电阻电容组成。
其优点是具有不用电感,体积小,重量轻等;缺点是其集成运放的带宽有限,电路的工作频率有限难以做得很高。
由于所设计的信号源的频率相对来说不是很高,采用普通有源滤波器已经可以完成设计的要求,因此选择方案二。
1.6波形存储方案
方案一:
采用蓄电池对存有波形数据的SRAM进行持续供电。
此方案实现简单,用于保护直接存放波形数据的SRAM,使其在关机或意外掉电后能够马上恢复上次输出的波形。
方案二:
使用E2PROM来存储所产生的波形表使我们能够同时实现基本要求里的波形存储和发挥部分的掉电存储功能,而无须外加其他设备。
采用1K的E2PROM,即可满足题目中对波形存储和掉电保护的各种要求,将波形数据以及各种系统设置值永久的存入E2PROM中。
此方案可以可靠地将数据保存下来,能对用户输入的波形进行“硬盘”式的存储,容量大,可用于储存用户自定义波形。
比较以上两种方案,故选择方案二。
2统硬件原理分析与设计
本设计中波形信号的产生直接用D/A转换器和软件的结合来生成,系统框图如图2-1-1所示:
图2-1-1系统框图
2.1波形发生原理
2.1.1单个波形发生原理分析
本设计中信号的产生直接用D/A转换器和软件的结合来生成,各种波形的信号数据采用了函数计算的方法来取得:
其中N表示所要取得的点数,
为取整数。
考虑到输出波形频率范围为100Hz~20KHz,而D/A转换器的分辨率为8位,转换时间为1μs,而:
其中fmax为最高频率,t为D/A转换时间。
代入数据计算:
可得N=50。
但考虑到取N=50时输出波形是离散的,为了输出连续不失真波形,且尽量提高波形频率,故取N=100,即一个完整波形的基本正弦信号有100个数据信号点组成,将波形数据通过长度为100的无符号字符数组存储到RAM中。
由于单片机只能输出正电压,且无符号字符数据占一个字节,范围为0~255,故需将各波形一个周期内的100个数据转换为0~255的整形数据,再转换成16进制数。
具体计算公式如下:
正弦波:
三角波:
方波:
各种波形生成原理图如图2-1-2所示:
图21-2各种波形生成原理图
2.1.2复合波发生原理电路
1.正弦波、方波和三角波同频率复合:
其中
为复合波形函数,
,
,
。
A、B、C为幅度系数,只要改变三个的幅度系数就可以得到不同的复合波形。
2.基波及其谐波复合:
基波和二次谐波:
基波和三次谐波:
基波和四次谐波:
基波和五次谐波:
2.2D/A转换模块器模块
2.2.1D/A原理分析:
要实现波形输出,需将ARM输出的数字信号经过D/A转换成模拟信号,再通过示波器显示波形。
如图2-2-1是倒T型R-2R电阻网络D/A原理电路图:
图2-2-1倒T型R-2R电阻网络D/A原理电路图
它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压
四大部分组成。
运算放大器输出的模拟量
为:
由上式可见,输出的模拟量与输入的数字量(
)成正比,这就实现了从数字量到模拟量的转换。
一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。
输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意,而只能是256个可能值。
2.2.2D/A转换电路:
本设计使用的是D/A转换器为DAC0832。
DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。
DAC0832输出的是电流,而要求输出的是电压,所以还必须经过一个外接的运算放大器转换成电压信号。
DAC0832有三种工作方式,其中直通方式为:
ILE接高电平,CS、WR1、WR2和XFER都接数字地。
本设计采用直通方式,具体电路连接如图2-2-2所示:
图2-2-3D/A转换电路
2.3低通滤波电路模块
由赛题的要求,输出波形的频率范围为100Hz~20kHz,为了消除波形表生成时所带来的毛刺及生成正弦波时进行数模转换所产生的高频分量,需在系统的后级设计滤波器来提高波形质量。
对阶梯正弦波进行傅里叶分析,可以证明;若一个周期采样点数为N,则其高次谐波能量主要集中在输出频率的
倍频,其幅值为基频的
。
采用低通滤波电路,可以平滑其台阶。
另外,还需要滤除由DAC0832产生的1MHz和10MHz的高频分量。
本设计采用如图2-3-1所示的RC有源滤波电路。
R、C的具体参数如下:
R1=kΩ,R2=500Ω,R3=20kΩ,C1=120pF
由于要求滤波电路的输入与输出等大同向,故采用的是同向比例放大器。
该同向比例放大器的放大倍数为:
经Multisim仿真,该滤波电路的中频放大倍数为0.143dB,近似等于0dB,-3dB带宽近似为100kHz,因此基本可消除波形表生成时所带来的毛刺及生成正弦波时进行数模转换所产生的高频分量,以及由DAC0832产生的1MHz和10MHz的高频分量。
低通滤波器原理电路如图2-3-1所示:
R1
R2
图2-3-1低通滤波器原理电路
3系统软件设计
3.1系统软件介绍
软件部分采用模块化程序设计的方法,由主控制程序、液晶显示部分子程序、波形发生子程序、键盘服务子程序组成。
本系统选用32位ARM(LM3S1138)微控制器,它带有高寻址能力的32K字节闪存FLASH以及2K静态RAM,具有32位可编程的多功能I/O端口,中断处理能力强,适合于实时、高速的应用领域,尤其是其指令系统中提出了具有较高运算速度的16×16位乘法运算指令和内积运算指令,为其应用增添了DSP功能,可以进行数字信号处理。
在其编译环境下可以内嵌C高级语言,C语言函数与汇编函数可以很方便的相互调用,所以编程效率高而且可靠。
3.2程序流程图
主程序流程图如图3-2-1所示:
图3-2-1主程序流程图
定时器中断流程图:
图3-2-2定时器中断程序流程图
Key中断程序流程图:
图3-2-3Key中断程序流程图
4系统测试与误差分析
4.1测试环境
时间:
2012年8月18日
温度:
28
4.2测试仪器
(1)FLUKE17B多功能数字万用表
(2)数字示波器TDS1002
(3)ARM(LM3S1138)
(4)直流稳压电源YB1731B3A
4.3测试方法
采用自下而上的调试方式,先进行模块测试程序的调试,待全部通过之后将所有的软件程序串接起来并结合硬件电路进行整体调试。
单片机系统模块测试从键盘读入键值,经单片机处理后,用数字示波器显示波形,用频率计测量频率、幅度,观察LCD显示是否正常,用万用表测量负载电阻值。
4.4测试数据
4.4.1频率测试:
输出波形幅度范围测试在幅度为3V的条件下,测得的输出幅度数据如表4-1所示:
表41频率测量校准数据
预置频率/kHz
测量频率/kHz
误差/%
正弦波
方波
三角波
正弦波
方波
三角波
0.1
0.097
0.102
0.101
3.000
2.000
1.000
0.5
0.507
0.491
0.512
1.400
1.800
2.400
1
0.982
1.020
1.025
0.180
2.000
2.500
2
2.017
1.993
2.052
0.850
0.350
2.600
3
2.993
3.041
3.014
0.233
1.367
1.333
4
4.017
3.994
3.991
0.425
0.150
0.225
5
4.981
4.994
5.000
1.900
0.120
0
6
6.113
5.991
6.002
1.883
0.150
0.033
7
7.124
6.984
7.001
1.771
0.229
0.014
8
8.177
7.893
8.209
2.213
2.675
2.613
9
9.000
8.996
9.016
0
0.111
0.178
10
10.123
10.298
9.916
1.230
2.980
3.510
4.4.2幅度测试:
输出波形幅度范围测试在频率为10kHz,负载电阻为100kΩ条件下,测得的输出幅度数据如表4-2所示:
表42频率测量校准数据
预置幅度/V
测量幅度/V
误差/%
正弦波
方波
三角波
正弦波
方波
三角波
0
0
0
0
0
0
0
0.1
0.101
0.100
0.982
1.000
0
1.800
0.2
0.203
0.201
0.197
1.500
0.500
1.500
0.5
0.495
0.513
0.502
1.000
2.600
0.400
1.0
0.997
0.994
1.027
0.300
0.600
2.700
1.1
1.109
1.100
1.003
0.818
0
0.273
1.5
1.508
1.496
1.497
0.533
0.267
0.200
2.0
2.001
2.006
2.000
0.050
0.300
0
2.5
2.503
2.498
2.499
0.120
0.080
0.040
2.8
2.798
2.799
2.814
0.071
0.036
0.500
2.9
2.900
2.905
2.899
0
0.172
0.035
3.0
3.000
3.017
2.989
0
0.567
0.367
4.5误差分析
4.5.1量化波形数据的误差分析:
由于RAM中存储的数据字长和D/A位数有限,所以D/A进行幅值量化时会产生幅值量化误差。
增加数据字长和D/A位数可以减小这种误差。
4.5.2D/A转换器的非线性引起的误差分析:
DAC0832的非理想特性包括:
差分、积分的非线性,D/A转换过程中的尖峰电流,转换速率受限(本设计采用DAC0832,上限工作频率1MHz)等。
同时由于D/A转换过程中不可避免的存在量化误差,所以产生的波形幅值与频率将会与设定的预期值形成一定的误差。
4.5.3后级运放产生的误差分析:
由于集成运放自身存在的输入失调电压和输入失调电流的影响,以及运放本身增益带宽积与上升速率的影响,在输入频率较高时,不可避免会出现相位失真。
由于通用板本身结构的限制,以及电路中两路信号的串扰等影响,都会使得系统存在一定的误差
4.5.4电源噪声:
这种随机噪声也会对输出波形产生一定的影响,使输出纹波增大。
为减弱这种噪声,一方面可以选择纹波小的电源,另一方面可以通过电源退耦以减小其影响。
5总结
经过测试,本系统实现了产生正弦波、方波、三角波三种周期性波形,以及用键盘输入编辑生成上述三种波形(同周期)的线性组合波形,以及由基波及其谐波(5次以下)线性组合的波形。
输出波形的频率范围为100Hz~10kHz;重复频率可调,频率步进间隔100Hz。
输出波形幅度范围0~5V(峰-峰值),可按步进0.1V(峰-峰值)调整。
具有LCD显示输出波形的类型、幅度和重复频率的功能。
具有波形存储和掉电保护功能,可存储掉电前用户编辑的波形和设置。
由于比赛时间有限,系统还有许多不足和待改善的地方,如加入语音播报功能使系统趋于人性化。
参考文献
[1]陈炳和.计算机控制系统基础.北京:
北京航天航空大学出版社,2001.
[2]谢自美.电子线路设计·实验·测试(第二版).武汉:
华中理工出版社,2000.
[3]黄志伟等.32位ARM微控制器系统设计与实践.北京:
北京航天航空大学出版社,2010.
[4]张菊鹏等.计算机硬件技术基础(第二版).北京:
清华大学出版社,2000.
[5]胡汉才.单片机原理及其接口技术(第2版).北京:
清华大学出版社,1997.
附录
1、单片机最小系统图:
2、各种波形图:
Figure1正弦波
Figure2三角波
Figure3方波
Figure4基波及其谐波复合
Figure5三种波复合
3、元器件明细表:
(1)单片机ARM(LM3S1138)实验板;
(2)LM324一个;
(3)电阻30kΩ、500Ω、20kΩ各一个;
(4)电容120pF一个;
(5)DAC0832一个;
(6)中文点阵LCD128*64一块;
(7)键盘8个;
(8)跳线、排线若干。
(9)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 波形 发生器 论文