65
8111C–MCU Wireless–09/09
AT86RF231
Overview
In TX_ARET mode, the AT86RF231 first executes the CSMA-CA algorithm, as defined by
IEEE 802.15.4-2006, section 7.5.1.4, initiated by a transmit start event. If the channel is IDLE a
frame is transmitted from the Frame Buffer. If the acknowledgement frame is requested the radio
transceiver additionally checks for an ACK reply.
The completion of the TX_ARET transmit transaction is indicated by an IRQ_3 (TRX_END)
interrupt.
Description
Configuration and address bits are to be set in TRX_OFF or PLL_ON state prior to switching to
TX_ARET mode. It is further recommended to transfer the PSDU data to the Frame Buffer in
advance. The transaction is started by either using pin 11 (SLP_TR), refer to
Section 6.5to register 0x02 (TRX_STATE).
If the CSMA-CA detects a busy channel, it is retried as specified by the register bits
MAX_CSMA_RETRIES (register 0x2C, XAH_CTRL_0). In case that CSMA-CA does not detect
a clear channel after MAX_CSMA_RETRIES, it aborts the TX_ARET transaction, issues inter-
rupt IRQ_3 (TRX_END), and set the value of the TRAC_STATUS reg ister bits to
CHANNEL_ACCESS_FAILURE.
During transmission of a frame the radio transceiver parses bit 5 (ACK Request) of the MAC
header (MHR) frame control field of the PSDU data (PSDU octet #1) to be transmitted to check if
an ACK reply is expected.
If an ACK is expected, the radio transceiver automatically switches into receive mode to wait for
a valid ACK reply. After receiving an ACK frame the Frame Pending subfield of that frame is
parsed and the status register bits TRAC_STATUS are updated accordingly, refer to
Table 7-12on page 66. This receive procedure does not overwrite the Frame Buffer content. Transmit data
in the Frame Buffer is not changed during the entire TX_ARET transaction. Received frames
other than the expected ACK frame are discarded.
If no valid ACK is received or after timeout of 54 symbol periods (864 s), the radio transceiver
retries the entire transaction, (including CSMA-CA) until the maximum number of retransmis-
sions (as set by the register bits MAX_FRAME_RETRIES in register 0x2C (XAH_CTRL_0) is
exceeded.
After that, the microcontroller may read the value of the register bits TRAC_STATUS (register
0x02, TRX_STATE) to verify whether the transaction was successful or not. The register bits are