Set CAN1 to 500K and CAN2 to 250K with matching DBCs and PDF

This commit is contained in:
shenlefengnai-rgb
2026-10-03 17:44:55 +08:00
parent ff6ef4c5e7
commit 9120bd0ec1
17 changed files with 316 additions and 33 deletions
+7 -3
View File
@@ -10,13 +10,15 @@
| 12 | PA1 | STATUS_LED2,仪表/SDC 状态活动超时提示;两路择有效输入 |
| 13 | PA2 | USART2_TX → 屏幕 RX,9600 8N1 |
| 14 | PA3 | USART2_RX ← 屏幕 TX,9600 8N1 |
| 19 | PB0 | FDCAN2_RX,500 kbit/s,与 CAN1 功能相同 |
| 20 | PB1 | FDCAN2_TX,500 kbit/s,与 CAN1 功能相同 |
| 19 | PB0 | FDCAN2_RX,250 kbit/s,与 CAN1 解码功能相同 |
| 20 | PB1 | FDCAN2_TX,250 kbit/s,与 CAN1 任务发送功能相同 |
| 33 | PA11 | FDCAN1_RX,默认 500 kbit/s |
| 34 | PA12 | FDCAN1_TX,默认 500 kbit/s |
LED 默认按高电平点亮。如果硬件是低电平点亮,将 `Core/Inc/ami_app.h` 中 `AMI_LED_ACTIVE_LEVEL` 改为 `GPIO_PIN_RESET`。
CAN1 为 500 kbit/s、CAN2 为 250 kbit/s。FDCAN 时钟为 64 MHz,两路 ClockDivider=1,NominalPrescaler 分别为 8 / 16;TimeSeg1=13、TimeSeg2=2、SJW=1,采样点均为 87.5%。CAN1 使用根目录 `AMI.dbc`,CAN2 使用 `AMI_CAN2_250k.dbc`。MCU 不在两路之间转发原始 CAN 报文。
## 数据路径
- FDCAN1、FDCAN2 使用相同的三条标准过滤器和一条扩展过滤器,接收 SDC 0x6A0..0x6A6 与 BMS 0x140 / 0x156 / 0x186040F3 / 0x186140F3。
@@ -50,7 +52,9 @@ CubeMX 配置源为 `AMI_Controller.ioc`。重新生成时保留 USER CODE 区
## 实物联调前确认
1. 核对芯片完整丝印,确认是 CB/CC/CE 中的哪一个。
2. 确认 CAN1/CAN2 收发器、终端电阻及 500 kbit/s 总线速率。
2. 确认 CAN1/CAN2 收发器、终端电阻;CAN1 总线 500 kbit/s、CAN2 总线 250 kbit/s。
3. 确认屏幕是 TTL 电平并与主控共地,主控 TX 接屏 RX、主控 RX 接屏 TX。
4. 下载 `AMI.HMI` 后逐条验证仪表数值、16 路 debug 状态及 6 个任务按钮。
5. 2026-10-03 已完成 CAN1 / MCU / USART2 到 COM4 官方 HMI 调试器联调;物理屏幕、CAN2 和 LED 极性尚未实测。证据位于 [发布的 CAN 记录](../docs/evidence/2026-10-03/sdc-bms/sdc_bms_visual_results.json)。
此前实物证据对应两路均为 500K 的 v2.0。当前 v2.1 的 CAN2 250K BIN 已编译,尚未烧录或实物测试。