控制器故障接替系统及方法

文档序号:85095 发布日期:2021-10-08 浏览:60次 >En<

阅读说明:本技术 控制器故障接替系统及方法 (Controller fault take-over system and method ) 是由 田学明 张晓谦 李岩 孟祥泰 田娇 孙荫权 于 2021-07-22 设计创作,主要内容包括:本发明实施例公开了一种控制器故障接替系统及方法,包括第一通信总线、第二通信总线、车辆通信网络、主控制器和至少一个副控制器,副控制器通过第一通信总线接收主控制器书传输的控制器运行数据,并通过第二通信总线接收车辆通信网络传输的外部控制器数据,实现了主控制器与副控制器之间的数据共享,使得主控制器与副控制器之间时刻保持数据同步,进而在主控制器检测出发生预设切换故障时,由于主控制器与副控制器的数据同步,可以立即切换副控制器代替主控制器通过第二通信总线向车辆通信网络传输控制器运行数据,实现了主控制器宕机时副控制器的接替,保证了控制器的稳定性,避免在车辆的使用场景下因控制器宕机而导致的车辆功能异常。(The embodiment of the invention discloses a controller fault replacing system and a method, which comprises a first communication bus, a second communication bus, a vehicle communication network, a main controller and at least one auxiliary controller, wherein the auxiliary controller receives controller operation data transmitted by the main controller through the first communication bus and receives external controller data transmitted by the vehicle communication network through the second communication bus, so that data sharing between the main controller and the auxiliary controller is realized, data synchronization is kept between the main controller and the auxiliary controller at any time, and further when the main controller detects that a preset switching fault occurs, the auxiliary controller can be switched immediately to replace the main controller to transmit controller operation data to the vehicle communication network through the second communication bus, so that the auxiliary controller can be replaced when the main controller is down, the stability of the controller is guaranteed, and abnormal vehicle functions caused by the breakdown of the controller in a vehicle use scene are avoided.)

控制器故障接替系统及方法

技术领域

本发明实施例涉及车用控制器

技术领域

,尤其涉及一种控制器故障接替系统及方法。

背景技术

目前,人们对于车辆的安全性越来越看重,尤其是某些重要场景下,必须保证发动机、电机或电池等重要车辆部件可以正常运行。如果控制发动机、电机或电池等部件的控制器出现重大故障,会使得部件无法正常运行,进而给用户带来无法预估的损失。因此,车辆控制器的稳定性至关重要。

发明内容

本发明实施例提供了一种控制器故障接替系统及方法,以提高车辆控制器的稳定性。

第一方面,本发明实施例提供了一种控制器故障接替系统,包括第一通信总线、第二通信总线、车辆通信网络、主控制器和至少一个副控制器;其中,

所述主控制器,通过所述第一通信总线与所述副控制器通信连接,通过所述第二通信总线与所述车辆通信网络通信连接,用于向所述车辆通信网络发送控制器运行数据,并用于若检测出所述主控制器发生故障且所述故障为预设切换故障时,基于所述第一通信总线向所述副控制器发送切换触发信号;

所述副控制器,通过所述第二通信总线与所述车辆通信网络通信连接,用于在接收到所述切换触发信号时,基于接收到的所述主控制器通过所述第一通信总线发送的控制器运行数据,以及所述车辆通信网络通过所述第二通信总线传输的外部控制器数据,代替所述主控制器通过所述第二通信总线向所述车辆通信网络发送控制器运行数据。

可选的,所述主控制器和至少一个所述副控制器集成于双控制器中。

可选的,所述双控制器具体用于根据所述双控制器的拨码开关位置确定所述双控制器的工作类型为主控制器或副控制器。

可选的,所述副控制器还用于将所述第一通信总线上的通信协议栈切换为与所述副控制器对应的协议栈,以基于所述第一通信总线接收所述主控制器发送的控制器运行数据。

可选的,所述控制器故障接替系统还包括协议栈配置模块,所述协议栈配置模块用于为所述主控制器和所述副控制器对应的通信协议栈。

可选的,所述协议栈配置模块具体用于基于同一输入文件为所述主控制器和所述副控制器配置对应的通信协议栈。

可选的,所述副控制器还用于在接收到故障触发信号后,通过所述第一通信总线向所述主控制器发送控制器运行数据。

可选的,所述主控制器还用于在向所述副控制器发送切换触发信号时,如果所述第一通信总线上的通信协议栈切换为与所述副控制器对应的协议栈,则将所述第一通信总线上的通信协议栈切换为与所述主控制器对应的协议栈,以基于所述第一通信总线接收所述副控制器发送的控制器运行数据。

可选的,所述主控制器和所述副控制器为发动机控制器、电机控制器、电池控制器或整车控制器。

第二方面,本发明实施例还提供了一种控制器故障接替方法,包括:

主控制器基于第二通信总线向车辆通信网络发送控制器运行数据,若检测出所述主控制器发生故障且所述故障为预设切换故障时,基于第一通信总线向副控制器发送切换触发信号;

所述副控制器在接收到所述切换触发信号时,基于接收到的所述主控制器通过所述第一通信总线发送的控制器运行数据,以及所述车辆通信网络通过所述第二通信总线传输的外部控制器数据,代替所述主控制器通过所述第二通信总线向所述车辆通信网络发送控制器运行数据。

上述发明中的实施例具有如下优点或有益效果:

本发明实施例提供的控制器故障接替系统,包括第一通信总线、第二通信总线、车辆通信网络、主控制器和至少一个副控制器,副控制器通过第一通信总线接收主控制器书传输的控制器运行数据,并通过第二通信总线接收车辆通信网络传输的外部控制器数据,实现了主控制器与副控制器之间的数据共享,使得主控制器与副控制器之间时刻保持数据同步,进而在主控制器检测出发生预设切换故障时,由于主控制器与副控制器的数据同步,可以立即切换副控制器代替主控制器通过第二通信总线向车辆通信网络传输控制器运行数据,实现了主控制器宕机时副控制器的接替,保证了控制器的稳定性,避免在车辆的使用场景下因控制器宕机而导致的车辆功能异常,提高了车辆安全性和用户体验感。并且,由于主控制器产生以及接收的数据时刻被同步至副控制器,可以实现在主控制器故障时副控制器的快速接替,提高了副控制器的接替速度,减少了因控制器宕机而导致的车辆异常时间。

附图说明

为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。

图1为本发明实施例一所提供的一种控制器故障接替系统的结构示意图;

图2为本发明实施例三所提供的一种控制器故障接替方法的流程示意图;

图3为本发明实施例三所提供的另一种控制器故障接替方法的流程示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种控制器故障接替系统的结构示意图。如图1所示,本实施例提供的控制器故障接替系统包括第一通信总线11、第二通信总线12、车辆通信网络13、主控制器14和至少一个副控制器15;其中,主控制器14,通过第一通信总线11与副控制器15通信连接,通过第二通信总线12与车辆通信网络13通信连接,用于向车辆通信网络13发送控制器运行数据,并用于若检测出主控制器14发生故障且故障为预设切换故障时,基于第一通信总线11向副控制器15发送切换触发信号;副控制器15,通过第二通信总线12与车辆通信网络13通信连接,用于在接收到切换触发信号时,基于接收到的主控制器14通过第一通信总线11发送的控制器运行数据,以及车辆通信网络13通过第二通信总线12传输的外部控制器数据,代替主控制器14通过第二通信总线12向车辆通信网络13发送控制器运行数据。

其中,如图1所示,主控制器14与副控制器15通过第一通信总线11通信连接,主控制器14与车辆通信网络13通过第二通信总线12通信连接,副控制器15与车辆通信网络13通过第二通信总线12通信连接。

在本实施例中,主控制器14和至少一个副控制器15的控制器类型相同,进而在主控制器14发生故障时,副控制器15可以代替主控制器14工作,控制车辆的相应部件。当然,主控制器14和副控制器15可以为配置完全相同的控制器。

可选的,主控制器14和副控制器15为发动机控制器、电机控制器、电池控制器或整车控制器。当然,主控制器14和副控制器15还可以是其它类型的控制器,如,安全气囊控制器、座椅调节控制器、变速控制器等,本申请对此不作限定,但主控制器14和副控制器15需为相同类型的控制器,示例性的,主控制器14和副控制器15为完全相同的发动机控制器,主控制器14和至少一个副控制器15可以集成于双控制器中。

在一种实施方式中,主控制器14和副控制器15为完全相同的控制器,各控制器需先在启动工作前确定其工作类型为主控制器或副控制器。示例性的,各控制器中可以分别配置有拨码开关,各控制器基于拨码开关位置确定其工作类型为主控制器或副控制器;或者,各控制器的存储空间中写有用户配置的工作类型标识,各控制器基于工作类型标识确定其工作类型为主控制器或副控制器。示例性的,控制器故障接替系统包括控制器A和控制器B,控制器A和控制器B可以根据拨码开关位置或工作类型标识确定其为主控制器或副控制器。

在另一种实施方式中,主控制器14和至少一个副控制器15可以集成于双控制器中,双控制器具体用于根据双控制器的拨码开关位置确定双控制器的工作类型为主控制器或副控制器。即,双控制器包含主控制器14和至少一个副控制器15,双控制器中配置有一个拨码开关,根据该拨码开关的位置可以确定出双控制器中各控制器的工作类型为主控制器或副控制器。

需要说明的是,本实施例对副控制器15的数量不进行限定,副控制器15的数量可以是一个或多个。若副控制器15的数量为一个,则在主控制器14检测出发生预设切换故障时,向该副控制器15发送切换触发信号;若副控制器15的数量为多个,则主控制器14检测出发生预设切换故障时,向其中一个副控制器15发送切换触发信号。优选的,考虑到控制器的数量会影响车辆的重量,控制器故障接替系统包括第一通信总线、第二通信总线、车辆通信网络、主控制器和副控制器;即,系统中副控制器的数量可以为1个。

在本实施例中,第一通信总线11和第二通信总线12可以是CAN(ControllerAreaNetwork,控制器局域网络)总线。车辆通信网络13可以是CAN总线或以太网,可以获取外部的控制器的运行数据,或,向外部的控制器发送数据,如,主控制器14和副控制器15为发动机控制器,则车辆通信网络13可以与电机控制器、电池控制器、整车控制器、安全气囊控制器、座椅调节控制器、变速控制器等除发动机控制器之外的其余控制器进行数据交互。

在本实施例的主控制器14工作时,副控制器15只接收数据,不向外发送数据。具体的,在主控制器14工作时,可以通过第一通信总线11向副控制器15发送主控制器的运行数据,以使副控制器15与主控制器14的数据保持同步;主控制器14还可以通过第二通信总线12向车辆通信网络13发送主控制器的运行数据,并接收车辆通信网络13基于第二通信总线12发送到其它控制器数据,即,外部控制器数据,以实现主控制器14工作时与其余控制器的数据交互。同时,副控制器15可以基于第一通信总线11接收主控制器14发送的控制器运行数据,并基于第二通信总线12接收车辆通信总线发送的外部控制器数据,以保持与主控制器14的状态、数据同步。

换言之,在本实施例的主控制器14工作时,主控制器14具备接收数据以及发送数据的功能,副控制器15仅具备接收数据的功能。

可选的,副控制器15还用于将第一通信总线11上的通信协议栈切换为与副控制器15对应的协议栈,以基于第一通信总线11接收主控制器14发送的控制器运行数据。

其中,主控制器14和副控制器15具备其对应的协议栈,若第一通信总线11上的通信协议栈为副控制器15对应的协议栈,则主控制器14在第一通信总线11上发送的报文作为副控制器15在第一通信总线11上的接收报文,若第一通信总线11上的通信协议栈为主控制器14对应的协议栈,则副控制器15在第一通信总线11上发送的报文作为主控制器14在第一通信总线11上的接收报文。

由此可知,当副控制器15需要基于第一通信总线11接收主控制器14发送的控制器运行数据时,副控制器15可以控制将第一通信总线11上的通信协议栈切换为与副控制器15对应的协议栈,以接收主控制器14在第一通信总线11上发送的报文。

可选的,控制器故障接替系统还包括协议栈配置模块,协议栈配置模块用于为主控制器14和副控制器15配置对应的通信协议栈。即,协议栈配置模块可以为主控制器14以及副控制器15分别配置通信协议栈。

示例性的,协议栈配置模块配置通信协议栈的过程为:获取用户导入的输入文件,基于输入文件配置协议站工程并生成代码,将代码移植到开发工程中,编译为可执行文件,烧录到控制器中执行,得到通信协议栈。

考虑到主控制器14和副控制器15的通信协议栈的区别在于通道号、接收中断等,可以将通信协议栈的通道号修改为与第一通信总线11相对应,可以实现基于同一输入文件分别生成主控制器14和副控制器15的通信协议栈。即,在一种实施方式中,协议栈配置模块具体用于基于同一输入文件为主控制器14和副控制器15配置对应的通信协议栈。

在该可选的实施方式中,通过同一输入文件分别生成主控制器14和副控制器15对应的通信协议栈,实现了主控制器14和副控制器15的软件共用,减少了主控制器14和副控制器15的软件编写、维护的工作量,进而降低了本控制器故障接替系统的开发成本。

在本实施例中,主控制器14可以对自身进行故障检测,若检测出该主控制器发生故障,且故障为预设切换故障时,则可以基于第一通信总线11向副控制器15发送切换触发信号,以使副控制器15启动工作。其中,预设切换故障可以是预先设置的需要切换运行的控制器的故障,如,控制器无法运行,或控制器无法接收到数据,等。

副控制器15在接收到切换触发信号时,根据已经接收到的主控制器14通过第一通信总线11发送的控制器运行数据,以及已经接收到的车辆通信网络13通过第二通信总线12传输的外部控制器数据,代替主控制器工作。副控制器15在启动工作后,可以代替主控制器14通过第二通信总线12向车辆通信网络13发送控制器运行数据。当然,此时主控制器14处于非工作状态,副控制器15处于工作状态,副控制器15发送的控制器运行数据为副控制器的运行数据。

换言之,若主控制器14发生预设切换故障,此时的副控制器15具备发送数据以及接收数据的功能。示例性的,副控制器15可以在接收到切换触发信号时,开启在第二通信总线上发送数据的功能,以使副控制器15可以基于第二通信总线12向车辆通信网络13发送数据。

需要说明的是,若副控制器15的数量为多个,则各副控制器15还可以用于基于第一通信总线11向除该副控制器15之外的其它副控制器发送控制器运行数据,并进行故障检测,若检测出副控制器发生故障且故障为预设切换故障时,基于第一通信总线向出该副控制器之外的其它副控制器发送切换触发信号,以使其它副控制器在接收到切换触发信号后,基于接收到的控制器运行数据以及外部控制器数据,代替该副控制器通过第二通信总线向车辆通信网络13发送控制器运行数据,即,在代替主控制器的副控制器发生预设切换故障时,使用其余副控制器代替该副控制器工作。

本实施例提出的控制器故障接替系统,包括第一通信总线、第二通信总线、车辆通信网络、主控制器和至少一个副控制器,副控制器通过第一通信总线接收主控制器书传输的控制器运行数据,并通过第二通信总线接收车辆通信网络传输的外部控制器数据,实现了主控制器与副控制器之间的数据共享,使得主控制器与副控制器之间时刻保持数据同步,进而在主控制器检测出发生预设切换故障时,由于主控制器与副控制器的数据同步,可以立即切换副控制器代替主控制器通过第二通信总线向车辆通信网络传输控制器运行数据,实现了主控制器宕机时副控制器的接替,保证了控制器的稳定性,避免在车辆的使用场景下因控制器宕机而导致的车辆功能异常,提高了车辆安全性和用户体验感。并且,由于主控制器产生以及接收的数据时刻被同步至副控制器,可以实现在主控制器故障时副控制器的快速接替,提高了副控制器的接替速度,减少了因控制器宕机而导致的车辆异常时间。

实施例二

本实施例在上述各实施例的基础上,可选的,副控制器还用于在接收到故障触发信号后,通过第一通信总线向主控制器发送控制器运行数据。

在本实施例中,副控制器在代替主控制器工作后,副控制器不仅可以向车辆通信网络发送控制器运行数据,还可以向主控制器发送控制器运行数据。

向主控制器发送控制器运行数据的好处在于:可以实现副控制器的运行数据的备份,进而在该副控制器发生重大故障时,可以基于主控制器中备份的数据进行副控制器的诊断分析;或者,可以实现主控制器和副控制器的数据同步,在主控制器进行故障修复后,若副控制器发生故障,可以根据主控制器中同步的数据代替副控制器工作。

示例性的,主控制器可以基于副控制器通过第一通信总线发送的控制器运行数据,以及车辆通信网络通过第二通信总线传输的外部控制器数据,代替副控制器通过第二通信总线向车辆通信网络发送控制器运行数据。

可选的,主控制器还用于在向副控制器发送切换触发信号时,如果第一通信总线上的通信协议栈切换为与副控制器对应的协议栈,则将第一通信总线上的通信协议栈切换为与主控制器对应的协议栈,以基于第一通信总线接收副控制器发送的控制器运行数据。

其中,若主控制器在发生故障且故障为预设切换故障,在切换为副控制器代替主控制器工作的同时,主控制器可以通过切换第一通信总线上的通信协议栈,将通信协议栈切换为主控制器对应的协议栈,使得副控制器在第一通信总线上的发送报文为主控制器在第一通信总线上的接收报文,即,接收副控制器发送的控制器运行数据。

本实施例的技术方案,在副控制器代替主控制器工作时,副控制器还可以基于第一通信总线向主控制器发送控制器运行数据,实现了副控制器的运行数据的备份,进而在该副控制器发生重大故障时,可以基于主控制器中备份的数据进行副控制器的诊断分析;并且,实现了主控制器和副控制器的数据同步,在主控制器进行故障修复后,若副控制器也发生故障,可以根据主控制器中同步的数据代替副控制器工作,进一步的提高了控制器的稳定性,避免了因控制器宕机而导致的车辆功能异常。

实施例三

图2为本发明实施例三提供的一种控制器故障接替方法的流程示意图,本实施例可适用于在主控制器故障时采用副控制器接替主控制器工作的情况,该方法可由控制器故障接替系统执行,该系统可以由硬件和/或软件来实现,该方法具体包括如下步骤:

S210、主控制器基于第二通信总线向车辆通信网络发送控制器运行数据,若检测出所述主控制器发生故障且所述故障为预设切换故障时,基于第一通信总线向副控制器发送切换触发信号。

S220、所述副控制器在接收到所述切换触发信号时,基于接收到的所述主控制器通过所述第一通信总线发送的控制器运行数据,以及所述车辆通信网络通过所述第二通信总线传输的外部控制器数据,代替所述主控制器通过所述第二通信总线向所述车辆通信网络发送控制器运行数据。

可选的,所述主控制器和至少一个所述副控制器集成于双控制器中。

可选的,所述双控制器具体用于根据所述双控制器的拨码开关位置确定所述双控制器的工作类型为主控制器或副控制器。

可选的,所述基于接收到的所述主控制器通过所述第一通信总线发送的控制器运行数据,包括:

将所述第一通信总线上的通信协议栈切换为与所述副控制器对应的协议栈,以基于所述第一通信总线接收所述主控制器发送的控制器运行数据。

可选的,所述控制器故障接替方法还包括:

基于协议栈配置模块为所述主控制器和所述副控制器对应的通信协议栈。

可选的,所述基于协议栈配置模块为所述主控制器和所述副控制器对应的通信协议栈,包括:

通过协议栈配置模块,基于同一输入文件为所述主控制器和所述副控制器配置对应的通信协议栈。

可选的,所述控制器故障接替方法还包括:

在所述副控制器接收到故障触发信号后,所述副控制器通过所述第一通信总线向所述主控制器发送控制器运行数据。

可选的,所述控制器故障接替方法还包括:

所述主控制器在向所述副控制器发送切换触发信号时,如果所述第一通信总线上的通信协议栈切换为与所述副控制器对应的协议栈,则所述主控制器将所述第一通信总线上的通信协议栈切换为与所述主控制器对应的协议栈,以基于所述第一通信总线接收所述副控制器发送的控制器运行数据。

可选的,所述主控制器和所述副控制器为发动机控制器、电机控制器、电池控制器或整车控制器。

本实施例的技术方案,副控制器通过第一通信总线接收主控制器书传输的控制器运行数据,并通过第二通信总线接收车辆通信网络传输的外部控制器数据,实现了主控制器与副控制器之间的数据共享,使得主控制器与副控制器之间时刻保持数据同步,进而在主控制器检测出发生预设切换故障时,由于主控制器与副控制器的数据同步,可以立即切换副控制器代替主控制器通过第二通信总线向车辆通信网络传输控制器运行数据,实现了主控制器宕机时副控制器的接替,保证了控制器的稳定性,避免在车辆的使用场景下因控制器宕机而导致的车辆功能异常,提高了车辆安全性和用户体验感。并且,由于主控制器产生以及接收的数据时刻被同步至副控制器,可以实现在主控制器故障时副控制器的快速接替,提高了副控制器的接替速度,减少了因控制器宕机而导致的车辆异常时间。

需要说明的是,本实施例还提供另一种控制器故障接替方法,如图3所示。结合图3所示的控制器故障接替方法的流程示意图,该方法包括如下步骤:

步骤1、预先将车辆上安装的两个控制器(控制器A、控制器B)硬件拨码开关拨到不同位置;以区分两个控制器中的主控制器与副控制器。

步骤2、车辆上电,控制器程序初始化,并检测拨码开关位置。

步骤3、根据拨码开关位置判断控制器A是否为主控制器,若是,则执行步骤4,若否,则执行步骤7。

步骤4、若是,则控制器A按照默认设置运行主控制器程序,控制器A通过第二通信总线与车辆通信网络交互,通过第一通信总线将需要共享的信息传输至控制器B。

步骤5、控制器B将与第一通信总线上的通信协议栈切换到控制器B对应的通信协议栈,接收控制器A在第一通信总线上发送的报文,并接收第二通信总线上的报文,但不发送报文。

其中,步骤4和步骤5也可以是同时执行的,本申请对此不作限定。

步骤6、若控制器A检测自身是否发生预设的严重故障,则控制器B接替控制器A工作,控制器B在第二通信总线上发送和接收报文。

步骤7、控制器B按照默认设置运行主控制器程序,控制器B通过第二通信总线与车辆通信网络交互,通过第一通信总线将需要共享的信息传输至控制器A。

步骤8、控制器A将与第一通信总线上的通信协议栈切换到控制器A对应的通信协议栈,接收控制器B在第一通信总线上发送的报文,并接收第二通信总线上的报文,但不发送报文。

其中,步骤7和步骤8也可以是同时执行的,本申请对此不作限定。

步骤9、若控制器B检测自身是否发生预设的严重故障,则控制A接替控制器B工作,控制器A在第二通信总线上发送和接收报文。

在该实施方式中,通过确定两控制器的工作类型,确定出主控制器和副控制器,在主控制器工作时,主控制器向副控制器发送报文,并在与车辆通信网络交互的第二通信总线上发送和接收报文,当主控制器出现预设的严重故障时,切换至副控制器进行工作,且由于副控制器一直接收主控制器发送的报文以及车辆通信网络发送的报文,副控制器中的数据与主控制器中的数据保持同步,副控制器可以快速接管主控制器进行工作,在保证控制器的稳定性的同时,提高了副控制器的接替速度,减少了因控制器宕机而导致的车辆异常时间。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:PID控制器参数整定方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!