十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

千兆以太网硬件设计实战:从PCB层叠到磁性元件选型的关键细节

千兆以太网硬件设计实战:从PCB层叠到磁性元件选型的关键细节 做硬件这么久我越来越觉得千兆以太网是一个看起来简单做起来全是细节的东西。原理图照着PHY芯片的参考设计抄PCB按厂家推荐来画几乎每个人都能很快跑通第一版但真正到了量产、过EMC、跑长时间大压力吞吐的时候那些当初忽略的细节会一个个冒出来找你算账。这篇文章不打算从什么是以太网开始讲起而是直接聊我在设计千兆以太网接口时真正花过时间、踩过坑、并且最后证明非常关键的那些点。我默认看这篇文章的你已经知道PHY和MAC大概是什么关系、RGMII是什么东西也知道千兆以太网就是用那八根线四对差分线跑数据。所以下面要聊的都是那些参考设计不会写在第一页、但对产品稳定性影响极大的设计决策——从PCB层叠一直聊到磁性元件选型再到调试现场怎么定位问题。1. 千兆以太网千在什么地方信号速率上来之后一切都变了很多从百兆产品转过来的人最容易犯的一个错误就是拿做100BASE-TX的思路去做1000BASE-T。表面上只是速率从100M变成了1000M但底层传输机制的变化是本质性的如果这个意识没转过来后面很多设计决策都会跑偏。1.1 四对线全双工同时收发这是最核心的变化100BASE-TX只用两对线一对发、一对收半双工或者全双工是靠协议层控制的电气上收发天然隔离。而1000BASE-T用了全部四对线每一对线都是同时收发而且是双向的。怎么做到同时收发还不冲突靠的是混合线圈和回波消除电路把发出去的信号从总线上减掉剩下的就是对方发过来的信号。这对硬件设计意味着什么呢意味着从PHY芯片的引脚到RJ45之间这四对线的对称性非常重要。如果一对线里的P和N走线长度差很多、过孔数量不一样、或者参考面被切断信号的正负分量就会出现偏差回波消除的效果就会变差。回波消不掉轻则减少链路预算导致长线缆协商不上千兆重则明明链路是Up的但长时间跑吞吐就会莫名丢包。我见过一个案例客户反馈千兆网络在-40℃到-20℃之间不时断链常温一切正常。排查了很久最后发现是PCB上一对差分线的正端多走了一个过孔在低温下PHY芯片的回波消除自适应算法的收敛结果变差链路余量不足才触发断链。换了一版把过孔对称掉之后问题再没复现过。这种问题在百兆时代几乎不会出因为百兆的收发电气上是隔离的根本不需要回波消除。1.2 125MHz符号速率带来的信号完整性问题千兆以太网每一对线上跑的符号速率是125MBaud使用PAM-5调制也就是五电平。五电平意味着信号幅度被切成更多份对噪声的容忍度比百兆的MLT-3编码要差得多。同样是100mV的噪声在百兆系统里可能完全无感在千兆系统里可能直接导致误码。所以一个很重要的意识是千兆以太网的信号完整性问题不是能不能跑通的问题而是余量有多少的问题。参考设计那种随意走的线可能在家里的短网线上也能跑通千兆但拿到线上用上50米、100米的Cat5e线或者放进机箱里、旁边有开关电源、有LCD排线问题就暴露了。设计千兆以太网一定要把链路预算这个概念放在脑子里——你每节省一点反射损耗、串扰、噪声都是在给系统的稳定性多留一点余量这些余量最终指向的是量产一致性和恶劣环境的适应能力。1.3 自动协商不是你想象的自动那么省心Auto-Negotiation是IEEE 802.3的标准功能但实际联调中因协商失败导致的问题远比想象的常见。设计层面能做的事情主要是保证PHY的配置电阻、默认寄存器值正确尤其是关于Master/Slave时钟同步的配置。千兆以太网的定时是建立在Master/Slave机制上的——一端做主时钟另一端做从时钟。如果两端都默认成Master或者都默认成Slave链路上就存在时钟竞争问题虽然有的PHY支持自动配置但有些场景下需要手动指定。一个产品里如果PHY的Master/Slave配置引脚通常是一个配置电阻或寄存器位设置不当和某些交换机网口对接时就可能出现协商成功但Link Up之后跑不了数据的怪问题重试很多次才能成功。这些坑要在原理图阶段就排查掉别等到了现场才去怀疑网线。2. 高速PCB设计绕不过去的三道关卡层叠、阻抗与回流路径现在很多开发板为了成本做两层板跑千兆以太网也能跑通但我要先泼一盆冷水两层板跑千兆属于能通但是赌运气尤其是当你的板子上还有其他高速信号或者DC-DC开关电源的时候。如果你在做一个要过认证、要量产的产品我强烈建议至少用四层板。下面这几个问题是你在画板前就必须决定好的。2.1 层叠结构参考平面比抗干扰更关键千兆以太网的差分对需要连续、完整的参考平面这不仅仅是为了EMC更是为了阻抗可控。四层板的经典叠构是信号-地-电源-信号让顶层和底层的信号都能就近参考到完整的平面层。以太网的差分线走顶层下面第二层就是完整的地平面这对信号质量是最好的同时也是最容易实现的。如果受限于结构必须走内层一定要注意参考平面的连续性。我看到过一种典型的错误做法以太网差分线走内层但那一层旁边被相邻平面的分割区切断了一部分参考路径导致阻抗在某个区域突变。这种问题用眼图测试不一定马上能看出来但误码率会明显偏高尤其是长时间跑大包的时候。关于双层板如果你实在要这样设计也有一条退路——必须保证以太网差分线的下方是完整的连续地平面不要走跨越分割的路径而且尽量减少过孔。差分线下面经过电源线、信号线的地岛断裂区域那基本上已经埋下了不稳定隐患。PCB设计软件里的阻抗计算器也能帮你估算但双层板的阻抗受介质厚度不均匀影响太大实际控制精度远不如四层板。2.2 100Ω差分阻抗不是所有100Ω都真的100Ω千兆以太网的差分对目标阻抗是100Ω但100Ω这个数字背后还有很多细节。PCB加工有蚀刻公差、阻焊厚度差异、玻纤编织效应都会影响实际阻抗所以设计目标通常应该定在100Ω±10%有些要求高的会定在±5%。这里有个经常被忽略的点阻抗计算时使用的介电常数Dk必须是真实板材的值而不能用FR4的通用值4.2来猜。不同厂家、不同树脂体系的FR4Dk可能在3.8到4.8之间波动直接决定了线宽线距。另外玻纤编织效应在高速信号里会造成同一条线上不同位置的阻抗周期性波动尤其当差分线走线与玻纤束平行且距离很近时这个问题更明显。低频一点的问题不大但千兆正处于这个敏感区间。有一种简单粗暴的做法是把走线角度斜着走避开平行玻纤但效果最好的还是选用了低损耗平滑玻纤板材的厂家做样机测试。我推荐的做法是画板之前先跟PCB板厂确认他们常用的板材型号问他们要这个板材在目标厚度下的阻抗计算推荐值。别自己闭门算了一个线宽就丢出去做板很多板厂在被动阻抗控制下会自己调整但如果你指定了静态阻抗值而工艺差太多板厂开工程问题单来问你的时间都够你重新设计一版了。2.3 回流路径与过孔绕路不是免费的差分对走线上任何一个过孔都意味着信号在该点的参考平面会短暂断裂。虽然过孔本身有寄生电容和电感但只要控制得当千兆速率下几个过孔是可以接受的。真正要避免的是——信号走线从顶层换到内层之后回流路径被迫绕了一大圈。因为信号的回流电流总是走阻抗最小的路径如果参考平面在换层处不连续回流电流就会绕路寻找回路这个绕路的路径会形成一个大的电流环既是辐射源也是接收天线。一个很实用的检查方法在PCB设计软件里把以太网那部分的差分线高亮出来然后一层一层地看它的正下方有没有完整的参考平面。如果某个区域下方是电源平面而且对应的层离得远或者切了两条走线过去那就要重新处理。有时候为了绕开一个BGA的电源分割往往需要多打几个过孔配合旁边的回流地过孔来完成换层这样代价远小于信号质量恶化之后的反复调试。关于过孔的使用记住一个换层铁律信号过孔旁边紧挨一个地过孔。这样换层时回流电流可以通过相邻的地过孔从顶层的平面跳到内层的平面电流环面积被压缩到最小。这个动作不是玄学是能让眼图质量肉眼可见变好的实操细节。3. 变压器和共模电感不是随便选的信号链路上的隐形决定因素很多项目里设计师对网口变压器和共模电感的选型不太上心觉得功能一样的随便买一个就行这是个很危险的认知。以太网信号从PHY引脚出来到RJ45中间经过的这些磁性元件对信号完整性和电磁兼容性有决定性的影响。3.1 变压器不只是隔离它还参与信号质量塑造变压器承担的首要功能是电气隔离把PHY芯片侧和线缆侧的直流电位隔开避免共地回路带来的噪声。但它同时也是一个带宽受限的器件它的高频响应、插入损耗、回波损耗直接决定了信号的质量。选变压器的时候第一看的就是它支持的速率等级。很多变压器型号明写了10/100Base-T千万别拿来做千兆。千兆变压器需要支持更高的频率带宽至少要到125MHz实际设计会留余量到200-300MHz并且四对通道之间的串扰要低。第二不同PHY芯片对变压器的要求有一些细微差异。部分PHY要求变压器中心抽头接特定的直流偏置电压比如3.3V或者2.5V这会直接影响PHY内部收发电路的工作点。你如果照抄一个别人的电路图但用的不是他的PHY芯片就一定要确认这个抽头电压和你的PHY匹配不匹配。接错了链路能在测试环境通但是信号质量很差长线缆或者高温下就掉链子。有个简便方案是使用带变压器的RJ45连接器把变压器集成在连接器内部这样可以减少板级器件数量也简化了差分布线密度。但集成式连接器也存在一些劣势变压器位置靠近面板如果面板附近有其他噪声源隔离度反而不如分立方案。具体怎么选要看整体布局。3.2 共模电感抑制辐射的一把好手共模电感在以太网信号路径中的作用非常直接它对差模信号几乎不产生衰减因为差模磁场在磁环中相互抵消但对共模噪声呈现很高的阻抗可以把线缆上传导的共模电流压下去减少对外辐射。好多板子做电磁兼容测试时以太网口辐射超标第一反应是加屏蔽、加吸波材料其实很多时候问题就出在共模电感选型或摆放上。共模电感的选型要看阻抗曲线和额定电流通常要求其共模阻抗在几十MHz到几百MHz范围内是千欧级别。同时共模电感自身也有谐振点如果谐振频率恰好落在以太网工作频段内反而会把噪声放大。所以选型时一定要看厂商提供的阻抗频响曲线不要只看MHz标称值。它的摆放位置也很有讲究。一般建议靠近RJ45侧即信号从变压器出来之后、进入连接器之前让共模噪声在离开板子之前就被挡住。放在PHY和变压器之间也不是不行但效果会差一些。3.3 Bob Smith端接与中心抽头别小看这几个电阻电容Bob Smith端接是网口设计中的一个经典电路在变压器的线缆侧四对线之间通过75Ω电阻相连并且中间用RC串联到机壳地。它的作用是为线缆侧的共模电流提供一个确定的回流路径把共模噪声从信号线上泄放掉对改善辐射和抗静电冲击都有帮助。有一些设计为了节省元器件省略了Bob Smith端接结果做电磁兼容测试时发现网口辐射或者传导明显偏大。如果你是在设计兼容性要求高的产品这个电路最好不要省。还有一个细节是中心抽头的处理。有些PHY要求中心抽头接电源有些要求接电阻电容到地具体用哪种方式取决于PHY的数据手册和内部电路结构。设计时一定不要想当然地照搬其他项目。3.4 不同方案的磁性元件对比方案优点缺点适用场景分立变压器 共模电感布局灵活EMC调整空间大便于分模块调试器件多占板面积大需要细心布局对性能、过认证要求高板子空间充裕集成RJ45带磁性元件设计简单差分布线短器件少变压器位置受限可调整空间小成本可能偏高产品迭代快、空间紧凑、要求不极端超薄贴片变压器SMD高度低适合盲埋孔工艺对PCB工艺要求高供应商选择少板子厚度有限的产品4. 原理图之外容易翻车的三个环节接口、时钟与电源噪声原理图阶段最常见的问题不是画错引脚而是接口时序、时钟源选择、电源去耦这些看起来没什么技术含量的地方。4.1 MAC到PHY的接口RGMII的时序坑RGMII是当前最主流的MAC-PHY接口数据线只有4根但通过双沿采样DDR在125MHz时钟下达到千兆吞吐。正因为是双沿采样它对时钟和数据之间的建立保持时间要求非常严格。很多PHY芯片在RGMII接口上提供了一个可选的内部延迟RX Clock Delay目的就是为了补偿PCB走线和芯片封装引入的时钟-数据偏移设置不对就会让你在功能测试时偶尔ping通的板子在持续大流量下疯狂报CRC错误。这个延迟的开关取决于PHY芯片的具体引脚配置或寄存器操作不同厂商的命名不一样常见有RXDLY、RGMII Clock Skew等但作用是类似的。我踩过的一个坑是用了CPU厂商参考设计里的PHY型号以为参考设计是验证过的结果它用的是PHY的某一种延迟配置但我采购到的芯片批次是另一种封装版本默认延迟配置正好相反。结果板子跑千兆交换机对连测试时偶尔能Link但吞吐打不满也不报错用协议分析仪抓包才发现CRC错误暴增。最后把RX时钟延迟设置反转问题立刻消失。所以无论参考设计怎么给我建议你在调试阶段专门写个小的寄存器读写测试代码把PHY的时钟延迟设置、极性设置都列出来在系统联调前逐一确认。4.2 时钟源125MHz不是差不多就行千兆以太网的MAC侧和PHY侧的参考时钟精度要求是±50ppm这个看似宽松但如果你选了一个普通精度的振荡器或者时钟电路设计不良一样会出问题。PHY的参考时钟通常使用25MHz晶振加内部PLL倍频或者直接使用125MHz有源晶振。需要注意的区别在于抖动和启动时间。晶振的起振时间在某些PHY的上电时序要求下可能带来问题——有些PHY要求参考时钟必须在上电复位释放前稳定如果晶振起振慢、或者RC复位电路的延时太短PHY的PLL就锁定不到正确的时钟上链路建立就会异常。另一个容易被忽略的点是当多个PHY或交换芯片共用同一颗参考时钟时时钟走线要避免分支、保持阻抗连续而且要控制走线长度避免时钟相位不一致。低成本的方案是用一颗支持多路输出的缓冲器来分路而不是一条线串连好几个负载。4.3 电源去耦与电源域划分PHY的退耦电容放对位置了吗千兆PHY通常有多个电源域模拟电源通常1.8V或2.5V、数字电源1.2V或1.8V、以及I/O电源3.3V。这些电源域在PHY内部是分开的PCB上也应该做合理的分割和去耦。一个经常出问题的地方是PHY的数字电源和系统其它数字器件共用了同一个LDO或DC-DC当系统在跑高负载时电源纹波变大PHY的模拟部分就受到干扰导致信号抖动指标变差。如果你在做高集成度系统最好把PHY的模拟电源用单独的LDO供电或者在DC-DC后加一级LC滤波再进PHY的模拟电源引脚。去耦电容的位置尽量靠近电源引脚一般是一个大电容10uF或更多加几个小电容100nF、10nF组合。但很多人忽略的是电容到引脚之间的过孔也参与寄生电感它们会增加高频去耦的阻抗。实际操作中我会把100nF和10nF电容放在PCB反面、正对着电源引脚正下方这样过孔路径最短。10uF的储能电容可以稍微远一点但也要保证它能覆盖PHY的峰值电流需求。4.4 复位电路的上电时序PHY的复位引脚通常有最小复位脉冲宽度要求部分芯片还要求电源稳定后必须经过一定时间才能释放复位。如果你的板子简化设计把PHY的复位接到CPU的GPIO上由软件控制那就一定要在驱动初始化时保证上电后的延时满足数据手册要求。我见过一个量产返修案例产品冷启动时偶尔有网口不工作热重启正常。最后排查到系统里PHY复位信号由一个CPLD控制而CPLD的时序逻辑在上电瞬间没有保证足够的复位脉冲宽度。PHY有时候残留在上电的不确定状态只有等下次复位才恢复正常。这个问题在实验室很难复现因为环境温度和上电顺序稍差一点就会触发。设计时给PHY复位加一个RC延时或者专用的复位IC比单纯依赖软件要可靠得多。5. 样机调试里我踩过的坑从PHY寄存器到眼图测量的现场排查硬件调试验证阶段可能是整个项目周期里最考验工程判断力的环节。千兆以太网的故障现象往往很模糊——有时通有时不通、速度只有100M、大吞吐会断流——如果不会系统性地排查很容易陷入瞎试的循环。5.1 PHY寄存器是第一步不是最后一步板子拿到手上电后第一件事是让CPU读取PHY的基础寄存器比如看基本模式状态寄存器里面的链路状态和协商结果。如果你连基本模式状态寄存器的Link Status都是Down那基本可以断定物理层没建立起来别急着查协议和驱动。翻到千兆相关的扩展寄存器厂商私有寄存器空间各有差异可以读到当前协商得到的速率、双工模式、Master/Slave状态。有些PHY还提供信号质量相关的寄存器比如接收信号幅度、信噪比估算等。虽然这些寄存器不如仪表测的准但对定位问题是很好的参照物如果信号幅度比正常值低很多或者信噪比寄存器显示异常那问题大概率就在模拟前端——变压器、共模电感、PCB走线。常用的排查思路是先确认MAC-PHY接口配置用测试代码固定一种协商模式来验证链路比如强制千兆全双工、关闭自动协商。这样可以快速区分问题是出在底层的信号质量还是出在协商协议比抓瞎快得多。5.2 眼图测试没有示波器的替代方案也要有眼图是信号完整性的最直观表现。如果你手头有1GHz以上带宽的示波器可以在PHY的测试模式下很多PHY支持回环模式或测试波形输出直接测差分信号的眼图。眼图的张开程度、抖动大小能告诉你信号质量怎么样。但这东西需要比较好的示波器很多小公司的实验室可能没有这样的设备。没有示波器怎么测也有替代方案比如利用PHY内部自带的BIST内建自测试功能结合误码率判断。将PHY设为内部自环或者外部回环然后长时间跑随机数据统计误码率。能连续跑一晚上误码率为零说明信号质量大概率是可以在正常环境下工作的。误码率的存在不一定是信号差干扰源可能是工作环境里的其他信号所以要学会隔离变量来排查。5.3 常见问题的现场排查顺序故障现象优先级排查动作网口完全不通高检查PHY供电、复位、时钟是否正常读基本模式状态寄存器确认链路状态协商成百兆或十兆高确认线缆是否为Cat5e以上检查四对差分线阻抗观察是否只有两对线在通信Link Up但丢包高检查RGMII时序检查PHY的寄存器错误计数CRC错误、帧对齐错误电磁兼容测试辐射超标中检查共模电感是否放置Bob Smith端接是否完整RJ45金属壳接地与否低温/高温掉链中检查电源纹波确认时钟精度怀疑焊锡和阻抗一致性5.4 两个值得关注的隐藏技能调试到最后有两个容易被忽视的项目。一个是线缆测试。很多实验室拿一根能用的网线做测试这根网线可能是Cat5e但已经压接过多次线对间串扰和衰减早就超过标准。测出来的结果往往误导性很强。建议手边常备几根在福禄克测试仪上验证过的高质量测试线并把它们和普通网线区分开调试时避免误判。另一个是RJ45金属外壳的处理。带屏蔽的RJ45它的金属壳是否与机箱地/系统地相连直接影响静电放电和辐射表现。很多参考设计里都是通过RC通常是几MΩ电阻并联高压电容连接到机箱地形成低频隔离、高频导通的效果。直接连接到数字地可能会引入环路噪声完全悬空则金属壳没有泄放路径。这一步值得在实验室做对照试验找到最适合你系统的接法。6. 那些让量产稳定的工程习惯调试完成、样机跑通这只是硬件设计的一半。接下来要考虑的是量产一致性和可制造性问题。很多设计在实验室里跑得很顺一到产线上就变脸往往是前面规划不够充分。生产阶段最常出问题的点是焊接质量和物料一致性。PHY芯片和变压器的引脚间距小焊接不良会导致虚焊或桥连这种情况普通的ICT测试不一定抓得出来但长时间运行会发现丢包或者偶发断链。所以有条件的话在产线上增加在线路测试环节专门测试以太网变压器绕组的直流电阻和匝数比误差超过2%的直接报警。别觉得这是小题大做的工序它能拦住一大批物料批次问题。PCB加工端也不能放松。量产时一定要确认板厂使用的覆铜板型号和打样阶段一致特别是介电常数。有些板厂在打样时用高Dk板材量产时为了成本换成了低Dk的同样是标称100Ω实际特性完全不同。这种变更通常不会提前通知你所以必须要求板厂在出厂报告中附带阻抗测试条数据并比对你的目标值。在和PCB厂家沟通时我建议你在工程文件中专门标注以太网部分为关键阻抗控制区域让CAM工程师知道这里有特殊要求不要随意做阻焊开窗或者调整线宽。另外也要注意差分对走线区域的铺铜是否会产生贴近的屏蔽地线这会改变差模阻抗如果设计软件里没有对这块进行精确建模生产结果可能和设计目标差异很大。散热对千兆PHY的影响也是容易被低估的。很多PHY芯片的结温上限是125℃但实际工作温度超过85℃后PLL抖动会明显恶化链路在高温环境下可能出现误码率上升。如果你的设备外壳通风不良或者有热源靠近PHY建议在热设计阶段就留出风道和散热焊盘或者在器件布局上把PHY和DC-DC这类发热大户拉开距离。电源策略上我习惯在PHY的每个电源域入口都加一个磁珠并配电容形成局部滤波这不仅能进一步抑制高频噪声对多块板的批次一致性也有好处——不同批次的PHY芯片在相同板子上工作时电源噪声容忍度多少有差异滤波越干净越不依赖批次。关于BOB Smith端接的阻容值不同设计的取值差异很大不要死记一个阻值。选型上要参考变压器厂商的推荐电路——有些变压器内置了部分端接外部再加一组可能导致阻抗不匹配。这个一定要看你选的变压器的具体型号数据手册前面说过了不要盲抄参考设计。最后分享一个我常用的验收小技巧量产样机做整机长期老化测试时不只是简单ping包而是同时跑多个不同包长的双向UDP流比如64字节小包和1518字节大包混合并记录丢包率。小包测的是每秒包处理能力大包测的是带宽和缓存压力两者混合才是真实网络场景的模拟。如果连续跑72小时丢包率低于万分之一我觉得这块板子的以太网设计才算是真正过关。这个方法帮我规避过很多只测千兆大吞吞吐量却发现不了丢小包问题的隐患。千兆以太网设计说难不难说简单也不简单关键是每个环节都要有一个明确的意识你在为系统留出余量而不是只追求能跑。信号完整性、电源完整性、磁性元件选型、接口时序、生产一致性这五件事做好你的板子就能在苛刻环境下稳定工作。这也是一个硬件工程师从画出来走向设计出来的分水岭。
返回列表