PLL Interrupts

The radio transceiver provides the two interrupts TRX_IRQ_PLL_LOCK and TRX_IRQ_PLL_UNLOCK which indicate locking and unlocking events of the PLL, respectively. The behaviour of these interrupts is described in detail in the AT86RF230 data sheet. Because the interrupts depend on each other, it is recommended to enable both of them in order to get notified about the most recent PLL event, that happened.

The handling of the PLL interrupts is described here.

Note:
If an TRX_IRQ_PLL_LOCK or TRX_IRQ_PLL_UNLOCK interrupt occurs in one of the RX_AACK or TX_ARET states, it is recommended to check the functionality of the PLL (PHY_TEST_PLL).
The following sequences are defined:


PHY_EVENT_PLL_LOCK

If the TRX_IRQ_PLL_LOCK interrupt occurs in one of the [PLL_BASIC] states, the PLL has locked and a transmission or reception of frames is possible.

inline_mscgraph_14
Code example
    /* TRX_IRQ_PLL_LOCK occurs here */
    pll_state = true;

PHY_EVENT_PLL_UNLOCK

The TRX_IRQ_PLL_UNLOCK interrupt indicates, that the PLL has lost its state. Unless followed within 32 us by an TRX_IRQ_PLL_LOCK interrupt, this is a critical error (see PHY_UNLOCK_PLL). In this case the radio transceiver is neither able to receive nor to transmit.

A consecutive TRX_IRQ_PLL_LOCK interrupt clears a preceding TRX_IRQ_PLL_UNLOCK interrupt.

inline_mscgraph_15
Code example
    /* TRX_IRQ_PLL_UNLOCK occurs here */
    pll_state = false;

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