ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

10A电源PCB通流验证:用Saturn PCB Toolkit计算走线宽度与过孔数量

10A电源PCB通流验证:用Saturn PCB Toolkit计算走线宽度与过孔数量 做电源板或者大电流板子的时候最怕不是原理图出错而是画板时觉得“这条线够粗了”结果一上电铜皮直接变电热丝。10A电流在很多系统里属于常见值——DC-DC输出、电池主回路、电机驱动母线都会遇到——但很多人第一次面对10A走线时第一反应是凭经验拍脑袋加宽、铺铜、多打孔。问题是加宽多少打多少个孔孔打小了照样烧线宽算错了压降大到后端芯片直接欠压。这就是我为什么一直推荐用Saturn PCB Toolkit V8.02这类工具做通流验证它免费、免安装、启动快专门干这种“算电流、算宽度、算过孔”的活。这篇文章我就拿一个典型的10A电源路径做例子从走线宽度到过孔数量整套流程走一遍让你5分钟内拿到一个可以放心落到板子上的结果。1. 为什么电源路径必须做通流验证1.1 10A电流在PCB上到底有多“重”很多人对10A没概念觉得不就是比5A大一倍嘛线宽翻倍不就行了。真实情况远没那么简单。铜箔是导体也有电阻电流流过电阻就会发热发热后铜的电阻率还会继续升高形成正反馈。这个恶性循环在低电压大电流的系统里尤其致命。我用实际数据说明一下。常规1oz铜厚35µm的铜皮方块电阻大约0.5mΩ/sq什么意思就是任意一个1mm×1mm的正方形铜皮从这边到那边电阻是0.5mΩ。假设一根10cm长、5mm宽的走线相当于20个方块串在一起总电阻就是10mΩ左右。10A电流灌进去压降100mV发热功耗1W。看起来还好但如果这根走线缩到2mm宽电阻变成25mΩ10A下压降250mV发热2.5W1mm宽就更夸张压降500mV发热5W。这个热量被困在PCB内部温升一上来铜箔电阻进一步增大损耗更大轻则板子发烫、电压跌落重则铜箔起泡、走线熔断。另外还要考虑一个容易被忽略的点市面上的PCB打样工厂铜厚公差通常不是±01oz实际可能在30~38µm之间波动。你按35µm算出来的理论值本来就打了个富裕量如果工厂再给你做在下限裕量就所剩无几了。所以10A这种级别绝不是“看起来够粗”就能交差的必须老老实实算一遍。1.2 先算账再画板通流验证的完整逻辑对于电源路径通流验证我习惯把它拆成三步。第一步确定边界条件电流多少、允许温升多少、环境温度多少、用多厚铜箔、走外层还是内层。第二步算走线根据边界条件反推最小截面积再换算成具体宽度。第三步算过孔电源路径通常需要换层过孔是整条路径上截面最小的地方相当于水管里的缩颈必须单独校核数量和尺寸。很多人把“通流验证”理解成“算个线宽”这是不对的。走线宽度只是其中一个维度。电源路径往往要经过过孔、拐角、连接器焊盘、铺铜区域这些位置的截面积变化都会影响通流能力。截面积最窄的那一段才是整条路径的瓶颈。Saturn PCB Toolkit V8.02这类工具的价值就在这它把走线、过孔、平面层这几个关键计算都集成在一个面板里我不用记IPC-2221的公式也不用翻ANSI规范填参数就能拿到结果效率高很多。顺便说一句IPC-2221里的载流公式本身就是一个经验拟合公式外层使用系数k0.048内层k0.024这是因为外层铜箔直接接触空气散热条件好同样截面积能承受更大电流。这个细节版本很重要待会儿算内层走线时你会看到差距有多大。2. Saturn PCB Toolkit V8.02 关键参数设置2.1 工具面板逐项拆解Saturn PCB Toolkit V8.02打开后界面不算复杂但新手容易在里面迷路。我平时最常用的几个计算面板是Internal Layers、External Layers、Via Current/Temperature、Plane Current这几个。电源走线宽度用External Layers或Internal Layers算过孔用Via Current/Temperature算大面积铺铜载流用Plane Current算。先看走线计算面板输入项一般是Current电流、Temp Rise允许温升、Ambient Temp环境温度、Trace Length走线长度、Conductor Thickness铜厚、Substrate Thickness介质厚度、Width宽度。工具提供两个方向的计算你给电流它算最小宽度你给宽度它算最大载流。我建议两种都算一遍相互验证。需要注意一个容易踩的坑Trace Length这个字段不是必须的它不影响载流能力只用来算压降。很多人填了电流和铜厚忘了填走线长度结果电阻、压降、功耗都是“0”还以为工具坏了。其实工具默认认为你只关心宽度长度就按0处理了。我在实际使用时一定会把走线长度填上因为压降和功耗才是后端电路更关心的指标——很多电源芯片对输入电压下限有严格要求500mV的压降可能直接触发欠压保护。过孔计算面板这边的输入项稍微多一些Via Diameter过孔成品孔径、Finished Hole Size钻孔尺寸、Plating Thickness孔壁镀铜厚度、Length过孔长度也就是板厚、Current Per Via单孔电流、Number of Vias过孔数量。同样支持双向计算。我最常用的做法是先估一个单孔载流值比如0.3mm孔径的孔设定1.2A然后让工具去算总电流和温升再根据10A的总需求反推需要几个孔。2.2 铜厚、温升、环境温度怎么选不会错这三个参数是通流计算的灵魂很多人算出来的结果离谱基本都是这三个参数设置不合理。先说铜厚。常规FR-4板子默认1oz即35µm大电流板子常用2oz70µm甚至3oz。铜厚越厚同样的线宽阻抗越低但成本也越高而且细间距走线能力会变差。我的建议是10A级别的电源路径如果能选2oz就选2oz不要硬用1oz去拼极限但如果已经是1oz的常规板也别慌用宽走线铺铜过孔阵列的组合也可以解决问题只是板子面积要付出代价。再说温升。这是很多人理解偏差最大的一个参数。温升不是“工作温度”而是“相对于环境温度升高了多少”。比如允许温升10°C环境温度25°C那走线表面温度大约35°C如果把环境温度改到60°C同样温升10°C表面温度就是70°C。对大部分消费级和工业级产品我会把走线温升控制在10°C以内这是比较舒适的安全区。有些设计为了压缩面积会把温升放到20°C甚至30°C不是不能用但你要清楚温升越大铜电阻越高损耗越大而且热点区域的焊盘、过孔长期热应力会加速老化。我自己做电源路径EOS电气过应力风险评估时A类关键路径温升卡在10°CB类非关键可以放到15°C。环境温度怎么取挂在设备内部的板卡环境温度不是你办公室的25°C而是机箱内部的温度可能是40°C、50°C甚至更高。这个温度直接决定了走线的最终工作温度。如果环境温度你已经取到60°C走线温升10°C那铜温就是70°C绝缘材料的长期耐温等级、阻焊颜色、整个热设计都要统一考虑。我一般会把这个温度设定成“最恶劣工况下的板内环境温度”而不是“常温”。3. 5分钟走线宽度计算实战3.1 外层与内层10A走线宽度计算现在进入实操。我用一个典型的10A电源路径做演示DC-DC输出10A板子1oz铜厚允许温升10°C环境温度30°C。我打开Saturn PCB Toolkit V8.02选择External Layers面板填入电流10A、温升10°C、环境温度30°C、铜厚1oz工具直接给出最小走线宽度。按IPC-2221公式算下来1oz外层走10A、温升10°C大约需要280~300mil约7.1~7.6mm宽度。第一次看到这个数字的人都会吓一跳10A居然要7mm宽对这就是PCB上大电流的代价。如果你觉得太宽有两个办法一是把铜厚加到2oz宽度可以降到约150mil约3.8mm二是允许更高的温升比如温升放宽到20°C1oz外层约需185~200mil约4.7~5.1mm。这些都是方向性判断具体填入你自己的参数看结果就行。内层的情况要糟糕得多。同样的10A、温升10°C、1oz铜厚如果走信号内层工具给出来的宽度会飙到600mil上下约15mm基本是外层两倍。原因就是前面说的内层散热系数低同样的电流需要更大截面积来分摊热量。所以布局时我会尽量把大电流路径安排在外层不走内层如果必须走内层那就做好“这一段宽度非常夸张”的心理准备或者用多个内层并联再通过过孔汇流。实操心得Saturn Toolkit算出来的宽度是“理论最小限制值”我实际布板时会在计算结果基础上再加20%~30%的裕量。为什么工具假设的是理想均匀走线但真实板子上有焊盘、拐角、过孔缺口这些地方电流密度会局部升高。多出来的20%不是浪费是把安全系数焊在板子上。3.2 从计算值到实际布线修正与裕量算完理论宽度之后还有一个很关键的工程化步骤把这个宽度落到实际布线里并且处理几个理论计算覆盖不到的地方。首先是走线拐角。90°直角的内角处电流密度会集中虽然现代制程对直角没有早年那么忌讳但在10A这种电流级别我仍然建议用45°拐角或圆弧拐角。Saturn Toolkit算的是直线走线拐角相当于局部变窄所以拐角区域最好再加宽一点尤其是从窄走线突然进入宽走线的锥形过渡要设计成渐变不要突变。其次是进出焊盘的位置。很多电源路径的瓶颈不是中间那段走线而是芯片引脚附近。引脚焊盘就那么宽你再怎么加宽走线到了引脚那儿还是只有0.5mm。这时候怎么办答案是铺铜从焊盘引出来之后立刻铺一大块铜皮用铜皮的低阻抗来分摊电流。Saturn Toolkit的Plane Current面板就是干这个的你可以把引脚到负载之间的距离填进去算算这块铜皮够不够。再一个容易忽略的是“开尔文走线”。这个热词最近被问得很多其实它跟通流验证正好是一对电源路径上的大电流会产生压降如果采样线直接并联在功率路径上采样到的电压就叠加了压降误差。开尔文走线的思路是把采样线单独拉一根细走线从负载端直接回到控制芯片的检测引脚不走大电流这样采到的才是负载端的真实电压。我画带远端电压检测的电源时一定会把采样线从大电流路径上分开哪怕只分开0.3mm间距只要不共用铜皮就行。这一点虽然不影响10A通流本身但直接影响系统精度值得强调。4. 过孔通流验证数量、尺寸与位置4.1 单孔载流计算与过孔阵列走线算完了电源路径只要换层就轮到过孔登场。过孔是PCB上最容易成为瓶颈的位置因为它的导电体是孔壁镀铜厚度通常在20~25µm比铜箔的35µm还薄而且孔的截面积本来就小。在Saturn PCB Toolkit V8.02里我打开Via Current/Temperature面板输入过孔参数。以一个常见的0.3mm成品孔径钻孔0.35mm、1oz板厚、孔壁镀铜25µm为例工具会给出这个过孔在温升10°C时大约能过多少电流。实测下来单孔载流大约在1.2A~1.5A这个区间具体取决于镀铜厚度和孔长。如果要求10A通流单孔肯定不够就要做阵列10A / 1.3A ≈ 7.7往上取整至少8个过孔再加上我之前说的20%裕量10个孔更稳妥。这里有个常见误区有人觉得“我打20个孔总保险了吧”其实过孔数量不是越多越好。孔打多了电源层和地层被挖空的地方就多反而会影响平面回流而且加工时钻头磨损、孔壁粗糙度、电镀均匀性都会影响实际镀铜厚度。我的经验是算出来8个我就打10~12个再多就没必要了。过孔阵列的排列也有讲究。不要一字排开更不要随便乱撒。过孔之间要留有间距一般孔径0.3mm时孔中心到孔中心至少0.6~0.8mm太近了钻孔时会伤到隔壁孔壁。推荐交错排列蜂巢式这样电流通过过孔群时分布更均匀散热也更好。另外过孔尽量打在电流流向的“正面”不要打在电流死区里。4.2 过孔放置的实操细节过孔位置选好了还有其他几个实操细节要处理否则计算得再准也会打折扣。第一过孔与焊盘的连接方式。如果过孔打在焊盘上via-in-pad要注意堵孔和填平工艺不然焊接时锡会从孔里流走产生虚焊。如果过孔打在焊盘旁边要用短而宽的铜皮把焊盘和过孔连接起来别用一根细线去带否则细线那里又成了瓶颈。我一般会让铜皮直接包住过孔阵列让电流从整片铜皮流入过孔而不是从一条窄缝挤进去。第二过孔焊盘via pad的尺寸。常规做法是成品孔径0.3~0.4mm作为焊盘直径。0.3mm的孔外径做到0.6mm左右比较稳妥。同时注意内层连接时如果是连接到电源平面最好用十字花焊盘thermal relief做热隔离防止焊接时散热太快但如果是纯大电流路径我会直接改成全连接solid毕竟电源路径优先考虑通流能力和散热焊接可操作性放在第二位。第三孔壁镀铜厚度这个参数很多人压根没概念。IPC-6012 Class 2标准要求平均镀铜厚度不低于20µm很多打样工厂实际做到25µm。但你要知道这是平均值孔中间位置的镀层会比孔口薄。所以我实际计算时最保守的取法是按18~20µm去算而不是按工厂标称的25µm。这个细节在低电压大电流的板子上非常关键镀层差5µm过孔群的载流能力能差出20%。5. 进阶那些与通流验证相关的热词实践5.1 开尔文走线在电源采样上的应用这节回应一下“开尔文走线”这个热搜词。它虽然不是通流计算的一部分但属于10A电源路径设计里躲不开的配套工作。开尔文连接的核心就是把“功率路径”和“采样路径”从物理上分离。具体做法是从负载端或输出电容的引脚处拉两根细走线10mil左右就够因为几乎不流电流专程回到控制芯片的FB/检测引脚。这两根线避免经过任何大电流铜皮所以上面没有IR压降检测到的电压就是负载端的实际电压。我在画输出10A的DC-DC时如果芯片支持远端采样一定会做开尔文走线。现实中很多板子没有这个概念采样线直接就近接在输出铜皮上测出来的电压比实际负载低了几十到几百毫伏。负载电流越大误差越大。这个问题在通流验证时看不见因为算的是发热和压降但最终系统精度就是会差。所以做电源路径设计和验证时把开尔文走线一起规划进去是非常值得的。5.2 AD铜皮内走线避让与Allegro线宽设置还有两个热词是跟EDA操作相关的一个是怎么在AD里让铜皮内的走线避让开另一个是怎么在Allegro里设单端、差分走线的宽度线距再改现有走线。先说AD的铜皮避让。大电流路径经常需要在大面积铜皮里穿走线AD默认会有避让间距但如果你发现走线直接“焊”在铜皮上多半是Polygon的铺铜设置问题。选中铜皮打开Properties检查Clearance或者Rule里的间距设定把铜皮所在的Net Clearance改成比普通间距大一点的值比如0.3~0.5mm然后在走线时按TR等操作重新敷铜刷新一下。如果你是想让某些特定走线避让可以在Clearance规则里针对这个Net单独建一条规则让它和铜皮的间距大于默认值。Allegro这边设置单端、差分走线宽度与线距基本都在约束管理器Constraint Manager里完成。Electrical Constraint Set里新建一个Net或Bus把Physical属性里Single Trace Width、Neck Width设置好差分对则设置Min Line Spacing、Primary Gap、Primary Width这些参数。差别在Allegro里改现有走线很方便直接选中走线按右边编辑或者在Route菜单下用Slice/Adjust方式修改只要约束管理器里规则对得上改宽改窄都会自动检查DRC。算好10A走线宽度之后把Saturn Toolkit给的值填进Allegro的约束里再对现有走线执行一次宽度修改整板电源路径就算正式落地了。这一节看着偏工具操作但实际价值在于你花5分钟算完宽度后如果不知道怎么在EDA里贯彻计算就白做了。把计算结果变成约束规则、变成实际走线才算真正闭环。6. 常见问题与排查技巧实录6.1 计算没问题板子还是发热哪里出了问题这是我最常被问到的问题。Saturn Toolkit算出来温度只有40°C实际一测70°C怎么可能差这么多根据我的经验排查顺序是先看连接再看截面最后看测量。所谓连接问题就是看电源路径上有没有“细脖子”。你可能整段走线都按10mm画了但在某些地方因为过孔、引脚、丝印、间距规则限制铜皮被迫收窄了。拿万用表或直接在EDA里用高亮网络查一遍看哪些位置宽度明显小于计算值。我遇到过最典型的例子是一根走线在BGA下方因扇出被压缩表面看都连着的实际只有底层的细线在导通电流全部从那儿过发热当然严重。截面问题则指向过孔。表面看打了一排过孔但孔璧镀铜可能因为深孔比太大而不均匀或者个别孔存在空洞。这种问题肉眼看不到热成像或通大电流后测单个过孔两端的毫伏压降能发现线索。便宜的板厂给的飞针测试只能测通断镀层厚度无法保证所以大电流板子我对样板的过孔质量会额外要求切片或者用热电偶实测。最后是测量问题。很多人用K型热电偶贴在铜皮表面测结果测出来温度虚高。因为热电偶测的是“接触点附近”的温度如果探头悬在空气中或者贴不平读数就不可靠。建议用导热胶把热电偶固定住并且测几个点取相对值配合热像仪看热点分布判断是不是真有瓶颈。6.2 过孔阵列温升异常偏高的排查速查表过孔阵列温升比预期高这是电源路径里最常见的疑难杂症。我整理了一个速查表实际排查时按这个顺序过一遍能省不少时间排查项检查方法常见结论过孔数量在EDA里数一下实际打孔数有人图纸画了10个实际制版时只给铺铜连接了6个镀铜厚度看板厂加工说明或做切片实际镀层可能只有18µm低于标称25µm过孔连接铜皮宽度检查过孔阵列到主走线的连接铜皮连接处收窄成“瓶颈”过孔再多也没用过孔间距测量孔中心间距间距过近孔璧损伤实际载流面积降低电流路径长度确认过孔实际承载的是否是10A可能部分电流走了并联路径实际比预期高除了这个表还有一个容易踩的细节过孔阵列如果正好放在发热元件的正下方环境温度会比板子其他位置高很多导致同样的电流温升更高。设计时尽量把通流过孔放在远离发热IC的位置或者至少不要让它完全被元器件覆盖给空气流动留点空间。我的习惯是在打样前把以上所有检查走一遍然后把“走线宽度、铜厚、过孔数量、镀铜要求”四要素写进PCB加工说明里。别以为画板软件里设置了就万事大吉加工说明里明确写一句“电源路径过孔区域需满足IPC-6012 Class 2镀铜要求切片验证”板厂就会重视成本也只会多一点点。做了这么多板子我个人最深的体会是通流验证不是算一个数就完了它是一个从纸面参数到EDA约束再到加工要求的传递过程。Saturn PCB Toolkit V8.02只是把这个过程的计算环节变得高效真正决定板子能不能稳定跑满10A的是你有没有把计算结果贯彻到每一段铜皮、每一个过孔、甚至每一行加工说明里。下次画大电流板子不妨先打开这个工具花5分钟算一遍再动手——这5分钟能帮你规避的返工问题远比你想象的多。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进