
Sub-GHz radio (SUBGHZ)
RM0453
204/1454
RM0453 Rev 2
5.9
Sub-GHz radio application configuration
The sub-GHz radio is controlled via the SPI command interface. The following sections
describe the basic sequence for some sub-GHz radio operations.
After releasing the sub-GHz radio reset and waking it up with sub-GHz radio SPI NSS, the
sub-GHz radio automatically performs a calibration and enters Standby mode. When the
sub-GHz radio is already active, the Standby mode can be requested by
Set_Standby()
.
Once BUSY goes low, the sub-GHz radio can be set in Active mode.
5.9.1
Basic sequence for LoRa, (G)MSK and (G)FSK transmit operation
The sub-GHz radio can be set in LoRa, (G)MSK or (G)FSK transmit operation mode with
the following steps:
1.
Define the location of the transmit payload data in the data buffer, with
Set_BufferBaseAddress()
.
2. Write the payload data to the transmit data buffer with
Write_Buffer()
.
3. Select the packet type (generic or LoRa) with
Set_PacketType()
.
4. Define the frame format with
Set_PacketParams()
.
5. Define synchronization word in the associated packet type SUBGHZ_xSYNCR(n) with
Write_Register(
)
.
6. Define the RF frequency with
Set_RfFrequency()
.
7. Define the PA configuration with
Set_PaConfig()
.
8. Define the PA output power and ramping with
Set_TxParams()
.
9. Define the modulation parameters with
Set_ModulationParams()
.
10. Enable TxDone and timeout interrupts by configuring IRQ with
Cfg_DioIrq()
.
11. Start the transmission by setting the sub-GHz radio in TX mode with
Set_Tx()
. After
the transmission is finished, the sub-GHz radio enters automatically the Standby mode.
12. Wait for sub-GHz radio IRQ interrupt and read interrupt status with
Get_IrqStatus()
:
a) On a TxDone interrupt, the packet is successfully sent
b) On a timeout interrupt, the transmission is timeout.
13. Clear interrupt with
Clr_IrqStatus()
.
14. Optionally, send a
Set_Sleep()
command to force the sub-GHz radio in Sleep mode.