www.ti.com | Architecture |
2.5.2Ethernet’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
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
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
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.6Programming Interface
2.6.1Packet 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 |
|
|
|
|
|
SPRUFI5B
Submit Documentation Feedback | (MDIO) |
|
©