文件
phonerail/kicad/PCB_PROGRESS.md

12 KiB

KiCad PCB 推进记录

2026-09-07。当前阶段:三批局部布线完成,尚未完成全板布线/铺铜。下板40处连接、120段F.Cu走线、无过孔;载板新增10颗Hub配置下拉。两板共529个电气封装。

最新:ERC为29/196,全部225项已登记逐项处理台账,其中10项供电模型报告仅暂时允许布线。两板几何/丝印及原理图一致性DRC为0项,原生未连接数807/632。此前“各499项”是DRC报告列表长度,未覆盖完整未连接总数,历史记录中相同数字均按此更正。详见 ERC_DISPOSITION.md。

第三批布线:五路各完成分流器两端至INA VIN+/VIN-的两条独立取样线,以及INA供电脚至旁路电容的本地连接,共15处、45段新增顶层走线。取样线0.20mm,供电旁路0.25mm,无过孔;未连接822降至807。307个封装的位置/朝向/焊盘网络及原有75段铜线逐项保持不变。十条取样支路已在规则中登记,原生连通检查核对指定焊盘、连续性及额外支路;断线和线中途接入支路的故障注入均检出。布线记录、原生铜层预览、检查器验证。

当前取样线只承担测量电流,不是4A负载铜线;两端分流器焊盘的负载电流进入方向及铺铜后的Kelvin效果仍须复核。INA旁路地、总线电压采样脚8和全板参考地尚未完成。Buck软启动/反馈下臂及eFuse使能偏置候选存在局部冲突,均未写入;下一步需要先调整局部布局或路径,再补安静地与功率热回路。

本轮按用户截图修正J1:由90°旋转至270°,中心由(63,67)移至(58.4,67)mm,插口朝左板外,前端轮廓距板边约0.25mm。其余306个封装及全部75段走线保持不变;位置/朝向写入机械约束和布局验证器。局部预览、验证记录。

第二批布线:五路各完成R106类补偿串联电阻到C110类电容、COMP到补偿电阻、COMP到高频电容,共15处新增连接、45段0.20mm顶层走线。逐条DRC筛选、保存重载及原生连通检查通过,未连接837降至822。软启动和反馈下臂的候选发生间距/短路冲突,未写入主板;需后续调整局部路径。安静地和功率热回路仍未完成。详细记录。

此前电气推进:五路EDL常闭端按TI手册确认不用并加NC,ERC曾为33/212、未连接待审225项,见 EDL_POWER_REVIEW.md。下文R2及R1内容为历史记录;开始布线后不能重新执行起板或布局生成器覆盖当前PCB。

布线前引脚类型核查已完成迁移器件收尾:未定义类型及pin_to_pin均为0,两板ERC当前为 33/217项。230项未连接引脚已建立逐脚待审清单,见 IC_PIN_REVIEW_R3.md。随后按用户要求将C737改为22µF/10V KEMET固态钽电容,符号、极性、PCB封装与BOM已同步;除C737外的元件属性及全部网络端点保持不变,几何与原理图一致性DRC仍为0项,见 C737_TANTALUM.md。

当前 R2 布局

按用户要求重新按电路功能摆放,不参考旧版 PCB 布局,保留顶层横向、底层纵向的走线方向及机械基准。

  • 下板重新放置 299 个器件,载板重新放置 185 个;519 个电气封装全部在板内,35 个机械定位电气封装保持不变。
  • 下板五路功率单元上三下二;输入保护和辅助电源沿上边,控制/DAC 在下方,风扇接口分列左右。载板 Hub/595 居中,五个手机位的储能、ESD、VBUS、EDL、按键各自就近。
  • 五颗 10.5mm 电容增加下板高度投影禁布;两板增加 ESP32 天线铜箔避让。完整装配高度和射频净空仍待核对。
  • 已设置 12 类网络及原生 DRC 规则,补充方向、显式 USB 配对和关键器件距离检查。规则尺寸显式写入 mm,通过故意违规测试确认执行。
  • 两板几何/库/丝印 DRC 各 0 项,原理图一致性各 0 项;2007 个焊盘网络赋值、80 个对插针位、61 项关键距离检查通过,已知高电容投影碰撞 0 项。
  • 两板仍各499个未连接项,无走线、过孔和铺铜。引脚类型核查后ERC为33/217项,不属于生产验收通过。

工程:下板 PCB、载板 PCB。 预览:下板、载板。 规则与复核方法:PCB_LAYOUT_RULES.md。检查结果:verification.json。

下一步按规则完成热回路、Kelvin 取样、USB 配对与参考地通道,随后布电源、信号和回流铜区;板厂叠层确认、全板 ERC 和完整高度检查仍须完成。风扇两项首版延期决定继续有效。

R1 历史基线

以下记录保留起板时的状态及迁移修复经过,其中“板外暂存、未布局”等描述只适用于 R1,不代表当前 R2。

用户已决定具体风扇型号接口保证值、启动/装配保护两项不再作为首版前置条件,记录在 prototype-scope.json。继续推进 PCB,不将延期项改写为已验证。

可打开的工程

原理图、PCB、工程设置、规则文件在同一工程目录中。普通器件按原理图页分组放在板框右侧,字段 Placement=STAGED_NOT_PLACED。这不是已完成的板内布局。下板仅 2 个对插接口固定,载板固定 33 个电气封装;其余 299/185 个封装待摆放。

本轮建立的基准

项目 当前内容
板框 两板同为 220×135mm,R5;统一 KiCad 左上角 (50,50)mm
坐标换算 旧载板机械坐标 (x,y) → KiCad (50+x,185-y);两板共用,不再把旧下板 (-30,-5) 偏移带入新板
板间间隙 保留 13mm 设计值;尚未完成元件高度配合检查
公共安装孔 两板 6 个 M3 孔对应,钻孔3.2mm、接地焊盘6mm
载板中跨安装孔 额外保留 (76.6,79.5)、(148.1,79.5) 两孔;下板不添加
手机定位 3+2 朝向、每机6个1.8mm非金属化孔;沿用 H5 不打的决定,共30孔
接触方式 顶面20个1.5mm裸铜触点,1mm手机间隙;不进元件BOM、不进贴片坐标、无焊膏开口
排线 10条铣槽,槽边0.5mm铜/器件禁布区;背面两类排线通道记录为规则区域
槽端 暂取0.5mm内圆角,直边有效长度9/18mm,对应8/18mm排线;制板时核对1mm铣刀工艺
对插 下板J24/J25顶面,载板J31/J32底面;80个奇偶对换针位的物理坐标及网络逐一相等
板边USB J23在载板右侧、底层,信号焊盘在接口中心西侧,开口朝板外
四层设置 1.6mm;外层35um、内层17.5um铜;外侧介质0.2104mm,芯板1.0742mm由总厚度推算,待板厂确认
网络类 Default、USB90、PWR4A、PWR5V、PWR12V;通孔0.6/0.3mm,USB线宽/间距预设0.28/0.18mm

机械参数集中在 pcb-mechanical.json,来源是已定稿设计和机械脚本中的当前常量,没有导入 EasyEDA 铜箔、过孔或走线。

M1.6孔的1.8mm courtyard半径表示3.2mm螺钉头加0.2mm单边装配余量;普通器件仍按旧设计距孔心2.2mm避让。不能把两种间距重复叠加在相邻H6/H7螺钉头之间。触点历史位置不确定度、排线端部的接口容许区域、手机支撑高度仍需在后续布局/装配中复核。

层的用途继续按原决定:下板 In1 为连续地参考、In2 为电源分区;载板 In2 为底层USB的地参考、In1为电源分区。本阶段仅设置四层物理结构,没有铺铜。USB90 是布线尺寸预设,既不证明阻抗已合格,也不证明现有 DP/DM 网名已被交互式差分布线器配对识别,正式布差分前要验证配对和实际叠层。

修复的迁移问题

  1. 67个原迁移封装漏做Y轴翻转。EasyEDA封装坐标为Y向上,KiCad局部坐标为Y向下;旧生成器原样写Y和角度,造成IC焊盘绕行方向镜像。已反射图形/焊盘坐标并反转角度,保留焊盘号、尺寸和铜层。814个焊盘坐标逐一对照原始efoo,SOIC-16、SOIC-8、SOT-23与KiCad标准封装的引脚手性一致。
  2. USB-C四个长圆孔漏掉独立90°孔旋转。原始PAD记录第14字段为孔旋转,旧生成器未处理。现按原数据交换长短轴;J22/J23原孔环DRC消除,没有猜改厂家孔尺寸。孔中心的原始亚微米舍入偏差未用来移动焊盘。
  3. 裸铜触点错误带F.Paste。移除焊膏层,保留铜和阻焊开口;20个实例检查通过。
  4. 通孔阻焊意图在保存时丢失。对已有双面开口的通孔显式写入 tenting front=no/back=no,两板已完成原生保存、重载回归,确认阻焊层保留。
  5. XML网名与PCB内部转义格式不同。PCB导入使用原生kicadsexpr网表名称,按引脚集合与XML配对,正确保留GPIO/SDO、RT/CLK、SS/TR等名称中的 {slash};不改原理图网络或连通关系。
  6. USB-C前缘三段轮廓移到F.Fab,装到右板边后不再产生丝印裁切提示。板边位置未为消除提示而移动。

原迁移封装备份及逐项审计位于 out/footprint-orientation。风扇专用库不做镜像,端子只补充阻焊开口的显式属性。

检查结果

检查 下板 载板
电气封装集合 301/301 218/218
焊盘网络对应 1041 966
编译网表网络数,含未连接命名网 200 362
原理图一致性差异 0 0
几何/孔环/库差异/丝印DRC项 0 0
未布线连接项 499 499
已布线段/过孔 0 0
原生保存重载检查 通过 通过

详细结果:verification.json、下板DRC、载板DRC。几何类DRC为0不能简写为“PCB DRC全通过”,因为998条未布线连接仍然存在,而且普通器件尚未摆入板内。原理图ERC仍为下板409、载板376项,未修改严重等级或批量加NC。

首版专项检查采用已修正引脚的固件副本时为505通过、0失败、2延期;同级固件尚未合入,因此默认检查为502通过、3失败、2延期。固件合入是另一条交接事项,不阻止本轮起板。

复核与后续

& D:/KiCad/bin/python.exe scripts/verify_pcb_start.py
python scripts/check_hardware.py --firmware-dir out/firmware-fan-r2 --out out/fan-r2-candidate
python scripts/check_hardware.py --strict --firmware-dir out/firmware-fan-r2 --out out/fan-r2-strict

verify_pcb_start.py用于本阶段无走线的基线复核;开始布线后,其中“走线段为0”的阶段断言需要改为对应布线检查,不能继续拿起板脚本当生产验收。

bootstrap_pcb.py是一次性起板工具,记录生成文件哈希,拒绝覆盖已手工修改的PCB或规则。不要在开始摆放后用它重建工程。旧上级k_gen_fp.py仍含错误坐标约定,本工作区无法改写它;不得直接用其输出覆盖本次修复。必须重新迁移时,先运行 repair_footprint_handedness.py --apply 并检查审计,再更新PCB。

下一阶段按以下顺序推进:

  1. 下板五路功率级、输入保护、5V/3V3、控制和两侧风扇接口分区;载板按手机位放置电池储能、VBUS、ESD、按键MOS及Hub。
  2. 根据上下板器件实际位置建立高度投影检查;细化排线端部、螺钉头、插拔和工具空间。
  3. 落实五路手机回流与USB并联回流路径,再放置铜区;目前同名GND并不等于回流要求已实现。
  4. 完成器件引脚/ERC复核,建立功率热回路、Kelvin取样、USB参考面和差分配对约束,再开始布线。

本阶段未生成生产Gerber、生产钻孔或贴片文件。