ARTICLE DETAIL

资讯详情

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

高速PCB设计实战:信号完整性与电源完整性从理论到量产

高速PCB设计实战:信号完整性与电源完整性从理论到量产 1. 为什么高速PCB设计绕不开SI与PI这两座大山做硬件这行十几年我见过太多项目在原理图阶段信心满满PCB打样回来一测就翻车的情况。信号波形振铃、过冲、眼图闭合电源纹波大得离谱芯片莫名其妙复位——这些问题十有八九都指向同一个根源信号完整性Signal IntegritySI和电源完整性Power IntegrityPI没做好。SI和PI不是两个孤立的概念它们是一枚硬币的两面。信号在传输线上跑参考的就是电源和地平面电源平面上的噪声会直接耦合到信号上信号翻转产生的瞬态电流又会反过来污染电源。很多新手工程师喜欢把它们分开处理结果就是按下葫芦浮起瓢改完信号电源又出问题。这篇文章适合谁看如果你正在做DDR、PCIe、USB、以太网这类高速接口的PCB设计或者你被电源纹波、信号过冲搞得焦头烂额又或者你刚入行想系统理解SI/PI到底在解决什么问题那这篇内容就是写给你的。我会从传输线理论讲起一路拆到叠层设计、阻抗匹配、去耦电容选型、平面分割、仿真验证把每个环节的“为什么”和“怎么做”都掰开揉碎讲清楚。先给一个核心结论SI和PI的本质都是控制阻抗和回流路径。信号要的是全程阻抗一致、回流路径最短电源要的是从VRM到芯片引脚的全链路低阻抗。理解了这句话后面所有的设计决策都有了判断依据。2. 传输线理论信号完整性分析的起点2.1 什么时候必须把走线当传输线看很多工程师有个误区觉得只有GHz级别的信号才需要考虑传输线效应。实际上判断标准不是频率而是信号的上升时间与走线传播延迟的关系。经验公式是这样的当走线的传播延迟超过信号上升时间的1/6时就必须按传输线处理。举个例子FR-4板材上信号的传播速度大约是6英寸/纳秒约15cm/ns。如果一个信号的上升时间是500ps那么临界长度就是500ps × (1/6) × 6英寸/ns ≈ 0.5英寸也就是约1.27cm。也就是说一条超过1.27cm的走线如果传输500ps上升沿的信号就已经表现出传输线特性了。现在很多芯片的上升时间都在100ps甚至更短临界长度可能只有2-3mm。所以别再拿“我这才100MHz”当借口了上升时间才是关键。传输线的两个核心参数是特征阻抗Z0和传播延迟。特征阻抗由单位长度的电感L和电容C决定Z0 √(L/C)。对于PCB上的微带线阻抗主要取决于线宽W、介质厚度H、铜厚T和介电常数εr。这里给一个实用的微带线阻抗估算公式IPC-2141Z0 ≈ 87/√(εr1.41) × ln(5.98H/(0.8WT))这个公式在0.1W/H2.0、1εr15的范围内精度不错。我一般用它做初步估算精确值还是靠阻抗计算工具或场求解器。2.2 反射、振铃与阻抗匹配的实操逻辑信号在传输线上遇到阻抗不连续就会反射。反射系数Γ (Z_load - Z0)/(Z_load Z0)。如果负载开路Γ1全反射如果负载短路Γ-1也是全反射但极性相反只有负载阻抗等于特征阻抗时Γ0才没有反射。实际设计中阻抗不连续主要来自几个地方走线宽度突变、过孔、连接器、芯片引脚电容、分支线stub。每一种都会产生反射多个反射叠加就形成振铃。解决反射的手段就是端接匹配常见的有四种源端串联端接在驱动器输出端串一个电阻R使R Z_driver ≈ Z0。优点是功耗低、只加一个电阻缺点是会增加上升时间RC充电不适合高速信号。我一般用在时钟、低速控制信号上。终端并联端接在接收端并一个电阻到地或到VCC阻值等于Z0。优点是简单直接缺点是持续耗电对驱动器电流能力有要求。戴维南端接用两个电阻分压等效阻抗等于Z0同时提供偏置。适合总线类信号但静态功耗大。AC端接电阻串一个电容到地阻值等于Z0。优点是几乎不耗直流功耗缺点是电容引入额外延迟需要计算RC时间常数。实操心得端接电阻的摆放位置比阻值更重要。源端端接必须紧靠驱动器引脚终端端接必须紧靠接收器引脚。我见过有人把端接电阻放在走线中间结果反射照样存在白白浪费了板子空间。2.3 串扰的成因与抑制手段串扰是相邻走线之间的电磁耦合。分为容性耦合电场和感性耦合磁场。容性耦合产生的噪声电流正比于dV/dt感性耦合产生的噪声电压正比于dI/dt。两者叠加在前向远端和后向近端表现不同近端串扰NEXT持续时间长、幅度较小远端串扰FEXT幅度大但持续时间短。影响串扰的关键因素有三个线间距、平行走线长度、参考平面高度。线间距越大串扰越小经验值是间距≥3倍线宽时串扰可以控制在可接受范围。平行走线长度越长耦合越多所以高速信号要尽量垂直交叉而不是长距离平行。参考平面越近走线与平面之间的耦合越强走线之间的耦合相对越弱串扰就越小。还有一个容易被忽略的点回流路径。如果信号的回流路径被分割回流电流不得不绕远路就会形成一个大的环路既增加辐射又增加串扰。所以高速信号下面必须有一个完整的地平面绝对不能跨分割。我个人的经验是在布线密度允许的情况下高速差分对之间至少保持5倍线宽的间距单端高速信号之间保持3倍线宽。如果实在挤不下宁可在中间加一根地线做隔离也不要让两根高速线紧挨着走。3. 电源完整性从VRM到芯片引脚的全程阻抗控制3.1 电源分配网络的目标阻抗计算PI的核心目标就一个让电源分配网络PDN在芯片工作频段内的阻抗低于目标阻抗。目标阻抗的计算公式是Z_target (V_nominal × ripple%) / I_transient举个例子一个1.0V的电源轨允许纹波3%最大瞬态电流5A那么Z_target (1.0 × 0.03) / 5 6mΩ。这意味着从VRM输出到芯片引脚的整个PDN在芯片关注的频率范围内阻抗都必须低于6mΩ。这个6mΩ是什么概念一段普通的PCB走线1盎司铜厚、10mil宽、1英寸长直流电阻大约是50mΩ。所以光靠走线根本达不到目标阻抗必须靠去耦电容在特定频段提供低阻抗通路。PDN的阻抗随频率变化不同频段由不同元件主导频段主导元件作用DC-1kHzVRM反馈环路稳压精度1kHz-1MHz大容量电解电容/钽电容储能、低频滤波1MHz-50MHz多层陶瓷电容MLCC中频去耦50MHz-500MHz小封装MLCC、平面电容高频去耦500MHz芯片内部电容、封装电容最高频去耦3.2 去耦电容的选型与摆放策略去耦电容的作用是在芯片需要瞬态电流时就近提供电荷避免电流从远处的VRM经过长路径流过来产生电压降。选电容的时候很多人只看容值这是远远不够的。电容的等效串联电感ESL和等效串联电阻ESR同样关键。一个MLCC的阻抗频率曲线是这样的低频时呈容性阻抗随频率下降到达自谐振频率SRF时阻抗最低等于ESR超过SRF后呈感性阻抗随频率上升。所以每个电容只在自谐振频率附近的一段频段内有效。小封装电容的ESL更小自谐振频率更高。0402封装的MLCC ESL大约在0.4-0.6nH0603大约0.7-1.0nH0805大约1.0-1.5nH。所以高频去耦必须用小封装。我的选型策略是这样的大容量储能每个电源轨放1-2颗10uF-100uF的钽电容或电解电容放在VRM输出附近负责低频段。中频去耦每个芯片电源引脚附近放1-2颗0.1uF-1uF的0402或0603 MLCC负责1MHz-50MHz。高频去耦对于高速芯片在电源引脚最近处放0.01uF-0.1uF的0201或0402 MLCC负责50MHz以上。摆放原则电容越靠近芯片电源引脚越好过孔越短越好电容到引脚之间的走线越宽越好。我见过有人把0.1uF电容放在芯片背面过孔打了5mm长结果高频去耦效果几乎为零。正确的做法是电容焊盘直接打过孔到电源平面和地平面过孔距离焊盘不超过1mm。注意多个电容并联时由于ESL的存在高频段会出现并联谐振峰。如果谐振峰落在芯片工作频段内反而会放大噪声。解决办法是选择ESL相近的电容或者用不同容值但SRF错开的电容组合把谐振峰压平。3.3 平面分割的取舍与回流路径设计电源平面分割是个双刃剑。分割的目的是隔离不同电源域防止噪声通过电源平面耦合。但分割带来的问题是跨分割的信号回流路径被切断。举个例子一个信号从电源域A的区域走到电源域B的区域如果参考平面被分割了信号的回流电流无法在参考平面上直接流过分割缝只能绕道走。绕道意味着回流环路面积增大电感增大辐射增大同时信号看到的阻抗也不连续产生反射。所以我的原则是能不分就不分必须分的时候确保没有高速信号跨分割。如果实在无法避免可以在分割缝两侧加缝合电容通常0.01uF-0.1uF为回流电流提供一条高频通路。但缝合电容的效果有限最好的办法还是调整布局让高速信号走在完整的参考平面上。对于混合信号系统模拟数字我通常的做法是地平面保持完整用分区布局来隔离模拟和数字而不是分割地平面。模拟信号和数字信号在物理上分开走线各自的回流都在同一个地平面上但回流路径自然分开互不干扰。只有在极高精度的模拟电路中才考虑分割地平面而且分割后模拟地和数字地要在单点连接。4. 叠层设计与阻抗控制把理论落到PCB上4.1 四层板到八层板的叠层方案对比叠层设计是SI/PI的基础它决定了阻抗控制的可行性、回流路径的质量、以及电源平面的性能。很多项目在叠层上省成本结果后面花几倍的时间调试得不偿失。四层板是最常见的低成本方案典型叠层是Top信号- GND - PWR - Bottom信号。这种叠层的问题是Top和Bottom的信号参考平面分别是GND和PWRPWR平面上的噪声会耦合到Bottom的信号上。而且电源和地平面之间的距离较大通常0.5-1mm平面电容很小高频去耦效果差。六层板的典型叠层是Top信号- GND - 信号 - PWR - GND - Bottom信号。这种叠层给高速信号提供了更好的参考Top参考GND第三层信号参考PWR和GNDBottom参考GND。电源和地平面可以做得更近增加平面电容。八层板的典型叠层是Top信号- GND - 信号 - PWR - GND - 信号 - GND - Bottom信号。这种叠层几乎每个信号层都有一个相邻的GND平面回流路径非常好。电源平面和地平面之间的距离可以做到2-4mil平面电容显著增加。层数典型叠层优点缺点适用场景4层S-G-P-S成本低电源噪声大回流差低速、低成本产品6层S-G-S-P-G-S性价比高部分信号参考PWR中速数字电路8层S-G-S-P-G-S-G-S信号质量好成本较高高速数字、DDR10层多GND/PWR最优SI/PI成本高高速背板、服务器我的建议是如果信号上升时间小于500ps或者有DDR3以上的接口至少用6层板最好8层。四层板只适合低速MCU、电源类产品。4.2 阻抗计算与走线参数确定确定了叠层之后就要计算走线参数来达到目标阻抗。以常见的50Ω单端信号和100Ω差分信号为例。对于微带线表层走线参考相邻GND平面假设FR-4的εr4.3介质厚度H4mil铜厚T1oz1.4mil要得到50Ω阻抗线宽W大约需要7.5mil。如果H6milW大约需要11mil。如果H3milW大约需要5.5mil。对于带状线内层走线上下都有参考平面同样的50Ω阻抗线宽会比微带线小一些因为上下都有介质有效介电常数更大。差分阻抗的计算更复杂涉及线宽W、线间距S、介质厚度H。对于100Ω差分常见的参数组合是W5milS5milH4mil微带线或者W4milS8milH6mil带状线。具体数值必须用阻抗计算工具确认不同板厂的工艺能力也不同。实操心得一定要和板厂确认阻抗控制能力。有些板厂只能做到±10%的阻抗公差有些能做到±5%。对于高速差分信号±10%的公差可能就够了对于射频信号可能需要±5%甚至更严。另外板厂的介电常数可能和标称值有偏差最好让板厂提供实际压合后的εr值。4.3 过孔设计与高速信号的过孔优化过孔是阻抗不连续的主要来源之一。一个普通的通孔过孔在高速信号上会表现出明显的电感大约1-2nH和电容大约0.3-0.5pF。过孔的电感会引起反射和信号衰减电容会延长上升时间。过孔优化的几个手段减小过孔直径过孔直径越小电容越小但电感变化不大。通常用8-10mil的钻孔成品孔径6-8mil。减小过孔长度过孔越长电感越大。对于高速信号尽量走表层或内层避免长通孔。如果必须换层用盲埋孔可以显著减小过孔长度。增加回流过孔在信号过孔旁边放一个地过孔为回流电流提供就近通路。地过孔距离信号过孔越近越好通常1-2mm以内。反焊盘优化过孔与平面之间的反焊盘anti-pad大小会影响过孔的电容。反焊盘越大电容越小但太大可能导致平面完整性变差。通常反焊盘直径比过孔焊盘大10-15mil。对于差分信号两个过孔要对称放置间距和差分走线间距一致。差分过孔之间的耦合可以降低过孔电感改善信号质量。5. 仿真验证用工具把问题扼杀在打样之前5.1 SI仿真工具选型与仿真流程说到SI仿真ADS是绕不开的工具。它提供了从传输线建模、S参数提取、眼图分析到通道仿真的完整流程。对于PCB设计常用的仿真类型包括阻抗扫描验证走线阻抗是否在目标范围内。S参数提取把走线、过孔、连接器建模成S参数分析插入损耗和回波损耗。眼图仿真用伪随机码PRBS激励通道观察眼图张开度、抖动、误码率。串扰分析分析相邻走线之间的耦合噪声。仿真流程一般是从PCB工具导出走线拓扑 → 在ADS中建立通道模型 → 设置激励和负载 → 运行仿真 → 分析结果 → 优化设计。我个人的习惯是在布线完成30%左右就开始做初步仿真不要等到全部布完再仿真。早期发现问题改起来成本低。特别是DDR的地址/命令总线、时钟线、高速差分对这些关键网络一定要提前仿真。5.2 PI仿真与PDN阻抗分析PI仿真的核心是PDN阻抗扫描。用仿真工具建立从VRM到芯片引脚的PDN模型包括平面、过孔、电容、VRM输出阻抗然后扫描频率看阻抗是否低于目标阻抗。如果某个频段阻抗超标就要分析是哪个元件导致的。常见的问题包括电容摆放太远过孔太长导致高频段阻抗偏高。电容容值选择不当自谐振频率没有覆盖芯片工作频段。电源平面太小平面电感太大中频段阻抗偏高。VRM反馈环路带宽不够低频段阻抗偏高。解决手段就是针对性地调整换更小封装的电容、缩短过孔、增加平面面积、调整VRM补偿网络。注意PI仿真对模型的准确性要求很高。电容的ESL/ESR参数必须用厂商提供的实际数据不能随便填。平面和过孔的模型要用场求解器提取不能简化太多。否则仿真结果和实测可能差很远。5.3 实测验证示波器与网络分析仪的使用仿真再准最终还是要靠实测验证。SI实测主要用高带宽示波器带宽至少是信号最高频率分量的3-5倍和探头。测量时要注意探头接地线要短最好用探头尖端的接地弹簧不要用长接地线。测量点要选在接收器引脚附近不要在走线中间测。触发方式要稳定用时钟或已知图案触发。PI实测主要用示波器测纹波用网络分析仪测PDN阻抗。测纹波时要用AC耦合、带宽限制通常20MHz、短接地线。测PDN阻抗时要用阻抗探头或同轴电缆注意校准。我踩过的一个坑用长接地线测电源纹波结果测出来200mV的纹波换了短接地弹簧之后只有20mV。长接地线引入了额外的环路电感把开关噪声耦合进来了。所以测量方法不对数据完全不可信。6. 常见问题与排查技巧实录6.1 信号过冲与振铃的排查思路信号过冲和振铃是最常见的SI问题。排查步骤确认测量方法是否正确探头接地是否短带宽是否足够测量点是否在接收端检查端接是否匹配源端串联电阻是否紧靠驱动器终端并联电阻是否紧靠接收器阻值是否等于Z0检查走线阻抗是否连续有没有宽度突变过孔是否优化连接器阻抗是否匹配检查回流路径是否完整信号下面有没有完整参考平面有没有跨分割检查串扰相邻走线间距是否足够有没有长距离平行常见原因和解决方案现象可能原因解决方案过冲大、振铃明显端接不匹配调整端接电阻确保紧靠引脚上升沿变缓走线太长、负载电容大缩短走线减小负载波形有台阶阻抗不连续检查过孔、连接器、分支线噪声大回流路径不完整确保参考平面完整加缝合电容串扰明显线间距不足增加间距加地线隔离6.2 电源纹波超标的定位与解决电源纹波超标的原因很多定位方法用示波器AC耦合测纹波确认测量方法正确排除测量误差。分频段分析低频纹波1MHz通常是VRM环路问题中频纹波1-50MHz通常是去耦电容问题高频噪声50MHz通常是平面谐振或芯片开关噪声。检查去耦电容容值是否合适封装是否够小摆放是否够近过孔是否够短检查平面平面面积是否足够平面分割是否合理有没有跨分割检查VRM反馈环路是否稳定补偿网络是否合适输出电容是否足够我遇到过一个案例1.2V电源纹波超标低频段正常50MHz以上噪声很大。查了半天发现是去耦电容的过孔太长0402电容的焊盘到过孔有3mm走线ESL增加了大约2nH高频去耦完全失效。把电容移到更靠近芯片的位置过孔直接打在焊盘上噪声立刻降下来了。6.3 跨分割与回流路径问题的快速判断跨分割问题的判断方法很简单看信号走线下面的参考平面是否完整。如果信号从电源域A走到电源域B参考平面被分割了那就是跨分割。快速判断技巧在PCB工具中打开平面层看信号走线是否跨越了平面分割缝。如果跨越了检查是否有缝合电容在分割缝附近。如果没有缝合电容或者缝合电容距离太远那就是问题。解决方案调整布局让高速信号走在完整平面上。如果无法调整在分割缝两侧加缝合电容容值0.01uF-0.1uF距离信号过孔越近越好。对于差分信号确保两根线都不跨分割或者都跨在同一位置。实操心得跨分割问题在DDR设计中特别常见。DDR的地址/命令总线经常需要在不同的电源域之间走线如果参考平面分割了信号质量会明显下降。我的做法是DDR区域的地平面保持完整电源平面可以分割但信号参考地平面不参考电源平面。这样即使电源分割了信号回流也不受影响。7. 从设计到量产SI/PI的工程化落地建议7.1 设计规则检查清单在PCB投板之前我通常会过一遍SI/PI检查清单叠层是否合理信号层是否有相邻参考平面阻抗是否控制单端50Ω差分100Ω或按协议要求端接是否到位源端/终端电阻是否紧靠引脚过孔是否优化高速信号过孔是否加了回流地过孔去耦电容是否到位容值组合是否覆盖工作频段摆放是否够近平面是否完整高速信号是否跨分割串扰是否控制高速线间距是否足够仿真是否通过眼图、阻抗、串扰是否达标这份清单看起来简单但每一条背后都是血泪教训。我见过太多项目因为漏了其中一条打样回来调试几周甚至几个月。7.2 与板厂和贴片厂的协作要点SI/PI不只是设计工程师的事板厂和贴片厂的配合也很关键。和板厂要确认阻抗控制能力公差多少能否提供测试报告介电常数实际压合后的εr是多少是否随频率变化叠层结构介质厚度、铜厚是否和设计一致过孔工艺最小孔径、最小环宽、盲埋孔能力和贴片厂要确认电容贴装精度0402、0201电容能否准确贴装焊接质量有没有虚焊、立碑物料替换电容的ESL/ESR是否和设计一致我个人的经验是在项目早期就把板厂和贴片厂拉进来把要求和约束讲清楚。不要等到设计完了再去找板厂那时候发现工艺做不到改设计就来不及了。7.3 调试阶段的快速定位方法即使设计做得再好调试阶段还是可能遇到问题。快速定位的方法先看电源电源纹波是否正常如果电源有问题先解决电源。再看时钟时钟信号是否干净抖动是否在允许范围内再看关键信号眼图是否张开过冲是否超标最后看协议如果物理层没问题再查协议层。调试工具方面除了示波器和网络分析仪我还推荐用近场探头查辐射用TDR查阻抗不连续点。TDR特别有用可以精确定位走线上的阻抗突变位置比如过孔、连接器、分支线。我遇到过一个DDR无法初始化的问题用TDR一测发现地址线在某个过孔处阻抗从50Ω跳到了65Ω。查了一下那个过孔的反焊盘设计错了比正常大了很多。改了反焊盘之后DDR立刻正常初始化。所以TDR是排查阻抗问题的利器建议每个硬件团队都配一台。7.4 团队协作与知识沉淀SI/PI不是一个人的事需要硬件、PCB、仿真、测试多个角色配合。我的建议是建立设计规范把叠层、阻抗、端接、去耦、布线规则固化下来新项目直接套用。建立仿真模板把常用的仿真流程做成模板减少重复劳动。建立问题库把每次调试遇到的问题和解决方案记录下来形成团队知识库。定期复盘每个项目结束后复盘SI/PI相关的设计决策和调试过程提炼经验教训。我在团队里推行过一个做法每个项目投板前必须做一次SI/PI评审由不同项目的工程师交叉检查。这个做法很有效因为不同的人看问题的角度不同经常能发现设计者自己忽略的问题。有一次评审一个同事发现我的DDR走线跨了分割我自己检查了好几遍都没注意到。这种交叉评审比任何检查清单都管用。最后分享一个我个人的习惯每次打样回来第一件事不是上电而是先用万用表测一遍电源和地的阻抗确认没有短路。然后用示波器测一遍所有电源轨的纹波确认在允许范围内。最后才上电跑功能。这个顺序看起来简单但能避免很多“上电就冒烟”的悲剧。硬件调试安全第一循序渐进才能少走弯路。
返回列表