Transitions to State RX_ON [06]

This section describes how the state RX_ON is entered. In this state the receiver tries to detect 802.15.4 synchronization headers (SHR) on the current channel. The state RX_ON can generally be reached by writing the value CMD_RX_ON to the sub register SR_TRX_CMD.

Note:
It is not recommended to switch from any other state then TRX_OFF, PLL_ON or BUSY_TX to the state RX_ON.
The following state transitions are defined:


PHY_STATE_TRX_OFF__RX_ON

If the state RX_ON is requested from the state TRX_OFF, the PLL needs up to 180 us to lock to the configured channel.

inline_mscgraph_32
Code example
    trx_bit_write(SR_TRX_CMD, CMD_RX_ON);
    delay_us(180); /* TRX_IRQ_PLL_LOCK occurs within this period */
    trxstat = trx_bit_read(SR_TRX_STATUS);
    ASSERT(trxstat==RX_ON);

PHY_STATE_PLL_ON__RX_ON

If the state RX_ON is requested from the PLL_ON state, the transition occurs within 1us, because the PLL does not need to relock.

inline_mscgraph_33
Code example
    trx_bit_write(SR_TRX_CMD, CMD_RX_ON);
    delay_us(1);
    trxstat = trx_bit_read(SR_TRX_STATUS);
    ASSERT(trxstat==RX_ON);

PHY_STATE_BUSY_TX__RX_ON

If the command CMD_RX_ON is written to the sub register SR_TRX_CMD and the radio transceiver is in the BUSY_TX state, the ongoing transmit operation is completed and the state change to RX_ON occurs within 1 us after the TRX_IRQ_TRX_END interrupt.

inline_mscgraph_34
Code example
    trx_bit_write(SR_TRX_CMD, CMD_RX_ON);
    /* TRX_IRQ_TRX_END occurs here */
    delay_us(1);
    trxstat = trx_bit_read(SR_TRX_STATUS);
    ASSERT(trxstat==RX_ON);

Generated on Fri Sep 28 14:07:35 2007 for SWPM AT86RF230 Rev. B by  doxygen 1.5.2