Radio Transceiver States

The state of the radio transceiver can be determined by reading the sub register SR_TRX_STATUS. The radio transceiver has two groups of states. The first group (basic radio transceiver states) consists of states, which can be directly set by writing to the command register SR_TRX_CMD or changing the level of the pin TRX_PIN_SLP_TR. The second group includes all states, which are reached temporarily during a radio transceiver transaction or at power up. In order to simplify the MSC diagrams, various states are combined to state groups and pseudo states

Basic Radio Transceiver States

State Comment
SLEEP see section Transitions to/from State SLEEP [15]
TRX_OFF see section Transitions to State TRX_OFF [08]
PLL_ON see section Transitions to State PLL_ON [09]
RX_ON see section Transitions to State RX_ON [06]
RX_ON_NOCLK see section Transitions to State RX_ON [06] while the pin TRX_PIN_SLP_TR is HIGH.
RX_AACK_ON see section Transitions to State RX_AACK_ON [22]
RX_AACK_ON_NOCLK see section Transitions to State RX_AACK_ON [22] while the pin TRX_PIN_SLP_TR is HIGH
TX_ARET_ON see section Transitions to State TX_ARET_ON [25]

Transient Radio Transceiver States

State Comment
P_ON This state is reached only during power up of the radio transceiver. If this state is left once, it will be reached only with the next power up.
BUSY_TX This state is reached during a frame transmission in basic operating mode.
BUSY_RX This state is reached during a frame reception in basic operating mode.
BUSY_TX_ARET This state is reached during a frame transmission in TX_ARET mode.
BUSY_RX_AACK This state is reached during a frame reception in RX_AACK mode.
BUSY_RX_AACK_NOCLK This state is reached during frame reception in RX_AACK mode, while TRX_PIN_SLP_TR is HIGH.
STATE_TRANSITION [0x1f] This state means, that an internal transaction of the radio transceiver is in progress and the status needs to be read another time, in order to obtain a valid result.

State Groups and Pseudo States

State Group States
[READY]any state except P_ON
[ACTIVE]any state except P_ON and SLEEP
[AWAKE]any state except SLEEP
[PLL_ACTIVE]RX_ON, PLL_ON, TX_ARET_ON, RX_AACK_ON
[PLL_BASIC]PLL_ON, RX_ON
[RX_BASIC]RX_ON, BUSY_RX
[NOT_RX_AACK] TRX_OFF, RX_ON, PLL_ON, TX_ARET_ON, BUSY_TX, BUSY_RX, BUSY_TX_ARET
[FTN] TRX_OFF, PLL_ON
[TX_BUSY]BUSY_TX, BUSY_TX_ARET
[RX_BUSY]BUSY_RX, (BUSY_RX_AACK_MATCH)
[BUSY][TX_BUSY], [RX_BUSY]
[BUSY_BASIC]BUSY_TX, BUSY_RX
[CMD]TRX_OFF, RX_ON, PLL_ON, TX_ARET_ON, RX_AACK_ON
(all states which can be reached by writing to the SR_TRX_CMD sub register)
(BUSY_DEFAULT) This is a pseudo state. It is a symbol for the default fallback state for any of the busy states.
BUSY_TX => PLL_ON / BUSY_RX => RX_ON / BUSY_TX_ARET => TX_ARET_ON / BUSY_RX_AACK => RX_AACK_ON
(BUSY_RX_AACK_MATCH) pseudo state for BUSY_RX_AACK / BUSY_RX_AACK_NOCLK when the received frame does match the address filter and has an valid FCS. In this case the interrupt TRX_IRQ_TRX_END is generated..
(BUSY_RX_AACK_NOMATCH) pseudo state for BUSY_RX_AACK / BUSY_RX_AACK_NOCLK when the received frame does not match the address filter or/and has an invalid FCS. In this case no interrupt TRX_IRQ_TRX_END is generated.

Generated on Fri Aug 10 16:10:02 2007 for SWPM AT86RF230 Rev. A by  doxygen 1.5.2