Data Sheet

Revision 2.0 Page 29 of 74
nRF24L01 Product Specification
7.5.1 Auto Acknowledgement
Auto acknowledgment is a function that automatically transmits an ACK packet to the PTX after it has
received and validated a packet. The auto acknowledgement function reduces the load of the system MCU
and can remove the need for dedicated SPI hardware. This also reduces cost and average current con-
sumption. The Auto Acknowledgement feature is enabled by setting the EN_AA register.
Note: If the received packet has the NO_ACK flag set, the auto acknowledgement is not executed.
An ACK packet can contain an optional payload from PRX to PTX. In order to use this feature, the dynamic
payload length feature mus be enabled. The MCU on the PRX side has to upload the payload by clocking
it into the TX FIFO by using the W_ACK_PAYLOAD command. The payload is pending in the TX FIFO (PRX)
until a new packet is received from the PTX. nRF24L01 can have three ACK packet payloads pending in
the TX FIFO (PRX) at the same time.
Figure 7. TX FIFO (PRX) with pending payloads
Figure 7.
shows how the TX FIFO (PRX) is operated when handling pending ACK packet payloads. From
the MCU the payload is clocked in with the W_ACK_PAYLOAD command. The address decoder and buffer
controller ensure that the payload is stored in a vacant slot in the TX FIFO (PRX). When a packet is
received, the address decoder and buffer controller are notified with the PTX address. This ensures that
the right payload is presented to the ACK generator.
If the TX FIFO (PRX) contains more than one payload to a PTX, payloads are handled using the first in
first out principle. The TX FIFO (PRX) is blocked if all pending payloads are addressed to a PTX where the
link is lost. In this case, the MCU can flush the TX FIFO (PRX) by using the FLUSH_TX command.
In order to enable Auto Acknowledgement with payload the EN_ACK_PAY bit in the FEATURE register
must be set.
7.5.2 Auto Retransmission (ART)
The auto retransmission is a function that retransmits a packet if an ACK packet is not received. It is used
at the PTX side in an auto acknowledgement system. You can set up the number of times a packet is
allowed to be retransmitted if a packet is not acknowledged with the ARC bits in the SETUP_RETR register.
PTX enters RX mode and waits a time period for an ACK packet each time a packet is transmitted. The
time period the PTX is in RX mode is based on the following conditions:
Auto Retransmit Delay (ARD) elapsed or
No address match within 250µs or
After received packet (CRC correct or not) if address match within 250µs
nRF24L01 asserts the TX_DS IRQ when the ACK packet is received
TX FIFO
Payload 1
Payload 2
Payload 3
Address decoder and buffer controller
SPI
Module
ACK
generator
RX Pipe
address
TX Pipe
address
From
MCU