User manual
Bluetooth Low Energy
www.ti.com
The whitening parameter indicates the initialization of the 7-bit LFSR used for data whitening in BLE. If
whitening.bOverride is 0 and the channel is in the range 0–39, the LFSR initializes with (0x40 | channel).
Otherwise, the LFSR initializes with whitening.init. If whitening.init is 0 in this case, no whitening is used.
All packets transmitted using BLE radio operation commands have a BLE-compliant CRC appended. On
all packets received using BLE radio operation commands, a BLE-compliant CRC-check is performed.
The initialization of the CRC register is defined for each command.
The radio CPU times transmissions immediately following receptions, to fulfill the requirements for T_IFS.
This can be overridden, see Table 23-18, Parameter Override. For reception immediately following
transmissions, the radio CPU times the start of RX and timeout so that it always receives a packet
transmitted at a time within the limits set by the BLE standard, but without excessive margins, to avoid
false syncing on advertising channels. For the first receive operation in a slave command, the radio CPU
sets up a timeout as defined in pParams->timeoutTrigger and pParams->timeoutTime. The time of this
trigger depends on the sleep-clock uncertainty, both in the slave itself and the peer master.
When the receiver is running, the message is received into an RX entry as described in , Receive Buffers.
The radio CPU has flags bCrcErr and bIgnore, which are written to the corresponding fields of the status
byte of the RX entry if present. If there is a CRC error on the received packet, the bCrcErr flag is set. If the
CRC is OK, the bIgnore flag may be set based on principles defined for each role. This flag indicates that
the system CPU may ignore the packet. After receiving a packet, the radio CPU raises an interrupt to the
system CPU.
If a packet is received with a length that is too great, the reception is stopped, treated as if sync had not
been obtained on the packet. By default, the maximum allowed payload length of advertising channel
packets is 37, and the maximum allowed length of data channel packets is 31 (which can never be
violated as the length field in this case is 5 bits). This can be overridden, as in Table 23-18, Parameter
Override. If either the bCrcErr or bIgnore flag is set or if the packet was empty (as defined under each
operation), the packet may be removed from the RX entry prior to raising the interrupt, depending on the
bAutoFlushIgnored, bAutoFlushCrc, and bAutoFlushEmpty bits of pParams->RXConfig.
The status field of the command issued is updated during the operation. When submitting the command,
the system CPU writes this field with a state of IDLE. During the operation, the radio CPU updates the
field to indicate the operation mode. When the operation is done, the radio CPU writes a status indicating
that the operation is finished. The status codes to be used by a BLE radio operation are listed in
Table 23-108.
Table 23-108. BLE Radio Operation Status Codes
Number Name Description
Operation Not Finished
0x0000 IDLE Operation not started
0x0001 PENDING Waiting for start trigger
0x0002 ACTIVE Running operation
Operation Finished Normally
0x1400 BLE_DONE_OK Operation ended normally
Timeout of first RX of slave operation or end of scan
0x1401 BLE_DONE_RXTIMEOUT
window
0x1402 BLE_DONE_NOSYNC Timeout of subsequent RX
Operation ended because of receive error (CRC or
0x1403 BLE_DONE_RXERR
other)
0x1404 BLE_DONE_CONNECT CONNECT_REQ received or transmitted
0x1405 BLE_DONE_MAXNACK Maximum number of retransmissions exceeded
0x1406 BLE_DONE_ENDED Operation stopped after end trigger
0x1407 BLE_DONE_ABORT Operation aborted by abort command
0x1408 BLE_DONE_STOPPED Operation stopped after stop command
Operation Finished With Error
0x1800 BLE_ERROR_PAR Illegal parameter
0x1801 BLE_ERROR_RXBUF No available RX buffer (Advertiser, Scanner, Initiator)
1526
Radio SWCU117A–February 2015–Revised March 2015
Submit Documentation Feedback
Copyright © 2015, Texas Instruments Incorporated