8.29.2020

Media Independent Interface

MIIMedia Independent Interface,「媒體獨立界面」或是「介質無關界面」。
這裡的「媒體」、「介質」指的就是OSI Layer 2 Data Link Layer的MAC子層和Layer 1 Physical Layer (PHY,實體層);而「獨立」、「無關」的意思是在不修改MAC和PHY的硬體架構之下,所獨立出來的一種溝通界面。MII是最基本的,後續還衍生出許多版本。

MAC和PHY的溝通界面分2種,一種是資料界面,即MII系列,另一種則是管理界面,即SMI (Serial Management Interface)

SMI比較簡單,只需要2根訊號線:MDC (Management Data Clock,管理資料時脈)MDIO (Management Data Input / Output,管理資料I/O)

MAC和PHY,MAC是Master (主控端),而PHY則是Slave (受控端)

所以,MII裡面的TX (Transmit,傳送),指的是「從MAC傳送至PHY」;而Receive (接收)指的是「從PHY接收回來」。

SMI裡面的Input (輸入) ,即「讀」指的是「從PHY讀資料回MAC」;而Output (輸出),即「寫」指的是「從MAC寫資料至PHY」。

MII總共需要16根訊號線,說明如下:
1 … 4. TXD [0:3]Transmit Data (傳輸資料) * 4

5 … 8. RXD [0:3]Receive Data (接收資料) * 4

9. TX_CLKTransmit Clock (傳輸時脈)。這裡要注意:雖然名為TX_CLK,但卻是由PHY (Slave)來提供。
10. RX_CLKReceive Clock (接收時脈)。理所當然地是由PHY (Slave) 來提供。
100 Mbps,參考時脈為25 MHz;10 Mbps,參考時脈為2.5 MHz (註)。

11. TX_ERTransmit Error (傳輸錯誤)。傳輸資料錯誤的提示訊號,同步於TX_CLK,高準位 (High)時有效─表示TX_ER在高準位時所傳輸的資料有問題。但在10 Mbps之下,TX_ER不起作用。

12. RX_ERReceive Error (接收錯誤)。接收資料錯誤的提示訊號,同步於RX_CLK,高準位 (High)時有效─表示RX_ER在高準位時所接收的資料有問題。但在10 Mbps之下,RX_ER不起作用。

13. TX_ENTransmit Enable (傳輸致能)。發送致能訊號,只有在TX_EN有效期間內 (是指高準位High嗎?)所傳輸的資料才有效。

14. RX_DVReceive Data Valid (接收資料有效)。相對於TX_EN,只有在RX_DV有期間內 (還是指高準位High嗎?)所接收的資料才有效。

15. COLCollision Detected (衝突檢測)。不需要同步於接收時脈 (RX_CLK),PHY在半雙工 (Half-Duplex)模式下才有效。(注意:COL訊號是由PHY端所提供)

16. CRSCarrier Sense (載波偵測)。也不需要同步於接收時脈 (RX_CLK),只要有資料接收,CRS就有效,也是在半雙工 (Half-Duplex)模式下才有效。(注意:CRS訊號也是由PHY端所提供)

註:
1. Hz,Hertz (赫茲),頻率的單位,所謂的「頻率」是指「1秒鐘內所發生的次數」。

2. 「100 Mbps,參考時脈為25 MHz」的意思是「25 MHz * 4 = 100 MHz」,即1秒鐘可以傳輸接收25Mega bit的資料,因為TXD和RXD各有4根訊號線,所以是100 Mbps (10 Mbps同理)。這也是早期的乙太網路線的傳輸速度是100 Mbps或是10 Mbps的由來。

3. 在電腦的世界裡,b指的是bit (位元),B指的是Byte (位元組);而1 Byte = 8 bits。所以,MB和Mb是不一樣的意思。

4.
1 KB, Kilo Byte,1,000 Byte (千);
1 MB, Mega Byte = 1,000 KB = 1,000,000 Byte (百萬);
1 GB,Giga Byte = 1,000 MB = 1,000,000 KB = 1,000,000,000 Byte (十億);
1 TB, Tera Byte = 1,000 GB = 1,000,000 MB = 1,000,000,000 KB = 1,000,000,000,000 Byte (兆)。

5.
1 KiB, KibiByte = 1,024 Byte (2 ^ 10 = 1024);
1 MiB, MebiByte = 1,024 KiB = 1,048,576 Byte (2 ^ 20);
1 GiB, Gibi Byte = 1,024 MiB = 1,048,576 KiB = 1,073,741,824 Byte (2 ^ 30);
1 TiB, Tebi Byte = 1,024 GiB = 1,048,576 GiB = 1,073,741,824 MiB = 1,099,511,627,776 Byte (2 ^ 40)。”bi”的意思是指”Binary” (二進制)

沒有留言:

張貼留言