# A74 电磨异步关断配置与实际SPI衔接

状态：源码、主机模型、ARM镜像与解压重建通过；FABRICATION_HOLD。未烧录、上电、采购、送厂或验证原产品效果。

增加前台异步状态机：IDLE→SLEEP（至少1000us）→WAKE（至少2000us）→逐帧提交/消费响应→READY或FAILED。3次初始状态读、8组写入和独立读回、3次最终状态读，共22帧。写响应是旧值，不能当写入确认；Control2 CLR_FLT自清除预期0x42。CLR读回之后每次响应均要求NPOR=1；其他状态位、寄存器读回差异、时间逆行/总流程20ms超时/响应250us超时/关断配置失效均停止SPI并睡眠，不自动重试。底层SPI仍有更严格的100us事务总窗口、10us轮询间隔。

已把实际GPIO/SPI适配器和service接入main：nSLEEP使用PF1，nFAULT使用PA6输入，提交/消费使用现有SPI2模块。独立bench_begin入口只接受显式startup_qualified=true，并要求已有SPI和功率级关断配置有效，未获条件或重复请求不启动。该参数是软件前提，不会自动证明供电、时钟、外部上拉或桥臂电平；main没有调用启动入口，也没有SWD命令开关。正常冷启动仍停在IDLE、nSLEEP低、三相PWM/RUN低、TIM1 CEN/CCER/MOE关闭、充电关闭。READY仅表示寄存器配置读回完成，不是运行电机许可。

事务提交/等待期间main不WFI，避免每一帧后睡1ms导致22帧超过总超时；睡眠/唤醒等待可由SysTick唤醒。SPI故障保持原有hard-off行为。唤醒完成后nFAULT低即拒绝；TI指出DRVOFF也可能引起故障指示，本轮不擅自允许该故障，实际台架若出现须查明状态来源。READY期间检查nFAULT、nSLEEP和SPI/功率级关断配置，尚未实现持续寄存器轮询，不能排除未采到的瞬态故障或状态复位。

重新读取A34原理图网表，确认未使用Buck网络已经存在：U1.5 SW_BK→R1 22Ω→U1.3 FB_BK/C13 22µF 10V→U1.4 GND_BK。无需新增此网络。具体电容有效容量、直流偏压和电阻温升仍缺MPN/实测。DRVOFF由AVDD经R15上拉，Q1由RUN控制下拉；nFAULT由驱动AVDD经R7 5.1k上拉，MCU输入不启用内部上拉。网表连通不能证明上电顺序或实物关断电平。

依据：[TI DRV8316 Rev B](https://www.ti.com/lit/ds/symlink/drv8316.pdf) 8.3.4与9.2.1.1.5要求未使用Buck也保留外部网络；8.4与8.5规定睡眠/唤醒、DRVOFF和SPI帧行为。

验证：ASan/UBSan 241个状态机场景，包括22帧逐次状态位故障、8个读回的64种位错误、CLR后NPOR丢失、时间回绕/逆行、超时与互锁拒绝。另24个组合场景直接运行实际SPI、GPIO、TIM2和配置源码，模拟响应，检验旧写数据允许、读回错误停机、READY后睡眠或nFAULT异常停机。复跑65,632 SPI、65,772 PWM、363时基与256真实main启动模型。组合测试的寄存器/时间由夹具模拟，不能替代真实DRV8316通信、CPU执行时序、波形和电源测试。

ARM构建及反汇编确认main调用配置service、没有请求唤醒；交付包独立解压后复跑4个检查脚本并重建ARM，bin SHA一致。结果见A74-extracted-package-verification.json。

尚缺ADC同步/校准、观察器或角度反馈、实际FOC运行、速度/正反转/UI/充电联调、回生与堵转测试、热/EMC/DFM及器件采购核验。三款20项原产品效果要求仍没有实物验证。当前16MHz真实前台代码能否满足10us SPI服务预算尚未测量，默认关闭启动入口，不应直接烧录后开启功率级。后续先进行关断状态的供电与SPI台架验证，再接入电流采样。
