Files
AMI/docs/DEBUG十五路CAN映射测试报告.md
T

54 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DEBUG 十五路 CAN 映射与显示测试
本报告记录屏幕接口 1.2 的历史画面。用户随后纠正 PD1 / Safe_S 为左电机互锁,屏幕接口 1.3 将 d5 移至顶行第二格并删除 BSPD/TSMS,CAN 映射不变;后续布局验证见 [屏幕修正报告](DEBUG页面修正测试报告.md)。
2026-10-03,固件 v2.3。按用户提供的十五行接线表从上到下对应 PD0~PD14,最终确认极性为 **低电平正常、高电平故障**。此前高电平正常的版本仅编译,未烧录。
## 映射和界面范围
PD0~PD14 对应 `d0,d5,d2,d6,d7,d1,d3,d4,d8,d9,d10,d11,d12,d13,d14`。具名信号表见 [SDC / BMS 协议](SDC_BMS协议.md)。d1 同时更新“左急停”与“行程/惯性”;d15(主控盒 12V)没有输入来源,保持未知。
**“电机互锁 / 无检测项”和“BSPD/TSMS / 返回支路”是现有页面的说明区域,没有独立采样映射,不随本次十五路输入变化。** 用户表也不包含这两项;本轮没有修改屏幕布局或为其派生状态。原图接线名称与当前屏幕部分显示名称的差异保留。
## 固件与验证链路
Release 编译通过,Flash 15988 B、RAM 2632 B。已通过 ST-LINK 烧录并完整回读 15988 字节,与发布 BIN 逐字节一致。SHA256:`17D1165C6894E0EBBF78B2C998A3D2F268D9E0D89446C5C978AC4FEB1329911E`。
链路:PCAN-USB → CAN1 500 kbit/s → 实物 STM32G0B1 MCU → USART2 → CH340 COM4 9600 8N1 → 官方 HMI 调试器的“用户 MCU 输入”。CAN2 250K 保持配置,共用解码与映射,但本次未重新接线测试。
重开 HMI 后最初停在 dash,导致早期页面颜色核对不匹配。停止串口输入后仅执行 `page debug` 导航命令,再切回用户 MCU 输入并连接 COM4;没有执行 dN 赋值。完整复测的所有状态变化均来自真实 CAN 注入及 MCU UART。
## 41 项完整复测:全部通过
| 检查 | 结果 |
| --- | --- |
| 仅心跳、尚未采样 | 全部未知,不误判正常 |
| 全低 | d0~d14 全正常,d15 未知 |
| 十五路逐项高、低,共 30 项 | 对应映射位置分别故障、正常;其他项保持正常 |
| PD5 高、低 | d1 两个位置同步红故障、绿正常 |
| 全高 | d0~d14 全故障,d15 未知 |
| 保留 bit15 | 屏蔽,不改变映射范围 |
| DLC 7、错误扩展格式 | 原电平、变化掩码、源时间戳和状态不被覆盖 |
| 仅心跳持续超过 500 ms | 已接收的 GPIO 状态继续有效,符合变化触发的源协议 |
| 心跳和 GPIO 均停止 | 超过 500 ms 后所有状态未知 |
| 丢失后只恢复心跳 | 仍未知,需新 GPIO 快照 |
| 新 GPIO 恢复 | 状态恢复正常 |
| 最终停止注入 | 状态再次全部未知 |
每项核对真实 MCU 原始字段、源时间戳、16 个 DEBUG 状态及画面 17 个状态位置的颜色。PCAN 状态均为 `0x0`,MCU CAN / UART 接收错误计数均为 0;HMI 结束时接收计数 T:6973 / L:597。人工另检查全正常、全故障和 PD5 故障截图的文字与位置。
两份 DBC 的 11 条报文、40 个信号、28 个已知报文、位时序和 SDC 源布局校验通过。报文布局没有改变,仅更新映射说明和接口版本。软件仍使用 CAN 中断、UART DMA、变化项刷新和最新值合并。
## 证据
- [完整 CAN 报文、MCU 状态与画面核对](evidence/2026-10-03/debug-gpio-mapped/mapping-results.json)
- [烧录回读结果](evidence/2026-10-03/debug-gpio-mapped/flash-verified.json)
- [测试脚本](evidence/2026-10-03/debug-gpio-mapped/test_mapping.py)
- [用户输入顺序图](evidence/2026-10-03/debug-gpio-mapped/user-input-order.png)
![全低正常](evidence/2026-10-03/debug-gpio-mapped/all_normal.png)
![PD5 高电平使 d1 两个位置同步故障](evidence/2026-10-03/debug-gpio-mapped/PD5_high_fault.png)
测试完成后停止 CAN 注入,HMI 保留 DEBUG 页和用户 MCU 输入模式,页面全部未知。未接物理串口屏、真实 SDC 节点或车辆执行器。本次证明显示输入与呈现链路,不能证明车辆安全动作。