LoRaWAN协议解析 第3章 PHY帧格式
2017-03-18 21:51
162 查看
1 前言
我正在陆续对《LoRaWAN102》即LoRaWAN协议规范 V1.0.2 版本(2016年7月定稿)协议的各个章节进行翻译。译文之外还对LoRaWAN协议和源码进行了解析,可点此查看帖子LoRa学习笔记_汇总。欢迎同行朋友们留言交流。
本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/
2 梳理解析
LoRaWAN第3章,主要是讲了接收窗口这回事,只要记住张图就行。目前RX1一般是在上行后1秒开始,RX2是在上行后2秒开始。
3 源码分析
3.1 源码流程
在梳理这章节的对应代码时,自己手动做了张思维导图。有时是这样,代码再有层次感,也不及一个图。好,请收下。3.2 发送完成就开始RX1和RX2延时
static void OnRadioTxDone( void ) { ... // Setup timers if( IsRxWindowsEnabled == true ) { TimerSetValue( &RxWindowTimer1, RxWindow1Delay ); TimerStart( &RxWindowTimer1 ); if( LoRaMacDeviceClass != CLASS_C ) { TimerSetValue( &RxWindowTimer2, RxWindow2Delay ); TimerStart( &RxWindowTimer2 ); } if( ( LoRaMacDeviceClass == CLASS_C ) || ( NodeAckRequested == true ) ) { TimerSetValue( &AckTimeoutTimer, RxWindow2Delay + ACK_TIMEOUT + randr( -ACK_TIMEOUT_RND, ACK_TIMEOUT_RND ) ); TimerStart( &AckTimeoutTimer ); } } ... }
3.3 接收窗口的射频处理
从上面一步,我们已经清晰的知道,对应的处理肯定是在OnRxWindow1TimerEvent和OnRxWindow2TimerEvent中。这两个接收窗口的处理,会对速率和信道进行设置,按照LoRaWAN协议中文版_配套文件 地区参数(物理层) 中对各地区的要求分别进行处理。
比如这个470的处理,对上行信道对48取余得到下行信道。
RxWindowSetup( LORAMAC_FIRST_RX1_CHANNEL + ( Channel % 48 ) * LORAMAC_STEPWIDTH_RX1_CHANNEL, datarate, bandwidth, symbTimeout, false );
4 End
That’s all.相关文章推荐
- LoRaWAN协议解析 第5章 MAC命令
- LoRaWAN协议中文版 第3章 PHY帧格式
- LoRaWAN协议解析 第6章 终端激活
- Dubbo原理解析-注册中心之基于dubbo协议的简单注册中心实现
- gh0st协议解析(1)
- 服务端使用c++实现websocket协议解析及通信
- TCP/IP详解读书笔记:ARP-地址解析协议
- 网络协议解析
- Http协议简单解析及web请求过程
- BD协议解析
- 视音频数据处理入门:UDP-RTP协议解析
- 蓝牙sdp协议源码解析
- 地址解析协议
- mysql 协议的退出命令包及解析
- 使用IMAP协议接收并解析电子邮件
- C# 串口操作系列(4) -- 协议篇,文本协议数据解析 .
- ARP(Address Resolution Protocol)地址解析协议
- rtmp协议简单解析以及用其发送h264的flv文件
- mysql 实时协议解析 第二版 (基于kafka)
- 用Netty解析Redis网络协议