<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > MII/MDIO接口詳解

          MII/MDIO接口詳解

          作者: 時間:2016-12-12 來源:網絡 收藏
          Original Address:http://dpinglee.blog.163.com/blog/static/144097753201041131115262/
          本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信號定義,及相關知識,同時本文也對RJ-45接口進行了總結,分析了在10/100模式下和1000M模式下的設計方法。

          MII接口提供了MAC與PHY之間、PHY與STA(Station Management)之間的互聯技術,該接口支持10Mb/s與100Mb/s的數據傳輸速率,數據傳輸的位寬為4位。

          本文引用地址:http://www.ex-cimer.com/article/201612/328730.htm

          提到MII,就有可能涉及到RS,PLS,STA等名詞術語,下面講一下他們之間對應的關系。

          所謂RS即Reconciliation sublayer,它的主要功能主要是提供一種MII和MAC/PLS之間的信號映射機制。它們(RS與MII)之間的關系如下圖:

          MII接口的Management Interface可同時控制多個PHY,802.3協議最多支持32個PHY,但有一定的限制:要符合協議要求的connector特性。所謂Management Interface,即MDC信號和MDIO信號。

          前面已經講過RS與PLS的關系,以及MII接口連接的對象。它們是通過MII接口進行連接的,示意圖如下圖。由圖可知,MII的Management Interface是與STA(Station Management)相連的。

          接口支持10Mb/s以及100Mb/s,且在兩種工作模式下所有的功能以及時序關系都是一致的,唯一不同的是時鐘的頻率問題。802.3要求PHY不一定一定要支持這兩種速率,但一定要描述,通過Management Interface反饋給MAC。

          下面將詳細介紹MII接口的信號定義,時序特性等。由于MII接口有MAC和PHY模式,因此,將會根據這兩種不同的模式進行分析,同時還會對RMII/SMII進行介紹。

          MII接口可分為MAC模式和PHY模式,一般說來MAC和PHY對接,但是MAC和MAC也是可以對接的。

          以前的10M的MAC層芯片和物理層芯片之間傳送數據是通過一根數據線來進行的,其時鐘是10M,在100M中,如果也用一根數據線來傳送的話,時鐘需要100M,這會帶來一些問題,所以定義了MII接口,它是用4根數據線來傳送數據的,這樣在傳送100M數據時,時鐘就會由100M降低為25M,而在傳送10M數據時,時鐘會降低到2.5M,這樣就實現了10M和100M的兼容。

          MII接口主要包括四個部分。一是從MAC層到物理層的發(fā)送數據接口,二是從物理層到MAC層的接收數據接口,三是從物理層到MAC層的狀態(tài)指示信號,四是MAC層和物理層之間傳送控制和狀態(tài)信息的MDIO接口。

          MII接口的MAC模式定義:

          MII接口PHY模式定義:

          在MII接口中,TX通道參考時鐘是TX_CLK,RX通道參考時鐘是RX_CLK,802.3-2005定義了它們之間的關系。

          圖3 Transmit signal timing relationships at the MII

          由圖3可知,即The clock to output delay shall be a min of 0 ns and a max of 25 nsSpec只對TX通道上MAC這一側的發(fā)送特性作了定義,而對TX通道PHY那一側的接收特性并沒有定義。IC Vendor可在TX通道那一側的PHY的接收特性作適當調整,只要最終的時序滿足TX通道上MAC這一側的發(fā)送特性就可以。

          圖4 Receive signal timing relationships at the MII

          由圖4可知,The input setup time shall be a minimum of 10 ns and the input hold time shall be a minimum of 10 nsSpec只對RX通道上MAC這一側的接收特性作了定義,而對RX通道PHY那一側的發(fā)送特性并沒有定義。IC Vendor可在RX通道那一側的PHY的發(fā)送特性作適當調整,只要最終的時序滿足RX通道上MAC這一側的接收特性就可以。

          <1>: TX_CLK (transmit clock),TX_CLK (Transmit Clock)是一個連續(xù)的時鐘信號(即系統啟動,該信號就一直存在),它是TX_EN, TXD, and TX_ER(信號方向為從RS到PHY)的參考時鐘,TX_CLK由PHY驅動TX_CLK的時鐘頻率是數據傳輸速率的25%,偏差+-100ppm。例如,100Mb/s模式下,TX_CLK時鐘頻率為25MHz,占空比在35%至65%之間。

          <2>:對于同樣的RX_CLK,它與TX_CLK具有相同的要求,所不同的是它是RX_DV, RXD, and RX_ER(信號方向是從PHY到RS)的參考時鐘。RX_CLK同樣是由PHY驅動,PHY可能從接收到的數據中提取時鐘RX_CLK,也有可能從一個名義上的參考時鐘(e.g., the TX_CLK reference)來驅動RX_CLK

          <3>:TXD (transmit data),TXD由RS驅動,同步于TX_CLK,在TX_CLK的時鐘周期內,并且TX_EN有效,TXD上的數據被PHY接收,否則TXD的數據對PHY沒有任何影響。

          <4>:TX_ER (transmit coding error),TX_ER同步于TX_CLK,在數據傳輸過程中,如果TX_ER有效超過一個時鐘周期,并且此時TX_ENTX_ER有效并不影響工作在10Mb/s的PHY或者TX_EN無效時的數據傳輸。在MII接口的連線中,如果TX_ER信號線沒有用到,必須將它下拉接地。

          <5>:RX_DV (Receive Data Valid),RXD_DV同步于RX_CLK,被PHY驅動,它的作用如同于發(fā)送通道中的TX_EN,不同的是在時序上稍有一點差別:為了讓數據能夠成功被RS接收,要求RXD_DV有效的時間必須覆蓋整個FRAME的過程,即starting no later than the Start Frame Delimiter (SFD) and excluding any End-of-Frame delimiter,如下圖7。

          <6>:RXD (receive data),RXD由RS驅動,同步于RX_CLK,在RX_CLK的時鐘周期內,并且RX_DV有效,RXD上的數據被RS接收,否則RXD的數據對RS沒有任何影響。While RX_DV is de-asserted, the PHY may provide a False Carrier indication by asserting the RX_ER signal while driving the value <1110> onto RXD<3:0>。

          <7>:RX_ER (receive error),RX_ER同步于RX_CLK,其在RX通道中的作用類似于TX_ER對于TX通道數據傳輸的影響。

          <8>:CRS (carrier sense),CRS不需要同步于參考時鐘,只要通道存在發(fā)送或者接收過程,CRS就需要有效。The behavior of the CRS signal is unspecified when the duplex mode bit 0.8 in the control register is set to a logic one(自動協商禁止,人工設為全雙工模式), or when the Auto-Negotiation process selects a full duplex mode of operation,即半雙工模式信號有效,全雙工模式信號無效。

          <9>:COL (collision detected),COL不需要同步于參考時鐘。The behavior of the COL signal is unspecified when the duplex mode bit 0.8 in the control register is set to a logic one(自動協商禁止,人工設為全雙工模式), or when the Auto-Negotiation process selects a full duplex mode of operation。即半雙工模式信號有效,全雙工模式信號無效。

          MDIO接口包括兩根信號線:MDC和MDIO,通過它,MAC層芯片(或其它控制芯片)可以訪問物理層芯片的寄存器(前面100M物理層芯片中介紹的寄存器組,但不僅限于100M物理層芯片,10M物理層芯片也可以擁有這些寄存器),并通過這些寄存器來對物理層芯片進行控制和管理。MDIO管理接口如下:

          MDC:管理接口的時鐘,它是一個非周期信號,信號的最小周期(實際是正電平時間和負電平時間之和)為400ns,最小正電平時間和負電平時間為160ns,最大的正負電平時間無限制。它與TX_CLK和RX_CLK無任何關系。

          MDIO是一根雙向的數據線。用來傳送MAC層的控制信息和物理層的狀態(tài)信息。MDIO數據與MDC時鐘同步,在MDC上升沿有效。MDIO管理接口的數據幀結構如:

          PRE:幀前綴域,為32個連續(xù)“1”比特,這幀前綴域不是必要的,某些物理層芯片的MDIO操作就沒有這個域。

          OP:幀操作碼,比特“10”表示此幀為一讀操作幀,比特“01”表示此幀為一寫操作幀。

          PHYAD:物理層芯片的地址,5個比特,每個芯片都把自己的地址與這5個比特進行比較,若匹配則響應后面的操作,若不匹配,則忽略掉后面的操作。

          REGAD:用來選擇物理層芯片的32個寄存器中的某個寄存器的地址。

          TA:狀態(tài)轉換域,若為讀操作,則第一比特時MDIO為高阻態(tài),第二比特時由物理層芯片使MDIO置“0”。若為寫操作,則MDIO仍由MAC層芯片控制,其連續(xù)輸出“10”兩個比特。

          DATA:幀的寄存器的數據域,16比特,若為讀操作,則為物理層送到MAC層的數據,若為寫操作,則為MAC層送到物理層的數據。

          IDLE:幀結束后的空閑狀態(tài),此時MDIO無源驅動,處高阻狀態(tài),但一般用上拉電阻使其處在高電平,即MDIO引腳需要上拉電阻。

          MDIO數據幀的時序關系如下:

          MII接口也有一些不足之處,主要是其接口信號線很多,發(fā)送和接收和指示接口有14根數據線(不包括MDIO接口的信號線,因為其被所有MII接口所共享),當交換芯片的端口數據較多時,會造成芯片的管腳數目很多的問題,這給芯片的設計和單板的設計都帶來了一定的問題。為了解決這些問題,人們設計了兩種新的MII接口,它們是RMII接口(Reduced MII接口)和SMII接口(StreamMII接口)。

          這兩種接口都減少了MII接口的數據線,不過它們一般只用在以太網交換機的交換MAC芯片和多口物理層芯片中,而很少用于單口的MAC層芯片和物理層芯片中。RMII接口和SMII接口都可以用于10M以太網和100M以太網,但不可能用于1000M以太網,因為此時時鐘頻率太高,不可能實現。

          下面這張圖是從DM368的datasheet上的:




          關鍵詞: MIIMDIO接口詳

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();