ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

以太网硬件设计全攻略:从PHY到变压器的核心要点

以太网硬件设计全攻略:从PHY到变压器的核心要点 1. 先弄明白整条链路MAC、PHY、变压器各自守住什么边界很多刚碰以太网硬件的人上来就是找原理图抄抄完打板回来发现link不上、丢包、偶尔断连然后开始怀疑芯片、怀疑晶振、怀疑变压器一通折腾之后才发现问题出在最基础的架构理解上。以太网硬件设计没那么玄但确实有条明确的分工链条MAC媒体访问控制层、PHY物理层收发器、网络变压器、RJ45连接器这一段从头到尾每个环节都有自己的职责边界哪个环节“越权”或者“失守”整条链路就出问题。1.1 为什么PHY不能省为什么变压器又必须在先聊个基础问题为什么MCU或SoC内部已经集成了MAC外面还要挂一颗PHY因为MAC处理的是逻辑层面的数据帧封装、寻址、CRC校验它输出的信号是数字逻辑电平比如LVCMOS这种电平既不能驱动双绞线上的差分信号也不具备长距离传输的抗干扰能力。PHY承担的是将数字码流转换为适合在铜缆上传输的物理信号同时负责编码比如100BASE-TX的4B/5B编码、1000BASE-T的8B/1B编码、时钟恢复、自动协商这些脏活累活。简单类比就是MAC是“写文章的人”PHY是“把文章念出来的播音员”双绞线是“传声筒”变压器就是“隔音墙”。那变压器又是干什么的以太网线缆是双绞线外部环境里可能存在共模干扰、地电位差如果PHY芯片直接和线缆相连外界干扰就会顺着线缆灌进PHY轻则误码重则烧芯片。网络变压器内部就是一对耦合线圈利用磁耦合传递差分信号把PHY和外部线缆在电气上隔离开共模干扰在变压器这儿就被挡掉了直流分量也被隔离同时它还提供了一定的阻抗匹配作用。所以只要走的是铜缆双绞线这个变压器基本不能省省了就是拿芯片寿命和信号质量开玩笑。1.2 MAC与PHY之间的接口选型MII/RMII/GMII/RGMII/SGMIIMAC和PHY之间的接口选型直接决定PCB走线密度、引脚数量、时钟频率每个项目都要在这个环节花不少时间。下表是我常用的一组对比抄作业的人可以直接参考接口数据位宽时钟频率引脚数约典型应用MII4位25MHz1610/100MMCU常用RMII2位50MHz7~810/100M引脚紧张场景GMII8位125MHz241000MFPGA/SoC常用RGMII4位125MHzDDR12~131000M引脚与性能平衡SGMII1位串行625MHz/1.25Gbps4~5千兆/交换机高速背板这里重点提醒两个容易出问题的地方第一MII和RMII虽然都能跑10/100M但RMII把时钟统一到50MHz由MAC侧提供或外部晶振提供省了引脚但要求MAC和PHY的时钟严格同步如果两边参考时钟源不一致会出现偶发错包。我做过一个项目MCU侧用内部PLL提供50MHzPHY用外部25MHz晶振倍频结果丢包率0.01%左右单个看问题不大但跑长时间压力测试就露馅了。后来改成统一由同一颗有源晶振分出时钟问题立刻消失。所以RMII场景下时钟源选择必须作为硬件设计的一部分不能等layout完再想。第二RGMII在千兆模式是DDR采样时钟上升沿和下降沿都采数据对PCB走线等长要求极高一般要求DATA与CLK的skew控制在几百ps以内layout时必须做等长处理跑仿真时也要把引脚封装寄生电容算进去。很多人在RGMII上翻车不是因为原理图错误而是等长没做到位导致时序裕量不够。2. PHY芯片选型与实际外围电路设计PHY选型是个反复权衡的过程。市场上主流厂商就那么几家各家的寄存器接口、功耗、封装、温度等级、汽车等级各不相同。这里不打算列具体型号清单因为产品迭代太快我更想把选型时容易忽略的几个判断维度讲清楚。2.1 选PHY时不只看速率更要看接口和封装很多人选PHY先看速率10/100M还是千兆但实际项目中更要紧的是MAC接口类型能不能和你的主控对上。如果你用的是带RGMII接口的SoC却选了一颗只支持MII的PHY那就意味着速率上限被卡在100M反过来PHY支持RGMII但主控引脚分配不足也是很尴尬的事。所以第一步永远是先确认主控MAC侧支持哪些接口再倒推PHY的范围。封装和温度等级同样关键。消费级PHY通常是QFN封装尺寸小、成本低但工作温度范围只有0~70℃如果产品要做车载前装或工业现场必须选汽车级AEC-Q100认证或工业级型号封装尺寸更大但可靠性完全不同。我之前见过一个项目用消费级PHY做工业网关夏天车间温度一上来link就开始频繁断开换了工业级之后稳如老狗。这个经验没什么技术含量但就是能省下后期大量售后成本。还有一个容易被忽略的是PHY的MDIO地址和中断引脚。MDIO地址一般通过芯片的PHYAD[4:0]引脚上下拉配置多个PHY挂同一条MDIO总线时地址必须错开。上拉/下拉电阻取值要参考数据手册通常4.7k~10k但有些芯片内部已经有弱上下拉外部再加强上下拉反而会导致配置电平不对。这个细节我在量产时踩过坑芯片内部默认PHYAD0外部又下拉了一个1k电阻想强制为0结果总线驱动能力不够MDIO通信时好时坏。2.2 晶振与参考时钟最容易翻车的两个引脚PHY正常工作离不开参考时钟但参考时钟从哪里来不同PHY有不同讲究。大多数百兆/千兆PHY需要25MHz参考时钟。时钟来源有两种一是外接25MHz无源晶振加PHY内部振荡电路二是由主控或其他时钟芯片提供25MHz有源时钟输入。这两种方式我都用过经验如下无源晶振方案电路简单、成本低但起振时间较长而且晶振的负载电容必须严格按照PHY数据手册选一般12pF~20pF不等。选错了负载电容会导致频偏频偏超过±50ppm就可能出现link性能下降。有源时钟方案起振快、频偏可控但多一路电源滤波布局时时钟走线必须短而直远离电感和大电流走线。用有源时钟作参考输入时要特别留意那个时钟脚的直流电平要求。有些PHY的参考时钟输入内部有偏置电路可以直接AC耦合有些则要求DC耦合且电平匹配。这个细节直接看数据手册的参考电路不要自己想当然。我曾经见过有人把LVCMOS时钟直接怼到需要差分时钟输入的PHY上结果只是不工作查了半天才发现接口不匹配。2.3 配置引脚、地址和复位时序PHY芯片的很多工作模式是通过外部引脚上下拉确定的包括速率模式强制100M还是自适应、Master/Slave角色、MDIO地址、中断使能等。这些引脚通常也是LED输出、测试模式引脚复用来的。硬件设计时要把这些引脚配置明明白白写进原理图注释不要只画个电阻上去就完事。复位时序是另一个高频翻车点。PHY在上电后需要经历上电复位或外部复位内部寄存器才会加载默认值。外部复位引脚一般在低电平复位结束后有一个t_reset时间PHY才能正确响应MDIO访问。有些MCU上电后立刻就去读PHY寄存器结果读回0xFFFF或者随机值大概率就是复位还没结束。我常用的做法是MCU的GPIO控制PHY复位脚上电后至少延时10ms再释放复位释放后再等至少1ms再去访问MDIO。这个时间参数不同芯片有差异但“宁多勿少”是通用原则。复位脚的RC延时电路有时会出问题如果RC时间常数太小上电瞬间PHY还没准备好复位就结束了如果RC时间常数太大MCU已经去读寄存器了PHY还在复位中。所以有条件的话尽量用GPIO控制复位时序比硬件RC更可靠。3. 网络变压器与RJ45侧电路的精髓很多硬件工程师对PHY这一侧比较熟悉一到变压器和RJ45这块就开始照着评估板抄。评估板当然能抄但为什么这么接、哪些地方能改搞清楚之后才不会在量产时被绕线、共模电感这些小东西坑到。3.1 变压器的电气角色与磁隔离原理网络变压器本质上是1:1传输线变压器核心作用是电磁隔离和共模抑制。以典型的1000BASE-T变压器为例内部有四个通道每个通道都有对应的一组差分线圈。信号通过磁耦合从初级传到次级直流电位不互通这就隔断了两边的共模电压和地环路。选择变压器的时候主要看几个参数传输速率等级10/100M或千兆、匝数比一般是1:1发射和接收通道的相位关系、插入损耗、回波损耗、隔离耐压通常1.5kVrms或更高。速率等级选错是大问题用百兆变压器跑千兆眼图直接闭合。变压器厂商会提供不同速率等级的系列型号选型时看清楚datasheet首页的速率字样即可。还有一个关键点是chassis ground机壳地的处理。RJ45连接器的金属屏蔽壳通常通过高压电容常见2kV/1000pF或2000pF和机壳地相连同时机壳地再通过一个大电阻如1MΩ连接到电路板的地。这样做的目的是把高频干扰泄放到机壳同时不让机壳地和电路板地之间形成大的直流环路电流。如果直接把机壳地和电路板地大面积短接容易引入地噪声如果完全不接屏蔽层就成了悬浮天线辐射问题会更严重。3.2 中心抽头与Bob Smith端接千兆变压器次级侧的中心抽头Center Tap接法非常讲究。不同PHY芯片数据手册会给出两种典型接法一种是中心抽头通过电容接地另一种是中心抽头直接接一个特定电压通常是电源或地。Bob Smith端接是用在RJ45侧的经典端接方式。具体做法是在RJ45引脚侧的每一对差分线的中心抽头之间接一个75Ω电阻三个电阻星形连接后再通过一个电容如1000pF接到机壳地。这个网络的作用是给共模干扰提供一个低阻抗泄放路径同时改善回波损耗。做千兆设计时Bob Smith端接基本是标配不做的话EMI和回波都会变差。这里提供一套我常用的千兆变压器侧参考参数变压器初次级间电容越小越好通常几十pF以内次级中心抽头到地电容常用0.1μF或0.01μF根据PHY手册选RJ45侧Bob Smith电阻75Ω×3星形连接连接机壳地的高压电容1000pF~2200pF耐压≥2kV机壳地到电路板地电阻1MΩ3.3 静电和雷击防护怎么加以太网接口长期暴露在设备外部雷击浪涌和静电放电是两大杀手。防护器件的位置和参数直接影响防护效果。TVS管瞬态电压抑制二极管一般放在变压器次级靠RJ45侧或初级靠PHY侧具体位置取决于设计目标。如果要保护PHY芯片TVS放在变压器初级PHY侧更直接如果要抑制线缆引入的浪涌放在RJ45侧更合理。工程上通常变压器两侧各放一组次级侧用响应速度快的TVS初级侧用钳位电压更接近PHY承受极限的TVS。共模电感也是常见器件串联在变压器和RJ45之间用来抑制共模噪声。注意共模电感的额定电流必须大于实际工作电流100BASE-TX大约是100mA级别但POE供电场景要看具体功耗感值太大会导致信号边沿变缓眼图变差。静电测试时大家常遇到的一个问题TVS管的钳位电压选得太接近PHY的极限耐压浪涌一来TVS还没完全导通PHY已经挂了。所以选TVS时至少留30%的裕量。另外TVS管的PCB走线要短必须是“先过TVS再过变压器”的顺序如果走线长了等效电感会影响TVS响应速度。4. 差分对布线硬件设计的硬功夫原理图再正确PCB布局布线不行以太网照样跑不起来。差分对布线是嵌入式工程师最容易眼高手低的地方。很多人觉得差分就是两根线并行走实际上并行走只是最基本的动作可制造性和信号完整性要同时考虑。4.1 为什么以太网布线要一根一根算阻抗以太网双绞线侧的差分阻抗是100ΩMAC与PHY之间的接口通常不需要严格做差分阻抗低速并行信号除外但PHY到变压器、变压器到RJ45的差分走线业界标准是控制在100Ω±10%。这个阻抗能不能做到取决于叠层结构和线宽线距不是layout时随便画两根线就能出来的。以常见的4层板为例如果差分线走在表层参考平面为第二层GND线宽5mil、线距5mil差分对内间距用常规FR4板材介电常数4.2~4.6大概可以做到90~100Ω。要精确就得上阻抗计算软件Polar SI8000或Saturn PCB Design Toolkit计算时要注意填对叠层厚度、铜厚、阻焊厚度这些参数。很多人算出来不对是因为阻焊层的介电常数没有填进去表层走线的阻抗受阻焊影响很大。我建议的叠层方案是L1信号层差分走线优先放这层L2完整GND平面L3电源平面尽量完整L4信号层次要走线这样保证差分线下方参考平面连续阻抗可控。4.2 布线顺序与空间隔离处理以太网布线不能只盯着差分对本身更要看周围环境。我踩过最大的坑是差分走线跨分割。有一次为了绕开电源走线差分对从L1跨到L2再跨回L1跨分割的地方参考平面不连续阻抗突变反射加大结果千兆链路的误码率明显升高。后来重新调整布局让所有以太网信号都走L1下方L2是完整的地平面问题立刻解决。布线顺序上我一般这样安排先把PHY、变压器、RJ45的相对位置摆好缩短差分走线长度再规划电源和地保证L2地平面完整然后走PHY到变压器的差分线再走变压器到RJ45的差分线最后处理MDIO、时钟、复位等低速信号差分对内等长是必须做的。百兆以太网CMOS电平信号速度不算高对内等长要求通常在5mil左右千兆RGMII数据信号要求更严。常用做法是走蛇形线补偿长度差但蛇形线不能绕得太密间距要满足3W规则蛇形线间距≥3倍线宽否则相邻线段之间的耦合会引入额外的串扰。空间隔离方面以太网差分线两侧要尽量铺地铜地铜与差分线边缘保持至少3倍线宽的间距。差分线附近不要走电源时钟线尤其是开关电源的SW节点那个节点电压跳变剧烈耦合进来会直接影响信号质量。5. 让电源不拖后腿PHY供电与去耦设计以太网PHY本身功耗不大但电源设计不好导致的问题非常多link不稳、发热异常、性能下降。很多人做完layout才发现PHY区域很热误码测试怎么都过不了最后查到源头是电源纹波太大。5.1 电压轨的分配原则常见的百兆/千兆PHY内部有数字核心和模拟收发两部分有些还集成VCO压控振荡器对电源非常敏感。数据手册通常会给出多个供电引脚数字电源DVDD、模拟电源AVDD、IO电源VDDIO。设计时可以参考以下原则DVDD通常1.8V或1.0V给芯片内部数字逻辑供电对纹波要求中等AVDD模拟收发电路供电纹波要求最高一般要求峰峰值小于30mVVDDIO接口电源和MAC侧IO电平匹配比如3.3V或1.8V实际设计中DVDD和AVDD不要直接共用同一个LDO输出最好各用一路LDO或者在共用LDO时加磁珠和π型滤波进行隔离。磁珠选择要注意直流电阻和额定电流额定电流太小会导致电压跌落直流电阻太大同样会影响输出精度。我一般选600Ω/100MHz阻抗、额定电流200mA以上的磁珠RFB走线尽量短。电源布局顺序也很重要电源入口电容 → LDO → PHY电源引脚旁的去耦电容群整条路径要短而粗。PHY区域的地要直接打过孔到主地平面不要在局部形成“孤岛地”不然去耦效果大打折扣。5.2 去耦电容布局与布局要点去耦电容的数量不是越多越好而是越靠近电源引脚越好。以一颗千兆PHY为例每个电源引脚旁边都放一个0.1μF的MLCC再在PHY供电输入网络的总入口放一个10μF或22μF的体电容。0.1μF负责高频去耦体电容负责瞬态响应。高频去耦电容的摆放位置需要注意电容要放在电源引脚的同一面且尽可能靠近引脚电容到电源引脚的走线要短最好直接打过孔到电源平面不要在电容和引脚之间串过孔否则过孔电感会抵消去耦效果我曾经在评审别人的PCB时发现一颗0.1μF电容离PHY电源引脚有500mil远中间还穿了好几个过孔这基本等于没放。实测那个设计在100M速率下能工作但一跑辐射发射测试就超标把电容挪近之后低频段辐射立刻下降好几个dB。另外要注意PHY芯片的散热问题。QFN封装的底部一般有散热焊盘exposed pad原理图上要连到地PCB上要开相应的散热过孔阵列。有些工程师忽略了这个焊盘的连接导致PHY长期在高结温下工作寿命和稳定性都会受影响。散热过孔的孔径建议0.3mm左右间距1.0mm左右孔内不要塞油墨否则散热效果差。6. 硬件出来了却不通从寄存器到眼图的排查链路不管设计做了多少验证板子回来总会有问题。以太网硬件调试其实是个从宏观到微观的排查过程先确认物理层有没有建立链接再查数据链路层有没有错包最后才轮到信号质量眼图检查。很多人一上来就抓波形反而容易陷入局部。6.1 拆解一次link down的排查过程我印象最深的一次调试经历是这样的板子回来PHY芯片供电正常MDIO总线能读到寄存器但link一直起不来。快速判断链路是否建立可以读PHY的状态寄存器typical register 1bit 2为link status也可以用网线直连电脑看电脑网卡有没有识别到。当时读寄存器发现link status一直为0说明PHY没有检测到对端信号。接下来按顺序排查第一步用万用表量RJ45的差分对到变压器的通断确认没有虚焊或反接。 第二步检查变压器中心抽头的接法是否与PHY手册一致特别是发射通道的中心抽头电压。曾经见过把中心抽头接到地的设计导致发射信号直流电平不对链路完全不通。 第三步查PHY的配置引脚有没有被正确地上下拉。有几次问题是出在PHYAD引脚上原本该上拉的引脚由于电阻丢失变成低电平PHY地址变了软件读不到正确的寄存器。 第四步示波器观察PHY TX引脚输出波形。那次最后查出来是变压器的次级到RJ45的TXD和TXD-接反了。差分信号反接不会改变幅度但会直接影响链路握手因为百兆以太网用的是“菊花链”式的极性检测虽然部分PHY支持自动极性纠正但有些型号在强制模式下不会自动纠正。反接这一下让link完全起不来。把变压器次级的两根线对调之后链路立刻建立。这件事给我的经验是以太网差分线看起来是对称的但发射和接收通道的极性在设计中是有明确方向的。原理图评审时就该确认变压器次级到RJ45的TXD/TXD-和RXD/RXD-接线是否符合规范不要等板子回来才一个个试。6.2 用MDIO和示波器做正反向验证MDIO是管理PHY的窗口调试时一定要善用。常见工具是MCU读写MDIO寄存器或者用USB转MDIO调试器等工具直接挂在总线上。如果连MDIO都读不到说明PHY可能没正常工作先查复位、时钟、供电三个先决条件。读回寄存器之后关注以下状态位寄存器关键位含义register 0基本模式控制自协商/强制模式设置register 1bit2 link status链路是否建立注意部分PHY该位是锁存位读一次后需要重启自协商才能刷新register 1bit5 autoneg complete自协商是否完成register 4并行检测能力对端广播的能力register 5自协商对端能力对端支持的最高速率模式示波器主要用于两类测量一是测参考时钟频率和边沿质量二是测TX/RX差分信号波形。百兆以太网的信号是MLT-3编码三电平示波器上看起来像变了形的方波但只要有明显的电平跳变和稳定的周期就说明PHY在吐数据。千兆则是5电平的PAM2编码实际是4D-PAM5波形更复杂没有差分探头的话比较难看准有条件的建议用眼图仪直接看眼图。眼图测试是千兆以太网硬件的终极验证手段。眼图能直观反映信号质量和噪声裕量。如果眼图“眼睛”睁得不够大常见原因包括阻抗不匹配导致反射、参考地平面不连续导致串扰、电源纹波过大导致抖动。逐个排查时要用控制变量法一次只改一个条件。6.3 常见故障速查表下面是我在多个项目里提炼出来的以太网硬件故障速查表每次板子异常都可以按这个表定位现象可能原因排查动作完全无linkPHY供电/时钟/复位异常检查电源电压、时钟频率、复位时序完全无link变压器引脚接反核对TXD/RXD极性完全无link变压器中心抽头接法错误对照PHY手册确认中心抽头电压方向link时断时续差分阻抗突变检查差分线是否有跨分割或阻抗计算错误link能建立但丢包发射信号边沿过缓检查共模电感感值是否过大、差分线过长千兆协商失败但百兆正常千兆变压器或PAM5信号质量问题检查变压器速率等级、差分阻抗、共模电感温度升高后性能下降去耦电容布局不当或散热过孔缺失检查去耦电容是否贴近引脚散热焊盘是否接地ESD测试后PHY不工作TVS选型不当或防护顺序不对核对TVS钳位电压和布局顺序这张表不能覆盖所有问题但能覆盖80%的新手设计问题。剩下的20%靠经验而经验主要来自多看、多测、多记。7. 车载以太网与高速以太网的硬件风向最后聊聊两个当前比较火的方向车载以太网和25G/100G高速以太网。这两个方向的硬件设计思路和传统百兆千兆以太网有明显差异值得单独拎出来讲。7.1 车载以太网100BASE-T1为什么要把变压器省掉车载以太网用的物理层标准是100BASE-T1现在也有1000BASE-T1和传统100BASE-TX最大的区别在于它只用一对差分线而且是全双工同时收发。传统以太网用两对线一对收一对发变压器通过线圈耦合来隔离100BASE-T1单对线要靠回波抵消电路同时处理收发信号所以PHY架构完全不同不能在传统PHY后面加个变压器就完事。更关键的是车载以太网物理层设计时经常不隔离。传统的网络变压器主要解决地电位差和共模干扰问题但车规环境里各个ECU通常都是共地的加上线缆距离很短通常不超过15米所以100BASE-T1的PHY可以直接通过耦合电容和共模扼流圈连接线缆。直接用耦合电容的好处是减少成本、降低体积坏处是对共模噪声更敏感所以PCB设计时对外围元件的选型和布局提出了更高要求。车载以太网的共模扼流圈也不是随便选一个就能用它对频率特性要求很高同时要满足车规的温度范围和AEC-Q200认证。这个领域目前博文资源比较少很多细节藏在芯片原厂的参考设计里。给想做车载以太网的朋友一个建议不要套用传统以太网的设计经验直接以PHY芯片原厂的车载参考设计为起点再根据结构件和线束走向做调整。7.2 25G/100G时代的硬件设计思路25G以太网和100G以太网已经不是消费类产品的主流但在数据中心、交换机和FPGA高速接口领域非常普遍。这个量级的硬件设计和百兆千兆完全是另一套打法但核心逻辑仍然相通阻抗匹配、参考平面、电源去耦、信号完整性。25G NRZ信号或者100G PAM4的速率已经远超FR4板材的舒适区如果继续用普通FR4板材的介质损耗会导致信号衰减严重眼图完全闭合。所以实际高速设计会优先考虑低损耗板材比如Megtron 6、Megtron 7之类的材料同时走线要尽可能短过孔要背钻连接器也要选高速型号。25G/100G接口通常使用SGMII或XFI等串行接口MAC和PHY之间的连线已经从并行总线变成了高速串行差分对对信号完整性的要求更高。做这类设计时仿真是必须的不能再靠“抄板实测”的老套路。从PCB叠层设计、阻抗连续、过孔优化到电源PDN设计每个环节都需要仿真验证。还值得一提的是40G/100G常用于交换机上行或服务器网卡光模块形态通常是QSFP28硬件设计上除了PHY/SerDes还要考虑光模块的供电、I2C管理、热插拔保护等。这部分内容已经超出“以太网传输硬件”的常规范围但对做交换机或高速网卡的人是非常实际的需求。整体思路依然是先保证物理层的阻抗、损耗和电源干净再谈协议层和测试。从百兆到100G以太网硬件设计的主线一直没变搞懂每一层的职责边界把每个环节的外围电路做到位再用调试手段反向验证设计。这篇文章里的每一条经验都是真金白银烧出来的希望正在画板子的人少走几步弯路。
返回列表