Texas Instruments TMS320DM643X DMP 사용자 설명서

다운로드
페이지 120
www.ti.com
2.9
Media Independent Interface (MII)
2.9.1
Data Reception
2.9.1.1
Receive Control
2.9.1.2
Receive Inter-Frame Interval
2.9.1.3
Receive Flow Control
Peripheral Architecture
The EMAC module operates independently of the CPU. It is configured and controlled by its register set
mapped into device memory. Information about data packets is communicated by use of 16-byte
descriptors that are placed in an 8K-byte block of RAM in the EMAC control module.
For transmit operations, each 16-byte descriptor describes a packet or packet fragment in the system's
internal or external memory. For receive operations, each 16-byte descriptor represents a free packet
buffer or buffer fragment. On both transmit and receive, an Ethernet packet is allowed to span one or
more memory fragments, represented by one 16-byte descriptor per fragment. In typical operation, there is
only one descriptor per receive buffer, but transmit packets may be fragmented, depending on the
software architecture.
An interrupt is issued to the CPU whenever a transmit or receive operation has completed. However, it is
not necessary for the CPU to service the interrupt while there are additional resources available. In other
words, the EMAC continues to receive Ethernet packets until its receive descriptor list has been
exhausted. On transmit operations, the transmit descriptors need only be serviced to recover their
associated memory buffer. Thus, it is possible to delay servicing of the EMAC interrupt if there are
real-time tasks to perform.
Eight channels are supplied for both transmit and receive operations. On transmit, the eight channels
represent eight independent transmit queues. The EMAC can be configured to treat these channels as an
equal priority "round-robin" queue or as a set of eight fixed-priority queues. On receive, the eight channels
represent eight independent receive queues with packet classification. Packets are classified based on the
destination MAC address. Each of the eight channels is assigned its own MAC address, enabling the
EMAC module to act like eight virtual MAC adapters. Also, specific types of frames can be sent to specific
channels. For example, multicast, broadcast, or other (promiscuous, error, etc.), can each be received on
a specific receive channel queue.
The EMAC keeps track of 36 different statistics, plus keeps the status of each individual packet in its
corresponding packet descriptor.
The following sections discuss the operation of the Media Independent Interface (MII) in 10 Mbps and
100 Mbps mode. An IEEE 802.3 compliant Ethernet MAC controls the interface.
Data received from the PHY is interpreted and output to the EMAC receive FIFO. Interpretation involves
detection and removal of the preamble and start-of-frame delimiter, extraction of the address and frame
length, data handling, error checking and reporting, cyclic redundancy checking (CRC), and statistics
control signal generation. Address detection and frame filtering is performed outside the MII interface.
The 802.3 standard requires an interpacket gap (IPG), which is 24 MII clocks (96 bit times). However, the
EMAC can tolerate a reduced IPG (2 MII clocks or 8 bit times) with a correct preamble and start frame
delimiter. This interval between frames must comprise (in the following order):
1. An Interpacket Gap (IPG).
2. A 7-byte preamble (all bytes 55h).
3. A 1-byte start of frame delimiter (5DH).
When enabled and triggered, receive flow control is initiated to limit the EMAC from further frame
reception. Two forms of receive buffer flow control are available:
Collision-based flow control for half-duplex mode
IEEE 802.3x pause frames flow control for full-duplex mode
SPRU941A – April 2007
Ethernet Media Access Controller (EMAC)/
35
Management Data Input/Output (MDIO)