High Data Rate Modes

The radio transceiver supports data rates of {200,400,500,1000} kbit/s for O-QPSK modulation, which are not compliant to the IEEE 802.15.4 standard. Using any of the high data rates reduce the utilization time of the air interface at the expense of a decreased receiver sensitivity.

A high data rate is applied to the PSDU part of the frame, while SHR and PHR are sent with the corresponding standard data rate. The data rate has to be explicitely configured in the transceiver, because there is no auto detection of the data rate during frame reception. For more details refer to section 7.1.4 (Proprietary High Data Rate Modes) of the AT86RF212 datasheet.

Parameters:
dmode select the data rate sub mode; {0} for 100/200/400 kbit/s and {1} for 250/500/1000 kbit/s.
drate select data rate; {0} for 100/250 kbit/s (IEEE 802.15.4 compliant), {1} for 200/500 kbit/s (proprietary), and {2} for 400/1000 kbit/s (proprietary).
scramen enable {1}/disable {0} scrambling of the PSDU. The additional scrambling improves the spectral properties of the transmit signal for the data rates {400,1000} kbit/s. After reset, the scrambler is disabled.
Note:
In section 7.1.4.3 (High Date Rate Mode Options) of the AT86RF212 datasheet, the different sense of parameters like RSSI, LQI, and ED is described.
For configuration of the data rate refer to section Physical Layer Mode and section 7.1 (Physical Layer Modes) of the AT86RF212 datasheet.

Use Cases:


SET_HRM_MODE

The PSDU data rate can be configured with the following use case:

Note:
Alternatively, the entire register RG_TRX_CTRL_2 can be encoded and written, in order to configure the current data rate.
inline_mscgraph_98
Code example

GET_HRM_MODE

The PSDU data rate can be read with the following use case.

Note:
Alternatively, the entire register RG_TRX_CTRL_2 can be read and decoded, in order to determine the current data rate.
inline_mscgraph_99
Code example
    /* AT86RF212::TRX_OFF */
    oqpsk = trx_bit_read(SR_BPSK_OQPSK);
    dmode = trx_bit_read(SR_SUB_MODE);
    drate = trx_bit_read(SR_OQPSK_DATA_RATE);
    scramen = trx_bit_read(SR_OQPSK_SCRAM_EN);

Generated on Mon Aug 17 13:35:01 2009 for SWPM AT86RF212 by  doxygen 1.5.6