CAN总线BusOff原理

发布时间:2024-03-24  

汽车内部挂有很多的ECU节点,当其中一个节点发生故障进入总线关闭状态时,会很大程度上影响整车CAN网络的通讯。例如,当汽车发生碰撞时,传感器将电信号传送给安全气囊ECU,将信号进行处理,当确定需要打开安全气囊时,ECU会立即发出点火信号,气体发生器才会充满气囊,对驾驶员和乘客提供安全保护,如下图1所示。若此时安全气囊ECU处于总线关闭状态,则无法正常弹出气囊,会导致严重后果。 

图1 ECU工作示意图


因此,对于新能源汽车行业工程师,了解CAN总线Bus Off原理是非常有必要的。CAN控制器可以判断出错误的类型是总线上暂时的数据错误(如外部干扰等)还是持续的数据错误(如单元内部故障、驱动器故障、断线、短路等)。由此,当总线上发生持续数据错误时,CAN控制器内部的错误计数器累积到总线关闭的阈值,可将引起此故障单元从总线上隔离出去,不参与跟总线其他节点的网络通信。如图2所示:

图2 错误检测机制


哪些因素会导致CAN总线Bus Off?


引起错误的原因大多是由物理故障引起的,主要是CAN线路产生的。其中包括:CAN_H开路、CAN_L开路、CAN_H对CAN_L短路/开路、CAN_L对VBAT短路、CAN_H对GND短路、CAN_L对GND短路、终端电阻开路等。


除了物理层线路因素,还有可能因为CAN控制器或收发器等元器件故障导致。同时,也有可能是由于CAN总线信号干扰导致的CAN信号收发不正确,严重时会导致不能正常发送报文,从而更容易导致CAN总线关闭。


例如,新能源汽车通常是指纯电动汽车或者混合动力汽车,其特色是使用电池、电容来存储能力,然后通过逆变的方式变成交流,带动电动机驱动车辆。逆变产生的巨大电流形成强干扰,串扰到CAN总线上,导致控制器死机、损坏或者通讯中断,车辆运行不稳定。


CAN总线Bus Off恢复的解决方案


如果出现了Bus Off,总线上的节点需要做一些动作,例如重启CAN控制器或是重新上电,但是这些都只是一些补救措施,最根本的还是需要找到引起Bus Off的根源。


当发生CAN总线关闭时,我们可以检查Bus Off寄存器的值,对CAN控制器的驱动及相关寄存器进行初始化操作。初始化完成后,CAN总线关闭故障就会立即解除。为了避免该节点在CAN网络中频繁发生总线关闭问题,建议在初始化后,不要立即对外发送CAN报文。


从下图所示可以看出,当节点进入总线关闭状态后,如果MCU仅是开启自动恢复功能,CAN控制器在检测到128次11个连续的隐性位后即可恢复通信,在实际的CAN通信总线中,这一条件是很容易达到的。我们已经知道,当进入总线关闭状态时,节点已经发生了严重的错误,处于不可信状态,如果迅速恢复参与总线通信,具有较高的风险,因此实际应用中,往往会通过MCU对CAN控制器总线关闭状态的恢复过程进行编程处理,以控制节点从总线关闭状态恢复到错误主动状态的等待时间,如图4所示,具体包括“快恢复”和“慢恢复”策略,两种策略一般同时应用。

图3


上文也提到过,由于汽车内部存在强干扰,也会导致CAN总线关闭。针对这种现象,我们通过以下方式进行处理:


  • 由于汽车内部存在强电流产生的空间磁干扰,应该将CAN线缆双绞程度加大;


  • CAN接口设计采用CTM1051隔离收发器、隔离限幅,防止ECU死机;


  • CAN接口增加磁环、共模电感等效果好的感性防护器件;


  • 外接专用的信号保护器消除干扰,如ZF-12Y2;


  • 使用网桥中继设备CANBridge对部分强干扰源进行隔离。


综合上述,汽车CAN总线关闭故障发生时,应分析物理层包括CAN线路、CAN控制器及收发器、CAN信号干扰等外在因素,同时分析CAN寄存器及软件处理,重新初始化CAN驱动和恢复正常后,定时尝试往外发送报文。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    手册 地址 从模块原理图得知 A0,A1,A2 接地,所以模块的地址为:1001000X,那么其地址就是 0x90 或者是 0x91,看是读还是写来决定。 最后一位,当是 0 时,表示下一个字节往总线......
    机还集成了CAN总线控制器,这使得采用CAN总线开发C8051F060单片机具有抗干扰性强、开发费用低廉、可适用于工业现场应用等特点。 控制中心模块的工作原理如图2所示,C8051F060单片机作为控制中心模块......
    用低内阻大电流的四直流电机,其速度相应较好,可以为小车的行走及其他功能更好地提供动力。利用四直流电机模块驱动小车可以实现对小车转向、直行和倒车的控制。图2 所示为四直流电机驱动模块原理图。      图2 四直流电机驱动原理图......
    飞控板无线模块原理图 飞控板的驱动系统采用的是四个分布对称十字交叉的高速空心杯电机,电机的驱动开关部分采用N沟道增强型场效应晶体管进行控制,通过修改STM32对应引脚上的PWM信号来进行开关MOS......
    的数据从D0-D7的端口输出。具体的电路原理图如图1.9所示: 10.动态数码显示模块 该系统中采用8位的动态数码显示,控制数码显示的数据由两部分组成,一部分为笔段亮灭控制的信号输入由“A B C D E F......
    CAN总线故障分几种?如何检测;由于CAN网络采用多种协议,每个控制模块的端口在正常的情况下都有标准电压,因此电压测量法可用于判断线路是否有对地或电源短路、相线间短路等问题。为了确定CAN H 或......
    实现数据交互,当然也有一些车型不是通过CAN总线,但是原理是一样的。   OBD 接口采集什么数据   1. CAN总线数据   CAN总线数据是各个控制模块交互所需要的数据。举个例子,油门......
    器的LPC2294作为主控制器,设计给出了应用于电源模块控制系统中的CAN总线网状冗余节点方案。 二、目前几种总线冗余方法 典型的CAN电路可分为4个环节,即单片机、总线控制器、CAN总线驱动器、总线......
    明出现此类故障。 故障原因:如果不是CAN L 导线对外部电源短路引起的,那么这种故障就有可能是控制模块内部的CAN收发器损坏造成的。故障查找方法同上。 CAN H断路 当某个控制模块CAN H导线断路时,会导致该控制模块......
    ,不是UART交叉连接。 同时,CAN总线和485类似是差分信号,具有极性。通常CAN总线只有两根线CAN_L和CAN_H。 上面指出来的两点,任意一处接线错误都会导致通信失败。所以,建议参考官方给出的电路原理图......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>