UDP_千兆光通信(四)Tri Mode Ethernet MAC ip核

Tri Mode Ethernet MAC ip核使用與例程分析

  • 一、 Tri Mode Ethernet MAC ip核功能
  • 二、 Tri Mode Ethernet MAC ip核配置
      • 數據傳輸速率
      • 主要設置接口
      • 幀濾波功能選擇,以及流控選擇
  • 三、 Tri Mode Ethernet MAC ip核使用
    • 3.1 ip核接口
    • 3.2 ip核接口說明
      • 3.2.1 tx_ifg_delay
      • 3.2.2 tx_statistics_vector
      • 3.2.3 rx_statistics_vector
  • 四、 Tri Mode Ethernet MAC ip核AXI-Lite接口配置策略
    • 4.1 配置流程:
    • 4.2 關鍵寄存器解析
      • 4.2.1 Speed configuration(0x410)
      • 4.2.2 Receiver Configuration Word 1 (0x404)
      • 4.2.3 Transmitter Configuration Word (0x408)
      • 4.2.4 Flow Control Configuration Word (0x40C)
      • 4.2.5 Unicast Address (Word 0) (0x700)
      • 4.2.6 Unicast Address (Word 0) (0x704)
      • 4.2.7 Frame Filter Control (0x708)

在這里插入圖片描述
軟件架構如下圖所示:
在這里插入圖片描述

一、 Tri Mode Ethernet MAC ip核功能

支持 10M、100M、1000M、2.5G 等多種速度,支持 RGMII、GMII、MII、SGMII、internal 等多種 PHY 接口。下圖展示了 TEMAC 的功能框圖。
在這里插入圖片描述
其中 Transmit Engine 從 AXI-Stream TX 接口接收數據,并添加前導碼 Preamble、幀起始界定符 SFD、幀校驗序列 FSC 等,并在必要時(長度小于最小 MAC 幀長度)填充數據,因此在使用 TEMAC 時,MAC 幀的這幾個部分就不需要我們自己添加了(不過其他的 MAC 幀部分,如目的MAC地址、源MAC地址、類型/長度、MAC數據段等部分,還是要用戶按字節流給入 TEMAC 的)。

流量控制模塊 Flow Control 可發送和接收可編程的暫停幀。

用戶使用三個 AXI4 接口進行數據收發以及 MAC 控制器/ PHY 芯片配置,其中數據發送和接收使用 AXI4_Stream 接口,而配置接口使用 AXI4-Lite 接口,實現對 MAC 的配置和 MDIO 接口的讀寫。

可選的幀過濾器 Frame Filter 用于過濾與一組可配置過濾器匹配的幀,一般用于過濾掉目的 MAC 地址與本設備不一致的幀,TEMAC 默認開啟幀過濾器。

統計計數器 Statistics Counters 用于記錄 TX 和 RX 的幀數量,達到最大值后回繞,可配置為 32 或 64 位寬。

二、 Tri Mode Ethernet MAC ip核配置

該IP核作為MAC層,對PHY層接收數據進行處理;對于千兆以太網而言,MAC與PHY層之間使用GMII接口連接。

數據傳輸速率

在這里插入圖片描述

  • 1Gb/s 支持高達1Gb/s的以太網速度。支持四種類型的物理接口,即GMII,MII,RGMII和內部接口均可用。(千兆網選這個
  • 2.5 Gb / s 指的是以太網速度設置為2.5Gb/s,只支持內部連接。

主要設置接口

在這里插入圖片描述

  • PHY Interface:在這里插入圖片描述
    在這里插入圖片描述

  • MAC Speed:
    在這里插入圖片描述
    在這里插入圖片描述
    internal mode clock source

  • user clk2
    這是用戶邏輯時鐘,通常由用戶提供,用于MAC IP核內部邏輯和用戶接口的時鐘同步。
    在internal mode下,這個時鐘通常來自PCS/PMA IP核或外部時鐘源,頻率一般為125MHz(千兆以太網)12.5MHz(百兆以太網)。

  • rx user clk2
    這是接收用戶時鐘,專門用于MAC接收數據路徑的時鐘。
    在internal mode下,這個時鐘通常來自PCS/PMA IP核的接收時鐘輸出,用于同步接收數據流

managemant type
在這里插入圖片描述

幀濾波功能選擇,以及流控選擇

在這里插入圖片描述
1) 幀過濾器選項(Frame Filter Options)

可以使用幀過濾器生成內核,從而阻止接收與此MAC不匹配的幀。這最常用于識別專門針對此MAC的數據包。默認為使用幀過濾器。

2)表條目數(Number of Table Entries)

可以使用查找表來生成幀過濾器,該查找表最多可以包含16個其他有效MAC幀匹配模式。您可以選擇0到16之間的整數來定義表中存在的匹配模式的數量。默認值為使用四個表條目。

3)啟用優先流控制(Enable Priority Flow Control)

選擇此選項可在核心中包括Priority Flow Control支持。如果包括在內,則包括在發送時生成PFC幀并在接收時解釋PFC幀的電路,以及對IEEE 802.3暫停請求的增強XON / XOFF支持。默認設置為禁用。

4)統計計數器(Statistics Counters)

可以使用內置的統計計數器生成內核。可用的計數器數量取決于內核的雙工設置,全雙工需要34個計數器,半雙工需要41個計數器。僅當內核配置有AXI4-Lite管理接口時,才能選擇此選項。默認值為包括統計信息計數器

5)統計寬度(Statistics Width)

統計信息計數器可以是32位或64位寬。這使您可以控制必須輪詢計數器的頻率,以避免由于溢出而導致信息丟失。默認值為使用64位寬的計數器。

6)統計重置(Statistics Reset)

當包括統計計數器時,可以包括邏輯以確保在硬件復位時將計數器清除為零。沒有此邏輯,計數器值將在復位后保持不變,并且僅在設備配置時清除。默認值為包括計數器重置功能

三、 Tri Mode Ethernet MAC ip核使用

3.1 ip核接口

在這里插入圖片描述

3.2 ip核接口說明

全局時鐘與復位接口

名稱 輸入輸出類型 說明
gtx_clk input 全局 125MHz 時鐘,2.5G 以太網時為 312.5MHz 時鐘;
glbl_rstn input 全局復位信號(低有效),復位整個MAC IP核

發射端接口

名稱 輸入輸出類型 說明
tx_mac_aclk output 物理接口數據傳輸的時鐘。該時鐘應用于物理接口發送電路和TX AXI4-Stream發送電路。
312.5MHZ對應2.5Gb/s
125MHZ對應1Gb/s
312.5MHZ對應2.5Gb/s
25MHZ對應100Mb/s
2.5MHZ對應10Mb/s
tx_reset output 發送模塊復位信號,復位接收邏輯
tx_axis_mac_tdata[7:0] input, 要傳輸的幀數據;
tx_axis_mac_tvalid input, 數據有效信號;
tx_axis_mac_tready output, 握手信號,當數據被正確接收時,該信號被斷言(注意到而非指示 TEMAC TX 空閑,這與一般的 ready 握手信號工作原理不同,因此不能用于判斷是否可以傳遞數據,而是判斷數據是否被正確傳輸了,從而決定是重傳本字節還是繼續傳輸下一字節);
tx_axis_mac_tlast input 幀結束信號;
tx_axis_mac_tuser input 端口控制信號,指示發生一個錯誤;當在傳輸期間斷言該信號時,則 MAC 會插入一個錯誤代碼以損壞當前幀,中止傳輸并回到空閑狀態。
tx_ifg_delay[7:0], input, IFG = Inter-Frame Gap(幀間間隔),tx_ifg_delay = 發送幀間延遲,控制MAC發送器在連續發送以太網幀之間的時間間隔
10Mbps:最小幀間間隔 = 9.6μs(96位時間)
100Mbps:最小幀間間隔 = 960ns(96位時間)
1000Mbps:最小幀間間隔 = 96ns(96位時間)
tx_collision, output, 指示在發送過程中檢測到沖突(collision),全雙工模式下恒輸出 0(全雙工時,實際生成 IP 時該接口不生成);
tx_statisitics_vector[31:0], output, 發送幀統計向量;提供發送方向的詳細統計信息;通常為32位,包含多個統計字段
tx_statistics_valid output 統計向量有效標志。

接收端接口

名稱 輸入輸出類型 說明
rx_mac_aclk output 物理接口數據傳輸的時鐘。該時鐘應用于物理接口發送電路和TX AXI4-Stream接收電路。
312.5MHZ對應2.5Gb/s
125MHZ對應1Gb/s
312.5MHZ對應2.5Gb/s
25MHZ對應100Mb/s
2.5MHZ對應10Mb/s
rx_reset output 接收模塊復位信號,復位接收邏輯
rx_axis_mac_tdata[7:0] output 接收到的幀數據;
rx_axis_mac_tvalid output 數據有效信號;
rx_axis_mac_tlast, output, 幀結束信號;
rx_axis_mac_tuser, output, 控制信號,在幀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91531.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91531.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91531.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux網絡:多路轉接 epoll

Linux網絡:多路轉接 epoll一、epoll三個接口函數1、epoll_create2、epoll_ctl3、epoll_wait二、epoll的工作原理三、epoll的echo_server1、EpollServer類2、構造函數3、事件循環4、事件派發5、事件處理6、測試四、LT和ET模式1、LT2、ET五、項目代碼一、epoll三個接口…

uniapp 微信小程序 列表點擊分享 不同的信息

<button open-type"share" plain class"item share" click.stop"shareFn(item)"><text>分享</text> </button>import {onShareAppMessage} from dcloudio/uni-applet shareObj ref({})// 將點擊后的分享設置信息 關鍵…

C# 匿名方法詳解

C# 匿名方法詳解 引言 在C#編程語言中,匿名方法是使用Lambda表達式創建的沒有名稱的方法。它們在LINQ查詢、事件處理和其他場合中非常有用。本文將詳細介紹C#匿名方法的基本概念、語法、使用場景以及優勢。 匿名方法的概念 匿名方法是一種無需顯式定義名稱的方法。在C#中,…

SD卡簡介與驅動開發

基本概念 存儲卡有很多種類&#xff0c;CF卡、記憶棒、SD卡、XD卡、MMC卡、MS卡、TF卡、MicroSD卡等。平時最常見的有SD卡和MicroSD卡兩種&#xff0c; SD卡和MicroSD只是兩張卡的大小不同&#xff0c;規格版本是完全相同的&#xff0c;均由SD卡協會推出。 SD卡有不少規范&…

大數據平臺數倉數湖hive之拉鏈表高效實現

對于緩慢變化的維度表&#xff0c;如客戶表&#xff0c;員工表&#xff0c;為了不丟失歷史數據&#xff0c;又不至于太浪費存儲空間&#xff0c;我們采用拉鏈表實現。 實現過程如下&#xff1a; 1、采集初始數據&#xff1a; 1.1 從mysql導出數據到hdfs /data/dolphinschedu…

【VSCode】常用插件推薦(持續更新~)

以下的這些插件都有使用過&#xff0c;可取對自己編碼有用的選擇安裝。&#x1f9e0; 智能補全 / 提示類插件 1. Auto Import在編碼時選擇有對應導入包的選項&#xff0c;自動為 JS/TS 文件中的使用項補全并添加 import 聲明&#xff0c;極大提高開發效率。2. Iconify IntelliS…

ICML 2025 | 深度剖析時序 Transformer:為何有效,瓶頸何在?

本文介紹帝國理工學院等機構在 ICML 2025 發表的最新研究成果。該研究并未提出新模型&#xff0c;而是對現有時間序列 Transformer 模型進行了一次深刻的拷問——為何結構更簡單的 Transformer&#xff08; PatchTST, iTransformer&#xff09;在各大基準測試中&#xff0c;反而…

AIBOX內置5G天線設計

AIBOX內置5G天線設計AIBOX的天線種類天線種類及數量&#xff1a;運營商5G天線*4&#xff0c;1.4G天線*2、wifi天線*1天線形式&#xff1a;內置PCB天線。天線安裝方式&#xff1a;卡扣固定&#xff0c;安裝至設備外殼內壁。RG-178同軸線或UFL1.37mm同軸線連接至主板&#xff0c;…

低通濾波器的原理以及作用

低通濾波器&#xff08;Low-Pass Filter, LPF&#xff09;是一種允許低頻信號通過&#xff0c;同時衰減或阻止高頻信號的電子電路或數字信號處理算法。其核心原理和作用如下&#xff1a;一、工作原理 1. 頻率選擇性- 低通濾波器基于頻率對信號進行篩選&#xff0c;其傳遞函數在…

[AI Coding] 一.騰訊CodeBuddy IDE內測、安裝及基本用法(國產AI IDE啟航)

在人工智能迅猛發展的今天&#xff0c;AI Coding 正逐步改變傳統編程范式。廣義上&#xff0c;AI Coding 是指以大語言模型&#xff08;LLMs&#xff09;為核心驅動&#xff0c;借助自然語言理解能力&#xff0c;自動生成、補全、調試與解釋代碼的智能編程方式。它不僅顯著降低…

《網安處罰裁量基準》碼農合規指北 v1.0——if (違規) { 罰金++ } else { 合規運行 }

尊敬的審核&#xff1a; 本人文章《〈網安處罰裁量基準〉碼農合規指北 v1.0——if (違規) { 罰金 } else { 合規運行 }》 1. 純屬技術交流&#xff0c;無任何違法內容 2. 所有法律引用均來自公開條文 3. 請依據《網絡安全法》第12條“不得無故刪除合法內容”處理 附&#xff1a…

機器學習——邏輯回歸(LogisticRegression)實戰案例:信用卡欺詐檢測數據集

使用邏輯回歸識別 信用卡欺詐行為&#xff1a;基于creditcard.csv的實戰與評估分析 項目背景 在金融行業中&#xff0c;信用卡欺詐檢測是一項關鍵任務。欺詐交易在整個交易中占比極低&#xff0c;導致數據極度不平衡。本案例通過經典數據集 creditcard.csv&#xff0c;構建邏輯…

Helm在Kubernetes中的應用部署指南與案例解析

在上一章節中&#xff0c;我們已經介紹了Helm的部署和基本使用方法。本章將通過實際案例&#xff0c;詳細演示如何使用Helm在Kubernetes集群中部署應用。一、Helm 核心價值解析優勢解決的問題類比傳統方式應用模板化重復編寫 YAML 文件手動編寫 20 資源清單文件版本控制缺乏部署…

如何最簡單、通俗地理解線性回歸算法? 線性回歸模型在非線性數據上擬合效果不佳,如何在保持模型簡單性的同時改進擬合能力?

線性回歸作為統計學與機器學習領域中最基礎且最重要的算法之一&#xff0c;其應用廣泛且深遠。它不僅是回歸分析的入門方法&#xff0c;更是后續復雜模型構建的重要理論基礎。理解線性回歸算法的本質&#xff0c;既有助于提升數據分析的能力&#xff0c;也能為掌握更復雜的機器…

藍橋杯----超聲波

&#xff08;一&#xff09;、超聲波1、原理&#xff08;圖 一&#xff09;發送信號階段&#xff1a;單片機通過翻轉發送的引腳P1^0&#xff0c;發送8個40MHZ的方波&#xff0c;此時開始計時。等待接收信號&#xff1a;通過單片機的接收引腳P1^1檢測&#xff0c;未接收到信號時…

Java學習-運算符

1.在代碼中&#xff0c;如果有小數參與計算&#xff0c;結果有可能不精確。2.整數參與計算&#xff0c;結果只能是整數。3.數字進行運算時&#xff0c;數據類型不一樣不能運算&#xff0c;需要轉成一樣的&#xff0c;才能運算。&#xff08;1&#xff09;隱式轉換&#xff08;自…

一句話指令實現“2D轉3D”、“圖片提取線稿”

你是否曾為一張2D圖片無法完美展示3D效果而遺憾&#xff1f;是否曾因需要將手繪草圖轉為清晰線稿而耗時費力&#xff1f;這些曾讓設計師、電商賣家、內容創作者頭疼的難題&#xff0c;如今只需一句話指令&#xff0c;即可迎刃而解。一、案例一&#xff1a;2D圖片→3D模型痛點場…

層次聚類:無需“猜”K值,如何讓數據自己畫出“家族圖譜”?

層次聚類&#xff1a;無需“猜”K值&#xff0c;如何讓數據自己畫出“家族圖譜”&#xff1f;&#x1f44b; 大家好&#xff0c;我是小瑞瑞&#xff01;歡迎回到我的專欄&#xff01; 在上一期&#xff0c;我們學會了強大的K-Means算法&#xff0c;但它也給我們留下了一個“靈魂…

數據結構:鏈表(Linked List)

目錄 結構推導 回到最原始的問題 —— 我們如何存數據&#xff1f; 第二步&#xff1a;我們來看看數組的限制 第三步&#xff1a;那我們該怎么做呢&#xff1f; 第四步&#xff1a;我們推導鏈表的數據結構 結構講解 什么是鏈表&#xff1f; 什么是節點&#xff1f; …

[RK3566-Android11] U盤頻繁快速插拔識別問題

問題描述 做老化測試時&#xff0c;在使用U盤頻繁快速插拔的情況下&#xff0c;SDCard目錄會突然被Kill掉&#xff0c;然后又重新掛載上&#xff0c;這會導致系統及APP的數據因為讀寫異常&#xff0c;從而界面卡死正常U盤插拔不應該導致內部存儲卸載解決方案&#xff1a; SDK根…