嵌入式工程师必备:CAN 总线核心参数速查表

发布时间:2026/6/8 13:20:08

嵌入式工程师必备:CAN 总线核心参数速查表 摘要CAN 总线调试时记不住终端电阻值波特率怎么算错误状态有哪些本文汇总 CAN 物理层、链路层、协议层的核心参数与经验值建议收藏并作为项目 Check List。一、物理层Physical Layer核心参数参数符号典型值 / 说明工程师关注点特性阻抗​Z₀120 Ω​必须全程保持一致终端电阻​Rterm120 Ω仅总线两端中间节点严禁加线缆类型​-双绞线Twisted Pair绞距越密越好 2cm共模电压范围​VCM-2V ~ 7V超出范围可能导致收发器损坏差分电压显性​Vdiff 1.5V决定信号质量总线长度 vs 波特率​-见下方经验表距离越长速率越低总线长度与波特率经验表参考 ISO 11898-2波特率最大推荐长度应用场景1 Mbps​25 m车内 ECU 高速网500 kbps​100 m车身控制、工业现场250 kbps​250 m一般工业控制125 kbps​500 m远距离传感器网络50 kbps​1 km楼宇自动化二、位时序与波特率Bit Timing核心参数参数符号典型值 / 说明工程师关注点时间量子​tq(Prescaler) / fPCLK计算的基础同步段​SYNC1 tq固定不变传播段​PROP / BS1通常 1~8 tq补偿物理延迟相位段 1​PHASE1 / BS1通常 1~8 tq采样点前相位段 2​PHASE2 / BS2通常 1~4 tq采样点后同步跳转宽​SJW≥ 1 tq重新同步能力采样点位置​Sample Point75% ~ 87.5%​决定通讯稳定性采样点速查经典 CAN500kbps场景采样点BS1BS2备注短距离​80%82常用配置长距离​85%114抗干扰更强极端距离​87.5%142需极低波特率三、协议层与错误处理Protocol Error Handling参数说明建议错误计数器​TEC (发送)、REC (接收)调试必看节点状态​Active → Passive → Bus Off量产需自动恢复FIFO 深度​通常 3 级中断必须快过滤器模式​Mask (掩码) / List (列表)量产推荐 MaskACK 位​隐性表示无节点应答查终端电阻/ID节点状态机速查状态TEC/REC 阈值行为Error Active​ 96正常发送错误帧Error Passive​≥ 96只能被动接收不发错误帧Bus Off​TEC 255节点自我隔离停止发送四、CAN FD 专用参数进阶参数经典 CANCAN FD注意点仲裁场波特率​125k~1M125k~1M通常不变数据场波特率​-1M~8M需专用收发器采样点​75%~87.5%75%~80%​要求更严收发器​TJA1050TJA1044 / TCAN1044必须更换五、一分钟调试 Checklist[ ] 示波器看 CANH/CANL 是否有振铃[ ] 120Ω 电阻是否只加在物理两端[ ] 波特率采样点是否在 75%~87.5%[ ] 是否开启了 ERROR 中断[ ] FIFO 溢出是否有计数[ ] 过滤器是否配置正确没把 ID 过滤掉[ ] Bus Off 后是否有自动恢复机制六、写在最后关注我少走弯路我是 gqqsherry一个拒绝调包、专注底层逻辑的嵌入式工程师。CAN 总线是“差之毫厘谬以千里”的典型代表物理层的一个电阻、协议层的一个参数都可能导致整个网络瘫痪。关注我的专栏《嵌入式底层避坑指南》这里没有枯燥的 API 搬运只有真实的硬件调试现场和可落地的工程代码。新系列预告《USB 底层避坑指南》—— 从枚举失败到描述符地狱我们下篇见。ReferencesISO 11898-2:2016 – Controller area network (CAN)STM32 Reference Manual – bxCAN peripheralTI Application Reports – CAN Bus Termination and Bit Timing如果你在调试 CAN 时有过“查了三天发现是电阻忘了焊”的经历欢迎在评论区交流。​原创文章转载请注明出处。

相关新闻