63 lines
5.4 KiB
Markdown
63 lines
5.4 KiB
Markdown
# AMI v2.1 烧录与双 CAN 实物测试
|
||
|
||
2026-10-03,固件来源提交 `9120bd0`。实际链路为 PCAN-USB CAN 盒 -> 实物 AMI MCU -> USART2 PA2/PA3 -> CH340 COM4(9600 8N1)-> USART HMI 官方调试器。先测试 CAN1,通知用户切换接线并收到确认后,再测试 CAN2。
|
||
|
||
本报告为 v2.1 历史记录,对应 [归档 BIN](../output/firmware/AMI_Controller_v2.1_500k_250k.bin)。通用 `AMI_Controller.bin` 已更新为 v2.2,请勿把本报告的双 CAN 结果直接套用于后续版本。
|
||
|
||
CAN1 按 SDC 的 500 kbit/s 使用,CAN2 按 BMS 的 250 kbit/s 使用。此次用 CAN 盒模拟源报文,未连接真实 SDC/BMS 节点或物理串口屏;未同时连接两路。
|
||
|
||
## 烧录与实际位时序
|
||
|
||
- ST-LINK SN `37FF71064E573436188C1543`;目标 ID `0x467`,128 KB Flash,供电 3.28 V。
|
||
- 从 `0x08000000` 烧录发布的 15612 字节 BIN,烧录工具返回 `Download verified successfully`。
|
||
- 另行完整回读 15612 字节,逐字节与发布 BIN 相同。
|
||
- 固件 SHA256:`143BB0CF190A17DD3F8A251BD49FEF2AF19699D873951C58CB790B35764E3212`。
|
||
- HMI SHA256:`8A37E4961F90671F04E55BA94C173AE8FBFC5E30C2A3E74A2C37148157C3D16D`。
|
||
|
||
| 端口 | 实际 NBTP | Prescaler | TimeSeg1 / TimeSeg2 | 速率 | 采样点 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| CAN1 | `0x00070C01` | 8 | 13 / 2 | 500 kbit/s | 87.5% |
|
||
| CAN2 | `0x000F0C01` | 16 | 13 / 2 | 250 kbit/s | 87.5% |
|
||
|
||
寄存器通过运行中的 MCU SWD 读取,按 64 MHz FDCAN 时钟计算。见 [烧录与寄存器记录](evidence/2026-10-03/v2.1-can1/flash-and-bit-timing.json)、[烧录日志](evidence/2026-10-03/v2.1-can1/flash.log)、[回读日志](evidence/2026-10-03/v2.1-can1/flash-readback.log)。寄存器记录中的 CAN2 待测标志是切线前的阶段记录,后续结果见下节。
|
||
|
||
## CAN1:500K,SDC 数据与任务
|
||
|
||
发送 SDC 心跳 `0x6A0`(100 ms)、ADC `0x6A1`(500 ms)、轮频 `0x6A2`(20 ms)和 GPIO `0x6A6`。ADC 显示经过 8.20 V、12.30 V、12.68 V,停止 ADC 后独立失效变灰,恢复后转白。轮频保持原始 Hz,不换算为 km/h;GPIO 未映射成具名安全状态。
|
||
|
||
最初 CAN1 回归还额外注入 BMS 格式数据,用于检查原有共享解码路径;该模拟注入不代表真实 BMS 工作于 500K。按用户说明,BMS 最终在 CAN2 250K 单独验证。
|
||
|
||
六个任务按钮分别确认和取消。每个确认均收到一条标准 `0x300 / DLC 8`,任务号为 1..6、序号为 0..5;六个取消均未出现任务请求。任务测试期间 CAN1 持续有有效输入。
|
||
|
||
五组 MCU 状态快照符合预期,CAN/UART 接收错误计数均为 0,PCAN 状态为 `0x0`。见 [状态核对](evidence/2026-10-03/v2.1-can1/sdc_bms_verified.json)、[发送记录](evidence/2026-10-03/v2.1-can1/sdc_bms_visual_results.json)、[任务回传](evidence/2026-10-03/v2.1-can1/sdc_bms_function_task_results.json)。
|
||
|
||

|
||
|
||
## CAN2:250K,仅 BMS 数据与任务
|
||
|
||
CAN2 测试仅发送 BMS 状态、温度以及故意构造的无效帧,没有发送 SDC `0x6A0..0x6A6`。MCU 快照确认 CAN1 接收时间为 0、CAN2 接收时间有效,数据来自 CAN2。
|
||
|
||
| 阶段 | BMS 输入 | HMI / MCU 结果 |
|
||
| --- | --- | --- |
|
||
| 标准帧 | `0x140`:400.0 V、+12.3 A;`0x156` 八路温度含一条 FF | 显示 400 V、12 A、有效最高温度 40 ℃ |
|
||
| 扩展帧 | `0x186040F3`:421.1 V、-69.5 A;`0x186140F3` 最高温度 23 ℃ | 显示 421 V、-70 A、23 ℃ |
|
||
| 全部温度 FF | 状态帧继续有效,八路温度均 FF | 历史温度保留并变灰,电压/电流仍有效 |
|
||
| 停止 BMS | 等待 3 秒 | 电压、电流和温度均失效变灰 |
|
||
| 恢复 | 54.5 V、0 A、最高有效温度 27 ℃ | 显示 55 V、0 A、27 ℃并转白 |
|
||
|
||
CAN2 单独测试前复位 MCU,且未注入 SDC ADC,因此低压电池为 0.00 V 灰色,ADC 原始值为 0。扩展 BMS 帧携带的低压字段没有覆盖该值。
|
||
|
||
错误 DLC、`0x140` 的错误扩展格式及旧 `0x180` 没有覆盖有效读数。六个任务确认均收到正确标准 `0x300 / 8`,六个取消均无任务请求,序号依次 0..5。CAN/UART 接收错误均为 0,PCAN 状态为 `0x0`。
|
||
|
||
初次切线后的 HMI 调试窗口滞留旧画面且没有发出任务。MCU 快照已正确解码 BMS;关闭该窗口后,直接读取 COM4 得到正确的 ASCII 指令和真实 `FF FF FF`,直接发送串口任务帧也收到 CAN2 回传。重新打开 HMI 调试器并连接 COM4 后,以上五阶段显示和六个按钮确认/取消全部复测通过。无需修改固件。
|
||
|
||
见 [状态核对](evidence/2026-10-03/v2.1-can2/bms_verified.json)、[发送记录](evidence/2026-10-03/v2.1-can2/bms_visual_results.json)、[任务回传](evidence/2026-10-03/v2.1-can2/bms_function_task_results.json)、[串口诊断](evidence/2026-10-03/v2.1-can2/uart-diagnostic.json)。
|
||
|
||

|
||
|
||
## 测试范围
|
||
|
||
已完成烧录校验、完整回读、两路分别接线的实际 CAN 收发、MCU 解码、串口通信、官方 HMI 调试器显示和任务回传。共十组状态快照、十二个任务确认、十二个取消通过。
|
||
|
||
物理串口屏、真实 SDC/BMS 节点、两路同时接入、LED 极性、车辆动作及安全互锁未在本次测试中验证。跨页面测试没有在本次重复;此前 v2.0 的结果见历史联调报告。任务回传证明请求已发出,不能作为 VCU 执行成功的证明。
|