Texas Instruments CC2650DK ユーザーズマニュアル

ページ / 1570
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
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
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
. 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
SWCU117A – February 2015 – Revised March 2015
Radio
Copyright © 2015, Texas Instruments Incorporated