User's Guide
Revision 1.0 Page 28 of 75
nRF24L01+ Preliminary Product Specification
7.3.3.1 Payload length
This 6 bit field specifies the length of the payload in bytes. The length of the payload can be from 0 to 32
bytes.
Coding: 000000 = 0 byte (only used in empty ACK packets.) 100000 = 32 byte, 100001 = Don’t care.
This field is only used if the Dynamic Payload Length function is enabled.
7.3.3.2 PID (Packet identification)
The 2 bit PID field is used to detect if the received packet is new or retransmitted. PID prevents the PRX
device from presenting the same payload more than once to the receiving host MCU. The PID field is
incremented at the TX side for each new packet received through the SPI. The PID and CRC fields (see
section 7.3.5 on page 28
) are used by the PRX device to determine if a packet is retransmitted or new.
When several data packets are lost on the link, the PID fields may become equal to the last received PID.
If a packet has the same PID as the previous packet, nRF24L01+ compares the CRC sums from both
packets. If the CRC sums are also equal, the last received packet is considered a copy of the previously
received packet and discarded.
7.3.3.3 No Acknowledgment flag (NO_ACK)
The Selective Auto Acknowledgement feature controls the NO_ACK flag.
This flag is only used when the auto acknowledgement feature is used. Setting the flag high tells the
receiver that the packet is not to be auto acknowledged.
7.3.4 Payload
The payload is the user defined content of the packet. It can be 0 to 32 bytes wide and is transmitted on-air
when it is uploaded to nRF24L01+.
7.3.5 CRC (Cyclic Redundancy Check)
The CRC is the mandatory error detection mechanism in the packet. It is either 1 or 2 bytes and is calcu-
lated over the address, Packet Control Field and Payload.
The polynomial for 1 byte CRC is X
8
+ X
2
+ X + 1. Initial value 0xFF.
The polynomial for 2 byte CRC is X
16
+ X
12
+ X
5
+ 1. Initial value 0xFFFF.
No packet is accepted by Enhanced ShockBurst™ if the CRC fails.
7.4 Automatic packet handling
Enhanced ShockBurst™ uses ShockBurst™ for automatic packet handling, which has the following fea-
tures:
• Static and dynamic payload length, see section 7.4.1 on page 29
.
• Automatic packet assembly, see section 7.4.2 on page 29
.
• Automatic packet validation, see section 7.4.3 on page 30
.
• Automatic packet disassembly, see section 7.4.4 on page 30
.