<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

設置AMD以太網IP核的Pause幀處理

XILINX開發者社區 ? 來源:XILINX開發者社區 ? 2023-10-18 09:15 ? 次閱讀

目前 AMD以太網 IP 核,如軟核 10G/25G,40G/50G 或者硬核 CMAC,MRMAC,DCMAC 等等,都采用的是同一種 Pause 幀處理方式。

這篇文章主要介紹了用戶應當如何設置以太網 IP 的相關參數,使其能夠有效處理以太網的 Pause 幀。

按照 IEEE802.3 協議,一個 Pause 幀是一個最小長度,即 64bytes 長的以太網幀,目標地址(DA)為一個廣播地址 01-80-C2-00-01,Type 為 8808,Opcode 為 0001(Global)或者 0101(Priority)。具體細節請參考 IEEE802.3 協議。

PFC 結構如下所示:

a45d6d10-6d00-11ee-939d-92fbcf53809c.png

AMD 以太網 IP,可以靈活的設置這些以太網 Pause 幀參數。例如通過設置如下 TX 側的參數,包括 GPP(Global Pause Packet)的目標地址(DA),Ether Type,Opcode 等,這樣 IP 會產生你所期望的任意數據包,作為你要的 Pause 幀發送出去。

a4650412-6d00-11ee-939d-92fbcf53809c.png

同樣,IP 也需要在 RX 側做相應的設置,這樣才能識別出 Pause 幀并進行處理。接下來重點介紹,如何在 RX 側設置 Pause 幀的處理。

首先,IP 遵循如下 3 個 Steps,對收到的以太網幀進行處理:

Step1,如果通過了,則該以太網幀被認為是控制包,進入 Step2,并且不再出現在用戶數據側顯示;只有將 ctl_rx_forward_control 設為 1 的時候,即使是控制包,IP 仍然會將其跟其它數據包一起輸出到 RX 用戶側;如果 Step1 沒通過,則該以太網幀為普通 RX 數據包。

Step2,如果通過了,則該以太網幀被確認為全局 Pause 幀;如果沒通過,則進入 Step3。

Step3,如果通過了,則該以太網幀被確認為 Priority Pause 幀;如果沒通過,則不是 Pause 幀,為其它類型控制幀。

a479fb7e-6d00-11ee-939d-92fbcf53809c.png

也就是說,這里有四種特殊的以太網幀,分別是兩種控制包 Global Control Packet(gcp),Priority Control Packet(pcp),和兩種 Pause 幀 Global Pause Packet(gpp),Priority Pause Packet(ppp)。

IP 需要首先判斷收到的是否是控制包(即 gcp 或 pcp),如果是,則先判斷是否是 Global Pause 幀,再判斷是否是 Priority Pause 幀。這幾步判斷,IP 都給了相應的參數,供用戶設置,每一個條件,用戶都可以選擇是否要作檢查。

文檔里給出了 IP 是如何做判斷的相關代碼,如下:(由于某些新的 IP 文檔尚未完善,如 DCMAC,如果缺失這部分內容,也是可以參考其它 IP 文檔里的這一段內容)。

a48327b2-6d00-11ee-939d-92fbcf53809c.png

接下來,選取 Step2 中的兩句,具體解釋下,如何理解這個代碼。其它部分可以類推。

a49ac322-6d00-11ee-939d-92fbcf53809c.png

先來看圖中第二句,判斷該以太網數據包為 Global Pause 幀(gpp),首先要滿足 Step1,然后是由上圖中第二句代碼(assign global_pause_packet)后面的所有項“與”(&&)起來的,就是說要滿足后面所有的項,分別是 DA 符合,SA 符合,Etype 符合,Opcode 符合,并且使能了該功能(即設置ctl_rx_enable_gpp=1)。

再來看第一句,Opcode 符合(assign opcode_match_gpp),是由后面兩個條件“或”起來。這里要注意,為什么是或,第一個條件是該功能使能取反,也就是說,如果你設置使能不打開的話,這個條件是直接滿足的;這就意味著,不打開這個使能表示代碼不檢測這個條件,任意數據都會被當作滿足條件,所有數據包都會被認作 Pause 幀;使能打開后,才會要求后面的第二個條件符合才行,第二個條件即 RX 收到的數據包的該段數據,滿足你設置的 ctl_rx_opcode_gpp,按照協議你應當將其設置為 0001。

總之,在設置完這些 Pause 幀相關參數后,就可以使用以太網 IP 的流控功能了。通過 stat_tx_pause 確認 IP 是否成功發出 Pause 幀,并通過 stat_rx_pause 確認 IP 是否能收到 Pause 幀。如果仍然無法成功接收到 Pause 幀,不要忘了將 ctl_rx_forward_control 設為 1,并在用戶側接收數據的地方,檢查 IP 實際收到的數據包,并逐條對照之前的。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    40

    文章

    5129

    瀏覽量

    166587

原文標題:開發者分享|設置 AMD 以太網 IP 核的 Pause 幀處理

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    quartus2 調用以太網mac 往上傳少了1個字節

    quartus2 調用三速以太網的mac調試百兆以太網。并且自己寫了配置mac的模塊,鏈路層,ip層,udp層和用戶層。程序上板子用si
    發表于 10-27 15:45

    求助,怎樣控制altera的以太網IP呢?

    本人想使用altera的以太網IPtse,發現Quartus里面并沒有告訴怎樣控制這個。請問大家是怎樣控制這個
    發表于 01-22 14:55

    用了ddr、以太網ip,算是有高速接口設計經驗了嗎?

    經??吹礁鞔笳衅腹径紩N出有高速接口設計經驗者優先,我想知道用了ddr、以太網ip,算是有高速接口設計經驗了嗎?
    發表于 07-16 16:47

    【小梅哥2017力作】詳細的FPGA以太網設計教程,76頁精華PDF

    IV E器件中,調用三速以太網IP(MAC),實現完整的以太網連接?;蛘哂脩羰褂肰erilog編寫的自定義用戶邏輯來實現以太網連接。本教
    發表于 07-29 23:20

    以太網標準:EtherCAT的功能性

    以太網MAC外設,這是因為主器件在實時處理EtherCAT數據方面沒有特定的需要。主器件只需要用準確的時基來觸發啟動EtherCAT數據。一個EtherCAT從器件需要特定的
    發表于 09-06 15:25

    工業以太網標準:Sercos III的功能了解

    端口接收到該時,該已得到處理并由專用工業以太網MAC硬件塊傳輸到了第二個以太網端口。采用捷徑法,可為
    發表于 09-07 14:59

    以太網和工業以太網的不同

    需要擴展和覆蓋新設備。以太網是目前全球最受歡迎、使用范圍最廣泛的網絡技術。工業以太網的工作原理圖1. 工業設置中需要采用這種先進技術,以確保能夠正確發送和接收特定的制造數據。以瓶子灌裝廠為例,工業
    發表于 10-23 14:20

    以太網協議的模型有哪些

    ,如無效則舍棄該包;如有效則進一步判斷包內的數據,轉而調用 TCP、UDP、ICMP 等協議或使用戶自定義的處理服務。而以太網控制芯片的功能是完成 TCP/IP 協議簇分層模型中鏈路層的相關工作,它
    發表于 12-26 09:45

    以太網在MPSoC中的數據通訊實現

    。網絡接口模塊為多核系統通訊資源接口。2.1 格式定義 圖3所示為兩種協議的數據格式定義。以太網IP用戶接口數據以格式定義數據的輸出或
    發表于 06-03 05:00

    采用DM9000A實現DSP以太網接口設計

    程序設計是對TCP/IP棧裁剪移植,主要完成對接收到的以太網數據進行解析并處理,并把要發送的數據封裝成以太網數據,然后發送。3.1 DM9
    發表于 06-18 05:00

    如何選擇合適的工業以太網

    、媒體訪問控制器(MAC)。該MAC支持實時以太網處理,這在技術上稱為“即時”或“直通”處理。因此,大多數工業
    發表于 07-18 04:45

    怎么使用以太網發送字節?

    您好,我有一個PIC32以太網啟動器套件,這個套件連接到一個進行人員計數的照相機上,收集的數據是以字節為單位的的形式。我想實現一個代碼,在計算機上發送這些字節,并使用以太網鏈接(T
    發表于 03-26 09:24

    使用10G以太網MAC IP

    您好,如果我想使用10G以太網MAC IP,那么可用的10G支持板。問候維諾德庫馬爾
    發表于 04-02 10:08

    vivado三速以太網IP怎么用

    vivado的三速以太網IP接口太多了,完全不知道應該怎么用,哪位大佬能發我一份設計或者仿真嗎?簡單的就好
    發表于 04-15 12:58

    Android 9以太網功能移植以及設置IP地址

    基于Android 9實現以太網IP地址設置和功能實現
    發表于 06-20 14:42 ?2次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>