# A64 61 通道 PWM/IREF 异步暂存与回读候选

状态：目标模块已链接，ARM 构建与主机模型通过；未从主程序启动帧更新；未烧录/上电；FABRICATION_HOLD。

## 已实现

新增 lamp_frame_stage。调用方提供控制许可与来自实物标定的电流配置；模块要求相同非零校准编号、61 通道、有效 AI/手动运行会话、手与独立红外存在、温度/电源/驱动/互锁许可，以及未过期的视觉状态、图像和运行时间。轮询期间持续检查许可、会话、校准编号、PWM 和 IREF 图像是否仍匹配。

开始时复制 61 个 PWM/IREF 值；对三芯片的 MODE、LEDOUT、组控制、24 个 PWM、24 个 IREF 寄存器逐项写入和回读，共 174 项。MODE1 使用单寄存器模式，MODE2 按固定 0x05 回读；振荡器等待沿用候选余量。前三个芯片的已用通道设为独立 PWM，U3 LEDOUT3=0x02，LEDOUT4/5=0；U3 未用的 11 个通道 PWM/IREF 均为 0。非零 PWM 配零 IREF 拒绝开始。

所有项目匹配后才发布暂存完成，写入 ACK 不能替代回读完成。每事务/轮询间隔仍为 5 ms，整帧总期限 500 ms；错误、回读不匹配、许可撤回、会话/图像改变和时序失效使暂存失败。完成结果也必须在当前许可和新鲜度下读取。

## 集成边界

此模块不会控制 OE 或电源 GPIO，不是完整物理输出控制器。调用方必须始终验证 OE 高、电源请求低，并让诊断在完整读取轮结束后让出总线；本轮尚未实现该调度和物理 GPIO 许可适配，因此没有将 frame_stage_begin 接入主程序。真实校准配置不存在；physically_qualified 只能来自可信的实测配置，不能由命令包赋值。主程序继续 A63 暗态初始化和诊断，LED 输出保持关闭。

## 证据

ARM GCC 16.2.0 构建通过：text 22652、data 4、bss 3368 字节。静态镜像检查确认帧暂存调用实际读写器，且主程序没有帧开始调用。新增模块的运行对象尚未在主程序分配，当前 bss 不代表将来完整输出路径的 RAM 占用。

ASan/UBSan：新增 575 帧场景通过，覆盖普通/计数溢出、174 个写入 NACK、174 个读取 NACK、174 个不匹配、20 个初始许可拒绝、25 个中途撤销、完成后撤销、失败锁定、PWM/IREF 无效搭配、过期控制许可、总期限、轮询间隔及实际时钟配置丢失。测试使用合成的许可/电流夹具，不代表已经实测标定。

此前直接受影响的回归也通过：50 时钟检查、65,713 读取检查、26 三芯片集成场景、120 运行场景、写入器的 18 完整帧/275 错误/65,536 地址控制组合/27 种长度，以及 528 暗态初始化场景。此前其他模块的全部回归及变异检查未全部重跑。

host_checks.log 保留本轮既有模块回归；frame_checks.log 是最终测试源码重编译后的 575 场景记录。run_host_checks.sh 可重跑两部分；run_frame_checks.sh 可单独重跑新模块。夹具曾有变量重名编译错误，已修正并复跑，没有以旧测试二进制替代新增时序检查。

这些证据仅覆盖真实目标 C 模块加 MMIO 模型及构建，不证明实板 ACK、波形、电流、光学或整机效果。寄存器依据沿用 NXP PCA9956B 原厂 Table7/8/9/10 与 PWM/IREF 定义：https://www.nxp.com/docs/en/data-sheet/PCA9956B.pdf

## 仍需完成

诊断让出/恢复总线、物理输出条件采样、GPIO 开灯许可与及时关断、实测电流和热限制、视觉闭环、整机台架验收仍未完成。帧更新使用逐项单寄存器方式，真实延迟和视觉更新速率尚未测量，也未证明与参考产品一致。

三款共 20 项实物效果要求仍未验证。每款 1000 台、优先降低整机成本的目标不变；尚无锁定供应商报价。最新灯驱动板 A59 的 CAD 全部 0 错误仍不等于实板验证。本轮没有购买、下单、Gerber/CAM 放行、烧录或上电。

下一步继续完成输出控制器与诊断总线调度，再建立实物波形、电流/温升及光学效果验收证据；完整目标仍为三款效果与参考产品一致。

源码、bin/elf/map、反汇编、测试及日志均随包提供，SHA256-MANIFEST.json 可逐文件核对。
