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. 【Udacity并行计算课程笔记】- Lesson 3 Fundamental GPU Algorithms (Reduce, Scan, Histogram)

    本周主要内容如下: 如何分析GPU算法的速度和效率 ​​3个新的基本算法:归约.扫描和直方图(Reduce.Scan.Histogram) 一.评估标准 首先介绍用于评估GPU计算的两个标准: ste ...

  2. 【逆向工具】IDA使用6-签名文件制作

    0x1 签名文件制作的方法: 找到静态编译的程序库 使用IDA中的fair工具包,对静态库操作,生成特征库(IDA6.8 是flair68.zip) 0x2 步骤 第一步:使用pcf生成对应静态库的p ...

  3. gdb 调试入门,大牛写的高质量指南

    引用自:http://blog.jobbole.com/107759/ gdb 调试 ncurses 全过程: 发现网上的“gdb 示例”只有命令而没有对应的输出,我有点不满意.gdb 是 GNU 调 ...

  4. freeRTOS中文实用教程3--中断管理之中断嵌套

    1.前言 最新的 FreeRTOS 移植中允许中断嵌套.中断嵌套需要在 FreeRTOSConfig.h 中设置configKERNEL_INTERRUPT_PRIORITY 和configMAX_S ...

  5. Shell脚本中执行sql语句操作mysql的5种方法【转】

    对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的 ...

  6. kafka系列一、kafka安装及部署、集群搭建

    一.环境准备 操作系统:Cent OS 7 Kafka版本:kafka_2.10 Kafka官网下载:请点击 JDK版本:1.8.0_171 zookeeper-3.4.10 二.kafka安装配置 ...

  7. dubbo系列二、dubbo+zookeeper+dubboadmin分布式服务框架搭建(windows平台)

    一.zookeeper配置中心安装 1.下载安装包,zookeeper-3.4.6.tar.gz 2.解压安装包,修改配置文件 参考zookeeper-3.4.6/conf/zoo_sample.cf ...

  8. Centos6.5使用yum安装mysql——快速上手必备

    第1步.yum安装mysql [root@stonex ~]#  yum -y install mysql-server 安装结果: Installed:     mysql-server.x86_6 ...

  9. Vue.js——循环(Java、JSTL标签库、数据库)

    一.Vue.js循环 Vue.js循环要使用 v-for 指令. v-for 指令需要以 student in StudentList 形式的特殊语法使用, StudentList 是源数据数组并且s ...

  10. centos6.5下vsftpd服务的安装及配置并通过pam认证实现虚拟用户文件共享

    FTP的全称是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.它工作在OSI模型的第七层,即是应用层,使用TCP传输而不是UDP.这样FTP客户端和服务器建立 ...