文件
phonerail/kicad/PCB_LAYOUT_RULES.md

13 KiB

R2 PCB 布局与走线规则

2026-09-07。适用:PhoneRail 两块 220×135mm、四层 PCB。

本次按原理图的电流路径和信号功能重新布局,不读取旧版 PCB 的器件位置、铜箔或走线。保留已确定的板框、安装孔、手机位置、排线槽和对插基准。519 个电气封装全部进入板内,其中 484 个器件重新放置,35 个机械定位电气封装保留。

当前已进入局部布线:下板40处Buck/INA本地连接、120段走线,无过孔;载板新增10颗Hub配置下拉。J1按用户要求改为270°、中心(58.4,67)mm,插口朝左板外,机械约束验证其位置和角度。完整布线和铺铜仍未完成,详见 PCB_PROGRESS.md。本文件中的载流、阻抗、散热尺寸属于设计起始约束,不代表已经通过电气或生产验收。

新布局

  • 下板:左上输入保护及母线采样,上沿布置辅助电源和串联泄放电阻;五路功率级采用上三下二,每路按输入陶瓷电容、Buck、电感、输出电容、eFuse、分流器排列。INA 靠分流器,反馈/补偿靠芯片安静侧,放电电阻避开反馈区。
  • 控制器位于下板右下角,调试 USB 朝右板边;DAC 分布在下方控制区。两只风扇接口分别在左右边,测速接收器靠各自接口。模块天线位于右下角,两板均设置对应铜箔禁布区。
  • 载板:Hub 在中央两对插之间偏右,USB 上游接口在右边;595 按级联顺序放置。每机的储能、VBUS 开关、ESD、EDL 和按键 MOS 就近分组。排线通道及切槽避让保持有效。
  • 五颗 10.5mm 电解电容在下板增加外扩 1mm 的顶层器件禁布投影。该检查仅覆盖这些已知高器件;C2/C3、端子、模块和排线的完整高度/插拔空间仍需装配检查。

预览:下板、载板。PNG 是按实际封装包围盒、焊盘和禁布区绘制的合成顶视投影,正反面未分离,不是三维装配图。原生分层图见同目录 Board1-top.svg、Board1-bottom.svg、Board2-top.svg、Board2-bottom.svg;底层图仍采用共同顶视坐标。

层与方向

项目 下板 载板
F.Cu 横向为主,功率级本面短连接 横向连接、顶面裸铜触点
In1.Cu 连续 GND 参考 电源分区,并为顶层 USB 保留连续 GND 通道
In2.Cu 电源分区,并为底层 USB 保留连续 GND 通道 连续 GND 参考
B.Cu 纵向为主 纵向为主,主要器件及 USB 所在面

横/纵指 PCB 全局 X/Y 方向,“底面”不是把 GND 强制走成纵向线。GND 应用低阻抗连续平面。内层不走普通信号线,只允许经过设计的电源区和地参考区。

局部焊盘出线、器件本地连接允许不超过2mm的非首选方向连续线段;其余非首选方向走线必须在pcb-routing-rules.json中按走线UUID登记并复核。检查器会合并首尾相接的同网同层非首选方向段,不能拆成多段绕过限制。当前包括五路RT/CLK电阻短连接例外、第二批15处同层补偿连接例外及第三批15处INA取样/旁路连接例外;具体UUID、长度和理由见direction.exception_reviews。各例外仅适用于已记录的局部铜线,未豁免整个网络。

开关热回路、反馈和晶振不应为了方向约束增加过孔。需要局部例外时,应记录具体回路和理由;不能用整个网络类豁免横纵规则。走线使用平顺转角,USB 两线同步转弯,避免形成大面积蛇形补偿。

制造与网络类

项目 规则
通用最小线宽/间距 0.127/0.127mm,常规信号优先 0.25/0.15mm;极限只用于必要扇出
通孔 常规 0.60/0.30mm,备选 0.80/0.40mm;最小孔环 0.15mm
板边与孔 铜至板边至少 0.30mm;切槽额外保留 0.50mm 禁铜;孔间至少 0.25mm
阻焊 扩展 0.05mm、最小桥 0.10mm;普通过孔不能直接进入 SMD 焊盘;填孔/盖孔须另定工艺
器件间距 放置搜索至少留 0.35mm 包围盒间距,并保留机械避让;不是完整 courtyard/返修工具空间认证
丝印 常规 0.8mm 字高、0.12mm 笔宽;密集区放不下的位号转装配层并记录 ReferenceOnFabOnly
Default / I2C 默认 0.25mm,间距 0.15mm
ANALOG / FEEDBACK / CLOCK_LOCAL 默认 0.20mm,间距 0.15mm
PWR3V3 / PWR5V 默认 0.50 / 1.00mm;按分支实际电流扩大铜区
PWR4A 默认 2.00mm,间距 0.20mm;五路供电及 eFuse 到分流器的中间网均已归类
PWR12V 默认 4.00mm,间距 0.20mm;输入接口、保险、反接保护和采样前后母线均已归类
FAN_PWR 默认 1.20mm,间距 0.20mm;单独约束风扇供电,避免按整个母线电流扇出
SWITCH 默认 1.00mm;禁止过孔,网内走线总长上限 12mm;对模拟/反馈/USB/晶振最小走线隔离 0.50mm
USB90 默认 0.28mm / 间距 0.18mm;短扇出下限 0.15mm,常规线宽上限 0.30mm

过孔数量和电源主干宽度的具体要求记录在 JSON 和本文件,目前属于布线审查项,不是全部都已由原生 DRC 自动执行。网络类默认宽度本身不等于最小铜颈检查。

电源与回流

  1. 主母线以 10A 连续电流作为初步铜箔设计工况,需覆盖五路供电、风扇和辅助电源;12A 保险的额定值不是铜箔持续载流能力。35um 外层铜主干优先铺宽铜,起始目标 6mm,长主干不得小于 4mm;最终按 IPC-2152、板厂铜厚、温升和压降复算。
  2. 每路按 4A 设计。输出主干目标 2mm,长段下限暂定 1.5mm;细脚扇出缩颈仅允许短距离,并尽快展开铜区。3 个并联正极针和对应 GND 针必须实际分流,禁止只接一个针后靠接口内部短接。
  3. 大电流换层使用成组过孔,初始下限每路 6 个 0.6/0.3mm、主母线 12 个;以孔铜、板厚、温升和分流结果复核,禁止把这些数量视为通用载流保证。优先减少大电流换层。
  4. 输入陶瓷、Buck VIN/PGND、开关管内部回路必须紧凑。SW 到电感短而集中,禁止扩大成跨板铜区;SW 下方及周围不穿反馈、DAC、I2C 或 USB。暴露焊盘采用厂家建议的地/散热铜和热过孔,未确定填孔工艺前不直接在焊盘中心放普通通孔。
  5. 输出电容后端取反馈,分压与补偿回到芯片附近安静地;不得从电感 SW 侧或大电流地铜颈取样。分流器正负端采用独立 Kelvin 引线,直接到 INA VIN+/VIN-,不得从负载铜区中途分叉,也不得让采样线承担负载电流。
  6. 五路手机回流与对应正极并行、就近回到各自储能和对插 GND。保持同一连续地系统,以布局和路径控制回流;禁止切地缝强制“星形地”,也不能把 USB 排线地当作手机电源的主要回流通道。风扇开关回流避开 ADC/反馈参考区域。
  7. 泄放电阻、eFuse、分流器和 LDO 留散热面积。13mm 层间距和 40W 样机风道工况不证明五路 80W 输出可持续运行;热验收仍按 THERMAL_TWO_FAN.md 执行。

当前已布十条分流器至INA VIN+/VIN-的独立0.20mm顶层测量支路,直接接入分流器焊盘,具体UUID登记在measurement_branches。kelvin_checks.py使用原生物理连通检查端点、完整路径和额外支路,已接入布局检查;允许后续负载铜线在分流器焊盘端点接入,不允许在线中途分叉。该检查不覆盖铺铜旁路、焊盘内电流分布及电阻本体误差;铺电源后仍需复核两端器件的Kelvin取样几何。不得把这些同属功率网名的细线当作负载主干。

USB 与低噪声电路

载板 Hub/USB 布线拓扑

载板的 USB 拓扑按“上游接口 J23 -> ESD -> Hub U32 -> 五个下游排线/对插端口”实施,先完成信号和参考面,再连接端口电源:

  1. 上游 USB:J23 的 D+/D- 先进入同侧 USBLC6 ESD,再以一对连续差分线到 U32 的 USB 上游引脚。优先走 B.Cu,整个通道保持 In2.Cu 连续 GND 参考;J23 到 ESD 的扇出不超过 3 mm,ESD 到 U32 不放测试支路。
  2. 下游 USB:U32 的五对 DP/DM 分别直达 J31/J32 及三个手机排线端口,按端口编号保持一对一,不在 Hub 端口之间串接。每对优先走 F.Cu,并在 In1.Cu 预留连续 GND 通道;同一对的两线保持同层、同过孔数,长度差目标不超过 0.5 mm。
  3. Hub 电源:U32 每个 VDD/AV视频供电脚先接各自最近的去耦电容,再汇入载板 +3V3 电源区;去耦回路不经过其他负载。Hub 的地焊盘和去耦地焊盘就近落到 In2.Cu 地平面,禁止用长顶层地线串联。
  4. 端口 VBUS:每个手机端口的 VBUS 从本端 EDL/负载开关输出就近到连接器,禁止通过 USB 差分走廊;五路 VBUS 只在电源层分区汇合,不能借用 USB 屏蔽地或信号参考铜皮作为回流。
  5. 控制链:U32 的配置下拉、复位和状态线留在 Hub 周边,短支路接入 I2C/控制干线;不得穿越晶振、USB 差分走廊或 Hub 的开关电源回路。晶振及负载电容形成独立的最短本地回路,禁止过孔。
  6. 换层与回流:USB 信号换层前必须在目标层保留连续 GND 参考,并在信号过孔旁 1 mm 内放置回流地过孔;同一差分对的换层位置和数量必须一致。任何跨越 In1/In2 电源分割的候选路径拒绝进入布线审查。

布线执行顺序固定为:J23 上游对 -> U32 晶振/去耦 -> 五对下游差分 -> Hub 控制链 -> 各端口 VBUS -> 电源层和地平面。未完成参考面和端口编号核对前,不生成正式 USB 走线。

  • USB 以 90Ω 差分、±10% 为目标;0.28/0.18mm 对应的 0.2104mm 外侧介质只是暂定值。板厂确认材料、压合、阻焊与蚀刻后重新求解线宽/间距,再布正式差分。
  • F.Cu 的 USB 必须有 In1.Cu 连续 GND,B.Cu 必须有 In2.Cu 连续 GND。换层前先在原计划电源层保留对应 GND 通道,检查不存在跨电源分割的参考面;信号过孔旁 1mm 内配地回流过孔。不得因方向要求把 USB 换到缺少地参考的一面。
  • 两线同层、同过孔数量,每条最多暂定 2 个过孔;板内总长度差目标 ≤0.5mm,解耦长度 ≤5mm。参考面、耦合间距、过孔回流、接口和 ESD 内部延迟还需完成后的专项检查。
  • 当前 DP/DM、DPJ/DMJ 命名未确认能被 KiCad 原生差分工具配对,因此 JSON 显式列出下板 1 对、载板 11 对。检查器按明确的正负网核算铜线长度差和过孔数;原生差分 gap/skew 规则仅在正确配对后生效,不能用当前无走线检查代替配对验收。
  • 晶振靠 Hub,负载电容接本地地,时钟网禁止过孔、总长上限 15mm。Hub 每个供电脚的旁路独立就近连接,不串经过其他负载再回到电源脚。
  • I2C 和控制链预留直接干线,缩短支路,远离 SW;终端/串阻需根据实际长度、边沿和测量确定。当前没有新增原理图器件或改变供电时序、电平转换方案。
  • ESP32 天线两板都已留铜箔禁布投影,但周围地平面、螺钉、外壳和手机金属的完整射频净空仍待模块手册/整机复核,不宣称天线性能已验证。

检查与复现

& D:/KiCad/bin/python.exe scripts/verify_pcb_layout.py
& D:/KiCad/bin/python.exe scripts/probe_pcb_rules.py
& D:/KiCad/bin/python.exe scripts/probe_kelvin_branches.py

第一项是布局阶段检查,不要求消除尚未布线的飞线;--release 当前必须返回失败。第二项在独立测试板注入错误,验证自定义规则及方向检查确实触发,不改主板铜箔。

本轮还修复了旧规则不写单位的问题:本机 KiCad 10.0.6 中,尺寸约束未写 mm 时故意违规未被检出,CLI 仍输出 DRC 文件。当前所有自定义尺寸均带单位,并已用超宽 USB、开关过孔和内层信号测试验证。

生成器 optimize_pcb_layout.py 使用 out/pcb-layout-r2/before 中的原生起板快照,仅保留机械锚点,重新生成其余位置;生成文件有哈希保护。后续在编辑器手工修改后不要强行重跑生成器,也不要用 bootstrap_pcb.py 覆盖新布局。set_pcb_rules.py 是本轮规则安装工具,修改已有规则前须先审查,不能用它覆盖后来新增的手工约束。

报告:当前布局/局部布线检查、规则故障注入检查、取样支路故障注入检查。原生连通引擎统计未连接为807/632;此前各499仅是DRC报告列表长度。当前ERC为29/196,未降低严重程度,未输出生产Gerber。