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

FPGA 控制 RGMII 接口 PHY芯片基礎(chǔ)

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

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

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

一、前言 

網(wǎng)絡(luò)通信中的PHY芯片接口種類有很多,之前接觸過GMII接口的PHY芯片RTL8211EG。但GMII接口數(shù)量較多,本文使用RGMII接口的88E1512搭建網(wǎng)絡(luò)通信系統(tǒng)。這類接口總線位寬小,可以降低電路成本,在實(shí)際項(xiàng)目中應(yī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

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

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

三、add clock skew

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

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

PHY內(nèi)部會(huì)調(diào)整TX_CLK,使之能夠穩(wěn)定采樣TXD。數(shù)據(jù)接收方向,由于RX_CLK由PHY提供,PHY芯片直接產(chǎn)生與數(shù)據(jù)中心對齊的時(shí)鐘信號(hào)。RXD和RX_CLK信號(hào)波形如圖。

可見,使PHY芯片工作在延遲模式下時(shí),F(xiàn)PGA不需要添加額外的邏輯來保證穩(wěn)定采樣。發(fā)送方向直接將數(shù)據(jù)驅(qū)動(dòng)時(shí)鐘作為TX_CLK信號(hào)發(fā)送,接收方向直接利用RX_CLK對RXD信號(hào)采樣。

四、系統(tǒng)設(shè)計(jì)方案

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


系統(tǒng)硬件結(jié)構(gòu)如圖:

五、I/O 時(shí)序約束

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

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

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
A3P250-FG256I 1 Microchip Technology Inc Field Programmable Gate Array, 6144 CLBs, 250000 Gates, 350MHz, CMOS, PBGA256
$27.48 查看
XC6SLX9-2TQG144I 1 AMD Xilinx Field Programmable Gate Array, 715 CLBs, 667MHz, 9152-Cell, CMOS, PQFP144, 20 X 20 MM, 0.50 MM PITCH, LEAD FREE, TQFP-144

ECAD模型

下載ECAD模型
$19.67 查看
EP4CE22U14I7N 1 Intel Corporation Field Programmable Gate Array, 22320-Cell, PBGA256, LEAD FREE, UBGA-256

ECAD模型

下載ECAD模型
$58.28 查看

相關(guān)推薦

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

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