ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

工业以太网PHY芯片选型与设计实战:从物理层到EMC排障

工业以太网PHY芯片选型与设计实战:从物理层到EMC排障 做工业网络这块的工程师看到这个标题基本都会心领神会说的就是PHY芯片Ethernet物理层收发器。MAC层负责把数据打包、解包真正干粗活的是把数字比特变成双绞线上那对电信号、把远端送来的模拟信号再还原成0和1这个角色就是Physical-Layer transceiver。工业场景下用的PHY跟消费级路由器里那些通用PHY完全不是一码事它要扛得住宽温、浪涌、电压跌落、乱七八糟的电磁干扰还要连续跑几万小时不抽风。这篇文章我把从选型、硬件设计到寄存器配置、现场排障这几块的实战经验都整理出来正在用或者准备用工业级Ethernet PHY做产品的朋友可以直接参考。1. 为什么工业现场要专门挑工业级Ethernet PHY收发器1.1 物理层在以太网链路中干的是什么活搞清楚PHY之前先理顺一条以太网链路的完整链路。从CPU或者FPGA里出来的数据先经过MAC控制器MAC负责组帧、寻址、校验这些“逻辑层”工作。但MAC管不了“电”的事它输出的只是并行数字信号得靠PHY把它变成适合在铜缆或者光纤上长距离传输的物理信号。PHY要做的事情包括数据编码、并串转换、线路驱动、接收端的均衡、时钟恢复、载波侦听以及链路状态检测。拿100BASE-TX来说PHY要把MAC过来的4比特数据做4B/5B编码然后再经过MLT-3电平调制最后以125Mbit/s的速率往线缆上送千兆百兆在编码和调制上又不一样1000BASE-T用的是PAM5调制而且要用到4对线同时收发。打个比方MAC是发货仓库PHY就是快递车。仓库只管把包裹码放整齐怎么在高速公路上跑、怎么避开路障、到了目的地怎么确认收货地址那是快递车的事。没有一颗靠谱的PHY再强大的MAC也是一堆空转的逻辑。很多人容易把“以太网控制器”和“PHY”混在一起说甚至有人以为板子上放个RJ45座子就能出网口。实际上现在绝大多数处理器和FPGA里集成的都是MAC不是PHY。需要外挂一颗PHY芯片中间通过MII、RMII、GMII、RGMII这类接口连起来再用MDIO/MDC两根管理线对PHY做配置和状态读取。这就是为什么工业以太网设计里PHY选型会单独作为一个大项来讨论。1.2 工业级与商用级PHY的实际差异在哪同样叫PHY消费级和工业级的差价能差出好几倍贵的不是没有道理。工业级PHY在几个维度上和商用型号拉开了差距。第一是温度范围。商用级一般是0℃到70℃工业级普遍是-40℃到85℃更狠的能撑到-40℃到105℃甚至-55℃到125℃。别小看这几十度硅片在高温下的漏电、闩锁效应低温下的晶振起振、驱动能力衰减都直接决定了设备扔到北方冬天室外或者南方夏天闷热的配电柜里还能不能稳定link住对端。第二是电磁兼容和抗扰能力。工业现场有变频器、伺服驱动器、大功率开关电源这些设备产生的EMI很凶。工业级PHY在PHY芯片内部会强化ESD结构对外部浪涌、电快速瞬变脉冲群有更高的承受等级配合变压器和防护电路能过IEC 61000-4-2、IEC 61000-4-4、IEC 61000-4-5这些常见的工业EMC项目。第三是诊断功能。新一代工业级PHY普遍带线缆诊断TDR能检测出线缆开路、短路、断点距离现场维护时能直接判断问题是出在设备还是出在网线这个在设备分散的工厂里非常实用。商用PHY大部分没有这种功能或者做得很简陋。第四是生命周期和供货。工业设备往往要卖五到十年商用消费级PHY可能两年就停产换料工业级的生命周期管理会更规范。这决定了一个产品能不能长期量产牵涉到供应商是否会承诺十年以上的供货周期。选型调研时如果把眼光只放在“能不能通网”这一个点上后面量产、认证、售后会吃不少亏。2. 选型时最该盯住的6个关键指标2.1 速率、接口类型与MAC侧配合先说速率。工业现场目前用得最多的还是10/100M比如PLC之间、HMI和控制器之间这类应用100M完全够用但是机器视觉、高速数据采集这类场景千兆甚至2.5G、5G的PHY开始在增多。选型之前一定先算清楚业务带宽峰值是多少不盲目追求高速因为速度越高PCB设计难度、功耗和成本都会跟着上去。接口类型是另一个重头戏。PHY和MAC之间的接口结构直接决定了硬件连线复杂度和FPGA引脚占用接口类型数据宽度时钟频率适用速率特点MII4位25MHz / 2.5MHz10/100M引脚多老协议RMII2位50MHz10/100M引脚减半需要50MHz参考时钟GMII8位125MHz1000M引脚多千兆常用RGMII8位125MHz DDR10/100/1000M双沿采样引脚相对少SGMII串行1.25Gbps1000M引脚极少需要SerDes实际项目里MCU通常集成MAC选接口类型时要看MCU支持什么。FPGA做MAC的话比较灵活像Xilinx FPGA里常见的MicroBlaze软核以太网子系统、m2s090t这类带fabric以太网配置的方案通常建议走RGMII速率高、引脚少、时序还能软件调。而如果设计目标是100G/10G/25G这种高速以太网子系统那PHY层面就是光模块加SerDes的事根本不是传统意义上的工业PHY不在这次讨论范围。选型第一步先把接口类型和MAC侧能力对齐否则芯片再强也接不上。2.2 温度范围、可靠性认证与寿命温度范围直接按设备使用环境定。放在厂房里的设备-40℃到85℃是保险选择如果是车载、轨交或者野外控制柜建议直接看-40℃到105℃甚至更高的档位。这里有个坑有些芯片标的是“结温范围”而不是“环境温度范围”两者差的是封装热阻带来的温升。选型时要先确认手册标注的是Tj还是Ta防止到现场发现高温宕机。可靠性认证方面工业产品一般看有没有经过AEC-Q100这类车规等级的可靠性测试虽然不是强制要求但做过车规认证的芯片在失效率控制上会好一个档次。另外还要关注MTBF数据、晶圆工艺、封装成熟度。功耗也要算进去100M PHY一般也就几百毫瓦千兆PHY到1瓦左右密闭金属壳体内要考虑散热。供电方面多数PHY是单3.3V供电内部产生核心电压也有少数需要1.0V、1.8V等多路供电电源树会复杂一些选型时尽量选单电源方案降低板级设计负担。实际经验里有些PHY在数据手册上写的温度范围达标但在-40℃冷启动时晶振起振时间变长表现得像是PHY上电初始化失败。这个不只是PHY本身的锅跟晶体选型和PCB布局关系很大后面单独说。2.3 EMC防护、浪涌能力和线缆诊断工业级PHY和普通PHY在端口防护等级上的差距直接体现在EMC测试的通过率上。选型时要看芯片内部的PHY-side ESD等级有的做到HBM ±8kV配合外部的网络变压器和TVS整机能轻松过±4kV接触放电。浪涌方面建议选内部带增强型浪涌保护的型号尤其是用在户外、长线缆、雷雨多的场合外部再加保护电路双保险。线缆诊断功能非常值得强调。以前在工厂排查网络故障最头疼的是不知道断点在哪儿。设备在机柜里网线可能走桥架、穿线管跑个几十米。普通PHY只能告诉你link掉了至于线缆是断了还是短路了还是接触不良完全没信息。带TDR线缆诊断的PHY可以算出发送脉冲到反射点的时间进而算出断点距离现场维保效率会高很多。如果是维护存量设备这个功能不一定用得着但做新产品强烈建议把带诊断功能的型号列为候选。另外一个工业现场容易被忽视的能力是MDI/MDIX自动翻转。现在的工业交换机基本都支持自动交叉PHY支持Auto-MDIX之后工程布线时网线做直连线还是交叉线就无所谓了减少现场搞错线序的低级错误。3. 硬件参考设计变压器、匹配端接与PCB布线3.1 网络变压器的选型与中心抽头接法PHY芯片和RJ45之间必须要有网络变压器这不是可选项。它承担三个作用隔离、共模抑制、阻抗变换部分变压器是变比1:1也有1:1.414的。隔离解决的是不同设备地电位差的问题两个现场设备之间如果地电位不一致直接连会形成地环路电流轻则丢包重则烧PHY。变压器把PHY侧的信号耦合到线缆侧中间的直流分量和共模噪声被隔在两边之外。选变压器时先看PHY厂商参考设计推荐哪一类。常见的有分离式变压器加共模电感方案也有集成式RJ45连接器RJ45 with magnetics。集成式的能用一颗器件把变压器、共模电感、端接电阻都封装进RJ45座子里PCB设计简化很多缺点是成本略高、体积大而且故障时换的是整个座子。分离式方案灵活走线可控性更高EMC调试时也有更多调整空间。中心抽头的接法是最容易踩坑的地方。不同PHY芯片的内部结构不一样有的要求中心抽头接电源比如3.3V有的要求通过电容接地有的要求接一个偏置电压。绝对不能凭经验“一律接3.3V”或者“一律接地”必须以datasheet的参考电路为准。接错了最典型的现象是link时有时无或者传输误码率高但又不是完全不能用排查起来相当费时间。3.2 Bob Smith端接和阻抗匹配计算RJ45侧的差分对必须做阻抗匹配。以太网双绞线特性阻抗是100ΩPCB上差分走线也要按100Ω差分阻抗来设计。变压器内部或外部通常还要做Bob Smith端接它是由几个电阻和一个高压电容组成的网络接到RJ45的每对差分线和外壳地之间作用是匹配共模阻抗、抑制共模噪声、泄放静电和浪涌。这里把数值讲清楚。Bob Smith接法的常用阻值是75Ω为什么不是100Ω也不是50Ω因为三对未使用的线对和信号对组合之后等效共模阻抗接近75Ω用75Ω做共模端接可以和线缆的共模阻抗匹配。同时这个75Ω端接网络通过一个高压电容接到机壳地让高频共模干扰有低阻抗泄放路径而直流和工频分量被电容隔离不会形成地环路。耐压方面这个电容通常选2kV以上电容值一般在1000pF到2200pF之间太小了高频泄放效果差太大了工频漏电流可能变大。具体选多大建议参考PHY厂商评估板。有的集成式RJ45把Bob Smith网络都内置好了外部不用操心分离式方案才需要自己搭。3.3 PCB布线中的差分对、隔离带与地平面处理PHY和变压器之间的布线以及变压器到RJ45之间的布线是两段不同性质的路。PHY到变压器这一段通常是芯片内部已经做了端接走线要求相对宽松但依然要按差分线来走且尽量短。变压器到RJ45这一段才是真正意义上要严格做100Ω差分阻抗的地方因为外部网线的阻抗基准是100Ω这段PCB走线如果不匹配到了高频段信号反射会很严重反射回到PHY接收端的信号会影响到接收机灵敏度误码率直线上升。差分对的具体处理有几个硬指标线宽线距按叠层计算保证差分阻抗100Ω误差控制在±10%对内等长误差尽量控制在5mil以内这个对千兆PHY尤其重要不同差分对之间拉开间距至少3倍线宽以上减少串扰差分对下方要有完整的地平面一旦参考平面被割裂阻抗就断了这是很多所谓“千兆link但copy文件超慢”问题的根源。隔离带和地平面的处理是EMC的重头戏。变压器下方要挖空把PHY侧的地和线缆侧的机壳地物理隔开中间只通过高压电容连接。PHY芯片的电源引脚要做LC滤波磁珠加电容是常见做法。RJ45外壳地和机壳地要单点接地不能和数字地大面积连在一起。这些细节看起来零碎但到做辐射骚扰测试的时候它们就是决定过与不过的分水岭。4. 驱动与链路协商细节PHY地址、自协商与RGMII时序4.1 上电前就要确认的strap引脚和PHY地址PHY芯片和MAC之间除了数据通路还有MDIO/MDC两根管理线。MDIO是双向的一条线上可以挂多个PHY通过PHY地址来区分。这个PHY地址不是软件里随便配的而是由芯片的strap引脚在上电复位时锁存决定的。strap引脚通常由上拉/下拉电阻配置有的PHY用4位地址引脚也就是最多挂16颗。上电前一定要把strap引脚的配置核对清楚。常见问题有两种第一种多个PHY挂了同一个地址MDIO读写时信号冲突导致配置写入时而成功、时而失败表现出来就是PHY状态不稳定。第二种strap引脚悬空芯片内部默认电平不确定导致上电后PHY工作模式不是设计预期的。比如明明设计的是RGMII结果因为strap没拉对芯片跑成了GMII模式MAC和PHY接口方式对不上数据完全不通。strap不仅仅决定地址还决定工作模式、接口类型、时钟方向、这对调试来说是一个排查重点。硬件拿到手之后建议先按datasheet里的strap配置表逐个量一遍引脚电平确认上电后PHY的工作模式确实和设计一致再进入软件调试。4.2 自协商、强制速率与MDI/MDIX调整以太网默认会做自协商PHY和对端通过FLP脉冲交换能力信息双方协商出速率、双工模式。自协商机制本身很成熟但工业场景里我见过不少问题对端设备是老旧交换机自协商能力不标准两边协商不上结果端口指示灯不亮。或者协商到半双工流量一大就疯狂冲突丢包和延迟飙升。工业应用里很多人会选择强制速率和双工模式不让它协商。比如PLC控制器和伺服驱动器之间明确固定100M全双工配置成Auto后虽然也能工作但偶尔会因为对端某种原因重新协商引入几十毫秒的断链这在运动控制里是不能接受的。强制模式需要两边设备一致如果一边强制100M、一边自协商容易协商失败或者降级到10M反而不如都开自协商稳定。MDI/MDIX自动翻转也比较关键。过去直连两台设备得用交叉线现在的PHY基本都支持自动翻转无论网线做的是直连还是交叉都能自动适应。在支持自动翻转的PHY上如果还有个“MDI/MDIX状态”寄存器可以用来判断对端设备是不是交换机或者同类设备对现场故障定位有辅助作用。4.3 RGMII时序偏移的软件补偿RGMII这个名字里的“R”指的是Reduced8位数据线加双沿时钟在125MHz时钟下上升沿和下降沿各采一次等效250Mbit/s的传输率实现千兆速率。双沿采样带来的问题就是时序裕量紧张对PCB等长要求极高但PCB走线实际很难做到完全等长所以PHY和MAC两侧普遍支持TX/RX delay补偿功能。RGMII有两个方向的delay要处理TX方向是MAC发数据给PHYRX方向是PHY发数据给MAC。规范要求数据相对于时钟有一个至少1.5ns到2ns的延迟这个延迟可以通过硬件走线长度来凑也可以通过软件配置PHY内部的delay链来加。具体配置每个厂商寄存器位置不一样有的在扩展寄存器有的在strap引脚。我在项目里遇到过这样一个事情用FPGA的fabric以太网配置去做RGMII接口上板之后发现能link但ping包丢得一塌糊涂。抓信号看数据和时钟的建立保持时间接近临界值后来通过MDIO把PHY的RX delay开起来再把FPGA的IDELAY调长丢包立刻消失。这个问题在硬件上没有错误纯粹是时序裕量不够软件里面调几个寄存器就解决但如果不了解这个机制可能在PCB改版上浪费两周。5. 实盘调试中遇到的4个典型问题排查5.1 链路完全不能建立链路灯不亮是最常遇到的故障。排查步骤我通常按这个顺序来做。第一步确认供电。先用万用表量PHY各电源轨电压是否正常特别要确认核心电压有没有起来。某些PHY对核心电压的上电顺序有要求乱序上电可能造成芯片锁死表现为电流异常但寄存器读不出来。第二步测晶振。用示波器探PHY的时钟输入引脚确认频率和幅度正常幅度不够或者波形畸形PHY内部PLL无法锁定link当然建立不起来。第三步检查strap引脚。PHY地址和接口模式如果不对MAC根本管不到PHY。第四步查网络变压器和RJ45焊接。虚焊、连锡、变压器pin定义插反都是常见问题。一个容易忽略的点有些PHY芯片的电源引脚有多个分别给模拟和数字供电调试时只量了数字电源模拟电源没接或者被磁珠隔离后电压异常也会导致PHY完全没有反应。所以第一步的电源检查要把所有电源轨都量到包括模拟电源。5.2 偶发断链与误码率偏高这种问题最恼火因为不是“完全不能用”而是“用着用着掉线过一会自己恢复”。排查时先从环境因素入手看现场是否有大功率设备在断链的时刻启动。变频器启动瞬间会有很强的电磁干扰如果PHY端口防护没做好干扰灌进来会打断linkPHY进入恢复状态。再看电源纹波。PHY对电源噪声敏感尤其在高负载时开关电源的纹波叠加到PHY的模拟电源上接收灵敏度和发送信号质量都会下降。示波器量PHY电源脚纹波控制在50mV以内比较稳妥。如果纹波超标加LC滤波或者在PHY电源附近增加去耦电容。线缆和连接器也要检查。工业现场经常有人用自己压的水晶头线对开绞长度太大、压接不好会导致近端串扰超标link能通但误码率高。换一根工厂做的成品网线对比测试是快速判断问题在设备还是线缆的方法。如果手里有一台带线缆诊断功能的PHY设备可以直接读出线缆质量信息这个功能在现场排障时简直是神器。5.3 低温环境下起不来或掉链低温问题在北方项目里经常冒出来。表现是设备在室温下一切正常到低温箱里或者冬天户外上电网络起不来或者运行一段时间后突然断链。大概率问题出在晶振。晶振在低温下起振困难原因包括负载电容和晶体不匹配导致负阻余量不足晶振本身等效串联电阻偏大PCB受潮在低温下形成微小漏电流。解决路径有几条选低ESR的工业级晶振负载电容按手册推荐值贴装必要时在晶振反馈电阻上加大阻值来增加起振能力。还有一个环境因素值得重视低温下连接器塑料件收缩RJ45接触不良的概率上升这种机械问题在实验室常温下很难复现但在工业现场很常见。如果低温掉链总是出现在靠近机柜外壳的位置优先怀疑连接器。5.4 通过MDIO寄存器快速定位问题会读PHY寄存器能省去大量盲猜时间。MDIO访问PHY的基本寄存器是标准化的地址0x00是控制寄存器0x01是状态寄存器0x02/0x03是PHY ID0x04是自协商通告0x05是自协商链路伙伴能力。实际调试时我最常看的是0x01的bit2Link Status以及0x01的bit5自协商完成位。需要注意一个经典问题Link Status位有锁存行为链路断开过一次之后即使现在恢复了这个位还是保持断开状态需要读一次寄存器清除锁存才能反映当前状态。如果程序里没有清除锁存就判断链路状态会得到错误的故障指示。工业设备里的指示灯一直显示断链但网络实际是通的往往就是这个原因。用MDIO去高速读取帧计数、CRC错误计数、符号错误计数这类统计信息可以判断误码是发生在物理层还是上层。如果PHY侧错误计数在涨说明物理层质量差如果PHY侧干干净净但应用层在丢包问题就在MAC或者上位机协议栈。6. 最后聊一点个人体会做了这么多年工业联网设备我对PHY的一个感受是它是一个“平时感觉不到存在一旦出问题就很致命”的器件。硬件上把电源、晶振、变压器、布线这些基础工作做扎实软件上把strap、自协商、时序这些配置调对看起来都是些不起眼的活儿真正的价值体现在设备投运之后。设备在工厂里稳定跑两三年没有人会记得你调过什么寄存器但如果在现场因为一颗PHY的选型失误导致批量产品返工这个教训会记得很久。如果让我给一个选型上的建议还是那句话不要只看能不能link通要把温度范围、EMC能力、诊断功能、供货周期放在一起评估。尤其是做大批量工业设备的朋友一颗多花十块钱的工业级PHY换回来的是售后电话少响一半这笔账是划算的。最后一个小小的经验新板子回来第一件事不要急着跑业务代码先把MDIO读通、把PHY ID读出来这颗芯片已经成功了一半。
返回列表