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

3.7 KiB
Raw Blame History

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 字节。
  • 当前 BIN SHA256:E73994418D346ADEF7E2ED5EE3C018C4CD3B74C4E4A2884CD8628218153BEA7F。
  • 烧录返回 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 / 电机控制器或同时接两路。扭矩输入仅用于仪表显示。

证据见 发送帧与状态、烧录回读、任务回传、串口诊断。v2.1 双 CAN 历史证据及 BIN 见 双 CAN 报告。