# FAN-R2 五项未通过的整改交接 日期:2026-09-07。**用户最新决定:剩余两项首版不再考虑,继续KiCad硬件工作。** 两项已记入`prototype-scope.json`,首版报告为固件副本505通过/0失败/2延期,原固件502通过/3失败/2延期。严格模式仍为副本505通过/2失败。下列缺参和测试条件作为后续记录保留,不再作为首版起板的前置要求;PCB进度见[PCB_PROGRESS.md](PCB_PROGRESS.md)。 ## 状态与证据 | 原失败项 | 本轮处理 | 当前状态 | |---|---|---| | Firmware GPIO FAN_EN | 增加 GPIO5,高有效;纳入引脚冲突自检 | 副本通过,待合入 | | Firmware GPIO FAN_TACH_IN | 原单路定义改为 GPIO16 进风接收器 | 副本通过,待合入 | | Firmware GPIO FAN_TACH_OUT | 增加 GPIO4 排风接收器;纳入引脚冲突自检 | 副本通过,待合入 | | Fan exact-model PWM TACH limits verified | 复核资料并保留具体缺参 | 用户决定首版延期 | | Fan assembly and startup protection verified | 保留功率计算及保护、装配验收条件 | 用户决定首版延期 | - [固件补丁](firmware-sync/fan-r2.patch)只涉及 `board_pins.h`、`rail_cfg.c`、`test_rail_cfg.c`;[清单](firmware-sync/manifest.json)记录原文件和候选文件 SHA256。 - [候选检查](out/fan-r2-candidate/hardware-checks.json):505通过、0失败、2延期;报告记录实际`firmware_dir`。 - [原固件检查](out/hardware-checks.json):502通过、3失败、2延期,三项引脚修复仍待补丁正式合入。 - [原生 C 回归日志](out/fan-pin-tests/tests.log):29 用例,0 失败;覆盖四个风扇引脚与电源使能冲突时自检拒绝启动。MSVC C11、`/W3 /WX` 编译通过;不是 ESP32 目标编译或板上运行验收。 - 原理图未改动;重编译网表/ERC/BOM,无关网络对比通过;P6 ERC 仍为 0。 系统仅允许写入 `D:\DCDC\kicad`,因此修改位于 `out/firmware-fan-r2` 验证副本。同级 `D:\DCDC\firmware` 的内容没有变化。补丁已执行 `git apply --check --ignore-space-change`,不是已经应用。 复核命令(在 KiCad 目录执行): ```powershell python scripts/check_hardware.py python scripts/check_hardware.py --firmware-dir out/firmware-fan-r2 --out out/fan-r2-candidate ./scripts/test_fan_firmware_pins.ps1 python scripts/fan_power_budget.py git -C D:/DCDC apply --check --ignore-space-change kicad/firmware-sync/fan-r2.patch ``` 在可写范围包含同级固件的会话中,先核对清单/补丁,然后执行以下合入命令,再运行默认硬件检查与固件目标构建: ```powershell git -C D:/DCDC apply --ignore-space-change kicad/firmware-sync/fan-r2.patch ``` 本补丁解决三个引脚定义失败和占用检查,尚未实现 A16 风扇运行任务。不能据此声称 25kHz 反相 PWM、上电顺序、双路边沿计数、启动宽限、分路故障、温度异常降载已执行。原固件尚无这些风扇运行代码,不是只差三个宏就能驱动本电路。 ## 功率与保护结论 计算脚本:[fan_power_budget.py](scripts/fan_power_budget.py);数值输出:[fan-power-budget.json](out/fan-power-budget.json)。五路按 `5 × 4.01V × 4A = 80.2W`,Buck 效率暂取旧设计的 92%,风扇按 12V 额定合计 16.08W。下表将风扇额定功率视为常数,仅作输入电压敏感性分析;实际风扇随电压的电流、效率和启动峰值仍未知。 | 示例负载 | 总输入功率估计 | 10.8V 输入电流 | 12V 输入电流 | |---|---:|---:|---:| | 五路 + 两只满速风扇,不含辅助电源 | 103.25W | 9.561A | 8.604A | | 再计 5V/0.5A、3V3/0.5A,辅助效率暂取 90% | 107.87W | 9.988A | 8.989A | | 再计 5V/2.8A、3V3/0.5A,辅助效率暂取 90% | 120.64W | 11.171A | 10.054A | 这些不是最大值。未计输入链路损耗、Q7/接收器消耗、启动、堵转重试和适配器温度降额。10.8V 下第二种情况仅余约 0.13W,不能声称 10A 适配器有可靠启动余量。第三种是 VBUS 异常负载示例,不是允许持续运行的工况。 后续固件应以输入 INA226 的电压/电流执行整机预算,给已确认的风扇最大及启动电流留余量,再准许开启手机通道;过预算或单风扇故障时降低手机负载,不能通过关闭必要散热来腾出功率。8A 可用于当前布线目标的计算参考,但尚未实现为软件限值,也不能替代硬件限流。40W 整机热目标内,两只额定满速风扇已占 16.08W,其他热负荷仅余 23.92W。 Q7 在 25℃、Rds(on)=60mΩ、两只额定总电流 1.34A 时,压降约 0.0804V,损耗约 0.1077W。C738 的标称 22uF 在 13.2V 的储能约 1.917mJ,尚不含风扇内部电容。这两个数都不能约束短路电流或证明启动 SOA。上游 F1 是 12A 主保险,不能仅凭额定值证明能及时保护 Q7 或 AWG26 风扇支路。 保护定版需要:支路限流/短路切断器件及曲线、最大故障清除时间、启动期间 Q7 的 Vds/Id 轨迹和温度降额、支路线束耐受与上游 F1 协调。限流值应同时满足最大运行/启动条件与最弱导体、端子、开关额定值;数据不足时不猜选保险丝电流,也不把软件 FAN_EN 关断当成独立硬件短路保护。 ## 两项硬件验收的完成条件 | 项目 | 所需证据与判据 | |---|---| | 具体型号接口 | 厂家明确覆盖完整 MPN 9G0612P4S001 的规格/书面回复;PWM 阈值、频率范围、开路电压/源电流,TACH 类型、PPR、上拉电压/灌电流、VOL、关断漏电和断电行为齐全 | | 接收器裕量 | 用保证值复算 1% 电阻与供电边界;AO3400A 在约 0.243V 栅压下的高温关断不能仅用 Vgs(th) 推断,须有规格支持或实测并限定样机适用范围 | | 启动与堵转 | 单只/两只同时启动,10.8/12/13.2V、冷/热、快速重启;记录风扇端电压、峰值/持续时间、重复堵转电流、起转时间、Q7 Vgs/Vds/Id 和温度 | | 支路短路保护 | 保护器件已装入,按其故障清除时间验证 Q7 SOA、线束/端子温升和 F1 协调;器件未选定前不以直短现有无支路限流电路作为验收办法 | | 复位与电源顺序 | MCU 复位、高阻、棕断电、3V3/12V 不同先后次序,确认默认关电与 MCU 输入无越额过压/反灌 | | PWM/TACH 波形 | 在风扇端与 MCU 端分别测量 25kHz、0/低/100% 占空比及两路测速;核对反相、边沿时间和单边沿计数。厂家确认 PPR 前不使用推测 RPM 作为验收依据 | | 装配 | J26/J27:1黑地、2红电源、3黄测速、4棕PWM;AWG26、剥线4.5mm、0.12~0.15N·m扭矩、应力释放;确认端子8.5mm高、3.5mm焊脚、工具/侧向进线空间和风扇方向 | | 插拔与机械 | 当前默认断电接线;带电插拔若要成为产品支持工况,需独立测试其过压、ESD、启动与接收器行为。KiCad 尚无 PCB,不存在已完成的安装净空/走线温升验收 | 每份测试记录应包含实物版本、风扇完整型号/批次、环境温度、供电/负载、仪器、原始波形文件、实测范围及复核人。填写计划或将 JSON 布尔值改为 true 不构成上述证据。 厂家参数询证稿见 [fan-manufacturer-questions.txt](firmware-sync/fan-manufacturer-questions.txt),尚未发送。缺参取得后仍需验证现有接收器和保护设计,不能把一份系列说明直接用作本型号验收。