ARTICLE DETAIL

资讯详情

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

RTL8211E千兆PHY硬件设计全攻略:原理图、PCB布局与调试避坑指南

RTL8211E千兆PHY硬件设计全攻略:原理图、PCB布局与调试避坑指南 最近在调一块用RTL8211E做千兆PHY的板卡从原理图设计到PCB Layout再到贴片调试整个过程踩了不少坑。RTL8211E应该是目前应用比较广的千兆PHY芯片之一从千兆路由器、交换机到工业控制板、FPGA开发板到处都能看到它的身影。这篇就把我从原理图到PCB的完整设计思路、关键参数处理方式、调试中遇到的典型问题都整理出来给准备入手这颗芯片做硬件设计的朋友做一个参考尤其是那些准备从百兆PHY切到千兆PHY、或者第一次画以太网电路的工程师应该能帮你少走不少弯路。硬件设计这件事最怕的就是原理图看着没问题板子回来却不工作然后拿着示波器满板子乱戳。RTL8211E的硬件设计核心说白了就是三块原理图的电源和时钟处理、MAC侧接口的时序关系、PCB上的阻抗控制和差分走线。这三块只要有一个没想清楚后面调试都会很难受。1. 先弄清楚这颗PHY的定位RTL8211E到底是什么1.1 为什么大家都在用RTL8211E瑞昱的RTL8211E是一颗10/100/1000M自适应的以太网PHY芯片常见封装是QFN48。PHY这个词如果不太熟悉的朋友可以简单理解成“物理层收发器”——它负责把MAC比如CPU、FPGA、交换芯片出来的数字信号变成能在网线上传输的模拟差分信号反过来把网线上收到的模拟信号解调成MAC能读的 цифровой数据。也就是说你在原理图上看到的CPU或FPGA它本身是出不了一个网口的中间必须有一颗PHY来做信号转换。选这颗芯片的理由也很直接支持千兆速率这基本是当前高速通信的最低门槛了接口是标准的RGMII绝大多数带以太网MAC的处理器都能接外围器件少价格也适中而且这颗料的资料非常容易找到不像某些冷门PHY芯片连参考原理图都要找代理要半天。工业通信板卡、消费级路由器、FPGA通信测试板我见过非常多基于RTL8211E的设计属于那种“照着手册画不会出大乱子”的芯片。1.2 开始画原理图之前先确认这几件事很多新手拿到RTL8211E的数据手册就开始放符号、拉网络结果画到一半发现接口类型不对或者电平不匹配又把原理图推翻重来。我个人的习惯是动手之前先把下面几个问题确认清楚。第一确认你手上的料是哪一种接口版本。RTL8211E这个系列有几个不同的后缀有的走RGMII有的走SGMII两者引脚和用法差别很大。如果你用的是RTL8211E-VB-CG这样的常见型号一般是RGMII接口12根信号线连接MAC如果是SGMII版本那就只有一对高速差分串行线。这个区别必须在选型阶段就定下来否则原理图会完全不一样。第二确认MAC侧的电平。RTL8211E的VDDIO引脚决定I/O口的电压可以是3.3V也可以是2.5V或1.8V必须和你的MAC芯片I/O电压对上。比如很多FPGA的Bank电压是1.8V那RTL8211E的VDDIO就要接1.8V电平不匹配轻则信号采样失败重则长期工作后芯片损坏。第三确认你的网口是否需要支持千兆。这一点看着像废话但真的有人踩过坑。千兆以太网用到MDI的4对差分线全部工作10/100M只用其中2对。如果你画PCB时只布了2对差分线那板子最多只能协商到百兆而且这种问题特别隐蔽因为百兆完全正常千兆就是起不来。2. 原理图设计每个引脚都不是白给的2.1 电源和去耦PHY稳定工作的地基RTL8211E的电源大概分三组模拟电源AVDD、数字电源DVDD还有I/O电源VDDIO。常规设计里AVDD和DVDD都是3.3V但是要注意模拟电源和数字电源在PCB上要分开走最好通过磁珠或者0欧电阻在PHY附近汇合这样能把数字开关噪声挡在模拟区域外面。我去耦电容的推荐做法是每个电源引脚旁边放一组0.1uF和0.01uF的并联电容都紧贴着引脚放置。这个细节看着繁琐但实测下来对电源纹波的抑制效果差别很大。特别是千兆PHY在工作的时候瞬时电流变化比百兆PHY剧烈得多如果去耦电容离引脚太远电源回路电感变大高频噪声根本滤不掉。另外芯片外部一般还需要一颗10uF左右的体电容放在PHY供电入口处。如果用了LDO给PHY供电还要留一点余量因为RTL8211E正常工作电流不算小LDO压差不够的话一进千兆模式就容易掉电压。我在调试中遇到过一种现象板子百兆一切正常一跑千兆吞吐测试就死机重启后来用示波器抓PHY供电引脚发现在千兆模式瞬间电源跌落了几百毫伏换了一颗压差更小的LDO就正常了。所以说PHY出问题先量电源这句话一点不夸张。2.2 25MHz时钟精度直接影响千兆误码率RTL8211E需要一个25MHz的参考时钟可以用无源晶振加匹配电容也可以用有源晶振直接输入。我个人的建议是优先用无源晶振外围简单、成本低只要匹配电容选对起振很稳定。匹配电容的选择依据是晶振本身的负载电容参数。常见7pF到20pF负载电容的晶振外部匹配电容一般取18pF到33pF具体可以按晶振手册推荐值来这个值也不是越准越好实测下来稍微偏一点都不至于完全不起振但会影响频率精度进而影响千兆数据传输的误码率。有源晶振的接法更简单输出信号直接进XI引脚XO悬空就行。但要注意有源晶振的输出电平如果是5V的晶振接到3.3V的PHY上是超压的容易损坏输入引脚所以最好选择3.3V供电的版本。还有一个小细节很多参考设计会在晶振的串接电阻上做调整。无源晶振一般会在XI或者XO串一颗22欧左右的电阻用来抑制过冲。但不是什么情况下都必要我习惯先把预留位画上调试时看波形再决定是否贴电阻。2.3 MDI差分对和网络变压器千兆信号的必经之路RTL8211E对外有4对MDI差分线分别叫MDI0±、MDI1±、MDI2±、MDI3±。这4对线不能直接接到RJ45上中间必须过网络变压器。变压器的核心作用有两个一个是隔离把PHY芯片和外部网线之间的直流电位隔开防止共模干扰和雷击浪涌损坏芯片另一个是阻抗匹配把PHY侧和线缆侧的信号阻抗做转换。选变压器有两种思路。一种是独立的网络变压器比如HX5008NL、HQGSD50E之类再接RJ45座子布局更灵活。另一种是一体化的RJ45也就是变压器和网口座子合在一起比如HR911105A就是常见的一体式千兆RJ45。对大多数项目来说我强烈建议用一体式RJ45省事、占板面积小而且厂家已经把变压器和信号线内部连好了你只需要照着规格书接PHY侧引脚就行能少犯很多连线错误。网络变压器的中心抽头接法很多人第一次画会卡在这里。常见的做法有两种一种是经过一颗0.1uF电容再接地形成AC端接这种属于Bob Smith电路的一种变体另一种是接电源通过一颗1k或类似阻值的电阻接到对应的供电电压上。具体用哪种要以你选的变压器规格书推荐电路为准不要自行发挥。我曾经见过有人把中心抽头直接短路接地结果千兆速率完全起不来因为直流偏置不对信号波形变形严重。2.4 RGMII接口和MDIO管理MAC和PHY之间的对话通道RTL8211E的RGMII接口包括发送时钟TXC、发送控制TX_CTL、4位发送数据TXD[3:0]以及接收方向对应的RXC、RX_CTL、RXD[3:0]。千兆模式下TXC是125MHz数据在时钟的上升沿和下降沿都采样也就是说每个时钟周期传8bit4根数据线加控制线总共需要维持一个明确的建立时间和保持时间。RGMII最让人头疼的是发送时钟相对于数据的延迟问题。RGMII标准规定源同步时钟和数据之间需要错开约2ns这样接收端才能稳定采样。这个延迟既可以让PHY内部产生也可以由MAC侧产生还可以通过PCB走线长度来调整。RTL8211E的很多版本内部已经具备延迟调整功能你可以通过寄存器或者strap引脚来配置。但是调试的时候如果发现MAC和PHY之间数据采样有问题最常见的手段就是在PCB上把TXC和RXC走线设计得比对应数据线长一点用走线长度来补延迟。这也是为什么不少参考设计里RGMII的时钟线会画得弯弯曲曲的原因那是在做长度补偿不是随手乱画的。MDIO管理接口就是用来配置PHY和读取状态的MDC是管理时钟MDIO是双向数据线。MDIO必须加上拉电阻一般4.7k到10k都行。PHY的地址是通过PHYAD引脚配置的这些引脚在复位时被采样把它们接上拉或下拉电阻就能决定PHY的地址。如果系统里有多颗PHY每个地址必须不同。我犯过的一个低级错误是画原理图的时候把PHYAD引脚全给了网络标号但忘了接地或者接电源结果上电后PHY地址不稳定时有时无。还有复位电路部分RTL8211E的复位低电平有效复位时间要足够长。简单的RC复位电路可以用但如果MAC引脚能控制复位更建议用MAC来控制这样软件可以随时做硬复位。复位引脚要加一个下拉电容防止上电瞬间因为干扰导致复位不彻底。3. PCB布局布线从原理图到实物这一步决定成败3.1 布局思路谁该挨着谁谁必须远离谁原理图画得再漂亮PCB布局布线不行板子一样废。RTL8211E在PCB上的布局核心就一句话PHY靠近变压器变压器靠近RJ45三者之间连线尽量短。这样安排的原因在于MDI差分信号从PHY出来之后经过变压器再到RJ45这段路径上如果走线过长或者跨过太多过孔信号质量会受到很大影响。有人可能会问PHY和变压器之间距离到底应该控制多少我自己的经验是PHY到变压器之间的距离最好控制在10到15毫米以内变压器到RJ45也一样。如果空间实在紧张MDI走线也不建议超过25毫米再长就要考虑信号完整性问题了。电源去耦电容、晶振、MDIO上拉电阻这些器件都应该围绕PHY就近放置。特别是25MHz晶振离PHY的XI/XO引脚越近越好最好控制在5毫米以内晶振下方不要走任何高速信号线。原因很简单晶振输出的25MHz时钟虽然频率不高但它是PHY所有时序的基准一旦被干扰后面全是乱的。另外RTL8211E的QFN封装底部有个大的散热焊盘这个焊盘一定要接到地平面上去通过多个过孔把它和底层的地铜皮连接起来既帮助散热也能改善接地性能。如果这个焊盘不接地芯片工作时热量散不出去长时间跑千兆数据容易不稳。我见过连续跑大流量测试时板卡出现随机丢包的案例排查到最后发现就是散热焊盘没接好。3.2 阻抗设计和差分对布线100欧姆是怎么算出来的千兆以太网的MDI差分线特性阻抗要求是100欧姆。这个不是随便布的需要对PCB的层叠结构、线宽、线距做计算和控制。RTL8211E输出的MDI差分信号频率在千兆模式下很高如果阻抗不匹配信号反射会带来误码、CRC错误甚至完全协商不上。实际计算时常见4层板的层叠结构是顶层信号层到第二层参考地之间距离约4mil板材FR4介电常数一般在4.2到4.6之间要实现100欧姆差分阻抗线宽大概在5mil左右线距在7mil左右。不同板厂的叠层参数不同具体数值会有差异。所以最靠谱的做法是把自己设计的层叠参数和阻抗要求发给板厂让他们帮忙确认或微调线宽线距。千万不要拍脑袋定一个线宽就交给板厂去生产打样回来测不了阻抗出了问题哭都来不及。差分对布线的时候有几个基本规则要记住同一对差分线要保持一致的间距不要一会儿宽一会儿窄。同一对差分线尽量在同一层走避免打过孔换层。如果必须换层换层处两侧要加地过孔保证回流路径连续。差分对和其他信号线或者其它差分对之间间距至少要保证3倍线宽以上能到5倍更好降低串扰。特别是MDI四对差分线之间间距不够容易互相干扰。差分对内的等长要控制一般5到10mil以内因为千兆信号速度快等长差了容易导致差分信号相位偏移。实际的等长补偿可以用蛇形走线但蛇形线本身也会带来耦合和延迟所以尽量少用而且蛇形线的缝隙不要太小。还有一个非常关键的点MDI差分线在PCB上的走线参考平面必须完整。也就是说走线下方不能被别的信号层或电源分割线切断否则回流信号被迫绕路会造成严重的地弹和辐射问题。如果你发现某一对差分线的正下方经过了一条电源分割线要么改走线要么改平面这个绝对不能妥协。3.3 层叠设计和过孔处理让信号有干净的回路关于RTL8211E的PCB设计我推荐至少4层板。两层板不是不能用但要在两层板上实现100欧姆差分阻抗、完整的地平面和良好的EMC特性难度大很多而且往往信号质量达不到千兆要求。4层板的推荐叠层是顶层信号、第二层完整地平面、第三层电源平面、底层信号。电源平面和地平面之间的耦合越好电源的阻抗就越低对整个系统的稳定性都有帮助。第二层作为完整地平面既能给顶层MDI差分线提供参考回流路径也能给底层的信号信号提供参考。过孔的处理上MDI差分对尽量不要换层是最好的。但如果因为布局实在无法避免要遵循一个原则过孔旁边加地过孔。具体来说一对差分线从顶层换到底层除了这对信号线本身的过孔之外最好在这对过孔旁边紧挨着放一到两个地过孔这个地过孔能帮信号提供最短的回流路径减少换层带来的阻抗突变。电源平面的分割也要注意模拟电源和数字电源的分割线不要出现在MDI走线下方更不能在差分对下方跨分割。变压器下方的平面处理也很关键。很多成熟的参考设计会把网络变压器正下方的所有层的铜皮挖掉或者至少挖掉一部分这是为了防止变压器初级的共模噪声耦合到PCB其他区域。如果你不需要穿越变压器下方走线把这块区域挖空不铺铜对EMC性能有明显好处。开始设计之前建议把参考设计的PCB文件找来仔细看一遍重点关注变压器下方的处理方式。4. 调试中的典型问题和排查方法4.1 MDIO能读到寄存器但是网口不通这种情况很多见说明MDIO管理通道没问题PHY芯片本身也在工作状态问题大概率出在RGMII数据通道或者MAC侧配置上。排查思路分成两步。第一步用光口或者环回模式测试PHY的物理层。RTL8211E支持在PHY内部把发送数据直接环回到接收路径绕过网络变压器和网线。如果PHY的环回测试能通过说明PHY到MAC的RGMII数据通路基本没问题如果环回测试都失败那就要重点查RGMII的时序特别是TXC和TXD之间的延迟关系。第二步检查MAC侧的寄存器配置确认MAC是否正确配置了RGMII模式、是否开启了对应的时钟引脚。很多MAC默认工作在GMII模式如果没有切换到RGMII模式数据肯定是收不到的。RGMII延迟是一个值得反复确认的点。RTL8211E的寄存器里通常有TX delay和RX delay的开关你要确认PHY侧和MAC侧双方对延迟的分工达成一致。如果两边都加了延迟或者两边都没加都会出问题。4.2 百兆正常千兆CRC错误一大堆这个问题在搜索结果里都排到热词了可见困住的人不少。现象就是插上百兆交换机正常插上千兆交换机或者对端千兆设备时能协商上千兆但大量CRC错误吞吐上不去偶尔还断流。这个现象背后往往是千兆特有的问题。千兆模式同时使用4对差分线而且信号速率比百兆高得多任何一对差分线有问题都会导致千兆数据帧大量出错。排查顺序我建议按信号链路从内到外来。先用万用表量一下4对差异线在PHY和变压器之间的连通性确认每一对都是通的而且正负没有接反。有些原理图看着是对的但PCB封装画错TXP和TXN在封装里颠倒了这种问题不量根本发现不了。然后检查PCB的差分等长。千兆对等长的要求比百兆严格很多尤其是4对线之间的长度差不能太大。如果布局的时候其他信号占道导致某一对线绕了很远对间延迟差太大就会表现为千兆CRC错误。另外还要确认过孔的数量我见过最夸张的板子一条MDI线段打了8个过孔这信号质量可想而知。如果PCB布线看起来没什么问题那就要查晶振的精度和电源纹波了。晶振频率偏离会导致PHY恢复出来的时钟不准确数据传输时会周期性地出现错误。电源纹波过大会让PHY内部的PLL抖动变大同样引起误码。测晶振频率最好用频率计或者高精度示波器不要只看普通示波器上波形有没有起振。4.3 偶发协商失败、链路掉线偶发问题最让人头疼因为不是每次都能复现。我遇到的一种典型情况是网线一插上系统频繁复位出现这种情况要分两种情况讨论。先看复位电路。如果PHY的复位引脚受到干扰或者复位信号在上电之后还有毛刺PHY会莫名其妙地重启链路自然就断了。解决办法是确认复位引脚上有没有一个至少0.1uF的电容同时确认MAC控制端没有在软件里频繁地拉低复位引脚。其次看供电。PHY在协商千兆瞬间内部电路会有一个电流突变如果电源储能不够或者走线太细就会导致这个瞬时压降幅度过大然后把PHY“饿死”重启。处理办法是加强PHY供电入口的体电容比如加大到47uF甚至100uF同时确保电源走线宽度足够。还有一种情况是MDI极性接反导致的偶发异常。虽然RTL8211E支持自动极性翻转和自动交叉Auto MDI-X但是如果你用的网络变压器或者RJ45的引脚定义把其中某对线正负颠倒了自动极性纠正能补救的程度也是有限的尤其对千兆模式一对线的极性错误可能导致某一速率档位协商不上。这种问题排查起来很耗时间最好在设计阶段就把MDI线序再三核对清楚。5. 避坑指南我把这些年踩过的坑都写在下面做RTL8211E硬件设计这几年我总结下来大多数板子出问题无外乎就是下面这几点。第一晶振不要省钱买杂牌。25MHz看起来简单但频率稳定度和相噪对千兆PHY的影响非常大。我试过在量产板上换了便宜的晶振后报修的板卡明显增多症状全是千兆速率不稳定。后来换回正规品牌晶振问题立刻消失。这也是为什么很多大厂参考设计里会标出晶振的品牌型号。第二网络变压器建议优先选择带屏蔽的型号。有的便宜变压器省掉了屏蔽层共模干扰会通过变压器耦合到板子上EMC测试过不了千兆传输也不稳定。你可以看变压器的规格书明确标注内置共模扼流圈和屏蔽的优先选这种。第三PCB打样前一定要和板厂确认阻抗参数。很多人画完板子直接丢到嘉立创下单也不备注阻抗板厂默认按常规工艺生产出来的差分线阻抗很可能就不是100欧姆。正确做法是把层叠参数发过去并明确要求“差分100欧姆阻抗控制”一时确认不了就让板厂给你参考线宽线距再根据反馈改图。这一步预算不了多少时间但能避免板子回来之后再低效地排查。第四无论原理图还是PCBRTL8211E的数据手册、参考原理图和参考PCB建议在看懂之后再动手。参考设计也许不是最优解但它能保证最基本的功能没有问题你所有的改动都应该建立在理解参考设计为什么要这么画的基础上。最后再分享一个小技巧在MDI的四对差分线上留出串联0欧电阻的位置比如在PHY和变压器之间。平时用0欧电阻直接连通遇到信号质量问题和排查困难时可以把电阻摘掉方便你断开某一路信号做点位测试或者串联电流探头。这个预留成本几乎为零调试时却能节约大量时间。RTL8211E这颗PHY芯片整体来说是一款非常成熟、耐用的器件绝大部分问题都是硬件设计细节上疏忽造成的。你只要把电源、时钟、差分阻抗、RGMII时序这么几条关键路径抓稳板子一次性跑通千兆的概率是非常高的。
返回列表