跳转到内容

双 CAN 车速信号网关

本例用 BMCLI 原生信号网关配置完成双 CAN 车速适配:从底盘侧读取 km/h,在传感器侧按 m/s 编码发送,并配置有效性与目标保护规则。

sensor-speed.bmgw 是 BMCLI 原生网关工程,逻辑网络为 chassis 与 sensor;实际设备、速率和接线在本机 Bench 中配置。随文两个 DBC 说明线上布局,工程已经包含对应编码定义。

项目 配置
输入 chassis,标准 CAN 0x100,8 字节,Speed 位于 bit 0,16 位 Intel,0.01 km/h
变换 m/s = km/h ÷ 3.6
输出 sensor,标准 CAN 0x200,8 字节,Speed 位于 bit 0,16 位 Intel,0.01 m/s
有效性 源 100 ms 后过期;Speed 无效 raw 为 65535,目标 Valid 位于 bit 16
发送 目标独立周期 20 ms
教学保护 8 位 Counter 位于 bit 24,CRC8 位于 byte 7,参数在工程 e2e 配置中

保护规则演示目标独立生成 Counter/CRC。DBC 定义字段位置,工程 e2e 配置定义教学保护算法。用于项目时,按正式规范配置算法或插件,并通过独立测试向量校验。

在本目录运行:

Terminal window
bmcli gateway validate --file=sensor-speed.bmgw --format=json

该命令在离线环境中检查网关工程的结构与定义。

准备两个互相独立的测试 CAN 网络:一个产生 0x100,另一个接收 0x200。物理发送源与目标接收方正常应答,速率和终端按台架配置。

  1. 用源 DBC 依次产生 0、36、72、108 km/h;目标应解码为 0、10、20、30 m/s,以上为预期值。
  2. 观察目标周期、Counter 与 CRC,再中断源超过 100 ms;目标应输出约定的无效编码并清除有效位。
  3. 恢复输入并检查有效状态恢复,同时保存原始帧以独立验证编码和保护字段。

正常值、超时、恢复和目标接收结果都符合预期后,再连接实际传感器。部署到树莓派时使用匹配系统架构的 BMCLI/BMAPI 包;有原生插件时一并提供对应 ARM 构建。

详见第十二篇教程

下载配套示例 ZIP · 返回系列目录

最近更新: