English
Language : 

CC2500 Datasheet, PDF (28/76 Pages) Texas Instruments – Single Chip Low Cost Low Power RF Transceiver
CC2500
receive mode restarted (regardless of the
MCSM1.RXOFF_MODE setting).
15.3.3 CRC Filtering
The filtering of a packet when CRC check fails
is enabled with PKTCTRL1.CRC_AUTOFLUSH.
The CRC auto flush function will flush the
entire RX FIFO if the CRC check fails. After
auto flushing the RX FIFO, the next state
depends on the MCSM1.RXOFF_MODE setting.
When using the auto flush function, the
maximum packet length is 63 bytes in variable
packet length mode and 64 bytes in fixed
packet length mode. Note that the maximum
allowed packet length is reduced by two bytes
when PKTCTRL1.APPEND_STATUS is
enabled, to make room in the RX FIFO for the
two status bytes appended at the end of the
packet. Since the entire RX FIFO is flushed
when the CRC check fails, the previously
received packet must be read out of the FIFO
before receiving the current packet. The MCU
must not read from the current packet until the
CRC has been checked as OK.
15.4 CRC Check
It is possible to read back the CRC status in 2
different ways:
1) Set PKTCTRL1.APPEND_STATUS=1 and
read the CRC_OK flag in the MSB of the
second byte appended to the RX FIFO after
the packet data. This requires double buffering
of the packet, i.e. the entire packet content of
the RX FIFO must be completely read out
before it is possible to check whether the CRC
indication is OK or not.
2) To avoid reading the whole RX FIFO,
another solution is to use the
PKTCTRL1.CRC_AUTOFLUSH feature. If this
feature is enabled, the entire RX FIFO will be
flushed if the CRC check fails. If
GDOx_CFG=0x06 the GDOx pin will be
asserted when a sync word is found. The
GDOx pin will be de-asserted at the end of the
packet. When the latter occurs the MCU
should read the number of bytes in the RX
FIFO from the RXBYTES.NUM_RXBYTES
status register. If RXBYTES.NUM_RXBYTES=0
the CRC check failed and the FIFO was
flushed. If RXBYTES.NUM_RXBYTES>0 the
CRC check was OK and data can be read out
of the FIFO.
15.5 Packet Handling in Transmit Mode
The payload that is to be transmitted must be
written into the TX FIFO. The first byte written
must be the length byte when variable packet
length is enabled. The length byte has a value
equal to the payload of the packet (including
the optional address byte). If fixed packet
length is enabled, then the first byte written to
the TX FIFO is interpreted as the destination
address, if this feature is enabled in the device
that receives the packet.
The modulator will first send the programmed
number of preamble bytes. If data is available
in the TX FIFO, the modulator will send the
two-byte (optionally 4-byte) sync word and
then the payload in the TX FIFO. If CRC is
enabled, the checksum is calculated over all
the data pulled from the TX FIFO and the
result is sent as two extra bytes at the end of
the payload data.
If whitening is enabled, the length byte,
payload data and the two CRC bytes will be
whitened. This is done before the optional
FEC/Interleaver stage. Whitening is enabled
by setting PKTCTRL0.WHITE_DATA=1.
If FEC/Interleaving is enabled, the length byte,
payload data and the two CRC bytes will be
scrambled by the interleaver, and FEC
encoded before being modulated.
15.6 Packet Handling in Receive Mode
In receive mode, the demodulator and packet
handler will search for a valid preamble and
the sync word. When found, the demodulator
has obtained both bit and byte synchronism
and will receive the first payload byte.
If FEC/Interleaving is enabled, the FEC
decoder will start to decode the first payload
byte. The interleaver will de-scramble the bits
before any other processing is done to the
data.
If whitening is enabled, the data will be de-
whitened at this stage.
When variable packet length is enabled, the
first byte is the length byte. The packet handler
stores this value as the packet length and
receives the number of bytes indicated by the
length byte. If fixed packet length is used, the
packet handler will accept the programmed
number of bytes.
Next, the packet handler optionally checks the
address and only continues the reception if the
address matches. If automatic CRC check is
Preliminary Data Sheet (rev.1.1.) SWRS040
Page 28 of 77