Files
AMI/docs/AMI自定义显示CAN测试报告.md

44 lines
3.9 KiB
Markdown
Raw Permalink 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.
# AMI v2.2 自定义显示 CAN 测试
2026-10-03,新增标准 `0x182 / DLC 8`,用 CAN 设置扭矩千分、电机温度和 MCU 温度。CAN1 500K / CAN2 250K 保持原速率;本次 CAN 盒接 CAN2,250 kbit/s。
## 固件和烧录
- STM32G0B1CBT6,ST-LINK SN `37FF71064E573436188C1543`,目标 ID `0x467`,供电 3.28 V。
- Release 编译通过,Flash 15880 字节,RAM 2632 字节。
- [本次测试 v2.2 BIN](../output/firmware/AMI_Controller_v2.2_500k_250k.bin) SHA256:`E73994418D346ADEF7E2ED5EE3C018C4CD3B74C4E4A2884CD8628218153BEA7F`。通用 BIN 后续已更新为 v2.4,见 [VCU 反馈报告](VCU状态反馈测试报告.md);v2.3 的映射实测见 [DEBUG 映射报告](DEBUG十五路CAN映射测试报告.md)。
- 烧录返回 `Download verified successfully`,另完整回读 15880 字节,逐字节一致。
- CAN1 / CAN2 NBTP 分别为 `0x00070C01` / `0x000F0C01`;64 MHz 时钟下为 500K / 250K,采样点 87.5%。
- 两份 DBC 各 11 条报文、40 个信号,严格解析和 28 个已知报文校验通过;五条 SDC 布局与源 DBC 一致。
## CAN2 与 MCU 状态
CAN 盒同时发送自定义输入和 BMS `0x140 / 0x156`;未发送 SDC 报文。SWD 根据本次 ELF 符号地址读取真实 MCU 状态,检查数值、有效位和时间戳。CAN1 接收时间为 0,CAN2 接收时间有效;各阶段 CAN / UART 接收错误均为 0,PCAN 状态 `0x0`。
| 阶段 | 输入 / 操作 | MCU 结果 |
| --- | --- | --- |
| 正值 | `F4 01 C2 01 90 01 07 01` | 500‰ / 45℃ / 40℃,均有效 |
| 负值 | `0C FE 9B FF 33 FF 07 01` | -500‰ / -10℃ / -21℃ |
| 取整和扭矩边界 | 1000‰ / 45.5℃ / -20.5℃ | 1000 / 46 / -21 |
| 部分无效 | 标志 05,仅扭矩 / MCU 有效 | 电机温度保留旧值但无效 |
| 全无效 | 标志 00 | 三项保留旧数字,均无效 |
| 扭矩超范围 | 1200‰ / 80℃ / 60℃,标志 07 | 扭矩无效,两个温度仍有效更新 |
| 有效基线 | 重新发送正值 | 三项恢复有效 |
| 错误版本 | 字节 7 改为 02,连续发送 | 整帧拒绝,原数值保留且独立超时 |
| 非零保留位 | 字节 6 改为 87 | 不更新值、不刷新时间戳 |
| 截短 DLC | DLC 7 | 不更新值、不刷新时间戳 |
| 错误帧类型 | 扩展 ID 182 | 不更新值、不刷新时间戳 |
| 恢复 | -250‰ / 70℃ / 55℃ | 三项恢复有效 |
| 独立超时 | 仅停止 0x182,BMS 持续发送 | 三项失效,BMS 400V / 12A / 40℃ 持续有效 |
| 再恢复 | 正值报文 | 三项恢复有效 |
## 串口与 HMI 核验状态
本次 MCU 状态测试已通过;官方 HMI 调试窗口的显示更新尚未确认。COM4 9600 8N1 直接接收 6 秒得到 0 字节;电脑发送 `AA 55 01 02 0D 0A` 后收到 CAN2 标准 `0x300` 请求,说明电脑到 MCU 方向有效,MCU 到电脑方向待检查 PA2 -> 转串口 RXD 接线。不能据 MCU 数值正确宣称屏幕已更新。
随后在官方调试器点击六个任务按钮,每个任务先取消再确认:六个取消均无 `0x300`,六个确认均收到一条正确标准 `0x300 / DLC 8`,任务号 1..6、序号 0..5。此结果验证 HMI 操作到 MCU 再到 CAN2 的方向;不作为 CAN 输入到 HMI 数值更新的证据。发布的发送脚本另实际发送 30 条 `0x182`,每 100 ms 一条,3 秒后自动停止。
本次未重新接 CAN1 验证新帧;CAN1 与 CAN2 共享解码器和相同过滤 ID,属于源码 / 配置校验。未接物理串口屏、真实 BMS / 电机控制器或同时接两路。扭矩输入仅用于仪表显示。
证据见 [发送帧与状态](evidence/2026-10-03/v2.2-display/display-results.json)、[烧录回读](evidence/2026-10-03/v2.2-display/flash-verified.json)、[任务回传](evidence/2026-10-03/v2.2-display/task-results.json)、[串口诊断](evidence/2026-10-03/v2.2-display/uart-diagnostic.json)。v2.1 双 CAN 历史证据及 BIN 见 [双 CAN 报告](CAN1_CAN2_v2.1测试报告.md)。