2020年7月16日 星期四

常見以太網接口介紹

from:https://www.wpgdadatong.com/tw/blog/detail?BID=B0594

一. 
PHY包含的各個子層

PCS:編碼和解碼
PMA:串行器和反序列化器
PMD:取決於物理介質
Firgure 1: OSI模型裡示意圖:
Firgure 2: 實際互連示意圖:


二. 以太網上常見的MAC 與PHY 之間的接口( 按照速度區分)
  1. 1億
  MII:介質獨立接口( IEEE 802.3 CL22 
  • 一種數字接口,可在10/100 Mbit / s PHY與MAC子層之間提供4位寬的數據路徑。
  • TXC,TXD [3:0],TXEN,TXER
  • RXC,RXD [3:0],RXDV,RXER
  RMII:簡化的媒體獨立接口
  • 對比MII,是信號線數量減半
  • 主要支持廠家有BRCM/AMD/TI等
Figure 3:RMII連接示意圖:


  SMII:串行MII
  • 串行化的MII
  • 信號主要有: REFCLK, STXD, SRXD, SSYNC, TX_EN, RX_DV
  • 主要支持廠家有Cisco
Figure 4:SMII連接示意圖:
S3MII:源同步SMII
  • REFCLK,SSMII_RXC,SSMII_RSYNC,RXD,SSMII_TXC,SSYNC,TXD
  • 主要支持廠家Cisco
Figure 5:S3MII連接示意圖:

  1. 1000M
   2.1>.1GE 並行接口
       GMII:  千兆位媒體獨立接口,IEEE 802.3 CL35
  • 在1000 Mbit / s PHY和MAC子層之間提供8位寬數據路徑的數字接口。它還支持IEEE 802.3z規範中定義的4位寬的MII接口。
  • GTXCLK,TXD [7:0],TXEN,TXER
  • RXC,RXD [7:0],RXDV,RXER,COL CRS
Figure 6: GMII 連接示意圖:

RGMII:簡化的GMII,
-對比GMII,主要是數據線數量減半;
-主要支持廠家有BRCM/HP/MAVL
  2.2>. 1GE 串行接口
      SGMII:串行MII 1.25G波特率,Cisco
  • 一個數字接口,可在1000 Mbit / s PHY和MAC子層之間提供1.25 Gbps串行雙數據速率數據路徑。
  • SGIN +-/ SGOUT +-
  • 8b / 10b編碼
Figure 7: SGMII 連接示意圖:

QSGMII:Quad SGMII 5G波特率Cisco
  • 四路串行千兆媒體獨立接口:一種數字接口,可在四個1000 Mbit / s PHY端口和MAC子層之間提供5.0 Gbps串行數據路徑
  • QSGMII_RDp / n,QSGMII_TDp / n
  • 8b / 10b編碼
USGMII:通用SGMII,1.25G / 5G / 10G波特率,思科
  • 當前SGMII和QSGMII的擴展。USGMII提供了添加新功能的靈活性,同時保持了向後兼容性。
  • USGMII_RDp / n,USGMII_TDp / n
  • 8b / 10b編碼
  • 最多可以支持8個1GE 口
  • PCH: Packet Control Header. 這個是最大特點。
PCH提供諸如PTP時間戳之類的可選功能,並可以通過重複使用下文所述的擴展字段來添加功能。PHY通過PCH與端口MAC(ASIC)通信。PCH是8個字節,它代替了幀的前同步碼。

 1000base-X:  Serdes,8b / 10b編碼,IEEE 802.3 CL36 / 37
 1000base-KX:   1G背板的應用, 8b/10b coding, IEEE 802.3 CL70
2.3>. 擴展—BRCM supports USXGMII:
      USXGMII: Universal serial XGMII,它是基於一對serdes的一個端口;
      -10.3125G波特率,64b / 66b編碼;
     Figure 9:USXGMII工作在10G和5G時候的區別:
2.4>. 比較:
      -USGMII與SGMII / QSGMII
       USGMII可以最多支持8個1GE口,通過一對10G serdes,對於高密度的應用更合適;
       USGMII可以過PCH(PacketControlHeader)傳遞MAC和PHY之間的control/status信息,這對PTP上timestamp的應用提供了便利;
  • USGMII與USXGMII
       USGMII是出8個1GE口,
       USXGMII是出一個口,此口可以是10M/100M/1000M/5G/10G等
  1. 10G
      XAUI ---- 10千兆位附件單元接口,IEEE 802.3 CL47 10GBASE-LX4(CL53),10GBASE-KX4(CL71),10GBASE-CX4(CL54)
  • 125Gbps,8b / 10b編碼
  • XG_RX [3:0] _p / n,XG_TX [3:0] _p / n
  • 4對差分線出1一個10G口;
     DXAUI--雙重XAUI 4x6.25Gbps,8b / 10b編碼
  • XG_RX [3:0] _p / n,XG_TX [3:0] _p / n
  • 4對差分線出一個20G口;
    RAXUI ---減少XAUI 2x6.25Gbps,8b / 10b編碼
  • XG_RX [1:0] _p / n,XG_TX [1:0] _p / n
  • 兩對差分線出一個10G口;
     XFI:  10 Gigibit附件單元接口,INF-8077 
  • The XFI 用來做10G速率下chip-to-chip 互聯,最初是被XFP multi-source agreement定義.
  • 10.3125Gbps,64b / 66b編碼
  • 一對差分線出10G口;
    10GBASE-KR:背板側應用,IEEE 802.3,CL72
  • 主要特點是CL73 AN,CL72 training,CL74 FEC;
  • 速率10.3125G,64b/66b編碼;
  • 一對差分線出一個10G口;

How to use simple speedtest in RaspberryPi CLI

  pi@ChunchaiRPI2:/tmp $  wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py --2023-06-26 10:4...