agentee

电路板

过孔类型

通孔、盲孔、埋孔和微孔,堆叠和跳孔,控深钻孔、背钻以及 IPC-4761 过孔填充。

电路板 [[vias]] 条目是过孔类型:其孔、焊盘、跨越的铜层以及板厂如何构建它,如 KiCad、Altium 和 HDI 板厂所称。

[[vias]]
name = "uvia-top"
type = "microvia"              # laser drilled, one dielectric: F.Cu to In1.Cu
from = "F.Cu"
to = "In1.Cu"
drill = "0.1mm"
diameter = "0.25mm"
fill = "filled_capped"         # copper filled and capped, for via-in-pad
# stacked = true               # a stack of microvias, one per dielectric from..to
# skip = true                  # one laser hole over two dielectrics

[[vias]]
name = "core"
type = "buried"                # inner to inner, drilled in a laminated sub-stack
from = "In1.Cu"
to = "In4.Cu"
drill = "0.2mm"
diameter = "0.45mm"

[[vias]]
name = "bd"                    # a through via backdrilled from the bottom
drill = "0.3mm"
diameter = "0.6mm"
backdrill = { from = "B.Cu", to = "In2.Cu", max_stub = "0.2mm" }
# backdrill.diameter defaults to the drill + 0.2 mm
类型跨度钻孔
through从第一个到最后一个铜层机械钻孔,在最后一次压合之后
blind从一个外层到一个内层机械钻孔,在子叠层中,或到受控深度(drill_kind = "controlled_depth")
buried从一个内层到另一个内层机械钻孔,在压合的子叠层中
microvia一个介质层(stacked:多个,skip:两个)激光钻孔,在构建层中

没有 type 时由跨度决定:从第一层到最后一层是 through,一个外层端是 blind,两个内层端是 buried。检查将类型与其跨度(盲孔必须恰好接触一个外层,埋孔不接触任何外层)以及板厂保持一致:

  • 除 through 外的任何类型,以及任何背钻,都需要顺序层压:generic 和 jlcpcb 预设仅构建通孔,并将此类过孔报告为错误;hdi 预设或 [rules] hdi = true 允许它们。
  • 跨度和钻孔类型必须匹配层压的钻孔步骤(见层压);错误列出其钻孔的跨度。drill_kind 对微孔默认为 laser,否则为 mechanical;微孔总是激光钻孔,激光钻孔的过孔是微孔。
  • 受控深度过孔(drill_kind = "controlled_depth")是盲孔,在最后一次压合后从其外层机械钻孔,通过深度停止在其内层。其钻孔至少为 min_controlled_depth_drill(以及 min_via_drill),其深度(从外层铜到目标铜)与其钻孔之比至多为 max_controlled_depth_aspect_ratio,且其上下无堆叠:钻孔通过深度在普通焊盘上停止,因此 stacked-via 报告其位置的任何过孔。板厂在其自己的钻孔文件 drill-FROM-TO-controlled-depth.drl 中获取它,与同一跨度的顺序钻孔过孔在 drill-FROM-TO.drl 中分开,板厂注释用其钻孔文件命名每个过孔类型,受控深度的过孔标注为从其侧面钻到受控深度。
  • 微孔跨越一个介质层,除非 stacked(单个微孔的堆叠,需要 [rules] stacked_microvias = true 和下方填充铜的微孔)或 skip(一个激光孔跨越两个介质层)。其钻孔在 min_microvia_drill 和 max_microvia_drill 之间,其焊盘至少为 min_microvia_diameter,其深度与钻孔之比至多为 max_microvia_aspect_ratio,对于堆叠中的每个介质层。IPC-T-50 将微孔定义为最大 1:1 纵横比和 0.25 mm 深度的盲结构;更深的为警告。
  • 盲孔和埋孔的钻孔直径至少为 min_blind_via_drill(以及 min_via_drill)。
  • 背钻从过孔到达的外层 from 开始,在严格位于该跨度内部的层 to 之前停止,该层保持连接。此时,过孔仅从其远端到 to 有铜,留下的残桩最长为 max_stub(默认 0.25 mm)。微孔和埋孔不能进行背钻。

fill 是 IPC-4761 过孔保护类型:tented(I)、tented_covered(II)、plugged(III)、plugged_covered(IV)、filled(V)、filled_covered(VI)、filled_capped(VII)。焊盘内过孔要求类型为 VII;如果过孔位于焊盘内且其类型设置了其他填充方式,则会产生 via-in-pad-fill 错误;如果过孔位于没有 fill 的焊盘内,则会在板厂备注中列出,要求像以前一样进行填充和盖帽。

过孔仅占据其跨度的铜层(背钻后,为剩余的层)。所有放置或读取过孔的功能都遵循这一规则:连接性、短路和间距、铺铜(在过孔未到达的层上铺铜时,不为它保留反焊盘)、缝合(过孔的层)、扇出(到达焊盘层的第一类过孔)、未布线和悬空端检查、接口过孔残桩(盲孔在其端层之后没有残桩,背钻过孔保留其 max_stub)、孔到铜 hole-to-copper 和孔跨度内的 aspect-ratio、仅针对跨度共享介质的孔的 hole-to-hole,以及 stacked-via:两个过孔在同一位置穿过同一介质会被钻两次,而在同一层相交的过孔(埋孔上的微孔,或微孔堆叠)是堆叠过孔,仅在 stacked_microvias 中允许,并遵循构建顺序:两个在同一层相交的过孔中,靠近电路板表面的那个在上,下面的那个必须在相同或更早的层压步骤中钻孔(埋孔上的微孔需要先进行埋孔的步骤)。两个同样靠近表面的过孔可以按任意顺序堆叠。丝印文字仅避开孔口在其侧面的过孔,因此标签下方的埋孔没问题。直流、热和 FDTD 模型仅在过孔的第一层和最后一层之间运行筒体;背钻过孔也保留其残桩,即从停止层向钻孔侧延伸 max_stub 长度的筒体(短于下一层):FDTD 将其网格化为金属直至最近的网格平面,热模型沿其作为铜传导,其余介质作为 FR-4 传导,直流模型将其排除,因为死端不承载电流。2D 查看器仅在显示其某一层时绘制过孔,用其类型的颜色环绕(通孔金色,盲孔青色,埋孔淡紫色,微孔青色),并在边缘显示其两端层的颜色,用其环颜色的点在孔中标记受控深度过孔的镀层底部。3D 查看器仅在过孔到达的侧面钻孔,并在其跨度处结束筒体;受控深度过孔在停止层以下以镀层钻孔点结束,这是一个深度为钻孔半径 0.6 倍的圆锥(118 度钻头),而顺序钻孔过孔则平头结束;背钻显示为更宽的无镀层孔,直径为背钻直径,从钻孔面到残桩,即镀层筒体结束的位置。

网络类可以列出多个过孔,via = ["std", "uvia-top", "uvia-bot"]。布局中的 [[vias]] 条目和 [[stitching]] 除非指定,否则使用第一个;[[fanouts]] 使用到达焊盘层的第一个;路由器在每次层变更时选择最便宜的、其层包含两端的列出的过孔(cost 乘以 --via-cost,平局时选择跨度层数较少的过孔),因此对于 ["std", "uvia-top"],从 F.Cu 到 In1.Cu 的变更使用微孔,到 In2.Cu 的变更使用通孔。它仅在 stacked_microvias 中才会在同一位置两次变更层(埋孔上的微孔),否则错开它们,且绝不在受控深度过孔上或其下方。当它在同一位置两次变更层且列出的过孔跨越这两个变更时,如果它保持与固定铜以及同一次布线中布线的铜和过孔孔的间距,则放置该单个过孔。层压无法钻孔的类过孔会被排除;如果没有剩余的类,则失败并显示层压钻孔的跨度。

docs/format.md · 面向智能体的 Markdown