4、以太网PHY芯片详解:PHY芯片工作原理,MII/RMII/RGMII接口区别,Auto-Negotiation机制,车载PHY的特殊要求(-40℃~125℃)
好,咱们进入第四讲。今天聊PHY芯片。
说实话,PHY这玩意儿,看着不起眼,但坑特别多。我当年刚入行时,觉得PHY不就是个物理层收发器嘛,随便选一个就行。结果呢?项目做到一半,发现EMC过不了,温度一高就丢包,最后不得不换方案,板子重做,那叫一个惨。所以,今天咱们把PHY掰开了揉碎了讲清楚。
4.1 PHY芯片工作原理:它到底在干什么?
PHY,全称是Physical Layer,物理层。它的任务说白了就两件事:发送时,把MAC层送过来的数字信号变成模拟信号扔到网线上;接收时,把网线上的模拟信号变回数字信号交给MAC层。
具体流程是这样的:
- 发送路径:MAC通过MII接口把并行数据发给PHY → PHY内部做编码(比如100BASE-TX用4B/5B编码,1000BASE-T用4D-PAM5) → 然后做扰码、串行化 → 最后通过DAC变成差分模拟信号,经变压器耦合到RJ45接口。
- 接收路径:网线过来的模拟信号 → 经过ADC采样 → 均衡器补偿信道损耗 → 时钟恢复(CDR) → 解码 → 并行数据送回MAC。
核心要点:PHY内部有个关键模块叫CDR(时钟数据恢复)。它要从接收到的数据流里提取时钟。如果CDR性能不好,信号抖动一大,就会误码。我在项目中遇到过,某款PHY在长距离传输时频繁丢包,最后发现是CDR的抖动容限不够,换了另一家PHY就好了。
4.2 MII / RMII / RGMII 接口区别:怎么选?
这是MAC和PHY之间的接口。很多新手搞不清,我直接给个表格,一目了然。
| 接口类型 | 数据位宽 | 时钟频率 | 引脚数(约) | 适用场景 |
|---|---|---|---|---|
| MII | 4位 | 25MHz(100M)/ 2.5MHz(10M) | 16~18 | 老设计,引脚多,不推荐新项目 |
| RMII | 2位 | 50MHz | 9~10 | 引脚少,适合低成本、低速率(100M) |
| RGMII | 4位(DDR) | 125MHz(DDR,等效250Mbps) | 12~14 | 千兆以太网主流接口 |
MII:最古老的接口。引脚多,布线麻烦。现在基本没人用了。除非你维护的是十几年前的老产品。
RMII:Reduced MII。把数据线从4根减到2根,时钟统一用50MHz。好处是引脚少,PCB好走线。但注意,RMII要求MAC和PHY共用一个50MHz参考时钟,而且这个时钟必须同源。我见过有人把两个晶振分别给MAC和PHY,结果死活不通,查了半天才发现是时钟不同步。
RGMII:Reduced Gigabit MII。千兆以太网的首选。它在时钟的上升沿和下降沿各采一次数据,所以4位数据线就能达到千兆速率。但RGMII对PCB走线等长要求很高,尤其是时钟和数据线之间的skew。我个人习惯,RGMII的时钟线和数据线长度差控制在±50mil以内,否则高速信号容易出问题。
我的建议:新项目做百兆以太网,优先选RMII;做千兆,直接上RGMII。别再用MII了,除非你引脚多到用不完。
4.3 Auto-Negotiation机制:自动协商,没那么神秘
Auto-Negotiation,自动协商。说白了就是两个PHY设备插上网线后,互相喊话:「兄弟,你支持什么速率?全双工还是半双工?流控开不开?」然后双方选一个双方都支持的最高性能模式。
它的工作流程是这样的:
- 上电或链路断开后,PHY开始发送FLP(Fast Link Pulse)脉冲。
- FLP里包含一个Base Page,里面编码了本端的能力:速率、双工模式、流控等。
- 对方收到FLP后,解析出对方的能力,然后和自己能力做交集。
- 双方协商出一个共同的最佳模式。比如一个支持10/100/1000M,另一个只支持10/100M,那就选100M全双工。
- 协商完成后,Link Up,开始正常通信。
注意:Auto-Negotiation不是万能的。我曾经遇到一个坑:某款车载PHY和某款工业交换机对接,死活协商不到千兆。后来抓包分析,发现是对方的FLP脉冲幅度偏小,我这边的PHY接收灵敏度不够,导致Base Page解析错误。最后在PHY寄存器里手动把协商阈值调低才解决。
另外,有些场景需要强制设置。比如在车载骨干网里,为了确定性,我们经常把PHY强制设为1000BASE-T1全双工,关闭自动协商。但要注意,强制设置时,两端必须完全一致,否则连不上。
4.4 车载PHY的特殊要求:-40℃~125℃,没那么简单
车载PHY和消费级PHY最大的区别,就是环境适应性。消费级PHY工作温度一般是0℃~70℃,工业级是-40℃~85℃,而车载级要求-40℃~125℃。
为什么这么严?因为发动机舱、刹车系统附近,温度轻松上100℃。而且车在冬天冷启动时,温度可能低到-40℃。PHY在这种环境下必须稳定工作。
除了温度,车载PHY还有几个特殊要求:
- EMC/EMI要求极高:车内电磁环境复杂,PHY不能干扰其他设备(如收音机、GPS),也不能被干扰。所以车载PHY通常有更强的共模抑制和ESD防护。
- 可靠性要求:消费级PHY偶尔断一下网,重启就好了。车载PHY不行,你想想看,高速行驶时摄像头画面突然断了,后果是什么?所以车载PHY通常有更严格的BER(误码率)要求,一般要求10^-12甚至更低。
- 支持车载专用协议:比如100BASE-T1、1000BASE-T1,这是单对双绞线的车载以太网标准。还有OPEN Alliance TC10标准,支持在休眠状态下通过特定信号唤醒PHY,降低整车功耗。
- 封装和散热:车载PHY常用QFN或BGA封装,底部有散热焊盘。PCB设计时一定要把散热焊盘通过过孔连接到地平面,否则高温下PHY会过热保护,直接断链。我见过一个案例,某Tier1的板子,PHY在85℃时频繁掉线,最后发现是散热焊盘没接地,铜皮直接烫手。
总结一下:选车载PHY,别只看数据手册上的温度范围。还要看它是否通过了AEC-Q100认证,是否支持TC10唤醒,EMC性能如何。我个人习惯,优先选Broadcom、Marvell、TI、NXP这些老牌厂商的车规级PHY,虽然贵一点,但省心。
嗯,关于PHY,今天就聊这么多。下一讲咱们进入交换机核心——MAC层和交换引擎,那才是真正烧脑的地方。