본문 바로가기

Embeded SW

MII,RMII,GMII,RGMII,SGMII

기본 용어가 부족하기때문에 정리를 해보았다.

 

 

10/100Mbps 의 이더넷칩에는 MAC 과 PHY 가 하나의 칩에 들어간다.

하지만 Gigabit 이더넷이 되면 MAC 과 PHY 가 분리된다.

 

  • PHY

이 비트 데이터(디지털 데이터)를 전기적인 신호로 변환하고 이를 전송매체를 통해 전송하는 것을 말함

PHY에서 4B/5B 엔코딩,디코딩을 실행한다( 4비트 데이터를 5비트로 변환하는 방식으로, 데이터를 전송하기 전에 데이터를 조정하고 안정화하는 역할)

엔코딩은 데이터를 전송 가능한 형태로 변환하고, 디코딩은 전송된 데이터를 다시 원래의 형태로 복원하는 과정을 수행한다.

 

 

 

 

 

10/100Mbps 의 이더넷칩에는 MAC 과 PHY 가 하나의 칩에 들어간다.

-"10/100/1000Mbps"는 해당 장비가 10Mbps, 100Mbps, 또는 1000Mbps(또는 1Gbps)의 속도로 통신할 수 있다는 것을 나타낸다.

 

하지만  GBE 이더넷이 되면 MAC 과 PHY 가 분리된다. 

- Gigabit Ethernet , 1GBE == 1000Mbps 이다.

- 따라서 GBE는 매우 빠른 데이터 전송이 필요한 네트워크 환경에서 사용한다.

 

 

 

 

[1] MII(Media Indepnedant Interface)

처음나온 MAC, PHY 인터페이스이다.

TXD[0..3], RXD[0..3], REF_CLK, TX_EN, RX_ERR, CRS, MDIO, MDC 이 정도의 신호선이 있다.

  • TXD[0..3]: 송신 데이터 선으로, 4개의 비트를 전송합니다.
  • RXD[0..3]: 수신 데이터 선으로, 4개의 비트를 수신합니다.
  • REF_CLK: 클럭 신호로, 전송된 데이터를 동기화하기 위해 사용됩니다.
  • TX_EN: 송신 이더넷 프레임을 활성화하는 신호로, 데이터 전송을 시작하거나 멈추는데 사용됩니다.
  • RX_ERR: 수신된 데이터에 오류가 있는지를 나타내는 신호입니다.
  • CRS: 미디어 액세스를 표시하는 신호로, 다른 장치가 데이터를 송신 중이거나 이를 접근하고 있는지를 나타냅니다.
  • MDIO: MAC 장치와 PHY 장치 간의 직렬 데이터 인터페이스로, 제어 및 구성 명령을 전송하는 데 사용됩니다.
  • MDC: MDIO 신호를 동기화하기 위한 클럭 신호입니다.

고속 이더넷 표준 속도 : 100Mbit/s

데이터 버스가 4비트이므로 클럭은 25MHz이다.

100Mbps는 초당 100Mbit/s를 의미한다.

이를 신호로 변환하기 위해서는 4비트의 데이터를 매 클럭 주기마다 전송해야 한다. 클럭 주기는 1/25MHz=40ns이므로, 4비트를 전송하는데는 한 클럭 주기가 소요된다. 따라서 4비트를 전송하는 시간은 40나노초이다.

따라서 100Mbps 속도를 유지하기 위해서는 매 클럭 주기마다 4비트의 데이터를 전송해야 하므로, 25MHz의 클럭 속도가 필요하다. (그래야 100Mbit 를 전송할수 있다.)

 

 

 

 

[2]RMII (Reduced Media Independent Interfacce)

RMII (Reduced Media Independent Interface)는 MII (Media Independent Interface)의 라인을 줄인 형태이다. MII 인터페이스를 축소하여 PHY와 MAC 간의 데이터 전송을 더 적은 수의 신호선으로 수행할 수 있도록 한다.

일반적으로 MII 인터페이스에서는 4비트의 TXD (송신 데이터) 및 4비트의 RXD (수신 데이터)를 사용한다. 그러나 RMII에서는 각각 2비트씩 줄여 2비트의 TXD와 2비트의 RXD를 사용한다. 이는 전체적인 인터페이스의 크기를 줄여 네트워크 장비가 더 작고 경제적으로 설계될 수 있도록 한다.

또한, 주어진 정보에 따르면 RMII는 50MHz까지의 클럭 주파수를 지원한다. 따라서 RMII는 더 높은 클럭 주파수를 지원하여 더 빠른 데이터 전송 속도를 달성할 수 있다. 이를 통해 더 높은 대역폭을 갖는 네트워크 환경에서 RMII를 사용할 수 있다.

 

 

 

 

 

[3]GMII(Giagabit Media Independent Interface)

GMII(Gigabit Media Independent Interface)는 indeed Gigabit Ethernet에서 사용되는 MII(Media Independent Interface)의 확장된 형태이다.

일반적으로 MII 인터페이스에서는 4비트의 TXD(송신 데이터) 및 4비트의 RXD(수신 데이터)를 사용한다. 그러나 GMII에서는 각각 8비트의 TXD와 8비트의 RXD를 사용한다. 이로써 데이터 전송 대역폭을 늘릴 수 있다.

또한, GMII에는 클럭과 연관된 추가적인 신호선이 있다. 이를 통해 더 높은 클럭 주파수를 지원할 수 있으며, 주어진 정보에 따르면 클럭 속도는 125MHz로 지정되어있다.

GMII에서는 MAC(Media Access Control)과 PHY(Physical Layer) 간의 데이터 통신이 8비트 인터페이스로 이루어지므로, 데이터의 안정적인 전송을 위해 8B/10B 엔코딩이 사용된다. 이는 데이터를 8비트에서 10비트로 변환하는 방식으로, 추가적인 오류 감지 및 데이터 안정성을 제공한다.

이러한 GMII의 특성을 고려하여 회로 설계나 아트웍의 길이를 맞춰야 한다. 또한, 더 높은 클럭 속도와 더 많은 데이터 라인을 고려하여 회로 설계를 진행해야 한다.

 

 

 

[4]RGMII(Reduced Gigabit MEdia Independent Interface)

RGMII(Reduced Gigabit Media Independent Interface)는 indeed GMII(Gigabit Media Independent Interface)의 라인을 줄인 형태이다. 이는 클럭의 속도가 그대로이지만 TXD(송신 데이터)와 RXD(수신 데이터) 신호선이 각각 4비트씩으로 줄었음을 의미한다.

클럭 속도가 그대로이지만 데이터 라인이 줄어들었기 때문에, 1기가비트의 데이터 전송 속도를 유지하기 위해 TXD와 RXD를 Double Rate로 사용합니다. 이는 클럭의 상승 에지와 하강 에지 모두를 활용하여 데이터를 전송하는 방식이다.

즉, RGMII에서는 클럭의 주기가 같지만 데이터는 클럭의 상승과 하강 에지 모두를 활용하여 전송되므로, 단위 시간당 전송되는 데이터 양이 두 배가 된다.

RGMII는 클럭의 속도를 그대로 유지하면서 데이터 라인을 줄여 네트워크 장비의 크기와 비용을 줄일 수 있는 장점을 갖습니다. 그러나 Double Rate 전송 방식을 사용하기 때문에 전송 동기화 및 회로 설계에 추가적인 주의가 필요하다.

 

 

 

 

[5]SGMII (Serial Media Independent Interface)

SGMII(Serial Gigabit Media Independent Interface)는 Gigabit Ethernet에서 사용되는 미디어 독립적 인터페이스로, 데이터 전송을 위한 신호 선이 직렬(diff 신호선)로 구성된다.

주어진 정보에 따르면, SGMII에서는 TXD와 RXD가 1비트의 diff(diffential) 신호선으로 구성된다. 즉, 데이터가 하나의 bit씩 전송되지만, 신호는 두 개의 상보적인 신호로 전송된다. 또한, TX_CLK와 RX_CLK도 diff 신호선으로 구성되어 있다.

클럭 속도는 625MHz로 지정되어 있으며, 데이타 비트는 DDR(Double Data Rate)로 사용됩니다. DDR은 클럭 주기당 두 번의 데이터 전송을 의미한다. 즉, 클럭의 상승 에지와 하강 에지 각각에서 데이터가 전송된다.

SGMII는 고속 네트워크에서 사용되는데, 직렬 신호선을 사용하여 데이터를 전송하고 클럭 속도를 높이는 등의 특성을 갖고 있다. 이를 통해 더 높은 대역폭과 더 빠른 데이터 전송 속도를 제공할 수 있다. SGMII는 네트워크 장비에서 데이터 전송의 효율성과 신뢰성을 향상시키는데 사용된다.

 

+

 

SGMII에서는 데이터 라인뿐만 아니라 클럭 신호도 differential 신호선으로 구성된다. 데이터 라인은 보통 두 개의 상보적인 신호선으로 구성되어 있으며, 각 신호선 쌍은 데이터 전송에 사용된다. 클럭 신호 역시 두 개의 상보적인 신호선으로 구성되어 있으며, 데이터 전송의 타이밍을 조절하는 데 사용된다.

이러한 differential 신호선의 사용은 외부에서의 노이즈나 간섭에 대해 더욱 강한 저항성을 제공하고, 데이터 전송의 안정성을 보장한다. 또한, 고주파 환경에서도 데이터 전송을 신뢰할 수 있도록 도와준다.

 

+

 

SGMII(Serial Gigabit Media Independent Interface)는 MAC(Media Access Control)과 PHY(Physical Layer) 간의 통신을 위한 인터페이스이다. 일반적으로 SGMII에서 MAC과 PHY는 분리되어 있다.

 

 

 eTSEC(Ethernet Time-Sensitive Networking Enhanced Controller)는 일반적으로 MAC(Controller)의 역할을 수행합니다. 이는 Ethernet 프레임의 생성, 전송 및 수신을 담당하며 네트워크에서 데이터 흐름을 관리합니다.

- SERDES(Serializer/Deserializer)는 PHY의 일부로, 병렬 데이터를 직렬 데이터로 변환하거나 직렬 데이터를 병렬 데이터로 변환하는 역할을 합니다. SGMII에서는 SERDES가 PHY와 MAC 사이의 통신을 위해 사용될 수 있습니다. SERDES는 주로 물리적인 매체(예: 광섬유, 구리 케이블 등)로부터의 직렬 데이터를 병렬 데이터로 변환하거나 반대로 병렬 데이터를 직렬 데이터로 변환하여 MAC과 PHY 사이의 데이터 전송을 용이하게 합니다.

 

 

따라서 SGMII에서는 MAC(Controller)과 PHY(일반적으로 eTSEC), 그리고 SERDES가 각각의 역할을 수행한다. 이들이 함께 동작하여 Ethernet 통신을 구현한다.

 

 

  • diff 신호선
"Diff"는 "differential"의 준말로, 두 개의 상보적인 신호선을 사용하여 데이터를 전송하는 기술을 가리킵니다. Differential 신호는 두 개의 신호선 간의 전압 차이를 이용하여 데이터를 전송하며, 이를 통해 노이즈에 강하고 더 먼 거리까지 안정적으로 데이터를 전송할 수 있습니다.
일반적으로 differential 신호는 한 쌍의 신호선이 있으며, 한 선은 다른 선보다 전압이 높거나 낮습니다. 이러한 구성은 외부에서의 노이즈나 간섭에 대해 상쇄 작용을 하여 안정적인 신호 전달을 보장합니다. 이는 특히 고주파 환경이나 장거리 전송에 유용합니다.
  • 1000Base-X
"1000Base-X"는 Gigabit Ethernet의 일종으로, 다양한 물리 매체를 사용하여 1 기가비트 속도의 데이터 전송을 지원하는 이더넷의 표준입니다. "X"는 다양한 물리적 매체를 나타냅니다.
여기서 "1000Base"는 1 기가비트 속도를 의미하고, "X"는 사용되는 실제 물리적 매체의 종류를 나타냅니다. "X"에는 다양한 매체가 포함될 수 있으며, 각각의 매체에 대해 특정한 접두사가 사용됩니다. 예를 들어, "1000Base-T"는 구리 케이블을 사용하는 경우를 가리키고, "1000Base-SX"는 멀티모드 광섬유를 사용하는 경우를 나타냅니다.
따라서 "1000Base-X"는 여러 종류의 매체를 지원하는 Gigabit Ethernet의 일반적인 용어이며, 실제 사용되는 매체에 따라 세부 사양이 달라질 수 있습니다. 1000Base-X는 높은 대역폭과 안정성을 제공하여 네트워크에서 고속 데이터 전송을 가능하게 합니다.
  • Mac ( SerDes
MAC은 데이터를 생성하고 관리하는 역할을 수행하며, 주로 데이터를 처리하고 프레임을 생성하여 전송하거나 받아들입니다. 반면에 SERDES는 물리적인 매체(예: 광섬유, 구리 케이블 등)와 상호작용하여 데이터를 직렬로 변환하거나 직렬 데이터를 병렬로 변환합니다.
SGMII에서는 MAC과 PHY(Physical Layer) 간의 통신을 위한 인터페이스로, SERDES가 PHY와 MAC 사이의 통신을 위해 사용될 수 있습니다. 따라서 일반적으로 SGMII에서는 MAC과 PHY가 주로 포함되며, SERDES는 PHY의 일부로서 사용됩니다.
  • eTSEC
eTSEC(Ethernet Time-Sensitive Networking (TSN) Enhanced Controller)는 Freescale (현재는 NXP로 알려져 있음)이 개발한 이더넷 컨트롤러의 한 종류이며, 이더넷 기반의 네트워크 시스템에서 실시간 통신 및 시간 민감 네트워킹(Time-Sensitive Networking, TSN)을 지원하는 기능을 갖춘 것입니다.
eTSEC는 네트워크 인터페이스 칩셋으로, 대규모 네트워크 시스템에서 Ethernet 프레임을 전송하고 수신하며, 이를 통해 데이터의 송수신 및 네트워크 통신을 관리합니다. eTSEC는 일반적으로 임베디드 시스템이나 네트워크 장비 등에서 사용되는데, 특히 시간에 민감한 응용 분야에서 요구되는 정확한 타이밍 및 실시간 통신을 지원하기 위해 디자인되었습니다.
TSN은 이더넷의 표준을 확장하여 실시간 및 시간에 민감한 통신을 지원하는 기술로, 네트워크에서 신뢰성 있는 실시간 통신을 제공합니다. eTSEC는 이러한 TSN 기술을 지원하고 향상시킨 컨트롤러로, 실시간 통신 및 시간 동기화를 위한 기능을 갖추고 있습니다.

 

 

 

[6]XGMII(10-Gigabit Media Independant Interface)

XGMII (10 Gigabit Media Independent Interface)는 10 기가비트 Ethernet에서 사용되는 인터페이스 중 하나이다.

XGMII에서는 데이터 버스인 TXD(송신 데이터)와 RXD(수신 데이터)가 각각 32비트로 구성된다. 이는 고속 데이터 전송을 지원하기 위한 것이다. 또한, 클럭은 156.25MHz로 동작하며, DDR(Double Data Rate)로 사용된다. 이는 클럭의 상승과 하강 에지 모두에서 데이터가 전송되는 방식을 의미한다. 따라서 데이터의 전송량은 클럭 주파수의 두 배인 312.5MHz가 된다.

XGMII는 10 기가비트 Ethernet에서 MAC(Media Access Control)과 PHY(Physical Layer) 간의 통신을 위해 사용되며, 고속 데이터 전송을 지원하기 위해 널리 사용된다. 이를 통해 네트워크에서 더 높은 대역폭과 더 빠른 데이터 전송 속도를 달성할 수 있다.

 

참고:http://www.wirelesscafe.co.kr/board_view.php?idx=89024&boardIndex=12&data=idx%3D89024

 

 

공부 중입니다. 잘못된 정보가 있으면 댓글로 알려주세요.