一种用于无线水气表的同步唤醒及快速抄表算法

在这里插入图片描述
图1 通用的周期唤醒数据收发原理图
电池供电的无线系统中,为了尽可能的降低功耗,大部分时间无线表都处于休眠状态,这时产生一个问题:如果网关需要随时唤醒无线表,那该怎么办呢?答案是,设计一种优秀的“唤醒下发算法”,即采集器和无线表约定在一些时间窗口期通信。
本文采用的无线芯片是由Semtech开发的具有LoRa调制方式的SX1278。通常的做法是发送方的前导码长度要大于接收方周期唤醒的时间(如5秒一次),接收方周期唤醒后,进行CAD (信道活动检测)。如果检测到信号后,切换到接收模式,待数据收完且处理后,立马睡眠。如果没检测到信号,会马上进行睡眠模式。其原理如图1所示。
这种做法有很大的弊端,功耗会比较大。由于发送时,前导码长度要大于周期唤醒时间,一方面是接收方的接收时间最大会等于周期时间,接收时间比较长,导致功耗会大, 另一方面是不仅目的接收到会被唤醒,在接收范围内的其他无线表也会被唤醒,唤醒后通过地址比对发现不是自己的,就丢掉数据包,马上进入睡眠模式。
本文设计了一种同步唤醒及快速抄表算法,可以同时唤醒在接收范围内的所有无线表,此时所有被唤醒的表都处于接收模式,采集器通过指定目的地址,按个快速抄完所有的表。以一栋楼为单位,假设有100只表,按照本文算法,只需要30秒左右的时间就可以快速抄完。具体算法详解如下。
假设周期唤醒时间为t秒,采集器发送唤醒报文次数为n,可以算出报文在空中接收时间为t/n秒。发送报文次数越多,则表唤醒后的接收时间越短,则功耗更低。本文规定在发送报文中加入一个发送序号,来表示当前发的是第几帧,假设为第i帧,当表唤醒后,如果侦听到报文,就可以处理得到是第i帧,因此表可以继续睡眠(n-i)t/n秒,然后醒来打开侦听窗口,等待数据帧,如果10秒内未接收到任何抄表报文则进入周期唤醒状态。其原理图如图2所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值