SX127x
(→CRC) |
(→CRC) |
||
第58行: | 第58行: | ||
* 0 ---> CRC disable | * 0 ---> CRC disable | ||
* 1 ---> CRC enable | * 1 ---> CRC enable | ||
+ | |||
+ | In Implicit Header Mode: must be set on Tx and Rx side | ||
In Explicit Header Mode: on the Tx side alone (recovered from the header in Rx side) | In Explicit Header Mode: on the Tx side alone (recovered from the header in Rx side) | ||
+ | |||
'''Explicit Header Mode Checking process:''' | '''Explicit Header Mode Checking process:''' | ||
第67行: | 第70行: | ||
如果 CrcOnPayload == 1,需要检查 IRQ 标志位 PayloadCrcError,以确保没有 CRC 错误 | 如果 CrcOnPayload == 1,需要检查 IRQ 标志位 PayloadCrcError,以确保没有 CRC 错误 | ||
− | |||
− | |||
<br><br> | <br><br> |
2019年4月22日 (一) 15:42的版本
1 Preamble
LoRa 数据包前导码,用于接收机辩识 rx data flow。内容固定,长度可选。
默认 12 个 symbol(Bytes?), 0x8 (RegPreambleLsb) + 4
可写 RegPreambleMsb 和 RegPreambleLsb 这两个寄存器,将其改为 6 +4 ~ 65535 +4
10 symbol 的短前导码,通信够用但具有更短的接收周期。。。
当前系统一般皆适用 12 (4 + 8) 的长度:
...... ^$Get Preamble Length: state 0 ^$Preamble Length: 8 ......
2 Header
Explicit Header & Implicit Header
可通过寄存器 RegModemConfig1 内的位 ImplicitHeaderModeOn 来控制
Explicit Header:
Reset 默认的模式。其能提供的信息:
- Payload 长度
- The forward error correction code rate
- The presence of an optional 16-bits CRC for the payload
The head is transmitted with maximum error correction code (4/8). It also has its own CRC to allow the receiver to discard invalid headers.
Implicit Header:
Header is removed from the LoRa Packet.
Payload, Coding Rate and CRC presence are fixed.
Be advantageous to reduce transmission time
3 CRC
RegPayloadCrcOn: RegModemConfig2[2:2]
- 0 ---> CRC disable
- 1 ---> CRC enable
In Implicit Header Mode: must be set on Tx and Rx side
In Explicit Header Mode: on the Tx side alone (recovered from the header in Rx side)
Explicit Header Mode Checking process:
用户负责检查 CrcOnPayload (RegHopChannel[6:6], CRC information extracted from the rx packet header)
如果 CrcOnPayload == 1,需要检查 IRQ 标志位 PayloadCrcError,以确保没有 CRC 错误