基于STM32的无线光照传感器节点的设计
扫描二维码
随时随地手机看文章
引言
物联网是信息产业领域未来竞争的制高点和产业升级的核心驱动力、是衡量一个国家综合国力的重要标志,在军事、民用及工商业领域都具有广阔的应用前景叫无线传感器节点是无线传感器网络(WirelessSensorNetwork,WSN)的主要组成部分,用来采集现场数据,并通过一定的无线路由协议将信息传给观测者。本文介绍了一种无线光照传感器节点的设计与实现,给出了传感器节点的功能模型,详细阐述了其工作原理、设计和实现。
1系统结构
无线传感器网络,具有低功耗、低成本、分布式和自组织的特点。无线传感器网络是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,以协作地感知、采集、处理和传输网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给网络所有者。传感器网络实现了数据的采集、处理和传输的三种功能叫本无线光照传感器节点主要由三部分组成:数据采集部分、数据处理部分、无线传输部分。数据采集部分主要负责将外界环境中的光照强度值采集进来,采集部分所得到的信号会随着外界光照强度变化而变化,光照传感器将从外界采集到的光照模拟量,通过传感器内部的一个16bitAD转换后直接输出数字量,通过「C接口将数据传输至数据处理部分作相应处理,然后将数据发送至网关,网关将数据送至上位机界面。系统功能模型如图1所示。
2系统硬件设计
无线光照传感器节点硬件电路主要由数据采集单元、数据处理单元、无线传输单元、电源管理单元四部分组成。
2.1数据采集单元
本方案选用了一种数字型光强度传感器集成电路BH1750FVI。BH1750FVI有着体积小、高感应灵敏度、良好的稳定性,光源依赖性弱,功耗低等诸多优点。光照传感器结构图如图2所示。
如图所示PD为接近人眼反应的光敏二极管,当有光线照射时,PD将产生相应的饱和反向漏电流,形成光电流,电流的大小随光强度的变化而变化,集成运算放大器将PD电流转换为PD电压,送入ADC转换器,并取得16位的数字数据,经过FC接口传输到数据处理单元。
2.2数据处理单元
处理器芯片是整个电路的核心部分。无线光照传感器节点选用的是ST公司的STM32F103RBT6处理器芯片,它采用高性能的ARM32位Cortex-M3内核,最高工作频率72MHz,代码执行速度高达1.25MIPS/MHz。它内置高达128KBFLASH和20KBSRAM,同时具备丰富的I/O端口和外设:包含51个通用普通I/O口、16通道12位ADC、4通用16位定时器、电机控制PWM接口、2个FC、2个SPI/SSP、3个UART、1个USB控制器、1路CAN总线接口等。光照传感器将采集到的光照信号通过内部放大电路、ADC转换电路后得到的数字量通过FC总线直接传入到STM32F103RB,经过软件协议栈中的物理层、MAC层、数据链路层、网络层、传输层、应用层依次加载,将数据送至UZ2400D,完成一次信号采集处理,并最终发射出去。
2.3数据传输单元
数据传输单元采用台湾达盛公司的UZ2400D射频芯片。UZ2400D是一种符合IEEE802.15.4标准的解决方案,满足了低成本、低功耗的无线应用需要。它由一个无线射频收发器作用在2.4GHz的802.15.4标准基带和媒介访问控制子层功能模块组成。UZ2400D的射频块由一个集成电路内的接收器、发送器、压控振荡器和锁相环路组成。UZ2400D的结构图如图3所示。
图3UZ2400D模块结构图
UZ2400D采用先进的无线电架构来尽量减少外部元件数和功率消耗量。UZ2400D的MAC和基带为IEEE802.15.4的MAC层和PHY层提供了硬件架构。它主要包括TX/RX控制器、CSMA-CA控制器、超帧构造器、接收帧过滤器、安全引擎及数字信号处理组件。UZ2400D芯片在外围电路上加上天线、晶振和电阻电容等器件,引出必要的扩展控制或通信接口,就形成了该无线通信模块。UZ2400D射频芯片具有以下特性:符合IEEE802.15.4-2006规范,工作在2.4GHzISM频段;输入时,一95dBm灵敏度和最大允许3dBm;输出时,0dBm典型输出功率和40dB发送功率控制范围;集成的32MHz高速和32.768KHz低速晶振驱动;低功率功耗,接收模式下为16mA和发送模式下为17.5mA;深度休眠模式下,功耗为2.4uA;集成的低相位噪声VCO、频率合成器和锁相环过滤。
UZ2400D无线接收器是一个低中频的接收器,从天线接收到的射频信号,首先经过低噪声放大器,然后正交下变频到中频上,形成中频信号的同相分量和正交分量,两路信号经过滤波和放大后,直接通过模数转换器转换成数字信号,再以数字信号的形式进行后继的处理,最终恢复出传输的正确数据。要发送的数据先被送入UZ2400D芯片中的128B的发送缓存器,前置序列和起始帧是通过硬件自动产生的,所要发送的数据流被扩频序列扩频后送到DA变换器。然后,经过低通滤波和上变频的混频后的射频信号直接变频到设定的信道上,并经放大后送到天线发射出去。UZ2400D的射频接口是高阻抗、差分信号接口,而实际应用系统中通常采用单端天线,因此在设计中,使用分离元件构成巴伦电路。射频信号经由RF_P、RF_N两个引脚以差分信号输出,通过巴伦电路变换后,变成单端信号输出。经巴伦电路转换后,输出信号理论上达到50Q阻抗,但是由于仿真中得出的值会有小数,实际使用的电容和电感元件不能完全符合,加之元器件本身存在的误差,导致巴伦电路出来的信号并不能得到标准的50Q阻抗。通常,信号通过巴伦电路后,还要加上一级阻抗修正电路,经过修正之后的信号阻抗就比较接近50Q。经过修正之后的信号就可以经由天线辐射出去。
2.4电源管理单元
电源是整个电路的能量供应源,良好的电源电路为整个电路的稳定运行提供保障。在工业无线领域,无线传感器节点对能耗的要求比较高。在保证正常的能量供应的前提下,尽量选择低功耗、高效率的电源。经过估算,本设计方案选用1100mAh的锂电池作为电源,这种电池具有电压高、体积小、能量密度高、放电曲线平缓、可循环使用等优点,能让传感器节点反复使用,可节约成本。为了反复使用锂电池,设计使用了MAX1555作为充电芯片,当电池电量较低的时候,为电池充电。MAX1555芯片提供较灵活的电源输入口,1脚为USB输入口,电压范围是3.7V〜6V,可以直接从USB接口接入对电池充电;4脚为DC电源输入端,可以外接电源适配器对电池进行充电。3脚为充电状态指示,在充电期间为低电平,充电完成时变成高阻态。同时,系统需要3.3V电压,使用MAX8881-3.3V将电池电压从4.2V降到3.3V。芯片MAX8881是一种超低电源电流、低压降的线性稳压器,最大提供200mA的电流输出,满足系统的需求。
3软件设计
3.1FC总线协议
I2C总线是Philips公司于20世纪80年代开发的两线式串行通讯总线,使用多主从架构,用于连接微控制器及其外围设备。「C只使用两条线:串行数据线SDA和串行时钟线SCL。由于接口直接在模块之上,因此FC总线占用的空间非常小,可有效减少电路板的空间和芯片管脚的数量,被广泛应用于进行简单的外围设备控制。FC总线可发送和接收数据,设备发送数据至总线则定义为发送器,设备接收数据则定义为接收器,每个设备都用惟一的地址识别。总线通常由主设备(通常为微控制器)控制,主设备在SCL上产生时钟信号,并产生起始和停止条件。主设备和从设备都可以工作于接收和发送状态。SDA线上的数据状态仅在SCL为低电平期间才能改变,SCL为高电平期间,SDA状态的改变被用来表示起始和停止条件。
3.2系统软件设计
系统的软件设计主要由三部分组成:系统初始化程序,I2C初始化程序,无线射频初始化。系统初始化程序完成底层硬件驱动的配置;FC初始化程序主要包括FC通信接口的初始化;无线射频初始化负责配置UZ2400D。软件部分流程如图4所示。
整个系统的运行过程是:首先进行初始化操作,具体为系统时钟初始化,端口配置初始化,FC接口初始化,SPI接口初始化,无线射频初始化,根据设定的条件读取光照传感器传输的光照值,并发送至网关,上传至上位机界面,对当前环境进行实时监控。
4实验结果
目前该节点已运用在实验室与思科公司合作研发的测试系统上。无线光照传感器节点实时准确地将环境中的光照强度值采集到,经过网关将数据送至上位机。图5为上位机界面。
图5上位机界面
5结语
本文介绍了无线光照传感器节点的设计方案,详细讨论了其硬件实现以及软件实现的设计方法。目前该节点已运用在思科系统中国研发中心,运行稳定,能实时监测环境中的光照强度值,为上位机提供实时参数以便系统做出相应操作。伴随物联网的飞速发展,节点在智能家居系统中将能得到很好的应用。
20211118_6196428f2ab32__基于STM32的无线光照传感器节点的设计