地孔阵列这件事说大不大说小也真不小。我见过太多板子原理图挑不出毛病布局也算规整结果一到EMC测试就出问题或者射频链路底噪莫名其妙偏高最后查来查去问题就出在接地过孔上——要么数量不够要么分布不均要么干脆就是手动一个个摆的摆到后面自己都不知道哪里密哪里疏。更常见的情况是一块10cm×10cm的板子手动摆地孔能摆掉一两个小时摆完眼睛都花了还容易漏掉几个关键位置。立创EDA里的“铺铜批量过孔”功能就是专门治这个毛病的。它不是什么高深的东西本质上是让你在铺铜的时候顺带把过孔阵列一起生成出来而不是先铺铜、再手动打孔、再一个个调整。这个功能用好了整板地孔阵列确实可以在几分钟内搞定而且分布均匀性比手动摆的要好得多。下面我就把这个功能的完整用法、背后的逻辑、以及我实际用下来踩过的坑一次性讲清楚。1. 地孔阵列到底在解决什么问题1.1 从一块射频板说起先讲个实际案例。之前做过一块2.4GHz的射频前端板面积不大大概5cm×4cm四层板顶层和底层是信号层中间两层是地和电源。第一版回来之后传导测试没问题但辐射测试在特定频点上有明显的尖峰。排查了一圈最后发现是射频走线两侧的地过孔间距太大导致回流路径不连续形成了一个等效的缝隙天线。这个问题的本质是高频信号的回流电流总是走阻抗最小的路径而在PCB上这个路径就是信号线正下方的地平面。如果地平面是完整的回流路径就很短辐射很小。但如果信号线两侧没有足够密的地过孔把顶层地和底层地“缝”在一起回流电流就不得不绕路绕路就会形成环路环路就是天线。所以地孔阵列的第一个作用是为高频回流电流提供低阻抗的垂直通道。这个通道越密、越靠近信号线回流路径就越短辐射和串扰就越小。1.2 不只是高频低频数字电路同样需要有人可能觉得我就做个STM32的小板子跑个几十兆地孔随便打打就行了。这个想法不能说完全错但确实容易埋雷。数字电路的地孔阵列主要解决两个问题一是地平面之间的等电位问题二是散热问题。先说等电位。多层板里顶层地和底层地如果过孔太少两者之间就存在一定的阻抗。当数字电路开关时瞬态电流会在两地之间产生电位差这个电位差就是共模噪声的来源。过孔越多两地之间的等效阻抗越低电位差越小共模噪声就越小。再说散热。现在很多芯片是底部散热焊盘比如QFN封装或者DFN封装这些焊盘下面的地过孔阵列直接决定了芯片的热量能不能有效传导到内层地平面或者底层。过孔数量不够热阻就大芯片温度就高。我实测过一个QFN48的芯片底部散热焊盘下面打9个过孔和打16个过孔满载时芯片表面温度能差8到10摄氏度。1.3 手动摆过孔为什么效率低还容易出错手动摆过孔的问题不在于技术难度而在于重复劳动带来的注意力衰减。你摆前20个的时候还很认真间距控制得很好摆到第200个的时候基本就是机械操作了间距忽大忽小该加密的地方没加密不该加密的地方反而堆了一堆。更麻烦的是手动摆的过孔和铺铜是分离的。你先铺铜再打孔打孔的时候铜皮已经被铺好了过孔放上去之后铜皮和过孔之间的连接关系需要重新计算。如果过孔放得太密有些EDA工具会报DRC错误说过孔间距太小如果放得太疏又起不到应有的作用。整个过程就是反复调整反复DRC效率极低。立创EDA的“铺铜批量过孔”功能把这两个步骤合并了。你在铺铜的时候直接指定过孔的排列方式、间距、行数、列数工具会自动在铺铜区域内生成过孔阵列并且自动处理过孔和铜皮的连接关系。这就把“铺铜”和“打孔”两个动作变成了一件事。2. 铺铜批量过孔功能的操作路径与参数逻辑2.1 功能入口在哪里立创EDA专业版和标准版都有这个功能但入口位置不太一样。标准版里你需要在PCB编辑界面先选中一个铺铜区域然后在右侧属性面板里找到“过孔”相关的设置。专业版里功能更直观一些在顶部菜单栏的“放置”菜单下有一个“铺铜批量过孔”的选项或者你也可以在铺铜完成后右键点击铺铜区域在右键菜单里找到“批量放置过孔”。我建议用专业版因为专业版的参数控制更细而且支持实时预览。标准版虽然也能用但调整参数的时候需要反复确认效率差一些。2.2 核心参数逐个拆解打开批量过孔设置之后你会看到一堆参数。很多人第一次用的时候看到这些参数就懵了不知道哪个该调哪个不该调。我把最关键的几个参数拎出来逐个解释。过孔间距这是最重要的参数。它决定了过孔阵列的密度。间距越小过孔越密回流路径越短但加工成本越高而且太密了会影响铜皮的完整性。一般来说对于普通数字电路间距设置在1.0mm到1.5mm之间就够了。对于射频电路间距要控制在λ/20以内2.4GHz对应的波长大约是125mmλ/20就是6.25mm但实际工程中我们通常会做到1mm以内留足余量。过孔行数和列数这个决定了阵列的规模。你可以指定固定的行数和列数也可以让工具根据铺铜区域的大小自动计算。我一般选择自动计算然后手动微调。自动计算的好处是不会超出铺铜边界手动微调的好处是可以在关键区域加密。过孔焊盘尺寸和孔径这个要根据你的板厚和加工能力来定。常规的过孔焊盘直径0.6mm孔径0.3mm这是最通用的规格几乎所有板厂都能做。如果板子比较厚比如2.0mm以上孔径可以适当加大到0.4mm保证孔壁镀铜的均匀性。焊盘直径不要太小否则钻孔偏移的时候容易破环。过孔网络这个一定要选对。批量过孔的网络必须和铺铜的网络一致通常是GND。如果选错了网络过孔和铺铜之间就没有电气连接等于白打。排列方式有矩形排列和交错排列两种。矩形排列就是横平竖直交错排列就是相邻行的过孔错开半个间距。交错排列的密度更高回流效果更好但视觉上看起来没那么整齐。我一般用交错排列尤其是在射频区域。2.3 参数之间的相互制约关系这些参数不是独立的它们之间有制约关系。最典型的制约是过孔间距和过孔数量。间距越小同样面积内能放的过孔就越多但过孔太多会削弱铜皮的机械强度而且加工成本上升。另一个制约是过孔尺寸和间距。过孔焊盘直径越大最小间距就越大因为两个过孔之间必须保留足够的铜皮宽度否则DRC会报错。我一般会先确定过孔尺寸然后根据电路类型确定间距最后让工具自动计算数量。如果自动计算出来的数量太多我会适当放宽间距如果数量太少我会缩小间距或者手动在关键区域补几个。3. 从铺铜到过孔阵列的完整实操流程3.1 铺铜前的准备工作在铺铜之前有几件事必须先做好否则后面批量过孔的时候会出问题。第一确认板框和禁布区。板框决定了铺铜的边界禁布区决定了哪些地方不能铺铜。如果板框没画好铺铜区域就会超出板子边缘批量过孔也会跟着超出DRC直接报错。第二确认层叠结构。批量过孔是贯穿孔还是盲埋孔取决于你的层叠设计。如果是四层板通常用贯穿孔从顶层打到底层。如果是六层板以上可能会用到盲埋孔但批量过孔功能对盲埋孔的支持有限一般还是用贯穿孔。第三确认网络和铺铜优先级。如果板子上有多个铺铜区域比如一个GND铺铜和一个VCC铺铜要确保它们的优先级设置正确否则铺铜会互相覆盖批量过孔也会跟着乱。3.2 铺铜区域绘制与批量过孔生成准备工作做完之后就可以开始铺铜了。在立创EDA里选择“放置铺铜”工具沿着板框或者禁布区的边界画一个闭合多边形。画的时候注意铺铜边界要离板框边缘留出0.3mm到0.5mm的间距这是为了给板厂的铣边工艺留余量。铺铜画好之后不要急着点确定。在铺铜属性面板里找到“过孔”设置区域勾选“批量放置过孔”。然后设置过孔间距、行数、列数、网络等参数。设置好之后点击“预览”工具会在铺铜区域内显示过孔阵列的预览效果。如果预览效果不满意可以随时调整参数直到满意为止。确认无误后点击“应用”工具会自动在铺铜区域内生成过孔阵列并且自动完成过孔和铜皮的连接。整个过程从画铺铜到生成过孔阵列熟练的话一两分钟就能搞定。3.3 生成后的检查和微调批量过孔生成之后不要直接就去打样了。有几项检查必须做。第一DRC检查。跑一遍完整的DRC看看有没有过孔间距违规、过孔和走线冲突、过孔和焊盘冲突等问题。立创EDA的DRC检查比较严格如果有问题会直接标红。第二目视检查关键区域。重点看芯片底部散热焊盘、射频走线两侧、连接器接地引脚附近。这些区域对过孔密度要求高如果批量过孔在这些区域密度不够需要手动补几个。第三检查过孔是否覆盖了所有需要接地的焊盘。有些焊盘是直接接地的比如SMA连接器的接地引脚这些焊盘附近必须有足够的地过孔否则接地效果不好。批量过孔功能不会自动识别这些焊盘需要手动检查。4. 不同电路类型下的过孔阵列策略4.1 射频电路间距优先密度为王射频电路的地过孔核心原则是间距要小密度要大。我一般会把间距设置在0.8mm到1.0mm之间用交错排列。射频走线两侧的地过孔间距要更小做到0.5mm到0.8mm。芯片底部的地焊盘过孔要尽量填满能放多少放多少。有一个细节需要注意射频走线拐弯的地方地过孔要跟着拐弯不能出现走线拐了但过孔没拐的情况。否则拐弯处的回流路径会突然变长形成局部辐射。批量过孔功能生成的是规则阵列拐弯处可能需要手动补几个过孔。4.2 数字电路均匀分布重点加密数字电路的地过孔核心原则是均匀分布重点加密。均匀分布是为了保证地平面的等电位性重点加密是为了解决特定区域的回流和散热问题。我一般会把间距设置在1.0mm到1.5mm之间用矩形排列。然后在以下区域手动加密时钟芯片底部、高速信号线两侧、电源模块底部、连接器接地引脚附近。这些区域的过孔间距可以缩小到0.8mm左右。4.3 电源电路散热优先兼顾载流电源电路的地过孔核心原则是散热优先兼顾载流。电源芯片底部的地焊盘过孔数量要足够多一般不少于9个大功率芯片要不少于16个。过孔的孔径可以适当加大比如0.4mm增加散热效果。另外电源电路的地过孔还要考虑载流能力。一个0.3mm孔径的过孔载流能力大约是1A左右。如果电源电流是3A那至少需要3个过孔并联。批量过孔功能生成的阵列通常载流能力是足够的但在大电流路径上还是要手动检查一下过孔数量。5. 我踩过的坑和对应的解决方案5.1 过孔网络选错导致铺铜失效这个坑我踩过不止一次。有一次做一块四层板铺铜的时候忘了设置过孔网络默认是“无网络”。批量过孔生成之后看起来一切正常但DRC检查的时候发现过孔和铺铜之间没有电气连接。原因是过孔的网络是“无网络”而铺铜的网络是GND两者不匹配。解决方案很简单在批量过孔设置里把过孔网络明确设置为GND。如果铺铜有多个网络比如GND和VCC那就要分别设置不能混在一起。5.2 过孔间距太小导致DRC报错立创EDA的DRC规则里有一个“过孔到过孔”的最小间距要求。默认值通常是0.2mm或者0.25mm。如果你设置的过孔间距小于这个值DRC就会报错。我一开始不知道这个规则把间距设成了0.5mm结果DRC报了一堆错。后来查了一下发现是过孔焊盘直径0.6mm间距0.5mm两个过孔之间的铜皮宽度只有-0.1mm相当于重叠了。解决方案是过孔间距必须大于过孔焊盘直径加上最小铜皮宽度。比如焊盘直径0.6mm最小铜皮宽度0.2mm那过孔间距至少要是0.8mm。5.3 批量过孔覆盖了不该覆盖的区域有一次做一块板子板子上有一个按键区域按键下面不能铺铜因为铺铜会影响按键的手感。我在铺铜的时候设置了禁布区但批量过孔的时候忘了排除禁布区结果过孔打到了按键下面。解决方案是在批量过孔设置里勾选“排除禁布区”选项。这样工具会自动跳过禁布区不会在禁布区里生成过孔。5.4 过孔数量太多导致铜皮断裂这个坑比较隐蔽。有一次做一块柔性板铺铜区域比较窄批量过孔的时候没注意过孔打得太密结果铜皮被过孔切断了形成了一条细缝。这条细缝在低频下没什么影响但在高频下就是一个辐射源。解决方案是在窄铺铜区域要适当放宽过孔间距保证铜皮的连续性。一般来说过孔之间的铜皮宽度不要小于0.2mm。如果铺铜区域实在太窄可以考虑不打过孔改用其他方式接地。6. 批量过孔之后的验证与优化6.1 用DRC和连通性检查做第一轮验证批量过孔生成之后第一件事是跑DRC。立创EDA的DRC检查包括间距检查、连通性检查、网络检查等。重点看连通性检查确保所有过孔都和铺铜正确连接。如果有过孔没有连接DRC会报“未连接”错误。连通性检查通过之后再用“网络高亮”功能逐个高亮GND网络看看地过孔是否覆盖了所有需要接地的区域。如果发现某个区域没有地过孔手动补几个。6.2 用3D视图检查过孔和结构的冲突立创EDA有3D视图功能可以直观地看到过孔和板子上其他结构的相对位置。我一般会用3D视图检查以下几个地方过孔是否和螺丝孔冲突、过孔是否和连接器外壳冲突、过孔是否和外壳开孔冲突。这些冲突在2D视图下不容易发现但在3D视图下一目了然。6.3 根据仿真结果反向优化过孔布局如果有条件的话可以做一次简单的仿真看看地过孔布局对回流路径的影响。立创EDA本身没有仿真功能但可以导出到其他仿真工具里做。仿真的结果可以反过来指导过孔布局的优化比如在回流路径长的区域加密过孔在回流路径短的区域放宽间距。不过说实话大部分中小项目没必要做仿真按照经验规则来就够了。经验规则是射频区域间距1mm以内数字区域间距1.5mm以内电源区域过孔数量足够散热和载流就行。7. 一些提高效率的实操技巧7.1 用复制粘贴快速处理对称区域如果板子上有对称的区域比如差分对的两侧、对称的射频通道可以先在一个区域生成批量过孔然后复制粘贴到另一个区域。复制的时候注意过孔的网络要跟着复制否则粘贴过去的过孔网络会变成“无网络”。7.2 用阵列粘贴处理规则区域立创EDA支持阵列粘贴功能。你可以先放一个过孔然后使用阵列粘贴指定行数、列数、间距工具会自动生成一个过孔阵列。这个功能和铺铜批量过孔功能配合使用效果很好。比如先用铺铜批量过孔生成大面积的过孔阵列然后在局部区域用阵列粘贴补充过孔。7.3 用脚本批量处理重复性工作立创EDA支持脚本扩展如果你熟悉JavaScript可以写一个简单的脚本自动在指定区域生成过孔阵列。这个适合处理特别复杂的板子比如有几十个相同模块的板子。不过对于大部分项目来说铺铜批量过孔功能已经够用了没必要上脚本。7.4 建立自己的过孔参数模板每次做板子都重新设置过孔参数效率太低。我建议建立几个常用的参数模板比如“射频模板”、“数字模板”、“电源模板”每个模板里预设好过孔间距、尺寸、排列方式等参数。用的时候直接调用模板改都不用改效率能提高不少。8. 关于过孔阵列的几个常见误解8.1 过孔越多越好吗不是。过孔太多会削弱铜皮的机械强度增加加工成本而且过孔本身也有寄生电容和寄生电感。在低频下过孔的寄生参数影响不大但在高频下过孔的寄生电容会影响信号完整性寄生电感会影响电源完整性。所以过孔数量要适度够用就行。8.2 过孔间距越小越好吗也不是。过孔间距太小铜皮会被切得太碎影响铜皮的载流能力和散热能力。而且间距太小板厂的加工难度增加良率下降成本上升。一般来说间距控制在0.8mm到1.5mm之间是比较合理的范围。8.3 批量过孔能完全替代手动过孔吗不能。批量过孔适合处理大面积、规则区域的过孔阵列但在一些特殊区域比如芯片底部散热焊盘、射频走线拐弯处、连接器接地引脚附近还是需要手动补过孔。批量过孔和手动过孔是互补关系不是替代关系。8.4 所有板子都需要地孔阵列吗不是。如果板子上没有高频信号没有大功率器件没有严格的EMC要求地孔阵列的必要性就不大。比如一块简单的51单片机开发板地孔随便打几个就行了没必要搞阵列。但对于射频板、高速数字板、大功率电源板地孔阵列是必须的。9. 从批量过孔延伸到接地设计的整体思路9.1 地孔阵列只是接地设计的一部分地孔阵列解决的是垂直方向的接地连接问题但接地设计还包括水平方向的接地连接、地平面的分割、单点接地和多点接地的选择等。地孔阵列做得好不代表整个接地设计就没问题了。我见过一些板子地孔阵列很漂亮但地平面被分割得七零八落回流路径还是不通畅。9.2 接地设计要贯穿整个PCB设计流程接地设计不是铺铜的时候才考虑的而是从布局阶段就要开始考虑。布局的时候就要想好地平面的走向、回流路径的规划、关键器件的接地方式。铺铜和批量过孔只是把布局阶段的接地规划落实到物理层面。9.3 不同电路模块的接地策略要区别对待一块板子上可能有多个电路模块比如射频模块、数字模块、电源模块。这些模块的接地策略是不一样的。射频模块要求地平面完整、过孔密集数字模块要求地平面均匀、过孔适中电源模块要求地平面载流能力强、过孔数量足够。批量过孔的时候要根据不同模块的要求分别设置参数。10. 最后分享几个实用建议如果你刚开始用立创EDA的铺铜批量过孔功能我建议先从简单的板子练手比如一块两层的STM32最小系统板。练手的时候重点熟悉参数设置和DRC检查流程。等熟练了再在复杂的板子上用。另外我强烈建议养成一个习惯每次批量过孔生成之后都手动检查一遍关键区域。工具再智能也不可能完全理解你的设计意图。花几分钟检查一下能避免很多后期调试的麻烦。还有一点过孔参数不要每次都用默认值。默认值通常是给普通数字电路用的如果你的板子是射频板或者电源板默认值可能不合适。根据电路类型调整参数是提高设计质量的关键一步。最后如果你发现批量过孔生成的阵列在某些区域密度不够不要犹豫手动补几个。手动补的过孔虽然效率低但在关键区域几个过孔就能决定整块板子的性能。工具是拿来用的不是拿来依赖的。
