GMAC
介绍GMAC的功能和使用方法。
模块介绍
GMAC(Gigabit Media Access Controller)模块是一种用于支持千兆以太网通信的控制器,负责数据帧的发送、接收和网络流量管理。
功能介绍

应用层:面向用户提供应用服务。
协议栈层:实现网络协议,为应用层提供系统调用接口。
网络设备抽象层:屏蔽驱动实现细节,为协议栈提供统一接口。
网络设备驱动层:实现数据传输和设备管理。
物理层:网络硬件设备。
源码结构介绍
gmac驱动代码在drivers\net\ethernet\spacemit目录下:
drivers\net\ethernet\spacemit
|-- emac-ptp.c #提供PTP协议支持
|-- k1x-emac.c #k1 gmac驱动代码
|-- k1x-emac.h #k1 gmac驱动头文件
关键特性
特性
| 特性 | 特性说明 |
|---|---|
| 支持10/100/1000M以太网 | 兼容多速率以太网连接 |
| 支持DMA | 高效数据传输降低CPU负载 |
| 支持NAPI | 提升中断处理效率减少CPU开销 |
| 中断合并机制 | 合并中断提升高负载性能 |
| 支持RGMII/RMII | 适应多应用场景 |
| 支持PTP | 实现设备间亚微秒级时间同步 |
| 支持电源管理 | 支持挂起恢复适应低功耗需求 |
性能参数
| 单网卡单工 | 单网卡双工 | 双网卡单工 | 双网卡双工 | |
|---|---|---|---|---|
| TX速率 (MB/s) | 942 | 930 | 942 | 797 |
| RX速率 (MB/s) | 941 | 940 | 941 | 881 |
| 注:双工情形下测试带宽具有一定波动 |

