无线网络应用中,通常要求节点尽可能休眠,最大限度降低功耗,但又希望节点能尽可能及时地收发无线数据,这似乎是个不可调和的矛盾。

但是有个神奇的功能,空中唤醒。节点即使处于休眠,当需要节点工作时可以直接通过无线手段唤醒该节点。很多人第一次听到,都觉得不可思议。希望看完今天这篇文章,你能搞明白这件事。

本文首发于微信公众号twowinter,转载请注明作者:http://blog.csdn.net/iotisan/

点此进入公众号查看。

一、介绍

本尊贵为IoT小能手,物联网世界的什么东西没见过。(啊!吹个牛逼而已,用得着飞砖头过来吗!过分)

这个牛逼功能的英文名是WOR(Wake On Radio)。

它在很多上游芯片方案中已经有应用,TI系列的无线芯片中很多都带有这个功能,比如CC1310,以及我正在玩的LoRa芯片SX1276。
它在很多网络协议中也已经有应用,B-MAC,X-MAC,甚至大家常见的ZigBee协议中也有一个很少人知道的概念“休眠路由”。
它在很多物联网操作系统中也有应用,比如TinyOS,以及在我心中排名第一的Contiki,称之为“radio duty cycling mechanism”。

二、基础原理

原理简单说,就是在有效数据前头加一段较长的前导码,无线节点进行周期性地唤醒,监听下网络。一旦捕捉到前导码就进入正常的接收流程,若没有就立即休眠,等待下一次唤醒。

为了让数据传输时,无线节点不会错过有效数据,机制上要保证前导码的持续时间要略长于节点的休眠时间。

图片来源于LoRa官方AN文档《LoraLowEnergyDesign_STD.pdf》。

上面是不带应答的情况,如果是单播方式需要应答的话,情况也差不多。

三、深入学习

好了,有了如上的初步解释,大家应该差不多明白了。接下去的内容会轻微烧脑,希望我的讲解没把大家绕晕。

围绕这个基础原理,有一些人做了优化演绎,大致有这些情况。

1.前导码变种

Contiki的作者Adam Dunkels(假装对外国人很熟,是比较简单地一项装逼手段),他在2011年的论文中介绍了其空中唤醒机制,他将唤醒探针(也就是前导码)做了变化,与普通前导码0101的循环不同,它是将数据包做了多次循环发送。

上面是不带应答的情况,而应答的空中唤醒示意图是这样:

相同的做法也出现在TinyOS中。

2.快速休眠

多数据包的前导码方式额外带来了第二种优化方法,可以让节点更加的省电。通常空中唤醒最大难点是会被噪音误唤醒,因为监测前导码是采用信道监听,判断信道的RSSI是否大于某个阈值。一旦有噪音,则这次唤醒就白白耗了一个周期的电。

但是噪音有一个特点是,无规则,持续性。由于多个数据包做的前导码中带有固定间隔的休息时间,因此这个休息时间可以用来将前导码和噪音有效区别开。如果不小心被噪音唤醒,节点在接下来没检测到静默周期,则可确认是噪音,那么就立即睡眠以省电。如图:

Contiki由于是一个通用型系统,因此这种快速休眠处理方式是在软件层面的优化处理。

LoRa的快速休眠方式则有所不同,由于调制技术优势使得其CAD能从噪声中判断有效前导码,所以在第一阶段就能避免误唤醒。另外还有一个优点是在硬件内部(如SX1276系列)就做了优化,可以在未收到完整数据包下就判断是否发给本地址,从而来节点更快做出应对处理。

3.传输锁相

用通俗的话来讲解深奥的内容一直是本尊的强项,且听我道来:
节点A在与中心节点交互过一次之后,中心节点就记住了节点A的发送时刻(所谓的相)和周期。因此在下一次要唤醒节点A的时候,只需根据预估的节点A的唤醒时间点,准点去唤醒节点A就可以了。

这一个优化,虽然没有给节点A带来功耗上的优化,却降低了整个网络的负载,提高了信道的利用率。

四、展开来说

到此为止,关于空中唤醒技术的原理性讲解基本结束。本文只是知识点科普,限于个人水平和精力还无法讲更多更深的东西。如果你是工程师,文中涉及一些概念希望能引起你的注意,抓住关键词去搜索延伸,你应该会得到更多。

最直接的,空中唤醒技术在很多行业都是个刚需,可以为你负责的产品增加些卖点,也许你就因此升职加薪走向人生巅峰。

其次,你会从一个更高的高度对其他厂家的空中唤醒技术有些认识。我给大家举个例子,限于行业身份,我就不公开说是哪家企业了。

XX公司的唤醒算法

  1. 采用CAD侦听,让LoRa终端更节能;采用锁相同步唤醒技术,让LoRa通信带宽更佳利用;
  2. 采用快速地址匹配技术,使“非目标地址”LoRa终端快速休眠;
  3. 采用跳频技术,让唤醒和数据通信从频率是分开,减少干扰;

举这个例子,想告诉大家,理解了技术原理后,你就可以看懂别人说的是什么,是否真的很厉害。
当然不是说这家公司的产品不过尔尔,你可能理解了这个原理,但实现这些功能的背后肯定有很多付出和技术沉淀,要看到别人有哪些值得学习的地方,纸上谈兵永远是最简单的事情。

五、最后

在整理这些资料的时候,有一个感悟,虽然这个世界上的很多东西已经很难有大的创新了,但还是有很多优秀的人,踏实地利用自己才华贡献一点点小创新,帮助这个世界变地更美好。在此向Adam Dunkels等前辈致敬!

这篇文章写地比较用心,从技术深度上和自我思考的深度上都是目前已产出的文章中比较靠前的。希望你也能喜欢,欢迎留言,收藏,甚至分享它。


无线节点的空中唤醒技术解析相关推荐

  1. LoRa笔记03 LoRa sx1276 sx1278空中唤醒研究

    一.前言 前面在无线节点的空中唤醒技术解析中由浅入深地对空中唤醒技术做了讲解,讲地非常好,建议大家多看几遍(卧槽,谁又砸砖头!).这篇笔记将讲LoRa节点的空中唤醒具体应用. 我正在学习LoRa和Lo ...

  2. 【案例分享】无线唤醒技术在灌溉系统上的应用案例

    概述 农业是一个国家的经济命脉,国家的发展离不开农业的发展.我国作为农业大国之一,随着农业的发展,农业用水占比也越来越高.并且我国目前农业上的灌溉主要还是以传统的人工灌溉为主. 传统的人工灌溉主要有3 ...

  3. 以色列技术!Amimon无线WHDI技术解析

    转自:http://www.pcpop.com/doc/0/579/579310_all.shtml Amimon WHDI技术独家解析 泡泡网高清频道9月23日 今年年初,本站独家撰写有关无线技术的 ...

  4. 什么是空中下载技术?学嵌入式必看!

    01  简介 1.1  概念 OTA:Over-the-Air Technology,即空中下载技术. OTA升级:通过OTA方式实现固件或软件的升级. 只要是通过无线通信方式实现升级的,都可以叫OT ...

  5. 原生革命--跨平台开发技术解析

    这篇文章,我将着重分析当前主流跨平台开发解决方案(偏架构)如Flutter.RN.Weex.Hybrid App,并对新晋跨端解决方案Fusion和Chameleon做一些分析,在传统原生开发不断被唱 ...

  6. 802.11技术解析

    其实,802.11a/b/g/n等术语是用来描述无线网卡兼容相关无线通讯协议的指标,它直接影响到你选购的笔记本电脑在不同无线网络中兼容性与速率.802.11是无线网络协议家族其中的一个标记名称,也是无 ...

  7. CPU三级缓存技术解析

    CPU三级缓存技术解析 cpu存取数据 cpu存取数据大致可以认为是下图的流程(此处图比较简单) cpu拿到需要的内存地址,之后这个地址会被mmu转换成真正的物理地址,接下来会去查接下来查L1 cac ...

  8. Microbiome:利用Nanopore高通量测序技术解析污水处理体系可移动抗性基因组(一作解读)

    文章目录 Microbiome:利用Nanopore高通量测序技术解析污水处理体系可移动抗性基因组 背景解读 结果分析 一.携带抗性基因的质粒和整合性结合元件在污水处理体系抗性组中占主导地位 二.快速 ...

  9. Webbots、Spiders和Screen Scrapers:技术解析与应用实践(原书第2版)

    <Webbots.Spiders和Screen Scrapers:技术解析与应用实践(原书第2版)> 基本信息 原书名: Webbots,Spiders,and Screen Scrape ...

最新文章

  1. php返回结果判断,老司机在判断返回结果时翻了个身(ThinkPHP)
  2. 菜鸟教程python3 mysql_MySQL 教程
  3. 互联网产品经理的核心竞争力是什么呢?
  4. h5打开app_移动端产品比较分析:APP、小程序、H5
  5. java对接短信接口
  6. LHC有望揭示新的物理学理论
  7. TVM: End-to-End Optimization Stack for Deep Learning
  8. c++11后面引入的新特性(三)
  9. 安卓学习专栏——安卓报错Version 28 (intended for Android Pie and below) is the last version of the legacy suppor
  10. 【IDEA使用教程】IDEA快捷键
  11. OS X EI Captan 中Rootless
  12. Meta官方吐槽大会?Connect 2022卡马克演讲全文回顾
  13. 网络教育要考计算机和英语作文,写一篇关于远程教育的英语作文关于远程教育的优缺点、利与弊和自己的观点。...
  14. 聚类算法——python实现SOM算法
  15. 猫眼电影院爬虫(可用)
  16. [QT操作XML]QT读写XML文件,QT修改XML文件
  17. Cisco Packet Tracer 8.0 下载与汉化
  18. 奥比中光深度摄像头_奥比中光深度摄像头NiViewer.exe
  19. 交易员偏爱市场的理由
  20. 百度网盘如何下载下载ed2k链接

热门文章

  1. Bubble(17)
  2. ResNet50网络结构
  3. Jquery(四)对象遍历及特效
  4. QPS、TPS、PV、UV、RPS、IP、GMV、DAU、MAU
  5. 模式分解的无损连接性之深入剖析
  6. 使用Bootstrap制作网页主界面、增加界面
  7. 存储资源调优技术——SmartDedupe智能数据重删、SmartCompression智能数据压缩技术
  8. js 递归函数(函数自己调用自己)
  9. android黑科技系列——微信抢红包插件原理解析和开发实现
  10. BarChart 柱状图 实例