
RM0453 Rev 2
175/1454
RM0453
Sub-GHz radio (SUBGHZ)
217
For each access, the sub-GHz radio SPI NSS goes low at the start of the transfer and is set
high at the end, after all bytes have been transfered.
The following transaction types are supported:
•
configuration transaction: provides the CPU with a direct access to control registers.
Used to write or read sub-GHz radio configuration registers or buffer memory.
•
command transaction: requires more complex, non-atomic operations such as packet
transmission and reception or operating mode changes
BUSY is used to indicate the status of the sub-GHz radio and its ability (or not) to receive a
SPI transaction. Prior to issuing a new SPI transaction, the CPU must check the BUSY
status to make sure a new transaction can be received by the sub-GHz radio.
5.8.1
Sub-GHz radio
command structure
The SPI command structure consists of an opcode and parameters when writing data to the
sub-GHz radio, and consists of a status when reading data.
In case of a write command that does not require any parameters, the CPU sent only an
opcode over the sub-GHz radio SPI interface.
In case of a write command that requires parameters, the opcode is followed immediately by
the parameter bytes. All parameters must be sent before the sub-GHz radio SPI NSS rising
edge, that terminates the command.
In case of a read command, the opcode is followed immediately by the status bytes. All
status must be received before the sub-GHz radio SPI NSS rising edge, that terminates the
command.
Command structure values are given in the table below.
5.8.2
Register and buffer access commands
Write_Register() command
Write_Register(Addr, Data0, Data1, to Datan)
allows a block of bytes to be
written in a contiguous memory area, starting from the specified address. The address is
auto incremented after each byte.
Table 34. Command structure
Command type
Byte 0
Byte 1:n
Write command without parameter
Opcode
Not applicable
Write command with parameters
Opcode
Parameters
Read command
Opcode
data
0
1
2
3
...
n+3
Opcode
Addr[15:0]
Data0[7:0]
...
Datan[7:0]
w
w
w
w
w
w