mac與phy如何?網路自適應,macphy自適應

來源:互聯網
上載者:User

mac與phy如何?網路自適應,macphy自適應
這兩天修改網卡驅動以實現10/100/1000M自適應,因此研究了下phy晶片和emac驅動如何相容10/100/1000M網路環境,記錄在此。
網路中裝置端資料連結層由mac晶片和phy晶片集成,phy晶片根據外部網路環境完成自動協商以及配置,驅動中根據phy狀態來配置mac,以達到phy與mac的相互配合工作。
現在主流的網卡phy晶片為100M和1000M,都是向下相容。100M phy支援10/100M環境,1000M phy支援10/100/1000M環境。


首先說10/100/1000M都是指的資料收發速率,單位是bps。所以這裡要從mac以及phy的資料收發介面下手。

mac與phy主流資料介面有GMII MII RMII等。介面規範中定義了資料收發訊號線個數。介面定義可以看這篇文章:
http://blog.csdn.net/skyflying2012/article/details/8252843

以GMII/MII為例來研究,GMII是有8根rx/tx線,MII有4根rx/tx線。
首先以外接100Mphy晶片來研究。phy與外界網路環境完成自動協商來確定其本身的速度。100M phy都支援MII介面,因此mac端就需要以MII介面定義與phy相連。
資料收發最重要的是提供正確的資料時鐘,來保證資料正確的採樣與發送。
對於100M phy,這個問題好解決,因為MII介面支援10/100M,4根資料線,只需要mac給phy提供2.5/25MHZ資料時鐘即可。

最值得研究的是外接1000M phy時如何適應10/100/1000M網路環境。
首先說,這是一個反向推算的過程,首先來看phy是如何處理10/100M和1000M環境的。mac的介面模式以及時鐘再根據phy的配置進行配置。
隨便找了一個1000M phy晶片的datasheet,RTL88E1111,對於GMII/MII介面的描述如下:


根據這段描述看出,GMII介面模式支援1000M環境,但是在10/100M環境下phy完成自動協商確定為10/100BASE-TX後就切換為MII模式,GMII引腳都是與MII相容的(MII下8根資料線有4根不用),GMII介面定義中有2個clk線,GTX_CLK TX_CLK(GMII/MII下rx clk由phy提供),GTX_CLK在GMII模式下提供125MHZ,TX_CLK在MII模式下提供2.5/25MHZ。下面給出一個mac與1000M phy硬體電路串連圖。



可以看出對於1000M phy,GTX_CLK TX_CLK都需要與mac相連,在10/100/1000M環境下我分別用示波器測量clk的確如上所說。

綜上,

對於100M phy,外部網路10/100M切換,僅需要改變mac提供的資料時鐘即可,mac介面模式不變,因為MII相容10/100M。

對於1000M phy,外部網路10/100/1000M切換,首先需要改變mac的介面模式(使用的資料線個數不同了),因為10/100M下phy會切換為MII模式,根據介面模式在改變其資料時鐘。


當然phy在自動協商完成後是其硬體邏輯會完成模式GMII/MII的轉換,而對於mac,則要由驅動根據phy的工作狀態來確定mac的介面模式以及需要提供的clk。
這也是我們軟體開發人員最需要關注的地方,根據phy的狀態,如何配置mac(介面模式 資料時鐘)來保證與phy一致。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.