以下是CAN通信驱动开发的关键注意事项相关的整理,涵盖硬件配置、协议实现、错误处理及性能优化等方面:
一、硬件层配置要点
-
引脚复用与时钟
- 确认MCU的CAN控制器引脚是否与GPIO复用,正确配置复用模式。
- 检查CAN控制器时钟源,确保波特率计算基准准确。
-
收发器(Transceiver)状态管理
- 控制收发器的待机/唤醒模式:休眠时关闭发送器以降低功耗,唤醒时需满足建立时间(tWAKE)再通信。
- 处理收发器故障标志(如TJA1051的nERR引脚),触发MCU中断诊断。
-
终端电阻匹配
- 总线两端必须接120Ω终端电阻,避免信号反射。
- 单节点调试时,若仅有一个设备,需在PCB上预留终端电阻焊位。
二、协议层实现规范
-
波特率配置
- 计算位时间分段(Sync_Seg, Prop_Seg, Phase_Seg1/2),确保所有节点波特率误差≤1.5%。
- 采样点建议设在75%-80%位时间处(高速CAN常用80%)。
-
过滤器(Filter)设计
- 硬件过滤器:合理分配掩码