news 2026/1/3 2:20:29

AD导出Gerber文件教程:多层板盲埋孔处理方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AD导出Gerber文件教程:多层板盲埋孔处理方案

Altium Designer多层板盲埋孔设计与Gerber输出实战指南

在今天的高速高密度电路设计中,一块6层甚至10层的PCB已经不再是“高端项目”的代名词,而是许多消费电子、通信模块和工业控制产品的标配。随着封装越来越小、引脚越来越多,传统的通孔布线方式早已捉襟见肘。这时候,盲孔(Blind Via)与埋孔(Buried Via)技术便成为突破布线瓶颈的关键利器。

但问题也随之而来:很多工程师在使用Altium Designer完成复杂多层板设计后,满怀信心地导出Gerber文件发给工厂,却收到一句“盲孔未识别”或“钻孔数据混乱”的反馈——轻则返工修改,重则整板报废,延误交付周期。

这背后的问题,往往不是设计本身出了错,而是制造输出环节对盲埋孔结构的支持不到位。本文将带你一步步走完从层堆栈定义到最终Gerber输出的全过程,重点聚焦于如何正确处理含盲埋孔的多层板制造文件生成,彻底避开那些看似隐蔽实则致命的设计陷阱。


层堆栈是起点:别让PCB“长歪了骨架”

所有关于盲埋孔的一切,都始于一个被很多人忽略的地方——Layer Stack Manager(层堆栈管理器)

你可能觉得这只是个设置板厚和铜厚的工具?错了。它是整个PCB物理结构的“基因图谱”,决定了哪些层之间可以打孔、哪些只能靠压合连接。

为什么普通堆栈不支持盲埋孔?

默认情况下,AD中的Layer Stack是一个单一整体,所有过孔都可以贯穿全部信号层。这种结构下,软件根本无法区分“只连Top到L2”的盲孔和“贯穿L1-L6”的通孔。结果就是:你画的是盲孔,系统当通孔处理,DRC不报错,但工厂做不出来。

要启用盲埋孔,必须开启Multiple Sub-stacks(多子堆栈)模式

如何正确划分子堆栈?

以典型的6层HDI板为例:

Sub-stack 1: 外层压合一 - Top Layer (L1) - Prepreg - Internal Layer 2 (L2) Sub-stack 2: 中心芯板 - Core (连接 L2 和 L5) - Internal Layer 3 (L3) - Internal Layer 4 (L4) Sub-stack 3: 外层压合二 - Internal Layer 5 (L5) - Prepreg - Bottom Layer (L6)

在这个结构中:
- L1 ↔ L2 的连接可通过激光钻实现为盲孔
- L3 ↔ L4 可预先压合前完成钻孔,形成埋孔
- L1 ↔ L6 则需后期通孔加工

只有当你在Layer Stack Manager中明确划出这三个独立的Sub-stack,并指定它们各自的起止层,Altium才能理解这些特殊过孔的合法性。

✅ 实战提示:右键点击Layer Stack界面 → “Add Layer Stack” 即可添加新子堆栈;完成后务必检查各层顺序是否与实际压合流程一致。


盲埋孔不是“随便放的过孔”:规则决定成败

一旦层堆栈定义清楚,下一步就是告诉软件:“我想在这两个特定层之间打一个非穿透孔”。

这就是Via Style的作用。

定义专用Via类型

进入Design » Rules,找到Routing组下的WidthRouting Via Style规则。

新建一条Via Style,例如命名为Blind_Via_L1-L2,然后设置:
- Start Layer: Top Layer
- End Layer: Internal Layer 2

保存后,在布线时按*切换过孔类型,或直接在快捷菜单中选择该Via Style,此时软件只会允许你在L1和L2之间放置此过孔,跨其他层会直接报DRC错误。

同理,为L3-L4定义一个Buried_Via_L3-L4类型,确保它不会出现在外层。

关键参数不能忽视

参数推荐值说明
最小盲孔直径≥0.1mm(激光钻)小于0.1mm良率急剧下降
孔径比(Aspect Ratio)≤8:1深径比过大导致电镀困难
阻焊开窗尺寸+0.05~0.1mm确保激光能准确打通

这些数值并非随意设定,而是基于IPC-2226 Class B HDI标准以及主流PCB厂工艺能力得出的经验值。如果你的设计超出这个范围,一定要提前与厂家确认可行性。


自动化检查:用脚本防止人为失误

虽然AD没有开放Python API,但它支持Delphi Script/VB Script,我们可以写一个小工具来批量验证过孔合法性。

// 检查是否存在非法跨层过孔 procedure CheckInvalidVias; var via : IPCB_Via; layerStack : IPCB_LayerStack; startLayer, endLayer : TLayer; begin layerStack := PCBBoard.LayerStack; ResetParameters; AddStringParameter('Action', 'Highlight'); for via in PCBBoard.Vias do begin startLayer := via.StartLayer; endLayer := via.EndLayer; if not layerStack.IsLayerPairValid(startLayer, endLayer) then begin // 高亮非法过孔 RunProcess('PCB:HighlightObjects'); AddMessage('❌ 非法过孔:%s → %s,请检查层对定义', GetLayerName(startLayer), GetLayerName(endLayer)); end; end; end;

这个脚本可以在布线完成后运行一次,自动找出所有不符合Sub-stack定义的过孔,避免因误用通孔替代盲埋孔而导致制造失败。


导出Gerber:别让最后一步毁了前面的努力

终于到了最关键的一步——生成制造文件。很多人以为只要点了“Generate Gerber Files”就万事大吉,殊不知这里面藏着无数细节雷区。

Step 1:启动输出向导

路径:File » Fabrication Outputs » Gerber Files

Step 2:General 设置 —— 精度决定成败

  • Units: Millimeters(推荐)
  • Format: 4:5(比常见的4:4更精确,避免舍入误差)
  • Dimensional Format: Leading zeros
  • Plot Layers Used In PCB: 勾选(自动包含有效层)

⚠️ 特别提醒:如果格式选成2:4或3:5,某些老式CAM系统可能解析失败,导致图形偏移。

Step 3:Layers 选项卡 —— 层映射必须精准

AD层名标准Gerber扩展名是否必选
Top Layer.GTL
Bottom Layer.GBL
Internal Layer 1~n.G1,.G2
Top Solder Mask.GTS
Bottom Solder Mask.GBS
Top Silkscreen.GTO可选
Bottom Silkscreen.GBO可选

📌重点注意阻焊层:盲孔必须在外层阻焊上有对应的开窗(Solder Mask Opening),否则会被绿油覆盖,失去电气意义。确保你的SMD焊盘在GTS/GBS中有正确暴露区域。

Step 4:Drill Drawing 设置 —— 图纸也要分层

进入 Drill Drawing 选项卡:
- 勾选Plot all used layer pairs
- 启用Show drill origin
- 命名格式建议设为%LayerPair%_Drill.PDF,例如Top-To-L2_Drill.PDF

这样每对层之间的钻孔图都会单独输出一张PDF,方便厂家核对。


NC Drill 文件:真正决定盲埋孔命运的数据

如果说Gerber描述的是“哪里有铜”,那么NC Drill文件描述的就是“哪里要打孔”。对于盲埋孔而言,必须按Layer Pair分开输出钻孔文件

路径:File » Fabrication Outputs » NC Drill Files

关键设置:
- Units: mm
- Format: 2:5
- Hole Size Accuracy: 0.001mm
- ✅Generate separate drill files per layer pair

启用这项后,AD会自动生成如下文件:
-PTH_AllLayers.drl—— 所有层贯通的通孔
-BlindVia_TopToL2.drl—— L1到L2的激光盲孔
-BuriedVia_L3ToL4.drl—— 内部埋孔

每个.drl文件对应不同的钻孔工序阶段。工厂会先做埋孔钻孔并压合,再做盲孔,最后才是通孔。顺序错乱,整板报废。

💡 秘籍:在Mechanical层绘制一张“钻孔工艺流程图”,标注每一类孔的加工顺序,并输出PDF随文件包一起提交,极大提升沟通效率。


工程交付包该怎么打包?别少了这几样

你以为导出完Gerber和DRL就结束了?远远不够!

一个完整的制造输出包应该包括:

文件类型作用是否必需
.GTL,.GBL,.G1~Gn各层铜皮图形
.GTS,.GBS阻焊开窗
.GTO,.GBO丝印标识
.DRL(多个)分层钻孔数据
Drill Drawing PDF钻孔图参考
Layer Stack Table PDF层叠结构说明
README.txt包含工艺要求说明强烈建议

其中,README文档尤其重要。建议包含以下内容:

项目名称:XYZ_HDI_Module 层数:6层 板材:FR-4 High-Tg 最小线宽/间距:0.1mm / 0.1mm 盲孔工艺:UV Laser, Ø0.1mm 埋孔工艺:Mechanical, Ø0.2mm 压合次数:3次(Sub-stack x3) 阻抗要求:单端50Ω ±10%,差分100Ω ±10% 备注:请按Sub-stack分步压合,先完成L3-L4埋孔压合,再进行盲孔及通孔加工。

常见坑点与避坑指南

问题现象根本原因解决方案
工厂说“看不到盲孔”阻焊层未开窗或钻孔文件合并输出检查GTS是否有对应PAD,确认Separate DRL已启用
埋孔出现在顶层使用了通孔而非专用Via Style在Rules中锁定Via起止层
Gerber图形偏移格式精度不足(如3:3)改为4:5格式重新输出
阻抗不达标prepreg厚度未准确输入回Layer Stack修正介电层厚度并重新计算
DRC无报错但无法生产Sub-stack未启用回Layer Stack Manager检查多堆栈状态

进阶建议:迈向更高可靠性设计

  1. 优先考虑ODB++输出
    虽然Gerber仍是主流,但ODB++是一种数据库式输出格式,能原生表达层对关系、过孔类型、材料属性等语义信息,极大降低误解风险。可在File » Export » ODB++中一键生成。

  2. 与PCB厂早期协同设计(DFM前置)
    在Layout开始前,获取合作厂家的工艺能力清单(Capability Sheet),包括最小盲孔、最大层数、支持的压合次数等,据此调整你的Layer Stack设计方案。

  3. 使用Ucamco Viewer预审文件
    下载免费的 Ucamco UVM 工具,导入你导出的Gerber+DRL组合,直观查看每一层的实际效果,提前发现异常。


写在最后:精准输出是专业性的体现

掌握盲埋孔设计与制造输出,不只是为了做出一块“看起来很高级”的PCB,更是为了应对日益复杂的系统集成挑战。无论是5G射频前端、AI边缘计算模组,还是医疗穿戴设备,都在追求极致的空间利用率和信号完整性。

而这一切的基础,是从你手中导出的那一套完整、清晰、无歧义的制造文件开始的。

当你把Gerber包发出去的时候,你不只是交出一堆文件,更是在传递一种信任:我相信我的设计是正确的,我也相信你能把它做出来

而这,正是每一个资深硬件工程师的专业底气所在。

如果你正在做HDI板、遇到了盲孔出不了光绘的问题,不妨回头看看Layer Stack是不是真的“长对了样子”。也许答案,就藏在那张不起眼的层堆栈表里。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/2 0:14:44

YOLOFuse华为云ModelArts集成方案设想

YOLOFuse与华为云ModelArts融合:打造开箱即用的多模态目标检测平台 在智能安防、夜间巡检和自动驾驶等现实场景中,单一可见光摄像头在低光照或恶劣天气下常常“力不从心”。红外成像虽能穿透黑暗,却缺乏纹理细节。于是,将RGB图像与…

作者头像 李华
网站建设 2026/1/2 0:10:41

Scarab模组管理器使用指南:新手必备的10个高效管理技巧

Scarab模组管理器使用指南:新手必备的10个高效管理技巧 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 还在为《空洞骑士》模组管理而烦恼?想要轻松玩转…

作者头像 李华
网站建设 2026/1/2 0:09:54

YOLOFuse能否在Colab/Kaggle等平台运行?完全兼容云端环境

YOLOFuse能否在Colab/Kaggle等平台运行?完全兼容云端环境 在智能监控、夜间巡检和自动驾驶等实际场景中,光照变化、雾霾遮挡常常让传统基于可见光的目标检测模型“失明”。红外图像虽能穿透黑暗,但缺乏纹理细节;可见光图像清晰却依…

作者头像 李华
网站建设 2026/1/1 23:48:58

LeetCode 463 - 岛屿的周长

文章目录摘要描述题解答案题解代码分析为什么每块陆地是 4 条边?为什么相邻就要减边?这样会不会重复计算?Swift 可运行 Demo 代码代码逐步解析为什么不担心越界?示例测试及结果与实际场景结合时间复杂度空间复杂度总结摘要 这道题…

作者头像 李华
网站建设 2026/1/1 23:48:54

为什么 RN 的状态设计,必须先确定页面是否常驻

网罗开发(小红书、快手、视频号同名)大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方…

作者头像 李华