用于车载冗余系统的切换方法、系统、车辆和存储介质与流程

文档序号:30603613发布日期:2022-07-01 22:06阅读:125来源:国知局
用于车载冗余系统的切换方法、系统、车辆和存储介质与流程

1.本发明涉及车载系统设计领域,具体地涉及一种用于车载冗余系统的切换方法、车载冗余系统、车辆和存储介质。


背景技术:

2.目前,冗余设计方案已广泛应用于工业、汽车、航空、铁路等领域来提升目标的可靠性。
3.针对芯片层面而言,常见的冗余设计包括双核锁步(lock-step)技术,即由2个中央处理器(cpu)执行同一指令,再通过专门的硬件对其执行结果进行比较来发现错误;就系统层面而言,现有技术中涉及的冗余系统也均需要专门的硬件来比较几个系统的执行结果是否一致。由于上述冗余设计方案对时序、执行时间的同步均有非常严格的要求,并且需要额外的硬件设备来进行协调,因此所需成本高,且不具有自主协调能力。


技术实现要素:

4.为了解决或至少缓解以上问题中的一个或多个,提供了以下技术方案。
5.按照本发明的一个方面,提供了一种用于车载冗余系统的切换方法,所述车载冗余系统包括通信地耦合的第一系统和第二系统,其特征在于,所述方法包括下列步骤:a、响应于接收到输入指令,由所述第一系统和所述第二系统并行地执行所述输入指令,其中,所述第一系统为预设主系统并且所述第二系统为预设从系统;b、在指令执行过程中,由所述第一系统和所述第二系统执行健康监测操作;以及c、基于健康监测结果,由所述第一系统和所述第二系统自主执行主从设备切换。
6.作为以上方案的替代或补充,根据本发明一实施例的方法还包括:d、当主系统处于工作状态时,仅将所述主系统的执行结果作为输出指令传送至下游系统,而不传送从系统的执行结果。
7.作为以上方案的替代或补充,在根据本发明一实施例的方法中,步骤a包括:a1、由所述第一系统和所述第二系统分别从上游系统接收相同的输入指令并将所述输入指令存储在指令队列中;以及a2、由所述第一系统和所述第二系统分别执行所述输入指令,并记录所述输入指令的执行状态。
8.作为以上方案的替代或补充,在根据本发明一实施例的方法中,所述健康监测操作包括自主健康监测,并且步骤b包括下列各项中的一项或两项:b1、由内置于所述第一系统的第一健康管理模块对其自身运行状态进行实时监测,若自主健康监测结果指示系统运行异常,则立即将异常结果通信地传送至所述第二系统;以及b2、由内置于所述第二系统的第二健康管理模块对其自身运行状态进行实时监测,若自主健康监测结果指示系统运行异常,则立即将异常结果通信地传送至所述第一系统。
9.作为以上方案的替代或补充,在根据本发明一实施例的方法中,所述健康监测操作包括系统间心跳监测,并且步骤b包括下列各项中的一项或两项:b3、所述第一系统以第
一频率向所述第二系统发送心跳信号并持续检测心跳响应,若在第一时间段内未收到所述心跳响应,则判定所述第二系统运行异常;以及b4、所述第二系统以第二频率向所述第一系统发送心跳信号并持续检测心跳响应,若在第二时间段内未收到所述心跳响应,则判定所述第二系统运行异常。
10.作为以上方案的替代或补充,在根据本发明一实施例的方法中,步骤c包括下列各项中的一项或两项:c1、若健康监测结果指示所述第一系统发生异常,则将所述第二系统切换为主系统;c2、若健康监测结果指示所述第一系统和/或所述第二系统发生异常,则由所述车载冗余系统生成第一命令,以用于生成警告信息或由智能驾驶系统规划停车路径。
11.作为以上方案的替代或补充,在根据本发明一实施例的方法中,在步骤c中,若将所述第二系统切换为主系统,则执行下列操作中的一项:所述第二系统根据其记录的指令执行状态继续执行下一条指令;所述第二系统从所述第一系统接收所述第一系统的指令执行状态,并至少基于所述第一系统的指令执行状态确定要执行的下一条指令。
12.按照本发明的另一个方面,提供一种车载冗余系统,其特征在于,包括:第一系统,所述第一系统为预设主系统,以及第二系统,所述第二系统为预设从系统并与所述第一系统通信地耦合,其中,所述第一系统和所述第二系统配置成:响应于接收到输入指令,并行地执行所述输入指令;在指令执行过程中,执行健康监测操作;以及基于健康监测结果,自主执行主从设备切换。
13.作为以上方案的替代或补充,在根据本发明一实施例的系统中,当主系统处于工作状态时,仅将所述主系统的执行结果作为输出指令传送至下游系统,而不传送从系统的执行结果。
14.作为以上方案的替代或补充,在根据本发明一实施例的系统中,并行地执行输入指令包括:所述第一系统和所述第二系统分别从上游系统接收相同的输入指令并将所述输入指令存储在指令队列中;以及所述第一系统和所述第二系统分别执行所述输入指令,并记录所述输入指令的指令执行状态。
15.作为以上方案的替代或补充,在根据本发明一实施例的系统中,所述健康监测操作包括自主健康监测,并且在指令执行过程中执行健康监测操作包括下列各项中的一项或两项:由内置于所述第一系统的第一健康管理模块对其自身运行状态进行实时监测,若自主健康监测结果指示系统运行异常,则立即将异常结果通信地传送至所述第二系统;以及由内置于所述第二系统的第二健康管理模块对其自身运行状态进行实时监测,若自主健康监测结果指示系统运行异常,则立即将异常结果通信地传送至所述第一系统。
16.作为以上方案的替代或补充,在根据本发明一实施例的系统中,所述健康监测操作包括系统间心跳监测,并且在指令执行过程中执行健康监测操作包括下列各项中的一项或两项:所述第一系统以第一频率向所述第二系统发送心跳信号并持续检测心跳响应,若在第一时间段内未收到所述心跳响应,则判定所述第二系统运行异常;以及所述第二系统以第二频率向所述第一系统发送心跳信号并持续检测心跳响应,若在第二时间段内未收到所述心跳响应,则判定所述第二系统运行异常。
17.作为以上方案的替代或补充,在根据本发明一实施例的系统中,基于健康监测结果自主执行主从设备切换包括下列各项中的一项或两项:若健康监测结果指示所述第一系统发生异常,则将所述第二系统切换为主系统;若健康监测结果指示所述第一系统和/或所
述第二系统发生异常,则由所述车载冗余系统生成第一命令,以用于生成警告信息或由智能驾驶系统规划停车路径。
18.作为以上方案的替代或补充,在根据本发明一实施例的系统中,若将所述第二系统切换为主系统,则所述第二系统配置成执行下列操作中的一项:根据其记录的指令执行状态继续执行下一条指令;从所述第一系统接收所述第一系统的指令执行状态,并至少基于所述第一系统的指令执行状态确定要执行的下一条指令。
19.按照本发明的又一个方面,提供了一种车辆,其特征在于,所述车辆包括根据本发明一个方面的任一实施例所述的系统。
20.根据本发明的再一个方面,提供一种计算机存储介质,所述计算机存储介质包括指令,所述指令在运行时执行根据本发明一个方面的任一实施例所述的方法。
21.一方面,根据本发明的一个或多个方面的车载冗余系统中的子系统(例如,第一系统和第二系统)能够自行执行健康监测操作(例如,各子系统的自主健康监测、系统间心跳监测)来对系统故障(例如,宕机、内部严重错误等)进行监控并且自主执行主从设备切换,从而避免了使用额外的设备(例如,中心协调设备)来比较各子系统的输出是否一致,在节省系统成本的同时提升了故障发现以及主从系统切换的及时性,满足了车载智能系统的高实时性要求。
22.另一方面,根据本发明的车载冗余系统具备良好的架构可伸缩特性,可无限制地堆叠新的冗余层级,例如,在上游系统和下游系统中采用类似的冗余设计架构。
附图说明
23.本发明的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。附图包括:图1示出了根据本发明的一个实施例的用于车载冗余系统的切换方法10的示意性流程图;以及图2示出了根据本发明一个实施例的车载冗余系统20的示意性框图。
具体实施方式
24.在本说明书中,参照其中图示了本发明示意性实施例的附图更为全面地说明本发明。但本发明可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的各实施例旨在使本文的披露全面完整,以将本发明的保护范围更为全面地传达给本领域技术人员。
25.需要说明的是,本文中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述对象在时间、空间、大小等方面的顺序。此外,除非另外特别指明,本文中的术语“包括”、“具备”以及类似表述意在表示不排他的包含。
26.在本说明书中,术语“车辆”或者其它类似的术语包括一般的机动车辆,例如乘用车(包括运动型多用途车、公共汽车、卡车等)、各种商用车等等,并包括混合动力汽车、电动车、插电式混动电动车等。混动动力汽车是一种具有两个或更多个功率源的车辆,例如汽油动力和电动车辆。
27.在本说明书中,术语“耦合”应当理解为包括在两个系统或单元之间直接传送电能
量或电信号的情形,或者经过一个或多个第三系统或单元间接传送电能量或电信号的情形。
28.在下文中,将参考附图详细描述根据本发明的各示例性实施例。
29.现在参考图1,图1为根据本发明的一个实施例的用于车载冗余系统的切换方法10的示意性流程图。
30.示例性地,上述车载冗余系统可以是以下各项中的一项或其组合:诸如智能驾驶感知系统、智能驾驶决策系统和智能驾驶执行系统之类的自动驾驶系统或高级驾驶辅助系统(adas);诸如车载信息娱乐系统、抬头显示系统(hid)、中控系统之类的智能座舱系统;诸如无钥匙启动系统(peps)、空调控制系统之类的车身控制系统;以及诸如助力转向控制系统、车身稳定控制系统、安全气囊控制系统、悬架控制系统之类的动力控制系统等。
31.示例性地,上述车载冗余系统可以包括多个子系统,例如,一个主系统和两个从系统,本发明不对子系统的具体数量进行限制,并且应当理解,如图1中所示的方法10可以适用于包含任意数量的子系统的车载冗余系统。为了便于理解,在本文中以包括两个子系统的车载冗余系统(即,作为预设主系统的第一系统和作为预设从系统的第二系统)为例对本发明的各方面进行描述。
32.示例性地,车载冗余系统的各个子系统(例如,第一系统和第二系统)可通过下述方式中的任意一种方式通信连接:控制器局域网络(can)总线、车载局域网络总线、串行外设接口(spi)、串行通信总线、共享内存的方式和套接字(socket)的方式。
33.如图1所示,在步骤s110中,响应于接收到输入指令,第一系统和第二系统并行地执行输入指令。可选地,由第一系统和第二系统分别从上游系统接收相同的输入指令,并将接收到的输入指令存储在存储单元中。可选地,由第一系统和第二系统分别执行输入指令,并记录输入指令的执行状态。
34.示例性地,上述输入指令可以包括输入指令被发送或接收时的时间戳。示例性地,上述输入指令可以以队列的形式分别存储在第一系统和第二系统的存储单元中。进一步地,在指令执行过程中,第一系统和第二系统可以分别记录其输入指令的执行状态,例如,已执行或未执行。更进一步地,第一系统和第二系统在指令执行过程中可以扫描指令队列中所有的输入指令,读取执行状态为未执行的所有输入指令中时间戳最早的输入指令,并执行所读取的指令。更进一步地,第一系统和第二系统可以周期性地从其存储的指令队列中删除执行状态为已执行并且时间戳较早的部分输入指令。
35.需要注意的是,本发明不对第一系统和第二系统中指令执行的同步性作出限制。在一些实施例中,第一系统和第二系统可以具有不同的执行速度,因此,第一系统和第二系统中的指令队列的指令状态可能亦不相同,例如,有的指令在第一系统中已经执行完毕,而在第二系统中并未执行,反之亦然。
36.可选地,当主系统处于工作状态时,仅将主系统的执行结果作为输出指令传送至下游系统,而不传送从系统的执行结果。因此,在步骤s110中,仅将作为预设主系统的第一系统的执行结果作为输出指令传送至下游系统,而不传送作为预设从系统的第二系统的执行结果。
37.在步骤s120中,在指令执行过程中,由第一系统和第二系统执行健康监测操作。可选地,健康监测操作可以包括由第一系统和第二系统进行的自主健康监测和/或系统间心
跳监测。需要注意的是,在本发明所述的实施例中,车载冗余系统所执行的健康监测操作不需要借助于任何外部设备(例如,外部中心协调设备、全局健康管理设备等),以便在节省系统成本的同时提升故障发现的及时性。
38.示例性地,第一系统和/或第二系统可以具备自主健康监测功能。上述自主健康监测功能可以借助于系统内置健康管理模块(例如,健康管理器(hm))来实现。在一个实施例中,由内置于第一系统的第一健康管理模块对第一系统的运行状态进行实时监测,若自主健康监测结果指示系统运行异常(例如,内部严重故障等),则立即将异常结果通信地传送至第二系统。在另一个实施例中,由内置于第二系统的第二健康管理模块对第二系统的自身运行状态进行实时监测,若自主健康监测结果指示系统运行异常,则立即将异常结果通信地传送至第一系统。
39.示例性地,步骤s120中所述的健康监测操作可以是由车载冗余系统的各子系统执行的系统间心跳监测。第一系统和第二系统可以通过心跳机制来监控对方的健康状态,还可以通过灵活设置心跳的频率以便有效降低心跳监测对内存的占用。在一个实施例中,第一系统可以以第一频率向第二系统发送心跳信号并持续检测心跳响应,若在第一时间段内未收到心跳响应,则判定第二系统运行异常。在另一个实施例中,第二系统可以以第二频率向第一系统发送心跳信号并持续检测心跳响应,若在第二时间段内未收到心跳响应,则判定第二系统运行异常。示例性地,取决于系统对实时性的要求,第二频率可以等于第一频率,也可以大于第一频率,以便相较于从系统进一步提升对主系统的故障发现及时性。同样地,取决于系统对实时性的要求,第二时间段可以等于第一时间段,看也可以小于第一时间段,以便相较于从系统进一步提升对主系统的故障发现及时性。
40.需要说明的是,在本说明书中,心跳信号和心跳响应意指在系统间心跳监测通信过程中要发送和接收的信号,用来判断系统间通信是处于正常状态还是中断状态。示例性地,第一系统可以以第一频率向第二系统发送第一数据包(即,心跳信号),如果第二系统成功接收到心跳数据包,第二系统则将向第一系统发送第二数据包(即,心跳响应),如果第一系统在第一时间期间成功接收到第二数据包,则表明第一系统与第二系统的通信处于正常状态(即,由第一系统判定第二系统运行正常),如果第一系统在第一时间期间未接收到第二数据包,则表明第一系统与第二系统的通信处于中断状态(即,由第一系统判定第二系统运行异常)。
41.在步骤s130中,基于健康监测结果,由第一系统和第二系统自主执行主从设备切换。可选地,若健康监测结果指示第一系统发生异常,则将第二系统切换为主系统。在一个实施例中,若由第一系统执行的自主健康监测结果指示系统运行异常,则立即将异常结果通信地传送至第二系统并将第二系统切换为主系统。在另一个实施例中,若由第二系统基于系统间心跳监测判定第一系统运行异常,则立即将本系统切换为主系统。当将第二系统切换为主系统之后,仅将第二系统的执行结果作为输出指令传送至下游系统,而不再传送第一系统的执行结果。
42.可选地,若健康监测结果指示第一系统和/或第二系统发生异常,则可以由车载冗余系统(例如,未发生异常的其它子系统)生成第一命令,以用于生成警告信息并通过提示设备(例如,警告灯、扬声器)对系统异常情况进行提示,或者以用于由智能驾驶系统规划停车路径。
43.可选地,在步骤s130中,若将第二系统切换为主系统,则第二系统可以根据其记录的指令执行状态继续执行下一条指令。也即,一旦发生系统切换,新的主系统无需考虑先前主系统的执行状态(例如,在先前主系统已经宕机的情况下),只需继续执行其指令队列中未执行的指令。
44.可选地,在步骤s130中,若将第二系统切换为主系统,第二系统可以从第一系统接收第一系统的指令执行状态,并至少基于第一系统的指令执行状态确定要执行的下一条指令。也即,一旦发生系统切换,新的主系统需要考虑先前主系统的执行状态。示例性地,在接收到第一系统的指令执行状态之后,第二系统可以基于预设配置信息以及接收到的第一系统的指令执行状态确定要执行的下一条指令。在一个实施例中,若预设配置信息指示不允许重复指令和丢失指令,则第二系统可以继续执行第一系统的指令队列中为执行的指令。
45.继续参考图2,图2为按照本发明一个实施例的车载冗余系统20的示意性框图。图2所示的系统20包括作为预设主系统的第一系统210和作为预设从系统的第二系统220。图2所示的系统20可用于实施图1中的方法10。
46.如上所述,系统20还可以包括除了第一系统210和第二系统220之外的其它子系统,本发明不对子系统的具体数量进行限制。为了便于理解,以第一系统210和第二系统220为例对本发明的各方面进行描述。
47.第一系统210和第二系统220可通过下述方式中的任意一种方式通信连接:控制器局域网络(can)总线、车载局域网络总线、串行外设接口(spi)、串行通信总线、共享内存的方式和套接字(socket)的方式。
48.第一系统210和第二系统220可配置成响应于接收到输入指令,并行地执行输入指令;在指令执行过程中,执行健康监测操作;以及基于健康监测结果,自主执行主从设备切换。可选地,第一系统210和第二系统220可进一步配置成分别从上游系统接收相同的输入指令并将输入指令存储在指令队列中;记录输入指令的指令执行状态。可选地,第一系统210和第二系统220可进一步配置成执行如上所述的自主健康监测。可选地,第一系统210和第二系统220可进一步配置成执行如上所述的系统间心跳监测。可选地,第一系统210和第二系统220可进一步配置成基于健康监测结果自主执行主从设备切换包括下列各项中的一项或两项:若健康监测结果指示第一系统发生异常,则将第二系统切换为主系统;若健康监测结果指示第一系统和/或第二系统发生异常,则由车载冗余系统生成第一命令,以用于生成警告信息或由智能驾驶系统规划停车路径。可选地,若将第二系统220切换为主系统,则第二系统220配置成执行下列操作中的一项:根据其记录的指令执行状态继续执行下一条指令;从第一系统210接收第一系统的指令执行状态,并至少基于第一系统的指令执行状态和/或预设配置信息确定要执行的下一条指令。
49.按照本发明的另一方面,还提供了一种车辆,该车辆包括如图2中所示的系统20。
50.根据本发明的再一个方面,提供一种计算机存储介质,所述计算机存储介质包括指令,所述指令在运行时执行如图1所示的方法10。该计算机可读存储介质可以包括随机存取存储器(ram)(诸如同步动态随机存取存储器(sdram))、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、闪存、其他已知的存储介质等。
51.按照本发明的一些实施例的车载冗余系统中的子系统(例如,第一系统和第二系统)能够自行执行健康监测操作来对系统故障进行监控并且自主执行主从设备切换,从而
避免了使用额外的设备来比较各子系统的输出是否一致,在节省系统成本的同时提升了故障发现以及主从系统切换的及时性,满足了车载智能系统的高实时性要求。
52.按照本发明的一些实施例的车载冗余系统具备良好的架构可伸缩特性,可无限制地堆叠新的冗余层级。
53.应当理解的是,本发明附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或者在一个或多个硬件模块或集成电路中实现这些功能实体,或者在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
54.还应当理解的是,在一些备选实施例中,前述方法中所包括的功能/步骤可以不按流程图所示的次序来发生。例如,依次示出的两个功能/步骤可以基本同时执行或甚至逆序执行。这具体取决于所涉及的功能/步骤。
55.另外,本领域技术人员容易理解,本发明的上述一个或多个实施例提供的方法可通过计算机程序来实现。例如,当存有该计算机程序的计算机存储介质(例如u盘)与计算机相连时,运行该计算机程序即可执行本发明的一个或多个实施例的方法。
56.以上尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1