基于LoRa的低功耗温度采集传感器系统设计
2024-02-28胡祥翱
印 华,方 挺,董 冲,胡祥翱
安徽工业大学 电气与信息工程学院,安徽 马鞍山 243000
1 引 言
在物联网[1]技术迅速发展的时代背景下,越来越多的工业设备更加智能化和信息化。如今,物联网技术已经应用到工业制造、农业监测、医疗器械等多个领域,利用通讯技术对传感模块的感知数据进行数据传输和远程控制,使整个工业生产过程变得更加安全化和高效化。
随着物联网的广泛应用,低功耗和低成本的通信技术对物联网应用和服务的发展产生了深远的影响。相比于熟知的低功耗蓝牙(BLE)、ZigBee和WiFi等技术,低功耗广域技术(LPWA)的传输距离更远,其链路预算可达到160 dBm,而BLE和ZigBee等在100 dBm以下。和传统蜂窝网络技术(2G,3G)相比,LPWA的功耗更低。LPWA中LoRa[2-3]通信技术具有低功耗,覆盖广、低成本等特点,传输距离可达3 km[4],使其成为物联网产品的热门选择,例如:智能计量、智能农业、智能停车等。除这些优势以外,LoRa也有一些问题和不足之处。最主要问题是,使用ALOHA类型的协议,导致了高电池耗电量和低可靠性,并限制了在LoRaWAN(LoRa Wide Area Network)网络中控制场景的应用程序。张琴等[5]将LoRa应用于水产养殖水质监测,通过设置不同的发射功率,并在MAC(Media Access Control)层使用无竞争时分多址协议,实现降低传感器节点功耗的目的,使其在功耗上优势明显,但发射功率会影响传输距离,对于较远距离传输会存在数据丢包问题。李时杰等[6]将LoRa应用于电气设备的温湿度监测,利用器件的低功耗特性降低终端的功耗、利用微控制器(Micro Controller Unit,MCU)端口对传感器供电电源进行控制,以达到降低功耗的目的,但是未对LoRa网络性能进行优化。岳云涛等[7]将LoRa应用于电气火灾预警,通过对收发器的休眠机制来降低探测器的功耗,但是通过单一的休眠机制来控制功耗,在数据层面和硬件层面的结合应用相对较少。
在无线传感网络(Wireless Sensor Networks,WSN)中,MAC的性能直接影响到整个网络的性能,不同的设计目标和应用场景也导致了其侧重点不同,其主要考虑的是能耗、信道的利用率、数据冲突等问题。一些研究只是通过单一的休眠机制来控制功耗,缺少在硬件低功耗设计和LoRa网络性能优化。为了减少上行通信所带来的能耗,一般采用减少数据收发频率的策略,但是忽视了监测所需的实时性。对于类似数据融合和事件监控等应用程序,上行通信的时隙资源调度[8]显得尤为重要。
2 系统采集与传输架构设计
高炉冷却水温监测系统[9]主要由数据采集和数据传输两部分组成,系统模型如图1所示。其中,数据采集层主要包括传感器模块、主控制器和LoRa模块等,构建了由锂电池供电的低功耗采集装置。网关主要由主控制器模块、LoRa模块组成。系统具备了实时数据采集、无线传输、数据存储等功能,实现了对高炉冷却水温度情况的分布式监控和集中管理。
图1 系统模型
采集终端将采集的温度信息通过LoRa通信模块将数据发送到网关;网关将接收到的数据经过处理后,通过串口上传至上位机。当检测的水温情况出现异常或者锂电池电压过低,则会触发警报事件中断。此时,单片机控制LoRa发送报警信息,使工作人员能够及时了解情况。提供了稳定且可靠的水温监测与异常警报方案。
2.1 采集终端设计
采集终端主要以温度采集和数据传输为主,包括传感器模块、主控制器模块、无线通信模块。如图2所示。
图2 采集终端硬件结构图
传感器模块主要是检测和响应来自现场环境的输入,以50 Hz的频率进行采样。输入信号通过RTD(Resistance Temperature Detector)数字转化器将模拟信号转化为数字信号,然后将数字信号以SPI(Serial Peripheral Interface)通讯协议发送给单片机。
由于工业现场环境复杂,大多采用锂电池供电,则对采集终端的功耗提出了严格的要求。故选择以Cortex-M3内核的STM32L151芯片作为主控芯片,STM32L系列有5种低功耗模式。主控制器模块负责接收传感器模块采集转换后的数字信号,并将数据进行滤波与均值处理,最后将这些数据传送给LoRa模块。一旦完成数据处理,处理后的数据通过无线通信模块进行发送。无线通信模块选用安信可Ra-02,基于SX1276射频芯片开发,主要采用LoRa远程调制解调器,用于超长距离扩频通信,抗干扰能力强,拥有良好的抗多径衰落性能。
为了达到低功耗的设计要求,对于传感器模块,并不需要其长期待机工作。当单片机进入低功耗模式时,用MOS关断电路切断其供电,从而降低该模块所耗费的功耗。由于采集终端布置在工业现场,其工作环境恶劣,温度、振动等其他环境因素会影响单片机的时钟精度,间接影响LoRa的时间同步和定时上报。所以,选用外部低功耗高精度时钟芯片RX8010SJ,其待机电流仅为160 nA,满足低功耗的实际需求。
2.2 采集网关设计
依据实际需求,网关的硬件设计与终端具有一定差异化。首先,供电方式不同。网关由USB供电,对于功耗要求不高;其次,环境不同。网关放置在监控中心,不必考虑复杂的工作环境;最后,功能不同。网关将接收的数据进行转换输出,不包含采集数据的功能。网关的硬件主要包含无线通信模块、主控制器模块以及有线通信模块,如图3所示。
图3 采集网关结构图
网关主要通过LoRa模块接收采集终端的数据,经主控制器将接收到的数据包转化成相应的协议输出。通过USB转串口,将数据上传至上位机。
3 采集终端能耗计算模型
为了研究节点的能耗,对采集终端进行建模分析[10]。分析终端的不同工作模式,然后计算个模式的消耗能量,并推导出消耗能量模型。研究中,所有的模块都在3.3 V下供电。传感器在一个数据上报周期内消耗的总能量由式(1)表示:
ET=ES+EW
(1)
其中,ES和EW分别为MCU在休眠模式下和工作模式下的能量损耗。
Ework为采集终端各部分的能耗的总和。如式(2)所示:
Ework=Ew+Ea+Ed+ETx+ERx
(2)
式(2)中,Ew、Ea、Ed、ETx、ERx为MCU唤醒、传感器数据采集、MCU数据处理、LoRa发送和LoRa接收中消耗的能量。由于采集终端多数时间处于休眠状态,在工作之前,MCU先进行系统唤醒,然后通过GPIO引脚控制MOS关断电路,使电源给传感器模块供电。在唤醒持续时间所消耗的能量Ew如式(3)所示:
Ew=Pon(fMCU)·Tw
(3)
式(3)中,Pon(fMCU)和Tw分别为MCU消耗的功率和唤醒持续时间,fMCU为MCU的频率。
当传感器进行数据采集时,损耗能量Ea如式(4)所示:
Ea=(Pon(fMCU)+Pa)·Ta
(4)
Pa和Ta分别为数据采集消耗的功率和持续时间。
在测量完成后,微控制器继续进行数据处理。持续时间取决于微控制器的工作频率和指令数。式(5)中,计算微控制器所消耗的能量:
Ed=Pon(fMCU)·Td(fMCU)
(5)
LoRa发射模式所消耗的能量ETx如式(6)所示:
ETx=(Pon(fMCU)+PTx)·TTx
(6)
式(6)中,PTx为发射模式下的功率损耗,TTx为其持续时间。TTx如式(7)所示:
TTx=Nbit·Tbit
(7)
Nbit和Tbit分别为传输的比特数和传输一个比特数的时间。
LoRa接收模式所消耗的能量ERx如式(8)所示:
ERx=(Pon(fMCU)+PRx)·TRx
(8)
式(7)中,PRx为接收模式下的功率损耗,TRx为其持续时间。
微控制器在工作模式下所消耗的能量由式(9)表示:
EMCU=Pon(fMCU)·TMCU(fMCU)
(9)
其中,TMCU(fMCU)为微控制器的工作时间,由式(10)表示:
TMCU(fMCU)=Tw+Ta+Td(fMCU)+TTx+TRx
(10)
4 基于LORA的通信策略
在高炉冷却水温度监测系统中,既需要周期性上传冷却水的温度数据,也需要实时上传紧急异常数据。当检测的水温情况出现异常或者锂电池电压过低,会触发警报事件中断,需要发送紧急信息。对于周期性上传的数据,LoRa通信使用ALOHA协议,当多个数据包同时发送时,会造成数据冲突发生丢包。为了提高网络可靠性和数据实时上传,采用了时分多址技术进行数据传输。该技术给网络中的每个节点分配一个时隙,各个节点只有在自己的时隙才会定时上报数据。为了确保时隙的分配调度,网络中的所有节点的时间必须保持一致。
4.1 基于TPSN的时钟同步
在无线传感器网络中,时钟同步主要由LoRa通过MAC层发送时间戳的方式[11]。为了实现网关和终端的高精度时钟同步,网关将参考时间作为同步消息发送给采集终端。参考时间包含了秒、分钟、小时和年月日的时间戳,消息类型包含了入网请求、时钟同步、调度消息、数据上传、警报信息等,用不同的编号表示,便于对读取相应的消息类型,对有效负载进行必要的处理,如图4所示。
图4 时钟同步信息格式图
当网关发送信息到采集终端时,存在发送延迟和接受延迟产生的延迟影响。在时钟同步中,网关以图4所示的格式将信息发送至终端,并记录发送时间。终端接收到消息后,MCU会读取到LoRa模块的中断事件信号,记录此时的时间戳数据。解析消息后,读取时间值,将时间值写入RTC(Real Time Clock)寄存器,再记录此时的时间戳数据,完成后发送应答信号ACK(Acknowledge character)。通过两次时间戳的差值可以计算出单片机处理计算时间。
网关在接收到应答信号后,记录接收时间。计算记录时间的差值,从网关到终端的传输时间由式(11)表示:
ToA=(T2-Tc-T1)/2
(11)
其中,网关发送时间为T1,接收时间为T2,单片机的处理计算时间Tc和广播模式下数据帧的传输时间ToA。 将数据包的传输时间和计算时间添加到RTC中,再次发送同步消息T3至终端,同步消息中T3值如式(12)所示:
T3=ToA+Tc+TRTC
(12)
其中,TRTC为网关的RTC值。
终端接收后将值写入RTC的寄存器中,终端向网关发送应答信号。这样,终端与网关实现了时钟同步。当网关对每个终端都实现时钟同步后,分配好每个终端的上传时间,以广播模式发送调度安排。时钟同步协议图如图5所示。
图5 时钟同步协议图
4.2 基于TDMA的数据传输
需要定时上传的温度数据,网关根据采集终端的数量进行分配,将整个数据上报周期T划分为若干个时隙[12]。采集终端根据分配的时隙,按照设定的顺序依次上传周期性数据,网关接收到后返回ACK应答信号。终端接收完成后进入休眠状态,到下一次上传时隙到来时,再次唤醒系统,完成相应的任务。将每个终端的传输时间都分隔开,有效避免终端传输时的数据包碰撞问题,提高了数据投递率和网络可靠性。
对于紧急上传的数据,需要保证该数据的及时性。在周期划为若干个时隙时,为了降低紧急数据和定时数据传输时数据包冲突的几率,每个终端预留了紧急数据发送的时间裕量。首先,终端进行持续性信道活动检测(Channel Activity Detection,CAD),当检测到信道空闲时,再向网关上传紧急数据。LoRa数据调度如图6所示。
图6 LoRa数据调度图
5 性能分析与仿真
5.1 LoRa传输参数性能仿真
LoRa支持PHY(Physical Layer)传输参数的设置[13]。扩频因子(SF)为12,调制带宽(BW)为125 kHz,编码率(CR)为4/5时,LoRa传输距离最远;扩频因子为7,调制带宽为500 kHz,编码率为4/5时,LoRa传输距离最短[14]。对不同传输参数进行比对验证,节点周期性上传数据T为1 min,数据包有效负载为50 Bytes。取编码率为4/5时,不同扩频因子和调制带宽的接收灵敏度图如图7所示。
图7 不同扩频因子和调制带宽接收灵敏度图
在理想环境中,无线通信满足如式(13)所示:
(13)
式(13)中,Pt为发射器的发射功率,Pr为接收器的灵敏度,Gt为发射天线增益,Gr为接收天线增益,f为载波频率,d为收、发天线间的距离,c为光速,LC为发射天线的馈线插损,LO为空中传播损耗。
由式(13)推出距离d如式(14)所示:
(14)
由图7可知,扩频因子与接收灵敏度成反比,调制带宽与接收灵敏度成正比。由式(14)可知,接收灵敏度与距离成反比。扩频因子与接收灵敏度成反比,与传输距离成正比,可以增大扩频因子值提高LoRa覆盖范围。调制带宽与接收灵敏度成正比,与传输距离成反比,使LoRa的通信范围降低。当扩频因子为7,调制带宽为500 kHz时,接收灵敏度最大,LoRa传输距离最近。当扩频因子为12,调制带宽为125 kHz时,接收灵敏度最小,LoRa传输距离最远。
取扩频因子为12,不同编码率和调制带宽的接收灵敏度如图8所示。在同一调制带宽下,编码率值的改变并没有影响到接收灵敏度。接收灵敏度随着调制带宽的增加而增加,LoRa传输距离也随之减小。
图8 不同调制带宽和编码率的接收灵敏度图
取调制带宽为500 kHz时,不同扩频因子和编码率的接收灵敏度如图9所示。在同一扩频因子下,编码率值的改变并没有影响到接收灵敏度。接收灵敏度随着扩频因子的增加而减小,LoRa传输距离也随之增加。
图9 不同扩频因子和编码率参数比特率图
LoRa传输距离受扩频因子和调制带宽的影响,不受编码率影响。LoRa传输距离与扩频因子成正比,与调制带宽成反比。故扩频因子为12,调制带宽为125 kHz时,LoRa传输距离最远。
5.2 采集终端能耗分析
在采集终端能耗模型中,主要的能源消耗是微控制器单元、传感器单元和LoRa射频单元。采集终端的供电电压为3.3 V,MCU的工作频率为8 MHz时钟,LoRa的传输参数选择扩频因子为12,调制带宽为125 kHz,编码率为4/5时,测得电流如图10所示。
图10 终端电流图
由图10可知,LoRa发送时需要的电流较大,成为影响终端能耗的主要因素。选择合理的通信策略, 尽可能地确保上行数据发送成功,避免数据包冲突造成丢包而多次发送导致的功耗增加问题。
5.3 LORA通信性能仿真
利用LoRaSim离散事件模拟器,分析基于LoRa协议层的时钟同步协议和时分多址联合优化的无线通信策略的性能。考虑实际应用场景中建筑物较多,信号受到建筑物和物体阻挡时,会导致信号产生衰落。故选择传输距离最远的参数,扩频因子为12,调制带宽为125 kHz。无时间同步的节点采用ALOHA作为MAC层协议,定期生成数据包。时间同步的节点按分配的时隙发送数据包。每个数据包的有效负载为50字节。随着终端数量变化情况,将不同LoRa通信策略的投递率和耗能进行比较,耗能为节点的能量损耗。图11显示不同策略的能量损耗。投递率(Packet Delivery Ratio,PDR)为目标节点接收到的数据包和源节点发送数据包的比值关系,如式(15)所示:
(15)
图11 能量消耗图
其中,Pr为目标节点接收到的数据包,Ps为源节点发送的数据包。图12显示不同策略的投递率。
图12 投递率图
如图11所示,LoRa-ALOHA 的能量消耗也随着节点数量的增加而增大,在数据包投递过程中导致的数据碰撞和重传,更多的数据发送次数导致更高的能耗。LoRa-TDMA采用时间自同步调度方式,相比于LoRa-ALOHA,能耗方面具有显著优势。随着节点数量的增加,其低功耗的优势非常明显。
如图12所示LoRa-ALOHA的投递率随终端节点数量的增加而增大。由于在数据包投递过程中发生数据碰撞,导致投递率在终端节点个数的增加而减小。而LoRa-TDMA各个终端节点依据分配的时隙上传数据,发生数据碰撞的几率小,使其具有较高的投递率。但随着节点数量的增加投递率略有下降,当存在多个节点数据上传,数据包碰撞的概率增大,其影响较小。
6 结 论
设计了基于LoRa的远距离低功耗无线传感器网络系统。系统搭建基于LoRa通信水温采集终端的模块能耗计算模型。通过对计算模型分析,提出了一种基于LoRa协议层的时钟同步协议和时分多址联合优化的无线通信策略。该策略利用LoRa通信技术完成信息交互,实现网关与终端节点的高精度时钟同步。网关完成对无线资源调度,动态分配终端节点的时隙资源,实现数据周期性上传,降低数据传输碰撞的概率,优化无线资源的使用效率。实验表明,该通信策略与ALOHA通信协议相比,显著提高了通信的投递率和能源效率,进一步提高了LoRa在网络中的性能,所提出的联合优化的无线通信策略是有效的。