3.1 KiB
DEBUG 十五路 CAN 测试
本报告记录未定义映射的 v2.2 历史结果。随后按用户表和最终“低正常、高故障”极性完成 v2.3 固件与页面测试,见 映射测试报告。
2026-10-03。本次保持 AMI.HMI 与固件不变,使用 PCAN-USB 模拟标准 0x6A6 / DLC 8,在实物 MCU 上核对原始采样和 DEBUG 状态。官方 HMI 调试器保持“用户 MCU 输入”、COM4、9600 8N1;没有执行键盘状态赋值。
测试结果
CAN 原始十五路接收通过,DEBUG 页面状态变化未通过。
| 检查 | 结果 |
|---|---|
| PD0~PD14 每路置高、置低 | 30 项原始电平、变化掩码、源时间戳均符合预期 |
| 全零、全高、最终恢复全零 | 通过 |
| 保留 bit15 | MCU 屏蔽该位 |
| DLC 7、错误扩展 ID 0x6A6 | 被拒绝,原状态和源时间戳不被覆盖 |
MCU debug_state[0..15] |
36 次快照始终全 0(未知) |
| 官方 HMI DEBUG 页面 | 全高和逐位注入后仍显示灰色“未知” |
| 串口接收计数 | 测试结束仍为 T:0 / L:0,MCU 到电脑的串口回传未得到验证 |
36 个测试阶段 PCAN 状态均为 0x0,MCU CAN / UART 软件接收错误计数均为 0。接收正确由每次发送的独特源时间戳和 SWD 快照共同确认;不能仅凭 CAN 发送成功判断 MCU 已接收。
当前接线与固件
初次沿用历史 CAN2 250K 设置,报文没有更新 MCU;持续探测产生 PCAN bus-off(0x10)。500K 探测的独特时间戳被 CAN1 接收,确认当前 CAN 盒实际接在 CAN1。随后重开并复位 PCAN 接口,完整 36 项测试均在 CAN1 500 kbit/s 进行。
从实物 Flash 完整回读 15880 字节,与 output/firmware/AMI_Controller.bin 逐字节一致。SHA256:E73994418D346ADEF7E2ED5EE3C018C4CD3B74C4E4A2884CD8628218153BEA7F,对应 v2.2。
页面无法转换状态的原因
当前 ami_app.c 收到 0x6A6 后仅保存 sdc_gpio_state、sdc_gpio_changed、sdc_gpio_timestamp_ms,没有写入 display_state.debug_state[]。没有定义 PD0~PD14 到 d0~d15 的对应关系,以及每路正常电平;旧 0x280 显示输入在当前固件中已停用。
屏幕接口实际为 16 个变量 d0~d15,其中 d1 同时驱动两个显示位置。十五路物理输入与十六个具名状态之间的关系不能按编号直接推定。
后续可提供真实输入映射及正常极性,或另设只更新显示的 CAN 测试报文。串口 PA2(MCU TX)到转串口 RXD 的回传链路还需单独核实。物理串口屏、真实 SDC 节点和车辆安全动作没有在本次验证。
证据
测试结束后停止 CAN 注入,原始采样恢复全零,保持 DEBUG 页面和用户 MCU 输入模式。
