49
8111C–MCU Wireless–09/09
AT86RF231
7.2.1
State Control
The Extended Operating Mode states RX_AACK and TX_ARET are controlled via register bits
TRX_CMD (register 0x02, TRX_STATE), which receives the state transition commands. The
completion of each state change command shall always be confirmed by reading the register
0x01 (TRX_STATUS).
RX_AACK - Receive with Automatic ACK
A state transition to RX_AACK_ON from PLL_ON or TRX_OFF is initiated by writing the com-
mand RX_AACK_ON to the register bits TRX_CMD. The state change can be confirmed by
reading register 0x01 (TRX_STATUS), those changes to RX_AACK_ON or BUSY_RX_AACK
on success. The latter one is returned if a frame is currently about being received.
The RX_AACK state is left by writing command TRX_OFF or PLL_ON to the register bits
TRX_CMD. If the AT86RF231 is within a frame receive or acknowledgment procedure
(BUSY_RX_AACK) the state change is executed after finish. Alternatively, the commands
FORCE_TRX_OFF or FORCE_PLL_ON can be used to cancel the RX_AACK transaction and
change into radio transceiver state TRX_OFF or PLL_ON, respectively.
TX_ARET - Transmit with Automatic Retry and CSMA-CA Retry
Similarly, a state transition to TX_ARET_ON from PLL_ON or TRX_OFF is initiated by writing
command TX_ARET_ON to register bits TRX_CMD. The radio transceiver is in the
TX_ARET_ON state after TRX_STATUS (register 0x01) changes to TX_ARET_ON. The
TX_ARET transaction is started with a rising edge of pin 11 (SLP_TR) or writing the command
TX_START to register bits TRX_CMD.
The TX_ARET state is left by writing the command TRX_OFF or PLL_ON to the register bits
TRX_CMD. If the AT86RF231 is within a CSMA-CA, a frame-transmit or an acknowledgment
procedure (BUSY_TX_ARET) the state change is executed after finish. Alternatively the com-
mand FORCE_TRX_OFF or FORCE_PLL_ON can be used to instantly terminate the TX_ARET
transaction and change into radio transceiver state TRX_OFF or PLL_ON, respectively.
Note
A state change request from TRX_OFF to RX_AACK_ON or TX_ARET_ON internally passes the state
PLL_ON to initiate the radio transceiver. Thus the readiness to receive or transmit data is delayed
accordingly. It is recommended to use interrupt IRQ_0 (PLL_LOCK) as an indicator.