RM0453 Rev 5 205/1450
RM0453 Sub-GHz radio (SUBGHZ)
227
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.