微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于EFM32TG840F16 MCU的室内甲醛检测仪设计

基于EFM32TG840F16 MCU的室内甲醛检测仪设计

时间:04-24 来源:互联网 点击:

;当定时器倒数到0 时,系统自动进入低功耗模式,并关闭LCD 模块和A/D 模块。其中定时器是通过软件对控制寄存器进行设置实现的。具体操作是这样:开机时,对定时器初始化一个大于0 的值,比如60,并且在每按一次有效键时,系统重新初始化这个值。因此,当没有按任何有效键时,60s 后就会自动进入休眠状态,从而实现降耗目的。在休眠期间,若有按键按下,微处理器响应中断,系统退出休眠状态,返回到正常工作状态。

2.3 采样数据处理子程序

为提高检测精度,采样数据处理软件设计是关键。系统采用采样数据排队与中值滤波法。数据排队就是在给定的数据暂存区内不断地用最新数据取代最早数据的过程;利用软件进行数据排队具有通用性和灵活性。原理(见图4)。


图4:采样数据更新排队的双倍暂存区扩展法

由图4 可见, 将暂存区的空间扩大为需要保存数据空间的2 倍, 并将暂存区等分为前后相连的2 个区, 每个区的长度与需保存数据长度相等。当前采样得到的一组新数据同时存入2 个区的对应位置,这样2 组相同采样数据之间刚好间隔1 个区的长度, 间隔内的全部数据连同最后1 个最新数据即为当前排队结果。以后每组新采样数据依次向后存入暂存区, 存满后再从头开始。每次采样周期中完成相应的排队更新任务后记下当前队列的首(或末)地址作为指针并保存,供处理程序取数时使用,这样一来就满足实时排序的要求。

对排队后的数据采取中位值滤波算法。算法的具体实现过程:取N 个连续采样数据,并按照递增或递减顺序排列,取中间值作为本次采样值。中位值滤波算法能有效地克服因偶然因素引起的干扰或波动而产生的误差。即提高系统的检测精度。

3 结束语

本甲醛检测仪采用EFM32TG840F16 单片机作为核心控制单元,电路结构简单、外设功能模块丰富,功耗低,待机时间长,支持IAP 功能,软件升级方便,另外该MCU 性能强劲,可升级空间极大。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top