专利名称:一种can总线网络丢帧处理方法
技术领域:
本发明涉及汽车制造领域,更具体的说,本发明是关于车内控制器(需要CAN 通讯的节点,如发动机)总线故障处理的一种CAN总线网络丢帧处理方法。
背景技术:
汽车车内控制器(需要CAN通讯的节点,如发动机)CAN总线为各个节点传输信号 的媒介,各个信号的发送、接收由各个节点来控制;在CAN总线上传输的信号都是相应 节点所需要的输入信号,信号以帧格式发送和接收。各个信号(即总线上传输的帧)在总线上发送都是有相应的方式来实现的,一 般为如下3种固定周期发送,即节点以固定周期发送某一帧信号;事件触发发送,即 此节点接收到了相应的事件后即触发发送此信号;事件周期发送,即此节点接收到了相 应的事件后即触发周期发送此信号一段时间。总线虽然在其帧格式发送、接收机制上做 了相应的规定,使总线上的帧发送、接收机制相当的完善(即CAN底层处理机制已经很 完善),但是各个帧信号的发送是通过各个节点的软件来实现的,不能保证软件的运行 百分百的正确性,故会存在帧信号丢失情况。对汽车发动机控制系统来说,当某些信号
(帧)丢失时,按什么方法处理这种异常情况对车辆的行驶安全性及保证车辆正常行驶 至为重要。本发明针对固定周期发送帧信号时的帧信号丢失情况,提供一种CAN总线网 络丢帧处理方法。
发明内容
本发明的目的是当帧信号丢失时,提供一种既能最大限度保证车辆正常行驶,又能 保证行车安全的一种CAN总线网络丢帧处理方法。本发明解决其技术问题所采用的技术方案是本发明包括长丢处理方法和短丢 处理方法,并由事先设定的时间阀值Tn的状态来确定按长丢处理方法处理还是按短丢处 理方法处理。当汽车发动机CAN总线的固定周期帧信号传输发生帧信号丢失时,根据不 同的情况按不同的处理方法进行处理;短丢对于瞬间的帧丢失,对于此发送节点来说 可能是因为有外部中断导致其相应的发送此帧的中断没有执行(外部中断优先级高于此 发送中断),而此种情况下各个节点并无故障,故对于接收此帧的节点来说也应该正常 执行其功能,但是对于此节点来说其相应的输入信号没有接收,可能导致其节点软件上 没有相应的输入导致其无法执行正常的功能,故需要一个短丢处理方法;长丢对于长 时间的帧丢失,不难想象,其发送节点内部程序出现了错误,对此需要一个长丢处理方 法;长丢处理方法就是针对帧信号长时间丢失的情况下进行的一种处理策略,而短丢处 理方法就是针对帧信号短时间丢失的情况下进行的一种处理策略;由事先设定的时间阀 值Tn的状态来确定按长丢处理方法处理还是按短丢处理方法处理;在发动机控制程序中 事先对CAN总线上的各节点设定一个时间阀值Τν(Ν=1,2,3···Ν对应各节点),在汽车发 动机CAN总线的固定周期帧信号传输时,汽车发动机控制器不断对各节点进行轮询,如 该节点的帧信号已接收,则该节点的阀值Tn重新进行倒计时;如果某节点的帧信号没有 接收到,即丢帧异常情况发生,则该节点的Tn继续进行倒计时;只要该节点的Tn值还未耗尽,则汽车发动机控制器对该节点的丢帧就按短丢处理方法进行处理;当该节点的Tn 值已经耗尽状态变0)仍没有接收到帧信号,则发动机控制器按长丢处理方法处 理该节点的丢帧异常;针对这两种不同情况采取不同的处理方法,可以使汽车发动机具 有一定的智能处理能力;在帧信号丢失不可避免的情况下,既保证了汽车的行车安全, 又最大限度地不影响车辆的正常行驶。进一步,短丢处理方法包括将节点最近接收到的帧数据用于本节点程序的输 入并继续正常执行本节点内部程序。在短丢情况发生时,发动机控制器还不能确定是由 于中断发生导致丢帧还是由于节点程序故障导致丢帧,并且由于周期传输帧信号的时间 间隔很短,帧信号突变的可能性很小,采用将该节点最近接收到的帧数据用于该节点程 序的输入并继续正常执行该节点程序的输出,可以最大限度地保证车辆正常行驶。进一步,长丢处理方法包括采用无效信号作为丢失帧信号的节点程序的输入 并关闭该节点程序的输出;记录相应的诊断故障代码。当某节点长丢情况发生,发动机 控制器确定该节点程序发生故障,并且此时该节点的帧信号可能已有较大变化,如仍然 将最近接收到的帧数据用于该节点程序的输入,则可能造成车辆安全事故;为此将该节 点按无效信号作为程序的输入并关闭该节点的程序输出,从而保证了行车安全;同时记 录该节点相应的诊断故障代码,便于故障查找和维修。本发明的有益效果是本发明根据丢帧的不同情况,作出不同的处理方法,使 汽车车内控制器(需要CAN通讯的节点,如发动机)CAN总线在发送、接收帧信号时具 有一定的容错和纠偏的能力,既保证了车辆的正常行驶又提高了行车安全。
图1是本发明CAN总线网络丢帧处理方法的一种流程图。
具体实施例方式下面通过具体实施例,并结合附图对本发明的技术方案作进一步具体的说明。实施例
本实施例的一种CAN总线网络丢帧处理方法,参见图1,一、发动机控制器轮询各 节点是否接收到所需的帧信号;
二、如果各节点都接收到了各自的帧信号,则对应各节点的阀值Tn重启并各帧信号 数据保存,返回一;如果有某节点未接收到帧信号,则执行三;
三、查看对应未接收到帧信号的节点的阀值Tn值是否耗完,如没有耗完则执行四, 若已耗完则执行五;
四、将最近接收到的该节点帧信号数据用于该节点的输入并继续正常执行该节点内 部程序,返回一;
五、需要的此帧信号的节点将采用无效信号作为此节点的输入并关闭该节点的程序 输出,执行六,本实施例中如ESP节点长时间接收不到方向盘转角传感器信号,则ESP 节点关闭ESP功能输出;
六、记录相应的诊断故障代码,并返回一。以上的实施例只是本发明的最佳方案之一,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
权利要求
1.一种CAN总线网络丢帧处理方法,其特征在于包括长丢处理方法和短丢处理方 法,并由事先设定的时间阀值Tn的状态来确定按所述长丢处理方法处理还是按所述短丢 处理方法处理。
2.根据权利要求1所述一种CAN总线网络丢帧处理方法,其特征在于所述短丢处 理方法包括将节点最近接收到的帧数据用于本节点程序的输入并继续正常执行本节点 内部程序。
3.根据权利要求1或2所述一种CAN总线网络丢帧处理方法,其特征在于所述长 丢处理方法包括采用无效信号作为丢失帧信号的节点程序的输入并关闭该节点程序的 输出;记录相应的诊断故障代码。
全文摘要
本发明涉及一种CAN总线网络丢帧处理方法,目的是针对固定周期发送帧信号时的帧信号丢失情况,提供一种CAN总线网络丢帧处理方法。本发明包括长丢处理方法和短丢处理方法,并由事先设定的时间阀值TN的状态来确定按长丢处理方法处理还是按短丢处理方法处理。本发明根据丢帧的不同情况,作出不同的处理方法,使汽车发动机CAN总线在发送、接收帧信号时具有一定的容错和纠偏的能力,既保证了车辆的正常行驶又提高了行车安全。
文档编号H04L12/40GK102013943SQ201010236369
公开日2011年4月13日 申请日期2010年7月26日 优先权日2010年7月26日
发明者朱祝阳, 李书福, 杨健, 熊想涛, 由毅, 蔡伟杰, 赵福全, 陈文强 申请人:浙江吉利控股集团有限公司, 浙江吉利汽车研究院有限公司