RXFIFO Access
Automatic Setting of the Frame Pending Field (AUTOPEND)
When the
SRCMATCH.AUTOPEND
bit is set, the result from source address matching determines the value
of the frame-pending field. On reception of a frame, the frame-pending field in the (possibly) returned
acknowledgment is set, given that:
•
FRMFILT0.FRAME_FILTER_EN
is set.
•
SRCMATCH.SRC_MATCH_EN
is set.
•
SRCMATCH.AUTOPEND
is set.
•
The received frame matches the current
SRCMATCH.PEND_DATAREQ_ONLY
setting.
•
The received source address matches at least one source-match table entry, which is enabled in both
SRCSHORTEN and
SRCSHORTPENDEN
, or
SRCEXTEN
and
SRCEXTPENDEN
.
If the source-matching table runs full, the
FRMCTRL1.PENDING_OR
bit may be used to override the
AUTOPEND feature and temporarily acknowledge all frames with the frame-pending field set.
23.10 RXFIFO Access
The RXFIFO can hold one or more received frames, provided that the total number of bytes is 128 or less.
There are two ways to determine the number of bytes in the RXFIFO:
•
Reading the
RXFIFOCNT
register
•
Using the FIFOP and FIFO signals in combination with the
FIFOPCTRL.FIFOPTHR
setting
The RXFIFO is accessed through the
RFD
register.
The data in the RXFIFO can also be accessed by accessing the radio RAM directly. The FIFO pointers
are readable in
RXFIRST_PTR
,
RXLAST_PTR
, and
RXP1_PTR
. This can be useful if one wants to access
quickly a certain byte within a frame without having to read out the entire frame first. Note that when using
this direct accessing, no FIFO pointers are updated.
The ISFLUSHRX command strobe resets the RXFIFO, resetting all FIFO pointers and clearing all
counters, status signals, and sticky error conditions. However, if the receiver is actively receiving a frame
when the FIFO is flushed, the
RFERRF.ABO
flag is asserted.
The SFLUSHRX command strobe resets the RXFIFO, removing all received frames and clearing all
counters, status signals, and sticky-error conditions.
23.10.1 Using the FIFO and FIFOP
The FIFO and FIFOP signals are useful when reading out received frames in small portions while the
frame is received:
•
FSMSTAT1.FIFO
goes high when one or more bytes are in the RXFIFO, but low when RX overflow
has occurred.
•
The
FSMSTAT1.FIFOP
signal goes high when:
–
The number of valid bytes in the RXFIFO exceeds the FIFOP threshold value programmed into
FIFOPCTRL
. When frame filtering is enabled, the bytes in the frame header are not considered
valid until the frame has been accepted.
–
The last byte of a new frame is received, even if the FIFOP threshold is not exceeded. If so, FIFOP
goes back to low at the next RXFIFO read access.
243
SWRU191C
–
April 2009
–
Revised January 2012
CC253x Radio
Copyright
©
2009
–
2012, Texas Instruments Incorporated