峰值检测示波器的设计

2014-03-21 12:05徐正明石晓晶
仪表技术与传感器 2014年4期
关键词:示波器扇区字节

徐正明,石晓晶

(南京理工大学机械工程学院,江苏南京 210094)

0 引言

峰值信号在工业检测中的地位越来越重要,例如检测某器械受损的峰值压力、某仪器工作时产生的峰值磁场强度,确定某芯片正常工作的峰值温度等[1-2]。传统的峰值检测仪只显示检测到的峰值信号,这不便于观察和分析仪器电路的工作情况,或者使用传统的示波器观察,但它携带不方便,价格昂贵。为此介绍一种基于STM32F107微控制器的峰值检测示波器,它能够将峰值信号采集的全过程实时显示在3.2寸TFT液晶显示器上,并由SD卡大容量地存储波形。

1 峰值检测示波器总体结构设计

峰值检测示波器总体结构设计框图如图1所示,选用基于CORTEX M3核心的STM32F107作为仪器的微控制器,并使用了内部的A/D转换模块、SysTick定时器和DMA控制器。3.2寸的TFT液晶显示器加上3×2行列式键盘为仪器提供了良好的人机交互界面,SD卡为仪器提供了大容量存储。采集前,选择合适的采样时间,再将处理后的信号通过限压保护电路进入微控制器内部A/D转换电路,由触发按钮启动第一次A/D转换,转换得到的数据通过DMA方式传输,处理后实时显示在TFT显示器上。连续两次采集的时间间隔主要由SysTick精确延时,当采集到峰值后可按下暂停按钮,自动存储最近采集的300次波形数据,并可以通过上翻和下翻按钮回看波形。

图1 峰值检测示波器总体结构设计框图

2 A/D转换

STM32F107内部的ADC是一种逐次逼近式模拟数字转换器,它的分辨率为12位,最快转换速度为1 μs,可采集0~3.6 V的电压。由于该仪器采用3.3 V电压供电,故输入电压范围为0~3.3 V,若输入电压超过3.3 V,则发光二极管以闪烁方式报警提示,且显示器将在超限电压值处作红色标志。A/D转换的流程图如图2所示。

图2 A/D转换流程图

使用DMA方式传输数据,减轻了CPU的负担,提高了系统的工作效率,为快速、高性能的ADC提供了通道。DMA初始化主要包括选择DMA通道,定义DMA对应的外设基和存储基地址,确定传输数据的来源为和目的地,设定缓存大小,转换模式和优先级等等。ADC初始化主要包括设置ADC工作模式,设定A/D转换模式,定义触发模式,规定ADC数据对齐方式,配置规则转换的通道数目,复位校准寄存器等。

峰值检测示波器的采样时间主要由ADC总转换时间TC和SysTick延时时间TS决定,TC由ADC每个通道设定的采样时间TC1和A/D转换时间TC2决定。故采样时间T公式如下:

T=TC1+TC2+TS

(1)

TC1值越大,A/D转换的结果越稳定。该示波器外部晶振为8 MHz,9倍频,系统时钟为72 MHz,每个通道设定的采样时间为55.5个周期,A/D转换时间为12.5个周期。由于ADC驱动频率最高为14 MHz,因此时钟频率是14的整数倍时,才能得到最高的频率,故Tc值约为5.67 μs.采样时间通过采样时间选择按钮循环设定,分为100 μs、500 μs、1 ms、10 ms、100 ms和1 s 6个档次。SysTick延时初值由式(1)和峰值检测示波器的采样时间计算得出。连续转换开始后,ADC转换值通过DMA方式不断更新,由于DMA通道传输无须CPU干扰,由硬件自己完成,故每次延时时间到,程序只需要实时显示最新采集得到的电压值。

3 TFT液晶显示

TFT LCD选择ILI9320控制器,它是一款带有26万色的单芯片SoC驱动的晶体管显示器,320×240的分辨率,包括720路源极驱动以及320路的栅极驱动,自带有显存,容量为172 800字节。由于STM32F107芯片不支持FSMC,所以ILI9320控制模块与微处理器之间的接口为“i80-system”接口。为了提高工作效率,峰值检测示波器采用16位位宽的总线实现65K色,一次性完成颜色数据的传输任务[3]。

为了使波形连续显示,界面没有直接使用时间作为横坐标,而是用采集点间接换算出时间。将横坐标分成3个可见大格,共300个小格,每一个小格为一个采样点,若采样时间为10 ms,则每一大格时间为1 s.这种方法相对于传统的插值算法的优点是:运算简单,数据可靠,显示速度快,时间轴连续,适用于对时间要求不高的峰值检测中[4]。但它对采样时间的选择要求较高,所以采集前需要对输入信号有一定的了解,或者可以通过预设值采样时间获得波形,分析后再确定采样时间。纵坐标y确定公式如下:

y=236-V·236/4 095

(2)

式中:236是指将纵坐标分为236个小格,每一小格对应一个分辨率;V是ADC采集得到的数据,此处已将数据显示在坐标轴第一象限内。纵坐标相应的电压值Y公式如下:

Y=(236-y)·3.3/236

(3)

式中Y的单位为V.

由于屏幕分辨率的限制,该示波器若超过300次还未采集到峰值电压,界面将从屏幕左边继续显示当前采集值,之前的显示暂不覆盖,留作检测完成后分析,但查看波形时,只显示最近采集的300次波形数据。显示软件设计流程图如图3所示。

图3 显示软件设计流程图

ILI9320初始化主要包括配置管脚、开内部振荡器、设置GRAM的更新方向、行列地址及垂直和水平RAM地址位置等等。清屏是通过将屏幕所有点颜色设置成白色完成的。

4 SD卡存储

峰值检测示波器采用SD卡存储数据,数据块的长度设置为512字节,一个标准扇区大小,容量并不固定,可根据实际情况选择。软件初始化时,可根据卡的容量计算出最大存储波形的个数。考虑到SPI模式简单易用、兼容性好、便于和微控制器连接通信,该示波器使用SPI模式[5-6]。

由于单块写操作数据块的长度只能是512字节,故在读或写操作时,将512字节数据整体读出或写入。检测到峰值后,最近采集的300次数据以十六进制形式存储在SD卡的2个扇区内,第一个扇区的前8个字节固定为此次检测的采样时间和检测到峰值的实时时间。扇区0专门用来保存最近一个波形存储的首扇区号及当前存储波形个数,便于查看历史存储波形。

5 实验结果

该次实验的对象为某医疗器械,它正常工作时将产生脉冲磁场,传感器输出的信号经过调理且已限制在3.3 V内,采样时间选择10 ms.实验结果如图4,横坐标每一大格为1 s,纵坐标每一大格为1 V,采集到的峰值电压为2.15 V,将它与理论值作对比,两者十分接近,实现了峰值信号采集的实时显示,显示的波形有利于进一步分析该医疗器械的工作状态。

6 结束语

峰值检测示波器是基于STM32F107内部

图4 峰值检测示波器实验结果图

ADC单通道设计的,在此思想上,也可以设计通道更多、精度更高、功能更全的峰值检测示波器。由于它开发成本低廉,体积较小,非常适合工业现场峰值检测工作,例如冶金、冶铁时,测试脉冲磁场强度。除此以外,它还可以当作一般示波器采集波形,在下位机就可以实时、准确获取波形。

参考文献:

[1]赵建敏,李琦.工业通用A/D采集模块的设计与实现.仪表技术与传感器,2012 (12):21-23.

[2]邵珠超,吴强,马梅,等.一种数字便携式示波器的软硬件设计.仪表技术,2012 (12):51-54.

[3]周富相,陈德毅,刘培国,等.基于STM32的数字示波器设计与实现.山西电子技术,2011(2):8-10.

[4]丁昊,宋杰,关键.基于TFT彩屏液晶的便携数字存储示波器.现代电子技术,2010(18):166-169.

[5]孙国杰,吴长奇.基于大容量存储卡数据采集器开发研究.仪表技术与传感器,2010(10):72-74.

[6]韩辉,丛培田,郭颖.基于SD卡的多通道数据采集系统.工业仪表与自动化装置,2010 (1):65-67.

猜你喜欢
示波器扇区字节
分阶段调整增加扇区通行能力策略
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
管制扇区复杂网络特性与抗毁性分析
U盘故障排除经验谈
一款教学示波器的Y通道设计与实现
可携带式虚拟双踪示波器
基于TEGRA K1的实时信号处理示波器的设计
基于贝叶斯估计的短时空域扇区交通流量预测