SWRU543B January 2019 – June 2025 CC3230S , CC3230SF , CC3235MODS , CC3235MODSF , CC3235S , CC3235SF
The internal data FIFO buffer is 32 bits wide and 64 locations deep. Received data from the 8-bit parallel interface is stored in the buffer until read out by the CPU, which accesses the buffer by reading locations starting at the CC_FIFO_DATA register. When enabled, the buffer can generate DMA requests based on the value of FIFO_CTRL_DMA.THRESHOLD.
The FIFO goes into overflow when a write is attempted to a full FIFO, because the software is too slow or the throughput is too high. The content of the full FIFO is not corrupted by any further writes. During FIFO overflow, it is still possible to read data from the FIFO. When the FIFO is no longer full, more writes are possible.
The FIFO goes into underflow when a read is attempted from an empty FIFO, due to software (too many read accesses). After an underflow, it is still possible to write. When the FIFO is no longer empty, it is possible to read from FIFO.
The FIFO is reset by writing 1 into CC_CTRL.CC_RST. If FIFO_OF_IRQ (or FIFO_UF_IRQ) is enabled, an overflow (or an underflow) generates an interrupt. The interrupt is cleared by writing 1 to the FIFO_OF_IRQ bit (or FIFO_UF_IRQ), it is not necessary to apply CC_RST beforehand.