APP下载

基于STM32无线数据采集单元的设计

2016-11-25胡慧

电子设计工程 2016年18期
关键词:低功耗按键处理器

胡慧

(天津铁道职业技术学院 铁道动力系,天津 300240)

基于STM32无线数据采集单元的设计

胡慧

(天津铁道职业技术学院 铁道动力系,天津 300240)

针对监测控制系统中对前端参数采集部分的设计需求,设计了基于STM32F030(采用ARM Cortex-M0内核)处理器的多参数采集单元,采集单元可完成温湿度、气压等参数数据的采集和存储并通过无线模块NRF24L01实现数据的无线收发;单元配有按键及液晶显示器,便于查看当前参数数据。通过选取性价比高的数字传感器简化了电路结构并降低硬件成本,通过合理的软件程序设计进一步降低系统的功耗。经测试单元工作稳定,可实现参数的采集传输等功能。同时,采集单元方便移植,可应用于环境监测,工业数据检测,智能温室等监控系统中。

STM32处理器;数据采集;无线通信;低功耗

在现代监测控制系统中,获取前端参数数据至关重要,可以说参数采集是实现控制的基础。在工业自动化控制、农业生产自动化、环境质量监测、智能医疗监护等众多领域都离不开数据的采集和处理。本文设计了采用以32位处理器为核心的无线数据采集单元。选用ST公司的STM32F030处理器作为控制核心,单元集参数采集、数据存储与显示、无线转发为一体,采用电池供电且具有低电压告警功能。

1 单元硬件电路设计

数据采集单元的电路设计在满足基本功能的基础上按照低成本、低功耗的设计原则。在实际采集系统中,前端采集单元数量众多,硬件设计应尽量降低成本;另外,单元采用电池供电,为避免频繁更换电池,单元电路功耗设计要尽量低,以延长电池的使用时间。单元整体结构框图如图1所示。

图1 单元框图

1.1 处理器

单元选用ST(意法半导体)公司的STM32F030C8T6控制器作为处理器,STM32F030系列是意法半导体推出的超值系列32位微控制器,该系列芯片基于超低功耗的ARM Cortex-M0处理器内核,其价格与8位微控制器相当,有丰富的外设数量和种类,内核频率高达48 MHz[1]。

STM32F030内置高速12位ADC、先进且灵活的定时器(支持ADC同步、死时管理和电机控制PWM时序功能)、温度传感器、日历RTC和通信接口(如 I2C、USART、SPI等)[2]。因此,选用该处理器可以减少外围元件的数目、提高电路性能、降低系统的成本。

设计中为了降低微处理器的功耗,可采用32.768 kHz的晶体振荡器作为时钟,另外,STM32F030有3种低功耗模式,在完成数据采集任务后,处理器进入低功耗模式[6]。

1.2 传感器

传感器部分实现空气温湿度及大气压的数据检测,在具体应用中可以更换传感器类型实现不同参数采集。

温湿度传感器:选用数字温湿度传感器DHT11,DHT11是一款有已校准数字信号输出的温湿度传感器。工作电压3.3~5.5V,量程湿度20~90%RH,温度0~50℃;湿度精度+-5%RH,温度+-2℃。DHT11与处理器之间的通讯和同步,采用单总线数据格式,一次通讯时间4 ms左右,数据分小数部分和整数部分。操作流程如下:一次完整的数据传输为40 bit,高位先出。数据格式:8 bit湿度整数数据+8 bit湿度小数数据+8 bit温度整数数据+8 bit温度小数数据+8 bit校验和数据,传送正确时校验和数据等于 “8 bit湿度整数数据+8 bit湿度小数数据+8 bit温度整数数据+8 bit温度小数数据”所得结果的末8位[3]。

气压传感器:采用数字气压传感器BMP085,BMP085是一款高精度、超低能耗的压力传感器,绝对精度可达到0.03 hPa,工作电压为1.8~3.6 V,且耗电极低,只有3 μA;BMP085内部由压阻传感器、AD转换器、和EEPROM与I2C接口控制单元组成。它采用标准的I2C接口,可以方便的与主设备(单片机)连接通信,其测压范围在300~1 100 hPa。本单元硬件设计中处理器使用硬件I2C接口与传感器进行通信。

在读取BMP085时会直接传送没有经过补偿的温度值和压力值。而在EEPROM中则储存了176位单独的校准数据,这些数据将对读取的温度压力值进行补偿[4]。176位的EEPROM被划分为11个字,每个字16位,这样就包含有11个校准系数。每个器件模块都有自己单独的校准系数,在第一次计算温度压力数据之前,单片机就应该先读出EEPROM中的这些校准数据,然后再开始采集数据温度和压力数据。BMP085的器件地址:0xEE读地址,0xEF写地址,控制寄存器地址0xF4,图2为不同模式下控制寄存器的命令字及最大的转换时间。

图2 BMP085的模式控制命令字和转换时间

1.3 无线通信

采用低功耗、小体积的 NRF24L01无线收发模块,NRF24L01的工作频段为2.4~2.5 GHz,该频段无需授权许可。芯片内置了多个功能模块,如功放模块、晶振、频率合成器等;可通过程序对模块的工作频道和输出功率进行配置。

NRF24L01的引脚排列及应用电路如图3所示。各引脚功能如下:CE:使能发射或接收;CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01;IRQ:中断标志位;VDD,VSS:电源;XC2,XC1:晶体振荡器引脚;VDD_PA:为功率放大器供电,输出为1.8 V;ANT1,ANT2:天线接口;IREF:参考电流输入。模块工作电压为1.9~3.6 V,本设计中采用3.3 V为其供电,调制方式为GFSK,高达10 Mbps的SPI接口速率可与控制器进行快速的数据通信,最高2 Mbps数据传输速率满足设计中无线通信的需求。模块在以-6 dBm的功率发射时,工作电流仅为9mA;接收时工作电流为12.3 mA,可通过配置命令设置模块工作于掉电或空闲等模式,以降低系统的功耗。

图3 NRF24L01的引脚排列及应用电路

1.4 存储单元

数据的存储选用AT24C512,为Atmel公司生产的64 kB串行电可擦的可编程存储器(EEPROM)。AT24C512内部共有512页,每一页有128个字节,任一单元的地址为16位,地址范围为0000H~0FFFFH。它采用8引脚封装,图4为芯片引脚图及应用电路,芯片结构紧凑、存储容量大等特点,特别适用于具有大容量数据存储要求的数据采集系统[5],因此在测控系统中被大量采用。

图4 AT24C512芯片引脚图及应用电路

其中SDA和SCL引脚是数据交换线,用做CPU与AT24C512之间的数据交换和命令写入。WP为写保护口,WP为高时写禁止,WP为低时写允许。A1、A0是器件地址选择引脚,因此在同一总线上允许同时挂接4个同类器件。在读/写器件时要注意器件的地址,如下所示,其中高5位10100为器件类型标志符,最低位为读写位,R/W位高时为读器件,低时为写器件。

存储器的前3个存储字节预留,用于存放当前单元的ID号,其余存储空间用于存放采集的参数数据。

1.5 键盘与液晶显示

因采集单元所需按键较少,所以键盘部分采用独立式按键设计,实现存储数据的查询功能;液晶显示使用NOKIA5110单色点阵液晶模块,模块为84*48的点阵LCD,可显示4行汉字,工作电压3.3 V,采用串行接口与处理器通信,支持多种串行通信协议,通信速率可高达4 Mbps;接口电路见图5所示。数据采集单元的部分电路如图5所示。

图5 采集单元电路原理图

1.6 电源模块

单元采用3.7 V锂电池作为电源,经过TPS62291DC-DC电源转换模块,将电压降至3.3 V为整个单元供电。TPS62291是TI的一款宽电压输入,固定电压输出的高效率降压转换芯片,转换效率在95%左右,最高输出电流为1000 mA。芯片的典型应用电路如图5所示。

处理器内置ADC对电池电压进行实时监测,当电池电压过低时,发送报警信号,以便及时更换电池。

2 软件设计

采集单元能量受限,处理器大部分时间处于睡眠模式,定时唤醒对参数进行采集、存储并转发,为了降低处理器的功耗,对于闲置的IO端口设置成IPU/IPD模式。

软件整体设计流程:上电后处理器进行初始化自检,执行数据采集程序并进行显示,无按键操作,关闭显示并对外围电路进行设置,然后进入睡眠模式;若有按键操作或者是定时时间到可唤醒处理器去执行相关程序;如:读取键值,调用显示程序,使能内部ADC,配置无线模块,执行数据采集程序,进行数据处理和存储,转发数据等;在完成当前任务结束后,关闭内部ADC,配置IO,设置无线模块进入侦听模式,再次进入低功耗模式。

若没有按键操作,液晶显示处于关闭状态以降低单元功耗,若有按键操作,液晶显示打开并显示最近一次采集的参数值和当前电池电压情况。通过上下按键可查看参数得历史数据,若长时间没有按键操作,显示器再次关闭。图6和图7为采集单元主程序流程图和中断子程序流程图。

图6 主程序流程图

3 结束语

本采集单元可对参数进行实时监测、存储和无线转发,单元配有独立按键和液晶显示器,方便随时查看当前各参数值;存储器中存放着本单元的ID号,用于区分不同的采集单元;处理器对外围电路进行合理配置后进入睡眠模式有效降低了系统的功耗。采集单元按设定时间间隔进行数据采集,自动完成数据的存储和转发。电池电量过低时,报警数据会通过无线模块发送给上位机,以便及时更换电池。对于整个采集系统,上位机可以通过无线模块发送指令,对数据采集单元进行控制。

图7 中断子程序流程图

采集单元有较强的可移植性,实际中可根据需求更换传感器类型,应用于工业数据监测,环境监测,智能温室等其他监控系统中。

[1]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.

[2]喻金钱,喻斌,袁芳.STM32F0系列ARM Cortex-M0核微控制器开发与应用[M].北京:清华大学出版社,2015.

[3]倪天龙.单总线传感器DHT11在温湿度测控中的应用[J].单片机与嵌入式系统应用,2010(6):60-62.

[4]梁胜展,郭雪梅,余晓填.基于BMP085气压传感器及BP算法的高度测量研究与实现[J].传感技术学报,2013,26(5):654-659.

[5]郝雯,沈金鑫,梅成.基于STM32单片机的存储式数据采集系统设计[J].电子设计工程,2013,21(17):80-82.

[6]李晶,李东泽,石坚.基于STM32F103的时间压力采集系统[J].自动化与仪表,2013(12):42-45.

The designing of wireless data acquisition unit based on STM32

HU Hui
(Railway Power Department,Tianjin Railway Technical and Vocational College,Tianjin 300240,China)

In monitoring and control systems,for the front-end parameter acquisition part design requirements,design a kind of multi-parameter acquisition unit which is based on STM32F030(using the ARM Cortex-M0 inner core),the unit can gather and store the temperature,humidity and atmospheric pressure data,it can realize the wireless transmission depending on NRF24L01.The unit include keys and LCD,which is easy to view the current parameter data.By choosing cost-effective digital sensors simplifies the circuit structure and reduce the hardware cost,and through rational software program design to further reduce the power consumption of the system.After testing the unit can work stably,and achieve the designing functions.The unit also has the advantage of be apt to transplant,it can be used in many fields,such as environment monitoring,industry data detection and intelligent control system.

STM32 processor;data acquisition;wireless communication;low power consumption

TP368.1

A

1674-6236(2016)18-0097-04

2015-08-13 稿件编号:201508067

胡 慧(1981—),女,河北邢台人,硕士,讲师。研究方向:嵌入式系统应用。

猜你喜欢

低功耗按键处理器
一种高速低功耗比较器设计
基于有限状态机的按键检测程序设计
一种多方向导光按键结构设计
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
呼噜处理器
ADI推出三款超低功耗多通道ADC
IDT针对下一代无线通信推出低功耗IQ调制器
低功耗加权cache替换策略
按键的多种状态检测及消抖处理方法