GD32F10x User Manual
676
suspending a certain time which is indicated in pause time field of detected pause control
frame and then to transmit data. This function can set by RFCEN bit in ENET_MAC_FCTL
register. If this function is not enabled, the MAC will ignore the received pause frames. If this
function is enabled, MAC can decode this frame. Type field, opcode field and pause time field
in the frame are all recognized by the MAC. During the pause time period, if MAC received a
new pause frame, the new pause time filed value is loaded to the pause time counter
immediately. If the new pause time filed is zero, then the pause time counter stops and
transmit operation recovers. Application can configure PCFRM bit in ENET_MAC_FRMF
register to decide the solving method for such control frame.
Receive checksum offload
Receive checksum offload is enabled when IPFCO bit in ENET_MAC_CFG register is set.
Receive checksum offload can calculate the IPv4 header checksum and check whether it
matches the contents of the IPv4 header checksum field. The MAC identifies IPv4 or IPv6
frames by checking for the value of 0x0800 or 0x86DD respectively in the received Ethernet
frame type field. This method is also used to identify frames with VLAN tags. Header
checksum error bits in DMA receive descriptor (the 7 bit in RDES0) reflects the header
checksum result. This bit is set if received IP header has the following errors:
Any mismatch between the IPv4 calculation result by checksum offload module and the
value in received frame’s checksum field.
Any inconsistent between the data type of Ethernet type field and IP header version
field.
Received frame length is less than the length indicated in IPv4 header length field, or
IPv4 or IPv6 header is less than 20 bytes.
Receive checksum offload also identifies the data type of the IP packet is TCP, UDP or ICMP,
and calculate their checksum according to TCP, UDP or ICMP specification. Calculation
process can include data of TCP/UDP/ICMPv6 pseudo-header. Payload checksum error bits
in DMA receive descriptor (bit 0 in RDES0) reflects the payload checksum result. This bit is
set if received IP payload has the following errors:
Any mismatch between the TCP, UDP or ICMP checksum calculation result by
checksum offload and the received TCP/UDP/ICMP frame’s checksum field.
Any inconsistent between the received TCP, UDP or ICMP data length and length of IP
header.
The received checksum offload does not calculate the following conditions: Incomplete IP
packets, IP packets with security features, packets of IPv6 routing header and data type is
not TCP, UDP or ICMP.
Error handling
If RxFIFO becomes full but the last received byte is not the end of frame (EOF), the
RxFIFO will discard the whole frame data and return an overflow status. Also the
counter of counting the overflow condition times will plus 1.
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 ...