以太網學習(三)——FPGA的MAC與PHY芯片之間的接口,以及RGMII接口時序


主要有SMII, MII, RMII, GMII, RGMII這幾種接口,其中SMII是串行的接口,引腳最少。

MII接口

 

 

 通信速率10M/100M(百兆以太網的通信接口)

ETH_RXC:PHY側輸出給MAC的以太網的接受時鍾

ETH_RXDV:PHY側輸出給MAC的接收有效信號

ETH_RXER:PHY側輸出給MAC的接收錯誤信號

ETH_RXD:PHY側輸出給MAC的4位接收數據

只有當ETH_RXDV為高電平,ETH_RXER為低電平時,這時傳輸的數據才是有效數據

ETH_TXC:發射時鍾同樣是有PHY芯片提供給MAC的

ETH_TXEN:MAC提供給PHY芯片的發送使能信號

ETH_TXER:MAC提供給PHY芯片的發送錯誤指示信號

ETH_TXD:MAC提供給PHY芯片的待發送的4位數據

只有當ETH_TXEN為高電平,ETH_TXER為低電平時,這時傳輸的數據才是有效數據

10M:時鍾為2.5MHz,單沿采樣;100M:時鍾為25MHz,單沿采樣

 

RMII接口(Reduced MII)

 

 

通信速率為10M/100M

發送數據核接收數據都是兩位的;

參考時鍾通常是由外部晶振提供給MAC側或PHY芯片的;

CRS和DV信號復用一個端口;

10M:時鍾為5M,單沿采樣;100M:時鍾為50M,單沿采樣

 

GMII接口(Gigabit MII)

 

 

 通信速率1G/100M/10M

與MII接口相比,TXC由MAC側產生(原圖中畫錯了),並且將數據位寬從4位提高到了8位;

10M:時鍾為2.5M,單沿采樣,只用到了4位;100M:時鍾為25M,單沿采樣,只用到了4位;1G:時鍾為125M,單沿采樣

 

RGMII(Reduced GMII)

 

 

通信速率為1G/100M/10M

TXC由MAC側產生;

將RXDV和RXER信號集成到了RXCTL上,時鍾上升沿采到的是RXDV,下降沿采到的是RXDV^RXER(異或);

將TXEN和TXER信號集成到了TXCTL上,時鍾上升沿采到的是TXEN,下降沿采到的是TXEN^TXER(異或);

數據位寬由8位減少到了4位;

1G:時鍾為125M,雙沿采樣;100M:時鍾為25M,單沿采樣;10M:時鍾為2.5M,單沿采樣

 

 

RGMII接口時序

RGMII接收時序(1G)(PHY芯片產生的信號時序)

 

 

注:由於下降沿傳輸的是異或結果,所以正常情況下,RXCTL信號一直為高電平時傳輸的才是有效數據。

為保證能夠正確采到數據,PHY芯片需要將接收到的TXC信號延遲約1/4個時鍾周期。

 RGMII發送時序(1G)(FPGA MAC側產生的信號時序

 

 

 注:由於下降沿傳輸的是異或結果,所以正常情況下,TXCTL信號一直為高電平時傳輸的才是有效數據。

為保證FPGA能夠正確采到數據,PHY芯片需要將發送給MAC的RXC信號延遲約1/4個時鍾周期。

對於ZC706開發板上的88E1116R PHY芯片來說,控制時鍾是否延遲的方式是CONFIG引腳或者通過寄存器的方式進行配置:

這個意思是,如果CONFIG[3]連到了LED[0]上,那么相當於配置了接收時鍾的延時處理,但是沒有配置發送時鍾的延時處理。

或者可以通過MDIO配置相對應的寄存器21_2.4和21_2.5,用軟件的方式配置時鍾延時:

 

 

查看ZC706的PHY芯片88E1116R部分的原理圖:

 

 

 發現CONFIG[3]連到了排針的中間的引腳2,如果將J45中間的引腳通過短路片與1腳相連,那么就可以將PHY芯片配置成發送時鍾和接收時鍾都添加延遲。

 

參考:正點原子官方視頻

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM