最新基于STM32的信号发生器设计Word文档下载推荐.docx
《最新基于STM32的信号发生器设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《最新基于STM32的信号发生器设计Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
按键应用的是独立按键,用来切换波形、时钟,幅值,频率以及占空比;
其频率的调解就是调节其中断间隔的时间,幅值就是调节其数字的大小;
为了波形的合成,采用的点的个数都是128个;
显示部分采用TFT液晶,实时显示其波形名称,幅值、频率以及占空比参数变化。
关键字:
信号发生器设计;
三相;
STM32;
DA转换
前言
信号发生器作为一种历史悠久的测量仪器,早在20年代电子设备刚出现时就产生了。
随着通信和雷达技术的发展,40年代出现了主要用于测试各种接收机的标准信号发生器,使得信号发生器从定性分析的测试仪器发展成定量分析的测量仪器。
同时还出现了可用来测量脉冲电路或作脉冲调制器的脉冲信号发生器。
自60年代以来信号发生器有了迅速的发展,出现了函数发生器。
这个时期的信号发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形。
自从70年代微处理器出现以后,利用微处理器、模数转换器和数模转换器,硬件和软件使信号发生器的功能扩大,产生比较复杂的波形。
这时期的信号发生器多以软件为主,实质是采用微处理器对D/A的程序控制,就可以得到各种简单的波形。
在80年代以后,数字技术日益成熟,信号发生器绝大部分不再使用机械驱动而采用数字电路,从一个频率基准有数字合成电路产生可变频率信号。
90年代末出现了集中真正高性能的函数信号发生器,HP公司推出了型号为HP770S的信号模拟装置系统,它是由HP8770A任意波形数字化和HP1770A波形发生软件组成。
信号发生器技术发展至今,引导技术潮流的仍是国外的几大仪器公司,如日本横河、Agilent、Tektronix等。
美国的FLUKE公司的FLUKE-25型函数发生器是现有的测试仪器中最具多样性功能的几种仪器之一,它和频率计数器组合在一起,在任何条件下都可以给出很高的波形质量,能给出低失真的正弦波和三角波,还能给出过冲很小的快沿方波,其最高频率可达到5MHz,最大输出幅度可达到10Vpp。
国内也有不少公司已经有了类似的仪器。
如南京盛普仪器科技有限公司的SPF120DDS信号发生器,华高仪器生产的HG1600H型数字合成函数\任意波形信号发生器。
国内信号发生器起步晚,但发展至今,已经渐渐跟上国际的脚步,能够利用高新技术开发出达到国际水平的高性能多功能信号发生器。
信号发生器在生产实践和科技领域中有着广泛的应用,各种波形曲线均可用三角函数方程式来表达。
函数信号发生器是各种测试和实验过程中不可缺少的工具,在通信、测量、雷达、控制教学等领域应用十分广泛。
不论是在生产、科研还是在教学上,信号发生器都是电子工程师信号仿真实验的最佳工具。
而且,信号发生器的设计方法多,设计技术也越来越先进,随着我国经济和科技的发展,对对应的测试仪器和测试手段也提出了更高的要求,信号发生器已成为测试仪器中至关重要的一类,因此,开发信号发生器具有重大意义。
1设计任务
1.1波形发生器系统的设计指标
设计完成一个频率振幅可调的正弦波、方波和三角波信号发生器。
1.2基本要求
(1)根据ADC的值(8位)来设定输出信号的幅值,幅值范围0-3.3V,设定的幅值显示在LCD上。
(2)输出信号的频率范围为100Hz-1KHz,128个点。
(3)可通过按键或触摸笔切换输出信号类型。
2设计方案
2.1信号产生部分
方案一:
采用模拟分立元件或单片压控函数发生器,可以产生正弦波、方波、三角波,通过调整外部元件可以改变输出频率,但采用模拟元器件由于元件分散性太大,因而产生频率稳定性较差,精度低,地抗干扰能力低,成本高,而且灵活心性较差,不能实现任意波形以及波形运算输出等智能化的功能。
方案二:
使用集成函数发生器芯片ICL8038。
芯片ICL8032能输出方波、三角波、正弦波和锯齿波四种不同的波形,将他作为信号发生器。
它是电压控制频率的集成芯片,失真度很低。
可输入不同的外部电压来实现不同的频率输出。
为了达到数控的目的,可用高度的DAC来输出电压以控制正弦波的频率。
方案三:
采用锁相式频率合成方案,锁相式频率合成一个高稳定度和精确度的大量离散技术,他在一定程度上解决了既要频率稳定精确又要频率在较大的范围内可调的矛盾,但是频率受VCO可便频率范围的影响,高低频率比不可能做的很高,而且只能产生正弦波或方波。
方案四:
直接数字频率合成技术(DDS)。
DDS是一种纯数字化方法。
它现将所需正弦波一个周期的离散样点的幅值数字量存入ROM中,然后按一定的地址间隔读出,并经DA转换器形成模拟正弦波,再经低通滤波器得到质量较好的信号。
方案五:
利用函数将波形的点数据保存在芯片的RAM中,根据所要的波形的频率计算出它的周期,经计算得到在定时器定时时间固定的前提下产生一个完整的波形所需要的输出的点数,这样数据指针可以根据点数的数量来进行移动,得到频率准确、切换快速的信号。
VCO不能实现稳定频率信号的输出并且难于数字控制。
并且电容、电阻参数随温度等其他因素的影响,频率稳定度以及电路的稳定度都较低,实现也比较复杂,不予采纳。
虽然ICL8038可很好的实现频率输出的控制,但查看ICL8038的设计资料可知频率输出范闹为0.01Hz~1kHz不能达到题目的要求,故不予选用。
PLL方案和DDS方案都能实现100Hz~1KHz的稳定的信号输出,.且能达到较小的频率步进,但是PLL的动态特性却很差,在频率改变时,环路从小稳定到稳定的过程有时间问延迟。
相比较而言,DDS的频率输出范围一般低于PLL,且杂散也大于PLL方案,但DDS信号源具有输出频率稳定度高、精度更高、分辨率更高且易于程控等优点,且频率改变不存在失调过程,尽管有杂散干扰,只需在输出级加滤波器仍可以得到质量很好的波形。
而方案五集中了上述四个方案的各个优点,因此采用方案五来实现波形信号的产生。
2.2幅度进行调整部分
用高速模拟乘法器实现
采用AD835高速模拟乘法器,来实现模拟调制。
模拟乘法器AD835的-3dB截止频率为250MHz,能够满足题日的要求。
但是AD835的差分输入范围仅为±
1V,因此必须对输入信号进行预处理,这样在增加硬件的同时,又加大了设计的难度。
方案二:
采用高速的D/A转换器
在STM32f107中集成着一个高速的D/A转换器,我们可以直接在软件中设置一个幅度的参数来改变输出波形的幅度大小。
综上所述,采用方案二,虽然增加了软件的难度,延迟了波形的输出时问,但是可以不用外加硬件拓展,节省了成本。
2.3对频率调整部分
通过在存储芯片ROM中保存不同频率信号的信号发生点数,在频率切换时调用ROM中所存储的不同点数模块来实现频率的切换。
在存储芯片RAM中保存由软件实时产生的波形点数,通过所取的点数的不同来决定发生的波形的频率。
由于设计中的信号要进行不断的改变,因此波形的数据不能存储在ROM中,应该存储RAM中,因此采用方案二的设计方法。
3系统整体设计
3.1系统总框图
如图1所示为系统总框图。
图1系统总框图
3.2各模块功能
3.2.1波形产生电路
通过软件将波形数据存储到RAM当中去,再把这些数据输送到D/A转换器进行转换得到模拟波形。
3.2.2按键部分
用STM32F107开发板上自身带有的键盘得到键值,通过中断服务程序将键值信息传给控制芯片。
3.2.3显示部分
波形直接在示波器上显示,波形的中间调试参数在液晶屏上显示。
液晶原题图如图2所示。
图2液晶原题图
3.2.4DAC转换器
数字/模拟转换模块(DAC)是12位数字输入,电压输出的数字/模拟转换器。
DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。
DAC工作在12位模式时,数据可以设置成左对齐或右对齐。
DAC模块有2个输出通道,每个通道都有单独的转换器。
在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。
DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。
DAC主要特征
●2个DAC转换器:
每个转换器对应1个输出通道
●8位或者12位单调输出
●12位模式下数据左对齐或者右对齐
●同步更新功能
●噪声波形生成
●三角波形生成
●双DAC通道同时或者分别转换
●每个通道都有DMA功能
●外部触发转换
●输入参考电压VREF+
DAC输出电压:
数字输入经过DAC被线性地转换为模拟电压输出,其范围为0到VREF+。
任一DAC通道引脚上的输出电压满足下面的关系:
DAC输出=VREFx(DOR/4095)
单个DAC通道的框图如下图3所示。
图3单个DAC通道的框图
4各个模块的实现及分析
4.1正弦波的产生
本设计中信号的产生直接用STM32F107芯片上集成的D/A转换器和软件的结合来生成。
波形的信号数据采用了函数计算的方法来取得:
Y=sin(N)(4-1)
其中,N表示所要取得的点数的多少。
在设计中我选择N=128,即一个完整的基本的正弦信号有128个数据信号点组成。
将数据存储到控制芯片STM32F107的RAM当中,根据所要的频率来取得信号数据的多少,点数多少的计算如下:
N=T/2t(4-2)
其中,N表示点数,T表示所要产生的波形信号的周期,t表示定时器的时问长短,从RAM中取得点数的间隔为:
M=128/N(4-3)
其中M表示在RAM中的表格取得点数的间隔,根据不同的间隔的大小决定产生一个完整的波形信号所要的数据多少不同。
设计中要求信号的最高产生的频率为1KHZ,根据条奎斯特定理,采样的频率最少要为所要信号的频率的两倍,但是为了更好的保证信号的完整输出,我们至少要让它采样10个点才能输出完整波形,就要求采样的频率为他的10倍即10KHZ.采样时间的大小为100us。
4.2三角波的产生
在设计中,三角波的产生就直接利用定时器定时时间的长短来控制信号数据的输出,信号数据从一个较低(或高)的位置开始按照一定的规律步进,当其达到一个高度时再按照相同的步进下降到原来的数据大小,如此反复的输出就构成了三角波模拟信号的输出。
4.3方波的产生
在设计中,方波的产生由大小不同的两个信号数据交替输出形成,每个信号数据输出的时间长短根据所要点信号频率来决定。
4.4幅度的控制
在设计中,为了能使波形在示波器中显示,这样就要设定好波形的幅度,在设计时我把波形的幅度控制在128之内,才能很好的显示波形。
同时为了改变幅度的大小,我设置了一个参数直接与所取得的信号数据相乘,这就改变了信号数据的大小,也就使得D/A转换时的数据大小产生变化,从而体现在输出的信