一种便携式多参数环境监测仪的设计
一字符发送完,TXWake位被自动清除,引起发送中断UTXIFG。在串口发送中断服务程序内,用户可依次发送完整数据块,再重置RS485接收状态。
2.5 电源控制
本仪器采用1节3.6V/4Ah锂离子电池。为保证多路供电及模拟信号测量的精度,设计了以ADP3302AR1双低压差线性电源稳压芯片(U3)为主的电源控制电路,完成以下功能;
·电源通断。按键盘“ON”键,U3的SD1脚为高电平,OUT1脚输出仪器所需主电源Vcc,单片机P1.5脚送来高电平互锁信号,使“ON”键松开后,OUT1维持输出;按键盘“OFF”键,单片机P1.5脚送出低电平,关断OUT1脚输出;U3的OUT2脚输出模拟测量电路所需的3V,测量电源可单独切合,由单片机P2.0脚的电平控制。
·电池电压监测。U3的加载电压应不低于3V,否则不能正常工作。单片机的片内比较器A有多个基准,选择其中之一0.5×Vcc=1.5V,电池正极通过分压电阻直连比较器输入脚CA0。当电池电压低于设定值时,触发比较器A中断,在中断服务程序内,驱动LCD告警显示,提示用户对电流进行充电(使用外部充电适配器)。
·自动关机。每次测试完毕,如果不再操作,则通过定时器比较/捕获0中断计时;5分钟后,单片机P1.5脚送出低电平,OUT1脚输出0V,从而切断仪器电源实现自动关机。
3 软件设计
检测仪的软件用MSP430汇编语言编制。为了方便程序调度和提高可靠性,软件采用模块化结构,主要由初始化程序、主程序、子程序、参数表格等组成。
3.1软件功能与特点
单片机系统上电后,进入初始化程序,完成片内各模块的设置、清LCD存储器、端口设定等初始化工作,然后转入主程序,开启中断,循环设置低功耗模式并执行空操作。
本软件设计的一大特点是采用中断事件驱动技术,其目的在于降低功耗。在主程序设置LPM0低功耗模式(55μA)后,CPU即补禁止,外围模块维持活动,并等待各类中断事件。如有中断,CPU被唤醒并执行各种中断服务子程序完成事件处理。
每次执行完中断服务子程序返回,在主程序中又重置LPM0低功耗模式,并等待下一个中断事件的到来,如此往复,可使系统多数时间处于低功耗运行。
本设计另一特点是利用MSP430F437的高效查表功能,编制了气体浓度测量的非线性校正和湿度补偿表格,极大地提高了程序运行速度和采集精度。表格的生成是在有限个数据基础上,通过拉格朗日插值进行曲线拟合[3]获得。具体步骤如下:
(1)在湿度5%RH情况下,测量典型气敏传感器在不同气体浓度点C时,ADC12转换存储寄存器中对应的数字量结果Nc。测试中,在10~300ppm范围内等距离取10个浓度点;
(2)使用曲线拟合的方法,并结合关系式(3),拟合出5%RH时数字量Nc与气体浓度C间的连续曲线,将曲线按1ppm的间隔离散化后,存入段25中;
(3)分别在20%RH、35%RH、50%RH、65%RH、80%RH、95%RH的湿度下,重复上述测量与数据处理过程,形成6条不同湿度下的Nc-C的非线性曲线,存在段26~31中。
需要注意:正常时采样得到数字量Nc和当前湿度值后,先查该湿度所在范围对应的上下两条曲线,即根据Nc并使用线性插值得到上下两个气体浓度值,再根据当前湿度并使用线性插值得到湿度补偿后的最终气体浓度值。
3.2 软件流程举例
本检测仪的程序众多。限于篇幅,仅介绍有特色的Flash数据保存于程序以及较为关键的ADC12子程序。
MSP430F437可通过JTAG接口或片内BOOT ROM下载调试修改程序,甚至允许用户程序在运行中将采集处理的数据快速安全地保存到Flash存储器中,而无须任何外接器件。数据保存要用快速的段写入方法和写字节序列模式,写入电流小(3mA),写入速度快(≤25ms/512字节,远超过串行EEPROM的页写速度5ms/16字节),10万写入次数,100年数据保存。每次采集处理完毕,即将16字节/批数据“批号-时间-环境参数”存入段32~63。图3为16字节数据存入的程序框图,其中Lock、Busy、SEG WRT、WRT、Wait是Flash控制寄存器内涉及编程的各控制位或状态位。
ADC12子程序用于环境参数测量。当按下测量键或采样时间到,定时器A的OUT1启动序列通道单次转换,ADC12自行按A0~A3的采样顺序循环采集各环境参数,并将转换结果保存到存储寄存器ADC12MEM0~ADC12MEM11中。序列转换完成后,将置位ADC12中断请求标志ADCIFG。
单片机响应中断进入ADC12子程序后,先关闭测量电源以降低功耗,再读取存储寄存器ADC12MEM0~ADC12MEM11中的转换结果,并使用中值滤波得到各环境参数对应的测量数字值。结合关系式(1)(2)(4)依次计算温度、湿度、光照度的最终结果;对于气体浓
- 一种准确测量便携式设备电池剩余电量的方法(05-24)
- 自制便携式虚拟仪器的一种快速实现方法 (01-04)
- 使用图形化系统设计开发新颖的便携式智能温室(01-27)
- 兆欧表的正确使用及维护(07-26)
- 基于便携式微电脑的多参数生理监护仪研制(07-28)
- 便携式低功耗雷达导航仪智能测控系统(08-22)