CC2420
SWRS041B Page 39 of 89
MPDU
Length byte
n
MPDU
1
MPDU
2
MPDU
n-2
RSSI
(signed)
CRC / Corr
7
6
5
4
3
2
1
0
Bit number
CRC
OK
Correlation value (unsigned)
Data in RXFIFO
Figure 21. Data in RXFIFO when
MDMCTRL0.AUTOCRC
is set
17
RF Data Buffering
CC2420
can be configured for different
transmit and receive modes, as set in the
MDMCTRL1.TX_MODE
and
MDMCTRL1.RX_MODE
control bits.
Buffered mode (mode 0) will be used for
normal operation of
CC2420
, while other
modes are available for test purposes.
17.1 Buffered transmit mode
In buffered transmit mode (TX_MODE 0),
the 128 byte TXFIFO, located in
CC2420
RAM, is used to buffer data before
transmission. A preamble sequence
(defined in the Frame Format section
below) is automatically inserted before the
length field during transmission. The
length field must always be the first byte
written to the transmit buffer for all frames.
Writing one or multiple bytes to the
TXFIFO is described in the FIFO access
section on page 31. Reading data from the
TXFIFO is possible with RAM access, but
this does not remove the byte from the
FIFO.
Transmission is enabled by issuing a
STXON
or
STXONCCA
command strobe.
See the Radio control state machine
section on page 43 for an illustration of
how the transmit command strobes affect
the state of
CC2420
. The
STXONCCA
strobe
is ignored if the channel is busy. See the
Clear Channel Assessment section on
page 50 for details on
CCA
.
The preamble sequence is started 12
symbol periods after the command strobe.
After the programmable start of frame
delimiter has been transmitted, data is
fetched from the TXFIFO.
A TXFIFO underflow is issued if too few
bytes are written to the TXFIFO.
Transmission is then automatically
stopped. The underflow is indicated in the
TX_UNDERFLOW
status bit, which is
returned during each address byte and
each byte written to the TXFIFO. The
underflow bit is only cleared by issuing a
SFLUSHTX
command strobe.
The TXFIFO can only contain one data
frame at a given time.
After complete transmission of a data
frame, the TXFIFO is automatically refilled
with the last transmitted frame. Issuing a
new
STXON
or
STXONCCA
command
strobe will then cause
CC2420
to retransmit
the last frame.
Writing to the TXFIFO after a frame has
been transmitted will cause the TXFIFO to
be automatically flushed before the new
byte is written. The only exception is if a
TXFIFO underflow has occurred, then a
SFLUSHTX
command strobe is required.
17.2 Buffered receive mode
In buffered receive mode (RX_MODE 0),
the 128 byte RXFIFO, located in
CC2420
RAM, is used to buffer data received by
the demodulator. Accessing data in the
RXFIFO is described in the FIFO access
section on page 31.
The
FIFO
and
FIFOP
pins are used to
assist the microcontroller in supervising
the RXFIFO. Please note that the
FIFO
and
FIFOP
pins are only related to the
RXFIFO, even if
CC2420
is in transmit
mode.