APP下载

基于LoRa的有源电子标签低功耗模型研究

2021-04-19卢光跃苏可可王宏刚刘志朋裴沛东

西安邮电大学学报 2021年1期
关键词:读写器时隙电子标签

卢光跃,苏可可,王宏刚,刘志朋,裴沛东

(西安邮电大学 陕西省信息通信网络及安全重点实验室,陕西 西安 710121)

射频识别(Radio Frequency Identification,RFID)是一种非接触式无线通信技术[1],其可通过射频信号实现对不同目标的识别与管理。RFID系统主要由电子标签和读写器两部分构成,其中标签按照供电方式的不同可分为无源电子标签、半有源电子标签和有源电子标签[2]。有源电子标签不依赖读写器进行供电且与读写器之间的通信距离可达上百米,因此,其广泛应用于资产管理、仓储和车辆管理等远距离实际场景[3]。考虑有源电子标签的电池能量有限且更换困难,如何降低功耗以提高电池工作寿命成为有源电子标签相关研究的核心内容。

考虑成本与功耗的限制,有源电子标签通常在同一信道中进行通信,使得不同标签在传输信息时会发生碰撞且造成更多的能量消耗[4]。为解决这一问题,不少研究者提出了防碰撞算法[5-8]。文献[4]提出了多种标签防碰撞算法,包括纯ALOHA(Pure ALOHA)算法和时隙ALOHA(Slot ALOHA)算法等。结果表明,相比于纯ALOHA算法,时隙ALOHA算法可实现更高的吞吐量和数据平均交换量,但是当标签数量增加时,该算法的效率会显著下降并进一步导致能效下降。文献[6-8]分别提出了改进的动态帧时隙ALOHA算法、改进的二进制防碰撞算法和可并行识别的分组动态帧时隙ALOHA算法,进一步改善系统性能。上述算法尽管缓解了标签之间的碰撞问题,但是仍存在算法复杂度高和耗时长等不足,未能有效的在效率和耗能之间取得平衡。

针对上述问题,将选择帧时隙ALOHA防碰撞算法与适用于远距离传输的LoRa协议[9-11]相结合,拟设计一种低功耗有源电子标签系统。通过对硬件结构、软件工作模式及预唤醒机制等方面的联合优化相结合,以降低有源电子标签的功耗,延长有源电子标签的电池能量寿命。

1 硬件设计

标签主要由天线、射频模块、微处理器模块、电源模块及扩展接口构成。考虑到功耗低及性能稳定的要求,微处理器模块采用超低功耗单片机STM32F103RCT6。此外,射频模块采用SX1262,并通过串行外设接口(Serial Peripheral Interface,SPI)方式与微处理器进行通信。标签的硬件结构如图1所示。

图1 标签的硬件结构

1.1 STM32F103RCT6芯片

STM32F103RCT6芯片是ST公司开发的一款嵌入式-微处理器集成电路,采用Cortex-M3内核、中央处理器(Central Processing Unit,CPU)最高速度达72 MHz,内置的Flash程序存储器容量为256 kb,随机存取存储器(Random Access Memory,RAM)量为48 kb[12]。值得注意的是,该芯片处于睡眠、停机和待机模式时可实现低功耗效果,其中待机模式下的功耗最低。

1.2 SX1262芯片

SX1262芯片是Semtech公司推出的一款sub-GHz无线收发器。为延长电池的工作寿命,该芯片的有效接收电流最低,可小于4.2 mA[13]。相较于前代的芯片SX1276/8,SX1262芯片的最大发射功率与最大空中速率可分别达到22 dBm和62.5 kb/s。为满足不同实际应用的需求,SX1262提供了两种调制方式,即传统的(G)FSK调制和满足远距离通信的LoRa调制。LoRa调制采用了扩频调制技术[14],与传统的频移键控(Frequency Shift Keying,FSK)、通断键控(On-Off Keying,OOK)调制技术相比,LoRa调制技术扩大了无线通讯链路的覆盖范围,提高了链路的鲁棒性[15]。综上可知,SX1262芯片具备远距离通信与低功耗等特点,因此,其适用于智能仪表、资产追踪及智慧城市等多种应用。

2 软件设计流程

以Keil 5作为软件开发环境,并在该环境下对标签及读写器进行软、硬件参数的配置。设计的软件系统流程图如图2所示。

图2 软件系统流程图

如图2的软件系统流程图所示,标签初始在FSK信道进行预唤醒阶段的周期性休眠(状态1)与侦听(状态2),接收来自读写器的预唤醒命令后,标签开始唤醒阶段的周期性休眠(状态3)与侦听(状态4),读写器随后发送唤醒命令,标签在接收到该命令后切换到LoRa信道并进行侦听(状态5),读写器发送Query命令,判断标签是否能够接收到Query命令(状态6),若标签能够接收Query命令(状态7),则随机选择时隙0,…,L-1,其中,L表示时隙个数(状态8)并发送TagID(状态9),TagID发送后,标签侦听是否能接收到读写器回复的ACK命令(状态10),若TagID发送成功(状态11),读写器回复ACK命令且标签接收到ACK命令后不再响应Query,命令若TagID发送不成功(状态12),即标签接收ACK命令超时,标签返回FSK信道重新开始。

3 功耗模型及其分析

3.1 模型建立

在传统RFID系统中,标签的准备模式仅包含唤醒周期且分为休眠阶段和侦听阶段。在休眠阶段中,标签的微控制单元(Microcontroller Unit,MCU)处于休眠状态,消耗较少的能量。然而,在侦听阶段中,数据帧携带大量的数据信息,侦听时间较长且能量消耗较多。为改善上述功耗问题,在标签中引入了预唤醒命令。在引入预唤醒命令后,标签的准备模式包括预唤醒周期和唤醒周期,其中预唤醒、唤醒周期均分为休眠阶段和侦听阶段。标签的MCU在预唤醒周期的休眠阶段中处于待机状态,而在唤醒周期的休眠阶段中处于休眠状态。相较于后者,标签的MCU在前者中的功耗更低。此外,考虑预唤醒周期中的数据帧不携带多余的数据,故相应的侦听时间较短。综上所述,相比于传统RFID系统,标签在引入预唤醒命令后功耗更小。

具体而言,在一个周期内,标签的总能耗等于准备模式与活动模式的能耗之和[16],计算表达式为

E=Ep+Ea

(1)

考虑能耗可以表示为功率与时间之积,为描述不同状态的能耗,需要知道每个状态的电压、电流以及每个状态的时长。由于不同状态标签的电压U为常数(U=3.3 V),图3给出的时隙图表征了标签不同状态的描述、时隙时长表示和该状态的电流表示等信息,其中准备模式包括标签的状态1到状态5,活动模式包括标签的状态6到状态12。

图3 不同状态的描述、时隙及电流表示情况

Ep的具体表达式为

Ep=Pps(Tps+Tpl)+Ps(Ts+Tl)

(2)

其中:Pps和Ps分别表示标签在预唤醒周期与唤醒周期的功率;Tps和Ts分别表示标签在预唤醒休眠模式与唤醒休眠模式下的时间;Tpl和Tl分别表示标签在预唤醒侦听阶段与唤醒侦听阶段下的时间。

Ea的具体表达式为

Ea=Ew+EwQ+ErQ+Ews+Et+EwA+ErA+Eto=
UIwTw+UIwQTwQ+UIrQTrQ+UIwsTws+UItTt+
UIwATwA+UIrATrA+UItoTto

(3)

其中:Iw与Tw分别表示唤醒电流与时间;IwQ与TwQ分别表示等待Query命令的电流与时间;IrQ与TrQ分别表示接收Query命令的电流与时间;Iws与Tws分别表示等待自身时隙的电流与时间;It与Tt分别表示发送TagID的电流与时间;IwA与TwA分别表示等待ACK的电流与时间;IrA与TrA分别表示接收ACK的电流与时间;Ito与Tto分别表示接收超时的电流与时间。

值得注意的是,Tt表示前导码持续时间Tpr与有效载荷持续时间Tpa之和[9]。Tpr与Tpt的表达式分别为

Tpr=(4.25+Np)Tsy

(4)

(5)

Tpa=NpaTsy

(6)

其中:Np表示已设定的前导码长度(取值可参考文献[13]);Tsy表示符号周期;SF表示扩频因子;B表示带宽;Npa表示有效载荷符号数。

对于给定的有效负载PL、扩频因子SF及编码率CR,Npa可以表示为

(7)

其中,ceil(·)表示上取整函数;H表示是否启用LoRa物理层帧格式报头,当启用报头时,H=1,关闭报头时,H=0;DE表示是否启用低数据速率优化,当启用低数据速率优化时,DE=1,在其他情况下,DE=0。

结合式(4)-式(7),Tt可以表示为

作为读写器管理标签集的基本操作方式,盘点主要完成整个系统工作流程的测试工作。在单次盘点中,标签在数据传输成功时的活动能耗可以表示为

Es=Ew+EwQ+ErQ+Ews+Et+EwA+ErA

(8)

此外,当数据传输失败时,标签的活动能耗可以表示为

Er=Ew+EwQ+ErQ+

Ews+Et+EwA+Eto

(9)

稳态情况下系统MAC层的效率决定重传次数,应用帧时隙ALOHA算法解决标签碰撞问题。单个标签在一轮盘点中的平均活动能耗可以表示为

Eav=Esρs+(1-ρs)ErNav

(10)

其中:Es表示一帧中标签传输成功的活动能耗;ρs表示标签在一帧中传输成功的概率;Er表示标签一次重传的活动能耗;Nav表示单个标签的平均重传次数。

标签在一帧中传输成功的概率可以表示为

(11)

其中;L表示时隙个数;n表示标签数量。根据式(11),单个标签在第k个帧中传输成功的概率可表示为

(12)

由式(12)可知,在k个帧中,单个标签进行重传的平均次数可表示为

(13)

将式(8)-式(9)、式(11)及式(13)代入式(10),单个标签在一轮盘点中的平均活动能耗可以表示为

(14)

因此,单个标签在一轮盘点中的平均活动消耗时间可表示为

(15)

Tsu=Tw+TwQ+TrQ+TwsL/2+Tt+TwA+TrA

Tr=Tw+TwQ+TrQ+TwsL/2+Tt+TwA+Tto

其中,传输成功时间Tsu和传输失败时间Tr均为平均传输时间。

3.2 模型分析

在硬件的实际调试中,预唤醒命令的物理层数据帧为5个字节,其中包括2个前导字节、1个同步字节、1个循环冗余校验(Cyclic Redundancy Check,CRC)字节以及1个介质访问控制(Medium Access Control,MAC)数据字节。根据LoRa协议,FSK信道的数据速率可设置为38.4 kb/s。预唤醒命令的具体步骤为标签首先对SX1262进行多条SPI操作,SX1262随后需要等待晶振响应并准备锁相环。由文献[13]可知,预唤醒的空中时间是FSK数据帧长度与之比约为1.04 ms。SPI操作大约需要50 μs,等待晶振响应的TS_OSC大致为250 μs,准备锁相环的TS_FS大致为60 μs,因此,预唤醒休眠的耗时大约为1.4 ms。考虑到读写器的发送数据帧间隔为4 ms,预唤醒侦听的持续时间应至少为4 ms。

此外,由式(14)-式(15)可知,时隙数与标签数会影响标签活动状态的功耗,因此,选择合适的时隙可以降低标签的重传概率。

4 系统实现与性能测试

4.1 测试数据

在满足硬件要求的前提下,经过反复的实验调试,最终的测试参数为LoRa带宽B=20.8 kHz,扩频因子SF=10,时隙个数L=3,编码率CR=4/5。基于上述参数,测量得到的各状态持续时间及相应电流测试值如表1所示。

表1 各状态的时间及电流测试值

4.2 模型验证

根据功耗模型以及测试结果,可计算盘点一轮时标签的平均功耗。由文献[5]可知,标签数与时隙数相等时识别效率达到最高。在标签数等于时隙个数时标签消耗能量与标签个数的关系,如图4所示。当标签数目增多时,标签之间更容易发生碰撞,这使得标签的重发次数增加并消耗更多的能量。从图4中可以看出,随着标签数量的增加,单个标签的能量消耗也随之增大。

图4 标签数等于时隙数时单个标签平均功耗

根据测试结果,可以计算标签的平均功耗并进一步验证所提功耗模型。

图5给出了单个标签平均功耗值随标签数量变化的曲线,其中设计模型的理论数值为标签盘点100次的平均功耗。从图5可以看出,理论曲线与实测曲线基本拟合。在时隙数与标签数都等于8时,实测数值与设计模型的理论数值几乎完全拟合,因此,寿命分析中选择L=n=8分析电池寿命。式(15)的理论平均传输时间与标签数目有直接关系,进而导致功耗计算出现误差。因此,相对于理论功耗值,实测功耗值在标签数目较小时整体偏高,在标签数目较大时较低。

图5 单个标签平均功耗模型验证

根据测试结果,可计算标签的平均时间并进一步验证所提功耗模型。图6给出了单个标签平均传输时间值随标签数量变化的曲线,其中设计模型的理论数值等于标签盘点100次的平均时耗。图6的结果与图5基本保持一致,在时隙数与标签数均等于8时,实测数值与设计模型的理论数值几乎完全拟合。从图6中可以看出,相对于理论功耗值,实测功耗值在标签数目较小时整体偏高,而在标签数目较大时较低,表明所建立的功耗模型是较为准确的。

4.3 寿命分析

由式(1)-式(3)可知,标签功耗与预唤醒周期、唤醒周期以及活动周期相关,则标签每天盘点一次的功耗为

Ed=U(hms-Tav-Tsl-Tl)(TpsIpsTplIpl)+
U(TsIs+TlIl)+Eav

(16)

其中:h表示每天的小时数;m表示每小时的分钟数;s表示每分钟的秒数。盘点一轮后,当SF=10,B=20.8,L=8,n=8时,单个标签的平均活动功耗Eav=4.9 J。此外,当SF=10,B=20.8,L=8,n=8时,单个标签盘点一轮的平均时长Tav≈37 s。所采用的电池容量为8 000 mAh,在计算过程中暂不考虑电池的效率和自放电参数。根据式(16)能计算出标签一天的耗能,进而得出电池为标签供能的时间。

不同预唤醒周期的标签寿命对比情况如图7所示,从图7可以看出,加入预唤醒命令后单个标签工作寿命随预唤醒侦听时间变化的曲线,预唤醒的休眠侦听总周期范围为1~60 s。预唤醒的整体休眠侦听周期越长、侦听时间越短,标签的工作寿命就越长。

图8给出了有无预唤醒命令的标签工作寿命对比情况,加入预唤醒命令后,在预唤醒命令为4 ms时,单个标签有预唤醒命令与无预唤醒命令的寿命对比。从图8可以看出,相比于无预唤醒命令的标签,标签在加入预唤醒命令后的工作寿命大幅度提高。

图8 有无预唤醒命令的标签工作寿命对比

在预唤醒侦听时间为4 ms的理想情况下,表2给出了不同预唤醒周期及盘点频率下的电池寿命。由表2可知,当预唤醒周期越长且盘点频率越低时,电池的寿命越长。然而,该趋势可能会引发标签的漏检情况。因此,在实际应用中需要灵活选择最佳盘点方案。

表2 预唤醒周期与盘点频率不同时的电池寿命/年

5 结语

提出了一种基于LoRa协议与帧时隙ALOHA算法的低功耗有源电子标签的实现方法。分析了各硬件组件模块的功耗特征并建立功耗模型。以Keil 5作为平台,完成了软件部分的功耗优化。加入预唤醒机制,讨论了标签休眠周期对标签寿命的影响。测试实验表明,所提出的功耗模型及其相应的分析方法符合实际情况。

猜你喜欢

读写器时隙电子标签
基于阵列天线的数据时隙资源比例公平动态分配方案设计
基于伪随机数发生器的双向认证协议
宁波轨道交通AFC系统读写器测试平台设计
基于时分多址的网络时隙资源分配研究
Link—16中继时隙自适应调整分配技术研究
浅析RFID在图书管理系统中的应用
一种车载网络中基于簇的时隙碰撞解决方法
基于国家标准的UHF RFID读写器数字基带系统设计
RFID技术在固定资产管理中应用研究
基于Intel R1000的超高频RFID读写器设计