MC9S12XEP100 包含四路收发 CAN 通信模块,接口采取了 TJA1050 芯片,个中 1 脚和 4 脚是 CAN 模块的发送和吸收接口,6 脚和 7 脚分别连接到 CAN 总线的CANL 和 CANH 上。L81 是 CAN 总线的滤波器,可以有效地过滤掉 CAN 总线的滋扰旗子暗记。CAN 通信电路模块如下图所示:
2、通信故障检测及处理机制

(1)节点断路和短路故障

当 CANH 和 CANL 涌现断路或短路故障时,CAN 通信失落效。根据不同的发送办法,报文的发送类型分为周期型、使能型、事宜型。当周期型报文如果在一定的周期内,MCU 未收到此报文,则判断为故障。事宜型的报文如果在一定的事宜触发后,MCU 未吸收相应报文,则剖断为故障。当使能型报文的旗子暗记有效时,如果主 MCU 未吸收报文则剖断故障。
(2)节点收发器故障
当 CAN 收发器涌现引脚短路,总线钳位时,通过芯片 TJA1050 对 CAN 收发器进行实时监测。
(3)数据链路层非常
CAN 通信的数据链路层包含三种状态,主动缺点,被动缺点和总线关闭。当节点检测到主动缺点时,发送一个由 6 个连续显性位构成的主动缺点帧,这样就避免了其他节点吸收信息。当节点检测到被动缺点时,发送一个由 6 个连续的隐性位构成的被动缺点帧,此时如果其他节点没有探测到这类缺点,当前帧将被保留。当节点处于离线状态时,此时节点不能收发报文,且不影响总线上其他节点之间的通信。
CAN 总线的节点中包含两个缺点计数器,分别是发送缺点计数器TEC 和吸收缺点计数器 REC,节点上的三种状态之间的转换紧张依赖缺点计数器的数值。节点处于发送状态时,如果数据链路层涌现非常,发送缺点计数器 TEC进行计数,当计数处于 0~127 之间,剖断节点是主动缺点。同理,节点处于吸收状态时,吸收缺点计数器 REC 进行计数,当计数范围在 128~255 时,剖断节点是被动缺点。同时将节点状态对应的缺点标志位发送到总线上。当计数值超过 255 时,系统报缺点帧,此时数据链路层的非常会严重占用总线资源,大幅降落通信质量,此时须要将总线关闭,并对 CAN 进行初始化。CAN 节点的状态检测如下图所示。










