Set CAN1 to 500K and CAN2 to 250K with matching DBCs and PDF
This commit is contained in:
+13
-4
@@ -1,10 +1,19 @@
|
||||
# AMI CAN DBC 说明
|
||||
|
||||
版本:`AMI-2.0-2026-10-03`。由 [AMI.dbc](../AMI.dbc) 自动生成,10 条报文、33 个信号。
|
||||
版本:`AMI-2.1-2026-10-03`。由 [AMI.dbc](../AMI.dbc) 自动生成,10 条报文、33 个信号。
|
||||
|
||||
## 使用范围
|
||||
|
||||
CAN1 / CAN2 功能相同,均为 500 kbit/s、Classic CAN、87.5% 采样点。节点 AMI 为仪表 MCU,VCU 为任务请求的逻辑接收者,SDC_ACQ_DAC 和 BMS 为数据源。
|
||||
CAN1 为 500 kbit/s,CAN2 为 250 kbit/s,均为 Classic CAN、87.5% 采样点。两路保留相同的接收 ID、解码与任务发送功能,MCU 不在两路之间转发原始报文。节点 AMI 为仪表 MCU,VCU 为任务请求的逻辑接收者,SDC_ACQ_DAC 和 BMS 为数据源。
|
||||
|
||||
| 端口 | 速率 | RX / TX 引脚 | DBC 文件 |
|
||||
| --- | --- | --- | --- |
|
||||
| CAN1 | 500 kbit/s | PA11 / PA12 | [AMI.dbc](../AMI.dbc) |
|
||||
| CAN2 | 250 kbit/s | PB0 / PB1 | [AMI_CAN2_250k.dbc](../AMI_CAN2_250k.dbc) |
|
||||
|
||||
DBC 的 `Baudrate` / `AMIPort` 分别标注所属总线。每份 DBC 均含 10 条报文、33 个信号;同一份报文表适用于两路。CAN 工具必须按接入端口设置速率,导入 DBC 不一定自动改硬件速率。例如 SDC 板保持 500 kbit/s 时接 CAN1;BMS 节点配置为 250 kbit/s 时接 CAN2。
|
||||
|
||||
FDCAN 时钟 64 MHz,时钟分频为 1;NominalPrescaler 为 CAN1=8、CAN2=16,两路均使用 Sync=1、TimeSeg1=13、TimeSeg2=2、SJW=1。速率 = 64 MHz / Prescaler / (1+13+2);采样点 = (1+13)/16 = 87.5%。
|
||||
|
||||
本 DBC 包含 AMI 唯一发送的 `0x300` 任务请求,以及 AMI 当前识别的 SDC / BMS 输入。SDC `0x6A3` DAC 控制、`0x6A5` ASSI 控制、BMS 其他电芯/故障字段不属于此接口子集。没有定义电机温度、逆变器温度、扭矩、标定后的车速、AMI 周期心跳或 VCU 执行反馈。旧 `0x180 / 0x181 / 0x280` 输入已停用。
|
||||
|
||||
@@ -184,6 +193,6 @@ python scripts/verify_dbc.py --sdc-dbc ../SDC_ACQ_DAC/SDC_ACQ_DAC.dbc
|
||||
|
||||
校验覆盖严格 DBC 解析(长度、信号越界与重叠)、10 个 ID 与固件宏对应、标准/扩展格式、33 个信号、发送/接收节点、SDC 周期、24 个已知报文解码、六个任务号与计数边界编码、大端偏置电流、无效温度枚举、全负温度和截短 DLC。已安装并验证 cantools 44.1.0,接口参考 [cantools 官方文档](https://cantools.readthedocs.io/en/latest/)。
|
||||
|
||||
上述是静态及软件编解码验证。之前 CAN 盒 -> 实物 AMI CAN1 / MCU -> USART2 -> COM4 -> 官方 HMI 调试器的实际更新和六个任务回传见 [联调报告](SDC_BMS联调报告.md)。物理串口屏、CAN2 接线、真实 SDC/BMS 节点和车辆执行动作尚未实测;文档生成和 DBC 解析不替代这些测试。
|
||||
上述是静态及软件编解码验证,另校验两份 DBC 的速率、相同信号布局及源码 / CubeMX 位时序一致。v2.1 的 CAN2 250 kbit/s 固件已编译,尚未烧录或实物验证。之前 v2.0 的 CAN 盒 -> 实物 AMI CAN1 / MCU -> USART2 -> COM4 -> 官方 HMI 调试器的实际更新和六个任务回传见 [联调报告](SDC_BMS联调报告.md)。物理串口屏、CAN2 接线、真实 SDC/BMS 节点和车辆执行动作尚未实测;文档生成和 DBC 解析不替代这些测试。
|
||||
|
||||
修改 AMI.dbc 后运行 `python scripts/export_dbc_docs.py` 更新本文;固件字节布局、DBC 与此文档需同时保持一致。
|
||||
修改 AMI.dbc 后运行 `python scripts/export_dbc_docs.py` 更新 CAN2 DBC 和本文;固件字节布局、DBC 与此文档需同时保持一致。
|
||||
|
||||
+3
-1
@@ -1,6 +1,8 @@
|
||||
# AMI 接入 SDC / BMS 协议
|
||||
|
||||
版本 2.0,2026-10-03。CAN1 / CAN2 配置相同:500 kbit/s、Classic CAN、87.5% 采样点。当前固件不再接收旧 `0x180 / 0x181 / 0x280` 数据接口。
|
||||
版本 2.1,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` 数据接口。
|
||||
|
||||
v2.1 已通过源码 / CubeMX 位时序一致性检查及 Release 编译,尚未烧录或验证 CAN2 250K。本文后面的实物联调证据属于两路均为 500K 的 v2.0。
|
||||
|
||||
来源:`SDC_ACQ_DAC/SDC_ACQ_DAC.dbc` VERSION 1.1;[BmsMonitor-CANTest](https://git.acetaffy.ltd/acetaffy/BmsMonitor-CANTest) 的 `BmsMonitor.App/Protocol/BmsProtocolParser.cs`,核对提交 `e65c95203d1689df05343775982d7e85bd782646`,本机核对副本保存在 `tmp/BmsMonitor-CANTest`(不提交);远端来源使用上述仓库及提交号定位。
|
||||
|
||||
|
||||
+3
-1
@@ -2,6 +2,8 @@
|
||||
|
||||
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;新版本尚未烧录,本文不作为 CAN2 250K 验证依据。
|
||||
|
||||
## 实际发送与显示
|
||||
|
||||
| ID / 格式 / DLC | CAN 数据(十六进制) | 含义 | HMI 实测 |
|
||||
@@ -36,7 +38,7 @@
|
||||
|
||||
- [当前协议](SDC_BMS协议.md)
|
||||
- [HMI 工程](../AMI.HMI),SHA256 `8A37E4961F90671F04E55BA94C173AE8FBFC5E30C2A3E74A2C37148157C3D16D`
|
||||
- [固件 BIN](../output/firmware/AMI_Controller.bin),SHA256 `F0DA6EC9C5C8A4F803E4CDD28BB73C6458E010B15F32D3EAEF5C3A1B60D8827B`
|
||||
- [测试所用 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)
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"result": "passed",
|
||||
"messages": 10,
|
||||
"signals": 33,
|
||||
"known_payload_checks": 24,
|
||||
"all_task_ids_and_counter_edges": true,
|
||||
"ports_bitrate": {
|
||||
"CAN1": 500000,
|
||||
"CAN2": 250000
|
||||
},
|
||||
"both_dbc_layouts_and_payloads_match": true,
|
||||
"firmware_and_ioc_bit_timing_match": true,
|
||||
"firmware_ids_match": true,
|
||||
"sdc_source_layout_match": true,
|
||||
"cantools_version": "44.1.0",
|
||||
"version": "AMI-2.1-2026-10-03",
|
||||
"release_build": {
|
||||
"result": "passed",
|
||||
"flash_bytes": 15612,
|
||||
"ram_bytes": 2632
|
||||
},
|
||||
"hardware_flash": "not performed for v2.1",
|
||||
"can2_250k_physical_test": "not performed",
|
||||
"pdf_visual_review": {
|
||||
"pages": 10,
|
||||
"result": "passed"
|
||||
},
|
||||
"sha256": {
|
||||
"AMI.dbc": "4f56ff454563826701a85749f981dc65d6cd74e17b49a62ea030a957a8cf64f5",
|
||||
"AMI_CAN2_250k.dbc": "fb9aa42f3cb2025e86b1b8227c1318c7dc3edc7a98ea525e57b41e53cce46273",
|
||||
"firmware/Core/Src/fdcan.c": "3640e809c169a1593249a38e009c0837070a73330cd7af1be236bb7a854e4fdb",
|
||||
"firmware/AMI_Controller.ioc": "b639e05cec85bed890c45a64bf624098e1b28458c780e7a94e8a42f84f1c7666",
|
||||
"output/firmware/AMI_Controller.bin": "143bb0cf190a17dd3f8a251bd49fef2af19699d873951c58cb790b35764e3212",
|
||||
"output/firmware/AMI_Controller_v2.0_500k.bin": "f0da6ec9c5c8a4f803e4cdd28bb73c6458e010b15f32d3eaef5c3a1b60d8827b",
|
||||
"output/pdf/AMI_CAN报文说明.pdf": "3ba73849d3375ab2248d59038c273c81129c007ab77281c4c80ec1d22eb6bf11"
|
||||
}
|
||||
}
|
||||
+5
-3
@@ -1,7 +1,9 @@
|
||||
2026-10-03:屏幕数字接口1.2,MCU CAN输入2.0(SDC/BMS)。
|
||||
AMI.dbc包含10条Classic CAN报文和33个信号,CAN1/CAN2为500 kbit/s。
|
||||
2026-10-03:屏幕数字接口1.2,MCU CAN输入2.1(SDC/BMS)。
|
||||
CAN1为500 kbit/s,使用AMI.dbc;CAN2为250 kbit/s,使用AMI_CAN2_250k.dbc。每份包含10条Classic CAN报文和33个信号,报文布局相同。
|
||||
v2.1源码/CubeMX/DBC位时序一致性校验及Release编译通过;新BIN尚未烧录,CAN2 250K尚未实测。
|
||||
cantools 44.1.0严格解析、24个已知报文、六个任务号及计数边界、标准/扩展ID、偏置电流、无效温度和SDC布局一致性检查通过;具体复现命令见docs/AMI_CAN_DBC说明.md。
|
||||
HMI编译0错误0警告;固件Release编译、SWD烧录校验通过。
|
||||
下述历史实物证据对应v2.0,两路均为500K;原BIN保留在output/firmware/AMI_Controller_v2.0_500k.bin。
|
||||
HMI编译0错误0警告;v2.0固件Release编译、SWD烧录校验通过。
|
||||
已实测CAN盒->实物AMI CAN1/MCU->USART2->COM4->官方HMI调试器:低压电压、高压电压/电流、最高有效温度、无效数据、超时/恢复、跨页更新、HMI重连。
|
||||
六个任务确认均收到正确0x300请求,六个取消均未发送;该测试条件为CAN1持续有有效输入。
|
||||
证据在docs/evidence/2026-10-03/sdc-bms;联调报告见docs/SDC_BMS联调报告.md。
|
||||
|
||||
Reference in New Issue
Block a user