Link Layer Engine
www.ti.com
If a CRC field is present, it is checked using the polynomial configured in the BSP and the initialization
value from PRF_CRC_INIT. The result of the CRC check is written in the MSB of the RES byte in the
status field if a status field is configured. If the CRC is not correct and PRF_FIFO_CONF.AUTOFLUSH_CRC
is 1, the LLE sends a discard Rx FIFO command to remove the packet from the Rx FIFO.
A packet where the length is equal to the address size contains no payload. Such a packet is known as an
empty packet. If PRF_FIFO_CONF.AUTOFLUSH_EMPTY is 1 and an empty packet is received, the LLE
sends a discard Rx FIFO command to remove the empty packet from the Rx FIFO.
Note that if the CRC length is 1 byte, the CRC check is not correct for empty packets if fixed length is
configured or no address bytes are used.
If the Rx FIFO becomes full while receiving a packet, the packet is discarded from the FIFO and no more
bytes are stored in the Rx FIFO, but the packet is received to its end. After that, it is checked whether the
packet would be discarded from the Rx FIFO anyway due to the setting of PRF_FIFO_CONF. If so, the
task proceeds as normally. Otherwise, an RXFIFOFULL error interrupt is raised in lieu of the normal
interrupt for received packets.
After receiving a packet, the LLE raises an interrupt to the MCU. Depending on CRC result and whether
the packet was empty, the interrupts are generated as shown in Table 25-16, provided an RXFIFOFULL
interrupt is not raised as described previously. The table also shows which of the counters among the
RAM registers are to be updated.
Table 25-16. Interrupt and Counter Operation for Received Messages
Payload Length > Address
CRC Result Counter Incremented Interrupt Raised
Length
OK No RXEMPTY
PRF_ADDR_ENTRYn.N_RXOK
OK Yes RXOK
PRF_ADDR_ENTRYn.N_RXOK
NOK No RXNOK
PRF_ADDR_ENTRYn.N_RXNOK
NOK Yes RXNOK
PRF_ADDR_ENTRYn.N_RXNOK
An address entry should not be modified while the receiver is running. In order to modify, stop the
receiver, modify the entry or entries, and restart the receiver.
25.9.2.3.2 Auto Mode
This section describes the receive operation if PRF_TASK_CONF.MODE is 10 or 11.
If PRF_PKT_CONF.ADDR_LEN is 1, the address byte is compared against PRF_ADDR_ENTRYn.ADDRESS,
where n ranges from 0 to 7. It is compared against PRF_ADDR_ENTRYn.ADDRESS for the values of n
where the entry is enabled for the received sync word. If there is a matching entry, this entry is used when
receiving the packet, otherwise reception is stopped and the device goes back to sync search. If
PRF_PKT_CONF.ADDR_LEN is 0, the first entry that is enabled for the received sync word is used.
Next, the 9-bit or 10-bit header is read. If PRF_ADDR_ENTRYn.CONF.VARLEN is 1, the length is fetched
from the header and compared against PRF_ADDR_ENRYn.RXLENGTH. If it is greater than that value,
reception is stopped and the device goes back to sync search. If PRF_ADDR_ENTRYn.CONF.VARLEN is 0,
the length field in the received header is ignored and the packet length is read from
PRF_ADDR_ENTRYn.RXLENGTH. In both cases, the length is the number of bytes after the header and
before the CRC. The length must be less than or equal to 63 for a 9-bit header and 127 for a 10-bit
header. When a 10-bit header is used, the MCU must ensure that an entire packet can fit in the Rx FIFO
for auto ACK to be possible. This limits the maximum packet size based on the settings in
PRF_FIFO_CONF.
If reception is stopped due to address mismatch or invalid length, the time-out given by
PRF_SEARCH_TIME or Timer 2 event 2 still applies. If the first packet of the task is being received and
PRF_TASK_CONF.STOP_CONF is 11, this still counts as the first packet.
If a CRC field is present, it is checked using the polynomial configured in the BSP and the initialization
value from PRF_CRC_INIT. The result of the CRC is written in the MSB of the RES byte in the status field
if a status field is configured. If the CRC is not correct and PRF_FIFO_CONF.AUTOFLUSH_CRC is 1, the
LLE sends a discard Rx FIFO command to remove the packet from the Rx FIFO.
320
CC2541 Proprietary Mode Radio SWRU191C– April 2009–Revised January 2012
Submit Documentation Feedback
Copyright © 2009–2012, Texas Instruments Incorporated