以太网PHY需要通过以太网变压器,RJ45接口与外部设备进行连接,PHY与以太网变压器之间的接口称为MDI接口,也就是介质相关接口(这与MII是相对的)。百兆以太网模式下,MDI是2对差分线,千兆模式下是4对差分线。在部分PHY芯片的Datasheet或者应用手册中会给出MII/RMM/GMII/RGMII接口,MDI接口的等长规则,但是很少有厂家提到以太网变压器与RJ45之间的差分对等长规则。
在早期的产品设计中,无需特殊关照,RJ45与以太网变压器之间的差分对长度彼此相差不多,但是在近期的几款产品设计中,需要进行以太网防浪涌设计,导致差分对长度相差很多。由于对这部分等长规则不确定,也没有相应的资料可供参考,本人尝试过等长与不等长两种情况。
RJ45–以太网变压器差分对等长
下图中的PCb走线,如果左侧的差分对不进行蛇形走线,那么这两条差分线长度会相差很多。于是,为了不出问题,本人故意使两对差分线长度一致。细心的读者可能已经发现了,走线上出现了过孔,这是千兆以太网PCB走线的大忌之一,但是面对贴装的RJ45接口,就只能这样了。
RJ45–以太网变压器差分对不等长
再看下面的这张图,很容易看出,以太网变压器与RJ45之间的4对差分线一定不等长,当然,差分对内的两条线还是做了等长处理。
以上的两个案例都是本人亲自设计的,使用iperf进行以太网吞吐量测试(我没有条件使用SmartBits),结果如下:
Item | CPU内核 | CPU占用率 | 吞吐量 |
等长 | MIPS 74Kc | 99% | 340Mbps |
不等长 | PowerPC e500 | 36.5% | 940Mbps |
可想而知,如果不是受到CPU处理能力的影响,RJ45–以太网变压器之间的差分对等长与否不影响实际的吞吐量。当然,从这个表格中,可以明显看出PowerPC超强的网络处理能力,36.5%的CPU占用率只用到了一个核,另外一个核完全空闲。
比较靠谱的说法是这样的:
这4对MDI信号不需要做等长处理。为保险起见需要确认你的PHY是否具有差分对之间数据的自动对齐功能,以及PHY的FIFO有多深。
现在基本上可以确定,RJ45与以太网变压器之间的差分对不需要做等长处理。