1. 概述
网络设备一定离不开MAC和PHY,有MAC和PHY的地方就有相应的接口,无论看得见或者看不见,它就在那里。在以太网中,这个接口就是介质无关接口,英文称为Media Independent Interface,简称MII。MII适用于百兆网络设备,有个很大的缺点就是走线很多,于是就出现了RMII,即Reduced Media Independent Interface,在MII的基础上减少了一半的数据线。千兆以太网的诞生带来了GMII,即Gigabit Media Independent Interface,人们发现GMII的走线也很多,于是又出现了RGMII,即Reduced Gigabit Media Independent Interface,也就是本文档要探讨的内容。当然还有串行的MII接口家族,可自行查阅相关文献。
2. 为什么是RGMII
有这么多形式的MII接口,为什么偏要选择RGMII呢?原因很简单:用得多。随着芯片集成度的提高,很多网络处理器/SoC集成了百兆以太网交换机,如果用户需要实现千兆以太网络,那么往往需要配合RGMII接口的千兆以太网PHY。我司所用的很多芯片都是这样的。
3. RGMII技术特征
如前所述,RGMII接口减少了MAC与PHY之间的走线数量,通过在参考时钟的上升/下降沿同时采样及信号复用得以实现。RGMII有RTBI与RGMII两种模式,由于我司产品从未涉及RTBI,所以不做介绍。RGMII具有如下特征:
- 相对于GMII接口,发送/接收数据线由8根减少为4根
- TX_ER与TX_EN复用,通过TX_CTL传送
- RX_ER与RX_DV复用,通过RX_CTL传送
- 1 Gbit/s速率下,时钟频率为125MHz
- 100 Mbit/s速率下,时钟频率为25MHz
- 10 Mbit/s速率下,时钟频率为2.5MHz
- RGMII 1.3版本要求:通过PCB走线使得时钟相对数据线延迟1.5-2ns
- RGMII 2.0版本引入了片上延迟的功能,即在芯片内部实现时钟延迟
4. RGMII信号定义
5. RGMII接口时序图
6. RGMII布线指导
有了前文的叙述,我们已经具备了RGMII Layout的思路,主要就是以下几项:
- 创建2个等长组,分别参考TXC与RXC
- 如果MAC/PHY内部带有时钟延迟,则无需对时钟线做延迟
- 如果MAC/PHY内部均不具备时钟延迟,则需要对时钟线做延迟
等长规则的创建方式可参照:https://www.witimes.net/allegro-create-match-group/。
关于时钟线的延迟,以下几张图片可以很好地说明,分别对应PCB延迟,MAC+PHY延迟与PHY延迟。当然,选取那种方式取决于使用的MAC/PHY芯片。
RGMII在1 Gbit/s速率下的时钟频率可达125MHz,显而易见,RGMII Layout还需要遵守高速数字电路布线基本准则:
- 阻抗控制
- 2W/3W原则
注意,在射频与高速数字电路同时存在的设计中,不可能同时对射频走线及高速数字走线进行阻抗控制,这时请务必在RGMII所有走线上增加串联匹配电阻,摆放位置遵守源端匹配原则。
7. RGMII布线实例
下图是我司软件无线电平台SDR-B1的RGMII走线部分。


放大后,可以看到工程师在RGMII走线上预留的0欧姆串联匹配电阻,绕线处理,仔细一点还可以看出走线间距(Air Gap)在2倍线宽以上。
查看约束管理器,可以看到RGMII走线规则的各种设定。


由于SDR-B1大多是数字电路,所以将4mil走线的线宽设计为50欧姆,RGMII走线所用的线宽就是50欧姆。
其实,MII/RMII/GMII的Layout方式与RGMII很像,大家可以自行摸索。