可控深度钻孔(背钻孔)
受控深度钻孔(CDD),也称为背钻(back drilling),是一种用于从印制电路板(PCB)的通孔中去除未使用部分(即“残桩”/stub)铜孔壁(铜桶)的技术。当高速信号通过铜孔壁在PCB层间传输时,信号可能会发生畸变。如果信号层的使用方式导致存在残桩 且残桩较长,这种畸变就会变得很明显。
这些残桩可以在制造完成后,通过使用稍大一号的钻头对这些孔进行二次钻孔来去除。背钻会以受控的深度进行 ,深度接近但不接触该过孔所使用的最后一层。考虑到制造与材料的变化,优秀的加工厂可以通过背钻将残桩控制到7mil; 理想情况下,剩余残桩应小于10mil。

该过孔用于连接两层内层,因此在上方和下方会产生未使用的孔壁(残桩)。
这些残桩可以通过受控深度钻孔去除。

为去除残桩,左侧过孔从顶层进行背钻; 右侧过孔从两侧进行背钻。注意两个过孔都仍有少量残桩残留。
背钻最常用于过孔,也用于压接式背板连接器;它是一种具有成本效益的方案,可帮助管理高速信号路径的信号质量。与用于盲孔/埋孔的顺序层压技术相比,它成本更低。
背钻通过以下方式实现:
- 定义一个 Maximum Via Stub Length (Back drilling) 设计规则,用于指定关注的网络(nets)以及允许的最大残桩长度。注意该残桩长度不是钻孔设置; 它是软件在批量DRC检查中用于检测剩余残桩的数值。
- 背钻到达的深度通过配置一个钻孔对(drill pair)来定义,该钻孔对 指定背钻的起始层与终止层。任意铜层都可以被定义为背钻的起始层和终止层。
- 背钻所用钻头的直径由
Via/Pad hole size + 2 x Oversize设置在相应的 Maximum Via Stub Length (Back drilling) 设计规则中定义。 - 将具备网络感知(net-aware)的布线对象连接到焊盘或过孔,以定义用于走线信号的一对层。
定位需要背钻的孔
通过添加 Maximum Via Stub Length (Back drilling) 设计规则来告知软件存在需要背钻的孔。该设计规则的作用域(scope)定义哪些过孔或焊盘需要钻孔。通常只对选择性的网络进行背钻,例如高速网络,此时作用域可以类似 InNet('Clock'),或 InNetClass('HighSpeedNets')。

规则的作用域定义该规则必须应用到哪些对象。此规则以IO网络类中的过孔为目标。
例如,如果作用域为 InNetClass('IO'),则这些网络中的所有过孔与焊盘都有可能被背钻。实际会被背钻的孔取决于这些信号走在哪些层上,以及定义了哪些背钻层对。如果某个孔在背钻层范围内的各层上没有连接,该孔将被背钻。InNetClass('IO') and IsVia。
定义背钻属性
当对通孔孔壁进行背钻时,会使用加大尺寸的钻头来去除不需要的铜。

通过使用加大尺寸的钻头将孔重新钻到特定深度,可去除过孔孔壁中未使用的部分,从而提升该信号路径的完整性。
所有层到层的钻孔动作都通过在 Back Drills 选项卡中添加起始层-终止层的钻孔定义来完成,该选项卡位于 Layer Stack Manager 中。在Layer Stack Manager中启用Back Drill功能之前,该选项卡不可用;选择 Tools » Features » Back Drills 以启用,或点击
按钮并选择 Back Drills。
启用该功能后,切换到 Back Drills 选项卡并点击
按钮以添加新的背钻定义。
下一步是配置需要背钻的层,如下所述。
钻孔深度
背钻深度是计算值,而不是你在对话框中输入的数字。你定义第一层与最后一层,软件会计算所需的钻孔深度,以背钻穿过第一层与最后一层之间的所有层(包含第一层厚度,但不包含最后一层厚度;背钻在该层停止)。First layer 和 Last layer 在 Properties panel in Layer Stack Manager mode 中定义(需选择 Back Drills tab)。必须在层叠中定义了背钻,才能访问如下所示 Back Drill 区域(位于 Properties panel 中)。

孔会钻到 Last layer field 中指定的最后一层之前,但不接触该层。钻孔动作的深度由以下因素定义:
Depth = Sum of all layer thicknesses from first layer to last layer - last layer thickness
层厚度取自在 Layer Stack Manager 中输入的数值。
属性面板
当Layer Stack文档的 Back Drills 选项卡处于活动状态时, 使用 Properties 面板来定义需要背钻的跨层范围(layer-spans)。

- Back Drill
- Name – 背钻名称。
- First layer – 背钻跨越的第一层。
- Last layer – 背钻跨越的最后一层。
- Mirror – 启用后,会创建当前背钻的镜像版本,使其跨越层叠中对称的层。仅当启用 Stack Symmetry 选项时可用。
- Board
- Stack Symmetry – 启用后以匹配成对的方式添加层,并以中间介质层为中心。启用后会立即检查层叠是否围绕中央介质层对称。若任意一对相对于中央介质参考层等距的层不一致,将打开 Stack is not symmetric dialog。
- Library Compliance – 启用后,对于从材料库中选择的每一层,都会将当前层属性与库中该材料定义的数值进行核对。
- Substack – 该信息针对当前选中的子叠层(层、介质、厚度等)。当你从一个子叠层切换到另一个子叠层时,该信息会相应更新(针对当前选中的子叠层)。
- Stack Name – 输入子叠层名称。当X/Y叠层区域要分配层子叠层时,为子叠层命名会很有用。
- Is Flex – 若子叠层为柔性(flex)则启用。
- Layers – 导电层数量。
- Dielectrics – 介质层数量。
- Conductive Thickness – 所有信号层与平面层(所有铜层/导电层)厚度之和。
- Dielectric Thickness – 介质层厚度。
- Total Thickness – 成品板总厚度。
钻孔尺寸
钻孔直径计算自:
Back Drill Size = Via/Pad hole size + 2 x Design Rule Backdrill Oversize
与其为背钻输入一个具体钻孔尺寸,不如定义背钻相对于原始过孔或焊盘孔径要大多少。该加大量在设计规则中以径向(radial)数值指定,并可同时指定背钻孔的公差要求,如下所示。

背钻所用钻头尺寸 = 原始过孔或焊盘孔径 + 2倍设计规则中指定的Backdrill Oversize。注意Oversize以径向数值指定。
背钻孔的屏幕显示
背钻孔的显示会额外包含一个**双色环**,其属性如下:
- 内圈为原始过孔(棕色)或焊盘(绿/蓝)孔径。
- 双色环表示背钻的起始层颜色与终止层颜色。
- 彩色弧线的宽度为设计规则中定义的 BackDrill OverSize 数值。由两段彩色弧线所定义的外圆直径即为实际背钻孔径,该孔径会在 Hole Size Editor 模式下的 PCB 面板中作为钻孔尺寸列出。
- 彩色环的显示取决于 PCB 编辑器当前激活的是哪一层。例如,下方第一张图是在顶层激活时显示,第二张图是在底层激活时显示。若激活层不是背钻层(例如下图所示过孔的 Mid Layer 2 或 Mid layer 3 为激活层),则背钻将完全不显示。你只会看到棕色的过孔孔径,外侧为多层焊盘(land)区域。

同一个过孔:左图为顶层激活,中图为底层激活,右图为 3D 模式显示。
在 Hole Size Editor 中检查背钻
也可以通过 Hole Size Editor 在 PCB 面板中设置模式来定位并查看背钻。
在下图中,面板里点击了 14mil 尺寸的背钻。显示会缩放到这些背钻孔,并用起始层与终止层高亮显示。注意:面板中显示有 7 个背钻过孔,但设计空间中只显示 5 个。这是因为第 2 和第 3 个过孔同时从板顶与板底两侧背钻;由于当前激活层为顶层,这些过孔目前显示为顶侧背钻。
检查残桩(Stub)
Maximum Via Stub Length (Back drilling) 设计规则既用于定位潜在背钻位置,也用于检测是否仍有残桩。
在进行设计规则检查时,所有适用的过孔与焊盘都会被检测:若残桩长度大于设计规则中 Max Stub Length 配置的值,则会报错。注意:会对 Maximum Via Stub Length (Back drilling) 设计规则所作用的所有焊盘与过孔进行检测,而不仅仅是已背钻或未背钻的对象。
该规则检查的是任何**剩余残桩**的长度。如下图所示,即使该过孔已按已定义的背钻要求完成背钻,剩余残桩仍大于适用设计规则允许的 7mil,因此会标记为规则违规。

设计规则检查会标记任何大于规则允许的最大残桩长度(Max Stub Length)的残桩。
该过孔不通过,因为剩余残桩大于 7mil。
生成输出
背钻的输出生成是透明的;如果需要额外的钻孔类输出文件,会自动生成。
背钻与盲孔非常相似(盲孔同样需要在 Layer Stack Manager 中定义起始/终止层对),用于指定该层对之间的钻孔要求。区别在于:盲孔是镀铜的,而背钻过孔或焊盘属于**非镀铜**的钻孔事件。非镀铜孔本质上是后加工流程,即钻孔发生在蚀刻、压合、钻孔以及通孔电镀之后。
背钻报告
要生成设计中所有背钻事件的汇总报告,在 Unique Holes 区域内(PCB 面板,处于 Hole Size Editor 模式)右键,然后从右键菜单中选择 Backdrill Report。

生成当前 PCB 中所有背钻事件的报告。
Report Preview 对话框将打开。点击 Export 按钮选择文件类型与保存位置,然后输入文件名。
钻孔符号、钻孔表与钻孔图
钻孔符号会自动分配,并可在 Drill Symbols 对话框中重新配置。若在 Drill Symbols 对话框中启用了 Show Drill Symbols 选项,这些符号会显示在 PCB 设计空间的 Drill Drawing 层上。可通过在面板的 Unique Holes 区域右键,或在 Drill Drawing 层标签上右键来打开该对话框,如下所示。

在 Drill Symbols 对话框中配置钻孔符号分配并启用其显示。
由于背钻会在同一位置使用不同直径的钻头进行钻孔,这些位置的钻孔符号会呈“堆叠”显示。使用层对选择器控制当前显示的是哪一组层对,如下图所示。
已放置的钻孔表可以配置为显示所有钻孔层对,也可以配置为仅显示特定层对。下图来自一个同时从板顶与板底进行背钻的设计,因此放置了三张表。注意 Drill Layer Pair 列;它指示每张表的用途。

放置了三张钻孔表:第一张显示通孔,第二张显示从顶侧背钻,第三张显示从底侧背钻。
NC Drill
对每个已定义的钻孔层对,NC Drill 输出都会生成一个独立的钻孔文件。注意:它还会针对每种孔形(圆形、矩形或槽孔)分别生成文件。
钻孔报告文件(<ProjectName>.DRR)包含钻刀(drill tool)分配、尺寸汇总,以及各个生成的钻孔文件的用途与名称。
NC Drill Setup 对话框包含一个 Generate separate NC Drill files for plated & non-plated holes 选项。NC Drill 输出文件始终包含所有钻孔事件。若启用该选项,则镀铜与非镀铜钻孔事件会分别输出到不同文件中,并在文件名中以额外字符串标识,格式为 <DesignName>-Plated 或 <DesignName>-NonPlated。
背钻事件始终会输出到各自的文件中,并用唯一的文件扩展名标识。例如,顶侧背钻事件可命名为 <DesignName>-BackDrill.TX3,底侧背钻事件可命名为 <DesignName>-BackDrill.TX4。

钻孔报告会汇总钻孔到刀具的分配、各尺寸数量,以及它们分别详细列在哪些钻孔文件中。
Gerber X2
Gerber X2 不仅是用于输出一组 PCB 层的制板数据标准(裸板制板还需要额外的 NC Drill 文件),它还会输出将设计导入制造商 CAM 流程所需的全部数据。Gerber X2 在 Gerber X2 Setup 对话框中配置。
其中包括:
- Gerber 文件功能:顶层铜、顶层阻焊等。
- Part:单板、拼板等。
- 对象功能:SMD 焊盘、过孔焊盘等。
- 钻孔公差
- 阻抗控制走线的位置
- 填充过孔
如果设计中存在背钻孔,Gerber X2 输出会自动包含额外的钻孔文件,文件名例如:
<DesignName>_Backdrills_Drill_1_3.gbr
这些背钻文件包含 Gerber X2 格式指令,例如:
%TF.FileFunction,NonPlated,1,3,Blind,Drill*%
该行指示 CAM 软件将此文件内容视为信号层 1 到 3 之间的非镀铜盲钻事件。
钻孔尺寸通过光圈(aperture)定义,其定义前会有一条指令声明这些光圈为钻孔尺寸。
%TA.AperFunction,BackDrill*%
ODB++
对于 ODB++ 输出,每个已定义的背钻层对都会额外创建一个钻孔文件夹,名称例如 \drill1、\drill2。这些文件夹包含标准的 ODB 钻孔文件。
IPC-2581
对 IPC-2581 的支持将在未来更新中加入。
Draftsman
Draftsman 是为设计创建高质量文档的理想工具。如果设计中定义了背钻类型的层对,Layer Stack Legend 会显示这些层对,便于快速确认其存在。

放置一个 Layer Stack Legend 来显示用于背钻的层对,并为每个层对的钻孔集合放置钻孔表。
你也可以将钻孔表配置为显示每个背钻层对,从而快速识别背钻所需的钻孔尺寸与孔数量。






