feat: add VCU status feedback and map DEBUG safety inputs

This commit is contained in:
shenlefengnai-rgb
2026-10-03 21:52:14 +08:00
parent dbbda5624a
commit 1e7b2e7f96
305 changed files with 32906 additions and 68 deletions
+25 -3
View File
@@ -1,6 +1,8 @@
# AMI 接入 SDC / BMS 协议
版本 2.2,2026-10-03。CAN1 为 500 kbit/s,CAN2 为 250 kbit/s;两路均为 Classic CAN、87.5% 采样点,接收 ID、解码和任务发送功能相同,不转发原始帧。CAN1 使用 [AMI.dbc](../AMI.dbc),CAN2 使用 [AMI_CAN2_250k.dbc](../AMI_CAN2_250k.dbc)。当前固件不再接收旧 `0x180 / 0x181 / 0x280` 数据接口。
版本 2.4,2026-10-03。CAN1 为 500 kbit/s,CAN2 为 250 kbit/s;两路均为 Classic CAN、87.5% 采样点,接收 ID、解码和任务发送功能相同,不转发原始帧。CAN1 使用 [AMI.dbc](../AMI.dbc),CAN2 使用 [AMI_CAN2_250k.dbc](../AMI_CAN2_250k.dbc)。当前固件不再接收旧 `0x180 / 0x181 / 0x280` 数据接口。
VCU 实际当前任务、锁定和 EBS 汇总显示由新增标准 `0x183 / DLC 8` 输入,独立超时 500 ms。任务按钮仅发送 0x300 请求,不更新实际任务;完整布局和颜色见 [VCU 反馈协议](AMI_CAN_DBC说明.md#vcu-状态反馈-0x183),验证边界见 [反馈报告](VCU状态反馈测试报告.md)。本页 SDC / BMS 采样与该 VCU 反馈独立。
v2.1 已通过源码 / CubeMX 位时序一致性检查及 Release 编译,已烧录并完整回读比对;CAN1 500K(SDC)与 CAN2 250K(BMS)分别通过数据更新、失效恢复和六个任务确认/取消测试,见 [双 CAN 测试报告](CAN1_CAN2_v2.1测试报告.md)。本文后面旧的实物联调引用属于两路均为 500K 的 v2.0。
@@ -14,11 +16,31 @@ v2.1 已通过源码 / CubeMX 位时序一致性检查及 Release 编译,已
| `0x6A1 / 2` | 小端 uint16 mV | **低压电池电压**,`dash.lvbat.val=(mV+5)/10`,虚拟浮点显示两位小数 |
| `0x6A2 / 8` | 四个小端 uint16 Hz,PA0 / PA2 / PA6 / PB14 | 保存原始频率;没有周长和每圈脉冲数,不直接当 km/h |
| `0x6A4 / 4` | 结果、DAC 选择、小端 uint16 mV | 接收应答,不作为仪表电压 |
| `0x6A6 / 8` | 小端 uint16 PD0..PD14 电平 + uint16 变化掩码 + uint32 ms | 保存原始电平、变化和时间 |
| `0x6A6 / 8` | 小端 uint16 PD0..PD14 电平 + uint16 变化掩码 + uint32 ms | 保存原始电平、变化和时间,并按下表更新 DEBUG |
`0x6A3` DAC 设置和 `0x6A5` ASSI 设置是发给 SDC 的控制,不属于本次显示输入。ADC 已由 SDC 校准为分压前物理输入电压,AMI 不再乘分压倍数。`08 20` = 8200 mV = 8.20 V;`0C 30` = 12300 mV = 12.30 V。DLC 必须为 2。
GPIO 帧仅在启动和电平变化时发送,持续心跳表示源仍在线。DBC 没有 PD0..PD14 对应 `d0..d15` 安全信号的名称及正常极性;当前具名 debug 保持未知,不把高/低电平直接判为正常/故障。
GPIO 帧仅在启动和电平变化时发送,持续心跳维持已有采样。用户已确认按接线表从上到下对应 PD0~PD14,且全部低电平正常、高电平故障。映射如下(这是输入位序,屏幕变量编号保持原定义):
| 输入 | 信号 | 屏幕变量 |
| --- | --- | --- |
| PD0 | Safe_DBBox_OUT | d0 |
| PD1 | Safe_S(用户纠正为左电机互锁) | d5 |
| PD2 | Safe_Ba_BOX | d2 |
| PD3 | Safe_RES1 | d6 |
| PD4 | Safe_Control | d7 |
| PD5 | Safe_L&BOTS&IW | d1(两个位置同步) |
| PD6 | Safe_RSTOP | d3 |
| PD7 | Safe_LAST | d4 |
| PD8 | EBS_BE | d8 |
| PD9 | EBS_12V | d9 |
| PD10 | EBS_AIR | d10 |
| PD11 | EBS_Oil | d11 |
| PD12 | Driverless_INS | d12 |
| PD13 | Driverless_WSS | d13 |
| PD14 | Driverless_Camera | d14 |
没有 GPIO 采样时保持未知;d15(12V_Control)无来源,始终未知。心跳和 GPIO 都超过 500 ms 未接收后全部状态清为未知;仅恢复心跳不会恢复旧状态,需新 GPIO 采样。变化掩码仅记录,不限制整帧电平的更新,bit15 屏蔽。CAN1/CAN2 共用映射;实测范围见 [映射测试报告](DEBUG十五路CAN映射测试报告.md)。
## BMS 输入