智多晶EthMAC IP介绍

描述

以太网MAC层(Media Access Control Layer,媒体接入控制层)是计算机网络中数据链路层(Data Link Layer)的一个子层,它定义了设备如何访问和控制共享的物理介质(如以太网电缆)。

以太网MAC层在网络通信中具有极其重要的作用和价值,它实现了物理介质的高效共享,设备级的寻址能力,确保了数据的可靠传输,通过错误检测与纠正机制提高了网络的稳定性,同时支持多种网络拓扑和设备,是网络通信的坚实的基础。

 

IP

智多晶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版本软件,创建或打开一个工程。

IP

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

IP

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

IP

 

配置IP

IP

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

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

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

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

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

EthMAC应用子系统

IP

EthMAC系统连接

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

APB3总线挂载

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

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

IP

典型应用场景

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文件。

IP

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

其它相关设计资源后期会陆续通过官网发布,欢迎关注。有任何疑问请通过智多晶公众号或FAE与我们联系。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分