This document provides a functional description of the Ethernet Media Access Controller (EMAC) and
Physical layer (PHY) device Management Data Input/Output (MDIO) module integrated with
TMS320TCI6486/TMS320C6472 devices. Included are the features of the EMAC and MDIO modules, a
discussion of their architecture and operation, how these modules connect to the outside world, and the
registers descriptions for each module.
Notational Conventions
This document uses the following conventions.
•Hexadecimal numbers are shown with the suffix h. For example, the following number is 40
hexadecimal (decimal 64): 40h.
•Registers in this document are shown in figures and described in tables.
– Each register figure shows a rectangle divided into fields that represent the fields of the register.
Each field is labeled with its bit name, its beginning and ending bit numbers above, and its
read/write properties below. A legend explains the notation used for the properties.
– Reserved bits in a register figure designate a bit that is used for future device expansion.
Preface
SPRUEF8F–March 2006–Revised November 2010
Read This First
Related Documentation From Texas Instruments
The following documents describe the C6000™ devices and related support tools. Copies of these
documents are available on the Internet. Tip: Enter the literature number in the search box provided at
www.ti.com.SPRU189 — TMS320C6000 DSP CPU and Instruction Set Reference Guide. Describes the CPU
architecture, pipeline, instruction set, and interrupts for the TMS320C6000 digital signal processors
(DSPs).
SPRU198 — TMS320C6000 Programmer's Guide. Describes ways to optimize C and assembly code for
the TMS320C6000™ DSPs and includes application program examples.
SPRU301 — TMS320C6000 Code Composer Studio Tutorial. Introduces the Code Composer Studio™
integrated development environment and software tools.
SPRU321 — Code Composer Studio Application Programming Interface Reference Guide.
Describes the Code Composer Studio™ application programming interface (API), which allows you
to program custom plug-ins for Code Composer.
SPRU871 — TMS320C64x+ Megamodule Reference Guide. Describes the TMS320C64x+ digital signal
processor (DSP) megamodule. Included is a discussion on the internal direct memory access
(IDMA) controller, the interrupt controller, the power-down controller, memory protection, bandwidth
management, and the memory and cache.
C6000, TMS320C6000, Code Composer Studio are trademarks of Texas Instruments.
All other trademarks are the property of their respective owners.
This document provides a functional description of the Ethernet Media Access Controller (EMAC) and
Physical layer (PHY) device Management Data Input/Output (MDIO) module integrated with
TMS320TCI6486/TMS320C6472 devices. Included are the features of the EMAC and MDIO modules, a
discussion of their architecture and operation, how these modules connect to the outside world, and the
registers descriptions for each module.
The EMAC controls the flow of packet data from the processor to the PHY. The MDIO module controls
PHY configuration and status monitoring.
Both the EMAC and the MDIO modules interface to the DSP through EMIC modules and CPPI buffer
managers that allow efficient data transmission and reception. These two modules are considered integral
to the EMAC/MDIO peripheral.
1.1Purpose of the Peripheral
The EMAC module is used on TMS320TCI6486/TMS320C6472 devices to move data between the device
and another host connected to the same network, in compliance with the Ethernet protocol.
User's Guide
SPRUEF8F–March 2006–Revised November 2010
C6472/TCI6486 EMAC/MDIO
1.2Features
Two EMAC modules are integrated with the TCI6486/C6472 device. The basic feature set of the
integrated EMAC modules is:
•Synchronous 10/100/1000-Mbps operation.
•Full duplex Gigabit operation (half duplex gigabit is not supported).
•Little endian and big endian support.
•Both EMAC modules support three types of interfaces to the physical layer device (PHY): reduced
pin-count media independent interface (RMII), reduced pin-count gigabit media independent interface
(RGMII), and source synchronous serial independent interface (S3MII).
•In addition to above four EMAC0 natively supports an additional two interfaces: standard media
independent interface (MII) and standard gigabit media independent interface (GMII).
•EMAC acts as DMA master to either internal or external device memory space.
•Eight receive channels with VLAN tag discrimination for receive quality-of-service (QOS) support.
•Eight transmit channels with round-robin or fixed priority for transmit quality-of-service (QOS) support.
•Ether-stats and 802.3-stats statistics gathering.
•Transmit CRC generation selectable on a per-channel basis.
•Broadcast frames selection for reception on a single channel.
•Multicast frames selection for reception on a single channel.
•Promiscuous receive mode frames selection for reception on a single channel (all frames, all good
frames, short frames, error frames).
•Hardware flow control.
•CPPI 3.0 compliant.
•TI adaptive performance optimization for improved half duplex performance.
•Ethernet Multicore Interrupt Combiner (EMIC) for EMAC and MDIO interrupts.
•Programmable interrupt logic permits the software driver to restrict the generation of back-to-back
interrupts, thus, allowing more work to be performed in a single call to the interrupt service routine.
SPRUEF8F–March 2006–Revised November 2010C6472/TCI6486 EMAC/MDIO
The EMAC module provides an efficient interface between the TCI6486/C6472 core processor and the
networked community. The EMAC supports 10Base-T (10 Mbits/sec) and 100Base-TX (100 Mbits/sec) in
either half- or full-duplex mode, and 1000Base-T (1000 Mbits/sec) in full-duplex mode, with hardware flow
control and quality-of-service (QOS) support.
Each EMAC module has a communications port programming interface (CPPI) buffer manager to manage
8K of CPPI RAM. The EMAC uses four 32-bit words as buffer descriptors that point to different buffers in
the DSP memory. The CPUs create and maintain these buffer descriptors. The EMAC reads from and
writes to these buffer descriptors as it transfers data to or from the buffers.
The EMIC module associated with each EMAC takes a single set of interrupts from respective EMAC and
common MDIO and creates six different sets of TX, RX, and common interrupts to six cores of the
TCI6486/C6472 device. In addition, this module implements the interrupt pacing operation.
The control registers of the EMAC and MDIO modules are memory mapped into device memory space via
the device configuration bus.
The MDIO module implements the 802.3 serial management interface to interrogate and control up to 32
Ethernet PHYs connected to the device, using a shared two-wire bus. Application software uses the MDIO
module to configure the auto-negotiation parameters of each PHY attached to the EMAC, retrieve the
negotiation results, and configure required parameters in the EMAC module for correct operation. The
module is designed to allow almost transparent operation of the MDIO interface, with very little
maintenance from the core processor. A single MDIO is shared by both EMACs.
MACSEL0[2:0] and MACSEL1[1:0] are device configuration pins used to select the MII interface for
EMAC0 and EMAC1, respectively.
The MDIO communicates to PHY through two signals: MDCLK (output clock) and MDIO (bi-directional
data). For details of MDIO operation and signals, see Section 2.8. The device has two serial management
interfaces, although only one is used based on the interface selection of EMAC0. Table 1 shows the two
sets of pins associated with serial management interface. One serial management interface is for RGMII
(needed at 1.8-V HSTL buffer) and the other serial management interface is for non-RGMII interfaces
(needed at 3.3-V LVCMOS buffers).
Introduction
Table 1. Serial Management Interface Pins
SignalDescription
GMDCLKMII/GMII/RMII/S3MII management clock. Available on 3.3-V LVCMOS buffers.
GMDIOMII/GMII/RMII/S3MII management data. Available on 3.3-V LVCMOS buffers.
RGMDCLKRGMII management clock. Available on 1.8-V HSTL buffers.
RGMDIORGMII management data. Available on 1.8-V HSTL buffers.
As mentioned above, the management interface selection is based on the interface selection for EMAC0.
If MACSEL0 is programmed to select RGMII0, the 1.8-V serial management interface is selected
(RGMDIO, RGMDCLK), otherwise, the 3.3-V (GMDIO, GMDCLK) management interface is selected. Due
to this programmed selection, in some cases level shifters may have to be used for the management
interface. As an example, if the RGMII0 interface is selected for EMAC0 and the S3MII1 interface is
selected for EMAC1, the 1.8-V serial management interface (RGMDCLK and RGMDIO) is used. Since
S3MII PHY needs the 3.3-V management interface, level shifters have to be used to level translate these
HSTL pins.
Also note that EMAC1 can be enabled or disabled using the EMAC1_EN internal pulldown pin that
controls the I/O signals of EMAC1. The EMAC1_EN is also latched into the bit 12 of the DEVCTL register.
Table 2 describes the EMAC1_EN pin.
Table 2. EMAC1_EN Pin Description
ValueDescription
0EMAC1 is disabled or not used.
Pulls on EMAC1 I/O are enabled (except RGMII pins) and the corresponding I/O
buffers are powered down.
SPRUEF8F–March 2006–Revised November 2010C6472/TCI6486 EMAC/MDIO
Pulls on EMAC1 I/O are disabled (except RGMII pins) and the corresponding I/O
buffers are powered up except RGMII output-only pins.
NOTE:RGMII buffers are HSTL buffers with no internal pulls. RGMII output only pins will always
be powered down even when the module is enabled.
EMAC1_EN is also software programmable through the DEVCTL register. A write to the DEVCTL register
is key-protected by the DEVCTL_KEY register. For details of MACSEL0, MACSEL1, and EMAC1_EN
decoding, see Section 2.3.
1.4Industry 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. ISO/IEC has also
adopted the IEEE 802.3 standard and re-designated it as ISO/IEC 8802-3:2000(E).
In difference from this standard, the EMAC peripheral integrated with the TCI6486/C6472 device 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 check sum by inverting the
frame CRC so that the network detects the transmitted frame as an error.
www.ti.com
14
C6472/TCI6486 EMAC/MDIOSPRUEF8F–March 2006–Revised November 2010
This section discusses the architecture and basic function of the EMAC peripheral.
2.1Clock Control
The frequencies for the transmit and receive clocks are fixed by the IEEE 802.3 specification, as shown
below:
•2.5 MHz at 10 Mbps
•25 MHz at 100 Mbps
•125 MHz at 1000 Mbps
All clock sources, with the exception of the EMAC peripheral bus clock, are sourced from the PLL2
controller. The PLL2 controller has 3 clocks for EMAC0: SYSCLK13, SYSCLK14, and SYSCLK15. For
EMAC0 operation, the SYSCLK14 divider is programmable and other clocks are fixed. The PLL multiplier
value of the PLL2 controller is also fixed. The PLL2 controller has 3 clocks for EMAC1: SYSCLK16,
SYSCLK17, and SYSCLK18. These clocks should remain fixed.
Table 3. EMAC Clock Specifications
ClockDividerFrequencyPurpose
SYSCLK13/2250 MHzUsed for RGMII0 only
SYSCLK14
SYSCLK15/1005 MHzUsed for RGMII0 only
SYSCLK16/2250 MHzUsed for RGMII1 only
SYSCLK17/1050 MHzUsed for RGMII1 (default)
SYSCLK18/1005 MHzUsed for RGMII1 only
/10 or50 or50 MHz used for RGMII (default
/4125 MHz125 MHz used for GMII
EMAC Functional Architecture
2.1.1MII Clocking
The MII interface is supported by EMAC0 only. When MACSEL0 is set to zero (000b), the transmit and
receive clock sources are provided from an external PHY via the MTCLK and MRCLK pins. These clocks
are inputs to the EMAC module and operate at 2.5 MHz in 10-Mbps mode and at 25 MHz in 100-MHz
mode. The MII clocking interface is not used in 1000-Mbps mode. For timing purposes, data is transmitted
and received with reference to MTCLK and MRCLK, respectively.
2.1.2RMII Clocking
The RMII interface is selected when MACSEL0 is set to 1 (001b) or MACSEL1 is set to 3 (11b). RMII
requires two clock sources, the peripheral bus clock and the reference clock (REF_CLK), input to the RMII
gasket. A 50-MHz clock from device input pin REFCLKx is supplied to the REF_CLK input of the RMII
gasket. The EMAC clocks the transmit and receive operations from the reference clock. The MTCLK and
MRCLK device pins are not used for this interface. The RMII protocol turns one data phase of an MII
transfer into two data phases at double the clock frequency. This is the driving factor for the 50-MHz
reference clock. Data at the I/O pins are running at 5 MHz in 10-Mbps mode and at 50 MHz in 100-Mbps
mode.
SPRUEF8F–March 2006–Revised November 2010C6472/TCI6486 EMAC/MDIO
The GMII interface is available only on EMAC0 and requires two clock sources generated internally, the
peripheral bus clock and the RFTCLK inputs to the EMAC module. SYSCLK14 is programmed to /4 for
this interface to provide a 125-MHz clock to the RFTCLK input of EMAC. The GMII interface is selected by
programming MACSEL0 to 2 (010b). Transmit and receive clock sources for 10/100-Mbps modes are
provided from an external PHY via the MTCLK and MRCLK pins. For 1000-Mbps mode, the receive clock
is provided by an external PHY via the MRCLK pin. For transmit in 1000-Mbps mode, the clock is sourced
synchronous with the data, and is provided by the EMAC to be output on the GMTCLK pin.
For timing purposes, data in 10/100-Mbps mode is transmitted and received with reference to MTCLK and
MRCLK, respectively. For 1000-Mbps mode, receive timing is the same, but transmit is relative to
GMTCLK.
2.1.4RGMII Clocking
The RGMII interface is selected by programming MACSEL0 to 3 (011b) and MACSEL1 to 2 (10b). RGMII
requires 4 internally generated clocks; peripheral bus clock and three reference clocks. The EMAC drives
the transmit clock, while an external PHY generates the receive clock. The reference clock drives the
device pin that gives the 125-MHz clock to the PHY; this enables the PHY to generate the receive clock
that is sent to EMAC.
The RGMII protocol takes a GMII data stream and turns it into an interface with half of the data bus width
and sends the same amount of data with a reduced pinout. The RGMII protocol also allows for dynamic
switching of the mode between 10/100/1000-Mbps modes. This negotiation data is embedded in the
incoming data stream from the external PHY. For timing purposes, data is transmitted and received with
respect to MTCLK and MRCLK, respectively.
The RGMII interface has separate I/O pins from the other EMAC pins because the interface voltage is
different from the other interfaces.
www.ti.com
2.1.5S3MII Clocking
S3MII mode is selected by programming MACSEL0 to 5 (101b) and MACSEL1 to 1 (01b). The S3MII
gasket needs a 125-MHz continuous clock (125_CLK) supplied by an external source. It also needs a
peripheral bus clock as input. MTCLK and MRCLK are fixed at 125 MHz.
2.2Memory Map
The EMAC includes an internal memory that holds information about the Ethernet packets that are
received or transmitted. This internal RAM is 2K x 32 bits in size. The data can be written to and read from
the EMAC internal memory via either the EMAC or the CPU. It stores 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.
The packet buffer descriptors can be put in internal processor memory (L2) on the TCI6486/C6472 device.
There are some trade-offs in terms of cache performance and throughput when the descriptors are put in
L2 versus when they are put in EMAC internal memory. The cache performance improves when the buffer
descriptors are put in the internal memory. However, the EMAC throughput is better when the descriptors
are put in the local EMAC RAM.
16
C6472/TCI6486 EMAC/MDIOSPRUEF8F–March 2006–Revised November 2010
On the TCI6486/C6472 device, EMAC0 and EMAC1 support the following different types of interfaces to
physical layer devices (PHYs) or switches. Each EMAC can be configured to only one interface at any
given time. EMAC0 interface is selected by programming MACSEL0 [2:0] pins (see Table 4) and EMAC1
interface is selected by programming MACSEL1 [1:0] pins (see Table 5).
Table 4. EMAC0 Interface Selection Pins
MACSEL0 [2:0]Interface
Table 5. EMAC1 Interface Selection Pins
MACSEL1 [1:0]Interface
EMAC Functional Architecture
000MII
001RMII
010GMII
011RGMII
100Not used
101S3MII
110Not used
111Not used
00Not used
01S3MII
10RGMII
11RMII
Table 6 explains the decoding of MACSEL0 [2:0], MACSEL1[1:0], and EMAC1_EN of the DEVCTL
register.
Table 6. MACSEL0[2:0], MACSEL1[1:0], and EMAC1_EN Decoding
Figure 2 shows a TCI6486/C6472 device with integrated EMAC and MDIO interfaced to the PHY via an
MII connection. This interface is only available in 10 Mbps and 100 Mbps modes.
Figure 2. Ethernet Configuration with MII Interface
www.ti.com
Table 7 summarizes the individual EMAC and MDIO signals for the MII interface. For more information,
refer to either the IEEE 802.3 standard or ISO/IEC 8802-3:2000(E).
The EMAC module does not include a transmit error (MTXER) pin. If a transmit error occurs, CRC
inversion is used to negate the validity of the transmitted frame.
18
C6472/TCI6486 EMAC/MDIOSPRUEF8F–March 2006–Revised November 2010
MTCLKITransmit clock (MTCLK). The transmit clock is a continuous clock that provides the timing reference
for transmit operations. The MTXD and MTXEN signals are tied to this clock. The clock is generated
by the PHY and is 2.5 MHz at 10-Mbps operation and 25 MHz at 100-Mbps operation.
MTXD[3:0]OTransmit data (MTXD). The transmit data pins are a collection of 4 data signals comprising 4 bits of
data. MTDX0 is the least-significant bit (LSB). The signals are synchronized by MTCLK and valid
only when MTXEN is asserted.
MTXENOTransmit enable (MTXEN). The transmit enable signal indicates that the MTXD pins are generating
nibble data for use by the PHY. It is driven synchronously to MTCLK.
MCOLICollision detected (MCOL). The MCOL pin is asserted by the PHY when it detects a collision on the
network. It remains asserted while the collision condition persists. This signal is not necessarily
synchronous to MTCLK nor MRCLK. This pin is used in half-duplex operation only.
MCRSICarrier sense (MCRS). The MCRS pin is asserted by the PHY when the network is not idle in either
transmit or receive. The pin is de-asserted when both transmit and receive are idle. This signal is not
necessarily synchronous to MTCLK or MRCLK. This pin is used in half-duplex operation only.
MRCLKIReceive clock (MRCLK). The receive clock is a continuous clock that provides the timing reference
for receive operations. The MRXD, MRXDV, and MRXER signals are tied to this clock. The clock is
generated by the PHY and is 2.5 MHz at 10-Mbps operation and 25 MHz at 100-Mbps operation.
MRXD[3:0]IReceive data (MRXD). The receive data pins are a collection of 4 data signals comprising 4 bits of
data. MRDX0 is the least-significant bit (LSB). The signals are synchronized by MRCLK and valid
only when MRXDV is asserted.
MRXDVIReceive data valid (MRXDV). The receive data valid signal indicates that the MRXD pins are
generating nibble data for use by the EMAC. It is driven synchronously to MRCLK.
MRXERIReceive error (MRXER). The receive error signal is asserted for one or more MRCLK periods to
indicate that an error was detected in the received frame. This is meaningful only during data
reception when MRXDV is active.
MDCLKOManagement data clock (MDCLK). The MDIO data clock is sourced by the MDIO module on the
system. It is used to synchronize MDIO data access operations done on the MDIO pin. The
frequency of this clock is controlled by the CLKDIV bits in the MDIO control register (CONTROL).
MDIOI/OManagement data input output (MDIO). The MDIO pin drives PHY management data into and out of
the PHY by way of an access frame consisting of start of frame, read/write indication, PHY address,
register address, and data bit cycles. The MDIO pin acts as an output for everything except the data
bit cycles, when the pin acts as an input for read operations.
When the device is interfaced to an Ethernet switch via an MII interface, the carrier sense (MCRS) and
collision (MCOL) signals are not necessary since full-duplex operation is forced.
On the TCI6486/C6472 device, the MII Ethernet interface is available only on EMAC0. MII0 pins are
multiplexed with other non-RGMII pins (RMII1, S3MII1). due to this multiplexing, when the MII0 interface is
selected on EMAC0, except for RGMII1, no Ethernet interface is available on EMAC1.
SPRUEF8F–March 2006–Revised November 2010C6472/TCI6486 EMAC/MDIO
2.3.2Reduced Media Independent Interface (RMII) Connections
Figure 3 shows a TCI6486/C6472 device with integrated EMAC and MDIO interfaced to the PHY via an
RMII connection. This interface is available only in 10-Mbps and 100-Mbps modes.
Figure 3. Ethernet Configuration with RMII Interface
www.ti.com
The RMII interface has the same functionality as the MII, but it does so with a reduced number of pins,
thus lowering the total cost for an application. In devices incorporating many PHY interfaces such as
switches, the number of pins can add significant cost as the port counts increase. Table 8 summarizes the
individual EMAC and MDIO signals for the RMII interface.
The RMII interface does not include an MCOL signal. A collision is detected from the receive and transmit
data delimiters. The data signals are 2 bits wide, and a single reference clock must be provided to the
MAC, operating at 50 MHz to sustain the same data rate as MII.
Signal NameI/ODescription
RMTXD[1-0]OTransmit data (RMTXD). The transmit data pins are a collection of 2 data signals comprising 2 bits
RMTXENOTransmit enable (RMTXEN). The transmit enable signal indicates that the RMTXD pins are
RMCRSDVICarrier sense/receive data valid (RMCRSDV). The RMCRSDV pin is asserted by the PHY when the
RMREFCLKIReference clock (RMREFCLK). A 50-MHz clock must be provided through this pin for RMII
RMRXD[1-0]IReceive data (RMRXD). The receive data pins are a collection of 2 data signals comprising 2 bits of
Table 8. EMAC and MDIO Signals for RMII Interface
of data. RMTDX0 is the least-significant bit (LSB). The signals are synchronized to the RMII
reference clock and valid only when RMTXEN is asserted.
generating nibble data for use by the PHY. It is driven synchronously to the RMII reference clock.
network is not idle in either transmit or receive. The data on RMRXD is considered valid once the
RMCRSDV signal is asserted. The pin is de-asserted when both transmit and receive are idle. The
assertion of this signal is asynchronous to the RMII reference clock.
operation.
data. RMRDX0 is the least-significant bit (LSB). The signals are synchronized to the RMII reference
clock and valid only when RMCRSDV is asserted. In 10-Mbps operation, RMRXD is sampled every
tenth cycle of the RMII reference clock.
20
C6472/TCI6486 EMAC/MDIOSPRUEF8F–March 2006–Revised November 2010
The 50-MHz reference clock (RMREFCLK) for the RMII gasket is sourced externally through a zero-delay
clock buffer. If multiple RMII PHY ports are used, all device RMII reference clocks must come from same
zero-delay clock buffer.
On the TCI6486/C6472 device, RMII pins are multiplexed with other non-RGMII pins. When using the
RMII0 port on EMAC0, there are no restrictions on the available EMAC1 Ethernet interfaces (RMII1,
S3MII1, and RGMII1 are useable). When using the RMII1 port on EMAC1, the EMAC0 Ethernet interfaces
not available due to pin multiplexing are GMII0/MII0. The RMII0, S3MII0, and RGMII0 ports are available
on EMAC0 Ethernet interfaces when using the RMII1 port on EMAC1.
If the device is interfaced to an Ethernet switch through the RMII interface, all device RMII reference
clocks should be externally sourced from the same zero-delay clock buffer.
EMAC Functional Architecture
Table 8. EMAC and MDIO Signals for RMII Interface (continued)
Signal NameI/ODescription
RMRXERIReceive error (RMRXER). The receive error signal is asserted for one or more reference clock
periods to indicate that an error was detected in the received frame. This is meaningful only during
data reception when RMCRSDV is active. It is driven synchronously to the RMII reference clock.
MDCLKOManagement data clock (MDCLK). The MDIO data clock is sourced by the MDIO module on the
system. It is used to synchronize MDIO data access operations done on the MDIO pin. The
frequency of this clock is controlled by the CLKDIV bits in the MDIO control register (CONTROL).
MDIOI/OManagement data input output (MDIO). The MDIO pin drives PHY management data into and out of
the PHY by way of an access frame consisting of start of frame, read/write indication, PHY address,
register address, and data bit cycles. The MDIO pin acts as an output for everything except the data
bit cycles, when the pin acts as an input for read operations.
2.3.3Gigabit Media Independent Interface (GMII) Connections
Figure 4 shows a device with integrated EMAC and MDIO interfaced to the PHY via a GMII connection.
This interface is available in 10 Mbps, 100 Mbps, and 1000 Mbps modes.
Figure 4. Ethernet Configuration with GMII Interface
The GMII interface supports 10/100/1000 Mbps modes. Only full-duplex mode is available in 1000 Mbps
mode. In 10/100 Mbps modes, the GMII interface acts like an MII interface, and only the lower 4 bits of
data are transferred for each of the data buses.
Table 9 summarizes the individual EMAC and MDIO signals for the GMII interface.
SPRUEF8F–March 2006–Revised November 2010C6472/TCI6486 EMAC/MDIO
MTCLKITransmit clock (MTCLK). The transmit clock is a continuous clock that provides the timing reference
GMTCLKOGMII source synchronous transmit clock (GMTCLK). This clock is used in 1000 Mbps mode only,
MTXD[7-0]OTransmit data (MTXD). The transmit data pins are a collection of 8 data signals comprising 8 bits of
MTXENOTransmit enable (MTXEN). The transmit enable signal indicates that the MTXD pins are generating
MCOLICollision detected (MCOL). The MCOL pin is asserted by the PHY when it detects a collision on the
MCRSICarrier sense (MCRS). The MCRS pin is asserted by the PHY when the network is not idle in either
MRCLKIReceive clock (MRCLK). The receive clock is a continuous clock that provides the timing reference
MRXD[7-0]IReceive data (MRXD). The receive data pins are a collection of 8 data signals comprising 8 bits of
MRXDVIReceive data valid (MRXDV). The receive data valid signal indicates that the MRXD pins are
MRXERIReceive error (MRXER). The receive error signal is asserted for one or more MRCLK periods to
MDCLKOManagement data clock (MDCLK). The MDIO data clock is sourced by the MDIO module on the
MDIOI/OManagement data input output (MDIO). The MDIO pin drives PHY management data into and out of
www.ti.com
Table 9. EMAC and MDIO Signals for GMII Interface
for transmit operations in 10/100 Mbps mode. The MTXD and MTXEN signals are tied to this clock
when in 10/100 Mbps mode. The clock is generated by the PHY and is 2.5 MHz at 10-Mbps
operation, and 25 MHz at 100-Mbps operation.
providing a continuous 125 MHz frequency for transmit operations. The MTXD and MTXEN signals
are tied to this clock when in Gigabit mode. The clock is generated by the EMAC and is 125 MHz.
data. MTDX0 is the least-significant bit (LSB). The signals are synchronized by MTCLK in 10/100
Mbps mode, and by GMTCLK in Gigabit mode, and valid only when MTXEN is asserted.
nibble data for use by the PHY. It is driven synchronously to MTCLK in 10/100 Mbps mode, and to
GMTCLK in Gigabit mode.
network. It remains asserted while the collision condition persists. This signal is not necessarily
synchronous to MTCLK nor MRCLK. This pin is used in half-duplex operation only.
transmit or receive. The pin is de-asserted when both transmit and receive are idle. This signal is not
necessarily synchronous to MTCLK nor MRCLK. This pin is used in half-duplex operation only.
for receive operations. The MRXD, MRXDV, and MRXER signals are tied to this clock. The clock is
generated by the PHY and is 2.5 MHz at 10-Mbps operation, 25 MHz at 100-Mbps operation and
125 MHz at 1000-Mbps operation.
data. MRDX0 is the least-significant bit (LSB). The signals are synchronized by MRCLK and valid
only when MRXDV is asserted.
generating nibble data for use by the EMAC. It is driven synchronously to M RCLK.
indicate that an error was detected in the received frame. This is meaningful only during data
reception when MRXDV is active.
system. It is used to synchronize MDIO data access operations done on the MDIO pin. The
frequency of this clock is controlled by the CLKDIV bits in the MDIO control register (CONTROL).
the PHY by way of an access frame consisting of start of frame, read/write indication, PHY address,
register address, and data bit cycles. The MDIO pin acts as an output for everything except the data
bit cycles, when the pin acts as an input for read operations.
When the TCI6486/C6472 device is interfaced to an Ethernet switch via the GMII interface, the carrier
sense (MCRS) and collision (MCOL) signals are not necessary since full-duplex operation is forced.
On the device, the GMII Ethernet interface is available only on EMAC0 of the device. GMII0 pins are
multiplexed with other non-RGMII pins (RMII1, S3MII1). Due to this multiplexing, when the MII0 interface
is selected on EMAC0, except for RGMII1, no Ethernet interface is available on EMAC1.
2.3.4Reduced Gigabit Media Independent Interface (RGMII) Connections
Figure 5 shows a TCI6486/C6472 device with integrated EMAC and MDIO interfaced to the PHY via an
RGMII connection. This interface is available in 10 Mbps, 100 Mbps, and 1000 Mbps modes.
22
C6472/TCI6486 EMAC/MDIOSPRUEF8F–March 2006–Revised November 2010
The RGMII interface is a reduced pin alternative to the GMII interface. The data paths are reduced, control
signals are multiplexed together, and both edges of the clock are used.
The RGMII interface does not include a MCOL and a MCRS signal for half-duplex mode (only available in
10/100 Mbps mode).
Carrier sense (MCRS) is indicated by one of the following cases instead:
•MRXDV signal (multiplexed in the RGRXCTL signal) is true
•MRXDV is false, MRXERR (multiplexed in the RGRXCTL signal) is true, and a value of FFh exists on
Table 10 summarizes the individual EMAC and MDIO signals for the RGMII interface.
EMAC Functional Architecture
Figure 5. Ethernet Configuration with RGMII Interface
the RGRXD[3:0] simultaneously
Table 10. EMAC and MDIO Signals for RGMII Interface
Signal NameI/ODescription
RGTXCOTransmit clock (RGTXC). The transmit clock is a continuous clock that provides the timing reference
RGTXD[3-0]OTransmit data (RGTXD). The transmit data pins are a collection of 4 data signals comprising 4 bits of
RGTXCTLOTransmit enable (RGTXCTL). The transmit enable signal indicates that the RGTXD pins are
RGREFCLKOReference clock (RGREFCLK). This 125-MHz reference clock is provided as a convenience. It can
RGRXCIReceive clock (RGRXC). The receive clock is a continuous clock that provides the timing reference
RGRXD[3-0]IReceive data (RGRXD). The receive data pins are a collection of 4 data signals comprising 4 bits of
SPRUEF8F–March 2006–Revised November 2010C6472/TCI6486 EMAC/MDIO
Submit Documentation Feedback
for transmit operations. The RGTXD and RGTXCTL signals are tied to this clock. The clock is driven
by the EMAC and is 2.5 MHz at 10-Mbps operation, 25 MHz at 100-Mbps operation, and 125 MHz at
1000-Mbps operation.
data. RGTDX0 is the least-significant bit (LSB). The signals are synchronized by RGTXC and valid
only when RGTXCTL is asserted. The lower 4 bits of data are transmitted on the rising edge of the
clock, and the higher 4 bits of data are transmitted on the falling edge of the RGTXC.
generating nibble data for use by the PHY. It is driven synchronously to RGTXC.
be used as a clock source to the PHY, so that the PHY may generate the RGRXC clock to be sent
to EMAC. This clock is stopped while the device is in reset.
for receive operations. The RGRXD, and RGRXCTL signals are tied to this clock. The clock is
generated by the PHY and is 2.5 MHz at 10-Mbps operation, 25 MHz at 100-Mbps operation, and
125 MHz at 1000-Mbps operation.
data. RGRDX0 is the least-significant bit (LSB). The signals are synchronized by RGRXC and valid
only when RGRXCTL is asserted. The lower 4 bits of data are received on the rising edge of the
clock, and the higher 4 bits of data are received on the falling edge of the RGRXC.
Table 10. EMAC and MDIO Signals for RGMII Interface (continued)
Signal NameI/ODescription
RGRXCTLIReceive control (RGRXCTL). The receive control data has the receive data valid (MRXDV) signal on
RGMDCLKOManagement data clock (RGMDCLK). The RGMDIO data clock is sourced by the MDIO module. It
RGMDIOI/OManagement data input output (RGMDIO). The RGMDIO pin drives PHY management data into and
RGMII pins are not multiplexed with other interfaces and are HSTL I/O having voltages different than other
interfaces. (RGMII pins are 1.5-V/1.8-V HSTL I/O, whereas other interfaces are 3.3-V LVCMOS I/O). The
unused pins of the RGMII PHY should be pulled down to avoid floating inputs.
www.ti.com
the rising edge of the receive clock, and a derivative of receive data valid and receive error
(MRXER) on the falling edge of RGRXC.
When receiving a valid frame with no errors, MRXDV = TRUE is generated as a logic high on the
rising edge on RGRXC and MRXER = FALSE is generated as a logic high on the falling edge of
RGRXC.
When no frame is being received, MRXDV = FALSE is generated as a logic low on the rising edge
of RGRXC and MRXER = FALSE is generated as a logic low on the falling edge of RGRXC.
When receiving a valid frame with errors, MRXDV = TRUE is generated as a logic high on the rising
edge of RGRXC and MRXER = TRUE is generated as a logic low on the falling edge of RGRXC.
synchronizes MDIO data access operations done on the RGMDIO pin. The frequency of this clock is
controlled by the CLKDIV bits in the MDIO control register (CONTROL).
out of the PHY by way of an access frame consisting of start of frame, read/write indication, PHY
address, register address, and data bit cycles. The RGMDIO pin acts as an output for everything
except the data bit cycles, when the pin acts as an input for read operations.
24
C6472/TCI6486 EMAC/MDIOSPRUEF8F–March 2006–Revised November 2010
Table 11 summarizes the individual EMAC and MDIO signals for the S3MII interface.
Signal NameI/ODescription
TX_CLKOTransmit clock. The transmit clock is a continuous clock that provides the timing reference for
TX_SYNCOTransmit Synchronization. The TX_SYNC signal is used to synchronize the TXD data signal. This
TXDOTransmit Data. The transmit data is synchronized with a transmit clock and a transmit
RX_CLKITransmit clock. The transmit clock is a continuous clock that provides the timing reference for
RX_SYNCIReceive Synchronization. The RX_SYNC signal is used to synchronize the RXD data signal. This
RXDIReceive Data. The receive data is synchronized with a receive clock and a receive synchronization
MDCLKOManagement data clock (MDCLK). The MDIO data clock is sourced by the MDIO module. It
MDIOI/OManagement data input output (MDIO). The MDIO pin drives PHY management data into and out of
www.ti.com
Table 11. EMAC and MDIO Signals for S3MII Interface
transmit operations. The TXD and TX_SYNC signals are tied to this clock. This clock is 125 MHz at
10- and 100-Mbps operations.
signal is synchronized with a 125-MHz clock.
synchronization signal.
transmit operations. The RXD and RX_SYNC signals are tied to this clock. This clock is 125 MHz at
10- and 100-Mbps operations.
signal is synchronized with a 125-MHz clock.
signal.
synchronizes MDIO data access operations done on the MDIO pin. The frequency of this clock is
controlled by the CLKDIV bits in the MDIO control register (CONTROL).
the PHY via an access frame consisting of start-of-frame, read/write indication, PHY address,
register address, and data-bit cycles. The MDIO pin acts as an output for everything except the
data-bit cycles, when the pin acts as an input for read operations.
The TCI6486/C6472 device S3MII pins are multiplexed with other non-RGMII pins. When using the
S3MII0 port on EMAC0, there are no restrictions on the available EMAC1 Ethernet interfaces (RMII1,
S3MII1, and RGMII1 are useable). When using the S3MII1 port on EMAC1, the EMAC0 Ethernet
interfaces not available due to pin multiplexing are GMII0/MII0. The RMII0, S3MII0, and RGMII0 ports are
available on EMAC0 Ethernet interfaces.
In a multi-PHY situation, where PHY has only one TX_SYNC for all ports, external logic is needed to
synchronize the TX_SYNC signals from multiple ports or TCI6486/C6472 devices. The TXD signal from
the multiple ports should also be synchronized using external logic since the clock-phase relation of
different TCI6486/C6472 devices can be different. Figure 7 demonstrates the example mutli-PHY
configuration for S3MII.
26
C6472/TCI6486 EMAC/MDIOSPRUEF8F–March 2006–Revised November 2010
In the case of the S3MII switch, where the switch has only one TX_SYNC for all ports, external logic is
needed to synchronize the TX_SYNC signals from multiple ports or TCI6486/C6472 devices. The TXD
signal from the multiple ports should also be synchronized using external logic since the clock-phase
relation of different TCI6486/C6472 devices can be different. Figure 8 demonstrates the example
mutli-PHY configuration for S3MII.
www.ti.com
Figure 8. S3MII Switch Configuration
28
C6472/TCI6486 EMAC/MDIOSPRUEF8F–March 2006–Revised November 2010
Ethernet provides a reliable, connectionless service to a networking application. A brief overview of the
ethernet protocol follows. For more information on the carrier sense multiple access with collision
detection (CSMA/CD) access method (ethernet's multiple access protocol), see the IEEE 802.3 standard
document.
2.4.1Ethernet Frame Format
All the ethernet technologies use the same frame structure. The format of an ethernet frame is shown in
Figure 9 and described in Table 12. The ethernet packet is the collection of bytes representing the data
portion of a single ethernet frame on the wire (shown outlined in bold in Figure 9).
The ethernet frames are of variable lengths, with no frame smaller than 64 bytes or larger than
RXMAXLEN bytes (header, data, and CRC).
EMAC Functional Architecture
Figure 9. Ethernet Frame
Table 12. Ethernet Frame Description
FieldBytesDescription
Preamble7These 7 bytes have a fixed value of 55h. They wake up the receiving EMAC ports and
Start-of-Frame 1This field with a value of 5Dh immediately follows the preamble pattern and indicates
Delimiterthe start of important data.
Destination6This field contains the Ethernet MAC address of the intended EMAC port for the frame.
addressIt may be an individual or multicast (including broadcast) address. If the destination
Source6This field contains the MAC address of the Ethernet port that transmits the frame to the
addressLocal Area Network.
Len2The length field indicates the number of EMAC client data bytes contained in the
Data46 to (RXMAXLEN - 18) This field carries the datagram containing the upper layer protocol frame (the IP layer
Frame Check4A cyclic redundancy check (CRC) is used by the transmit and receive algorithms to
Sequencegenerate a CRC value for the FCS field. The frame check sequence covers the 60 to
synchronize their clocks to that of the sender's clock.
EMAC port receives an Ethernet frame with a destination address that does not match
any of its MAC physical addresses, and no promiscuous, multicast or broadcast
channel is enabled, it discards the frame.
subsequent data field of the frame. This field can also be used to identify the data type
carried by the frame.
datagram). The maximum transfer unit (MTU) of Ethernet is (RXMAXLEN - 18) bytes.
Therefore, if the upper layer protocol datagram exceeds (RXMAXLEN - 18) bytes, the
host must fragment the datagram and send it in multiple Ethernet packets. The
minimum size of the data field is 46 bytes. Thus, if the upper layer datagram is less
then 46 bytes, the data field must be extended to 46 bytes by appending extra bits after
the data field, but prior to calculating and appending the FCS.
(RXMAXLEN - 4) bytes of the packet data. Note that the 4-byte FCS field may not be
included as part of the packet data, depending on the EMAC configuration.
SPRUEF8F–March 2006–Revised November 2010C6472/TCI6486 EMAC/MDIO
Nodes in an ethernet local area network are interconnected by a broadcast channel. As a result, when an
EMAC port transmits a frame, all of 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,
because 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 is as follows:
1. The port obtains data from upper layer 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
finished 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 back off 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 which is multiple of this random value, and returns to Step 1.
www.ti.com
30
C6472/TCI6486 EMAC/MDIOSPRUEF8F–March 2006–Revised November 2010