본문 바로가기

Embedded/Ethernet

MII, RMII, GMII, RGMII, SGMII, XGMII, SFP SGMII

10/100Mbps 의 이더넷칩에는 의례희 MAC 과 PHY 가 하나의 칩에 들어간다. 하지만 Gigabit 이더넷이 되면 MAC 과 PHY 가 분리된다.  MAC 은  순수한 1,0 데이타를 말하며  PHY 를  이비트들을 전기적이 신호성분으로 변경하는 부분을 말한다.  참고로 PHY에서 4B/5B 엔코딩,디코딩을 실행한다. (4B/5B 엔코딩은 4비트를 5비트로 확장하는 엔코딩이다.) 

MII (Media Independant Interface)
 
 TXD[0..3], RXD[0..3], REF_CLK, TX_EN, RX_ERR, CRS, MDIO, MDC  이정도의 신호선이 있다. 데이타버스가 4bit 이므로 클럭은 25MHz 이다. (그래야 100Mbit 를 전송할수 있다.)
RMII 는 MII 인터페이스의 라인을 줄인 형태이다.  Reduce MII 인 것이다. TXD, RXD 각각 2비트씩 줄였다.  클럭은 50MHz 까지 동작한다.

GMII (Gigabit MII) 
 
MII 의 신호선에 클럭과 연관된 몇몇의 신호선이 추가되었다. TXD, RXD 가 각각 8비트씩 존재한다.  그리고 클럭의 속도는 125MHz 이다. 쫌 빠르다. 아트웍시 길이는 맞춰줘야 하겠다. MAC 과 PHY 가 8bit 인터페이스가 되여  8B/10B 엔코딩이 이루어진다.

RMII (Reduced Media Independant Interface) TXD, RXD 신호선이 각각 4비트씩으로 줄었다.  하지만 클럭은 125MHz 그대로이다. 클럭의 속도가 그대로이니 1Gigabit 속도를 위해  TXD, RXD 를 Double Rate 로 사용한다. 즉 클럭의 상승, 하강 에지 모두 사용한다.


RGMII(Reduced Gigabit Media Independent Interface)  

GMII uses half the number of data pins as used in the GMII interface. This reduction is achieved by clocking data on both the rising and falling edges of the clock in 1000 Mbit/s operation, and by eliminating non-essential signals (carrier-sense and collision-indication). Thus RGMII consists only of: RX_CTL, RXC, RXD[3:0], TX_CTL, TXC, TXD[3:0] (12 pins, as opposed to GMII's 24).


Unlike GMII, the transmit clock signal is always provided by the MAC on the TXC line, rather than being provided by the PHY for 10/100 Mbit/s operation and by the MAC at 1000 Mbit/s. Source-synchronous clocking is used: the clock signal that is output (by either the PHY or the MAC) is synchronous with the data signals. This requires the PCB to be designed to add a 1.5-2ns delay to the clock signal in order to make the setup and hold times on the sink. RGMII v2.0 specifies an optional internal delay, obviating the need for the PCB designer to add delay; this is known as RGMII-ID.


RGMII supports Ethernet speeds of:


[Mbit/s]  [MHz]  Bits/Clockcycle

10            2.5       4

100           25       4

1000        125       8



SGMII (Serial Gigabit Media Independent Interface) 

TXD, RXD 가 1비트의 diff 신호선이다.  TX_CLK, RX_CLK 도 역시다 diff 신호선이다. 클럭속도는 625MHz 이며 데이타비트를 DDR 로 사용한다.

XGMII (10-Gbps media independent interface)

TXD, RXD 각각 32bit 버스이다. 클럭은 156.25MHz  DDR 로 사용한다. 

10 Gigabit Media Independent Interface (XGMII) is a standard defined in IEEE 802.3 for connecting full duplex 10-gigabit Ethernet (10GbE) ports to each other and to other electronic devices on a printed circuit board. It is composed from two 32-bits datapaths (Rx & Tx) and two 4-bits control flows (Rxc & Txc), operating at 156.25 MHz DDR (312.5 MT/s).
Typically used for on-chip connections; in chip-to-chip usage mostly replaced by XAUI.

자료출처: 이더넷에서 MII, RMII, GMII, RGMII



'Embedded > Ethernet' 카테고리의 다른 글

TI - Industrial Ethernet PHY Reference Guide  (0) 2014.10.21