Datasheet
When a new frame transmission is requested, the MAC transmit module sends out a preamble and
SFD, followed by the data in the TX FIFO. The preamble is defined as 7 bytes of 0xAA and the SFD
is defined as 1 byte of 0xAB pattern.
The collision window is defined as 1 slot time (512-bit times). If a collision occurs any time from the
beginning of the frame to the end of the CRC field, the MAC transmit module sends a 32-bit jam
pattern of 0x5555.5555 to inform all other stations that a collision has occurred. If the collision is
seen during the preamble transmission phase, the MAC transmit module completes the transmission
of the preamble and SFD, and then sends the jam pattern. If the collision occurs after the collision
window and before the end of the FCS field, the MAC transmit module sends a 32-bit jam pattern
and sets the late collision bit in the transmit frame status. The jam pattern generation is applicable
only to half-duplex mode.
A jabber timer is enabled by default at reset in the MAC module. If the JD bit in the EMACCFG
register at offset 0x000 is clear and the MAC module has transferred more than 2K bytes, the jabber
timer causes the MAC module to stop transmission of Ethernet frames. The timeout is changed to
10 KB when the Jumbo Frame Enable (JFEN) bit is enabled in the EMACCFG register.
The MAC transmit module uses a deferral mechanism for flow control (back pressure) in half-duplex
mode. When the application requests to stop receiving frames, the transmit module sends a jam
pattern of 32 bytes whenever it senses the reception of a frame, provided the transmit flow control
is enabled. This results in a collision and the remote station backs off. If the application requests a
frame to be transmitted, the frame is scheduled and transmitted even when backpressure is activated.
If the backpressure is activated for a long time (more than 16 consecutive collision events occur)
then the remote stations abort their transmissions because of excessive collisions.
If IEEE 1588 timestamping is enabled for the transmit frame, the MAC transmit module takes a
snapshot of the system time when the start-of-frame data is output on the bus.
23.3.4.2 MAC Transmit Module CRC Generator
The Transmit CRC Generator is used to generate the 32-bit CRC for the FCS field of the Ethernet
frame. The encoding is defined by the following generating polynomial:
G(x) = x
32
+ x
26
+ x
23
+ x
22
+ x
16
+ x
12
+ x
11
+ x
10
+ x
8
+ x
7
+ x
5
+ x
4
+ x
2
+ x
1
.
The calculated CRC is valid on the next clock after the data is received.
23.3.4.3 MAC Receive Module
A receive operation is initiated when the MAC detects start-of-frame data (SFD). The MAC strips
the preamble and SFD before proceeding to process the frame. The header fields are checked for
the filtering and the FCS field is used to verify the CRC for the frame. The received frame is stored
in a buffer until the address filtering is performed. The frame is dropped in the MAC if it fails the
address filter.
Some of the functions of the MAC receive module are as follows:
■ Stripping the preamble, SFD and carrier extension of the Ethernet frame
■ Providing IEEE 1588 timestamping whenever an SFD is detected
■ Converting receive nibble data into bytes in MII mode
■ Decoding Length/Type field of the Ethernet frame
■ Auto-CRC/pad stripping if enabled in the EMACCFG register
1563June 18, 2014
Texas Instruments-Production Data
Tiva
™
TM4C129ENCPDT Microcontroller