매체 독립 인터페이스

Sun Ultra 1 Creator 워크스테이션에 있는 MII 커넥터
매체 독립 인터페이스(Media-independent interface, MII)는 원래 고속 이더넷(100 Mbit/s) 매체 접근 제어(MAC) 블록을 PHY 칩에 연결하기 위한 표준 인터페이스로 정의되었다. MII는 IEEE 802.3u에 의해 표준화되었으며 다양한 유형의 PHY를 MAC에 연결한다. 매체 독립적이라는 것은 다른 매체(즉, 트위스트 페어, 광섬유 등)에 연결하기 위한 다양한 유형의 PHY 장치를 MAC 하드웨어를 재설계하거나 교체하지 않고 사용할 수 있음을 의미한다. 따라서 네트워크 신호 전송 매체와 상관없이 모든 MAC를 모든 PHY와 함께 사용할 수 있다.
MII는 플러그형 커넥터를 사용하여 MAC를 외부 PHY에 연결하거나 동일한 PCB에 있는 PHY 칩에 직접 연결하는 데 사용할 수 있다. 오래된 PC에서는 CNR 커넥터 유형 B가 MII 신호를 전달했다.
인터페이스의 네트워크 데이터는 IEEE 이더넷 표준을 사용하여 프레임화된다. 따라서 이 데이터는 프리앰블, 시작 프레임 구분 기호, 이더넷 헤더, 프로토콜별 데이터 및 순환 중복 검사(CRC)로 구성된다. 원래 MII는 각 방향으로 4비트 니블을 사용하여 네트워크 데이터를 전송한다 (4개의 송신 데이터 비트, 4개의 수신 데이터 비트). 데이터는 100 Mbit/s 처리량을 달성하기 위해 25 MHz에서 클럭된다. 원래 MII 설계는 신호 감소와 속도 증가를 지원하도록 확장되었다. 현재 변형에는 다음이 포함된다:- 축소형 매체 독립 인터페이스 (RMII)- 기가비트 매체 독립 인터페이스 (GMII)- 축소형 기가비트 매체 독립 인터페이스 (RGMII)- 직렬 매체 독립 인터페이스 (SMII)- 직렬 기가비트 매체 독립 인터페이스 (serial GMII, SGMII)- 고속 직렬 기가비트 매체 독립 인터페이스 (HSGMII)- 쿼드 직렬 기가비트 매체 독립 인터페이스 (QSGMII)- 펜타 직렬 기가비트 매체 독립 인터페이스 (PSGMII)- 10기가비트 매체 독립 인터페이스 (XGMII)
관리 데이터 입출력(MDIO) 직렬 버스는 MAC와 PHY 간의 관리 정보를 전송하는 데 사용되는 MII의 하위 집합이다. 전원 켜짐 시, 자동 협상을 사용하여 PHY는 일반적으로 MDIO 인터페이스를 통해 설정이 변경되지 않는 한 연결된 장치에 적응한다.

**표준 MII**
표준 MII는 소수의 레지스터를 특징으로 한다:at=Section 22.2.4 "Management functions"- 기본 모드 구성 (#0)- 상태 워드 (#1)- PHY 식별자 (#2, #3)- 자동 협상 광고 (#4)- 자동 협상 링크 파트너 기본 페이지 기능 (#5)- 자동 협상 확장 (#6)- 자동 협상 다음 페이지 전송 (#7)- 자동 협상 링크 파트너 수신 다음 페이지 (#8)- 마스터-슬레이브 제어 레지스터 (#9)- 마스터-슬레이브 상태 레지스터 (#10)- PSE 제어 레지스터 (#11)- PSE 상태 레지스터 (#12)- MMD 접근 제어 레지스터 (#13)- MMD 접근 주소 데이터 레지스터 (#14)
레지스터 #15는 예약되어 있으며, 레지스터 #16부터 #31까지는 공급업체별로 다르다. 이 레지스터들은 장치를 구성하고 현재 작동 모드를 쿼리하는 데 사용된다.
MII 상태 워드는 이더넷 NIC이 네트워크에 연결되어 있는지 감지하는 데 사용될 수 있으므로 가장 유용한 데이터이다. 여기에는 다음 정보를 포함하는 비트 필드가 있다:at=Section 22.2.4.2.2 "100BASE-X full duplex ability"

**송신 신호**
송신 클럭은 링크 속도(100 Mbit/s의 경우 25 MHz, 10 Mbit/s의 경우 2.5 MHz)에 따라 PHY에서 생성되는 프리러닝 클럭이다. 나머지 송신 신호는 TX_CLK의 상승 에지에 동기되어 MAC에 의해 구동된다. 이 구성은 MAC가 링크 속도를 알 필요 없이 작동할 수 있도록 한다. 송신 활성화 신호는 프레임 전송 중에 높게 유지되고 송신기가 유휴 상태일 때 낮게 유지된다.
송신 오류는 프레임 전송 중에 하나 이상의 클럭 주기 동안 발생하여 PHY가 유효하게 수신되지 않도록 눈에 띄는 방식으로 프레임을 의도적으로 손상시키도록 요청할 수 있다. 이는 전송이 이미 시작된 후 문제가 감지될 때 프레임을 중단하는 데 사용할 수 있다. MAC는 이 기능을 사용할 필요가 없는 경우 신호를 생략할 수 있으며, 이 경우 PHY의 경우 신호는 낮게 연결되어야 한다.
최근에는 프레임 전송 외부에서 송신 오류를 발생시키는 것이 송신 데이터 라인이 특수 목적 신호 전달에 사용되고 있음을 나타내는 데 사용된다. 특히, 데이터 값 0b0001(TX_EN은 낮고 TX_ER은 높은 상태로 지속적으로 유지됨)은 EEE 가능 PHY에게 저전력 모드로 진입하도록 요청하는 데 사용된다.

**수신 신호**
처음 7개의 수신 신호는 RX_ER이 선택 사항이 아니고 수신된 신호를 유효한 데이터로 디코딩할 수 없음을 나타내는 데 사용된다는 점을 제외하면 송신 신호와 완전히 유사하다. 수신 클럭은 프레임 수신 중에 수신 신호에서 복구된다. 클럭을 복구할 수 없을 때 (즉, 매체가 조용할 때) PHY는 대용으로 프리러닝 클럭을 제공해야 한다.
수신 데이터 유효 신호(RX_DV)는 프레임 시작 시 즉시 높게 될 필요는 없지만, "시작 프레임 구분 기호" 바이트가 수신된 데이터에 포함되도록 제때 높게 되어야 한다. 프리앰블 니블 중 일부가 손실 될 수 있다.
송신과 유사하게, 프레임 외부에서 RX_ER을 높이는 것은 특수 신호 전달에 사용된다. 수신의 경우 두 가지 데이터 값이 정의된다: 링크 파트너가 EEE 저전력 모드에 있음을 나타내는 0b0001과 거짓 반송파 표시를 위한 0b1110.
CRS 및 COL 신호는 수신 클럭과 비동기이며, 반이중 모드에서만 의미가 있다. 반송파 감지는 송신, 수신 중이거나 매체가 사용 중으로 감지될 때 높게 된다. 충돌이 감지되면 충돌이 지속되는 동안 COL도 높게 된다.
또한 MAC는 COL 신호를 약하게 풀업하여 COL이 높고 CRS가 낮은 조합(PHY는 절대로 생성하지 않음)이 부재/연결 끊김 PHY의 표시 역할을 하도록 할 수 있다.

**관리 신호**
MDC와 MDIO는 I²C와 유사한 동기식 직렬 데이터 인터페이스를 구성한다. I²C와 마찬가지로 이 인터페이스는 멀티드롭 버스이므로 MDC와 MDIO는 여러 PHY 간에 공유될 수 있다.

**제한 사항**
이 인터페이스는 18개의 신호를 필요로 하며, 이 중 2개(MDIO 및 MDC)만 여러 PHY 간에 공유할 수 있다. 이는 특히 멀티포트 장치에 문제가 된다. 예를 들어, MII를 사용하는 8포트 스위치는 8 × 16 + 2 = 130개의 신호가 필요하다.

**RMII축소형 매체 독립 인터페이스**
축소형 매체 독립 인터페이스(RMII)는 PHY를 MAC에 연결하는 데 필요한 신호 수를 줄이기 위해 개발된 표준이다. 이는 특히 내장형 MAC가 있는 마이크로컨트롤러, FPGA, 멀티포트 스위치 또는 리피터, PC 마더보드 칩셋과 관련하여 네트워크 하드웨어의 비용과 복잡성을 줄이는 데 도움이 된다. MII 표준에서 다음 변경 사항을 통해 필요한 신호 수를 18개에서 절반으로 줄여 9개로 만들었다:- MII의 두 클럭(TXCLK 및 RXCLK)은 수신 및 송신 신호 모두에 대한 레퍼런스로 사용되는 단일 클럭(REF_CLK)으로 대체된다.- 클럭 주파수는 25 MHz에서 50 MHz로 두 배가 되는 반면, 두 데이터 경로는 4 비트에서 2 비트로 절반으로 줄어든다. 데이터는 한 번에 2 비트씩 클럭된다(MII에서는 한 번에 4 비트). 또는 직렬 네트워크 인터페이스(SNI) 모드(10 Mbit/s만 해당)의 경우 한 번에 1 비트씩 클럭된다. 데이터는 여전히 상승 에지에서만 샘플링된다 (즉, 더블 펌핑되지 않는다).- RXDV 및 CRS 신호는 하나의 신호로 다중화된다.- COL 신호가 제거된다.- RX_ER은 선택 사항이 되었다.
또한 멀티포트 장치(예: 스위치)에서는 MDIO, MDC 및 REF_CLK가 공유될 수 있으므로 포트당 6개 또는 7개의 핀만 남는다.
참고: REF_CLK는 100 Mbit/s 모드와 10 Mbit/s 모드 모두에서 50 MHz로 작동한다. 송신 측(PHY 또는 MAC)은 10 Mbit/s 모드에서 10개의 클럭 사이클 동안 모든 신호를 유효하게 유지해야 한다. 수신 측(PHY 또는 MAC)은 10 Mbit/s 모드에서 10개 사이클마다 입력 신호를 샘플링한다.

**제한 사항**
인터페이스가 전이중 모드인지 반이중 모드인지 정의하는 신호는 없지만, MAC와 PHY 모두 합의해야 한다. 대신 이는 직렬 MDIO/MDC 인터페이스를 통해 통신되어야 한다. 인터페이스가 10 또는 100 Mbit/s 모드인지 정의하는 신호도 없으므로, 이 역시 MDIO/MDC 인터페이스를 사용하여 처리해야 한다. RMII 컨소시엄 사양 버전 1.2는 MDIO/MDC 인터페이스가 IEEE 802.3u의 MII에 지정된 것과 동일하다고 명시한다. 현재 IEEE 802.3 개정판은 링크의 속도와 이중 모드를 협상하고 구성하기 위한 표준 MDIO/MDC 메커니즘을 지정하지만, 구형 PHY 장치는 표준의 구식 버전을 기반으로 설계되었을 수 있으며 따라서 속도와 이중 모드를 설정하기 위해 독점적인 방법을 사용할 수 있다.
일부 MAC(예: 멀티포트 스위치)에 연결되지 않은 RX_ER 신호의 부재는 일부 PHY에서 CRC를 무효화하기 위해 데이터 교체로 처리된다. 누락된 COL 신호는 반이중 모드에서 TX_EN과 CRS_DV 라인에서 디코딩된 CRS 신호를 함께 AND 연산하여 도출된다. 이는 CRS 정의의 약간의 수정이 필요함을 의미한다: MII에서는 Rx 및 Tx 프레임 모두에 대해 CRS가 주장된다. RMII에서는 Rx 프레임에 대해서만 주장된다. 이는 RMII에서 반송파 없음 및 반송파 손실이라는 두 가지 오류 조건을 감지할 수 없으며, 10BASE2 또는 10BASE5와 같은 공유 매체를 지원하기 어렵거나 불가능하다는 결과를 초래한다.
RMII 표준이 TX_EN이 번갈아 가며 클럭 사이클에서만 샘플링되어야 한다고 명시하지 않았기 때문에 CRS_DV와 대칭적이지 않으며, 두 개의 RMII PHY 장치를 백투백으로 연결하여 리피터를 형성할 수 없다. 하지만 RMII 모드에서 디코딩된 RX_DV를 보충 신호로 제공하는 National DP83848로는 이것이 가능하다.

**신호 레벨**
TTL 논리 레벨은 5 V 또는 3.3 V 로직에 사용된다. 입력 하이 임계값은 2.0 V이고 로우는 0.8 V이다. 사양에서는 입력이 5 V 내성이어야 한다고 명시하고 있지만, RMII 인터페이스가 있는 일부 인기 있는 칩은 5 V 내성이 아니다. 신형 장치는 2.5 V 및 1.8 V 로직을 지원할 수 있다.
RMII 신호는 전송선로가 아닌 집중 상수 신호로 취급된다. 그러나 관련 MII 표준의 IEEE 버전은 68 Ω 트레이스 임피던스를 지정한다. National은 반사를 줄이기 위해 MII 또는 RMII 모드에서 33 Ω 직렬 종단 저항과 함께 50 Ω 트레이스를 사용하도록 권장한다. 또한 National은 왜곡을 최소화하기 위해 트레이스 길이를 0.15 m 미만으로 유지하고 길이 일치를 0.05 m 내에서 유지할 것을 제안한다.5

**GMII기가비트 매체 독립 인터페이스**
기가비트 매체 독립 인터페이스(GMII)는 매체 접근 제어(MAC) 장치와 PHY 간의 인터페이스이다. 이 인터페이스는 최대 1000 Mbit/s의 속도로 작동하며, 수신 및 송신을 위한 별도의 8비트 데이터 경로를 갖춘 125 MHz 클럭 데이터 인터페이스를 사용하여 구현된다. 또한 MII 사양과 하위 호환되며 10 또는 100 Mbit/s의 대체 속도로 작동할 수 있다.
GMII 인터페이스는 IEEE 802.3z-1998에서 1000BASE-X용으로 절 35로 처음 정의되었으며, 이후 IEEE 802.3-2000부터 통합되었다.at=Clause 35

**송신 신호**
두 개의 송신기 클럭이 있다. 사용되는 클럭은 PHY가 기가비트 또는 10/100 Mbit/s 속도로 작동하는지에 따라 달라진다. 기가비트 작동의 경우, GTXCLK는 PHY에 공급되고 TXD, TXEN, TXER 신호는 여기에 동기화된다. 10 또는 100 Mbit/s 작동의 경우, TXCLK는 PHY에 의해 공급되며 해당 신호를 동기화하는 데 사용된다. 이는 100 Mbit/s 연결의 경우 25 MHz 또는 10 Mbit/s 연결의 경우 2.5 MHz로 작동한다. 이와 대조적으로 수신기는 수신 데이터에서 복구된 단일 클럭 신호를 사용한다.

**수신 신호**

**관리 신호**
관리 인터페이스는 PHY의 동작을 제어한다. 레지스터 #15가 확장 상태 레지스터라는 점을 제외하고 MII와 동일한 레지스터 세트를 갖는다.at=Section 22.2.4 "Management functions"

**RGMII축소형 기가비트 매체 독립 인터페이스**
The reduced gigabit media-independent interface (RGMII) uses half the number of data pins as are used in the GMII interface. This reduction is achieved by running half as many data lines at double speed, time multiplexing signals and by eliminating non-essential carrier-sense and collision-indication signals. Thus RGMII consists only of 14 pins, as opposed to GMII's 24 to 27.
데이터는 1000 Mbit/s의 경우 상승 및 하강 에지에서 클럭되고, 10/100 Mbit/s의 경우 상승 에지에서만 클럭된다. RX_CTL 신호는 상승 에지에서 RXDV(데이터 유효)를 전달하고, 하강 에지에서 (RXDV xor RXER)을 전달한다. 마찬가지로 TX_CTL 신호는 상승 에지에서 TXEN을 전달하고, 하강 에지에서 (TXEN xor TXER)을 전달한다. 이는 1000 Mbit/s와 10/100 Mbit/s 모두에 해당된다.
송신 클럭 신호는 항상 TXC 라인을 통해 MAC에 의해 제공된다. 수신 클럭 신호는 항상 RXC 라인을 통해 PHY에 의해 제공된다. 소스 동기 클럭킹이 사용된다: 출력되는 클럭 신호(PHY 또는 MAC에 의해)는 데이터 신호와 동기화된다. 이를 위해서는 싱크의 설정 및 유지 시간을 충족하기 위해 클럭 신호에 1.5–2 ns 지연을 추가하도록 PCB를 설계해야 한다. RGMII v2.0은 PCB 설계자가 지연을 추가할 필요가 없도록 선택적인 내부 지연을 지정한다. 이는 RGMII-ID로 알려져 있다.
RGMII 버전 1.3는 2.5V CMOS를 사용하고, RGMII 버전 2는 1.5V HSTL을 사용한다.

**SGMII직렬 기가비트 매체 독립 인터페이스**
직렬 기가비트 매체 독립 인터페이스(SGMII)는 기가비트 이더넷에 사용되는 MII의 변형이지만, 10/100 Mbit/s 이더넷도 전달할 수 있다.
TX 및 RX 데이터와 TX 및 RX 클럭에 대해 625 MHz 클럭 주파수의 DDR에서 차동 쌍을 사용한다. 저전력 및 저핀수 8b/10b 코딩된 SerDes를 사용한다는 점에서 GMII와 다르다. 송신 및 수신 경로는 각각 데이터에 대해 하나의 차동 쌍을 사용하고 클럭에 대해 다른 차동 쌍을 사용한다. TX/RX 클럭은 장치 출력에서 생성되어야 하지만, 장치 입력에서는 선택 사항이다(클럭 복구를 대체로 사용할 수 있다). 10/100 Mbit/s 이더넷은 데이터 워드를 각각 100/10번 복제하여 전달하므로 클럭은 항상 625 MHz이다.

**HSGMII고속 직렬 기가비트 매체 독립 인터페이스**
고속 직렬 기가비트 매체 독립 인터페이스(HSGMII)는 SGMII와 기능적으로 유사하지만 최대 2.5 Gbit/s의 링크 속도를 지원한다.

**QSGMII쿼드 직렬 기가비트 매체 독립 인터페이스**
쿼드 직렬 기가비트 매체 독립 인터페이스(QSGMII)는 4개의 SGMII 라인을 5 Gbit/s 인터페이스로 결합하는 방식이다. QSGMII는 SGMII와 마찬가지로 TX 및 RX 데이터에 대해 낮은 전압 차분 신호(LVDS)를 사용하고 단일 LVDS 클럭 신호를 사용한다. QSGMII는 4개의 개별 SGMII 연결보다 훨씬 적은 수의 신호 라인을 사용한다.
QSGMII는 NBASE-T보다 먼저 나왔으며, 예를 들어 네트워크 라우터에서와 같이 다중 포트 PHY를 MAC에 연결하는 데 사용된다.
PSGMII(펜타 직렬 기가비트 매체 독립 인터페이스)는 QSGMII와 동일한 신호 라인을 사용하지만, 6.25 Gbit/s로 작동하며 하나의 MII를 통해 5개의 1기가비트/s 포트를 지원한다.

**XGMII10기가비트 매체 독립 인터페이스**
10기가비트 매체 독립 인터페이스(XGMII)는 IEEE 802.3에 정의된 표준으로, 전이중 10기가비트 이더넷(10GbE) 포트를 서로 연결하고 PCB 상의 다른 전자 장치에 연결하기 위해 설계되었다. 이는 이제 일반적으로 온칩 연결에 사용된다. PCB 연결은 이제 대부분 XAUI로 이루어진다. XGMII는 두 개의 32비트 데이터 경로(Rx 및 Tx)와 두 개의 4비트 제어 흐름(Rxc 및 Txc)을 특징으로 하며, 156.25 MHz DDR(312.5 MT/s)로 작동한다.

**같이 보기**
 부착 장치 인터페이스 (AUI)- G.hn, ITU-T 권고안으로 데이터 링크 계층과 물리 계층 간의 인터페이스를 지칭하는 데 MII 용어를 사용한다.- 기가비트 인터페이스 컨버터 (GBIC)- 장치 대역폭 목록- 매체 종속 인터페이스 (MDI)- 스몰 폼 팩터 플러거블 (SFP)- XAUI- XFP 무선 송수신기

**각주**

**외부 링크**
  텍사스 인스트루먼트 AN-1405 DP83848 RMII-  텍사스 인스트루먼트 DP83848C PHY 데이터 시트-  hp.com RGMIIv2_0_final_hp.pdf RGMII 2002-04-01 버전 2.0 - url-status=dead - archive-date=2006-12-11-  알테라 10 Gb 이더넷 IP(XGMII 및 XAUI 인터페이스 포함) -  GMII 타이밍 및 전기 사양 
분류:이더넷
분류:컴퓨터 버스
분류:직렬 버스