
GD32F10x User Manual
668
Transmit status word
Transmit status word includes many transmit state flags for application and are updated after
the complete the transmission of the frame. If timestamp function is enable, the timestamp
value is also write back to transmit descriptor along with transmit status.
Transmit FIFO flush operation
Application can clear TxFIFO and reset the FIFO data pointer by setting FTF bit (bit 20) of
ENET_DMA_CTL register. The flush operation will be executed at once no matter whether
TxFIFO is popping data to MAC. This results in an underflow event in the MAC transmitter,
and the makes frame transmission abort. At the same time, MAC returns state information of
frame and transmit status words transferred to the application. The status of such a frame is
marked with both underflow and frame flush events (TDES0 bits 1 and 13). When the transmit
data in TxFIFO is flushed, the transmit status word will be written back to descriptor. After the
status is written, the flush operation is complete. When a flush operation is received, all the
following data which should be popped from TxFIFO into MAC will be dropped unless a new
FSG bit of descriptor is received. After operation completed, the FTF bit of ENET_DMA_CTL
register is then automatically cleared.
Transmit flow control
The MAC manages transmission frame through back pressure (in Half-duplex mode) and the
pause control frame (in Full-duplex mode) for flow control.
Half-duplex mode flow control : Back Pressure
When MAC is configured in Half-duplex mode, there are two conditions to trigger the back
pressure feature. Both of the two conditions are triggered to enable back pressure function
which is implemented by sending a special pattern (called jam pattern) 0x5555 5555 once to
notify conflict to all other sites. The first condition is triggered by application setting the
FLCB/BKPA bit in ENET_MAC_FCTL register. The second condition occurs during receiving
frame. When MAC receiver is receiving frame, the byte number of RxFIFO is more and more
great. When this number is greater than the high threshold (RFA bits in ENET_MAC_FCTH),
MAC will set the back pressure pending flag. If this flag is set and a new frame presents on
interface, MAC will send a jam pattern to delay receiving this new frame a back pressure time.
After this back pressure time is end, external PHY will send this new frame again. If the
number of the RxFIFO is not less than low threshold (RFD bits in ENET_MAC_FCTH) during
this back pressure time, a jam pattern is send again. If the number of the RxFIFO is less than
low threshold (RFD bits in ENET_MAC_FCTH) during this back pressure time, MAC resets
the back pressure pending flag and is enable to receive the new frame instead of sending jam
pattern.
Full-duplex mode flow control : Pause Frame
The MAC uses a mechanism named "pause frame" for flow control in Full-duplex mode.
Receiver can send a command to the sender for informing it to suspend transmission a period
Summary of Contents for GD32F10 Series
Page 63: ...GD32F10x User Manual 63 programmed during the chip production ...
Page 117: ...GD32F10x User Manual 117 010 1 0 011 0 9 ...
Page 416: ...GD32F10x User Manual 416 shadow register updates every update event ...
Page 427: ...GD32F10x User Manual 427 value ...
Page 518: ...GD32F10x User Manual 518 These bits are not used in SPI mode ...