智多晶EthMAC IP介绍

EthMAC IP.png

智多晶EthMAC IP

EthMAC是西安智多晶微电子有限公司在2024年基于IEEE802.3-2008 协议clause 3章节开发的通信IP。

IP的用户接口为AXI-Stream,APB3和中断信号,其中AXI-Stream接口用于以太网数据包的收发,APB3和中断接口用于寄存器配置,状态读取等操作。EthMAC的网络侧采用GMII接口,可以直连GMII接口,也可通过PHY接口适配模块转换为目标接口(例如RGMII),从而适配不同的网络phy芯片。

EthMAC IP特性

1. STREAM和CONTROLLER两种工作模式

2. 支持正常模式和环回模式(用于测试)

3. 支持Inband FCS模式

4. 支持Jumbo帧

5. 支持VLAN帧

6. 支持接收帧过滤

7. 支持流控

8. 支持精准流控

9. 支持地址过滤调试模式

10. 支持收发帧类别和错误统计

帧类别和错误统计

EthMAC IP中实现了细致的帧信息统计和错误统计,完全用硬件实现监控与统计,供寄存器读取,可用于网络链路状态评估与分析。

帧类别统计包括:

所有成功帧的收发统计(以长度分段),广播帧的收发统计,多播帧的收发统计,控制帧的收发统计,暂停帧的收发统计,VLAN帧的收发统计。

错误统计包括:

接收FCS错误统计,Length/Type超范围错误统计,不支持的opcode帧错误统计,rxbuf overflow错误统计,发送underrun帧错误统计。

流控和精准流控

EthMAC支持流控功能。开启流控支持后,RX端可识别流控帧,TX端在RX收到流控帧后,自动暂停的发送,避免对端设备因无法及时处理消息包导致缓存爆掉的情况。

精准流控是在流控基础上实现的高级功能。启用精准流控后,会记录发送流控帧设备的源地址,TX端只对目标地址与记录的流控源地址匹配的网络包暂停发送,不影响发向其它目标地址的网络包。

接收帧目的地址过滤和地址过滤调试模式

接收帧目的地址过滤功能相当于白名单。在寄存器中配置,可实现多组MAC源地址以及对应的bit mask。从而实现规则复杂的白名单过滤功能,可用于设备节点在网络中对仅来自期望节点设备消息的响应,简化节点设备的设计难度。

地址过滤调试模式功能对MAC调试场景非常有用,相当于黑名单。由于操作系统会主动向网络发出基于PC MAC源地址的小数据包,在PC上使用Wireshark等软件对IP进行调测时,待测网络节点会收到来自操作系统自动发送的“干扰”网络包。启用调试模式后,EthMAC会自动滤除源地址值与配置值(PC网卡MAC地址)相同的数据包,从而排除来自操作系统的不可控干扰,只接收来自Wireshark的网络包。启用调试模式后,EthMAC会自动滤除源地址值与配置值相同的数据包。

EthMAC IP配置与使用

打开IP

第一步,使用HqFpga v3版本软件,创建或打开一个工程。

创建工程.png

第二步,在已打开的工程中,点击“IP管理”图标。

IP设置.png

第三步,在IP管理器“IP Creator”--通讯与网络类下找到EthMAC IP,双击打开EthMAC IP配置界面。

通信与网络.png

配置IP

配置IP.png

EthMAC IP的配置界面非常清晰。分为“功能配置”,“目的地址过滤配置”,“调试选项”三大块。

功能配置部分用于配置VLAN帧,JUMBO帧,流控功能的功能使能。

目的地址过滤器配置部分用于配置4个地址过滤器是否启用。

调试选项配置用于开关调试模式以及输入调试模式下的黑名单MAC源地址。

以上功能配置都会影响IP占用的FPGA逻辑资源,关闭功能的时候相关的逻辑资源可以节省。这些功能的开关配置并不影响用户接口,只影响逻辑功能和资源,建议用户配置的时候按需开启。

EthMAC应用子系统

EthMAC系统连接.JPG

EthMAC系统连接

如上图,这是一个非常典型的使用EthMAC 子系统框图。MCU/CONTROLLER主要用于EthMAC的寄存器配置,可以使用智多晶提供的CM3/STAR/Tiny-SoC IP。以太网用户数据包即可走用户逻辑,也可以走MCU/CONTROLLER,取决于业务的应用需求和实现方案。

APB3总线挂载

需注意,EthMAC IP的APB3接口地址位宽只有10bit,是去掉了设备基地址部分的纯寄存器偏移地址部分。因此在挂载APB总线的时候需要增加一个基地址解码逻辑,接到APB3接口的s_apb_sel信号上。

以这种方式,用户可以非常灵活的自定义设备基地址,以及在总线上同时挂载多个APB设备,见下图。

APB3总线挂载.JPG

典型应用场景

1)网络设备(网卡,交换机,路由器)。

2)通过CPU和软件协议栈为SoC实现TCP/IP网络通讯。

3)通过用户逻辑实现UDP网络通讯(网络相机、工业相机、LED显控,网络数据采集卡)。

4)通过MCU和用户逻辑实现TCP/IP和UDP的混合通讯(网络相机、工业相机、LED显控,网络数据采集卡)。适用于网络中即有控制主机(TCP/IP)又有点对点流数据(UDP)的场景。

5)基于MAC层之上的用户自定义协议设备通讯(医疗设备,汽车电子)。

设计资源

EthMAC IP用户文档已随IP发布,可通过以下2个方式获得。

1)在EthMAC IP界面左下角,点击“用户指南”可以直接打开EthMAC IP的用户指南(UserGuide)pdf文件。

EthMAC IP界面.png

2)通过UG00031_EthMAC_IP用户指南直接在智多晶官网下载EthMAC IP的用户指南(UserGuide)pdf文件。

其它相关设计资源后期会陆续通过官网发布,欢迎关注。

文章来源:智多晶

最新文章

最新文章