ED Measurement

This section describes, how the ED measurement for the current channel is done. The ED value is calculated by averaging the RSSI values over 8 symbols (128 us). Due to the internal processing in the radio transceiver, an ED measurement is finished after 140 us.

The 8 bit value, which is read from RG_PHY_ED_LEVEL has a valid range from ed = [0...84], all values from 85...255 are reserved. The power level during the measurement period is RSSI_BASE_VAL + ed, whereas RSSI_BASE_VAL is given in dBm. The constant RSSI_BASE_VAL is defined in the AT86RF230 data sheet. The value ed=0 means, that the measured energy is energy<=RSSI_BASE_VAL.

Note:
The ED value is erased, if the receiver detects a preamble. Therefore it is invalid within 140 us after a preamble detection.
There are two methods, how to get the ED value:


PHY_ED_REQUEST

An ED measurement can be started by writing an arbitrary value to the register RG_PHY_ED_LEVEL. After 140 us the ED measurement procedure is completed and the ED value can be read from the register.

inline_mscgraph_49
Code example

PHY_ED_FRAME_END

An ED measurement is automatically started after detection of an SFD. The register RG_PHY_ED_LEVEL can be read in a time period which starts 140 us after the TRX_IRQ_RX_START interrupt (time to complete the measurement) and ends 96 us after the TRX_IRQ_TRX_END interrupt (minimum time which is needed to detect the next SFD).

inline_mscgraph_50
Code example
    /* TRX_IRQ_TRX_END occurs here */
    ed = trx_reg_read(RG_PHY_ED_LEVEL);

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