2 ethernet’s multiple access protocol, 6 programming interface, 1 packet buffer descriptors – Texas Instruments TMS320DM36X User Manual
Page 19
www.ti.com
Architecture
2.5.2
Ethernet’s Multiple Access Protocol
Nodes in an Ethernet Local Area Network are interconnected by a broadcast channel, as a result, when
an EMAC port transmits a frame, all the adapters on the local network receive the frame. Carrier Sense
Multiple Access with Collision Detection (CSMA/CD) algorithms are used when the EMAC operates in
half-duplex mode. When operating in full-duplex mode, there is no contention for use of a shared medium,
since there are exactly two ports on the local network.
Each port runs the CSMA/CD protocol without explicit coordination with the other ports on the Ethernet
network. Within a specific port, the CSMA/CD protocol works as follows:
1. The port obtains data from upper layers protocols at its node, prepares an Ethernet frame, and puts
the frame in a buffer.
2. If the port senses that the medium is idle it starts to transmit the frame. If the port senses that the
transmission medium is busy, it waits until it senses no signal energy (plus an Inter-Packet Gap time)
and then starts to transmit the frame.
3. While transmitting, the port monitors for the presence of signal energy coming from other ports. If the
port transmits the entire frame without detecting signal energy from other Ethernet devices, the port is
done with the frame.
4. If the port detects signal energy from other ports while transmitting, it stops transmitting its frame and
instead transmits a 48-bit jam signal.
5. After transmitting the jam signal the port enters an exponential backoff phase. Specifically, when
transmitting a given frame, after experiencing a number of collisions in a row for the frame, the port
chooses a random value that is dependent on the number of collisions. The port then waits an amount
of time that is multiple of this random value, and returns to step 2.
2.6
Programming Interface
2.6.1
Packet Buffer Descriptors
The buffer descriptor is a central part of the EMAC module and is how the application software describes
Ethernet packets to be sent and empty buffers to be filled with incoming packet data. The basic descriptor
format is shown in
and described in
.
For example, consider three packets to be transmitted, Packet A is a single fragment (60 bytes), Packet B
is fragmented over three buffers (1514 bytes total), and Packet C is a single fragment (1514 bytes). The
linked list of descriptors to describe these three packets is shown in
.
Figure 4. Basic Descriptor Format
Bit Fields
Word
Offset
31
16 15
0
0
Next Descriptor Pointer
1
Buffer Pointer
2
Buffer Offset
Buffer Length
3
Flags
Packet Length
19
SPRUFI5B – March 2009 – Revised December 2010
Ethernet Media Access Controller (EMAC)/Management Data Input/Output
(MDIO)
© 2009–2010, Texas Instruments Incorporated