概述
LoRa数据包结构分析及数据传输时间的计算
- LoRa数据包结构和数据格式的分析
- 1、Preamble
- 2、Header
- 2.1 显式报头模式
- 2.2 隐式报头模式
- 3、Payload
- 4、数据传输时间的计算
- 博主热门文章推荐:
LoRa数据包结构和数据格式的分析
LoRa有两种数据包格式:显示和隐式
其中显示数据包的报头较短,主要包含字节数、编码率及是否使用CRC等信息。
LoRa数据包包含:
- Preamble(前导码)
- Header(可选类型的报头)
- Payload(数据有效负载)
如下图:
1、Preamble
前导码用于保持接收机与输入的数据流同步。。作用是提醒接收芯片,即将发送的是有效信号,注意接收,以免丢失有用信号,当前导码发送完毕后,会立即发送有效数据。。
默认Preamble数据size为12个符号长度,长度可以根据实际应用扩展(内部变量)。。例如:在接收密集型应用中,为了缩短接收机占空比,可以缩短前导码长度。。实际发送前导码长度范围为6+4 ~ 65535 +4个符号。。。
LoRa的接收机会定期检测前导码。。因此接收和发射端前导码长度需一致,如果未知,应将接收机的前导码长度设置为最大值。
2、Header
可以通过操作模式,选择显示/隐式两种Header类型:在RegModemConfig1寄存器上,通过设定ImplicitHeaderModeOn选择。
2.1 显式报头模式
LoRa默认都为显式Header模式,在这种模式下,Header会包含Payload的相关信息,包括:
- Payload长度(byte)
- 前向纠错编码率
- 是否使用CRC(16位)
Header按照最大纠错码(4/8)发送,另外Header还包含自己的CRC,接收机可以先Check该项以丢弃无效Header数据包。。
2.2 隐式报头模式
在特定情况下,如果Payload长度、编码率以及CRC为固定值或已知,则可以通过隐式Header模式来缩短发送时间。。该情况下 ,需要手动设置无线链路两端的Payload长度、错误编码率以及CRC。。。
注意:如果扩频因子SF设为6,则只能使用隐式报头模式
3、Payload
数据包有效负载Payload是一个长度不固定的字段,实际长度和编码率CR则可以由显式Header模式下的报头制定或者由隐式模式下在寄存器的设置来决定。。另外,还可以选择在Payload中包含CRC。。。Payload是在FIFO中读写。。。
4、数据传输时间的计算
由上一节http://blog.csdn.net/HowieXue/article/details/78028881可以得出Rs,则单个LoRa数据包的符号周期Ts:
Ts=1/Rs
其中,LoRa数据包总传输时间,等于前导码传输时间Tpre+数据包传输时间Tpay。前导码传输时间即为:
Tpre = (Npre+4.25)Tpay
其中,Npre表示已设定的前导码长度,(可以读取RegPreambleMsb和RegPreambleLsb寄存器得到),Payload有效负载的时间Tpay取决于所使用的报头模式。。。
计算Payload符号数的公式如下:
因此,总传输时间实际为:
Tpacket = Tpre + payloadSymNb*Tpay
博主热门文章推荐:
一篇读懂系列:
- 一篇读懂无线充电技术(附方案选型及原理分析)
- 一篇读懂:Android/iOS手机如何通过音频接口(耳机孔)与外设通信
- 一篇读懂:Android手机如何通过USB接口与外设通信(附原理分析及方案选型)
LoRa Mesh系列:
- LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释
- LoRa学习:信道占用检测原理(CAD)
- LoRa/FSK 无线频谱波形分析(频谱分析仪测试LoRa/FSK带宽、功率、频率误差等)
网络安全系列:
- ATECC508A芯片开发笔记(一):初识加密芯片
- SHA/HMAC/AES-CBC/CTR 算法执行效率及RAM消耗 测试结果
- 常见加密/签名/哈希算法性能比较 (多平台 AES/DES, DH, ECDSA, RSA等)
- AES加解密效率测试(纯软件AES128/256)–以嵌入式Cortex-M0与M3 平台为例
嵌入式开发系列:
- 嵌入式学习中较好的练手项目和课题整理(附代码资料、学习视频和嵌入式学习规划)
- IAR调试使用技巧汇总:数据断点、CallStack、设置堆栈、查看栈使用和栈深度、Memory、Set Next Statement等
- Linux内核编译配置(Menuconfig)、制作文件系统 详细步骤
- Android底层调用C代码(JNI实现)
- 树莓派到手第一步:上电启动、安装中文字体、虚拟键盘、开启SSH等
- Android/Linux设备有线&无线 双网共存(同时上内、外网)
AI / 机器学习系列:
- AI: 机器学习必须懂的几个术语:Lable、Feature、Model…
- AI:卷积神经网络CNN 解决过拟合的方法 (Overcome Overfitting)
- AI: 什么是机器学习的数据清洗(Data Cleaning)
- AI: 机器学习的模型是如何训练的?(在试错中学习)
- 数据可视化:TensorboardX安装及使用(安装测试+实例演示)
最后
以上就是无私云朵为你收集整理的LoRa数据包结构分析及数据传输时间的计算LoRa数据包结构和数据格式的分析1、Preamble2、Header3、Payload4、数据传输时间的计算博主热门文章推荐:的全部内容,希望文章能够帮你解决LoRa数据包结构分析及数据传输时间的计算LoRa数据包结构和数据格式的分析1、Preamble2、Header3、Payload4、数据传输时间的计算博主热门文章推荐:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复