English
Language : 

CC2500 Datasheet, PDF (27/76 Pages) Texas Instruments – Single Chip Low Cost Low Power RF Transceiver
CC2500
used to set the maximum packet length
allowed in RX. Any packet received with a
length byte with a value greater than PKTLEN
will be discarded.
With PKTCTRL0.LENGTH_CONFIG=2, the
packet length is set to infinite and transmission
and reception will continue until turned off
manually. The infinite mode can be turned off
while a packet is being transmitted or received.
As described in the next section, this can be
used to support packet formats with different
length configuration than natively supported by
CC2500.
15.2.1 Arbitrary Length Field Configuration
The fixed length field can be reprogrammed
during receive and transmit. This opens the
possibility to have a different length field
configuration than supported for variable
length packets. At the start of reception, the
packet length is set to a large value. The MCU
reads out enough bytes to interpret the length
field in the packet. Then the PKTLEN value is
set according to this value. The end of packet
will occur when the byte counter in the packet
handler is equal to the PKTLEN register. Thus,
the MCU must be able to program the correct
length, before the internal counter reaches the
packet length.
By utilizing the infinite packet length option,
arbitrary packet length is available. At the start
of the packet, the infinite mode must be active.
When less than 256 bytes remains of the
packet, the MCU sets the PKTLEN register to
mod(length, 256), disables infinite packet
length and activates fixed length packets.
When the internal byte counter reaches the
PKTLEN value, the transmission or reception
ends. Automatic CRC appending/checking can
be used (by setting PKTCTRL0.CRC_EN to 1).
When for example a 454-byte packet is to be
transmitted, the MCU does the following:
• Set PKTCTRL0.LENGTH_CONFIG=2 (10).
• Pre-program the PKTLEN register to
mod(454,256)=198.
• Transmit at least 198 bytes, for example
by filling the 64-byte TX FIFO four times
(256 bytes transmitted).
• Set PKTCTRL0.LENGTH_CONFIG=0 (00).
• The transmission ends when the packet
counter reaches 198. A total of
256+198=454 bytes are transmitted.
Preamble bits
(1010...1010)
Optional data whitening
Optionally FEC encoded/decoded
Optional CRC-16 calculation
Data field
8 x n bits
16/32 bits
8
bits
8
bits
8 x n bits
16 bits
Figure 8: Packet format
Legend:
Inserted automatically in TX,
processed and removed in RX.
Optional user-provided fields processed in TX,
processed but not removed in RX.
Unprocessed user data (apart from FEC
and/or whitening)
15.3 Packet Filtering in Receive Mode
CC2500 supports three different packet-filtering
criteria: address filtering, maximum length
filtering and CRC filtering.
15.3.1 Adress Filtering
Setting PKTCTRL1.ADR_CHK to any other
value than zero enables the packet address
filter. The packet handler engine will compare
the destination address byte in the packet with
the programmed node address in the ADDR
register and the 0x00 broadcast address when
PKTCTRL1.ADR_CHK=10 or both 0x00 and
0xFF broadcast addresses when
PKTCTRL1.ADR_CHK=11. If the received
address matches a valid address, the packet is
received and written into the RX FIFO. If the
address match fails, the packet is discarded
and receive mode restarted (regardless of the
MCSM1.RXOFF_MODE setting).
15.3.2 Maximum Length Filtering
In the variable packet length mode the
PKTLEN.PACKET_LENGTH register value is
used to set the maximum allowed packet
length. If the received length byte has a larger
value than this, the packet is discarded and
Preliminary Data Sheet (rev.1.1.) SWRS040
Page 27 of 77