Embedded Solutions
Page 26
status is active high. The Full and Empty status come from the “DMA” FIFO’s while
the Almost Full and Almost Empty status reflects the state of the total FIFO. 0x13 would
correspond to empty Rx and empty Tx DMA FIFO’s. The DMA FIFO’s are the pair of
internal FIFO’s which interact with the DMA engine. First in pipeline for TX and last in
pipeline for RX.
Please note with the Rx side status; the status reflects the state of the FIFO and does
not take the 4 deep pipeline into account. For example the FIFO may be empty and
there may be valid data within the pipeline. The data count with the combined FIFO and
pipeline value and can also be used for read size control. [see later in register
descriptions]
Rx FIFO Empty: When a one is read, the FIFO contains no data; when a zero is read,
there is at least one data word in the FIFO.
Rx FIFO Almost Full: When a one is read, the number of data words in the data FIFO is
greater than the value written to the corresponding RX_AFL_LVL register; when a zero
is read, the FIFO level is <= that value.
Rx FIFO Full: When a one is read, the receive data FIFO is full; when a zero is read,
there is room for at least one more data-word in the FIFO. If the FIFO is full when time
to write received data to the FIFO an overflow error is declared.
Tx FIFO Empty: When a one is read, the FIFO contains no data; when a zero is read,
there is at least one data word in the FIFO. If the FIFO is empty when time to read
transmitted data from the FIFO an underflow error is declared.
Tx FIFO Almost Empty: When a one is read, the number of data words in the data FIFO
is less than the value written to the corresponding TX_AMT_LVL register; when a zero
is read, the FIFO level is >= that value.
Tx FIFO Full: When a one is read, the transmit data FIFO is full; when a zero is read,
there is room for at least one more data-word in the FIFO.
RxFifoOvFlLat: When a one is read, an error has been detected. This will occur if FIFO
is full when the loader function tries to write to it. A zero indicates that no error has
occurred. This bit is latched and can be cleared by writing back to the Status register
with a one in the appropriate bit position.
TxFifoUnFlLat: When a one is read, an error has been detected. This will occur if FIFO
is empty when the state machine tries to read from it. A zero indicates that no error
has occurred. This bit is latched and can be cleared by writing back to the Status
register with a one in the appropriate bit position.