LoRaWAN 1.1 网络协议规范

LoRaWAN 1.1 版本封稿很久了也没有完整啃过一遍,最近边啃边翻译,趁着这个机会把它码下来。

如果觉得哪里有问题,欢迎留言斧正。

翻译不易,转载请申明出处和链接。


3 物理层帧格式

LoRa术语包含上行消息和下行消息。

3.1 上行消息

上行消息(uplink Message)是由终端发出,并由一个或多个网关转发至网络服务器。

上行消息使用LoRa射频帧的显式模式,即包含LoRa 物理层包头(PHDR)和包头CRC(PHDR_CRC)1,负载的的完整性校验由CRC来保证。

PHDR, PHDR_CRC和负载的CRC字段是通过射频收发器(transceiver)来嵌入的。

上行PHY:

Preamble PHDR PHDR_CRC PHYPayload CRC

图2 上行PHY帧格式

3.2 下行消息

下行消息(downLink message)是由服务器发出,通过一个网关转发给单个终端设备2

下行消息使用LoRa射频帧的显式模式,即包含LoRa物理层包头(PHDR)和包头CRC(PHDR_CRC)3

下行PHY:

Preamble PHDR PHDR_CRC PHYPayload

图3 下行PHY帧格式


1查看LoRa射频收发器的数据手册来了解LoRa射频帧的显性/隐性模式

2本文档不对服务器发送多播消息给大量节点进行描述

3现阶段不进行负载完整性校验,期望数据长度能尽可能短小,以此来减少对ISM频段使用的占空比限制。


3.3 接收窗口

终端设备在上行传输之后必须开启两个短暂的接收窗口。接收窗口的开始时间是以传输结束为起始点。

图四:终端设备接收间隙时序图

3.3.1 第一接收窗口的信道,数据速率和开始时间

第一接收窗口 RX1 使用的频率和上行频率有关,使用的数据速率和上行数据速率有关。RX1在上行调制完成后的RECEIVE_DELAY11秒(+/-20微秒)打开。上行和RX1时隙的下行数据速率之间的关系以不同区域不同特性地被定义在[LoRaWAN区域特性参数文档]。默认的第一窗口的数据速率和最后以此上行的数据速率相同。

3.3.2 第二接收窗口的信道,数据速率和开始时间

第二接收窗口使用固定的可配置的频率和数据速率,在上行调制完成后的RECEIVE_DELAY21秒(+/-20微秒)打开。频率和数据速率可以通过MAC命令修改(参见第5章节)。默认的频率和数据速率以不同区域不同特性地被定义在[LoRaWAN区域特性参数文档]。

3.3.3 接收窗口地持续时间

接收窗口的时间长度必须不能少于终端设备的射频收发器能有效检测到下行前导码的时间。

3.3.4 接收方在接收窗口期间的处理

如果在一个接收窗口中检测到前导码,直到下行帧被解调完毕之前,射频接收器保持工作。如果某一帧被检测到并且在随后的第一接收窗口被解调,且这一帧的地址和MIC(完整性)校验通过确认是这个终端设备的,那么终端设备不能再打开第二接收窗口。

3.3.5 网络给终端设备发送消息

如果网络想要发送一个下行消息给终端设备,那么应该准确的在两个接收窗口的起始点发起传输。如果一个下行在两个窗口均传输,那么在每个窗口传输的帧必须相同。

3.3.6 接收窗口的重要事项

终端设备在以下情况之前不能够传输另外的上行消息:

  • 前一次传输后在第一窗口或者第二窗口收到下行消息
  • 前次传输后的第二接收窗口已经过期(第一窗口或者第二窗口均未收到下行消息)

3.3.7 其他收发协议

节点在LoRaWAN收发窗口阶段可以收发其他的协议,只要终端设备能满足当地要求以及兼容LoRaWAN协议。


1RECEIVE_DELAY1和RECEIVE_DELAY2描述在第6章节

LoRaWAN 1.1 网络协议规范 - 3 物理层帧格式的更多相关文章

  1. LoRaWAN 1.1 网络协议规范 - 4 MAC 帧格式 Part II

    LoRaWAN 1.1 网络协议规范 LoRaWAN 1.1 版本封稿很久了也没有完整啃过一遍,最近边啃边翻译,趁着这个机会把它码下来. 如果觉得哪里有问题,欢迎留言斧正. 翻译不易,转载请申明出处和 ...

  2. LoRaWAN 1.1 网络协议规范 - 4 MAC帧格式 Part I

    LoRaWAN 1.1 网络协议规范 LoRaWAN 1.1 版本封稿很久了也没有完整啃过一遍,最近边啃边翻译,趁着这个机会把它码下来. 如果觉得哪里有问题,欢迎留言斧正. 翻译不易,转载请申明出处和 ...

  3. LoRaWAN 1.1 网络协议规范 - 5 MAC指令

    LoRaWAN 1.1 网络协议规范 LoRaWAN 1.1 版本封稿很久了也没有完整啃过一遍,最近边啃边翻译,趁着这个机会把它码下来. 如果觉得哪里有问题,欢迎留言斧正. 翻译不易,转载请申明出处和 ...

  4. LoRaWAN 1.1 网络协议规范 - 2 LoRaWAN选项介绍

    LoRaWAN 1.1 网络协议规范 LoRaWAN 1.1 版本封稿很久了也没有完整啃过一遍,最近边啃边翻译,趁着这个机会把它码下来. 如果觉得哪里有问题,欢迎留言斧正. 翻译不易,转载请申明出处和 ...

  5. LoRaWAN 1.1 网络协议规范 - 1 引言

    LoRaWAN 1.1 网络协议规范 LoRaWAN 1.1 版本封稿很久了也没有完整啃过一遍,最近边啃边翻译,趁着这个机会把它码下来. 如果觉得哪里有问题,欢迎留言斧正. 翻译不易,转载请申明出处和 ...

  6. 【网络】 数据链路层&物理层笔记

    数据链路层 简称链路层,功能在于将数据包封装成帧,控制帧对介质的访问.链路层连接了物理介质和其之上抽象层,可以使上层不用关心用什么方法在什么介质中传输信息. 在帧被传输时经过的每一跳,每个中间设备(通 ...

  7. 网络协议 3 - 物理层 和 MAC 层

    在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了.     今天,我们来认识下 物理层 和 MAC 层.     日常生活中,身为 90 后 ...

  8. 网络知识: 物理层PHY 和 网络层MAC

    PHY模块简介 物理层位于OSI最底层,物理层协议定义电气信号.线的状态.时钟要求.数据编码和数据传输用的连接器. 物理层的器件称为PHY. 上图里的灰色方框图里的就是PHY芯片内部模块图. MAC器 ...

  9. 黑客编程教程(三)Windows 网络协议

    首先介绍一下网络协议:网络协议是网络上所有设备之间通信规则的集合,他定义了通信时信息必须采用的格式和这些格式的意义.大多数 网络协议都采用分层体系结,每一层都建立在他的下层之上,向他的上一层提供服务, ...

随机推荐

  1. mysql 架构 ~ binlog_server

    一 简介 mysql binlog server 二 目的 实时备份线上的binlog 利用备份+binlog进行任何时间点的恢复 三  详细信息    1 基本命令 /usr/local/mysql ...

  2. windws 下 sublime Text 3 ·安装的安装与激活

    下载sublime 我们可以到官网进行下载对应的版本 https://www.sublimetext.com/3 如下是官网的内容(我选择的是Windows 64 bit). Sublime Text ...

  3. Activity生命周期详解

    http://blog.csdn.net/liuhe688/article/details/6733407 onPause 回到 onResume 的过程“在一般的开发中用不上”,但是作为开发者还是有 ...

  4. Maven入门-依赖管理(Jar包管理)(二)

    1       依赖管理(Jar包管理) 1.添加依赖  

  5. 用struts2 s2-045漏洞拿站记录

    浏览FreeBuf时发现的文章,新出的漏洞: http://www.freebuf.com/vuls/128668.html 漏洞一出,各位大神早就写出POC: http://www.reg008.c ...

  6. Docker容器命令

    ★根本前提:本地主机有镜像才能创建容器 ⒈docker run [Options] 镜像名称或镜像ID [Command] [Arg...] 用途:利用镜像创建容器实例 Options说明(常用):注 ...

  7. 【Python】JBOSS-JMX-EJB-InvokerServlet批量检测工具

    一.说明 在JBoss服务器上部署web应用程序,有很多不同的方式,诸如:JMX Console.Remote Method Invocation(RMI).JMXInvokerServlet.Htt ...

  8. openssl版本升级操作记录【转】

    需要部署nginx的https环境,之前是yum安装的openssl,版本比较低,如下:   [root@nginx ~]# yum install -y pcre pcre-devel openss ...

  9. java并发编程系列七:volatile和sinchronized底层实现原理

    一.线程安全 1.  怎样让多线程下的类安全起来 无状态.加锁.让类不可变.栈封闭.安全的发布对象 2. 死锁 2.1 死锁概念及解决死锁的原则 一定发生在多个线程争夺多个资源里的情况下,发生的原因是 ...

  10. 从LeNet-5到DenseNet

    一篇不错的总结:https://zhuanlan.zhihu.com/p/31006686