Rev. 1.10
212
October 23, 2020
Rev. 1.10
213
October 23, 2020
BC66F5652
2.4GHz RF Transceiver A/D Flash MCU
BC66F5652
2.4GHz RF Transceiver A/D Flash MCU
• NO_ACK: 1 bit
This field is a 1-bit no acknowledge indication flag. The NO_ACK flag is only used when the
auto-acknowledgement feature is enabled. Setting the flag high will inform the receiver that the
packet is not to be auto-acknowledged.
The PTX can set the NO_ACK bit in the Packet Control Field using the W_TX_PAYLD_NO_
ACK command. However, this command function must first be enabled by setting the EN_DYN_
ACK bit in the DPL2 register. When no acknowledge option is used, the PTX directly enters the
Light Sleep state after transmitting the packet and the PRX does not transmit an ACK packet
when it receives the packet. There is an extra INV_NOACK control bit to set the active polarity
of the NO_ACK flag. If the INV_NOACK bit is set to 1, the NO_ACK flag could not be set high
by W_TX_PAYLD_NO_ACK to indicate no acknowledge requirement.
DPL2: INV_NOACK=0
DPL2: INV_NOACK=1
PTX: W_TX_PAYLD_NO_ACK
TX with NO_ACK=1
TX with NO_ACK=0
PTX: W_TX_PAYLD
TX with NO_ACK=0
TX with NO_ACK=1
PRX’s ENAA is set
ACK when receiving NO_ACK=0 ACK when receiving NO_ACK=1
Payload Field
The payload is the user-defined content of the packet. It can be 0 to 32 bytes wide, and it is
transmitted on-air as it is uploaded (unchangable) to the RF transceiver .
The RF Transceiver provides two alternatives for handling payload lengths, static and dynamic
payload length. The static payload length of each of six data pipes can be individually set. The
default option is static payload length. With static payload length all packets between a transmitter
and a receiver have the same length. Static payload length is set by the RX_PW_Pn (n=0~5) register.
The payload length on the transmitter side is set by the number of bytes clocked into the TX_FIFO
and must be equal to the value in the RX_PW_Pn register on the receiver side. Each pipe has its
own payload length.
Dynamic Payload Length (DPL) is an alternative to static payload length. DPL enables the
transmitter to send packets with a variable payload length to the receiver.
With DPL feature the RF Transceiver can decode the payload length of the received packet
automatically instead of using the RX_PW_Pn registers. The MCU can read the length of the
received payload by reading the RXDLEN field.
In order to enable DPL, the EN_DPL bit in the DPL2 register must be set high. In RX mode the
DPL_Pn (n=0~5) bits in the DPL1 register has to be set high. A PTX that transmits to a PRX with
DPL enabled must have the DPL_P0 bit in DPL1 set. The DPL mode not supported in ENAA=0.
CRC Field
The CRC is the error detection mechanism in the packet. The number of bytes in the CRC is set by
the CRC control bits in the PKT1 register. It may be either 1 or 2 bytes and is calculated over the
address, Packet Control Field and Payload.
The polynomial and initial value for 1 byte and 2 bytes of CRC and CRC function disabled are list
as shown in the table below.
No packet is accepted by the receiver side if the CRC is enabled and fails (either 1 byte or 2 bytes).
CRC
Polynomial
CRC Control Bits
Description / Formula
Initial Value
CRC8_EN
CRC_EN
Disable
/
X
0
CRC is disabled
X
CRC-8
0x07
1
1
X
8
+ X
2
+ X + 1
FFh
CRC-CCITT
0x1021
0
1
X
16
+ X
12
+ X
5
+ 1
FFFFh
X: don’t care