基于STM32的无线光照传感器节点的设计
作者:严冬 李瑛 李景林
来源:《物联网技术》2014年第02期
摘 要:无线传感器网络是当前信息领域中研究的热点之一 ,适用于对环境中的参数进行采集、处理和发送。文章介绍了一种基于STM32F103RBT6的无线光照传感器节点的设计与实现方法,该方法利用光照传感器作为环境数据采集单元,并使用无线射频模块UZ2400将数据发送至网关,再由网关将数据送至上位机达到实时监控的目的。文章除提出了光照传感器节点的硬件设计并描述了系统的软件架构及实现方法外,其节点具有较高的实用性和可靠性,能实时准确地采集环境中的光照强度值,因而在未来的智能家居系统中具有良好的应用前景。 关键词:无线传感器网络;光照传感器;UZ2400D;可靠性
中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2014)02-0016-03 0 引 言
物联网是信息产业领域未来竞争的制高点和产业升级的核心驱动力、是衡量一个国家综合国力的重要标志,在军事、民用及工商业领域都具有广阔的应用前景[1]。无线传感器节点是无线传感器网络 (Wireless Sensor Network,WSN)的主要组成部分,用来采集现场数据,并通过一定的无线路由协议将信息传给观测者[2]。本文介绍了一种无线光照传感器节点的设计与实现,给出了传感器节点的功能模型,详细阐述了其工作原理、设计和实现。 1 系统结构
无线传感器网络,具有低功耗、低成本、分布式和自组织的特点。无线传感器网络是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,以协作地感知、采集、处理和传输网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给网络所有者。传感器网络实现了数据的采集、处理和传输的三种功能[3]。本无线光照传感器节点主要由三部分组成:数据采集部分、数据处理部分、无线传输部分。数据采集部分主要负责将外界环境中的光照强度值采集进来,采集部分所得到的信号会随着外界光照强度变化而变化,光照传感器将从外界采集到的光照模拟量,通过传感器内部的一个16 bit AD转换后直接输出数字量,通过I²C接口将数据传输至数据处理部分作相应处理,然后将数据发送至网关,网关将数据送至上位机界面。系统功能模型如图1所示。 图1 系统功能模型 2 系统硬件设计
龙源期刊网 http://www.qikan.com.cn
无线光照传感器节点硬件电路主要由数据采集单元、数据处理单元、无线传输单元、电源管理单元四部分组成。 2.1 数据采集单元
本方案选用了一种数字型光强度传感器集成电路BH1750FVI。BH1750FVI有着体积小、高感应灵敏度、良好的稳定性,光源依赖性弱,功耗低等诸多优点。光照传感器结构图如图2所示。
图2 光照传感器结构图
如图所示PD为接近人眼反应的光敏二极管,当有光线照射时,PD将产生相应的饱和反向漏电流,形成光电流,电流的大小随光强度的变化而变化,集成运算放大器将PD电流转换为PD电压,送入ADC转换器,并取得16位的数字数据,经过I²C接口传输到数据处理单元。
2.2 数据处理单元
处理器芯片是整个电路的核心部分。无线光照传感器节点选用的是ST公司的STM32F103RBT6处理器芯片,它采用高性能的ARM32位Cortex-M3内核,最高工作频率72MHz,代码执行速度高达1.25 MIPS/MHz。它内置高达128 KB FLASH和 20 KB SRAM[4], 同时具备丰富的I/O端口和外设:包含 51个通用普通I/O口、16通道12位ADC、4通用 16位定时器、电机控制 PWM 接口、2个I²C、2个SPI/SSP、3个UART、1个USB控制器、1路CAN总线接口等。光照传感器将采集到的光照信号通过内部放大电路、ADC转换电路后得到的数字量通过I²C总线直接传入到STM32F103RB,经过软件协议栈中的物理层、MAC层、数据链路层、网络层、传输层、应用层依次加载,将数据送至UZ2400D,完成一次信号采集处理,并最终发射出去。 2.3 数据传输单元
数据传输单元采用台湾达盛公司的UZ2400D射频芯片。UZ2400D是一种符合
IEEE802.15.4标准的解决方案,满足了低成本、低功耗的无线应用需要。它由一个无线射频收发器作用在2.4 GHz 的802.15.4标准基带和媒介访问控制子层功能模块组成。UZ2400D的射频块由一个集成电路内的接收器、发送器、压控振荡器和锁相环路组成。UZ2400D的结构图如图3所示。
图3 UZ2400D模块结构图
龙源期刊网 http://www.qikan.com.cn
UZ2400D采用先进的无线电架构来尽量减少外部元件数和功率消耗量。UZ2400D的MAC和基带为IEEE802.15.4的MAC层和PHY 层提供了硬件架构。它主要包括TX / RX 控制器、CSMA-CA控制器、超帧构造器、接收帧过滤器、安全引擎及数字信号处理组件。UZ2400D芯片在外围电路上加上天线、晶振和电阻电容等器件,引出必要的扩展控制或通信接口,就形成了该无线通信模块。UZ2400D射频芯片具有以下特性:符合IEEE802.15.4-2006规范,工作在2.4 GHz ISM频段;输入时,-95 dBm灵敏度和最大允许3 dBm;输出时,0 dBm典型输出功率和40 dB发送功率控制范围;集成的32MHz高速和32.768 KHz低速晶振驱动;低功率功耗,接收模式下为16 mA和发送模式下为17.5 mA;深度休眠模式下,功耗为2.4uA;集成的低相位噪声VCO、频率合成器和锁相环过滤[5]。
UZ2400D无线接收器是一个低中频的接收器,从天线接收到的射频信号,首先经过低噪声放大器,然后正交下变频到中频上,形成中频信号的同相分量和正交分量,两路信号经过滤波和放大后,直接通过模数转换器转换成数字信号,再以数字信号的形式进行后继的处理,最终恢复出传输的正确数据[5]。要发送的数据先被送入UZ2400D芯片中的128 B的发送缓存器,前置序列和起始帧是通过硬件自动产生的,所要发送的数据流被扩频序列扩频后送到DA变换器。然后,经过低通滤波和上变频的混频后的射频信号直接变频到设定的信道上,并经放大后送到天线发射出去。UZ2400D的射频接口是高阻抗、差分信号接口,而实际应用系统中通常采用单端天线,因此在设计中,使用分离元件构成巴伦电路。射频信号经由RF_P、RF_N两个引脚以差分信号输出,通过巴伦电路变换后,变成单端信号输出。经巴伦电路转换后,输出信号理论上达到50 Ω阻抗,但是由于仿真中得出的值会有小数,实际使用的电容和电感元件不能完全符合,加之元器件本身存在的误差,导致巴伦电路出来的信号并不能得到标准的50 Ω阻抗。通常,信号通过巴伦电路后,还要加上一级阻抗修正电路,经过修正之后的信号阻抗就比较接近50 Ω。经过修正之后的信号就可以经由天线辐射出去。 2.4 电源管理单元
电源是整个电路的能量供应源,良好的电源电路为整个电路的稳定运行提供保障[6]。在工业无线领域,无线传感器节点对能耗的要求比较高。在保证正常的能量供应的前提下,尽量选择低功耗、高效率的电源。经过估算,本设计方案选用1100 mAh的锂电池作为电源,这种电池具有电压高、体积小、能量密度高、放电曲线平缓、可循环使用等优点,能让传感器节点反复使用,可节约成本。为了反复使用锂电池,设计使用了MAX1555作为充电芯片,当电池电量较低的时候,为电池充电。MAX1555芯片提供较灵活的电源输入口,1脚为USB输入口,电压范围是3.7 V~6 V,可以直接从USB接口接入对电池充电;4脚为DC电源输入端,可以外接电源适配器对电池进行充电。3脚为充电状态指示,在充电期间为低电平,充电完成时变成高阻态。同时,系统需要3.3 V电压,使用MAX8881-3.3 V将电池电压从4.2 V降到3.3 V。芯片MAX8881是一种超低电源电流、低压降的线性稳压器,最大提供200 mA的电流输出,满足系统的需求。
龙源期刊网 http://www.qikan.com.cn
3 软件设计 3.1 I²C总线协议
I²C总线是Philips 公司于 20 世纪80 年代开发的两线式串行通讯总线, 使用多主从架构, 用于连接微控制器及其外围设备[7]。I²C只使用两条线: 串行数据线 SDA 和串行时钟线 SCL。由于接口直接在模块之上, 因此 I²C 总线占用的空间非常小, 可有效减少电路板的空间和芯片管脚的数量, 被广泛应用于进行简单的外围设备控制。I²C 总线可发送和接收数据, 设备发送数据至总线则定义为发送器, 设备接收数据则定义为接收器, 每个设备都用惟一的地址识别。总线通常由主设备 (通常为微控制器) 控制, 主设备在 SCL 上产生时钟信号, 并产生起始和停止条件。主设备和从设备都可以工作于接收和发送状态。SDA 线上的数据状态仅在 SCL 为低电平期间才能改变, SCL 为高电平期间, SDA 状态的改变被用来表示起始和停止条件[7]。 3.2 系统软件设计
系统的软件设计主要由三部分组成:系统初始化程序,I²C初始化程序,无线射频初始化。系统初始化程序完成底层硬件驱动的配置;I²C初始化程序主要包括I²C通信接口的初始化;无线射频初始化负责配置UZ2400D。软件部分流程如图4所示。 图4 主程序流程图
整个系统的运行过程是:首先进行初始化操作,具体为系统时钟初始化,端口配置初始化,I²C接口初始化,SPI接口初始化,无线射频初始化,根据设定的条件读取光照传感器传输的光照值,并发送至网关,上传至上位机界面,对当前环境进行实时监控。 4 实验结果
目前该节点已运用在实验室与思科公司合作研发的测试系统上。无线光照传感器节点实时准确地将环境中的光照强度值采集到,经过网关将数据送至上位机。图5为上位机界面。 图5 上位机界面 5 结 语
本文介绍了无线光照传感器节点的设计方案,详细讨论了其硬件实现以及软件实现的设计方法。目前该节点已运用在思科系统中国研发中心,运行稳定,能实时监测环境中的光照强度值,为上位机提供实时参数以便系统做出相应操作。伴随物联网的飞速发展,节点在智能家居系统中将能得到很好的应用。
龙源期刊网 http://www.qikan.com.cn
参 考 文 献
[1]王平,彭杰,严冬.780 MHz物联网开发平台的设计与实现[J].重庆邮电大学学报:自然科学版, 2012(2):31-36.
[2]孙利民, 李建中, 陈渝, 等. 无线传感器网络 [ M] . 北京: 清华大学出版社, 2005. [3]黄荣怀.从数字学习环境到智慧学习环境 —— 学习环境的变革与趋势 [J]. 开放教育研究,2012,18 ( 1) : 75-84.
[4] STMicroelectronics. STM32F103xB Datasheet [R]. Switzerland: STMicroelectronics,2012.
[5] UBEC. UZ2400SiliconVersionD datasheet [R]. Taipei, China: UBEC 2005.
[6]杨德斌,伍俊,阳建宏.无线数字传感器网络节点[J],仪表技术与传感器,2007(9):51-53.
[7] Philips Corp. The I²C – BUS specification version 2.1 [M]. Germany: Philips, 2000.
因篇幅问题不能全部显示,请点此查看更多更全内容