电动汽车用双通道冗余CAN总线的数据传输优化方法及系统与流程

文档序号:12376100阅读:775来源:国知局
电动汽车用双通道冗余CAN总线的数据传输优化方法及系统与流程

本发明涉及一种电动汽车用双通道冗余CAN总线的数据传输优化方法及系统。



背景技术:

在现有技术中,电动车内采用的冗余CAN总线传输方式一般采用两种方式,第一:传输同样的数据的传输方式;第二:一路故障后,另外一路才使用的传输方式。

上述两种方式均存在以下问题:

第一:使用两路CAN(冗余方式),传输同样的数据。数据传输2次,由于数据传输快,对收发节点的处理开销要求翻倍。而且重要、传输频率高且可靠性要求高的动力控制数据可能受到其他传输数据的干扰。

第二:使用两路CAN(冗余方式),一路故障后,另外一路才使用。当前使用的CAN总线,重要、传输频率高且可靠性要求高的动力控制数据可能受到其他传输数据的干扰。备用的CAN总线不传输数据,浪费通信资源。

因此,针对上述存在的问题,需要设计一种新的电动汽车用双通道冗余CAN总线的数据传输优化方法及系统。



技术实现要素:

本发明的目的是提供一种电动汽车数据传输优化方法及系统,以根据电动汽车CAN总线上传输的数据特点,将不同类别数据使用不同CAN网络传输和优化。

为了解决上述技术问题,本发明提供了一种电动汽车数据传输优化方法,包括:连接于整车控制单元、电机控制单元和电池管理单元的第一、第二CAN总线;其中在第一、第二CAN总线正常时,所述第一CAN总线仅传输动力控制相关数据;所述第二CAN总线仅传输辅助数据;以及当任一CAN总线故障时,则由另一CAN总线传输动力控制相关数据和辅助数据。

进一步,当一CAN总线传输动力控制相关数据和辅助数据时,适于提高动力控制相关数据和辅助数据的传输间隔,或单独提高辅助数据的传输间隔,以减小当前CAN总线的网络负荷;或各单元还适于对所述辅助数据中各数据进行优先级划分,即当降低传输间隔后,且所述CAN总线的网络负荷还超负荷时,从优先级较低的辅助数据依次关闭,以减小当前CAN总线的网络负荷。

进一步,所述电动汽车数据传输优化方法还包括:基于心跳机制的故障判断方法和检测故障恢复方法;且通过故障判断方法判断CAN总线故障,以及通过检测故障恢复方法检测CAN总线故障是否排除。

进一步,通过故障判断方法判断CAN总线故障的方法包括:心跳帧采用数据帧方式,定义心跳机制,即构建心跳帧的数据域,其第一数据位为整车控制单元的心跳状态位、第二数据位为电机控制单元的心跳状态位、第三数据位为电池管理单元的心跳状态位,并设定各心跳状态位中:0表示CAN总线故障,1表示CAN总线通讯验证,2表示CAN总线正常;以及通过心跳机制判断第一或第二CAN总线故障,并在故障排除后,通过检测故障恢复方法及时检测CAN总线故障是否排除,若排除则恢复两CAN总线正常通讯。

进一步,第一或第二CAN总线故障包括:节点断路故障,即通过心跳机制判断第一或第二CAN总线出现节点断路故障的方法包括:若整车控制单元、电机控制单元和电池管理单元中任一单元与第一或第二CAN总线的连接节点出现故障,其余两单元无法从相应CAN总线获取故障节点对应单元的心跳帧,则故障节点对应单元针对第一或第二CAN总线发送各数据位均为0的心跳帧,且其余两单元之间也针对第一或第二CAN总线发送各数据位均为0的心跳帧,以使各单元均能获得第一或第二CAN总线上的故障信息,同时判定第一或第二CAN总线故障。

进一步,第一或第二CAN总线故障还包括CAN总线短路故障,即

通过心跳机制判断第一或第二CAN总线出现短路故障的方法包括:

在短路后各单元均无法接收或发送相关心跳帧后,则判定第一或第二CAN总线出现短路故障。

进一步,通过检测故障恢复方法检测第一或第二CAN总线故障是否排除,即

当节点故障排除后,各单元之间先通过针对第一或第二CAN总线发送的各相应数据位为1的心跳帧,验证各单元与相应CAN总线的连接状态正常后;再发送相应数据位为2的心跳帧,由三个单元同时确定第一或第二CAN总线正常;以及

在确定第一或第二CAN总线正常后,则选择第一CAN总线恢复动力控制相关数据传输,第二CAN总线恢复辅助数据传输,并恢复数据的传输间隔。

又一方面,本发明还提供了一种电动汽车数据传输优化系统,包括:

连接于整车控制单元、电机控制单元和电池管理单元的第一、第二CAN总线;其中

在第一、第二CAN总线正常时,所述第一CAN总线仅传输动力控制相关数据;所述第二CAN总线仅传输辅助数据;以及

当任一CAN总线故障时,则由另一CAN总线传输动力控制相关数据和辅助数据。

进一步,所述整车控制单元、电机控制单元和电池管理单元均包括用于分别连接第一、第二CAN总线的第一、第二CAN收发器,以及

各单元中的控制模块适于在一CAN总线故障时,控制另一CAN总线对应的相应CAN收发器传输动力控制相关数据和辅助数据。

进一步,当一CAN总线传输动力控制相关数据和辅助数据时,各单元适于提高动力控制相关数据和辅助数据的传输间隔,或单独提高辅助数据的传输间隔,以减小当前CAN总线的网络负荷;或各单元还适于对所述辅助数据中各数据进行优先级划分,即当降低传输间隔后,且所述CAN总线的网络负荷还超负荷时,从优先级较低的辅助数据依次关闭,以减小当前CAN总线的网络负荷。

本发明的有益效果是,在电动车的信号传输过程中,动力控制相关数据传输频率快(典型地,如20ms发送一帧数据),电动汽车对动力控制数据的传输可靠性要求高,避免其他数据传输对动力数据传输造成影响,所以正常情况下,使用单独一路CAN总线传输动力控制数据,提高动力控制的可靠性);另一路CAN总线用于传输其他数据(如状态数据、查询数据、故障数据等),这些数据可靠性要求相对较低,且突发性较强,容易对动力控制数据传输产生短暂影响;并且本电动汽车数据传输优化方法相对于传统的两CAN总线冗余算法更大程度上提高了CAN传输的可靠性,并且提高了数据传输效率。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1双通道CAN总线数据传输方式的拓扑结构;

图2是心跳帧数据域的传输协议表;

图3双通道CAN总线中,VCU节点故障检测与恢复检测流程图;

图4双通道CAN总线中,MCU节点故障检测与恢复检测流程图;

图5双通道CAN总线中,BMS节点故障检测与恢复检测流程图;

图6双通道CAN总线数据传输的实现流程图。

具体实施方式

现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

实施例1

如图1所示,本发明的一种电动汽车数据传输优化方法,包括:连接于整车控制单元(VCU)、电机控制单元(MCU)和电池管理单元(BMS)的第一、第二CAN总线;其中在第一、第二CAN总线正常时,所述第一CAN总线仅传输动力控制相关数据;所述第二CAN总线仅传输辅助数据;以及当任一CAN总线故障时,则由另一CAN总线传输动力控制相关数据和辅助数据。

整车控制单元、电机控制单元和电池管理单元以下简称VCU(Vehicle Control Unit)、MCU(Motor Control Unit)和BMS(Battery Management System),或通称为各单元。

上述各单元中的控制模块分别通过相应CAN收发器接口连接两路CAN收发器(第一CAN收发器和第二CAN收发器)。为了简介起见,图中第一、第二CAN总线分别用CAN1、CAN2来表示;VCU、MCU和BMS分别对要发送的数据进行分类,并通过第一或第二CAN收发器经过相应CAN总线发送分类的数据。下面给出了主要传输数据类型的分类。

表1第一CAN总线和第二CAN总线上的传输数据分类表

从上述表1可以得知第一CAN总线传输的动力控制相关数据和第二CAN总线传输的辅助数据具体包括的数据内容。

当一CAN总线传输动力控制相关数据和辅助数据时,适于提高动力控制相关数据和辅助数据的传输间隔;或单独提高辅助数据的传输间隔,以减小当前CAN总线的网络负荷;或各单元还适于对所述辅助数据中各数据进行优先级划分,即当降低传输间隔后,且所述CAN总线的网络负荷还超负荷时,从优先级较低的辅助数据依次关闭,以减小当前CAN总线的网络负荷,即将CAN总线的网络负荷降低至标准范围。

其中,所述标准范围可以根据网络负荷自行设定参数,所述优先级划分适于针对表1中的上述辅助数据所包括的相应数据。

如图2所示,通过故障判断方法判断CAN总线故障的方法包括:心跳帧采用数据帧方式(CAN总线上每个数据帧携带最大8字节数据),定义心跳机制,即构建心跳帧的数据域,其第一数据位为整车控制单元的心跳状态位、第二数据位为电机控制单元的心跳状态位、第三数据位为电池管理单元的心跳状态位,并各心跳帧中的三个状态,即0表示CAN总线故障,1表示CAN总线通讯验证(具体表示该节点能收到所有心跳帧,但心跳帧中包含其他节点的故障请求信息,该状态下说明总线也是不可以使用的),2表示CAN总线正常;以及通过心跳机制判断第一或第二CAN总线故障,并在故障排除后,通过检测故障恢复方法及时检测CAN总线故障是否排除,若排除则恢复两CAN总线正常通讯。

所述电动汽车数据传输优化方法还包括:基于心跳机制的故障判断方法和检测故障恢复方法;且通过故障判断方法判断CAN总线故障,以及通过检测故障恢复方法检测CAN总线故障是否排除。

第一或第二CAN总线故障包括:节点断路故障,即通过心跳机制判断第一或第二CAN总线出现节点断路故障的方法包括:若整车控制单元、电机控制单元和电池管理单元中任一单元与第一或第二CAN总线的连接节点出现故障,其余两单元无法从相应CAN总线获取故障节点对应单元的心跳帧,则故障节点对应单元针对第一或第二CAN总线发送各数据位均为0的心跳帧,且其余两单元之间也针对第一或第二CAN总线发送各数据位均为0的心跳帧,以使各单元均能获得第一或第二CAN总线上的故障信息,同时判定第一或第二CAN总线故障。

第一或第二CAN总线故障还包括CAN总线短路故障,即通过心跳机制判断第一或第二CAN总线出现短路故障的方法包括:在短路后各单元均无法接收或发送相关心跳帧后,则判定第一或第二CAN总线出现短路故障。

通过检测故障恢复方法检测第一或第二CAN总线故障是否排除,即当节点故障排除后,各单元之间先通过针对第一或第二CAN总线发送的各相应数据位为1的心跳帧,验证各单元与相应CAN总线的连接状态正常后;再发送相应数据位为2的心跳帧,由三个单元同时确定第一或第二CAN总线正常;以及

在确定第一或第二CAN总线正常后,则选择第一CAN总线恢复动力控制相关数据传输,第二CAN总线恢复辅助数据传输,并恢复数据的传输间隔。

具体的,以VCU为例,VCU发送的心跳帧中,若Bvcu位为0,则意为通知BMS和MCU,CAN总线故障;若VCU发送的心跳帧中,若Bvcu位为1,则意为通知BMS和MCU,CAN总线存在故障,但不是VCU导致(可能是BMS或MCU导致,具体在图3中说明);若VCU发送的心跳帧中,若Bvcu位为2,则意为通知BMS和MCU,CAN总线正常。BMS和MCU收到VCU的广播心跳帧后,得知VCU的当前故障状态。

图3、图4和图5说明了利用心跳帧的具体实施方式,实现故障和故障恢复的检测方法,只要一个CAN节点故障(不是整个第一、第二CAN总线故障),也能进行相应数据传输。下面将举例说明(其他未举例情况同样适用于图3、图4和图5流程)。

假设:故障检测时间为T(典型地,如300ms),即VCU、BMS、MCU均每隔T时间进行一次故障及故障恢复检测。

以下例举第一CAN总线故障及恢复的具体实施过程。

开机后;经过100T,第一CAN总线中,VCU的第一CAN控制器接口松动,导致VCU与第一CAN总线连接断开;经过200T时间后,VCU的第一CAN控制器接口从松动中恢复正常,上述过程的说明步骤如下:

步骤Sa1,开机后99T时间范围内,第一CAN总线,整个电控系统(由整车控制单元(VCU)、电机控制单元(MCU)和电池管理单元(BMS)及第一、第二CAN总线构成)在正常运行,VCU发送心跳帧,能收到BMS和MCU的心跳帧,这些心跳帧中的数据为[2,2,2,0,0,0,0,0],根据图3、图4和图5流程,VCU的CAN1_okflg=2,说明VCU的第一CAN总线状态正常。BMS和MCU同理,CAN1_okflg=2。

步骤Sb1,第100T时,第一CAN总线,VCU在第一CAN总线上的通讯实际上应该是中断的。在之后的2T时刻,根据图3,VCU收不到BMS和MCU的心跳帧,则VCU发送心跳帧[0,0,0,0,0,0,0,0],VCU的CAN1_okflg=0,说明VCU的第一CAN总线状态故障。MCU在之后的2T时刻,根据图4,能收到BMS的心跳帧,但收不到VCU的心跳帧,所以MCU发送心跳帧[0,0,0,0,0,0,0,0],MCU的CAN1_okflg=0,说明MCU的第一CAN总线状态故障。BMS在之后的2T时刻,根据图5,能收到MCU的心跳帧,但收不到VCU的心跳帧,所以BMS发送心跳帧[0,0,0,0,0,0,0,0],BMS的CAN1_okflg=0,说明BMS的第一CAN总线状态故障。

从效果看来,VCU的第一CAN节点故障,BMS和MCU所在的第一CAN总线虽然没有故障,但还是可以通过本发明提出的心跳机制达到目的:VCU、BMS、MCU均能获取到第一CAN总线上有节点故障的信息,为数据切换到第二CAN总线的条件。

步骤Sc1,在第200T时,第一CAN总线,VCU在第一CAN总线的节点恢复。由于此时BMS和MCU还是每隔T发送心跳帧[0,0,0,0,0,0,0,0],VCU在2T时间范围内收到BMS和MCU的心跳帧,根据图3流程,VCU发送心跳帧[1,0,0,0,0,0,0,0],并设置VCU的CAN1_okflg=1。同理,根据图4流程,MCU发送心跳帧[0,1,0,0,0,0,0,0],并设置MCU的CAN1_okflg=1;根据图5流程,BMS发送心跳帧[0,0,1,0,0,0,0,0],并设置BMS的CAN1_okflg=1。

步骤Sd1,在步骤Sc1后的T周期,第一CAN总线,VCU收到来自MCU的心跳帧[0,1,0,0,0,0,0,0],收到BMS的心跳帧[0,0,1,0,0,0,0,0],根据图3流程,VCU发送心跳帧[2,1,1,0,0,0,0,0],并设置VCU的CAN1_okflg=2。同理,根据图4流程,MCU发送心跳帧[1,2,1,0,0,0,0,0],并设置MCU的CAN1_okflg=2;根据图5流程,BMS发送心跳帧[1,1,2,0,0,0,0,0],并设置BMS的CAN1_okflg=2。

步骤Se1,在步骤Sd1以后的T周期,第一CAN总线,VCU收到来自MCU的心跳帧[1,2,1,0,0,0,0,0],收到BMS的心跳帧[1,1,2,0,0,0,0,0],根据图5流程,VCU发送心跳帧[2,2,2,0,0,0,0,0],并设置VCU的CAN1_okflg=2。同理,根据图4流程,MCU发送心跳帧[2,2,2,0,0,0,0,0],并设置MCU的CAN1_okflg=2;根据图5流程,BMS发送心跳帧[2,2,2,0,0,0,0,0],并设置BMS的CAN1_okflg=2。

步骤Se1,转步骤Sa1继续执行,说明本发明所提出的故障检测方法,能够有效地检测故障状态,特别是单个节点故障状态,并在故障恢复时,检测到故障恢复的动作。每个CAN单路总线上的节点几乎可同时确定该路CAN总线上的故障状态CAN标志位CAN1_okflg,为总线上的数据切换提供良好的状态标识。

以下例举第二CAN总线故障及恢复的具体实施过程。

开机后;经过100T,第二CAN总线中,BMS的第二CAN发送故障数据故障,接收数据正常,导致BMS只能从第二CAN总线接收到数据,无法将自身数据发送出去;经过200T时间后,BMS的第二CAN控制器接口恢复正常收发数据功能,上述过程的说明步骤如下:

步骤Sa2,开机后99T时间范围内,第二CAN总线,整个电控系统在正常运行,BMS发送心跳帧,能收到VCU和MCU的心跳帧,这些心跳帧中的数据为[2,2,2,0,0,0,0,0],根据图3、图4和图5流程,BMS的CAN2_okflg=2,说明BMS的第二CAN总线状态正常。VCU和MCU同理,CAN2_okflg=2。

步骤Sb2,第100T时,第二CAN总线,BMS在第二CAN总线上只能收到数据,不能发送数据。在之后的2T时刻,根据图5流程,BMS收到VCU和MCU心跳帧,并根据图5流程,发送心跳帧[2,2,2,0,0,0,0,0](但由于故障没有发送出去)。BMS没有发送出来心跳帧,所以VCU没有收到BMS心跳帧,根据图5流程,VCU发送心跳帧[0,0,0,0,0,0,0,0],并设置自身CAN2_okflg=0;MCU没有收到BMS心跳帧,根据图4流程,MCU发送心跳帧[0,0,0,0,0,0,0,0],并设置自身CAN2_okflg=0.

步骤Sc2,在步骤Sb2后的T时刻,第二CAN总线,BMS在第二CAN上收到VCU和MCU的心跳帧[0,0,0,0,0,0,0,0],则根据图5流程,BMS发送心跳帧[0,0,1,0,0,0,0,0],并设定BMS自身第二CAN的故障状态CAN2_okflg=1(即,不可通讯)。VCU没有收到BMS心跳帧,根据图5流程,VCU发送心跳帧[0,0,0,0,0,0,0,0],并设置自身CAN2_okflg=0;MCU没有收到BMS心跳帧,根据图4流程,MCU发送心跳帧[0,0,0,0,0,0,0,0],并设置自身CAN2_okflg=0.

从效果看来,BMS在第二CAN节点的发送故障,接收数据正常,VCU和MCU所在的第二CAN总线虽然没有故障,但还是可以通过本发明提出的心跳机制达到目的:VCU(CAN2_okflg=0)、BMS(CAN2_okflg=1)、MCU(CAN2_okflg=0)均能获取到第二CAN总线上有节点故障的信息,为数据切换到第二CAN总线的条件。

步骤Sd2,在第200T时,第二CAN总线,BMS在第二CAN总线的节点恢复数据收发功能。由于此时VCU和MCU还是每隔T发送心跳帧[0,0,0,0,0,0,0,0],BMS在2T时间范围内收到VCU和MCU的心跳帧,根据图5流程,BMS发送心跳帧[0,0,1,0,0,0,0,0],并设置BMS的CAN2_okflg=1。同理,根据图4流程,MCU发送心跳帧[0,1,0,0,0,0,0,0],并设置MCU的CAN2_okflg=1;根据图5流程,VCU发送心跳帧[1,0,0,0,0,0,0,0],并设置VCU的CAN2_okflg=1。

步骤Sf2,在步骤Sd2后的T周期,第二CAN总线,VCU收到来自MCU的心跳帧[0,1,0,0,0,0,0,0],收到BMS的心跳帧[0,0,1,0,0,0,0,0],根据图5流程,VCU发送心跳帧[2,1,1,0,0,0,0,0],并设置VCU的CAN2_okflg=2。同理,根据图4流程,MCU发送心跳帧[1,2,1,0,0,0,0,0],并设置MCU的CAN2_okflg=2;根据图5流程,BMS发送心跳帧[1,1,2,0,0,0,0,0],并设置BMS的CAN2_okflg=2。

步骤Sg2,在步骤Sf2以后的T周期,第二CAN总线,VCU收到来自MCU的心跳帧[1,2,1,0,0,0,0,0],收到BMS的心跳帧[1,1,2,0,0,0,0,0],根据图5流程,VCU发送心跳帧[2,2,2,0,0,0,0,0],并设置VCU的CAN2_okflg=2。同理,根据图4流程,MCU发送心跳帧[2,2,2,0,0,0,0,0],并设置MCU的CAN2_okflg=2;根据图5流程,BMS发送心跳帧[2,2,2,0,0,0,0,0],并设置BMS的CAN2_okflg=2。

步骤Sg2转步骤Sa2继续执行,完成故障检测及故障恢复检测。

以下例举第一CAN短路及恢复的具体实施过程。

开机后;经过100T,第一CAN总线短路,所有节点均无法收发数据;经过200T时间后,第一CAN总线恢复正常收发数据功能。

步骤Sa3,开机后99T时间范围内,第一CAN、第二CAN总线,都处于正常运行状态,所有节点的CAN1_okflg=2且CAN2_okflg=2。

步骤Sb3,第100T时,第一CAN总线故障,之后的时间,VCU、MCU、BMS都失去数据收发功能,根据图5、图4、图5的流程,所有节点的CAN1_okflg=0且CAN2_okflg=2。

步骤Sc3,在第200T时,第一CAN总线,故障恢复,VCU能够收到BMS和MCU的心跳帧[0,0,0,0,0,0,0,0],发送心跳帧[1,0,0,0,0,0,0,0],同时设定VCU的第一CAN总线状态CAN1_okflg=1。同理,MCU能够收到BMS和VCU的心跳帧[0,0,0,0,0,0,0,0],发送心跳帧[0,1,0,0,0,0,0,0],同时设定MCU的第一CAN总线状态CAN1_okflg=1;BMS能够收到VCU和MCU的心跳帧[0,0,0,0,0,0,0,0],发送心跳帧[0,0,1,0,0,0,0,0],同时设定BMS的第一CAN总线状态CAN1_okflg=1。

步骤Sd3,在步骤Sc3后的T周期,第一CAN总线,VCU收到来自MCU的心跳帧[0,1,0,0,0,0,0,0],收到BMS的心跳帧[0,0,1,0,0,0,0,0],根据图5流程,VCU发送心跳帧[2,1,1,0,0,0,0,0],并设置VCU的CAN1_okflg=2。同理,根据图4流程,MCU发送心跳帧[1,2,1,0,0,0,0,0],并设置MCU的CAN1_okflg=2;根据图5流程,BMS发送心跳帧[1,1,2,0,0,0,0,0],并设置BMS的CAN1_okflg=2。

步骤Se3,在步骤Sd3以后的T周期,第一CAN总线,VCU收到来自MCU的心跳帧[1,2,1,0,0,0,0,0],收到BMS的心跳帧[1,1,2,0,0,0,0,0],根据图5流程,VCU发送心跳帧[2,2,2,0,0,0,0,0],并设置VCU的CAN1_okflg=2。同理,根据图4流程,MCU发送心跳帧[2,2,2,0,0,0,0,0],并设置MCU的CAN1_okflg=2;根据图5流程,BMS发送心跳帧[2,2,2,0,0,0,0,0],并设置BMS的CAN1_okflg=2。

步骤(e)转步骤(a)继续执行,完成故障检测及故障恢复检测。

以下例举CAN总线切换后进行数据传输的具体实施方式。

如图6所示,首先,根据上面的心跳机制,某单元判断第一CAN总线的心跳状态,如VCU,如果心跳状态正常(VCU在2T时间范围内能收到全部其他单元发来的心跳帧,且心跳帧中没有故障信息),则VCU的CAN1_okflg=2;如心跳异常(VCU在2T时间范围内没有收到全部其他单元发来的心跳帧,或心跳帧中有故障信息),则VCU的CAN1_okflg=0或1。

其次,某单元判断第二CAN总线的心跳状态,如VCU,如果心跳状态正常(VCU在2T时间范围内能收到全部其他单元发来的心跳帧,且心跳帧中没有故障信息),则VCU的CAN2_okflg=2;如心跳异常(VCU在2T时间范围内没有收到全部其他单元发来的心跳帧,或心跳帧中有故障信息),则VCU的CAN2_okflg=0或1。

最后,根据某单元的CAN1_okflg、CAN2_okflg状态进行数据传输方式的分配,如VCU:

当CAN1_okflg=2、CAN2_okflg=2,第一CAN总线用于传输动力控制数据,第二CAN总线用于传输其他数据(如状态数据、报警数据等);

当CAN1_okflg=2、CAN2_okflg=0或1,VCU使用第一CAN总线用于传输动力控制数据和其他数据;

当CAN1_okflg=0或1、CAN2_okflg=2,第二CAN总线用于传输动力控制数据和其他数据;以及

当CAN1_okflg=0或1、CAN2_okflg=0或1,第一、第二CAN总线均故障,无法行数据传输。

其中,在第一或第二CAN总线进行传输的情况下,数据传输可根据设计为以下三种方式:

增加所有传输数据的传输间隔(典型地,例如:由原来的20ms/次,增加到100ms/次),以减小网络负荷,提高可靠性。

增加非动力控制相关数据的传输间隔(典型地,例如:由原来50ms/次传输间隔增加为100ms/次),以减小CAN总线网络负荷,提高可靠性。

根据优先权设置,从优先级较低的辅助数据依次关闭,以减小网络负荷,提高可靠性。

以及从图6可以得到CAN总线故障恢复效果:

第一CAN总线故障,第二CAN总线正常情况下,第一CAN总线从故障中恢复,根据图6流程,自动恢复第一CAN总线用于传输动力控制数据,第二CAN总线用于传输其他数据。两路CAN总线恢复到都正常时的数据传输分配和传输数据间隔。

第二CAN总线故障,第一CAN总线正常情况下,第二CAN总线从故障中恢复,根据图6流程,自动恢复第一CAN总线用于传输动力控制数据,第二CAN总线用于传输其他数据。两路CAN总线恢复到都正常时的数据传输分配和传输数据间隔。

当第一CAN总线和第二CAN总线都故障情况下,由于失去了数据传输的载体,停止传输数据。

在故障排除,且第一、第二CAN总线恢复信号传输时,

若第一CAN总线故障单独恢复后,可以自动实现通过第一CAN传输动力控制数据和其他数据;

若第二CAN总线故障单独恢复后,可以自动实现通过第二CAN传输动力控制数据和其他数据。

若第一CAN总线和第二CAN总线故障都恢复后,可以自动恢复第一CAN总线用于传输动力控制数据,第二CAN总线用于传输其他数据,且两路CAN总线均恢复到都正常时的数据传输分配和传输数据间隔。

因此,本电动汽车数据传输优化方法根据电动汽车CAN总线上传输的数据特点,采用不同类别数据使用不同CAN网络传输和优化、以及与心跳机制、冗余设计相结合,以达到提高CAN总线传输的可靠性及传输效率的目的。

实施例2

如图1所示,在实施例1基础上,本发明还提供了一种电动汽车数据传输优化系统,包括:

连接于整车控制单元、电机控制单元和电池管理单元的第一、第二CAN总线;其中在第一、第二CAN总线正常时,所述第一CAN总线仅传输动力控制相关数据;所述第二CAN总线仅传输辅助数据;以及当任一CAN总线故障时,则由另一CAN总线传输动力控制相关数据和辅助数据。

所述整车控制单元、电机控制单元和电池管理单元均包括用于分别连接第一、第二CAN总线的第一、第二CAN收发器,以及各单元中的控制模块适于在一CAN总线故障时,控制另一CAN总线对应的相应CAN收发器传输动力控制相关数据和辅助数据。

当一CAN总线传输动力控制相关数据和辅助数据时,适于提高动力控制相关数据和辅助数据的传输间隔;或单独提高辅助数据的传输间隔,以减小当前CAN总线的网络负荷;或对所述辅助数据中各数据进行优先级划分,即当降低传输间隔后,且所述CAN总线的网络负荷还超负荷时,从优先级较低的辅助数据依次关闭,直至CAN总线的网络负荷降低至标准范围。

具体关于第一、第二总线的数据传输优化过程详见实施例1。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1