ARTICLE DETAIL

资讯详情

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

PCB布局布线实战经验:核心规则与高速信号处理技巧

PCB布局布线实战经验:核心规则与高速信号处理技巧 干硬件这行PCB布局布线是绕不过去的坎。很多人觉得原理图画完就万事大吉结果板子一打样回来要么噪声大得没法看要么EMC测试整改改到怀疑人生。我这些年经手的板子少说也有几十款从小家电控制板到带DDR的高速核心板都碰过最大的体会就是PCB布局布线这事规则不在多在于能不能把每条规则背后的“为什么”想清楚再落实成操作习惯。这篇文章我就把自己平时画板子最常用、最能出效果的布局布线规则整理出来配上计算方式和实操细节希望能帮你少走点弯路直接画出电气性能可靠、看着也舒服的板子。1. 布局是布线的第一步先定框架再走线1.1 为什么说布局直接决定布线成败很多人一拿到网表就急着把元器件往板子上扔结果布到一半发现信号走线绕了半个板子电源环路大得离谱最后只能推倒重来。我个人的经验是布局阶段花的时间越多布线阶段越顺利板子性能越有保障。原理图只是告诉你器件之间该怎么连而布局决定了这些连接在物理空间上的距离和路径。信号走线的长度、回流路径的大小、电源环路面积全都由布局定死了。布局一旦不合理后面布线再怎么优化都只是“在烂地基上盖好房子”上限就在那儿。具体来说布局的核心逻辑是“模块化分区 最短路径 主控中心”。先把板子上所有器件按功能拆成几个大的模块电源模块、主控/MCU最小系统、存储/接口模块、模拟信号链、功率驱动部分等。然后以主控芯片为中心让每个模块尽量靠近自己的接口和外围器件让信号路径呈放射状而不是来回绕。这样做的好处非常直接高速信号的走线长度天然更短回流路径更小电源路径也更干净。提示布局前先摆结构件连接器、螺丝孔、指示灯、按键这些“不可动的”全都定好位置再把禁布区画出来。不然等你布完线再发现USB座和外壳开孔对不上那才是真痛苦。1.2 三步法搞定PCB布局实测效率翻倍我自己习惯按三步来做布局基本不会漏东西。第一步确定结构边界与禁布区。把板框、定位孔、外部接口、显示按键等结构件全部放到板上锁定。再检查外壳内部有没有金属凸起、导电区域这些地方需要避让高压区域、安规爬电距离不足的区域也要用规则管理器提前设好禁布区。这一步的核心是“先定边界再谈内部”不然散热器或外壳的金属部分压到你走线上轻则短路重则电击开不得玩笑。第二步按功能模块摆放。一个模块一个模块地摆。以电源模块为例输入电容要贴着电源芯片的输入引脚输出电感尽量靠近芯片的开关节点输出电容靠近电感的输出侧反馈电阻的采样点要尽量远离开关节点直接连到输出电容的正极上。这样做的目的很明确缩小高频电流环路面积减少辐射和纹波。摆完一个模块就立刻用色笔在板子上圈出它的“势力范围”下一个模块不要侵入。第三步细调位置与方向。这个是很多新手容易忽略的。IC的朝向、绕线方向、丝印方向都要统一。比如所有电解电容的丝印极性方向尽量一致方便后期焊接和维修排查QFP芯片的1脚最好都朝同一个方向目检的时候扫一眼就能发现贴片方向对不对。贴片晶振要靠近主控的OSC引脚且底下尽量不要走其他信号线去耦电容要离电源引脚足够近后面会专门讲。1.3 布局阶段最容易踩的坑布局的坑大多是“看起来没毛病实际很致命”的类型。我列几个自己踩过、也看别人踩过的典型晶振离主控太远。晶振引脚出来的信号是高频振荡走线越长寄生电容和辐射越大。正确做法是晶振紧贴主控时钟输入引脚负载电容在晶振附近并且晶振下方铺完整地铜不要在其他层走线穿过。去耦电容远离电源脚。如果去耦电容到芯片电源引脚之间有较长的走线那这段走线的寄生电感会完全抵消去耦电容的高频效果。一般0.1uF的高频去耦电容要放在电源引脚的0.5mm范围内用一个小过孔回到地平面。功率器件和敏感器件混在一起。开关电源的功率电感、续流二极管、MOS管都是强干扰源如果和模拟信号放大器或者晶振挨得太近干扰很难处理。布局时宁可让电源板面积大一点也要在电源模块和模拟电路之间留出隔离带。只画顶层不管底层。布局时一定要一开始就打开所有层想清楚哪些器件放顶层、哪些放底层而不是先铺完顶层再说。我就见过有人顶层放满了底层完全空着最后走线全挤在顶层总线长多了一倍。2. 从规则表到实际走线PCB布线的基础约束2.1 线宽与载流能力不要凭感觉算一下就知道了布线时最基础也最重要的是线宽。很多人直接在“宽度规则”里填个10mil、20mil够不够用完全不知道。处理电源线和地线时线宽必须和电流挂钩否则轻则压降过大、发热重则在满负载时直接把铜箔烧断。业界常用的参考是IPC-2221标准里的经验公式我平时会简化使用。对于外层走线也就是PCB表面电流I与线宽的关系可以近似用下面这个公式估算I k × dT^0.44 × A^0.725其中dT是温升单位摄氏度一般取10℃A是铜箔截面积单位平方milk是散热系数外层取0.048内层取0.024。实际工程中为了快速入板大家更常用线宽电流对照表。下面这个表是以1盎司35um铜厚、温升10℃为条件整理的实测工程值可以直接抄作业线宽(mil)载流能力(A)常用场景6 mil0.2 A细间距BGA扇出、低速信号8 mil0.4 A普通信号线10 mil0.6 A常规信号线12 mil0.8 ALED驱动、小功率电源20 mil1.5 A短距离电源30 mil2.4 A电源分支50 mil4.9 A主电源干线100 mil8.9 A大电流地线、电池主回路注意这只是1oz铜厚的值。如果铜厚是2oz载流能力大概能再提升70%~80%。而内层走线由于散热条件差载流能力大约只有外层的50%~60%设计时要留足余量。举个例子一个12V输入、最大3A的DC-DC电源模块它的输入电源线我一般会按两倍余量设计也就是按6A来看线宽至少50mil还要配合铺铜。地线尽量用整块铜皮不要用细线连。如果板子空间有限可以在顶层走一条50mil电源线底层用完整地平面来承载回流地电流。2.2 间距与安规电气间距和工艺间距是两码事间距分为电气安全间距和制造工艺间距两个都要满足。电气安全间距跟电压有关比如220V AC输入和低压直流之间要有足够的爬电距离和电气间隙工艺间距则由PCB工厂的能力决定线到线、线到焊盘、孔到孔都不能小于工厂的最小值。常规工艺能力下我设计时会参考这些底线线到线间距不小于4mil稳妥起见做6mil以上生产良率高很多线到焊盘间距不小于4mil焊盘到焊盘间距不小于6mil过孔到过孔间距孔壁到孔壁不小于8mil过孔到走线间距不小于5mil丝印到焊盘间距不小于5mil避免丝印压焊盘导致焊接不良。高低压隔离则是另一套逻辑主要看安规标准。输入AC 220V的开关电源板一次侧和二次侧之间要开“安全槽”也叫Y电容隔离槽槽宽一般不小于1mm隔离距离要结合爬电距离计算两线之间至少要保持6mm以上的净距否则过安规时爬电距离不够会直接判不合格。处理这类板子时我习惯先把高压区域用Keepout框起来布线时绝对不让低压走线穿越这个区域。2.3 走线角度、过孔与焊盘连接方式关于走线角度老生常谈的“不要走直角”确实有道理。直角走线在转角处会产生电容突变和阻抗不连续高速信号下会引起反射在高压下尖角还容易造成电晕放电。实际设计中我习惯用45度角走线重要的高速线甚至会用圆弧走线比如RF和DDR走线。而普通低速信号线45度角已经完全够用。过孔的选择也很关键。常规信号过孔我一般用12mil钻孔/22mil焊盘这个尺寸打样便宜、可靠性也不错电源过孔可以用16mil钻孔/26mil焊盘而大电流路径上的过孔还要考虑过孔的载流能力。一个内径12mil、铜厚1oz的过孔大约能过1A左右的电流所以3A电流的路径至少要保证3~4个大过孔并联不能只打一个孔焊死否则那个孔就是整个板子的瓶颈。还有个容易被忽略的点是焊盘与铺铜的连接方式。普通信号焊盘连接铺铜时建议用“十字连接”这样焊接时热量不会瞬间被整块铜皮吸走手工焊接和回流焊都比较友好。但是电源芯片的散热焊盘EP焊盘一定要用全连接并且底下打一组散热过孔把热量导到内层和底层铜皮上。如果电源芯片的焊盘用了十字连接散热能力会大打折扣轻则芯片热到降频重则直接烧掉。3. 高速信号、电源与地的实战处理3.1 高速信号怎么走等长、差分与阻抗控制等长和差分是高速板绕不开的关键点。先说等长一句话解释就是同一组信号在PCB上传输的速度基本一样如果信号线的物理长度差太多信号到达接收端的时序就会错开DDR这类同步总线就会采错数据。所以DDR数据线、地址线要做等长处理误差一般控制在±50mil以内DDR3/DDR4严格一点到±20mil也是常有的事。实际操作中有几个细节要注意等长不是“总长一样”就行而要关注“组内等长”。比如DDR的数据线DQ0~DQ31以字节通道为一组每组内做等长组与组之间可以允许一定偏差等长优先保证关键信号DQS和CLK这些差分时钟比普通数据线更严格不要为了等长而绕线绕出太多直角绕线首选“S形”且绕线间距满足3W规则线与线中心距是线宽的3倍否则绕线本身就会引入串扰。差分线则主要用在高速串行接口上比如USB、HDMI、以太网、LVDS。差分信号的优势在于抗共模干扰和降低对外辐射。布线时差分对的两根线要尽量靠近保持紧耦合对内等长误差控制在5mil以内对间等长可以放宽到10~20mil。过孔要成对打换层后仍然保持紧耦合不能一根走了过孔另一根没走那样两根线的长度差会瞬间拉大。关于阻抗控制单端信号一般控制50ΩUSB差分90ΩHDMI差分100Ω。这个目标不是靠“感觉”实现的而是通过叠层设计和线宽线距计算出来的。下面是一个常见的4层板叠层参数示例层功能介质厚度说明L1顶层信号/元件-表层铜厚1oz介质芯板4~5mil决定L1到L2阻抗L2完整地平面-铜厚1oz介质半固化片5~8mil决定L2到L3阻抗L3电源/底层信号-铜厚1oz介质芯板4~5mil决定L3到L4阻抗L4底层信号/元件-表层铜厚1oz在嘉立创EDA或AD里计算线宽时先选好层叠参数再算50Ω走线宽度。一般1oz铜厚、L1到L2介质4mil的常规叠层50Ω单端线宽大概在4~5mil左右但这只是估算实际要以板厂的阻抗计算模型为准。出GERBER时直接附带阻抗要求给板厂让他们制板时微调。3.2 电源和地的处理地平面完整比什么都重要有一句话我一直记着“信号走在哪里回流就走在哪里回流走哪里地平面就决定哪里。”在高频情况下信号返回电流会优先走正下方地平面阻抗最小的路径如果信号线下方地平面被割断了回流电流就不得不绕大圈形成一个大环路天线效应立刻产生EMI问题随之而来。所以布局布线时任何时候都不要轻易在地平面上切槽、分割。对于电源层的规划我习惯给每一路电源设定独立分割区域但在高速电路板上分割会造成跨分割的走线比如信号从3.3V区域跨到1.8V区域回流路径绕远有时宁可让电源层局部共享也不要让关键信号跨分割。如果必须跨分割就在跨分割处加一个桥接电容比如0.1uF给回流电流搭桥。去耦电容的布置也是电源设计关键中的关键。常用做法是大小容值组合比如0.1uF 1uF或者0.1uF 10uF大电容负责低频储能小电容负责高频去耦。但比容值更重要的是放置位置小电容一定要紧贴芯片电源引脚中间不要有打过孔绕远路的操作。通常做法是在芯片电源引脚旁打一个过孔到电源层再加一个过孔到地层然后小电容放在这两个过孔的靠芯片一侧。这样高频去耦环路最小效果最好。模拟地和数字地的处理新手特别容易犯强迫症把两地分开铺铜然后在单点用磁珠或0Ω电阻连接。对于MCU板这类不太极端的场景我更推荐采用“完整地平面 分区布局”的策略地平面不分割但模拟器件集中在某一区域数字器件集中在另一区域模拟信号不要穿越数字区域数字信号也不要穿越模拟区域。这样一来地平面完整模块之间又相对独立EMC表现通常比硬生生割地要好。3.3 敏感信号的避让与散热处理晶振、复位线、模拟小信号这类敏感信号是我布板时优先级最高的“保护对象”。晶振周围包一圈地铜并打上过孔形成一个“地岛”能有效防止晶振辐射干扰周围电路。复位信号线尽量短不要和电源线、时钟线平行走太长距离否则复位引脚容易被毛刺触发误复位。模拟信号的避让更是看基本功。以前做过一个微弱信号检测板模拟前端信号只有几十微伏第一次打样出来噪声比信号还大。后来发现问题是模拟信号线从开关电源的电感正下方穿过去了开关节点的dv/dt直接耦合到模拟线上怎么滤波都滤不干净。改版后把模拟信号线完全避开功率电感区域并在旁边加了一圈接地护线效果立竿见影。散热方面除了前面提到的散热焊盘和过孔还要注意大功耗器件的位置。如果板子有风道发热器件要沿着风向排列小器件不要挡在大器件前面如果靠自然散热发热器件要分散开避免热量局部堆积。另外发热器件下面的内层铜皮尽量保留完整这样热量可以通过过孔导到更大的铜皮面积上散发。电源芯片底部我一般至少打9个导热过孔孔径0.3mm位置均匀分布在EP焊盘上。4. 规则设置与可制造性检查把经验变成工具约束4.1 常用EDA的规则设置思路不少新手对规则管理器有畏难情绪其实各个工具Altium Designer、Allegro、嘉立创EDA的规则设置本质是一样的都是“对象条件约束值”的结构。我自己习惯先设置一套全局基础规则再针对特殊网络设置独立规则。基础规则一般是这些内容间距规则全局间距设6mil高压隔离区单独设置间距50mil以上线宽规则全局信号线宽最小4mil、推荐6mil电源网络3.3V、5V、12V最小15mil、推荐30mil地网络最小20mil过孔规则信号过孔12/22mil电源过孔16/26mil铺铜连接规则信号焊盘十字连接电源芯片散热焊盘全连接丝印规则丝印到焊盘5mil丝印字高不小于25mil。在AD里我会用“Net Class”功能把所有电源网络归到一个类所有地网络归到一个类然后对每个类单独设置线宽规则。Allegro里对应的就是Physical Constraint Set和Spacing Constraint Set。嘉立创EDA就相对简单直接在设计规则里按网络设置即可。规则设好后布线时工具箱会实时帮你拦着不允许你画出违反规则的走线这才是规则真正的价值。提示使用AD时“Preferences”里可以把“Interactive Routing”的“Route Competing”打开走线时会自动避让已有过孔和走线布线心情会好很多。4.2 快捷键与效率技巧效率问题很多时候不是手速慢而是快捷键没设置对。AD里我高频使用的快捷键P T交互式布线Shift W切换线宽前提是先预设好常用线宽值Shift 空格切换走线角度45度/直角/圆弧L切换布线的信号层/-切换多层Ctrl Shift 滚轮缩放Tab布线过程中调出走线属性可临时改线宽。Allegro里我习惯把lenear、slide、copy设成快捷键比如lin是布线、sl是修线、cp是复制。Allegro 17.2版本如果是打开.brd文件没弹Product Choice窗口可以在File菜单下选“Change Editor”然后选Allegro PCB Designer。AD和Allegro之间互转格式时建议用中间格式比如先导出ODB或者用第三方工具转直接导入对方格式容易丢规则。嘉立创EDA的优势是上手快直接在网页端就能画板快捷键也做了很多符合国内用户习惯的设定比如J是放置坐标原点、W是布线。对新手来说它能让你把精力放在“布局布线本身”而不是“折腾软件”上。4.3 DRC检查、GERBER输出与制板前清单画完板子DRC设计规则检查是绝对不能跳过的环节。AD里是按T D RAllegro是Tools - Reports - Design Rules Check嘉立创EDA在“设计”菜单下有“DRC检查”。DRC不只是检查电气短路还包括间距、未连网络、未连接引脚、丝印重叠、过孔到焊盘间距等。每次DRC我都至少跑三轮第一轮检查电气错误比如短路、未连接网络这是红线问题第二轮检查间距违例凡是报错的都要看到底不能因为“看起来问题不大”就忽略第三轮检查丝印和制造相关比如丝印压焊盘、字符太靠近过孔等。GERBER输出时有几个关键选项容易出错钻孔文件一定要选“Excellon”格式单位选公制坐标格式用“2:4”或“3:3”并和板厂确认光圈列表D码要一并输出层名要清晰铜箔层、阻焊层、丝印层、助焊层都要单独输出。建议输出后用GERBER Viewer如嘉立创PCB查看器预览一遍再发板确认每一层内容正确只检查PCB源文件不查GERBER是在赌工厂够不够细心。AD转GERBER的流程是File - Fabrication Outputs - Gerber Files然后选择层和精度再补一个钻孔文件NC Drill Files。有些新人在这里直接点了“OK”就发走了结果漏了钻孔文件工厂只能打电话来问。Allegro输出是Manufacture - Artwork记得要在Film Control里勾选所有需要的层。反正输出之后多看两遍比板子做废了再改省太多时间。5. 常见问题排查与进阶心得5.1 常见问题速查表我把这些年画板过程中频率高的问题整理成了一个速查表方便你在调试时对照现象排查方向常见的根因板子工作不稳定程序跑飞电源纹波、复位电路去耦电容离电源脚太远复位信号被干扰特定接口频繁丢包信号完整性、等长差分对没有紧耦合对内等长误差过大板子发热严重大电流路径电源线宽不足、过孔数量不够、散热过孔太少纹波噪声超标布局环路、地平面功率回流路径过大地平面被割碎EMC辐射超标屏蔽与接地高速信号回路面积大机壳地未处理好板子偶尔短路制造质量、间距过孔离焊盘太近丝印压焊盘工厂蚀刻偏移有些元件空的焊盘不上锡散热设计大铜皮全连接焊盘散热过快芯片启动不了供电时序、复位电源去耦不足、供电走线压降过大排查问题最忌讳上来就改电路。正确思路是用示波器先抓电源纹波、时钟波形、关键信号电平定位是电源问题、信号问题还是逻辑问题再反过来看PCB有没有“作案嫌疑”。很多时候PCB上的一个坑就是问题的根源改了叠层或走线问题自然消失。5.2 美观和性能并不冲突细节见功夫提到“最美的PCB板子”很多人觉得纯属玄学性能好就行了。其实美观背后是规范规范背后是可靠性。一块看起来整齐的板子信号分层清晰、电源路径明确、丝印标注清楚调试维修的时候效率高得多。我自己的几个习惯走线方向尽量一致。顶层走水平方向为主底层走垂直方向为主这样减少了跨层平行走线的距离也减少了串扰看着也整齐电源主干线用铺铜代替布线。整片铜皮比一根走线电阻小得多散热也好视觉上也干净不少每个模块加上丝印外框和注释。比如“3.3V电源区”“USB接口区”“晶振区域”一年后再拿起这块板你还能快速想起来当时的设计意图螺钉孔定位孔要加非金属化孔属性如果要做金属化螺丝孔周围要有铜皮和过孔做加强避免拧螺丝时拉裂焊盘板边预留工艺边。如果是拼板V割和邮票孔的位置要标清楚否则分板时容易伤到板边器件。5.3 个人经验参考Layout Guide才是最快的进步方式最后一个建议特别想对刚入行的工程师说画板子之前先找原厂/方案商提供的硬件设计指南Layout Guide通读一遍。比如用RTL8723DU做WiFi模块时原厂文档里对天线净空区、射频走线阻抗、电源走线宽度都有明确规定照着做基本不会翻车。很多模块的“最佳实践”是原厂踩过无数坑才沉淀下来的经验比自己盲目摸索高效得多。另外要建立自己的“PCB自查清单”。我每次发板前都会过一遍这个清单电源线宽是否够、地平面是否完整、晶振是否贴近主控、去耦电容是否就位、差分对是否等长、高速信号是否避开电感、螺丝孔是否禁布、丝印是否压焊盘、GERBER是否包含钻孔层。把这套清单固定成肌肉记忆能拦住90%的低级错误。根据我个人经验画板子这事最怕的不是不会画而是“觉得自己会了”之后不检查。布局布线的黄金法则是慢一点多看一眼多算一遍。每一条线、每一个过孔都是你在电路原理之外为产品可靠性做的一次投票。希望这篇整理能帮你画出让自己满意、也让工厂省心的板子。后续如果你对哪一块更感兴趣比如DDR布线、开关电源PCB设计、或者EMC整改我们可以接着聊。
返回列表