14.2.2.3 RX_AACK_ON-Receive with Automatic ACK

The RX_AACK Extended Operating Mode handles reception and automatic acknowledgement of IEEE 802.15.4 compliant frames.

The general functionality of the RX_AACK procedure is shown in the figure below.

The gray shaded area is the standard flow of an RX_AACK transaction for IEEE 802.15.4 compliant frames. All other procedures are exceptions for specific operating modes or frame formats.

In RX_AACK_ON state, the AT86RF212B listens for incoming frames. After detecting a valid PHR, the radio transceiver changes into BUSY_RX_AACK state and parses the frame content of the MAC header (MHR).

If the content of the MAC addressing fields of the received frame (refer to IEEE 802.15.4 Section 7.2.1) matches one of the configured addresses, dependent on the addressing mode, an address match interrupt IRQ_5 (AMI) is issued. The reference address values are to be stored in the SHORT_ADDR_x, PAN_ID_x and IEEE_ADDR_x registers. Frame filtering is also applied in Basic Operating Mode. However, in Basic Operating Mode, the result of frame filtering or FCS check do not affect the generation of an interrupt IRQ_3 (TRX_END).

Generally, at nodes configured as a normal device or a PAN coordinator, a frame is indicated by interrupt IRQ_3 (TRX_END) if the frame passes the Frame Filter and the FCS is valid. The interrupt is issued after the completion of the frame reception. The microcontroller can then read the frame data. An exception applies if promiscuous mode is enabled. In this case, an interrupt IRQ_3 (TRX_END) is issued for all frames.

During reception AT86RF212B parses bit[5] (ACK Request) of the frame control field of the received data or MAC command frame to check if an acknowledgement (ACK) reply is expected. If the bit is set and if the frame passes the third level of filtering, see IEEE 802.15.4-2006, Section 7.5.6.2, the radio transceiver automatically generates and transmits an ACK frame. The sequence number is copied from the received frame.

The content of the frame pending subfield of the ACK response is set by the AACK_SET_PD bit in teh CSMA_SEED_1 register (CSMA_SEED_1.AACK_SET_PD) when the ACK frame is sent in response to a data request MAC command frame, otherwise this subfield is set to zero.

By default, the acknowledgment frame is transmitted aTurnaroundTime (12 symbol periods; see IEEE 802.15.4-2006, Section 6.4.1) after the reception of the last symbol of a data or MAC command frame. Optionally, for non-compliant networks, this delay can be reduced to two symbols by the AACK_ACK_TIME bit in the XAM_CTRL_1 register.

If the AACK_DIS_ACK bit in the CSMA_SEED_1 register (CSMA_SEED_1.AACK_DIS_ACK) is set, no acknowledgement frame is sent even if an acknowledgment frame is requested. This is useful for operating the MAC hardware accelerator in promiscuous mode.

For slotted operation, the start of the transmission of acknowledgement frames is controlled by pin 11 (SLP_TR).

The status of the RX_AACK transaction is indicated by the TRAC_STATUS bits in the TRX_STATE register (TRX_STATE.TRAC_STATUS).

During the operations described above, the AT86RF212B remains in BUSY_RX_AACK state.

Figure 14-27. Flow Diagram of RX_AACK