【摘要】本文介绍了以MSP430F1611单片机为控制器的低功耗多参数采集仪表的硬件设计及软件流程,该仪表通过数字传感器实现外界温、湿度,光照度,大气压强等参数的采集,通过NXP的PCA8538COG段码液晶模块显示输出,同时可通过串口实现存储数据的上传功能,具备实时时钟、电池电压监测、低功耗待机模式等功能。该仪表功耗低、体积小、数字化程度较高,低成本,便于携带;可应用到机房环境监测、智能温室、小型气象站等领域,有很好的应用前景。
【关键词】单片机;参数采集;低功耗仪表;COG段码液晶
1.引言
参数采集在环境监测、智能家居、气象监测等系统中起到非常重要的作用,在实际应用中,参数采集装置需要长时间对区域内的多个参数进行监测、记录,且常采用电池供电;这就要求参数采集装置能够靠电池长时间工作,并实现多种参数的自动采集和记录,同时具有显示输出和通信功能,以便于技术人员对数据进行读取和分析。本文介绍了一种以MSP430单片机为核心的低功耗多参数采集仪表,该仪表具备功耗低、结构简单、体积小、数字化程度高、低成本等特点。
2.仪表的硬件部分设计
2.1 硬件结构
仪表由控制单元、参数采集单元、COG段码液晶显示单元、键盘控制单元、时钟模块、数据存储单元、串行通信模块、电压监测及电源模块组成。硬件框图如图1所示。
图1 仪表的硬件结构框图
2.2 控制单元
核心控制部分采用TI公司的MSP430F1611超低功耗混合信号处理器;MSP430系列处理器是一个16位的、具有精简指令集(RISC)的、超低功耗的混合型单片机,具有丰富的片内外设。MSP430F1611的工作电压范围为1.8V~3.6V,5种低功耗模式,在节能模式下仅耗电0.2μA,活动状态(1MHz,2.2V)最大330μA。内部集成了如:基础时钟模块(包括1个数控振荡器(DCO)和2个晶体振荡器);看门狗定时器(Watchdog Timer);带有2个捕捉/比较寄存器的16位定时器Timer A、Timer B;2个具有中断功能的8位并行端口:P1与P2;4个8位并行端口:P3, P4, P5与P6;1个8路12位A/D转换器;2通道串行通信接口;1个硬件乘法器;48KB+256B的FLASH,10KB RAM[1]。选用该控制器可大大减少外围元件的数目、减小电路板面积以及降低系统的成本。设计中为了进一步降低微控制器的功耗,模块采用低频外部晶体振荡器,工作电压为3.3V。在待机模式下,控制器关闭所有外围模块,进入低功耗模式LPM3。
2.3 参数采集单元
参数采集单元是仪表的重要部分,作为数据采集前端,负责对外界参数进行测量、转换。各传感器单元采用数字化接口与控制器的I/O连接,控制器通过I/O端口对传感器进行控制和参数测量转换结果的读取;该部分包括温、湿度采集单元,光照度采集单元及大气压强采集单元。由于各模块都采用了数字接口,其电路连接简单,传感器的互换性好;电路设计时在满足参数测量要求的情况下,采集单元均选用低功耗的传感器,以降低整体功耗。
温、湿度采集单元使用HTU20D低功耗数字温湿度传感器,工作电压1.5~3.6V,休眠模式下电流仅为0.02?A 通过I?C总线与单片机I/O口连接,实现对外界环境温湿度的采集,12位的测量精度可以达到温度0.04℃,相对湿度0.04%。
光照度采集单元使用BH1750数字光照度传感器,通过I?C接口与单片机连接;传感器在掉电模式下的电流为1?A,测量范围在1~65535 lx,可以满足实际测量要求。
大气压强采集单元使用BMP085数字气压传感器,BMP085是一款高精度、超低能耗的压力传感器,绝对精度可以达到0.03hPa,并且耗电极低,只有3?A;BMP085通过I?C总线直接与控制器相连,其测压范围在300~1100hPa。
采集单元电路原理图如图2所示。
2.4 显示单元
显示部分采用了NXP的PCA8538段码液晶模块,PCA8538是NXP公司在2013年7月推出的一款低功耗覆晶玻璃(Chip-on Glass,简称COG)LCD段驱动器。COG技术的应用大大减小LCD模块的体积,降低LCD显示器成本,简化了PCB布局,提高了可升级性,增加了显示的灵活性和可靠性;PCA8538驱动器集成了内部充电泵,通过其内置电容可在片内产生LCD驱动电压,还提供LCD电源电压的可编程温度补偿,确保整个温度范围内具有最佳且稳定的对比度。驱动器工作电压较宽(2.5V~5.5V),可驱动最多114个7段数字字符或最多57个14段字母数字字符或任何高达918像素的图形[3]。液晶模块可通过双线I?C总线或四线式双向SPI总线与控制器连接,功耗低,关闭显示模式下的工作电流仅为8uA,工作温度范围广(-40℃~+105℃),选用该模块完全满足本设计的显示要求。设计中显示器接口采用I?C总线模式与单片机I/O连接,其接口电路及显示效果图如图3所示,其应用测量显示效果如图4所示。
2.5 键盘控制单元
键盘单元包括电源开关和功能按键组成,电源按键控制整个系统的供电;功能键由四个按键构成,K1~K4键,各按键的功能如下:K1键实现温湿度实时测量并将结果通过显示屏输出;K2键实现光照度的测量和显示;K3键实现大气压的测量和显示;K4键为辅助功能键,按K4键进入辅助模式,该模式下按K1进入时钟调整模式,按K2键自动采集存储开关设定,按K3键进入数据上传模式,通过串口将存储的数据上传到PC机,按K4键返回时钟显示界面。
2.6 时钟及存储模块
时钟芯片采用低功耗CMOS实时时钟/日历芯片PCF8563;该芯片工作电压范围宽(1.0~5.5V),超低的功耗(典型电流0.25uA),具有四种报警和定时功能,I2C总线接口最大速度为400kbits/s;每次读写数据后,其内嵌的字地址寄存器器会自动产生增量,方便数据读写操作[2]。本设计中纽扣电池在仪表关机后为时钟芯片提供电能,以保证时钟的准确性,电路原理图如图5所示。
存储模块用于存储各传感器采集的参数值,本设计中使用了AT24LC256串行CMOS E2PROM芯片,工作电压范围2.5V~5.5V;器件功耗低,存储容量为32K字节,能够满足设计要求;芯片通过I?C总线接口与控制器连接,数据读写速度快,传输频率400kHz(见图5)。
2.7 电源、串口通信及监测等模块
仪表使用9V电池供电,电源模块实现电压变换,为仪表各模块提供所需的电压;串口通信模块可以实现仪表与PC的通信,通过串口把存储的数据发送给PC机;电压的监测使用单片机内置12位ADC模块,对电池电压进行采集,当电池电压低于设定值时液晶显示提示;蜂鸣器和LED指示灯用于开机自检和不同模式下的声光提示。
3.仪表的软件设计
仪表系统的软件工作流程,按下电源键后,系统上电开机自检,液晶显示屏全亮,蜂鸣器短鸣;显示屏显示系统时间、日期,等待按键操作;1分钟内若无按键操作,显示器关闭,仪表进入待机模式以降低功耗;仪表待机模式下,LED指示灯慢闪,有按键操作后,触发外部中断,仪表唤醒并执行相应按键功能。软件主程序流程图及键盘处理程序流程图如图6所示。
4.结束语
本设计能够实现对外界温度、湿度、光照度、气压参数的实时采集存储,具备实时时钟、低电压监测、自动测量等功能。仪表的功耗低,数字化程度较高,便于携带;硬件稍作改动可方便移植到机房环境监测、智能温室、气象监测等领域,有较好的应用前景。
参考文献
[1]胡大可.MSP430系列单片机C语言程序设计与开发[M].北京:北京航空航天大学出版社,2003.
[2]秦龙.MSP430单片机应用系统开发典型实例[M].北京:中国电力出版社,2005,7.
[3]恩智浦公司PCA8538数据手册[S].http://www.nxp.com/products/automotive/display_instrumentation/lcd_drivers/PCA8538UG.html 2013.7.
[4]曹磊.MSP430单片机C程序设计与实践[M].北京:北京航空航天大学出版社,2007.
[5]杨欣等.实例解读51单片机完全学习与应用[M].北京:电子工业出版社,2011,4.
作者简介:张彪(1981—),男,河北河间人,硕士,天津铁道职业技术学院铁道电信系讲师,研究方向:无线传感器网络,主要从事通信技术专业的教学及科研工作。