基于STM32的便携式示波器的设计.pdf
基于STM32的便携式示波器的设计
本设计是一种简易数字示波器,以STM32单片机作为控制核心,经过按键
设置相应档位后,被测信号经过与处理电路、A/D转换电路、采样电路后再经过
数据处理最后显示实时波形。测试结果表明本课题设计的便携式示波器系统稳
定、波形清晰、可靠性高,而且本课题设计的便携式示波器成本低,具有很高的
实用价值。
标签:便携式示波器;STM32;预处理电路;A/D转换;实时采样
引言
示波器的应用与日俱增。对硬件开发来说,测量信号的幅度、频率等信息都
离不开示波器,但是对于非盈利的教学组织和广大电子爱好者来说高精度的示波
器非常昂贵[1]。为满足众多电子设计爱好者由于高精度示波器昂贵的价格所带
来的困扰,设计了一种基于STM32的便携式示波器。
1便携式数字示波器的工作原理
本设计硬件电路部分由信号调理电路、主控芯片、按键选择电路组成,显示
部分为LCD液晶显示电路。本设计以STM32为控制核心,首先将被测信号离散
化,之后将离散数据暂存于FIFO中,单片机从FIFO中读取数据,然后经过一
系列数据处理将数据输出在LCD显示器上,实现被测信号的波形显示。
2硬件设计
2.1前端信号的处理
本模块具有两大功能,一是通过拨码开关切换测试档位;二是信号波形的处
理。
被测信号分为两种:一种是直流信号,另一种是交流信号。对于选择直流信
号还是交流信号是通过拨码开关进行选择的。首先,判定信号是直流还是交流;
然后通过调整拨码开关将示波器测试模式调整至合适测试档位。测量交流信号
时,信号经过电容进入模拟通道;测量直流信号时,信号直接进入模拟通道。
信号波形处理电路主要由信号抬升电路和阻抗变换电路两部分组成。信号抬
升电路作用是使信号在垂直方向上处于A/D转换器的输入范围[3]。但STM32属
于数字器件,不能直接对模拟信号进行处理,所以需要对信号进行离散化处理
[4]。
2.2信号的采集
信号的采集部分采用BB公司的8位AD,是本设计的核心部分,经过AD
采集的数据不是直接发送至MCU,而是首先发送到AD与MCU之间的FIFO,
以便起到数据缓冲的作用。而在FIFO寻址时,由于FIFO没有地址线,所以使
用地址指针增减的方式来进行寻址操作。AD和FIFO的同步时钟均来源于单片
机的ALE引脚,这样保障了FIFO和AD的时钟同步。
2.3液晶显示
本设计的波形显示模块采用8位并行数據处理的2.4寸LCD显示屏,时域
分量体现在横轴上,幅值体现在纵轴上[7]。液晶屏有4个编程端口:RS、RW、
EN和PSB。
2.4按键电路
设置了1个按键控制波形的run和stop,2个独立按键设置幅值和时间轴的
大小,当MCU检测到按键被按下时,软件中相应的参数值会发生相应地变化,
从而改变了波形的大小。
本设计横轴方向能够设置三档扫描速度:10us/div,20us/div,40us/div,纵
轴方向能够设置三档垂直灵敏度:10mV/div、0.1mV、1V/div,此外还可以设置
1倍、2倍、5倍的不同档位。
3软件部分
3.1流程图的设计
总体设计流程图如图1所示。
3.2测量频率流程图
本设计采用计数法测量频率。基本思想就是利用计数器累加的方法,测量单
位时间内被测信号的上升沿数量,将1s等分成20个50ms,防止计数器产生溢
出,测出信号频率[8]。
3.3测试结果
测试方式如下:
(1)测试频率为3KHZ,幅值为3.3V的方波信号。示波器输出波形与实际
波形基本相符。显示幅值为3.4V,频率大致为3KHZ。(2)测试频率为10KHZ,
幅值为5V的正弦信号。输出波形也与实际波形相符。显示幅值为5.1V,频率大
致为10KHZ。两次测试结果均与被测信号基本相符,误差较小。
4结束语
本文设计的基于STM32的便携式数字示波器,通过对软件和硬件的优化,
经测试可以达到所要求的性能指标,所设计的便携式数字示波器运行稳定、可靠。
此外,该数