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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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根…