User Manual
Revision 1.0 Page 48 of 78
nRF24L01+ Product Specification
7.8.6 Two transactions with ACK payload packet and the first ACK packet lost
Figure 23. TX/RX cycles with ACK Payload and the according interrupts when the ACK packet fails
In Figure 23. the ACK packet is lost and a retransmission is needed before the TX_DS IRQ is asserted, but
the
RX_DR IRQ is asserted immediately. The retransmission of the packet (PID=1) results in a discarded
packet. For the PTX both the
TX_DS and RX_DR IRQ are asserted after the second transmission of ACK,
which is received. After the second packet (PID=2) is received on the PRX both the
RX_DR (PID=2) and
TX_DS (ACK1PAY) IRQ is asserted. The callouts explains the different events and interrupts.
7.8.7 Two transactions where max retransmissions is reached
Figure 24. TX/RX cycles with ACK Payload and the according interrupts when the transmission fails. ARC
is set to 2.
MAX_RT
IRQ is asserted if the auto retransmit counter (ARC_CNT) exceeds the programmed maximum limit
(ARC). In Figure 24.
the packet transmission ends with a MAX_RT IRQ. The payload in TX FIFO is NOT
removed and the MCU decides the next step in the protocol. A toggle of the
CE starts a new transmitting
sequence of the same packet. The payload can be removed from the TX FIFO using the
FLUSH_TX com-
mand.
TX:PID=1 RX
PTX
PRX
RX
MCU PRX
UL1
MCU PTX
130us
1
TX:PID=1 RX
ARD
No address detected.
RX off to save current
Retransmit of packet
PID=1
ACK PID=1 lost
during transmission
Packet received.
IRQ: RX DR (PID=1)
ACK received
IRQ: TX DS (PID=1)
RX DR (ACK1PAY)
RXACK1 PAY
TX:PID=2
RX
UL2
ACK1 PAY
Packet received.
IRQ: RX DR (PID=2)
TX DS (ACK1PAY)
Auto retransmit delay
elapsed
130us
1
130us
1
DLUL1
2
DL
IRQ
DL
IRQ
UL2
2
RX
ACK received
IRQ: TX DS (PID=2)
RX DR (ACK2PAY)
ACK2 PAY
130us
1
TX:PID=3
RX
Packet received.
IRQ: RX DR (PID=3)
TX DS (ACK2PAY)
UL3
≥130us
3
≥130us
3
Packet detected as
copy of previous,
discarded
1 Radio Turn Around Delay
2 Uploading Payload for Ack Packet
3 Delay defined by MCU on PTX side, ≥ 130us
TX:PID=1 RX
PTX
PRX
RX
MCU PRX
UL
MCU PTX
130us
1
ARD
No address detected.
RX off to save current
Retransmit of packet
PID=1
ACK PID=1 lost
during transmission
Packet received.
IRQ: RX DR (PID=1)
RXACK1 PAY
Auto retransmit delay
elapsed
130us
1
130us
1
DLUL
2
IRQ
≥130us
3
RX
No address detected.
RX off to save current
TX:PID=1 TX:PID=1 RX
130us
1
ARD
ACK PID=1 lost
during transmission
ACK1 PAY
No address detected .
RX off to save current.
IRQ:MAX_RT reached
130us
1
RX
ACK PID=1 lost
during transmission
Packet detected as
copy of previous,
discarded
1 Radio Turn Around Delay
2 Uploading Paylod for Ack Packet
3 Delay defined by MCU on PTX side, ≥ 130us