加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 一、前言 
    • 二、從GMII過度到RGMII
    • 三、add clock skew
    • 四、系統(tǒng)設(shè)計(jì)方案
    • 五、I/O 時(shí)序約束
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

08/19 10:40
1354
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(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í),使其邊沿對(duì)準(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ù)邊沿對(duì)齊的時(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ù)中心對(duì)齊的時(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對(duì)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ì)場(chǎng)合下,輸入輸出接口部分很容易出現(xiàn)數(shù)據(jù)采樣不穩(wěn)定的現(xiàn)象。這時(shí)候就要通過Input delay,output delay約束以及STA來分析設(shè)計(jì)是否滿足穩(wěn)定采樣需求。input/output delay是指數(shù)據(jù)相對(duì)于時(shí)鐘的延遲,只有設(shè)置好上述兩個(gè)數(shù)值,綜合工具才會(huì)往正確的方向優(yōu)化并給出合理的時(shí)序報(bào)告。

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

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
XC7A200T-2FBG676I 1 AMD Xilinx Field Programmable Gate Array, 16825 CLBs, 1286MHz, 215360-Cell, CMOS, PBGA676, FBGA-676

ECAD模型

下載ECAD模型
$356.55 查看
XC6SLX9-2CPG196I 1 AMD Xilinx Field Programmable Gate Array, 715 CLBs, 667MHz, 9152-Cell, CMOS, PBGA196, 8 X 8 MM, 0.50 MM PITCH, LEAD FREE, BGA-196
$50.98 查看
XC6SLX45-2CSG324I 1 AMD Xilinx Field Programmable Gate Array, 3411 CLBs, 667MHz, 43661-Cell, CMOS, PBGA324, 15 X 15 MM, 0.80 MM PITCH, LEAD FREE, BGA-324
$65.17 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

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