Sub-GHz radio (SUBGHZ)
The following steps are performed:
1.
Save sub-GHz radio configuration.
2.
Enter Receive mode and listen for a preamble for the specified RxPeriod period.
3.
Upon the detection of a preamble, the RxPeriod timeout is stopped and restarted with
the value 2 x RxPeriod +SleepPeriod. During this new period, the sub-GHz radio looks
for the detection of a synchronization word when in (G)FSK modulation mode, or a
header when in LoRa modulation mode.
4.
If no packet is received during the listen period defined by 2 x RxPeriod + SleepPeriod,
the Sleep mode is entered for a duration of SleepPeriod. At the end of the receive
period, the sub-GHz radio takes some time to save the context before starting the sleep
period.
5.
After the sleep period, a new listening period is automatically started. The sub-GHz
radio restores the sub-GHz radio configuration and continuous with step 2.
The listening mode is terminated in one of the following cases:
•
if a packet is received during the listening period: the sub-GHz radio issues a RxDone
interrupt and enters Standby mode.
•
if SetStandby() is sent during the listening period or after the sub-GHz has been
requested to exit Sleep mode by sub-GHz radio SPI NSS
0
Opcode
w
byte 0
bytes 3:1
bytes 6:4
Receive period duration is computed as follows:
Receive period duration = RxPeriod x 15.625 μs (max receiver duration = 262.14 s)
Sleep period duration is computed by the following formula:
Sleep period duration = SleepPeriod x 15.625 us (max sleep duration = 262.14 s)
For correct operation, the following must be respected:
•
(G)FSK modulation: T
•
LoRa modulation: T
Sub-GHz radio
mode
180/1454
1
2
RxPeriod[23:0]
w
w
bits 7:0 Opcode: 0x94
bits 23:0 RxPeriod[23:0]: Receive duration
0x000000: Receiver duration disabled, receiver remaining active until a
packet is detected
0x000001 - 0xFFFFFF: Receive duration, resolution 15.625 μs
bits 23:0 SleepPeriod[23:0]: Sleep duration, resolution 15.625 μ
preamble
preamble
Figure 17. Receiver listening mode timing
Sleep
Standby and SF
RM0453 Rev 2
3
w
+ T
< 2 x RxPeriod + SleepPeriod
syncword
+ T
< 2 x RxPeriod + SleepPeriod
header
RxPeriod
2 x RxPeriod + SleepPeriod
Preamble detection
4
5
SleepPeriod[23:0]
w
w
RX
context
RM0453
6
w
Save
Sleep
MSv62623V1
Need help?
Do you have a question about the STM32WL55JC and is the answer not in the manual?