Lorawan协议详情说明书文档格式.docx
- 文档编号:15879005
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:53
- 大小:434.75KB
Lorawan协议详情说明书文档格式.docx
《Lorawan协议详情说明书文档格式.docx》由会员分享,可在线阅读,更多相关《Lorawan协议详情说明书文档格式.docx(53页珍藏版)》请在冰豆网上搜索。
将这份文档分开,是为了加入新地区参数时不影响基础的协议规范。
1.1LoRaWANClasses
所有的LoRaWAN设备都必须至少实现本文档描述的ClassA功能。
另外也可以实现本文档中描述的ClassB和ClassC及后续将定义的可选功能。
不管怎么样,设备都必须兼容ClassA。
1.2文档约定
MAC命令的格式写作
LinkCheckReq
(粗斜体),位和位域的格式写作
FRMPayload
(粗体),常量的格式写作RECEIVE_DELAY1,变量的格式写作N。
在本文档中,
∙所有多字节字段的字节序均采用小端模式
∙EUI是8字节字段,采用小端模式传输
∙默认所有RFU保留位都设为0
第2章LoRaWANClasses类型介绍
LoRa是由Semtech面向长距离、低功耗、低速率应用而开发的无线调制技术。
本文档中,将ClassA基础上实现了更多功能的设备称为“更高class终端”。
2.1LoRaWANClasses
LoRa网络包含基础LoRaWAN(称之为ClassA)和可选功能(ClassB,ClassC):
图1.LoRaWANClasses
∙双向传输终端(ClassA):
ClassA的终端在每次上行后都会紧跟两个短暂的下行接收窗口,以此实现双向传输。
传输时隙是由终端在有传输需要时安排,附加一定的随机延时(即ALOHA协议)。
这种ClassA操作是最省电的,要求应用在终端上行传输后的很短时间内进行服务器的下行传输。
服务器在其他任何时间进行的下行传输都得等终端的下一次上行。
∙划定接收时隙的双向传输终端(ClassB):
ClassB的终端会有更多的接收时隙。
除了ClassA的随机接收窗口,ClassB设备还会在指定时间打开别的接收窗口。
为了让终端可以在指定时间打开接收窗口,终端需要从网关接收时间同步的信标Beacon。
这使得服务器可以知道终端正在监听。
∙最大化接收时隙的双向传输终端(ClassC):
ClassC的终端基本是一直打开着接收窗口,只在发送时短暂关闭。
ClassC的终端会比ClassA和ClassB
更加耗电,但同时从服务器下发给终端的时延也是最短的。
2.2文档范围
这份LoRaWAN协议还描述了与ClassA不同的其他Class的额外功能。
更高Class的终端必须满足ClassA定义的所有功能。
注意:
物理层帧格式,MAC帧格式,以及协议中更高class和ClassA相同的内容都写在了ClassA部分,避免内容重复。
第3章PHY帧格式
LoRa有上行消息和下行消息。
3.1上行消息
上行消息是由终端发出,经过一个或多个网关转发给网络服务器。
上行消息使用LoRa射频帧的严格模式,消息中含有PHDR和PHDR_CRC。
载荷有CRC校验来保证完整性。
PHDR,PHDR_CRC及载荷CRC域都通过射频收发器加入。
上行PHY:
Preamble
PHDR
PHDR_CRC
PHYPayload
CRC
图2.上行PHY帧格式
3.2下行消息
下行消息是由网络服务器发出,经过单个网关转发给单个终端。
下行消息使用射频帧的严格模式,消息中包含PHDR和PHDR_CRC。
下行PHY:
图3.下行PHY帧格式
3.3接收窗口
每个上行传输后终端都要开两个短的接收窗口。
接收窗口开始时间的规定,是以传输结束时间为参考。
图4.终端接收时隙的时序图
3.3.1第一接收窗口的信道,数据速率和启动。
第一接收窗口RX1使用的频率和上行频率有关,使用的速率和上行速率有关。
RX1是在上行调制结束后的RECEIVE_DELAY1秒打开。
上行和RX1时隙下行速率的关系是按区域规定,详细描述在[LoRaWAN地区参数]文件中。
默认第一窗口的速率是和最后一次上行的速率相同。
3.3.2第二接收窗口的信道,数据速率和启动。
第二接收窗口RX2使用一个固定可配置的频率和数据速率,在上行调制结束后的RECEIVE_DELAY2秒打开。
频率和数据速率可以通过MAC命令(见第5章)。
默认的频率和速率是按区域规定,详细描述在[LoRaWAN地区参数]文件中。
3.3.3接收窗口的持续时间
接收窗口的长度至少要让终端射频收发器有足够的时间来检测到下行的前导码。
3.3.4接收方在接收窗口期间的处理
如果在任何一个接收窗口中检测到前导码,射频收发器需要继续激活,直到整个下行帧都解调完毕。
如果在第一接收窗口检测到数据帧,且这个数据帧的地址和MIC校验通过确认是给这个终端,那终端就不必开启第二个接收窗口。
3.3.5网络发送消息给终端
如果网络想要发一个下行消息给终端,它会精确地在两个接收窗口的起始点发起传输。
3.3.6接收窗口的重要事项
终端在第一或第二接收窗口收到下行消息后,或者在第二接收窗口阶段,不能再发起另一个上行消息。
3.3.7其他协议的收发处理
节点在LoRaWAN收发窗口阶段可以收发其他协议,只要终端能满足当地要求以及兼容LoRaWAN协议。
2梳理解析
LoRaWAN第3章,主要是讲了接收窗口这回事,只要记住张图就行。
目前RX1一般是在上行后1秒开始,RX2是在上行后2秒开始。
3源码分析
3.1源码流程
在梳理这章节的对应代码时,自己手动做了张思维导图。
有时是这样,代码再有层次感,也不及一个图。
好,请收下。
3.2发送完成就开始RX1和RX2延时
staticvoidOnRadioTxDone(void)
{
...
//Setuptimers
if(IsRxWindowsEnabled==true)
{
TimerSetValue(&
RxWindowTimer1,RxWindow1Delay);
TimerStart(&
RxWindowTimer1);
if(LoRaMacDeviceClass!
=CLASS_C)
RxWindowTimer2,RxWindow2Delay);
RxWindowTimer2);
}
if((LoRaMacDeviceClass==CLASS_C)||(NodeAckRequested==true))
AckTimeoutTimer,RxWindow2Delay+ACK_TIMEOUT+
randr(-ACK_TIMEOUT_RND,ACK_TIMEOUT_RND));
AckTimeoutTimer);
}
3.3接收窗口的射频处理
从上面一步,我们已经清晰的知道,对应的处理肯定是在OnRxWindow1TimerEvent和OnRxWindow2TimerEvent中。
这两个接收窗口的处理,会对速率和信道进行设置,按照LoRaWAN协议中文版_配套文件地区参数(物理层)
中对各地区的要求分别进行处理。
比如这个470的处理,对上行信道对48取余得到下行信道。
RxWindowSetup(LORAMAC_FIRST_RX1_CHANNEL+(Channel%48)*LORAMAC_STEPWIDTH_
第4章MAC帧格式
LoRa所有上下行链路消息都会携带PHY载荷,PHY载荷以1字节MAC头(MHDR)开始,紧接着MAC载荷(MACPayload),最后是4字节的MAC校验码(MIC)。
射频PHY层:
图5.射频PHY结构(注意CRC只有上行链路消息中存在)
PHY载荷:
MHDR
MACPayload
MIC
或者
Join-Request
Join-Response
图6.PHY载荷结构
MAC载荷:
FHDR
FPort
FRMPayload
图7.MAC载荷结构
FHDR:
DevAddr
FCtrl
FCnt
FOpts
图8.帧头结构
图9.LoRa帧格式元素(即图5~8)
4.1MAC层(PHYPayload)
Size(bytes)
1
1..M
4
MACPayload字段的最大长度M,在第6章有详细说明。
4.2MAC头(MHDR字段)
Bit#
7..5
4..2
1..0
MHDRbits
MType
RFU
Major
MAC头中指定了消息类型(MType)和帧编码所遵循的LoRaWAN规范的主版本号(Major)。
4.2.1消息类型(MType位字段)
LoRaWAN定义了六个不同的MAC消息类型:
joinrequest,joinaccept,unconfirmeddataup/down,以及confirmeddataup/down。
描述
000
JoinRequest
001
JoinAccept
010
UnconfirmedDataUp
011
UnconfirmedDataDown
100
ConfirmedDataUp
101
ConfirmedDataDown
110
111
Proprietary
表1.MAC消息类型
∙4.2.1.1Jo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Lorawan 协议 详情 说明书