Antenna Diversity

This section describes the control and usage of the Antenna Diversity (AD) feature.

To improve the reliability of an RF connection between network nodes Antenna Diversity can be applied to reduce effects of multipath propagation and fading. Antenna Diversity uses two antennas to select the most reliable RF signal path.

The following bits are used to control AD:

The following table shows which antenna is chosen if (SR_ANT_EXT_SW_EN==1) and for different settings of SR_ANT_DIV_EN during transmit (TX) and receive (RX) transactions.

RX TX
ANT_DIV_EN = 0 ANT_CTRL ANT_CTRL
ANT_DIV_EN =1 automatically ANT_CTRL

Note:
Parameters:
antenna The antenna parameter sets the permanently selected antenna when not using the self-contained AD algorithm. The parameter can have one of the following values.
  • 1 : Antenna 1
  • 2 : Antenna 0
  • 3 : Default value for ANT_EXT_SW_EN = 0. Not to be used when AD is enabled.
divctrl control self-contained algorithm, only effects a node in receive mode
  • 0: disabled
  • 1: enabled, i.e. antenna is automatically chosen
Use Cases:


ANTENNA_DIVERSITY_ENABLE

Before starting receive or transmit transactions SR_ANT_EXT_SW_EN has to be set. This enables the control of the external AD RF-switch. Sub register bit SR_ANT_DIV_EN should be configured according to whether the self-contained algorithm is desired or not. During a receive transaction, the setting of sub register bits SR_ANT_CTRL are only relevant if divctrl==0. During a transmit transaction, these sub register bits define the transmit antenna.

inline_mscgraph_97
Code example

ANTENNA_DIVERSITY_DISABLE

This routine disables AD.

Note:
Pins DIG1/DIG2 are pulled-down if SR_ANT_EXT_SW_EN is reset.
inline_mscgraph_98
Code example

GET_ANTENNA

The antenna selected by the self-contained AD algorithm can be read from sub register SR_ANT_SEL whenever the radio transceiver is in one of the [ACTIVE] states.

Return values:
retantenna  This parameter is retrieved from the sub register SR_ANT_SEL and has the following meaning:
  • 0 : Antenna 0
  • 1 : Antenna 1
Note:
inline_mscgraph_99
Code example
    /* AT86RF231::[ACTIVE] */
    retantenna = trx_bit_read(SR_ANT_SEL);
    proc_antenna(antenna);

SET_ANTENNA

An antenna can be permanently selected by enabling the AD switch control (SR_ANT_EXT_SW_EN) and disabling the AD algorithm. The antenna itself is set with sub register bits SR_ANT_CTRL.

Note:
Setting an antenna takes effect immediately and thus may disturb an ongoing receive/transmit transaction. Therefore, setting the antenna should not be carried out in one of the [BUSY] states.
inline_mscgraph_100
Code example
    /* AT86RF231::[CONFIG] */
    trx_bit_write(SR_ANT_CTRL, antenna);
    trx_bit_write(SR_ANT_DIV_EN, 0);
    trx_bit_write(SR_ANT_EXT_SW_EN, 1);

Generated on Mon Jan 12 18:32:19 2009 for SWPM AT86RF231 by  doxygen 1.5.2