kicad:EasyEDA→KiCad 工程(Board1/Board2)、库、脚本与评审文档(IC 引脚、风扇、热、EDL 供电、布局规则)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
zhou yang
2026-10-04 19:24:42 +08:00
共同撰写人 Claude Opus 5.5
父节点 1d842cf45f
当前提交 bfe094a5d7
共修改 173 个文件,包含 401864 行新增和 0 行删除
+116
查看文件
@@ -0,0 +1,116 @@
# KiCad 硬件审查与整改记录
日期:2026-09-07。依据:`../需求文档.md` v1.2、`../五路直供电源板设计.md` 的已定稿决策及后续 §26.18/§26.23、当前 KiCad 编译网表、固件 `board_pins.h` / `rail_cfg.c`。
**当前结论:两板共529个电气封装,Hub新增十颗100k配置下拉,下板已完成10处局部连接、30段走线。** 几何/丝印及原理图一致性DRC各0项,原生连通统计未连接837/632,完整布线/铺铜未完成。此前各499项是DRC报告列表长度,不是完整未连接总数。最新台账与验证见 [ERC_DISPOSITION.md](ERC_DISPOSITION.md)。风扇两项首版延期决定继续有效,型号、接口及四线电路拓扑未变。
## FAN-R2当前复核结果
当前全板ERC为 **下板29、载板196项**,未定义类型和pin_to_pin均为0;205项未连接及20项未驱动检查继续保留。十项电源未驱动只暂时允许继续布线,未添加PWR_FLAG;逐项状态见 [ERC_DISPOSITION.md](ERC_DISPOSITION.md)。最新硬件专项528通过、0失败、2项既定延期(使用修正固件副本)。此前C737固态钽及EDL核查结果保留;下文其余计数为各阶段历史记录。
- 下板301个PCB元件;两只外置风扇另列装配BOM。GPIO5=FAN_EN,GPIO18=反相PWM,GPIO16/4=进/排风测速。端子属性含风扇MPN、C编号、EDA UUID及资料链接。
- 首版专项检查:原固件502通过/3失败/2延期;固件副本505通过/0失败/2延期,29个C回归用例通过,补丁待合入同级固件。用户延期的两项仍可用`--strict`完整显示,见[FAN_FIVE_CHECKS.md](FAN_FIVE_CHECKS.md)。延期不改变已有型号资料和缺参记录。
- P6 ERC为0。下板ERC409条:pin_to_pin 384、pin_not_connected 22、power_pin_not_driven 3;载板仍376条。全板待审项目未通过降低严重级别或批量NC隐藏。
- 与out/before-four-wire的编译网表比较,风扇范围之外的下板网络不变,载板全量网络不变;本轮端子和电阻选型没有改变拓扑。
- 两只满速额定功耗16.08W,0% PWM仍转且合计1.68W。须更新功率预算,完全停转通过关电实现。装机风量、噪声、保护及固件执行行为尚未验收。
- P3重叠旧说明已整理,清除GPIO5备用等过时信息;P6和P3渲染已重新核查。原理图PDF和BOM随本轮更新。
依据见[FAN_SELECTION.md](FAN_SELECTION.md)、[FAN_CIRCUIT.md](FAN_CIRCUIT.md)及[THERMAL_TWO_FAN.md](THERMAL_TWO_FAN.md)。KiCad两板已起板,原理图一致性及几何类DRC均为0项,各499条未布线连接;未同步EasyEDA PCB或同级固件。后续以[PCB_PROGRESS.md](PCB_PROGRESS.md)的阶段记录为准。
## 历史记录说明
以下为四线改版前的审查过程和历史数据,其中Noctua选型、三针接口、接收器缺失及旧检查数量已由FAN-R2取代。其他未完成项仍需处理。
## 发现与未完成项
### P1:所选四线风扇与三针过渡电路不兼容
用户授权选型后,样机选用 Noctua NF-A6x25 PWM(12V四线、60×60×25mm)两只。当前J26/J27仍为旧三针,不能直接连接。需要固定共地、独立PWM驱动和默认关闭的高边电源开关,保持复位停转要求;GPIO5作为电源使能候选。厂家页面访问返回429,电压范围、启动电流、PWM/TACH规格和性能曲线仍须核验。详见 FAN_SELECTION.md;静态检查显式报告接口不匹配。
### P1:两路测速接收器与固件尚未完成(FR-10)
当前位置:Board1 `P6-FAN-EDL` 与 `P3-CONTROL`。J26/J27 的 pin3 分别为 FAN_IN_TACH_RAW / FAN_OUT_TACH_RAW;MCU 预留 FAN_TACH_IN=GPIO16/U20.9、FAN_TACH_OUT=GPIO4/U20.4。两路 RAW 与 MCU 输入均未连通,不能直接短接。
原 R730/R731/R732 电路已删除。其历史拓扑为 +12V → 10k → TACH_RAW → 10k → FAN_TACH → 3.3k → GND,开漏释放高电平为:
`12 × 3.3 / (10 + 10 + 3.3) = 1.6996 V`。
12V ±10% 时约 1.53~1.87V(未计电阻容差),低于 ESP32-S3 的保证高阈值 `0.75 × 3.3 = 2.475V`。原注释的 2.98V 只对应 TACH_RAW 被外部强驱到 12V 的情况,不能用于开漏释放态的识别判断。PWM 关断时风扇地浮高又是另一种工况,需要同时校核 GPIO 电压与注入电流。
当前须核验所选风扇 TACH 额定参数,完成固定共地四线方案的两个接收通道;旧光耦及强制全速采样窗口方案不再作为默认设计。须校核母线10.8~13.2V与风扇允许工作范围、3V3容差、上掉电、PWM、堵转和拔插。图中明确注明接收器未装入,不加 NC 掩盖缺口。同级固件尚为 BOARD_PIN_FAN_TACH 单通道,须同步两路定义、电源使能、PWM驱动极性、引脚占用及故障标识;本次工作区不允许修改同级固件。
### 已移除:五个测速输出并联(FR-10 历史缺陷)
旧 J26~J30 的 pin3 在同一网络,边沿数量不能相加,“停一个频率下降 1/5”的结论不成立。当前已删三个接口并拆成两路独立 RAW;独立网络检查通过仅证明没有并联,不证明实际停转检测已可用。
### 待实测:两风扇热验收
样机目标为总热负荷 40W、装机有效风量 6~8CFM,上层手机区与下层 13mm 通道同时通风。风扇型号已选,外壳净空与最高环境温度未定;60mm安装面需核对或设置侧舱。现有 LM75 不能单独代表五台手机热点。必须逐台记录温度/降频并分别断开、堵转两风扇验证保护。详细工况和边界见 THERMAL_TWO_FAN.md。
### P1:独立回流尚无可执行的 KiCad PCB 约束(FR-1、SR-12)
编译网表显示五路电池 P-、侧键公共地、USB 地均为全局 `GND`。板间针位分配已核对,但原理图本身不能保证“不在载板上把手机回流并成一根”。这不是五路隔离电源。后续需要把需求落实成明确的回流路径/汇接位置和 PCB 约束,并分析 USB 形成的并联回流;不能仅凭五个 VO_P 电源岛验收独立回流。
### P2:ERC 与可恢复调试仍有待办
- 未连接引脚仍待审 231 个:下板 23、载板 208;另有接收器缺口的四个单引脚标签。四个 595 输出已逐脚确认并加 NC;其余包括备用 GPIO、DAC 未用通道、Hub 复用/配置脚和 BM24 未用触点,须逐类核实后才能打 NC。
- IC 仍大量使用 `unspecified`;剩余 `pin_to_pin` 551 条尚未逐条定性。74HC595 的类型已按标准库补齐,其余应按厂商手册补齐电源、开漏、双向及输入/输出类型,再检查电源驱动与上下拉。不能靠降低 ERC 严重级别验收。
- `R9A~R9E` 的旧位号导致 KiCad 批注警告。它们实际是 **5 × 2Ω 串联的母线泄放电阻**,不是并联采样电阻。本轮保留历史编号;后续统一改号时需提供 BOM/设计文档映射。
- U20.IO0、RXD0、TXD0 未引出恢复接口;正常 USB 下载方案已定稿,但 USB 固件配置失效后的手动下载恢复仍值得增加测试点。J22 VBUS 未接,调试需要主电源供电。
- 主板触点接触位置/压力、排线旁路、线束装配、风扇座高度和首板环路/阶跃/放电/热测试仍需实物验收。静态网表不能证明 2us OVP 动态响应、200ms 放电、抗反灌或单故障安全。
## 已落实整改
- 共享库与全部相关内嵌符号:R/Rs/RT/C/L/F/Y/J/D/DZ 改为 `passive`,合计 906 处引脚声明(包含库和缓存)。不再把电阻、电容当数字输入。IC 未经核对的类型未猜填。
- 376 个电源符号实例设为不进 BOM、不上 PCB,与库定义保持一致。
- J41~J60 二十个侧键裸铜焊盘退出采购 BOM,清掉旧顶针 MPN/LCSC/说明,保留 PAD-D1.5_MI8-KEY 封装和全部网络。
- 删除 976 条内容与位置均相同的重复文字。P6 与五张 C4 页进一步统一成当前版本说明,移除旧 GPIO、顶针高度与错误测速结论;五颗大电解显示值改为 `2200uF / 6.3V`,MPN 保留。
- 删除 17 段经核实的悬空延伸线:下板 7、载板 10。改后逐网络引脚集合对账通过,未丢失有效连接。
- 新增 `scripts/check_hardware.py`,每次重新编译网表、运行 ERC,生成检查 JSON 和两板采购 BOM。脚本保留风扇失败,退出码为 1,不能把已知缺陷变成“通过”。
- 更新两板 PDF。抽查 P6 与 C4-SITE1 的实际渲染;这不是全部 23 张功能页的逐项视觉签核。
## 验证结果
### 后续:74HC595 控制链核查
- 共享库与 `C6-KEYS` 内嵌符号同步修改 32 处声明:Q0~Q7 为 `tri_state`,Q7S 为 `output`,MR#/SHCP/STCP/OE#/DS 为 `input`,VCC/GND 为 `power_in`。本轮依据本机 `D:/KiCad/share/kicad/symbols/74xx.kicad_sym` 的 `74HC595` 引脚编号与类型;Nexperia 手册下载因代理不可达失败,未完成厂商电气参数复核。
- 明确标 NC:U21.4、U22.4、U22.15 对应固件的三个空位,U33.9 为链尾串行输出。输入脚未标 NC,未修改任何有效网络。网表仍含四个单引脚网络,这是 KiCad 表达 NC 的正常结果。
- 新增 82 项静态检查:48 个实例引脚类型、供电/复位/时钟/OE、三个 100nF 去耦连接、R609 100k 上拉、两段独占级联、串行入口、U33.7 到 U32.43 的 Hub 复位、四个 NC,以及固件四根控制 GPIO。
- 实际 VCC、MR#、OE 上拉均接 `+3V3_HUB`,不是下板 `+3V3`。固件 `sr595.h` / `sr595.c` 尚有旧供电及页面位置注释。跨板电源时序、未上电输入注入电流、逻辑阈值和时钟质量仍需厂商手册及实测核对;静态连接通过不代表这部分验收。
- C6 页 19 条旧注释整理为 14 条当前说明,消除重叠。载板 PDF 已重新导出并检查 C6 实际渲染,四个 NC 位置正确,说明没有遮挡电路。下表为两风扇变更之前的迁移审查基线,不代表当前下板与 EasyEDA 完全相同。
| 检查 | Board1 | Board2 |
|---|---:|---:|
| 元件/封装与迁移基准一致 | 290/290 | 218/218 |
| 有效网络按引脚集合一致 | 169/169 | 150/150 |
| ERC 总数:整改前 → 后 | 788 → 412 | 802 → 376 |
| 未驱动输入 `pin_not_driven` | 115 → 0 | 91 → 0 |
| 悬空线端点 | 7 → 0 | 10 → 0 |
| 未连接引脚,待审 | 24 | 208 |
| `pin_to_pin`,待审 | 385 | 166 |
| 未驱动电源,待审 | 3 | 2 |
两风扇选型后,专项静态检查 **390 通过 / 5 未通过**:四线接口改版缺失、两个接收器缺失、两个固件引脚定义缺失。下板现为 284 个元件,ERC 414 条(isolated_pin_label 4、power_pin_not_driven 3、pin_not_connected 23、pin_to_pin 384);载板保持 218 个元件、ERC 376 条。四个单引脚标签对应尚未实现的两路接收器两端,明确保留,不视为验收通过。
检查仍覆盖 80 个板间接点、五路反馈/OVP/限流设定/放电联锁/采样方向、VBUS/EDL 下拉、手机接口电源锚点、裸铜 BOM、INA 地址/DAC 输出/595 键位与 EDL 位和控制链。本轮增加两个接口数量、独立 RAW、供电/续流/复位下拉、GPIO 预留及 RAW 与 MCU 不直连检查。
本轮用变更前编译网表比对:剔除六个删除元件及四个测速端点后,下板其他网络的引脚集合完全一致;载板全量网络引脚集合一致。已重新导出下板 PDF 并检查 P6 与新增 GPIO4 标签。P3 原有无关文字拥挤仍待单独整理。
按实际串联注入电阻 `R107 + R108 = 151k`,标称输出为 **3.5260~4.0092V**,OVP 分压标称 **4.36095V**。这些是静态标称值核对,不是最坏容差或瞬态安全认证。检查通过也不证明所有需求已经覆盖。
## 复核命令与产物
在 `kicad/` 目录运行:
```powershell
python scripts/check_hardware.py --cli D:\KiCad\bin\kicad-cli.exe
python scripts/schematic_maintenance.py
python ../.claude/k_verify.py
python ../.claude/k_check_fp.py
```
第二条是只读清理预览,当前应显示 `TOTAL {}`,已防止旧五风扇说明重新插入两风扇页面。`--apply` 才执行规则化迁移清理;不要把它用于未知版本原理图。第三条是历史 EasyEDA 基准对账,两风扇改动后预期报告差异,不可借此覆盖本轮修改。迁移重生成会覆盖 KiCad 的整改,必须重新核对。
结果见 `out/hardware-checks.json`、`out/Board1-erc.json` / `Board2-erc.json`、`out/Board1-bom.csv` / `Board2-bom.csv` 与两板 PDF。ERC 基线另存 `*-erc-before.json`。
本环境 KiCad CLI 尝试写 HKCU 时有权限日志,但本轮子进程返回码及新生成网表/ERC/PDF均已核验;日志保存在导出文件旁。未修改 KiCad 目录外的设计文档、EasyEDA 工程或固件,本记录是此次 KiCad 修订的配套说明。