Texas Instruments CC2650DK 사용자 설명서

다운로드
페이지 1570
Bluetooth Low Energy
Table 23-119. End of Scannable Undirected-Advertiser Operation (continued)
Condition
Status Code
Result
Performed Action Number3 after running receiver
BLE_DONE_RXERR
True
Performed Action Number5 after running receiver
BLE_DONE_NOSYNC
True
Observed trigger indicated by pParams->endTrigger, then performed
BLE_DONE_ENDED
False
Action Number1, 2, 3, or 5
Observed CMD_STOP, then performed Action Number1, 2, 3, or 5
BLE_DONE_STOPPED
False
Received CMD_ABORT
BLE_DONE_ABORT
Abort
No space in RX buffer to store received packet
BLE_ERROR_RXBUF
False
Illegal value of channel
BLE_ERROR_PAR
Abort
Advertising data or scan response data length field has illegal value
BLE_ERROR_PAR
Abort
23.6.4.5 Scanner Command
A scanner operation is started by a CMD_BLE_SCANNER command. In the command structure, it has a
pParams parameter of the type defined in
, and a pOutput parameter of the type defined in
. At the start of a scanner operation, the radio CPU waits for the start trigger, then programs
the frequency based on the channel parameter of the command structure. The channel parameter is not
allowed to be in the range 0–36, as these are data channels. The radio CPU sets up the advertising
channel access address and uses the CRC initialization value 0x555555. The whitener is set up as
defined in the whitening parameter. The radio CPU then configures the receiver.
Tuned to the correct channel, the radio CPU starts listening for an advertising-channel packet. If sync is
obtained on the demodulator, the message is received into the RX queue. The header is checked, and if it
is not an advertising packet, reception stops and sync search restarted. The bCrcErr and bIgnore bits are
set according to the CRC result and the received message. Depending on the scanning filter policy, given
by pParams->scanConfig.scanFilterPolicy, the received AdvA field in the message, along with the TXAdd
bit of the received header is checked against white list as described in
White List
Processing. For ADV_DIRECT_IND messages, the received InitA field and RXAdd bit are checked against
pParams->deviceAddr and pParams->scanConfig.deviceAddrType, respectively. Depending on this, and
whether the scan is active or passive as signaled in pParams->scanConfig.bActiveScan, the actions taken
are as shown in
where the definition of each action, including the value used on bCrcErr
and bIgnore, is given in
If pParams->scanConfig.bStrictLenFilter is 1, only length fields
compliant with the BLE specification are considered valid. For an ADV_DIRECT_IND, valid means a
length field of 12, and for other ADV*_IND messages it means a length field in the range 6–37. If
pParams->advConfig.bStrictLenFilter is 0, all received packets with a length field less than or equal to the
maximum length of an advertiser packet (37, but can be overridden) are considered valid. If the length is
not valid, the receiver stops.
Table 23-120. Actions on Received Packets by Scanner
AdvA
Filter
AdvA to be
Active
Action
PDU Type
CRC Result
Present in
InitA Match
Policy
Ignored
Scan
Number
White List
ADV_IND
OK
1
No
No
N/A
X
1
ADV_IND
OK
1
No
Yes
N/A
No
2
ADV_IND
OK
1
No
Yes
N/A
Yes
3
ADV_IND
OK
0
No
X
N/A
No
2
ADV_IND
OK
0
No
X
N/A
Yes
3
ADV_IND
OK
X
Yes
X
N/A
X
1
ADV_IND
NOK
X
X
X
N/A
X
4
ADV_SCAN_IND
OK
1
No
No
N/A
X
1
ADV_SCAN_IND
OK
1
No
Yes
N/A
No
2
ADV_SCAN_IND
OK
1
No
Yes
N/A
Yes
3
ADV_SCAN_IND
OK
0
No
X
N/A
No
2
1536Radio
SWCU117A – February 2015 – Revised March 2015
Copyright © 2015, Texas Instruments Incorporated