双冗余can总线的实现方法和控制器的制造方法

文档序号:7824174阅读:277来源:国知局
双冗余can总线的实现方法和控制器的制造方法
【专利摘要】本发明提供一种双冗余CAN总线的实现方法和控制器。该方法包括:通过控制器按照预设编码规则对第一报文信息进行编码,并将编码后的所述第一报文信息发送给第一CAN总线和第二CAN总线;所述控制器从所述第一CAN总线接收第二报文信息,同时从所述第二CAN总线接收所述第二报文信息,按照预设判断规则判断所述第二报文信息是否正确;所述控制器根据预设选择规则,确定所应用的所述第二报文信息;从而实现了对双冗余CAN总线的应用,第一CAN总线和第二CAN总线互为冗余,增强了CAN总线抗失效的能力。
【专利说明】双冗余CAN总线的实现方法和控制器

【技术领域】
[0001]本发明涉及汽车通信技术,尤其涉及一种双冗余控制器局域网络(Control AreaNetwork,CAN)总线的实现方法和控制器。

【背景技术】
[0002]目前,CAN总线技术已经广泛应用于各种检测和控制系统中,它是一种有效支持分布式控制系统的串行通信网络,CAN总线将汽车电子设备和汽车底盘的电子控制单元(Electronic Control Unit, ECU)有效的连接了起来,通常CAN总线连接不止一个ECU。
[0003]现有技术中,CAN总线系统架构中的两个E⑶之间只存在一条CAN路径,当该条CAN路径出现故障时,会造成E⑶之间无法通信。因此,亟需提出一种双冗余CAN总线的实现方法,以增强CAN总线抗失效的能力。


【发明内容】

[0004]本发明提供一种双冗余CAN总线的实现方法和控制器,以增强CAN总线抗失效的能力。
[0005]本发明提供一种双冗余控制器局域网络CAN总线的实现方法,包括:
[0006]控制器按照预设编码规则对第一报文信息进行编码,并将编码后的所述第一报文信息发送给第一 CAN总线和第二 CAN总线;其中,所述第一报文信息包含多帧CAN消息,所述预设编码规则包括:使用所述CAN消息中的预设字节作为所述CAN消息的编码字节,所述CAN消息的编码由初始值逐帧增加至预设最大值;
[0007]所述控制器从所述第一 CAN总线接收第二报文信息,同时从所述第二 CAN总线接收所述第二报文信息,按照预设判断规则判断所述第二报文信息是否正确;其中,所述预设判断规则包括:根据预设数据范围判断所述第二报文信息中的报文数据是否可信;
[0008]所述控制器根据预设选择规则,确定所应用的所述第二报文信息;其中,所述预设选择规则包括:若从所述第一 CAN总线接收的所述第二报文信息正确,则应用从所述第一CAN总线接收的所述第二报文信息中的报文数据;若从所述第一 CAN总线接收的所述第二报文信息错误,从所述第二 CAN总线接收的所述第二报文信息正确,则应用从所述第二 CAN总线接收的所述第二报文信息中的报文数据。
[0009]如上所述的方法,其中,所述预设判断规则还包括:
[0010]根据所述编码字节和所述报文周期,判断所述第二报文信息是否丢帧;根据所述CAN消息传输及校验规则,判断所述第二报文信息的传输是否正确。
[0011]如上所述的方法,其中,所述预设选择规则还包括:
[0012]从所述第一 CAN总线接收的所述第二报文信息错误时,监测从所述第一 CAN总线接收的所述第二报文信息,若监测到从所述第一 CAN总线接收的所述第二报文信息正确的次数达到预设次数,则切换为应用从所述第一 CAN总线接收到的所述第二报文信息中的报文数据。
[0013]如上所述的方法,其中,所述预设选择规则还包括:
[0014]从所述第一 CAN总线接收的所述第二报文信息错误,且监测到从所述第一 CAN总线接收的所述第二报文信息正确的次数未达到所述预设次数时,若从所述第二 CAN总线接收的所述第二报文信息错误,则切换为应用从所述第一 CAN总线接收到的所述第二报文信息中的报文数据。
[0015]如上所述的方法,其中,所述预设选择规则还包括:
[0016]若从所述第一 CAN总线接收的所述第二报文信息错误,且从所述第二 CAN总线接收的所述第二报文信息错误,则应用默认的报文数据,并同时监测所述第一 CAN总线和所述第二 CAN总线,直至监测到从所述第一 CAN总线接收到的所述第二报文信息正确的次数达到所述预设次数,和/或,监测到从所述第二 CAN总线接收到的所述第二报文信息正确的次数达到所述预设次数。
[0017]如上所述的方法,其中,所述第一 CAN总线为主CAN总线,所述第二 CAN总线为冗余CAN总线。
[0018]本发明提供一种控制器,应用如上述任一所述的双冗余控制器局域网络CAN总线的实现方法。
[0019]本实施例提供的双冗余CAN总线的实现方法和控制器,通过控制器按照预设编码规则对第一报文信息进行编码,并将编码后的所述第一报文信息发送给第一 CAN总线和第二 CAN总线;所述控制器从所述第一 CAN总线接收第二报文信息,同时从所述第二 CAN总线接收所述第二报文信息,按照预设判断规则判断所述第二报文信息是否正确;所述控制器根据预设选择规则,确定所应用的所述第二报文信息;从而实现了对双冗余CAN总线的应用,第一 CAN总线和第二 CAN总线互为冗余,增强了 CAN总线抗失效的能力。

【专利附图】

【附图说明】
[0020]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为本发明应用双冗余CAN总线的物理结构图;
[0022]图2为本发明双冗余CAN总线的实现方法实施例的流程图;
[0023]图3为本发明中对第一报文信息进行编码的示意图。

【具体实施方式】
[0024]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025]图1为本发明应用双冗余CAN总线的物理结构图,如图1所示,多个电子控制单元(Electronic Control Unit,EQJ)连接在两条独立的CAN总线之间,在物理上,以CAN-A为主CAN总线,即本发明实施例中的第一 CAN总线,以CAN-B为冗余总线,即本发明实施例中的第二 CAN总线。需要说明的是,CAN-A和CAN-B遵循相同的协议,每个ECU向CAN-A和CAN-B发送相同的报文信息。
[0026]图2为本发明双冗余CAN总线的实现方法实施例的流程图。如图2所示,本实施例提供的双冗余CAN总线的实现方法具体可以由控制器,例如是ECU实现,本实施例提供的方法可以包括:
[0027]步骤101、控制器按照预设编码规则对第一报文信息进行编码,并将编码后的所述第一报文信息发送给第一 CAN总线和第二 CAN总线;其中,所述第一报文信息包含多帧CAN消息,所述预设编码规则包括:使用所述CAN消息中的预设字节作为所述CAN消息的编码字节,所述CAN消息的编码由初始值逐帧增加至预设最大值。
[0028]需要说明的是,本实施例中,所述第一 CAN总线为主CAN总线,所述第二 CAN总线为几余CAN总线。
[0029]例如,可以设置一个字节作为编码字节,第一报文信息中的第一帧CAN消息的编码可以为0,下一帧CAN消息的编码可以为1,直至达到预设最大值255,然后再次从O开始,参照图3,Ml-O可以表示第一报文信息中的第一帧CAN消息,M2-0可以表示第二报文信息中的第一帧CAN消息,M3-0可以表示第三报文信息中的第一帧CAN消息。
[0030]步骤102、所述控制器从所述第一 CAN总线接收第二报文信息,同时从所述第二CAN总线接收所述第二报文信息,按照预设判断规则判断所述第二报文信息是否正确;其中,所述预设判断规则包括:根据预设数据范围判断所述第二报文信息中的报文数据是否可信。
[0031]进一步地,所述预设判断规则还可以包括:根据所述编码字节和所述报文周期,判断所述第二报文信息是否丢帧;根据所述CAN消息传输及校验规则,判断所述第二报文信息的传输是否正确。
[0032]步骤103、所述控制器根据预设选择规则,确定所应用的所述第二报文信息;其中,所述预设选择规则包括:若从所述第一 CAN总线接收的所述第二报文信息正确,则应用从所述第一 CAN总线接收的所述第二报文信息中的报文数据;若从所述第一 CAN总线接收的所述第二报文信息错误,从所述第二 CAN总线接收的所述第二报文信息正确,则应用从所述第二 CAN总线接收的所述第二报文信息中的报文数据。
[0033]本步骤中,根据步骤102的判断结果,若从主CAN总线上接收到的第二报文信息正确,则应用主CAN总线上接收到的第二报文信息中的报文数据。
[0034]具体的,所述预设选择规则还可以包括:从所述第一 CAN总线接收的所述第二报文信息错误时,监测从所述第一 CAN总线接收的所述第二报文信息,若监测到从所述第一CAN总线接收的所述第二报文信息正确的次数达到预设次数,则切换为应用从所述第一CAN总线接收到的所述第二报文信息中的报文数据。
[0035]S卩,若根据步骤102的判断结果,从主CAN总线上接收到的第二报文信息错误,则应用从冗余CAN总线接收到的第二报文信息中的报文数据,并监测主CAN总线上的第二报文信息,若主CAN总线上的第二报文信息正确的次数达到预设次数,例如3次,则切换到应用从主CAN总线上接收到的第二报文信息中的报文数据。
[0036]所述预设选择规则还可以包括:从所述第一 CAN总线接收的所述第二报文信息错误,且监测到从所述第一 CAN总线接收的所述第二报文信息正确的次数未达到所述预设次数时,若从所述第二 CAN总线接收的所述第二报文信息错误,则切换为应用从所述第一 CAN总线接收到的所述第二报文信息中的报文数据。
[0037]也就是说,此时由于主CAN总线上的第二报文信息正确的次数未达到预设次数,例如3次,应用的是从冗余CAN总线接收到的第二报文信息中的报文数据,若此时冗余CAN总线上的第二报文数据出现错误,而主CAN总线上的第二报文信息正确,则仍然立即切换为应用从主CAN总线上接收到的第二报文信息中的报文数据。
[0038]所述预设选择规则还可以包括:若从所述第一 CAN总线接收的所述第二报文信息错误,且从所述第二 CAN总线接收的所述第二报文信息错误,则应用默认的报文数据,并同时监测所述第一 CAN总线和所述第二 CAN总线,直至监测到从所述第一 CAN总线接收到的所述第二报文信息正确的次数达到所述预设次数,和/或,监测到从所述第二 CAN总线接收到的所述第二报文信息正确的次数达到所述预设次数。
[0039]也就是说,此时主CAN总线和冗余CAN总线上的第二报文信息均出现错误,则可以应用上一帧正确的报文数据,可以理解的是,若主CAN总线上的上一帧报文数据正确则优先使用主CAN总线的上一帧报文数据,否则应用冗余CAN总线的上一帧报文数据,若主CAN总线和冗余CAN总线的上一帧报文数据均不正确,则应用默认的报文数据,并同时监测主CAN总线和冗余CAN总线,直至监测到主CAN总线和/或冗余CAN总线上的第二报文信息正确的次数达到预设次数,则认为相应的CAN总线恢复正常,此时应用正确的报文数据,若两条CAN总线同时恢复正常,仍然优先应用主CAN总线上的第二报文信息的报文数据。
[0040]本实施例的技术方案,通过控制器按照预设编码规则对第一报文信息进行编码,并将编码后的所述第一报文信息发送给第一 CAN总线和第二 CAN总线;所述控制器从所述第一 CAN总线接收第二报文信息,同时从所述第二 CAN总线接收所述第二报文信息,按照预设判断规则判断所述第二报文信息是否正确;所述控制器根据预设选择规则,确定所应用的所述第二报文信息;从而实现了对双冗余CAN总线的应用,第一 CAN总线和第二 CAN总线互为冗余,增强了 CAN总线抗失效的能力。
[0041]本实施例提供一种控制器,应用如上述实施例所述的双冗余CAN总线的实现方法。
[0042]本实施例的控制器,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0043]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种双冗余控制器局域网络CAN总线的实现方法,其特征在于,包括: 控制器按照预设编码规则对第一报文信息进行编码,并将编码后的所述第一报文信息发送给第一 CAN总线和第二 CAN总线;其中,所述第一报文信息包含多帧CAN消息,所述预设编码规则包括:使用所述CAN消息中的预设字节作为所述CAN消息的编码字节,所述CAN消息的编码由初始值逐帧增加至预设最大值; 所述控制器从所述第一 CAN总线接收第二报文信息,同时从所述第二 CAN总线接收所述第二报文信息,按照预设判断规则判断所述第二报文信息是否正确;其中,所述预设判断规则包括:根据预设数据范围判断所述第二报文信息中的报文数据是否可信; 所述控制器根据预设选择规则,确定所应用的所述第二报文信息;其中,所述预设选择规则包括:若从所述第一 CAN总线接收的所述第二报文信息正确,则应用从所述第一 CAN总线接收的所述第二报文信息中的报文数据;若从所述第一 CAN总线接收的所述第二报文信息错误,从所述第二 CAN总线接收的所述第二报文信息正确,则应用从所述第二 CAN总线接收的所述第二报文信息中的报文数据。
2.根据权利要求1所述的方法,其特征在于,所述预设判断规则还包括: 根据所述编码字节和所述报文周期,判断所述第二报文信息是否丢帧;根据所述CAN消息传输及校验规则,判断所述第二报文信息的传输是否正确。
3.根据权利要求1所述的方法,其特征在于,所述预设选择规则还包括: 从所述第一 CAN总线接收的所述第二报文信息错误时,监测从所述第一 CAN总线接收的所述第二报文信息,若监测到从所述第一 CAN总线接收的所述第二报文信息正确的次数达到预设次数,则切换为应用从所述第一 CAN总线接收到的所述第二报文信息中的报文数据。
4.根据权利要求3所述的方法,其特征在于,所述预设选择规则还包括: 从所述第一 CAN总线接收的所述第二报文信息错误,且监测到从所述第一 CAN总线接收的所述第二报文信息正确的次数未达到所述预设次数时,若从所述第二 CAN总线接收的所述第二报文信息错误,则切换为应用从所述第一 CAN总线接收到的所述第二报文信息中的报文数据。
5.根据权利要求4所述的方法,其特征在于,所述预设选择规则还包括: 若从所述第一 CAN总线接收的所述第二报文信息错误,且从所述第二 CAN总线接收的所述第二报文信息错误,则应用默认的报文数据,并同时监测所述第一 CAN总线和所述第二CAN总线,直至监测到从所述第一 CAN总线接收到的所述第二报文信息正确的次数达到所述预设次数,和/或,监测到从所述第二 CAN总线接收到的所述第二报文信息正确的次数达到所述预设次数。
6.根据权利要求1-5任一所述的方法,其特征在于,所述第一CAN总线为主CAN总线,所述第二 CAN总线为冗余CAN总线。
7.一种控制器,其特征在于,应用如上述权利要求1-6任一所述的双冗余控制器局域网络CAN总线的实现方法。
【文档编号】H04L29/14GK104503350SQ201410836077
【公开日】2015年4月8日 申请日期:2014年12月26日 优先权日:2014年12月26日
【发明者】孙晶晶 申请人:北京汽车股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1