• 正文
    • 一、前言 
    • 二、從GMII過度到RGMII
    • 三、add clock skew
    • 四、系統(tǒng)設計方案
    • 五、I/O 時序約束
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

FPGA 控制 RGMII 接口 PHY芯片基礎

2024/08/19
1559
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

大俠好,歡迎來到FPGA技術江湖,江湖偌大,相見即是緣分。大俠可以關注FPGA技術江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。

今天和大俠簡單聊一聊FPGA 控制 RGMII 接口 PHY芯片基礎,話不多說,上貨。

一、前言 

網絡通信中的PHY芯片接口種類有很多,之前接觸過GMII接口的PHY芯片RTL8211EG。但GMII接口數量較多,本文使用RGMII接口的88E1512搭建網絡通信系統(tǒng)。這類接口總線位寬小,可以降低電路成本,在實際項目中應用更廣泛。

二、從GMII過度到RGMII

先看看GMII和RGMII主要的接口。

GMII:

發(fā)送 gmii_tx_clk gmii_tx_d[7:0] gmii_tx_en gmii_tx_er

接收 gmii_rx_clk gmii_rx_d[7:0] gmii_rx_dv gmii_rx_er

RGMII:

發(fā)送 tx_clk tx_d[3:0] tx_ctrl

接收 rx_clk rx_d[3:0] rx_ctrl

為什么接口變少了?首先數據總線從時鐘單邊沿采樣8bit轉變?yōu)榱穗p邊沿采樣4bit,從88E1512 Datasheet中時序圖可以直觀看出這一點。

RGMII中上升沿發(fā)送一字節(jié)數據的低四位,下降沿發(fā)送剩余的高四位數據。接收端時鐘雙邊沿采樣,因此125MHZ*8bit = 125MHZ*4bit*2 = 1000Mbit/s。至于GMII中的數據有效和數據錯誤指示信號被ctrl信號復用:tx_ctrl在時鐘tx_clk上升沿發(fā)送是tx_en,在下降沿發(fā)送是tx_en ^ tx_er。rx_ctrl在時鐘rx_clk上升沿接收是rx_dv,在下降沿接收是rx_en ^ rx_er。綜上,RGMII接口引腳數從25個降低到14個。

三、add clock skew

從上邊的時序圖分析,數據在時鐘的邊沿變化。因此如果不做額外處理,接收端無法穩(wěn)定采樣。為了解決這一問題,常見的做法是為時鐘信號添加延時,使其邊沿對準數據總線的穩(wěn)定區(qū)間??梢栽?a class="article-link" target="_blank" href="/baike/1544287.html">控制器端、PCB走線以及PHY芯片內部添加時鐘偏移,本文使用最后一種方式實現。

在第三階段中添加延遲。數據發(fā)送方向,FPGA側的TX_CLK信號不需要額外處理,也就是說FPGA發(fā)送與數據邊沿對齊的時鐘信號。TXD和TX_CLK信號波形如圖。

PHY內部會調整TX_CLK,使之能夠穩(wěn)定采樣TXD。數據接收方向,由于RX_CLK由PHY提供,PHY芯片直接產生與數據中心對齊的時鐘信號。RXD和RX_CLK信號波形如圖。

可見,使PHY芯片工作在延遲模式下時,FPGA不需要添加額外的邏輯來保證穩(wěn)定采樣。發(fā)送方向直接將數據驅動時鐘作為TX_CLK信號發(fā)送,接收方向直接利用RX_CLK對RXD信號采樣。

四、系統(tǒng)設計方案

本文使用ZYNQ內部的MAC控制器實現數據鏈路層功能。但由于其接口為GMII,需要用到GMII_to_RGMII IP Core轉換接口邏輯。上層網絡協(xié)議則通過LWIP開源協(xié)議棧完成。首先配置ZYNQ IP,使能ENET1并以EMIO方式引出。


系統(tǒng)硬件結構如圖:

五、I/O 時序約束

在較高速設計場合下,輸入輸出接口部分很容易出現數據采樣不穩(wěn)定的現象。這時候就要通過Input delay,output delay約束以及STA來分析設計是否滿足穩(wěn)定采樣需求。input/output delay是指數據相對于時鐘的延遲,只有設置好上述兩個數值,綜合工具才會往正確的方向優(yōu)化并給出合理的時序報告。

FPGA與RGMII接口的PHY芯片之間的時序關系按照數據接口同步和數據采樣方式屬于源同步DDR采樣。input delay約束對應接收方向,時序關系是中心對齊。output delay約束對應發(fā)送方向,時序關系是邊沿對齊。前者由于很多時候不知道上游器件Tcko信息,會使用示波器測量有效數據窗口來計算。而后者因為是邊沿對齊,通過示波器測量抖動窗口并使用skew based method計算。這部分筆者還沒有親身實踐過,若有誤歡迎指出。

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
EP4CE6F17I7N 1 Intel Corporation Field Programmable Gate Array, 392 CLBs, 472.5MHz, 6272-Cell, PBGA256, 17 X 17 MM, 1 MM PITCH, LEAD FREE, FBGA-256
$44.04 查看
EP2C5T144C6N 1 Intel Corporation Field Programmable Gate Array, 288 CLBs, 500MHz, 4608-Cell, CMOS, PQFP144, LEAD FREE, TQFP-144
$29.68 查看
5CGXFC4C6U19I7N 1 Altera Corporation Field Programmable Gate Array, 50000-Cell, CMOS, PBGA484, ROHS COMPLIANT, UBGA-484
暫無數據 查看

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

任何技術的學習就好比一個江湖,對于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。