怎样阅读一份硬件验证记录
配置成功、对端收发通过和长期可靠,是不同层次的证据。比较两篇记录时,应先对齐硬件、软件版本、接线、负载、时长和错误统计。
先确定测试对象
| 对象 | 硬件 | 软件路径 |
|---|---|---|
| 自研 USB CAN 板 | STM32G431 × 3,外接 USB 板 | 测试工具 → USB CDC / ttyACM → SLCAN FD → MCU 固件与收发器 |
| 5IO 开发板 | RK3588 + LBM5-DIBAN-V01A 底板 | 测试工具 → SocketCAN → Linux 6.1 回移驱动 → 板载控制器与底板收发器 |
每块板独立保留结论。换板、换芯片、换驱动、换线束或换内核后,旧测试只能作为参考。
500k、1M 和 5M 分别指什么
500k 是此前使用的配置值,不是直接测得的硬件上限。
普通 CAN 1M 的仲裁与数据同速;CAN FD 1M/5M 在仲裁阶段使用 1M,启用 BRS 后数据阶段切换为 5M。整帧还包括帧头、CRC、应答、间隔和填充等开销。
| 指标 | 意义 |
|---|---|
| 配置位速率 | 配置到控制器的仲裁 / 数据段速率 |
| 应用有效吞吐 | 对端收到的有效载荷除以发送窗口时间 |
| 总线利用率 | 线上各帧及开销的占用比例;需说明是软件估算还是仪器测量 |
| 稳定性 | 特定条件与时间内的数据完整性、异常和恢复记录 |
自研 USB CAN 板单向约 0.85 Mbit/s 的应用吞吐,与 FD 数据段配置为 5M 可以同时成立;不能把脚本吞吐直接当成 CAN 硬件极限。
收齐帧为什么仍可能失败
总线可能发生错误恢复与重试,应用最终仍能收到数据。5IO 的长测就是这种情况:帧收齐,但 bus_error 与 RX FIFO 出现异常,严格验收失败。
同时核对:
- 发送端成功入队数量与物理对端实收数量。
- 序号、ID、格式、长度、方向和完整载荷。
- 缺失、重复、乱序、socket 丢弃和控制器错误增量。
- 程序实际耗时、实际帧率与发送队列背压。
缺少完整硬件计数或示波器波形时,要写明缺少哪些证据。固件 E 寄存器与完整 TEC / REC 计数不能等同。
短测通过能证明多久
60 秒双向通过,只说明这 60 秒窗口。30 分钟压测也不能代替跨天、多节点、长线或温度测试。错误发生在哪一阶段,就保留在哪一阶段;后面的短测不能抹去旧失败。
背景可查阅 Linux SocketCAN 官方文档,具体板卡结论以对应文章和原始数据为准。