应用场景
最近接触到汽车BMS产品。需要验证硬件开发板CAN&CANFD通信部分,CAN收发器使用TJA1463,本章将基于S32K358介绍 CAN 相关配置。CAN FD的也基本差不多的配置,相关参数打开即可。
原理介绍
CAN
S32K358提供8组CAN实例,FLEXCAN0~FLEXCAN7。每组都支持CANFD协议,通过配置可实现CAN通信或CANFD通信。CANFD支持一帧报文64字节的数据传送。CANFD除了设置仲裁段波特率还有一个数据段波特率。以往经验汽车网关中经常将前者设置为500kbps,后者设置为2Mbps。
CAN的时钟可以选择由芯片内部时钟提供或者外部时钟提供。一般建议使用外部时钟,因为内部时钟可能不稳定增加CAN通信不稳定的因素。
CANTJA1463对应的驱动也需要配置好,才能使用CANoe建立起链路,从而调试CAN通信。目前一般的CAN收发器驱动代码比较简单。S32K358的Demo板上用的是TJA1153(带功能安全的CAN收发器),这款收发器的驱动代码比较复杂一些,需要配置CAN报文并且发送指定的报文内容才可以驱动TJA1153工作。后续补上TJA1153的代码。
CAN的采样率设置一般可配置成75%,80%等。采样率由s