# 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](PCB_PROGRESS.md)。本文件中的载流、阻抗、散热尺寸属于设计起始约束,不代表已经通过电气或生产验收。 ## 新布局 - 下板:左上输入保护及母线采样,上沿布置辅助电源和串联泄放电阻;五路功率级采用上三下二,每路按输入陶瓷电容、Buck、电感、输出电容、eFuse、分流器排列。INA 靠分流器,反馈/补偿靠芯片安静侧,放电电阻避开反馈区。 - 控制器位于下板右下角,调试 USB 朝右板边;DAC 分布在下方控制区。两只风扇接口分别在左右边,测速接收器靠各自接口。模块天线位于右下角,两板均设置对应铜箔禁布区。 - 载板:Hub 在中央两对插之间偏右,USB 上游接口在右边;595 按级联顺序放置。每机的储能、VBUS 开关、ESD、EDL 和按键 MOS 就近分组。排线通道及切槽避让保持有效。 - 五颗 10.5mm 电解电容在下板增加外扩 1mm 的顶层器件禁布投影。该检查仅覆盖这些已知高器件;C2/C3、端子、模块和排线的完整高度/插拔空间仍需装配检查。 预览:[下板](out/pcb-layout-r2/Board1-placement.png)、[载板](out/pcb-layout-r2/Board2-placement.png)。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 天线两板都已留铜箔禁布投影,但周围地平面、螺钉、外壳和手机金属的完整射频净空仍待模块手册/整机复核,不宣称天线性能已验证。 ## 检查与复现 ```powershell & 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` 是本轮规则安装工具,修改已有规则前须先审查,不能用它覆盖后来新增的手工约束。 报告:[当前布局/局部布线检查](out/pcb-layout-r2/verification.json)、[规则故障注入检查](out/pcb-layout-r2/rule-probe/verification.json)、[取样支路故障注入检查](out/local-routing-r3/kelvin-probe.json)。原生连通引擎统计未连接为807/632;此前各499仅是DRC报告列表长度。当前ERC为29/196,未降低严重程度,未输出生产Gerber。