Introduction
1412
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
EMAC/MDIO Module
28.1.4 Industry Standard(s) Compliance Statement
The EMAC peripheral conforms to the IEEE 802.3 standard, describing the Carrier Sense Multiple Access
with Collision Detection (CSMA/CD) Access Method and Physical Layer specifications. The IEEE 802.3
standard has also been adopted by ISO/IEC and re-designated as ISO/IEC 8802-3:2000(E).
However, the EMAC deviates from the standard in the way it handles transmit underflow errors. The
EMAC MII interface does not use the Transmit Coding Error signal MTXER. Instead of driving the error pin
when an underflow condition occurs on a transmitted frame, the EMAC intentionally generates an incorrect
checksum by inverting the frame CRC, so that the transmitted frame is detected as an error by the
network.
28.2 Architecture
This section discusses the architecture and basic function of the EMAC peripheral.
28.2.1 Clock Control
All internal EMAC logic is clocked synchronously on the VCLKA4 domain. Please refer to the
Architecture
chapter for more details.
The MDIO clock is based on a divide-down of the VCLK3 peripheral bus clock and is specified to run up to
2.5 MHz (although typical operation would be 1.0 MHz). Because the VCLK3 peripheral clock frequency is
configurable, the application software or driver must control the divide-down value.
The transmit and receive clock sources are provided by the external PHY to the MII_TXCLK and
MII_RXCLK pins or to the RMII reference clock pin. Data is transmitted and received with respect to the
reference clocks of the interface pins.
The MII interface frequencies for the transmit and receive clocks are fixed by the IEEE 802.3 specification
as:
•
2.5 MHz at 10 Mbps
•
25 MHz at 100 Mbps
The RMII interface frequency for the transmit and receive clocks are fixed at 50 MHz for both 10 Mbps
and 100 Mbps.
28.2.2 Memory Map
The EMAC peripheral includes internal memory that is used to hold buffer descriptions of the Ethernet
packets to be received and transmitted. This internal RAM is 2K × 32 bits in size. Data can be written to
and read from the EMAC internal memory by either the EMAC or the CPU. It is used to store buffer
descriptors that are 4-words (16-bytes) deep. This 8K local memory holds enough information to transfer
up to 512 Ethernet packets without CPU intervention. This EMAC RAM is also referred to as the CPPI
buffer descriptor memory because it complies with the Communications Port Programming Interface
(CPPI) v3.0 standard.
The packet buffer descriptors can also be placed in other on- and off-chip memories such as the CPU
RAM. There are some tradeoffs in terms of interconnect bandwidth when descriptors are placed in the
CPU RAM, versus when they are placed in the EMAC’s internal memory. In general, the EMAC
throughput is better when the descriptors are placed in the local EMAC CPPI RAM.