Files
AMI/docs/SDC_BMS联调报告.md

57 lines
4.7 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 SDC / BMS 联调报告
2026-10-03,测试链路:PCAN-USB(500 kbit/s)→ 实物 AMI CAN1 → STM32G0B1 MCU → USART2 PA2/PA3 → CH340 COM4(9600 8N1)→ USART HMI 官方调试器。使用 CAN 盒模拟 SDC / BMS 报文,未接真实 SDC / BMS 节点或物理串口屏。
本文记录 v2.0 的实物测试。后续 v2.1 将 CAN2 改为 250K,并已完成烧录及两路分别验证,见 [v2.1 双 CAN 测试报告](CAN1_CAN2_v2.1测试报告.md)。本文仍仅作为 v2.0 历史证据。
## 实际发送与显示
| ID / 格式 / DLC | CAN 数据(十六进制) | 含义 | HMI 实测 |
| --- | --- | --- | --- |
| `0x6A1` 标准 / 2 | `08 20` | ADC 8200 mV | 低压电池 8.20 V |
| `0x6A1` 标准 / 2 | `0C 30` | ADC 12300 mV | 低压电池 12.30 V |
| `0x140` 标准 / 8 | `0F A0 14 03 00 00 00 05` | 400.0 V,+12.3 A | 高压 400,电流 12 |
| `0x156` 标准 / 8 | `42 FF 43 47 37 0A 50 41` | 八路实际温度,第二路无效,最高 40 ℃ | 最高单体 40 |
| `0x186040F3` 扩展 / 8 | `10 73 10 D1 00 00 00 05` | 421.1 V,−69.5 A | 高压 421,电流 −70 |
| `0x186140F3` 扩展 / 8 | `10 04 0C E4 3F 17 00 7B` | 最高温度 23 ℃ | 最高单体 23 |
| `0x156` 标准 / 8 | `FF FF FF FF FF FF FF FF` | 无有效温度 | 原温度保留但变灰,MCU 有效位清零 |
低压控件 `lvbat` 为两位小数虚拟浮点数;高压、电流沿用整数控件,四舍五入显示。MCU 内保留高压/电流的 0.1 单位精度。电机/逆变器温度没有来源协议,保持灰色无效值,没有将电池温度套用到电机。
同一测试同时发送:SDC 心跳 100 ms、ADC 500 ms、四路频率 20 ms、BMS 状态 100 ms、BMS 温度 200 ms。轮频 `32 00 64 00 96 00 C8 00` 为 50 / 100 / 150 / 200 Hz,未擅自当作 km/h。
## 通过的检查
- MCU 不重启,仅重新打开并连接 HMI,等待同步后无效值恢复灰色;每 5 秒重新同步整套显示状态。\n- 实际 HMI 数值更新,标准与扩展 BMS 均可用,负电流符号和偏置正确。
- `FF` 无效温度被排除;全部温度无效时立即失效;恢复后重新转白。
- 只保留 SDC 心跳时,ADC 1500 ms、BMS 电压/电流 2000 ms 独立超时,变灰;心跳没有为其他数值续期。
- 恢复阶段显示 12.68 V / 55 V / 0 A / 27 ℃(BMS 原始总压 54.5 V)。
- 错误 DLC、同 ID 错误标准/扩展类型,以及旧 `0x180` 数据没有覆盖有效读数。
- 在 debug 页面更新数据,返回 dash 后显示 14.50 V / 300 V / −5 A / 60 ℃;具名 debug 状态保持未知。
- 同时注入 BMS 扩展帧的低压字段 8.5 V,仪表低压仍为 SDC ADC 的 14.50 V,没有被 BMS 覆盖。
- 六个任务确认均收到正确标准 `0x300 / 8` 请求,六个取消均没有 CAN 请求。测试期间 CAN1 持续有有效 SDC / BMS 输入。
- SWD 五阶段快照中的显示值、原始 ADC / BMS 值、有效位与预期一致,UART / CAN 接收错误计数均为 0;PCAN 状态为 0。
任务 CAN 序号依次为 0..5,前三个固定字段与来源字段为 `01 NN SEQ 01`,后四字节为 MCU 小端毫秒时间。任务回传仍为原 AMI 请求,未发 SDC DAC 或 ASSI 控制。
## 文件与证据
- [当前协议](SDC_BMS协议.md)
- [HMI 工程](../AMI.HMI),SHA256 `8A37E4961F90671F04E55BA94C173AE8FBFC5E30C2A3E74A2C37148157C3D16D`
- [测试所用 v2.0 固件 BIN](../output/firmware/AMI_Controller_v2.0_500k.bin),SHA256 `F0DA6EC9C5C8A4F803E4CDD28BB73C6458E010B15F32D3EAEF5C3A1B60D8827B`
- [全部 CAN 发送记录](evidence/2026-10-03/sdc-bms/sdc_bms_visual_results.json)
- [MCU 快照自动核对](evidence/2026-10-03/sdc-bms/sdc_bms_verified.json)
- [任务回归](evidence/2026-10-03/sdc-bms/sdc_bms_function_task_results.json)
- [跨页面记录](evidence/2026-10-03/sdc-bms/sdc_bms_cross_page.json)
- [烧录日志](evidence/2026-10-03/sdc-bms/sdc_bms_flash.log)
Release:Flash 15612 B,RAM 2632 B,编译通过;SWD 烧录显示 `Download verified successfully`。HMI 编辑器编译显示 0 错误、0 警告,[编译截图](evidence/2026-10-03/sdc-bms/saved_editor.png)。原 HMI 保留在 `tmp/can1-test-20261002/AMI_before_sdc_bms.HMI`,新版本另留验证副本。
![标准帧显示](evidence/2026-10-03/sdc-bms/sdc_bms_standard.png)
![扩展帧显示](evidence/2026-10-03/sdc-bms/sdc_bms_extended.png)
## 尚缺资料或未测试部分
电机/逆变器温度的 CAN ID、字段和缩放,SDC GPIO 到具名安全信号的映射及正常极性,轮频到 km/h 的标定参数均缺失。CAN2 配置与 CAN1 相同,SWD 过滤寄存器均为 `0x0103002B`,但没有接线实测 CAN2。未测试物理串口屏、灯极性、VCU 执行反馈和车辆安全动作。现有未活跃端口的任务重发/队列限制未修改,详情见当前协议文档。