SX1278 -数据包结构
LoRa™ 调制解调器采用隐式和显式两种数据包格式。其中,显式数据包的报头较短,主要包含字节数、编码率及是否在数据包中使用循环冗余 (CRC)等信息,数据包格式见下图。
LoRa™ 的数据包包含以下三个组成部分:
- 前导码
- 可选报头
- 数据有效负载
- 前导码
前导码用于保持接收机与输入的数据流同步。默认情况下,数据包含有12个符号长度的前导码。前导长度是一个可以通过编程来设置的变量,所以前导码的长度可以扩展。例如,在接收密集型应用中,为了缩短接收机占空比,可缩短前导码的长度。然而,前导码的最小允许长度就可以满足所有通讯需求。对于希望前导码是固定开销的情况,可以将前导码寄存器长度设置在6到65536之间来改变发送前导码长度,实际发送前导码的长度范围为6+4至65535+4个符号。这样几乎就可以发送任意长的前导码序列。接收机会定期执行前导码检测。因此,接收机的前导码长度应与发射机一致。如果前导码长
度为未知或可能会发生变化,应将接收机的前导码长度设置为最大值。 - 可选报头
根据所选择的操作模式,可以选用两种报头。在RegModemConfig1寄存器上,通过设定ImplicitHeaderModeOn位选择报头类型。
- 显示报头模式
显式报头模式是默认的操作模式。在这种模式下,报头包含有效负载的相关信息,包括以字节数表示的有效负载长度、前向纠错码率、是否打开可选的16位负载CRC。
报头按照最大纠错码(4/8)
- 显示报头模式