Functional Description
912
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Ethernet Controller
4. When the RSF bit is set in the EMACDMAOPMODE register, RX FIFO store-and-forward mode is
enabled and a frame is read by the DMA only after it is completely written into the RX FIFO. In this
mode, only valid frames are read and forwarded to the application. In cut-through mode, some error
frames are not dropped because the error status is received at the end of the frame and by that time
the start of that frame has already been read out of the RX FIFO.
The TX/RX Controller is capable of storing any number of frames in the RX FIFO as long as it is not full.
15.3.4.2.2 Error Handling
If the RX FIFO is full before it receives the EOF data from the MAC, an overflow is declared, the entire
frame (including the status word) is dropped and the Ethernet MAC Missed Frame and Buffer Overflow
Counter (EMACMFBOC) register is incremented. These error actions occur even if the FEF bit is set in the
EMACDMAPOPMODE register. If the start address of such a frame has already been transferred to the
TX/RX Controller, the rest of the frame is dropped and a dummy EOF is written to the FIFO along with its
status word. The descriptor status indicates a partial frame because of overflow. In such frames, the
Frame Length (FL) field in the receive descriptor is invalid. If the RX FIFO is configured to operate in the
store-and-forward mode and if the length of the received frame is more than the FIFO size, overflow
occurs and all such frames are dropped. During error handling, the DMA flushes the error frame currently
being read.
The Receive control logic can filter error and undersized frames if enabled through configuring the FEF or
FUF bit of the EMACDMAOPMODE register. Filtering must be set before the start address of the frame
has been transferred to the TX/RX controller for it to take effect.
15.3.4.2.3 Receive Word Status
At the end of an Ethernet frame transfer to the system memory, the TX/RX Controller sends a receive
status word, RDES0, to the application. Until the end of the frame transfer, the TX/RX Controller stores the
status and frame length in an asynchronous status FIFO whose depth is determined by the size of the RX
FIFO (2K) and the minimum size of the frame. If the frame size if 64, then the asynchronous FIFO depth is
2048/64 = 32 bytes in length. Note that when the status of a partial frame (because of overflow) is sent to
the application, the Frame Length field of RDES0 is not valid and is set to zero.
NOTE:
When the timestamp feature is enabled, the receive status field is greater than 32-bits. An
extended status bit-field [63:32] provides information about the received Ethernet payload
when it is carrying PTP packets or TCP/UDP/ICMP over IP packets. Since the data bus is 32
bits, the status is transferred over two clock cycles.
15.3.4.3 MAC Flow Control
Flow control mechanisms can be enabled for both the TX and RX FIFO data path, depending on the
configurations in the Ethernet MAC Flow Control (EMACFLOWCTL) register at offset 0x018 and the
DUPM bit configuration in the Ethernet MAC Configuration (EMACCFG) register at offset 0x000.
Table 15-16. TX MAC Flow Control
TFE Bit in
EMACFLOWCTL
DUPM Bit in
EMACCFG
Description
0
X
The MAC transmitter does not perform the flow control or backpressure operation.
1
0
The MAC transmitter performs backpressure when the FCBBPA bit in the Ethernet MAC
Flow Control (EMACFLOWCTL) register is set.
1
1
The MAC transmitter sends a pause frame when the FCBBPA bit in the Ethernet MAC
Flow Control (EMACFLOWCTL) register is set.
Table 15-17. RX MAC Flow Control
TFE Bit in
EMACFLOWCTL
DUPM Bit in
EMACCFG
Description
0
X
The MAC receiver does not detect the received Pause frames.