User manual

www.ti.com
Bluetooth Low Energy
Table 23-108. BLE Radio Operation Status Codes (continued)
Number Name Description
0x1802 BLE_ERROR_NO_SETUP Radio was not set up in BLE mode
0x1803 BLE_ERROR_NO_FS Synth was not programmed when running RX or TX
0x1804 BLE_ERROR_SYNTH_PROG Synth programming failed
0x1805 BLE_ERROR_RXOVF RX overflow observed during operation
0x1806 BLE_ERROR_TXUNF TX underflow observed during operation
The conditions for giving each status are listed for each operation. Some of the error causes listed in
Table 23-108 are not repeated in these lists. In some cases, general error causes may occur. In all of
these cases, the result of the operation is Abort.
23.6.4.1 Link Layer Connection
At the start of a slave or master operation, the radio CPU waits for the start trigger, then program the
frequency based on the channel parameter of the command structure. The channel parameter is not
allowed to be 37, 38, or 39, as these are advertising channels. The radio CPU sets up the access address
defined in pParams ->accessAddress, and uses the CRC initialization value defined in pParams ->crcInit.
The whitener is set up as defined in the whitening parameter. The radio CPU then configures the receiver
or transmitter. The operation continues with reception and transmission in turn, until it is ended by one of
the end of command criteria.
When the demodulator obtains sync on a message, the message is received into the first available RX
buffer that can fit the packet. The flags bCrcErr and bIgnore are set according to Table 23-109 depending
on the CRC result, and whether the SN field of the header was the same as the SN field of the last
successfully received packet. A received packet that has a payload length of 0 is viewed as an empty
packet. This means that if pParams ->RXConfig.bAutoflushEmpty is 1 and bCrcErr and bIgnore are both
0, the packet is removed from the RX buffer.
Table 23-109. Actions on Received Packets
CRC Result SN Different from Previous bCrcErr bIgnore
OK Yes 0 0
OK No 0 1
NOK X 1 0
If there is no available RX buffer with enough available space to hold the received packet, the received
data is discarded. The packet is received, however, so that the CRC can be checked. When the packet
has been received, the radio CPU sets the sequence bits so that a re-transmission of the lost packet is
requested (that is, NACK), unless the packet would have been discarded from the RX queue anyway due
to the setting of pParams->RXConfig.
If two subsequent packets are received with CRC error, the command ends, as required by the BLE
specification.
When a packet must be transmitted or retransmitted, it is read from the current data entry in the TX queue
unless the TX queue is empty or an automatic empty packet must be retransmitted. The radio CPU
creates the header as follows: the LLID bits are inserted from the first byte of the TX data entry. The SN
and NESN bits are set to values according to the Bluetooth LE protocol. The MD bit is calculated
automatically. If the TX queue is empty, an empty packet (LLID = 0x1, Length = 0) is transmitted. This
packet is referred to as an automatic empty packet.
Interrupts can be raised on different conditions. The pOutput structure contains counters corresponding to
the interrupts. The conditions for incrementing each counter or raising an interrupt are shown in
Table 23-110. There may be more than one condition fulfilled after a packet is transmitted or received. In
the list of conditions, the term acknowledgment is used. This is defined as a successfully received packet
with an NESN value in the header different from the SN value of the last transmitted packet.
1527
SWCU117AFebruary 2015Revised March 2015 Radio
Submit Documentation Feedback
Copyright © 2015, Texas Instruments Incorporated