beautypg.com

2 ethernet’s multiple access protocol, 6 programming interface, 1 packet buffer descriptors – Texas Instruments TMS320DM36X User Manual

Page 19

background image

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

Figure 4

and described in

Table 3

.

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 5

.

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)

Submit Documentation Feedback

© 2009–2010, Texas Instruments Incorporated