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

软件架构如下图所示:

一、 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 sourceuser 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 | 物理接口数据传输的时钟。该时钟应 |