基于EFM32TG840F16 MCU的室内甲醛检测仪设计
甲醛是一种重要的化工原料和有机溶剂,广泛使用于家庭装修的材料中。过量甲醛气体,将诱发疾病甚至致癌,直接危害着人们的身体健康和生命安全。本检测仪采用32 位超低功耗EFM32TG840F16 微处理器和高灵敏度甲醛传感器CH20/S-10,实现甲醛浓度的信号处理和采样,系统外接通讯接口及必要的扩展功能模块,构建智能化、多功能的检测系统。
1 系统硬件设计
甲醛检测仪硬件主要由单片机主控系统、甲醛传感器接口、液晶显示(LCD)、功能键盘、数据存储、打印和报警输出等功能模块构成。系统硬件结构框图(见图1)。
图1: 系统功能框图
该系统采用32 位EFM32TG840F16 单片机作为主控核心,内嵌16KB Flash 程序存储器和4KB RAM、多达160 段LCD 驱动器(最大8COM 驱动、支持动画、闪烁等各种特效)、8 通道/12 位 ADC(支持硬件过采样)、2 个USART(支持SPIUARTI2S)、1 个LEUART、1 个LESENSE(支持阻、感、容性信号检测)、3 个运放、硬件加解密AES、2 个12 位DAC 及大量的I/O 端口等,完全满足本甲醛检测仪的各项功能需求。该芯片主要特点是:低电压(1.85 ~ 3.8V)、低功耗( EM2 模式下仅有0.9uA)、 32 位指令、高性能(基于Cortex-M3 内核),具有极低的运行功耗、快速的唤醒时间、功能强大、高抗扰(未用引脚都是和MCU 内部断开的)、外设可以自主工作(主要得益于DMA 和PRS 外设反射系统)以及超节能(ADC:12bit,1Msps,仅需350uA;Analog Comparator:仅需100nA;LCD:本位功耗0.55uA;LEUART:9600 波特率下仅需150nA;AES:128/256bit 加/解密仅需54/75 个周期)、便于智能化和便携式等优点。而且齐全的配套开发工具比如开发板具有电流实时监控功能,可以定位代码位置,便于工程师及时优化代码以节能!
1.1 甲醛传感器接口模块
传感器接口模块由CH20/S-10 甲醛传感器、I/ V 转换器RCV420 等组成。甲醛传感器由甲醛探头和CH20 传感器构成。当室内甲醛气体被内部采样系统吸收后,产生与甲醛浓度成正比的电流值,由于单片机A/D 采样的是电压值,而被检测的是微量的电流值;因而需要将电流值放大并转换为相应的电压值。采用集成I/V 转换器RCV420,将电流值转换为对应的0 ~ 3.6V 电压, 送至 EFM32TG840F16 的A/D 转换接口ADC,实现对浓度信号的检测。单片机进行运算和处理,将处理结果及范围进行查表和分段线性化,完成传感器信号与浓度高低对应。系统中RCV420 具有精密运放和电阻网络功能,能将4 ~ 20mA 环路电流转换为 0 ~ 3.6V 电压, 在无外部调整的情况下,可用获得 86dB 的共模抑制比, 具有高性能及抗干扰能力。
1.2 数据存储与打印模块
在EFM32TG840F16 外扩展2KB 的E2PROM(也可用片内flash 模拟EEPROM),通过I2C 总线与EFM32TG840F16 数据口相连,用于存储采样来的甲醛浓度数据,以备打印机打印。打印机接口电路通过RS-232 串行口直接和微处理器相连,通过采用软件设定的方式打印出甲醛浓度值。
1.3 键盘与显示模块
系统外接键盘和LCD 显示设备,实现人机对话功能。键盘设置为3×3 阵列键盘,设有功能选择键、OK 键、报警确认及打印键,完成浓度显示、数据查询、打印及开关机功能。微处理器EFM32TG840F16 内含LCD 驱动电路,可驱动160 段的LCD,且超低功耗,特别适合便携式仪器仪表中使用。用户通过LCD 显示,读取检测浓度值、打印和设置相关功能等信息。
1.4 其它模块
本系统的供电电压为3V,采用两节电池供电,也可外接3V 直流电源。系统的时钟是外置晶振提供。为满足个性化需要,还增加蜂鸣器报警电路。
2 系统软件设计
在软件设计中采用模块化设计方法,使用嵌入式C 语言编写,在IAR 编译环境中进行。这不仅给程序的调试、修改提供很大方便,而且为今后功能的进一步扩展创造有利条件。
2.1 主程序设计
主程序是系统软件的核心,它通过调用各子程序便可实现系统功能。系统主程序结构框图(见图 2)。
图 2:主程序结构框图
系统上电后,进行初始化和中断处理操作,主要完成系统自检和复位。初始化完成后,开始采样浓度值,并判断是否有按键按下。如果有按键按下,则进行相应数据处理,并执行功能指令,然后在液晶显示屏上显示相应信息。如果没有按键按下,则显示当前实测浓度值,等待用户进行下一步操作,系统转入定时计时阶段。
2.2 低功耗中断子程序
为减小系统功耗,延长电池的使用时间,设计时考虑设备在较长时间段内处于待机状态时,应尽量降低功耗。系统设计低功耗中断子程序(见图3)
图3:低功耗中断子程序结构框图
这里采用一个定时器。当定时器大于0 时,系统处于开机状态
- “节能之星”EFM32应用方案——手持式激光测距仪(06-25)
- “节能之星”EFM32应用方案-手持式激光测距仪(07-27)
- 日置HIOKI 新产品LR8400-21数据记录仪应用案例(09-26)
- 基于MSP430F169的深海环境数据采集系统设计(04-02)
- 在MSP430F1611上 实现周期图谱分析及校正(06-30)
- 频宽、取样速率及奈奎斯特定理(09-14)