feat: add VCU status feedback and map DEBUG safety inputs
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# DEBUG 十五路 CAN 测试
|
||||
|
||||
本报告记录未定义映射的 v2.2 历史结果。随后按用户表和最终“低正常、高故障”极性完成 v2.3 固件与页面测试,见 [映射测试报告](DEBUG十五路CAN映射测试报告.md)。
|
||||
|
||||
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 节点和车辆安全动作没有在本次验证。
|
||||
|
||||
## 证据
|
||||
|
||||
- [报文、源时间戳和 MCU 快照](evidence/2026-10-03/debug-can-retest/gpio-can-results.json)
|
||||
- [串口界面计数](evidence/2026-10-03/debug-can-retest/mcu-input-ui-counters.json)
|
||||
- [接线探测](evidence/2026-10-03/debug-can-retest/link-probe.json)
|
||||
- [本次测试脚本](evidence/2026-10-03/debug-can-retest/test_gpio_can.py)
|
||||
|
||||

|
||||
|
||||
测试结束后停止 CAN 注入,原始采样恢复全零,保持 DEBUG 页面和用户 MCU 输入模式。
|
||||
Reference in New Issue
Block a user