# A72 电磨 SPI2 异步传输硬件接口

状态：候选固件/模型/ARM镜像通过，FABRICATION_HOLD；没有实际驱动芯片通讯、转动或效果验收。

## 接入与当前运行边界

真实main在A71 safe boot及停止TIM1初始化成功之后，配置SPI2：PB12软件片选先置高再改输出，PB13/PB14/PB15分别设AF5，推挽、无内部上下拉；SPI2主机、CPOL0/CPHA1、MSB先行、16bit帧、BR=4，在名义16MHz无AHB/APB1分频条件下为500kHz。IRQ/DMA、TI模式与硬件NSS关闭。检查HSI开启/就绪和来源、GPIO时钟、功率级保持关断，以及SPI2未被其他已开启时钟的模块占用。首次接管硬件复位SPI2。外部SDO与CS上拉仍由现有电机板R9/R8承担，不能用SPI初始化证明它们实物正确。

三相PWM仍是低电平GPIO，TIM1 CEN/CCER/MOE关闭，RUN请求与nSLEEP低，充电关闭。主程序只初始化通讯外设和报告配置可用性；没有启动SPI帧、没有唤醒芯片、没有运行drv8316_configure_off。因此当前新增内容是实际外设配置与可调用传输接口，不是驱动寄存器配置完成。

接口采用单主循环所有者：start→片选建立→一次16bit DR写→RXNE一次16bit DR读→BSY清除→片选保持→片选拉高完成。拒绝偶校验不正确的发送帧；接收高字节只是驱动状态，数据内容及写后读回校验由未来驱动配置层处理，不在传输层假定通过。

计数参数now_us须来自后续合格的微秒时基。候选CS高间隔/setup/hold各要求至少2个计数，单次总上限100us、活动轮询最大间隙10us；超时、时间倒退、SPI MODF/OVR/CRCERR/FRE、配置污染、时钟或功率级关断条件失效均中止并锁存失败。失败先请求GPIO RUN/PWM/SLEEP低、关闭TIM1计数/通道/MOE，再禁SPI并释放CS。GPIO命令和模型反馈不是电机实际掉电证据，错误模式/别名或外部电路故障仍需独立验证。

start要求nSLEEP在ODR/IDR已为高，但本模块不验证从唤醒到SPI-ready的完整延迟，也不产生唤醒命令。未来配置运行层必须建立至少2ms候选唤醒等待、供电/FAULT状态和真实时基，再开始帧；没有这些前提不能把start接收解释为芯片已经就绪。未验证时基计数量化、调用延迟与实际波形，不能由这些整数门限宣称片选纳秒要求已经通过。

依据TI DRV8316 SLVSF16B页14/54：16位、MSB先行、SCLK低时片选变化、下降沿采样；SPI时序表CS高最小300ns，而编程章节给出至少400ns，候选按更长窗口设计并等待实测：https://www.ti.com/lit/ds/symlink/drv8316.pdf 。STM32G431 DS12589 Rev6 Table13 PB13/PB14/PB15对应AF5的SCK/MISO/MOSI：https://www.st.com/resource/en/datasheet/stm32g431cb.pdf 。六路PWM及四路SPI的跨板位置从实际A32/A34网表核对，见接线CSV。

## 本轮验证

ASan/UBSan 65,632 SPI场景通过：65536个完整发送字，偶校验有效帧完成收发，无效帧无总线动作；64个CR1/CR2逐位污染；4个SPI错误位覆盖4个活动阶段；10个时钟/引脚/定时器关断条件异常；轮询超时、时间倒退、32位时间回绕、睡眠中拒绝起帧、残留RX数据与并发起帧拒绝。模型模拟32us移位窗口并保持轮询，验证BSY未清时不发布完成、CS建立和保持及相邻高间隔候选门限。模型可控状态位和GPIO BSRR回读不证明实机16个时钟或信号质量。

另本轮源码重跑A71的65,772占空比/配置场景以及256个真实main启动模型；main模型覆盖safe boot→停止TIM1→SPI2初始化→WFI，驱动保持睡眠。使用实际厂商寄存器头文件的主机变换，新增SPI2寄存器地址替换与复位效果模拟。ARM构建text8608/data4/bss2340字节，主程序到SPI初始化的调用与16bit读写指令保存在镜像/反汇编。实际存储及SHA以build报告为准。

交付包独立解压复跑SPI/PWM/main模型并重建ARM，二进制哈希一致。此前A71日志若存在为历史记录，当前记录为spi_checks_A72.log、pwm_and_main_checks_A72.log及arm_build_A72.log。硬件CAD不修改，本轮未复跑CAD检查。

## 剩余工作

微秒时基、唤醒/睡眠序列、异步驱动寄存器写读回与故障采样仍需接入；FOC仍只单独编译，未链接/调用；ADC同步采样与标定、转子反馈/观察器、启动/失步、速度与正反转、UI/充电和带载测试未完成。三款20项实物效果要求仍未验证。没有采购、制造放行、发送工厂资料、烧录或通电；不能宣布电磨已达到原产品效果或可以放行打样。
