CN107666423B - 用于提供冗余处理器的处理单元及不间断数据通信的方法 - Google Patents
用于提供冗余处理器的处理单元及不间断数据通信的方法 Download PDFInfo
- Publication number
- CN107666423B CN107666423B CN201710629730.1A CN201710629730A CN107666423B CN 107666423 B CN107666423 B CN 107666423B CN 201710629730 A CN201710629730 A CN 201710629730A CN 107666423 B CN107666423 B CN 107666423B
- Authority
- CN
- China
- Prior art keywords
- mcu
- processor
- communication
- backup
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1608—Error detection by comparing the output signals of redundant hardware
- G06F11/1625—Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本公开涉及冗余微控制器系统故障期间的不间断数据可用性,提供了一种用于提供冗余处理器的处理单元和处理系统的不间断数据通信的方法。处理单元包括:源处理器,经由第一通信线路与系统通信总线耦接;备份处理器,经由第二通信线路与系统通信总线耦接;以及微处理器间通信通道,用于在源处理器与备份处理器之间的通信。备份处理器通过监控第一通信电路以监控源处理器发送的通信消息来监控源处理器的故障。备份处理器响应于在预定持续时间在第一通信线路上不存在通信消息来确定源处理器的故障。备份处理器响应于该故障接管对处理单元通信的控制。采用本公开的方案,能够提供对通信故障的稳健有效的一致检测。
Description
相关申请的交叉引用
本专利申请要求2016年7月28日提交的序列号为62/367,791的美国临时专利申请的优先权,其通过引用的方式整体并入此处。
技术领域
本申请大致涉及处理器架构,尤其有助于在基于冗余微控制器单元(MCU)的系统故障期间的不间断数据可用性。
背景技术
日益提高的车辆安全要求推动了系统冗余以实现更高的安全等级。冗余通常通过控制系统的扩散来实现以达到具有冗余微控制器的程度。然而,使用具有冗余微控制器的系统在车辆操作中引入了多种复杂性,包括使用诸如控制器局域网(CAN)总线(诸如公共CAN总线)等网络总线的车内通信。
通常,2个MCU在公共CAN总线上连接,公共CAN总线具有用于传送每个MCU传送数据的多个架构。在一个或多个示例中,两个MCU都连接到两个不同的CAN总线,并且始终在两条总线上发送相同的信息。在这种情况下,如果MCU中的一个失效也不会出现问题,因为CAN信息在另一个CAN总线上冗余可用。但是在这种情况下,由于CAN消息的冗余,总线带宽没有得到最佳利用。因此,在另一种方法中,在两个MCU之间,一个MCU用作另一个MCU的备份。备份MCU在另一个MCU发生故障的情况下发送CAN消息。因此,需要一种合适的方法来识别MCU故障和/或MCU-CAN接口故障,并立即激活备份MCU来控制CAN总线。这里提出的技术问题包括CAN故障的稳健检测、CAN的平滑快速切换、CAN总线控制平滑返回给原始MCU。另外,要确保两个MCU不一起通信。
发明内容
针对现有技术中存在的问题,提供了使车辆中的微控制器单元(MCU)系统提供对通信故障的稳健有效的一致检测的技术方案。这些技术方案进一步响应于源MCU的故障状况促进备份MCU平滑地迅速接管对通信的控制。这些技术方案进一步促进在故障恢复时将对通信的控制顺利返回给源MCU。
根据一个或多个实施例,一种用于提供冗余处理器的处理单元,该处理单元包括源处理器,经由第一通信线路与系统通信总线耦接;备份处理器,经由第二通信线路与系统通信总线耦接;以及微处理器间通信通道,用于在源处理器与备份处理器之间的通信。备份处理器通过监控第一通信线路以监控源处理器发送的通信消息来监控源处理器的故障。备份处理器响应于在预定持续时间在第一通信线路上不存在通信消息来确定源处理器的故障。备份处理器响应于源处理器的故障通过在微处理器间通信通道上发送状态更新来接管对处理单元的通信的控制。
根据一个或多个实施例,一种来自处理系统的不间断数据通信的方法,该方法包括:通过监控与第一处理器相关联的第一通信线路以监控所述第一处理器传输的通信消息来由第二处理器监控所述第一处理器的故障。该方法还包括:响应于在预定持续时间在所述第一通信线路上不存在所述通信消息来由所述第二处理器确定所述第一处理器的故障。该方法还包括:响应于所述第一处理器的故障,通过在所述第一处理器与所述第二处理器之间的微处理器间通信通道上发送状态更新来由所述第二处理器接管对所述处理系统的通信的控制。
根据一个或多个实施例,包括非暂时性计算机存储介质的计算机程序产品,该非暂时性计算机存储介质包括计算机可执行指令,当由处理系统执行时,该计算机可执行指令使处理系统执行如下步骤:通过监控与第一处理器相关联的第一通信线路以监控第一处理器传输的通信消息来由第二处理器监控处理系统的第一处理器的故障;响应于在预定持续时间在第一通信线路上不存在通信消息来由第二处理器确定第一处理器的故障;以及响应于第一处理器的故障通过在第一处理器与第二处理器之间的微处理器间通信通道上发送状态更新来由第二处理器接管对处理系统的通信的控制。
本公开实施例能够提供使车辆中的微控制器单元(MCU)系统提供对通信故障的稳健有效的一致检测的技术方案。
通过结合附图的以下描述,这些和其他优点和特征将变得更加明显。
附图说明
在说明书结尾处的权利要求中特别指出并明确地要求保护被认为是本发明的主题。根据结合附图的以下详细描述,本发明的前述和其它特征以及优点是清楚的,在附图中:
图1示出包括转向系统的车辆的示例性实施例;
图2示出根据一个或多个实施例的示例冗余微控制器单元(MCU)系统;
图3示出根据一个或多个实施例的用于启动MCU系统的示例方法的流程图;
图4示出根据一个或多个实施例的源MCU请求备份MCU接管CAN通信控制的示例方法的流程图;
图5示出根据一个或多个实施例的请求源MCU释放对CAN通信的控制的示例方法的流程图;
图6示出根据一个或多个实施例的通过冗余MCU系统的源MCU处理总线断开场景的示例方法的流程图;
图7示出根据一个或多个实施例的总线断开恢复事件的示例方法的流程图;以及
图8示出根据一个或多个实施例的示例微控制器间通信状态信息数据结构。
具体实施方式
本文使用的词语“模块”和“子模块”是指一个或多个处理电路(诸如专用集成电路(ASIC)、电子电路、处理器(共享的、专用的或集群))和执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所描述的功能的其它合适的部件。可以理解,下文描述的子模块能够进行组合和/或进一步分割。
现在参照图1,示出了包括转向系统12的车辆10的示例性实施例。在各种实施例中,转向系统12包括耦接到转向轴系统16的方向盘14,转向轴系统16包括转向柱、中间轴和所需的连接件。在一个示例性实施例中,转向系统12是EPS系统,该EPS系统还包括耦接到转向系统12的转向轴系统16以及车辆10的连结杆20、22的转向辅助单元18。可替代地,转向辅助单元18可以将转向轴系统16的上部与该系统的下部耦接。转向辅助单元18包括例如能够经由转向轴系统16耦接到转向致动器马达19和传动装置的齿条和齿轮转向机构(未示出)。在操作期间,随着车辆操作员转动方向盘14,转向致动器马达19提供辅助来移动连结杆20、22,连结杆20、22转而分别移动分别耦接到车辆10的行走车轮28、30的转向节(steeringknuckle)24、26。
如图1所示,车辆10还包括检测和测量转向系统12和/或车辆10的可观测条件的各种传感器31、32和33。这些传感器31、32和33基于该可观测条件产生传感器信号。在一个示例中,传感器31是感测由车辆10的操作员施加到方向盘14上的输入驾驶方向盘转矩(HWT)的转矩传感器。转矩传感器基于该转矩产生驾驶转矩信号。在另一个示例中,传感器32是感测转向致动器马达19的旋转角度以及转速的马达角度和速度传感器。在另一个示例中,传感器32是感测方向盘14的位置的方向盘位置传感器。传感器33基于该位置产生方向盘位置信号。
控制模块40接收从传感器31、32和33输入的一个或多个传感器信号,并且可以接收诸如车辆速度信号34等其它输入。控制模块40产生命令信号以基于一个或多个输入并且还基于本公开文本的转向控制系统和方法来控制转向系统12的转向致动器马达19。本公开文本的转向控制系统和方法应用信号调节作为控制信号,该控制信号能够用于通过转向辅助单元18来控制转向系统12的各方面。
在一个或多个示例中,控制模块40是由实时操作系统(RTOS)操作的ECU。应当注意,虽然本文描述了由ECU操作的转向系统12,但是本文描述的技术方案可应用于各种其他设置,应用于诸如操作车辆10的其他部件(例如,发动机、排气系统、轮胎压力监测系统、信息娱乐系统等)的其他ECU。此外,这些技术方案的应用不限于车辆,而是可以应用于使用微控制器的任何其它领域,诸如医疗设备、工业机械等。特别地,本文描述的技术方案可适用于包括用于提供冗余的两个或多个微控制器的微控制器单元(MCU)。
图2示出根据一个或多个实施例的示例冗余MCU系统200。在车辆10的背景下描述所示出的MCU系统200,其中使用一个或多个控制器局域网(CAN)总线来执行到MCU架构200/来自MCU架构200的通信。此外,在示出的MCU架构200中,使用两个微控制器来提供冗余。应当注意,在其它实施方式中,MCU系统200可以包括另外的微控制器。MCU系统200的MCU通过微处理器间通信(IMC)内部连接,以便彼此之间共享信息(诸如状态信息)。
在描述的示例中,在CAN通信故障期间,MCU-2 220用作MCU-1 210的备份,反之亦然。因此,通过CAN总线连接的其它节点继续从MCU架构200接收信息(即,确保其它节点的数据可用性)。通常,在特定总线中拥有CAN通信的MCU称为源MCU,而为该CAN通信提供备份的MCU称为备份MCU。一条总线的源MCU将充当另一条总线的备份ECU。
例如,在图2中,考虑第一种情况,其中MCU-1 210是在CAN总线-1 215上拥有通信的源MCU,而MCU-2 220是其经由CAN总线-2 225接收的通信的备份MCU。在另一种情况中,MCU-2 220是在CAN总线-2 225上拥有通信的源MCU,而MCU-1 210是经由CAN总线-1 215接收通信的备份MCU。CAN总线-1 215和CAN总线-2 225连接到相应的公共CAN总线、公共CAN总线-1 217和公共CAN总线-2 227。
CAN通信可能由于诸如CAN收发器的问题、MCU掉电、MCU由于故障重置、位于MCU本地的CAN总线线路断开、位于MCU本地的CAN总线线路的短路、CAN通信的具体应用禁用等故障而停止。可以理解,上述只是几个例子,CAN通信也可能由于其它故障而中断。
本文描述的技术方案有助于检测CAN故障、备份CAN通信以及在故障恢复时将CAN总线控制返回给源MCU。这些技术方案还有助于确保不存在MCU系统200的所有MCU传达相同CAN消息的情形。例如,参照图2,MCU系统200的两个MCU可以至少在以下情况下可能传送相同的消息。例如,源MCU中CAN通信延迟在备份MCU中可检测为MCU故障。附加地或者可替代地,源MCU中恢复期间的总线断开在备份MCU处可检测为故障。附加地或可替代地,如果源MCU重置,这会导致一段时间内没有CAN通信,则备份MCU可认为是CAN总线故障。应该注意的是,在上面的例子中,源MCU可以是MCU-1 210,而备份MCU可以是MCU-2 220,反过来也可以。本文描述的技术方案不会出现这些情况,并且在冗余MCU系统200的故障期间有利于不间断数据可用性。
在一个或多个示例中,这些技术方案有助于识别冗余MCU系统200中的CAN通信停止。在下面的描述中,考虑MCU-1 210是源MCU,而MCU-2 220是备份MCU,要注意,MCU-2 220充当源MCU,而MCU-1 210是备份MCU的情况同样适用。例如,可以使用三个参数来识别CAN通信停止。第一参数可以是CAN总线上没有来自源MCU的CAN帧。第二参数可以是通过IMC 230在MCU系统200的MCU之间传递的MCU状态信息。第三参数可以是在源MCU处检测到的CAN传输故障/在源MCU处的总线断开(Bus-Off)。
例如,源MCU执行至少以下操作等。源MCU为其传输的每个帧检查成功传输确认。在连续n次没有传输确认之后,源MCU通过微处理器间通信通道230传输状态信息,以指示备份MCU接管CAN通信。这里,n是预定整数,例如5、10或任何其它数字。源MCU此时停止传输。本来之前应该由源MCU传输的所有CAN消息都标记为可由源MCU接收(并且标记为将由备份MCU传输)。假如源MCU的接收能力被禁用,则此时在源MCU处使能或启用该接收能力。
附加地或可替代地,在总线断开时,源MCU经由微型间通信通道230传输状态信息,以指示备份MCU接管CAN通信。源MCU此时停止传输。本来之前应该由源MCU传输的全部CAN消息标记为在源MCU处可接收,并且将由备份MCU来传输。假如接收能力被禁用,则此时在源MCU处使能或启用该接收能力。
此外,备份MCU执行至少以下操作等。将由源MCU传输的所有CAN消息配置为备份MCU可接收的源CAN消息。在一个或多个示例中,备份MCU消息的传输最初被禁用。当备份MCU识别出接收超时或将来自源MCU的CAN消息识别m次时,备份MCU通过IMC通道230检查源MCU的状态。这里,m是预定整数,诸如5、10等。如果来自源MCU的状态信息可用,并且该状态信息表明源MCU的CAN通信是健康的,则备份MCU不采取行动,而是通过IMC 230向源MCU指示备份MCU未看到CAN消息。附加地或可替代地,备份MCU请求源MCU确认源MCU正在进行操作而没有故障。如果源MCU通过响应指示CAN通信正在工作而没有任何故障,则备份ECU得出的结论是来自源MCU或总线上的传输存在延迟。可替代地,备份MCU认为CAN线是有故障的,并不指示出任何故障,而是继续等待(poll for)CAN消息。可替代地,备份MCU认为由于源MCU处CAN传输的基于应用的禁用,例如,CAN通信的基于诊断的禁用,因而CAN传输被禁用。
可替代地,如果来自源MCU的状态信息不可用,则备份MCU认为源MCU已断电或处于重置。因此,备份MCU接管对CAN总线的控制。备份MCU经由IMC 230将备份MCU已接管CAN控制这一情况通知给源MCU。
此外,假如来自源MCU的状态信息可用,并且如果该状态信息请求备份MCU接管CAN通信,则备份MCU接管CAN总线控制,并经由IMC 230将其已经接管CAN控制的这一情况告知给源MCU。
附加地或可替代地,备份MCU检查IMC上的状态信息,并且如果源MCU请求总线接管,则备份MCU接管CAN总线控制,并且更新其已经接管CAN控制的IMC信息。
源MCU传输的所有CAN消息都配置并标记为由源MCU所拥有以及将要由备份MCU接收的CAN消息。备份MCU的传输能力最初被禁用。一旦请求备份支持,所有CAN消息都使能传输,并且立即开始。消息的接收立即停止。
本文描述的技术方案还有助于源MCU与备份MCU之间的握手(handshaking),以确保两个MCU之间的CAN通信责任的一致移交(handover)。例如,握手确保在故障恢复时CAN总线控制返回给源MCU。
例如,考虑以下四种情况,其中对通信总线的控制必须返回到源MCU,情况1:源MCU的总线断开恢复;情况2:源MCU重置之后重新启动;情况3:来自源MCU的CAN通信的基于应用的重新启用;以及情况4:源MCU的故障恢复。
例如,在总线断开恢复的情况1中,在从总线断开恢复时,源MCU经由IMC 230发送状态以返回CAN通信控制。源MCU经由IMC 230等待确认备份MCU已停止传输的反馈。如果源MCU接收到更新的IMC信息,则源MCU继续等待直到从备份MCU接收到确认。源MCU进一步接收由备份MCU发送的CAN通信。
表1示出不同的情况以及在这些情况下源MCU执行的操作。
表1
此外,考虑源MCU在重置之后重新启动的情况2。在启动时,源MCU将其CAN消息的接收能力设置为激活,并将传输设置为禁用。源MCU读取IMC状态信息和CAN接收活动的状态,并且按照表2发挥作用。
表2
此外,考虑来自源MCU的CAN通信的基于应用的重新启用的情况3。在一个或多个示例中,应基于应用的禁用请求,源MCU将其所有的CAN消息置于接收模式。在这种情况下,备份MCU可能还没有掌握对CAN通信的控制。然而,源MCU可能会双重检查这是在启用通信之前的情况。源MCU读取IMC状态信息和CAN接收活动的状态,并且按照表3发挥作用。
表3
在故障恢复的情况4中,源MCU和备份MCU与总线断开恢复的情况类似地进行操作(表1)。
此外,在多个MCU遇到故障的情况下,例如,如果MCU系统200的两个MCU都在各自CAN通信总线中识别出问题,则MCU中的一个或两个报告错误。例如,如果来自源MCU的IMC状态信号指示备份MCU掌管对CAN通信总线的控制,并且在进行控制时,如果备份MCU识别出其在通信总线上的自身传输是无法到达的,或者如果备份MCU检测到总线断开,则备份MCU释放对通信总线的控制并报告错误。在一个或多个示例中,在检测到备份MCU释放控制时,源MCU还触发错误报告。通过MCU之一报告错误包括发送指示该错误的通信消息。
图3示出根据一个或多个实施例的用于启动MCU系统200的示例方法的流程图。下文的描述是在配备有两个MCU的MCU系统200的背景下进行的,然而,应当注意,该方法也可适用于具有额外MCU的MCU系统200。如框310所示,MCU系统200最初禁用MCU-1 210和MCU-2220两者的传输。禁用传输包括将CAN消息布置或标记为由两个MCU接收。考虑MCU-1 210将作为源MCU启动,并且MCU-2 220在启动时作为备份MCU。
源MCU检查IMC通道230的IMC状态信息,以确定MCU-1 210是否设定为源MCU,并且MCU-2 220是否已被设定为备份MCU。在一个或多个示例中,MCU-1 210检查MCU-1 210的IMC状态信息是否有效,如框320所示。如果状态信息有效,则MCU-1 210进一步检查该状态信息是否指示MCU-1 210作为源MCU,如框330所示。例如,如果MCU-1 210被设定为源MCU,则IMC状态信息表明MCU系统200的CAN消息由MCU-1 210控制。
如果IMC状态信息表明MCU-2 220控制MCU系统200的CAN消息,则MCU-1 210向MCU-2 220发送请求以放弃对MCU系统200的CAN通信的控制,如框335所示。可替代地,如果IMC状态信息表明MCU-1 210配置为MCU系统200的源MCU,则MCU-1 210检查MCU-2 220传输的CAN消息,如框340所示。
如果MCU-2 220正在传输消息,则当MCU-1 210设置为源MCU时,生成并报告错误消息,如框345所示。可替代地,如果从MCU-2 220看不到消息,则MCU-1 210接管对MCU系统200的CAN消息的控制,并且更新IMC状态信息以表明已经掌管了控制,如框350所示。
此外,在IMC状态信息确定为无效的情况下,MCU-1 210在CAN总线上检查MCU-2220发送的消息,如框325所示。如果MCU-2 220没有发送任何CAN消息,则MCU-1 210接管对CAN通信的控制,并且更新IMC状态信息以表明已掌管控制,如框350所示。可替代地,如果MCU-2 220正在发送CAN消息,则MCU-1 210向MCU-2 220发送请求以放弃对CAN通信的控制,如框335所示。
在将放弃对CAN通信的控制的请求发送到MCU-2 220后,MCU-1 210监控CAN总线以检查MCU-2 220发送的消息的状态,如框360所示。MCU-1 210在自发送放弃控制请求起的预定超时时间段内检查MCU-2 220是否不放弃控制,即,是否不停止发送CAN消息,如框355所示。例如,如果MCU-2 220甚至在超时时间段之后仍发送消息,则MCU-1 210报告错误,如框345所示。
可替代地,如果MCU-2 220在超时时间段内停止发送CAN消息,则MCU-1 210确保IMC状态信息表明CAN通信控制已经被放弃,如框370所示。如果IMC状态信息仍然表明MCU-2220没有放弃对CAN通信的控制,则MCU-1 210发出错误信号,如框345所示。可替代地,如果状态信息表明MCU-2 220已经放弃了对CAN通信的控制,则MCU-1 210接管对MCU系统200的CAN消息的控制,并且更新IMC状态信息以表明已经掌管了控制,如框350所示。
图4示出根据一个或多个实施例的源MCU请求备份MCU接管CAN通信控制的示例方法的流程图。考虑在MCU系统200中MCU-1 210是源MCU而MCU-2 220是备份MCU的情况。每次MCU-1 210发送CAN消息时,MCU-1 210监控传输确认。在一个或多个示例中,MCU-1 210检查是否尚未接收到至少预定数量的连续传输的传输确认,如框410所示。如果接收到传输确认,则MCU-1 210作为源MCU继续操作。
可替代地,如果对于至少预定的连续传输而言都没有确认的情况下,MCU-1 210经由IMC 230请求MCU-2 220接管对CAN通信的控制,如框420所示。MCU-1 210进一步停止通过CAN总线-1 215传输CAN消息,如框430所示。停止传输还包括将CAN消息标记为可由MCU-1210接收,如框440所示。
图5示出根据一个或多个实施例的请求源MCU释放对CAN通信的控制的示例方法的流程图。再次,考虑在MCU系统200中MCU-1 210是源MCU而MCU-2 220是备份MCU的情况。备份MCU(这种情况下为MCU-2 220)监控源MCU(这种情况下为MCU-1 210)发送的CAN通信。MCU-2220检查没有CAN消息从源MCU传输的持续时间是否超过预定阈值,如框510所示。如果通过MCU-1 210进行的消息传输是按照预定阈值来操作的,则MCU-2 220继续作为备份MCU操作。可替代地,如果MCU-1 210的两次连续传输之间的持续时间超过预定持续时间(例如1秒、100毫秒等),则MCU-2 220经由IMC 230检查MCU-1 210的IMC状态,如框520所示。
如果IMC 230上的MCU-1 210的IMC状态无效,则MCU-2 220接管对CAN通信的控制,如框530所示。MCU-2 220进一步更新IMC状态以表明MCU-2 220现在是MCU系统200的源MCU。MCU-2 220进一步开始传输CAN消息。
可替代地,如果MCU-1 210的IMC状态有效,则MCU-2 220检查IMC状态是否是使MCU-2 220接管对CAN通信控制的请求,如框525所示。如果是这样,则MCU-2 220接管对CAN通信的控制,并且相应地更新IMC状态,如框530所示。如果IMC状态没有请求MCU-2 220接管对CAN通信的控制,则MCU-2 220检查来自MCU-1 210的错误通信的数量是否超过了预定阈值,如框540所示。例如,MCU-2 220保持跟踪来自MCU-1 210的通信超时的次数。每次来自MCU-1 210的通信超时,MCU-2 220都会递增计数器。
如果没有超过错误阈值,则MCU-2 220重复该方法,并且再次监控来自MCU-1 210的通信超时,如框510所示。相反,如果已经达到或超出错误阈值,则MCU-2 220报告错误,如框550所示。
图3示出根据一个或多个实施例的用于在冗余MCU系统中启动MCU的示例方法的流程图。考虑MCU系统200的MCU-1 210启动,而在MCU-1 210重新启动时,MCU-2 220充当系统200的源MCU。应该注意的是,在其它示例中,当MCU-2 220重新启动时,可以以类似的方式适用该方法。在这种情况下,MCU-1 210将所有CAN消息设定为对于MCU-1 210和MCU-2 220两者是可接收的,如框310所示。MCU-1 210经由IMC 230进一步检查有效状态是否可用,如框320所示。如果IMC状态无效,则MCU-1 210监控MCU-2 220是否经由CAN总线传输消息,如框325所示。例如,MCU-1 210检查MCU-2 220是否在预定持续时间发送任何CAN消息。
如果IMC状态无效,并且MCU-2 220没有传输任何CAN消息,则MCU-1 210接管对MCU系统200的CAN通信的控制,如框350所示。例如,MCU-1 210将自身配置为源MCU,并且更新IMC状态,以表明MCU-1 210是源MCU,而MCU-2 220为备份MCU。此外,接管控制包括将MCU-1210的CAN消息的状态更新为可传输的,而将CAN消息的状态保持为在MCU-2 220处可接收。
在IMC状态无效的情况下,如果MCU-1 210检测到MCU-2 220经由CAN总线发送消息,则MCU-1 210向MCU-2 220发送请求以放弃控制,如框335所示。在一个或多个示例中,经由IMC通道230发送请求。在发送请求之后MCU-1 210继续等待预定超时时间段。在预定的超时时间段期间,MCU-1 210监控MCU-2 220是否停止发送CAN消息,如框355和360所示。如果MCU-2 220停止发送CAN消息,则MCU-1 210检查IMC状态是否被设定为表明MCU-2 220释放了通信控制,如框370所示。如果IMC状态表明已经释放了控制,则MCU-1 210接管对MCU系统200的CAN通信的控制,如框350所示,并且相应地更新IMC状态。
如果MCU-1 210在接收到放弃控制的请求之后确定MCU-2 220已经停止发送消息,然而,IMC状态没有表明控制已经被释放,则MCU-1 210报告错误,如框345所示。在一个或多个示例中,通过向车辆中央计算机和/或车辆中的其它ECU发送通信信号来报告错误。可替代地,在预定超时时间段到期而MCU-2 220没有停止CAN消息的传输的情况下,MCU-1 210还报告错误,如框355所示。
可替代地,在MCU-1 210在启动时确定的IMC状态有效的情况下,MCU-1 210检查IMC状态是否表明MCU-2 220充当MCU系统200的源MCU,如框330所示。如果IMC状态表明MCU-2 220充当MCU系统200的源MCU,则MCU-1 210向MCU-2 220发送放弃控制的请求,如框335所示。在一个或多个示例中,经由IMC通道230发送请求。发送请求之后MCU-1 210继续等待预定超时时间段。在预定的超时时间段期间,MCU-1 210监控MCU-2 220是否停止发送CAN消息,如框355和360所示。如果MCU-2 220停止发送CAN消息,则MCU-1 210检查IMC状态是否被设定为表明MCU-2 220释放了通信控制,如框370所示。如果IMC状态表明已经释放了控制,则MCU-1 210接管对MCU系统200的CAN通信的控制,如框350所示,并且相应地更新IMC状态。
如之前在无效IMC状态的情况下所述的,在IMC状态有效的这种情况下,如果MCU-1210在接收到放弃控制的请求之后确定MCU-2 220已经停止发送消息,但是,IMC状态没有表明控制已经被释放,则MCU-1 210报告错误,如框345所示。在一个或多个示例中,通过向车辆中央计算机和/或车辆中的其它ECU发送通信信号来报告错误。可替代地,MCU-1 210还在预定超时时间段用尽而MCU-2 220没有停止传输CAN消息的情况下报告错误,如框355所示。
可替代地,在IMC状态有效的情况下,如果IMC状态没有指示MCU-2 220是源MCU,则MCU-1 210监控CAN总线以检查MCU-2 220是否发送CAN消息,如框340所示。如果MCU-1 210发现MCU-2 220没有发送消息,MCU-1 210接管控制并且更新IMC状态,如框350所示。如果MCU-2 220发送消息,并且IMC状态表明MCU-2 220不是源MCU,则MCU-1 210报告错误,如框345所示。
图4示出根据一个或多个实施例的MCU请求备份MCU接管对MCU系统的通信的控制的示例方法的流程图。对这个例子来说,考虑MCU-1 210是源MCU,其请求作为备份MCU的MCU-2 220接收控制。应当注意,在其它示例中,MCU-2 220以类似的方式实现该方法。
MCU-1 210监控响应于MCU-1 210传输CAN消息而接收的传输确认消息,如框410所示。如果MCU-1 210没有接收到传输确认达预定次数(诸如n数),则MCU-1 210认为CAN传输发生故障/失误。在一个或多个示例中,该预定次数是连续n次。如果MCU-1 210没有检测到至少预定数量的传输错误,则MCU-1 210继续作为源MCU进行操作,如框415所示。
如果检测到不正确的传输确认达到至少预定次数,则MCU-1 210向MCU-2 220发送接管通信控制的请求,如框420所示。在一个或多个示例中,该请求经由IMC通道230发送。MCU-1 210本身进一步停止CAN消息的传输,如框430所示。此外,MCU-1 210将所有消息设置为可接收的,以便监控MCU-2 220的传输,如框440所示。
图5示出根据一个或多个实施例的请求源MCU释放/放弃控制的示例方法的流程图。考虑MCU-1 210用作源MCU,而备份MCU(即MCU-2 220)发送请求的情况。在其它示例中,MCU-1 210可以以类似的方式发送请求。MCU-2 220监控MCU-1 210的传输,以确保传输是可操作的。如果MCU-2 220检测到MCU-1 210在至少预定持续时间没有发送CAN消息,则MCU-2220确定MCU-1 210可能出现错误,如框510所示。如果没有检测到这种情况,则MCU-2 220作为备份MCU继续操作,并且监控来自MCU-1 210的传输。
如果检测到这种情况,则MCU-2 220检查IMC通道230上的MCU系统200的状态,以检查MCU-1 210是否已指示出错误,如框520所示。如果该状态无效,MCU-2 220接管对MCU系统200的CAN通信的控制,如框530所示。可替代地,如果IMC状态有效,MCU-2 220检查IMC状态表明什么,如框525所示。如果IMC状态表明MCU-1 210指示MCU-2 220接管控制,则MCU-2220接管对CAN通信的控制,如框530所示。在一个或多个示例中,接管控制包括更新IMC状态以表明MCU-2 220是MCU系统200的源MCU。此外,在一个或多个示例中,接管控制包括开始CAN消息的传输并将CAN消息设置为可由MCU-1 210接收并且可由MCU-2 220发送。
可替代地,如果IMC状态没有指示使MCU-2 220接管控制的请求,则MCU-2 220递增错误计数器。MCU-2 220维持该错误计数器以监控MCU-2 220等待MCU-1 210通过CAN总线传输消息的次数。例如,等待预定次数有助于MCU-2 220避免在MCU-1 210由于重新启动或特殊应用延迟而延迟的情况下接管对CAN通信的控制。MCU-2 220继续监控MCU-1 210的超时,直到错误计数器达到预定阈值。如果错误计数器超过预定阈值,则MCU-2 220会报告错误,如框550所示。
图6示出根据一个或多个实施例的通过冗余MCU系统的源MCU处理总线断开场景的示例方法的流程图。如果MCU-1 210是源MCU,则MCU-1 210监控是否发生总线断开事件,如框610所示。总线断开事件表示CAN总线(这种情况下为总线-1 215)中出现错误。例如,如果CAN总线-1 215发生故障(例如断裂),则可能发生总线断开事件。响应总线断开事件,MCU-1210向备份MCU发送请求,比如使MCU-2 220接管对CAN通信的控制,如框620所示。MCU-1 210通过IMC通道230发送请求。例如,通过改变IMC状态来发送请求以请求MCU-2 220成为源MCU。此外,MCU-1 210停止发送CAN传输并将消息设置为可接收的,如框630和640所示。在一个或多个示例中,MCU-1 210监控CAN总线和IMC通道230,以确保MCU-2 220接管控制。在MCU-2 220没有接管控制并且开始传输消息的情况下,MCU-1 210报告错误。应当注意,虽然上述示例被描述为由MCU-1 210实现,但是在其它示例中,MCU-2 220也可以实现该方法。
图7示出根据一个或多个实施例的总线断开恢复事件的示例方法的流程图。当MCU从CAN总线的错误/故障中恢复时,发生总线断开恢复事件。以下示例被描述为MCU-1 210实现该方法,然而在其它示例中,MCU-2 220也可以实现该方法。MCU-1 210监控CAN总线-1215以确定错误是否恢复。在识别出总线断开恢复事件的情况下,MCU-1 210向MCU-2 220发送不要接管通信控制的请求,如框710和720所示。MCU-1 210在发送请求之后监控CAN总线预定超时时间段,以检查MCU-2 220是否发送CAN消息,如框730和740所示。在检测到来自MCU-2 220的CAN消息的情况下,MCU-1 210继续等待至少预定的超时时间段,如框730和740所示。如果甚至在超时时间段之后,MCU-2 220仍然发送CAN消息,则MCU-1 210报告错误,如框770所示。
如果MCU-2 220从接收到来自MCU-1 210的请求之后的预定超时时间段内停止发送CAN消息,则MCU-1 210检查IMC状态,如框750所示。如果IMC状态表明MCU-2 220尚未释放对CAN通信的控制,则MCU-1 210报告错误,如框770所示。如果MCU-2 220释放了控制,则MCU-1 210接管对CAN通信的控制并且更新IMC状态以表明其是源MCU,如框760所示。
图8示出根据一个或多个实施例的示例IMC状态信息数据结构800。在一个或多个示例中,IMC状态数据结构800包括表明源MCU控制CAN总线-1 210的字段。IMC状态数据结构800还包括表明源MCU是否控制CAN总线-2 225的字段。IMC状态数据结构800还包括表明备份MCU是否控制CAN总线-1 215的字段。IMC状态数据结构800还包括表明备份MCU是否控制CAN总线-2 225的字段。
IMC状态数据结构800还包括表明备份MCU是否请求控制CAN总线-1 215的字段。IMC状态数据结构800还包括指示备份MCU是否请求控制CAN总线-2 225的字段。
IMC状态数据结构800还包括表明源MCU拒绝控制CAN总线-1 210的字段。IMC状态数据结构800还包括表明源MCU拒绝对CAN总线-2 225进行控制的字段。
IMC状态数据结构800还包括表明源MCU请求备份MCU接管对CAN总线-1 215的控制的字段。IMC状态数据结构800还包括表明源MCU请求备份MCU接管对CAN总线-2 225的控制的字段。
示例IMC状态数据结构800使用每个字段的比特。例如,IMC状态数据结构800包括10比特。然而,应当注意,在其它示例中,IMC状态数据结构800的字段包括诸如字节、比特对或任何其它数量的比特等附加比特。应当注意,虽然示例数据结构指示特定字段位置,但是在其它示例中,所使用的字段位置可以与所描绘的位置不同。在其它示例中,数据结构可以包括除本文描绘的那些之外的附加字段。
通过实现本文描述的技术方案(例如车辆中的冗余MCU系统)提供对CAN故障的稳健有效的一致检测;响应于源MCU的故障状况,备份MCU对CAN通信控制的平滑迅速的接管;以及在故障恢复时将CAN通信的控制平滑地返回给源MCU。在一个或多个示例中,冗余MCU系统用作动力转向系统或任何其它车辆子系统的控制模块。尽管本文描述的实施例在转向系统中使用冗余MCU系统作为示例实施方式,但是应当理解,冗余MCU系统可以是包括具有两个或多个处理器的处理单元的任何冗余处理器架构,其中第一个处理器用作主处理器,另一个处理器是在第一个处理器发生故障的情况下作为主处理器进行控制的备份处理器。
本文技术方案可以是处于任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质(或媒介),其上具有使处理器执行本文技术方案的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保留和存储指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如,但不限于,电子存储设备、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备或上述的任何合适的组合。计算机可读存储介质的更具体示例的非详尽列表包括以下:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、记忆棒、软磁盘、其上记录有指令的机械编码设备(诸如凹槽中的穿孔卡片或凸起结构)以及上述的任何合适的组合。本文使用的计算机可读存储介质不应被解释为暂时信号本身,例如无线电波或其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,穿过光缆的光脉冲)或通过导线传输的电信号。
本文描述的计算机可读程序指令可以经由网络(例如,因特网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到各个计算/处理设备或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光学传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并且将计算机可读程序指令转发存储在各个计算/处理设备内的计算机可读存储介质中。
用于执行本文技术方案的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或用一种或多种编程语言的任何组合编写的源代码或目标代码,该编程语言包括诸如Smalltalk、C++等面向对象的编程语言、诸如“C”编程语言等过程编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,作为独立的软件包部分地在用户的计算机上执行,部分地在用户的计算机上,部分地在远程计算机上,或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到用户的计算机,或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网连接到外部计算机)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息个性化电子电路来执行计算机可读程序指令,以便执行本文技术方案的各个方面。
参考根据本文技术方案的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图在本文描述这些技术方案的各方面。应当理解,流程图图示和/或框图的每个方框以及流程图图示和/或框图中的多个方框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器来制造机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个方框中指定的功能/动作的手段。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可引导计算机、可编程数据处理装置和/或其它设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品(article of manufacture),该制品包括实现流程图和/或框图的一个或多个方框中指定的功能/动作的各个方面的指令。
计算机可读程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使一系列操作步骤在计算机、其它可编程装置或其它设备上执行以产生计算机实现的过程,使得在计算机、其它可编程装置或其它设备上执行的指令实现流程图和/或框图的一个或多个方框中指定的功能/动作。
附图中的流程图和框图示出了根据本文技术方案的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。就此而言,流程图或框图中的每个方框可以表示指令的模块、区段或一部分,该指令包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代的实施方式中,这些方框中提到的功能可能不按照附图中记载的顺序出现。例如,依次示出的两个方框实际上可以大体同时执行,或者这些方框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图示中的每一个方框以及框图和/或流程图图示中的多个方框的组合可以由基于硬件的专用系统来实现,该系统执行指定的功能或动作,或者实施专用硬件和计算机指令的组合。
第二动作可以被称为“响应于”第一动作,而不管第二动作是直接还是间接由第一动作产生。第二动作可以在比第一动作大致晚的时间发生,并且仍然响应于第一动作。类似地,即使在第一动作与第二动作之间发生介于中间的动作,并且即使一个或多个介于中间的动作直接使第二动作执行,也可以将第二动作称为响应于第一动作。例如,如果第一动作设置标志,并且第三动作稍后每当标志被设置时就启动第二动作,则可以认为第二动作响应于第一动作。
为了阐明短语的使用并在此向公众提供公告,短语“<A>、<B>、...和<N>中的至少之一”或“<A>、<B>、...<N>中的至少之一或其组合”或“<A>、<B>、...和/或<N>”应以最广泛的含义来解释,代替上文或下文中的任何其他隐含定义,除非有明确的相反说明,以表示从包括A、B、...和N的组中选择的一个或多个元件。换句话说,这些短语表示元件(元素)A、B、...或N中的一个或多个的任何组合,包括单独的任何一个元件,或者该一个元件与其他元件的组合,还可以包括与未列出的其他元件的组合。
还将理解,本文例证的执行指令的任何模块、单元、部件、服务器、计算机、终端或设备可以包括或访问诸如存储媒介、计算机存储媒介等计算机可读媒介或者诸如磁盘、光盘或磁带等数据存储设备(可移除和/或不可移除)。计算机存储媒介可以包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块等信息或其它数据的易失性和非易失性、可移除和不可移除媒介。这种计算机存储媒介可以是设备的一部分,或者是可访问的或可连接到该设备。本文描述的任何应用或模块可以使用可由这种计算机可读媒介或以其他方式保存的计算机可读/可执行指令来实现。
为了说明的目的,描述了本文技术方案的各种实施例,但是并不旨在是穷尽的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变型对于本领域普通技术人员是明显的。本文使用的术语被选择用以最好地解释实施例的原理、实际应用或市场上发现的技术的技术改进,或者被选择使本领域普通技术人员能够理解本文公开的实施例。
Claims (13)
1.一种用于提供冗余处理器的处理单元,所述处理单元包括:
源处理器,经由第一通信线路与系统通信总线耦接;
备份处理器,经由第二通信线路与所述系统通信总线耦接;以及
微处理器间通信通道,用于所述源处理器与所述备份处理器之间的通信;
所述备份处理器配置为:
通过监控所述第一通信线路以监控所述源处理器发送的通信消息来监控所述源处理器的故障;
响应于在预定持续时间在所述第一通信线路上不存在所述通信消息来确定所述源处理器的故障;以及
响应于所述源处理器的故障,通过在所述微处理器间通信通道上发送状态更新来接管对所述处理单元的通信的控制,其中所述状态更新指示所述备份处理器已经接管了对所述处理单元的通信的控制。
2.根据权利要求1所述的处理单元,其中监控所述源处理器的故障还包括在监控所述微处理器间通信通道以监控来自所述源处理器的指示故障的状态更新。
3.根据权利要求1所述的处理单元,其中所述备份处理器还配置为监控所述源处理器的恢复,并且响应于所述源处理器的恢复而放弃对所述处理单元的通信的控制。
4.根据权利要求3所述的处理单元,其中所述备份处理器通过在所述微处理器间通信通道上监控放弃控制的请求来监控所述源处理器的恢复。
5.根据权利要求3所述的处理单元,其中所述备份处理器配置为通过经由所述微处理器间通信通道发送状态更新来放弃对所述处理单元的通信的控制,所述状态更新指示所述备份处理器不再控制所述通信。
6.根据权利要求1所述的处理单元,响应于重新启动的所述源处理器配置为:
检查所述备份处理器是否控制所述处理单元的通信;
响应于所述备份处理器控制所述通信,向所述备份处理器发送请求以要求其放弃对所述通信的控制;以及
响应于所述备份处理器放弃对所述通信的控制来接管对所述通信的控制。
7.根据权利要求6所述的处理单元,其中所述源处理器还配置为在向所述备份处理器发送所述请求以要求其放弃对所述通信的控制之后等待预定的持续时间。
8.根据权利要求6所述的处理单元,其中检查所述备份处理器是否控制所述通信包括检查来自所述微处理器间通信通道的状态。
9.一种处理系统的不间断数据通信的方法,所述方法包括:
通过监控与第一处理器相关联的第一通信线路以监控所述第一处理器传输的通信消息来由第二处理器监控所述第一处理器的故障;
响应于在预定持续时间在所述第一通信线路上不存在所述通信消息来由所述第二处理器确定所述第一处理器的故障;以及
响应于所述第一处理器的故障,通过在所述第一处理器与所述第二处理器之间的微处理器间通信通道上发送状态更新来由所述第二处理器接管对所述处理系统的通信的控制,其中所述状态更新指示所述备份处理器已经接管了对所述处理单元的通信的控制。
10.根据权利要求9所述的方法,其中监控所述第一处理器的故障还包括由所述第二处理器监控所述微处理器间通信通道来监控来自所述第一处理器的指示故障的状态更新。
11.根据权利要求9所述的方法,还包括由所述第二处理器监控所述第一处理器的恢复,并且响应于所述恢复放弃对所述处理系统的所述通信的控制。
12.根据权利要求11所述的方法,所述监控所述第一处理器的恢复包括如下步骤中的至少之一:
由所述第二处理器监控来自所述第一处理器的要求放弃控制的请求,所述请求经由所述微处理器间通信通道接收;以及
由所述第二处理器经由所述微处理器间通信通道发送状态更新,所述状态更新指示所述第二处理器不再控制所述通信。
13.根据权利要求9所述的方法,还包括:所述第一处理器响应于从所述故障恢复而重新启动,所述重新启动包括:
由所述第一处理器检查所述第二处理器是否控制所述处理系统的所述通信;
响应于所述第二处理器控制所述通信,由所述第一处理器向所述第二处理器发送请求要求其放弃对所述通信的控制;以及
响应于所述第二处理器放弃对所述通信的控制由所述第一处理器来接管对所述通信的控制。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662367791P | 2016-07-28 | 2016-07-28 | |
US62/367,791 | 2016-07-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107666423A CN107666423A (zh) | 2018-02-06 |
CN107666423B true CN107666423B (zh) | 2020-11-27 |
Family
ID=60951007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710629730.1A Active CN107666423B (zh) | 2016-07-28 | 2017-07-28 | 用于提供冗余处理器的处理单元及不间断数据通信的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10521313B2 (zh) |
CN (1) | CN107666423B (zh) |
DE (1) | DE102017116883A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3626543B1 (en) | 2018-09-18 | 2024-03-20 | KNORR-BREMSE Systeme für Nutzfahrzeuge GmbH | A protection circuitry and a method for protecting a vehicle power supply |
CN111324494B (zh) * | 2018-12-13 | 2023-08-25 | 中兴通讯股份有限公司 | 处理器控制方法、装置和存储介质 |
DE102019104948A1 (de) * | 2019-02-27 | 2020-08-27 | Zf Active Safety Gmbh | Kommunikationssystem und Verfahren zur Kommunikation für ein Kraftfahrzeug |
EP3726384B1 (en) * | 2019-04-18 | 2022-01-05 | Bayerische Motoren Werke Aktiengesellschaft | Method and system for preserving consistency of states during fail-operational context switch |
DE102020118563A1 (de) * | 2019-07-17 | 2021-01-21 | Steering Solutions Ip Holding Corporation | Middleware-system und -verfahren |
EP3779699B1 (en) * | 2019-08-16 | 2024-06-05 | Aptiv Technologies AG | Method for checking program execution of a microcontroller, external device, system and non-transitory computer readable medium |
CN113595753A (zh) * | 2020-04-30 | 2021-11-02 | 北京达佳互联信息技术有限公司 | 通信方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4455601A (en) * | 1981-12-31 | 1984-06-19 | International Business Machines Corporation | Cross checking among service processors in a multiprocessor system |
CN1558638A (zh) * | 2004-01-18 | 2004-12-29 | 中兴通讯股份有限公司 | 一种基于消息的处理器间通信方法 |
CN104094577A (zh) * | 2012-08-13 | 2014-10-08 | 统一有限责任两合公司 | 用于间接地评定活动实体的状态的方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5957985A (en) * | 1996-12-16 | 1999-09-28 | Microsoft Corporation | Fault-resilient automobile control system |
US6351829B1 (en) * | 1998-10-28 | 2002-02-26 | Honeywell Inc | System and method for distinguishing a device failure from an inter-device communication failure |
US7734948B2 (en) * | 2007-08-21 | 2010-06-08 | International Business Machines Corporation | Recovery of a redundant node controller in a computer system |
JP5527270B2 (ja) * | 2011-04-12 | 2014-06-18 | 株式会社デンソー | 車載用電子制御装置 |
EP2525292A1 (en) * | 2011-05-20 | 2012-11-21 | ABB Technology AG | System and method for using redundancy of controller operation |
DE102013201702C5 (de) * | 2013-02-01 | 2017-03-23 | Mtu Friedrichshafen Gmbh | Verfahren und Anordnung zur Steuerung einer Brennkraftmaschine |
-
2017
- 2017-07-26 DE DE102017116883.4A patent/DE102017116883A1/de active Pending
- 2017-07-28 US US15/662,961 patent/US10521313B2/en active Active
- 2017-07-28 CN CN201710629730.1A patent/CN107666423B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4455601A (en) * | 1981-12-31 | 1984-06-19 | International Business Machines Corporation | Cross checking among service processors in a multiprocessor system |
CN1558638A (zh) * | 2004-01-18 | 2004-12-29 | 中兴通讯股份有限公司 | 一种基于消息的处理器间通信方法 |
CN104094577A (zh) * | 2012-08-13 | 2014-10-08 | 统一有限责任两合公司 | 用于间接地评定活动实体的状态的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107666423A (zh) | 2018-02-06 |
DE102017116883A1 (de) | 2018-02-01 |
US20180032413A1 (en) | 2018-02-01 |
US10521313B2 (en) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107666423B (zh) | 用于提供冗余处理器的处理单元及不间断数据通信的方法 | |
CN112004730B (zh) | 车辆控制装置 | |
JP7510503B2 (ja) | 自動運転制御システム、制御方法及び装置 | |
US11492009B2 (en) | Vehicle control device | |
US8006129B2 (en) | Detecting and preventing the split-brain condition in redundant processing units | |
CN110116752B (zh) | 基于冗余结构控制车辆的装置和方法 | |
US9740178B2 (en) | Primary controller designation in fault tolerant systems | |
CN110758483A (zh) | 远程重启的方法、装置、设备和介质 | |
CN109017628B (zh) | 冗余通信系统的消息序列评估 | |
JP2018129996A5 (zh) | ||
US20190233002A1 (en) | Motor control system and electric power steering system | |
JP7508703B2 (ja) | 車両におけるecuの管理方法、ecuおよび可読記憶媒体 | |
US8954619B1 (en) | Memory module communication control | |
US20220055637A1 (en) | Electronic control unit and computer readable medium | |
WO2018229930A1 (ja) | コントローラ | |
KR101714522B1 (ko) | 가상화 프레임웍 기반 차량 avn 스마트폰 연동 서비스 제공 방법 및 그를 위한 장치 | |
JP2011198205A (ja) | 二重系制御システム | |
JP2016060413A (ja) | 車両用電子制御装置及び制御方法 | |
JP4646859B2 (ja) | Usb機器、およびusb接続システム | |
CN107491344B (zh) | 一种实现虚拟机高可用性的方法及装置 | |
US9218236B2 (en) | Error signal handling unit, device and method for outputting an error condition signal | |
US10633018B2 (en) | External watchdog with integrated backward regeneration support | |
CN111376736A (zh) | 控制电动交通工具的动力输出的方法、设备和计算机存储介质 | |
CN114104002A (zh) | 自动驾驶系统监控方法、装置、设备和存储介质 | |
KR102290796B1 (ko) | Lin 통신 오류 발생에 따른 ecu 자동 재시작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |