前阵子接手一块带四路千兆网口的工控板改版,第一版样机回来,功能测试一切正常——PHY配置成功、Link能起来、ping也不丢包。结果送实验室做辐射骚扰预测试,150MHz附近直接超标好几个dB。返回来一查,问题居然不是出在原理图,而是PCB上最不起眼的几个地方:变压器底下的铜皮、差分线绕线的方式、一颗TVS的接地引脚。做RJ45网口PCB设计,真的就是这些细节最磨人。这篇文章我把这几年踩过的坑整理成7个教训,从变压器挖空到差分线等长,每个都附上当时的错误做法和最终修正方案,给正在画网口板的同行们一个参考。
1. 变压器下方挖空:不是挖得越狠越好,"精准手术"才是关键
1.1 第一次栽跟头:铺了完整参考铜,辐射反而超标
很多刚接触网口设计的人,包括当年的我,拿到网口变压器之后第一个纠结的问题就是:变压器底下到底要不要挖空?
我最早做的一个百兆网口项目,当时觉得网口信号属于高速信号(100Base-TX信号速率125Mbps),那参考平面肯定越完整越好啊,再加上当时的EDA工具默认不会在器件下方自动挖铜,最终板子做出来,网络变压器正下方的内层L2、L3铜皮全部保留完整。结果一上EMI测试台,辐射骚扰预扫直接把我整懵了,120MHz到200MHz这一段有好几个尖峰,其中一个超标接近6dB。
后来反复排查才搞明白:网络变压器在工作时,原边和次边之间存在寄生电容,高频共模电流会通过这些寄生电容耦合到变压器下方的铜皮上。如果变压器正下方是一大片完整的参考铜,这片铜就相当于一个接收天线,把变压器内部的磁场变化转换成了共模电压,再顺着网口连接器的线缆辐射出去。这就是为什么那么多参考设计都强调要在变压器下方挖空——不是玄学,是实打实的EMI风险。
1.2 正确做法:哪些层要挖、挖多大的范围
先说结论:独立网络变压器下方的内层参考铜,必须挖掉;表层走线也不能从变压器底下穿。挖空范围以变压器器件本体为基准,向四周外扩至少1.5mm到2mm,这个数值主要参考器件数据手册里的推荐禁布区。
我现在的做法是这样的:
- 在变压器正下方所有内层(包括L2、L3以及更深层)统一画一个禁布区(Keep-Out),范围是器件本体四周各外扩2mm左右,保险起见可以做到2.5mm。
- 变压器下方表层原则上不铺铜,表层信号线绝对不允许从变压器下面穿过。
- 变压器四周用一圈接地铜皮围起来,铜皮上打密集过孔连接到内层地平面。这圈接地过孔的作用类似法拉第笼,能把变压器附近的高频噪声约束在局部区域,减少向外的辐射。
提示:挖空不是把变压器附近所有的地都砍掉,变压器周围一圈"接地围墙"反而非常重要。我见过有人用力过猛,把变压器周围大面积铜皮全删了,结果共模噪声没有地方泄放,EMI测试照样不过。
1.3 挖空边界与差分走线的矛盾处理
挖空之后,新的问题来了:差分走线从PHY芯片出来,一路奔向变压器焊盘,越靠近变压器,差分线下方就越接近挖空边界。当差分线进入挖空区域的上方时,原本紧贴L2层的参考平面突然断开,差分线的特性阻抗必然发生突变。这个突变无法完全避免,但可以控制影响范围。
我的经验是:差分线在到达变压器焊盘之前,应该保持正常的平行走线,直到距离焊盘约50到100mil处再分开,以45°角进入变压器原边焊盘。这样即使挖空边界处的参考平面不完整,失配段也只有很短的几十mil,对整体信号质量影响有限。同时,差分走钱不要贴着挖空边界一直平行延伸,尽量让挖空边界与差分线走向呈60°以上的夹角,可以减小边缘耦合效应。
说白了,变压器挖空就像做手术,切除病灶的同时还得保护周围组织。挖少了,共模辐射超标;挖多了,差分阻抗突变。真正合适的范围,是把器件数据手册的推荐值、你的层叠结构、差分走线的走向综合起来之后定下来的。
2. 差分线等长:从PHY焊盘到变压器引脚,少记一段就翻车
2.1 我犯过的错:等长范围记错了
第二个教训,也是最容易让人掉坑里的一个:差分等长到底从哪儿算到哪儿?
第一次做千兆网口时,我在布线软件里设了Diff Pair,并且对着PHY芯片手册把差分对内等长容差设成5mil,觉得万事大吉。结果板子回来,千兆link倒是能建立,但长时间大量数据传输时偶尔会出现CRC错误。后来用示波器看差分眼图,发现千兆4对线中有一对信号完整性明显不如其他三对。
排查到最后,发现我的等长范围设置错了:当时只把PHY芯片焊盘到中间过孔的走线段做了等长约束,过孔之后到变压器焊盘的那一小段走线完全没纳入等长范围。那段线虽然只有100多mil,但千兆差分信号速率625Mbps(DDR模式有效信号速率),100多mil的误差已经足以让差分对内时序产生明显偏差。
正确的等长范围应该是信号的全路径:从PHY芯片引脚焊盘开始,经BGA/贴片引脚、过孔、走线,一直到网络变压器原边引脚焊盘为止。如果用的是集成变压器的RJ45座子,那就是从PHY芯片引脚到RJ45插座信号焊盘的全路径,千万别漏掉中间的任何一段。
2.2 蛇形绕线的细节:间距、绕线方式、绕线位置
等长范围修好之后,第二个问题是绕线方式。很多EDA工具都有自动绕线功能,鼠标一点就是一片蛇形走线,但自动绕线的参数不调好,等于白绕。
蛇形绕线的核心规则:相邻绕线段之间的间距不能小于3倍线宽,最好做到4到5倍线宽。如果间距太小,相邻绕线段之间会产生耦合,差模信号的一部分会转换成共模信号,这会让你的EMI测试雪上加霜。一个简单的记忆方法:绕线间距宁可大一点,也不要抠门,耦合的代价比多绕一点的距离大得多。
绕线方式上,尽量用圆弧或者钝角折返,不要用90°直角。虽然高速差分信号对直角没那么敏感,但在返角处阻抗还是会发生变化,直角越尖锐,阻抗突变越明显。如果条件允许,绕线幅度(也就是蛇形齿的宽度)不要做得太大,一般控制在信号线宽的5到8倍左右。
还有一个很关键但容易被忽略的点:绕线区的位置。同样是在等长范围内绕线,放在PHY芯片附近绕比放在变压器附近绕要安全得多。原因是绕线区本身由于密集走线,会向外辐射一定的高频能量,而变压器附近本身就是EMI敏感区,在变压器旁边再放一片蛇形绕线,等于在噪声源旁边加了根天线。
2.3 等长容差设置:百兆、千兆、2.5G是三个不同量级
等长容差到底卡多少,每个速率等级差别非常大,别一概而论。这是我整理的一份参考值,实际设计时建议结合PHY芯片手册确认:
| 速率 | 差分对内等长 | 差分对间等长 | 说明 |
|---|---|---|---|
| 10/100M(100Base-TX) | ±20mil以内 | 建议±100mil以内 | 信号速率低,容差较宽松,但要控制整体线长不要过长 |
| 1000M(1000Base-T) | ±5mil以内 | ±50mil以内 | 千兆信号速率高,对内等长必须严格,对间等长看PHY要求 |
| 2.5G/5G | ±2到3mil | ±20到30mil以内 | 速率更高,建议用仿真验证时序 |
| PoE叠加千兆 | 同千兆要求 | 同千兆要求 | 注意PoE电源走线与信号走线的隔离,不要挤占等长空间 |
设置容差时还有一个细节:同一对差分线,PHY芯片内部的引脚物理位置决定了出线长度天然就不一样。比如一个0.5mm间距的QFN封装,相邻两个引脚之间的长度差可能有十几mil,这个误差在设计约束时要提前算进去。也就是说,你在PCB布线时留给绕线的余量,要大于实际容差要求,否则最后会发现绕线绕不进去,或者绕完线与约束冲突。
3. 100Ω阻抗跑偏:线宽只是表象,叠构才是失控的根源
3.1 同样的线宽,换个叠构就完全变味
网口差分线对的标准阻抗是100Ω差分阻抗,这个是行业共识。但怎么把100Ω落实在具体的线宽和线距上,学问全在层叠里。
我印象最深的一次翻车:第一版板子用1.6mm板厚,表层差分线设成5mil线宽、8mil线距,板厂实测差分阻抗大概在103Ω左右,非常理想。到了第二版,客户结构要求整板厚度改成0.8mm,我以为千兆网口的差分参数不用动(毕竟原理图一模一样),直接把旧工程复制过去改完层叠就发板了。结果板厂阻抗测试报告出来,同样5mil线宽、8mil线距,阻抗变成了88Ω,完全偏离目标。
问题就出在叠构变更。0.8mm板厚的表层到参考平面之间的距离比1.6mm板厚小了一大截,介质厚度变小,特性阻抗必然降低。要保持100Ω,必须把线宽收窄、线距增大,重新计算才能找到合适的参数组合。这个教训告诉我的一个道理:换叠构,一定要重新跑阻抗计算,没有任何捷径。
3.2 用参数说话:叠构怎么算、误差怎么控
差分阻抗的计算公式不值得手算,现在的工具很多,业界常用的是Polar Si8000/Si9000或者免费的开源阻抗计算器。关键是计算时涉及的几个参数,你要知道它们是怎么来的:
- 介质层厚度H1:表层信号线到参考平面之间的绝缘层厚度,这个必须向板厂要叠构表,不要凭经验猜。同样的1.6mm板厚,不同板厂、不同板材的H1可能从0.1mm到0.2mm不等,算出来的阻抗天差地别。
- 介电常数Dk:普通FR4板材的介电常数通常在4.2到4.6之间,高速板材可能到3.5到4.0。很多工程师习惯用默认值4.5,但如果板厂用的是高 Tg 板材或者高速板材,Dk会不一样,算出来的结果也会偏。
- 线宽W和线距S:这两个参数是在计算中确定的,不是先定了再算。一般流程是先假设线宽4到6mil、线距6到10mil,然后根据叠构算出实际阻抗,再微调W和S直到阻抗落在100Ω±5%范围内。
- 阻焊层的影响:表层差分线的阻焊层会降低差分阻抗约2到5Ω,所以如果设计目标是100Ω,在计算时可以把目标阻抗设成102到105Ω,给阻焊层留一点余量。这个余量在实际生产中也更有商量空间。
注意:拿到板厂的阻抗测试报告后,先看测试线(coupon)是否和你实际走线的层叠、线宽一致。有些板厂测试的是专门的阻抗测试条,如果测试条位置和你的实际走线不在同一层叠区域,数据参考价值就会打折扣。
3.3 表层与内层阻抗:走哪层也要有讲究
网口差分线走表层还是内层,很多工程师觉得无所谓,其实这个选择会直接影响阻抗控制的难度。
表层微带线结构简单,计算相对容易,走线也方便绕线,但表层信号会直接向空间辐射,EMI风险比内层大。内层带状线结构被上下两层参考平面夹在中间,辐射屏蔽效果好,信号完整性更稳,但层叠设计更复杂,而且如果其中一个参考平面被变压器挖空区切断了,内层走线就失去了参考,阻抗会非常难看。
我的建议是:普通产品、对成本敏感的板子,网口差分线尽量走表层,配合完整的地平面和变压器挖空设计,阻抗和EMI都能控制得住。如果板子速率高、空间紧张,或者必须走内层,那一定要确认内层走线下方和上方的参考平面都是完整的,没有被挖空区域切割,并且在过孔换层的地方做好回流地过孔。
第三个教训总结下来就一句话:阻抗是层叠的儿子,线宽只是表观参数。先拿叠构表再谈线宽线距,别拿以前的参数直接硬套。
4. 跨分割与返回路径:挖空边上的绕线区,每个齿都是一根天线
4.1 过孔换层时,回流路径最容易断
第四个坑,是我在第二版改板时才彻底想明白的,关于电流返回路径的问题。
网口信号走线经常需要换层,比如PHY芯片在正面,变压器在背面,或者走线为了躲开其他电路从表层换到内层再换回表层。很多人换层时只打了信号过孔,旁边没配地过孔,这样信号从表层换到内层时,回流电流找不到相邻层的直接通道,只能绕到远处的某个地过孔再回来。这一个绕路,就在信号路径旁边画了一个大大的电流环,环面积越大,向外辐射的噪声越强。
网口的差分信号速率从125Mbps到2.5Gbps都有,这个频段正好是辐射发射测试关注的重点范围,回流环路稍微大一点,EMI测试就会露马脚。
我的做法是:每一对差分信号过孔旁边,紧贴着放一颗地过孔(0.3mm孔径,间距控制在25到40mil以内),让回流电流跟着信号同步换层,环路面积缩到最小。如果是密集布线区域放不下一颗地过孔,那就把信号过孔排得紧凑一些,两组差分对的过孔之间共用地过孔,效果也不错。
4.2 绕线区放错位置,所有绕线齿都在辐射
这个坑其实和等长绕线的位置有关,但单独拎出来说,是因为它和参考平面断裂之间的关系更直接。
有一版设计,为了把等长绕线区压缩在不影响布局的地方,我把蛇形绕线放在了网络变压器旁边、挖空区域的边界位置。检查DRC的时候一切正常,差分等长也都满足,但板子做好之后EMI预扫又出问题了,高频段多了好几个毛刺,而且频点还在千兆信号的谐波附近。
后来用近场探头扫了一遍,发现辐射最强的位置就是变压器旁边的那个蛇形绕线区。原因很简单:那个区域距挖空区太近,蛇形绕线的每一个齿下方正好有部分参考平面是缺失的,相当于每个走线段都在参考平面断裂边缘上,阻抗不连续,信号在每一段转弯都会有反射,这些反射叠加起来就变成了共模噪声往外辐射。
等长绕线区不是想放哪儿就放哪儿的。绕线区必须放在参考平面完整的地方,最好是放在PHY芯片同侧的完整地平面上方,让每一段绕线都有实打实的参考。变压器挖空边上的"黄金区域",看着空间充足,实际上是最容易埋雷的地方。
4.3 补救和预防手段
万一已经遇到了参考平面断裂导致的信号问题,有几个补救手段可以试:
- 在走线断裂参考的区域下方相邻层补一块局部地铜,通过过孔和主地平面连接,相当于给断裂区架一座桥。
- 调整走线路径,让信号尽量远离挖空边界,如果空间允许,距离建议至少3到5倍介质厚度。
- 在绕线区的两侧走线边缘加一条平行地线(Guard Trace),并且在地线上密集打过孔接地,起到屏蔽作用。
但最好的做法还是从布局阶段就把风险避免掉:先把变压器挖空区画好,再把等长约束设好,最后在布线时专门检查一遍差分信号与挖空边界的距离,不要等到板子回来拿频谱仪对着压。
5. 共模电感和Bob Smith电路:摆位顺序比元件选型更容易翻车
5.1 摆位顺序决定防护效果
第五个坑,来自外置的共模电感和Bob Smith电路的布局。
现在的PHY芯片参考设计里,PHY和变压器之间往往建议加一颗共模电感(Common Mode Choke),用来抑制差分信号在传输过程中产生的共模电流。共模电流是辐射发射的主要来源,共模电感的本质就是给共模电流一个高阻抗的"阻挡点",同时不影响差模信号正常传输。
但共模电感不是随便找个位置串进去就行的。我踩过的坑是:把共模电感放在了PHY芯片旁边,变压器端到共模电感之间的差分线走了很长一段。结果共模电感确实挡了共模,但它和变压器之间的那段长走线又产生了新的共模电流,而且因为没有共模电感在后面抑制,这段走线就直接变成了辐射天线。
正确的摆位顺序是:PHY芯片→短走线→共模电感→紧挨着变压器引脚。共模电感离变压器越近,抑制效果越好。我后来把共模电感从PHY旁边挪到了变压器原边引脚附近,同样的一版硬件,辐射发射只改了这一个位置,测试余量多了4到5个dB。
5.2 Bob Smith星形网络的走线要短而齐
Bob Smith电路的作用是给网线侧(变压器次级侧)的共模电流提供一个低阻抗泄放路径,典型接法用三颗75Ω电阻构成星形网络,公共点通过高压电容接到连接器屏蔽壳。这颗电容的值一般取1000pF到2200pF,耐压2kV。
很多人在布局Bob Smith电路时只关心阻值对不对,不关心星形连接的三颗电阻怎么摆。我的经验是:三颗电阻尽量围绕中心抽头引脚紧凑放置,星形公共点到三颗电阻的走线长度尽量一致,走线宽度可以适当加宽到10mil以上,降低寄生电感的差异。
如果三颗电阻中有一颗放得远了,公共点到这颗电阻的走线就会比其他两路长出一截,这个小电感量在低频时无感,但到了百兆甚至千兆频率下,星形网络的对称性就打了折扣,泄放效果就不均衡,最终反映到EMI测试上就是某个频点压不下去。
另外,Bob Smith电路的接地点(高压电容的另一端)要单独打过孔连接到连接器屏蔽壳的地,不要和附近其他电路的地混在一起走长线。星形公共点和电容之间的连线要求短且直接,这条路径是所有共模电流的"下水道",下水道堵了,地面上全是水。
5.3 一个共模电感摆放的实测对比
这里分享一个真实的对比数据:同样一块双网口板,网口A的共模电感离变压器约80mil,网口B的共模电感离变压器约500mil(当时为了布线方便做的差异化处理)。在相同测试条件下,网口B的辐射发射在125MHz到250MHz频段的测试数据比网口A普遍高出3到6dB,其中一个频点直接压线。后期把网口B的共模电感位置调整到和网口A一致后,两块网口的数据基本重合。
元件选型重要,但布局摆位同样重要,甚至更重要。一颗顶级参数的共模电感,如果摆错了位置,效果可能还不如一颗普通电感摆对了位置。
6. TVS防护管:器件焊上了,接地路径却让防护形同虚设
6.1 防护不是把TVS放上去就完了
网口裸露在设备外部,经常被用户热插拔、雷击浪涌、静电放电这些极端情况考验。所以网口附近通常要加TVS管(瞬态电压抑制二极管),防止外部浪涌打穿变压器或PHY芯片。
但TVS不是焊接上就万事大吉了。我有一次的产品在客户现场出现PHY芯片被打坏的情况,返修回来查板子,TVS管焊得好好的,阻值也正常。仔细检查Layout才发现,TVS管的地引脚连到了一小块孤立的铜皮上,铜皮又通过一条很细的走线连接到远处的接地点。浪涌过来时,TVS管泄放电流的路径上寄生电感太大,TVS还没完全动作,残压已经超过后级器件的承受范围,结果就是TVS完好无损,PHY先阵亡了。
这个案例告诉我一句话:TVS的动作速度不仅取决于器件本身的响应时间,还取决于它的接地泄放路径。TVS管再快,接地路径上的寄生电感一大,效果全被吃掉。
6.2 接地过孔和走线长度的教训
正确的TVS布局,核心就两个字:短、粗。
- TVS管要尽量靠近RJ45连接器放置,信号从连接器进来之后先过TVS,再过变压器,顺序不要反。
- TVS的信号引脚到连接器信号引脚之间的走线越短越好,一般不要超过150mil。
- TVS的地引脚直接打过孔到地平面,过孔孔径不要小于0.3mm,数量至少2个,最好3个以上并联,打过孔的位置紧贴焊盘。
- 不要把TVS接地引脚用一根细走线连到很远的地过孔,细走线在浪涌电流面前就是一粒大电阻加一个电感。
我还见过一种错误做法:TVS管和变压器之间隔了大半个板子,这样就算TVS响应再快,它前面那段长走线已经把浪涌引到了后级器件旁边。防护器件的本质是"把浪涌在靠近入口的地方拦掉",而不是"在网口附近某个角落安一个管事不管事的保安"。
6.3 TVS选型对高速网口的影响
另外一个容易忽略的是TVS管的结电容。很多大功率TVS管结电容能达到几十上百皮法,这个电容并联在差分线上,会把高速信号的边沿磨圆,严重影响千兆网口的信号质量。
千兆网口必须选低结电容TVS,结电容建议控制在5pF以内,越低越好。选型时看到一个TVS参数里的结电容值,先算一下它并联在100Ω差分线上带来的带宽损失,如果结电容超过10pF,基本不建议用在千兆网口上。
工业产品的网口设计,通常采用TVS管加变压器加共模电感三级防护的组合。每一级的位置、走线、接地都要单独设计好,少了一环或者一环位置不对,整个防护链的可靠性都会大打折扣。
7. 中心抽头与屏蔽壳地:一个小引脚,毁掉整个网口的EMI表现
7.1 中心抽头不能照抄上一块板
第七个坑,也是最容易"随缘"的一个点:网络变压器的中心抽头到底怎么接。
很多工程师做网口设计时习惯直接复制旧工程的原理图,特别是变压器的中心抽头接法,经常是"上一块板怎么接,这块板就怎么接"。但网络变压器的中心抽头接法和PHY芯片型号是强相关的:有的PHY要求原边中心抽头接电源,有的要求通过一颗电阻或磁珠接电源,有的则是接GND。接错了,链路也能工作,但共模电压会偏离正常范围,辐射发射、信号完整性都会恶化。
我踩过的一次坑:某项目从PHY芯片A换成芯片B,原理图几乎照搬芯片A的参考设计,结果板子回来之后,用PHY B的寄存器工具读信号质量参数,发现某两对线的信号余量明显比其他线对差,但走线长度、阻抗都是符合要求的。最后逐项对照新的参考设计,发现新PHY B要求变压器原边中心抽头通过0.1uF电容接电源,而我在PCB上还沿用着芯片A的接法——直接接GND。修改接法之后,信号余量数据恢复到了正常水平。
所以每换一颗PHY芯片,变压器中心抽头的接法必须重新核对数据手册,以最小化参考设计为准,一份旧原理图直接抄下去的风险很大。
7.2 连接器屏蔽壳该接哪里的地
RJ45连接器的金属屏蔽壳(Shield)的接地方式,同样是个容易翻车的地方。很多人觉得屏蔽壳随便接到PCB的地上就行,其实这里有个地环路的问题。
RJ45金属壳分布在网口的最外边,经常被直接触碰到。如果屏蔽壳直接大面积接到系统的信号地(GND),外部浪涌或者静电打上来时,干扰能量会直接灌进信号地平面,反而把噪声带到整个板卡。更合理的做法是:RJ45屏蔽壳连接到机壳地(Chassis GND),机壳地和信号地之间通过高压电容(典型值1000pF到2200pF,耐压2kV)连接。这样直流隔离、射频联通,既避免了地环路,又给高频共模电流提供了一条回流通路。
如果设计机箱没有独立的机壳地概念,PCB上至少要做到:屏蔽壳通过高压电容接到信号地,不要大面积直连。连接器焊盘周围还要打多个接地过孔,降低屏蔽壳到地平面的寄生电感。
7.3 现在我的网口设计固定动作
写到最后,分享一下我现在做网口设计时雷打不动的几个固定动作:
拿到一个新网口项目,布局阶段第一件事是把变压器挖空区、差分对约束、共模电感位置、TVS位置、屏蔽壳接地方案全部在PCB上明确出来,然后才开始走线。每一对差分线走完,都要用规则检查跑一遍,专门检查参考平面连续性。板子发出去之前,把叠构参数和阻抗计算表导出,和板厂逐个参数核对一遍。这些动作看起来琐碎,但每一件都是在为之前踩过的坑交学费。
网口PCB设计没有太多玄学,几乎所有问题都能追溯到回流路径、参考平面、器件摆位和接地处理这几个维度上。把这些细节控住了,网络变压器挖空也好,差分线等长也好,都不再是拦路虎。