Download Print this page

Texas Instruments SimpleLink CC2620 Technical Reference Manual page 1569

Zigbee rf4ce wireless mcu simplelink cc13 series; simplelink cc26 series

Advertisement

www.ti.com
If pParams->scanConfig.scanFilterPolicy and pParams->scanConfig.bAutoWlIgnore are both 1, the radio
CPU automatically sets the bWlIgn bit of the white-list entry corresponding to the address from which an
ADV*_IND message was received. This setting is done either after Action Number2 has been performed,
or after Action Number3 is performed and a SCAN_RSP is received with the result Success. This prevents
reporting multiple advertising messages from the same device, and scanning the same device repeatedly.
The pseudo-random algorithm is based on a maximum-length 16-bit linear-feedback shift register (LFSR).
The seed is as provided in pParams->randomState. When the operation ends, the radio CPU writes the
current state back to this field. If pParams->randomState is 0, the radio CPU self-seeds by initializing the
LFSR to the 16 LSBs of the radio timer. This is only done when the LFSR is first needed (that is, after
receiving an ADV*_IND), so there is some randomness to this value. If the 16 LSBs of the radio timer are
all 0, another fixed value is substituted.
When the device enters the scanning state, the system CPU must initialize pParams->backoffCount to 1,
pParams->backoffPar.logUpperLimit to 0, pParams ->backoffPar.bLastSucceeded and
pParams->backoffPar.bLastFailed to 0, and pParams ->randomState to a true-random value (or a pseudo-
random number based on a true-random seed). When starting new scanner operations while remaining in
the scanning state, the system CPU must keep pParams->randomState, pParams->backoffCount, and
pParams->backoffPar at the values they had at the end of the last scanner operation.
Two triggers to end the operation are set up by pParams->endTrigger/pParams->endTime and
pParams->timeoutTrigger/pParams->timeoutTime, respectively. If either of these triggers occurs, the radio
operation ends as soon as possible. If these triggers occur while waiting for sync on an ADV*_IND packet,
the operation ends immediately. If they occur at another time, the operation continues until the scan would
otherwise be resumed, and then ends. If the immediate command CMD_STOP is received by the radio
CPU, it has the same meaning as the end trigger occurring, except that the status code after ending is
CMD_DONE_STOPPED. The differences between the two triggers are the status and result at the end of
the operation. Typically, timeoutTrigger can be used at the end of a scan window, while endTrigger can be
used when scanning is to end entirely.
The output structure pOutput contains fields which give information on the command being run. The radio
CPU does not initialize the fields, so this must be done by the system CPU when a reset of the counters is
desired. The fields are updated by the radio CPU as described below. The list also indicates when
interrupts are raised in the system CPU.
If a SCAN_REQ packet has been transmitted, nTXScanReq is incremented and a TX_DONE interrupt
is raised.
If a SCAN_REQ is not transmitted due to the backoff procedure, nBackedOffScanReq is incremented.
If an ADV*_IND packet is received with CRC OK and the bIgnore flag cleared, nRXAdvOk is
incremented, an RX_OK interrupt is raised, and timeStamp is set to a timestamp of the start of the
packet.
If an ADV*_IND packet is received with CRC OK and the bIgnore flag set, nRXAdvIgnored is
incremented and an RX_IGNORED interrupt is raised.
If an ADV*_IND packet is received with CRC error, nRXAdvNok is incremented and an RX_NOK
interrupt is raised.
If an ADV*_IND packet is received and did not fit in the RX queue, nRXAdvBufFull is incremented and
an RX_BUF_FULL interrupt is raised.
If a SCAN_RSP packet is received with CRC OK and the bIgnore flag cleared, nRXScanRspOk is
incremented and an RX_OK interrupt is raised.
If a SCAN_RSP packet is received with CRC OK and the bIgnore flag set, nRXScanRspIgnored is
incremented and an RX_IGNORED interrupt is raised.
If a SCAN_RSP packet is received with CRC error, nRXScanRspNok is incremented and an RX_NOK
interrupt is raised.
If a SCAN_RSP packet is received and did not fit in the RX queue, nRXScanRspBufFull is incremented
and an RX_BUF_FULL interrupt is raised.
If a packet is received, lastRssi is set to the RSSI of that packet.
If the first RX data entry in the RX queue changed state to Finished after a packet was received, an
RX_ENTRY_DONE interrupt is raised.
SWCU117C – February 2015 – Revised September 2015
Submit Documentation Feedback
Copyright © 2015, Texas Instruments Incorporated
Bluetooth Low Energy
1569
Radio

Hide quick links:

Advertisement

loading