Linux下rgmii接口与fpga相连,FPGA控制RGMII接口PHY芯片88E1512网络通信
一、前言
網絡通信中的PHY芯片接口種類有很多,之前接觸過GMII接口的PHY芯片RTL8211EG。但GMII接口數量較多,本文使用RGMII接口的88E1512搭建網絡通信系統。這類接口總線位寬小,可以降低電路成本,在實際項目中應用更廣泛。
二、從GMII過度到RGMII
先看看GMII和RGMII主要的接口。
GMII:
發送gmii_tx_clkgmii_tx_d[7:0]gmii_tx_engmii_tx_er
接收gmii_rx_clkgmii_rx_d[7:0]gmii_rx_dvgmii_rx_er
RGMII:
發送tx_clktx_d[3:0]tx_ctrl
接收rx_clkrx_d[3:0]rx_ctrl
為什么接口變少了?首先數據總線從時鐘單邊沿采樣8bit轉變為了雙邊沿采樣4bit,從88E1512Datasheet中時序圖可以直觀看出這一點。
RGMII中上升沿發送一字節數據的低四位,下降沿發送剩余的高四位數據。接收端時鐘雙邊沿采樣,因此125MHZ*8bit=125MHZ*4bit*2=1000Mbit/s。至于GMII中的數據有效和數據錯誤指示信號被ctrl信號復用:tx_ctrl在時鐘tx_clk上升沿發送是tx_en,在下降沿發送是tx_en^tx_er。rx_ctrl在時鐘rx_clk上升沿接收是rx_dv,在下降沿接收是rx_en^rx_er。綜上,RGMII接口引腳數從25個降低到14個。
三、addclockskew
從上邊的時序圖分析,數據在時鐘的邊沿變化。因此如果不做額外處理,接收端無法穩定采樣。為了解決這一問題,常見的做法是為時鐘信號添加延時,使其邊沿對準數據總線的穩定區間。可以在控制器端、PCB走線以及PHY芯片內部添加時鐘偏移,本文使用最后一種方式實現。
在第三階段中添加延遲。數據發送方向,FPGA側的TX_CLK信號不需要額外處理,也就是說FPGA發送與數據邊沿對齊的時鐘信號。TXD和TX_CLK信號波形如圖。
PHY內部會調整TX_CLK,使之能夠穩定采樣TXD。數據接收方向,由于RX_CLK由PHY提供,PHY芯片直接產生與數據中心對齊的時鐘信號。RXD和RX_CLK信號波形如圖。
可見,使PHY芯片工作在延遲模式下時,FPGA單不需要添加額外的邏輯來保證穩定采樣。發送方向直接將數據驅動時鐘作為TX_CLK信號發送,接收方向直接利用RX_CLK對RXD信號采樣。
四、系統設計方案
本文使用ZYNQ內部的MAC控制器實現數據鏈路層功能。但由于其接口為GMII,需要用到GMII_to_RGMIIIPCore轉換接口邏輯。上層網絡協議則通過LWIP開源協議棧完成。首先配置ZYNQIP,使能ENET1并以EMIO方式引出。
系統硬件結構如圖:
在較高速設計場合下,輸入輸出接口部分很容易出現數據采樣不穩定的現象。這時候就要通過Inputdelay,outputdelay約束以及STA來分析設計是否滿足穩定采樣需求。input/outputdelay是指數據相對于時鐘的延遲,只有設置好上述兩個數值,綜合工具才會往正確的方向優化并給出合理的時序報告。
FPGA與RGMII接口的PHY芯片之間的時序關系按照數據接口同步和數據采樣方式屬于源同步DDR采樣。inputdelay約束對應接收方向,時序關系是中心對齊。outputdelay約束對應發送方向,時序關系是邊沿對齊。前者由于很多時候不知道上游器件Tcko信息,會使用示波器測量有效數據窗口來計算。而后者因為是邊沿對齊,通過示波器測量抖動窗口并使用skewbasedmethod計算。這部分筆者還沒有親身實踐過,若有誤歡迎指出。
參考文獻
1千兆以太網芯片88E1111RGMII模式的驅動-我心狂野-博客園
2RGMII布線指導RGMIILayoutGuide|無線時代
3RGMII_PHY測試筆記1基于開發板MiS603-X25-whilebreak-電子技術應用-AET-北大中文核心期刊-最豐富的電子設計資源平臺
5RGMIIInterfacemingConsideraTIons|EthernetFMC
6ALTERAAN477:DesigningRGMIIInterfaceswithFPGAsandHardCopyASICs
7米聯客ESFP1512以太網SFP光電卡教程
本文為csdn博主“FPGA技術江湖”原創文章,在此特別鳴謝。
原文鏈接:https://blog.csdn.net/qq_40310273/arTIcle/details/106355201
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Linux下rgmii接口与fpga相连,FPGA控制RGMII接口PHY芯片88E1512网络通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都一罐车撞塌桥墩 撞击瞬间曝光:有轿车
- 下一篇: 信用卡现金分期