冗余通信系统的消息序列评估的制作方法

文档序号:16308651发布日期:2018-12-19 05:11阅读:217来源:国知局
冗余通信系统的消息序列评估的制作方法

本专利申请要求2017年6月9日提交的序列号为62/517,482的美国临时专利申请的优先权,其通过引用的方式整体并入此处。

背景技术

车辆可以包括一个或多个彼此通信的电子控制单元(ecu)。通信可以包括在与车辆中的电动助力转向(eps)系统相关联的一个或多个ecu和车辆中的其他ecu之间传输数据、命令等。

对于先进驾驶辅助系统(adas)的不断增长的依赖性导致车辆中的各种子系统的一个或多个控制器彼此进行更多的通信,并且使得这种通信对于车辆的操作更为重要。例如,通信便于子系统共享信息,从而促使子系统自动对其他子系统采取的行动作出反应。

另外,对车辆安全的要求的不断增长正在推动系统冗余以实现更高的安全等级。冗余是通过将车辆的控制系统扩展到具有冗余ecu的程度来实现的。这进而在两个ecu之间需要一种鲁棒的且失效保护的通信方法。ecu之间的不良通信链路会对整个系统性能产生不利影响,从而导致安全隐患。

对于车辆来说,操作员和乘客的安全至关重要。为了提高安全等级,车辆配备有冗余系统。例如,冗余是通过在一些情况下将控制系统扩展到具有冗余微控制器的程度来实现的。具有冗余微控制器的系统在包括冗余微控制器之间的通信策略的各种操作中具有多种复杂性。

因此,旨在促进冗余微控制器进行通信而不会导致任何错误。



技术实现要素:

本文描述的技术方案解决了微控制器(mcu)之间的冗余通信信道情况下的技术难题。例如,该技术方案包括评估冗余通信网络中的mcu之间的通信消息的序列并响应性地作出反应。

根据一个或多个实施例,一种用于评估通过冗余通信信道接收的网络通信的计算机实现方法包括:第一控制器接收第二控制器发送的第一通信消息;以及第一控制器接收第二控制器发送的第二通信消息。该方法还包括:如果第一通信消息和第二通信消息都是通过第一通信信道接收的,则基于当前滚动计数器值落入第一预定范围内,以及如果第一通信消息和第二通信消息分别通过第一通信信道和第二通信信道接收的,则基于当前滚动计数器值落入第二预定范围内,第一控制器评估第二通信消息的滚动计数器以确定第二通信消息中的数据的有效性。该方法还包括响应于基于评估数据有效,第一控制器使用来自第二通信消息的数据。

根据一个或多个实施例,通信系统包括第一控制器、第二控制器以及耦接第一控制器和第二控制器的一个或多个冗余通信信道。第一控制器以冗余方式通过一个或多个通信信道将数据发送到第二控制器,并且第二控制器评估通过一个或多个冗余通信信道从第一控制器接收的数据的有效性。基于在该数据和先前数据都是通过第一通信信道接收的情况下当前滚动计数器值落入第一预定范围内以及基于在该数据和先前数据是分别通过第一通信信道和第二通信信道接收的情况下当前滚动计数器值落入第二预定范围内,进行该数据的有效性的评估。第二控制器响应于基于评估得出数据有效来使用该数据。

根据一个或多个实施例,一种计算机程序产品包括其中存储有计算机可执行指令的非暂时性计算机可读介质。该计算机可执行指令在由第一控制器执行时使第一控制器与第二控制器通信,该通信包括接收第二控制器发送的第一通信消息,以及接收第二控制器发送的第二通信消息。如果第一通信消息和第二通信消息都是通过第一通信信道接收的,则基于当前滚动计数器值落入第一预定范围内,如果第一通信消息和第二通信消息分别通过第一通信信道和第二通信信道接收的,则基于当前滚动计数器值落入第二预定范围内,第一控制器进一步评估第二通信消息的滚动计数器以确定第二通信消息中的数据的有效性。响应于基于评估确定数据有效,第一控制器使用来自第二控制器的数据。

从以下结合附图的描述中,这些和其他优点和特征将变得更加明显。

附图说明

被认为是本发明的主题在说明书结尾处的权利要求中被特别指出并明确地要求保护。从以下结合附图的详细描述中,本发明的前述和其他特征以及优点是显而易见的,在附图中:

图1示出了根据一个或多个实施例的包括转向系统的车辆;

图2示出了根据一个或多个实施例的冗余通信系统图。

图3-8描绘了根据一个或多个实施例的用于使用冗余通信信道评估两个mcu之间的通信的示例方法的流程图。

具体实施方式

如本文所使用的,术语模块和子模块是指一个或多个处理电路,诸如专用集成电路(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。本公开文本的转向控制系统和方法应用信号调节并进行摩擦分类以确定表面摩擦水平42,并将其作为控制信号,该控制信号能够用于通过转向辅助单元18来控制转向系统12的各方面。表面摩擦水平42也可以作为表明表面摩擦的变化的警告发送到abs44和/或esc系统46,其可以进一步分类为中心滑移(即,以较低的方向盘角度)或偏心滑移(即,以较高的方向盘角度),如本文进一步描述的。

可以使用例如本领域已知的控制器局域网(can)总线或其他车辆网络来执行与abs44、esc系统46以及其他系统(未示出)之间的通信,以交换诸如车辆速度信号34等信号。在一个或多个示例中,通信信道的硬件限制和多样化促使微处理器间通信链路使用不同的协议,例如can、串行通信接口(sci)、多处理器链路接口(mli)及其他。每一种协议可以满足数据处理的一部分安全方面,但是本质上不能确保涵盖所有安全方面。

控制模块40可以是ecu。车辆10包括额外的ecu。控制模块40从其他ecu接收信息,诸如车辆速度信号34、传感器信息和各种其他信息。如前所述,存在为微处理器间通信设计的多种通信方法,例如协议sci、can、mli及其他。促进车辆10中的两个(或更多个)ecu之间的通信或者控制模块40内的两个(或更多个)微控制器之间的通信的部件在本文统称为通信系统。

在通信系统中,可以使用多个架构来连接两个微控制器(mcu)进行通信。所使用的架构确定一种方法,该方法使两个mcu连接到在两个mcu之间传输通信消息的通信总线。本文描述的技术方案解决了在mcu之间具有冗余通信信道的通信系统的技术难题,该冗余通信信道传播的信息与通信总线上的通信消息传输的信息相同。对于在两个mcu之间传输的任何通信消息,接收到的信息的有效性至关重要。在某些情况下,例如,有效性还与消息的接收顺序相关联,接收方mcu120可能必须识别诸如丢失的消息、过时的消息、失序消息等情况。

通常,出于此目的,使用滚动计数器(rollingcounter),并且评估滚动编号的顺序以评价消息的性质。滚动计数器是与消息有效负载一起附加的流水号。通常情况下,流水号在消息接收时被评估并进行连续性验证。本文描述的技术方案包括用于评估所传输的消息的顺序并且在冗余通信系统中响应性地作出反应的算法。

图2描绘了根据一个或多个实施例的示例冗余通信系统。通信系统100是‘冗余’通信系统,因为该通信系统包括利用两个通信信道115和125以冗余方式彼此通信的至少两个mcu110和120,每一个通信信道发送相同的数据。数据以通信消息的形式通过通信信道115和125传递。mcu110和120之间的两个通信信道115和125可以使用相同或不同的通信协议。对于每次通信,从通信信道115和125中的每一个读取数据,并且接收的两种数据中的有效数据用于由接收方mcu110或120进行进一步处理。使用类似循环冗余校验(crc)、滚动计数器等算法来确定数据的有效性。这种通信系统100可以用于自主或半自主车辆、或者用于控制这种车辆的转向系统、或用于各种其他应用场合中。在本文描述的一个或多个示例中,mcu110被认为是发送数据的mcu(即源mcu110),而mcu120被认为是接收数据的mcu(即接收方mcu120)。然而,可以理解,在其他示例中,这些角色可以互换。

由于冗余通信信道115和125,通信系统100面临的技术难题包括具有不同数据处理方法的不同协议可以使得从两个冗余通信信道115和125接收的数据在瞬间不同。另外,技术难题包括对影响接收方mcu120的功能调度的不同协议进行的不同处理,其进一步使得接收方mcu120在瞬间处理不同的数据。此外,技术难题包括mcu110和120中的一个的重置造成失去通信系统100的同步。此外,信道等级的损坏/错误导致消息丢失并因此导致mcu110和120之间失去同步。本文描述的技术方案解决了这些技术难题并确定了使用冗余信道来处理两个mcu之间的通信的鲁棒方法。因此,本文描述的技术方案解决了根植于计算机技术中,特别是冗余通信系统中的技术难题。本文描述的技术方案通过改善使用不同通信协议的多个信道上的冗余通信的通信的同步来进一步改进计算机根植技术,特别是冗余通信系统。

在一个或多个示例中,技术方案使用两个周期性操作来促进评估两个mcu110和120之间的消息序列。第一周期性操作是数据接收,该数据接收以消息的接收速率来执行。在一个或多个示例中,数据接收模块执行数据接收操作。数据接收评估从通信信道115和125接收到的消息的有效性,并评估是否从信道115和125中的任何一个可获得良好的数据。数据接收进一步处理来自信道115和125之一的有效数据。

第二个周期性操作是重置检测,该复位检测以较低的速率执行-低于通信系统100在网络上重置并恢复活跃的典型时间。在一个或多个示例中,重置检测模块以预定速率执行重置检测。重置检测有助于在重置情况下立即重新同步。

本文描述的技术方案进一步促进使用基于滚动计数器检查的方法验证来自两个通信信道115和125的消息的数据序列。本文描述的技术方案便于识别通信信道115或125,来自通信信道115或125的数据用于进一步处理。本文描述的技术方案有利于来自具有相同或不同特性的通信信道115或125的数据序列验证。本文描述的技术方案有助于mcu110(或120)检测另一个mcu120(或110)的重置,并且重新同步滚动计数器检查。本文描述的技术方案有助于在信道115或125的数据损坏期间重新同步滚动计数器检查。本文描述的技术方案在滚动计数器参考改变时进一步促进滚动计数器检查的重新同步。本文描述的技术方案有利于表明是否报告滚动计数器故障。因此,本文描述的技术方案使用基于滚动计数器的同步检查解决了根植于计算机技术,尤其是冗余通信系统中的技术难题。通过改善多个信道中的冗余通信的通信同步并且在冗余通信系统中的mcu中的一个出现故障/重置的情况下进一步使基于滚动计数器的检查同步,本文描述的技术方案进一步改善计算机根植技术,尤其是使用滚动计数器检测的冗余通信系统。

图3-8描绘了根据一个或多个实施例的用于使用冗余通信信道评估两个mcu之间的通信的示例方法的流程图。流程图描绘由通信系统100中的接收方mcu120执行的方法。在本文描述的示例中,datavalid(数据有效性)是表明是否从通信信道115和125接收到有效数据的标记。此外,validdatasource(有效数据源)基于例如crc校验或滚动计数器检查表明两个冗余通信信道115和125中的哪个通信信道具有有效数据。此外,messageskipcounter(消息跳过计数器)是以‘无数据’或无效数据的形式指示丢失消息的数量的计数器。另外,mcuresetcounter(mcu重置计数器)是指示没有从通信信道115或125接收到数据的次数的计数器。这是对另一个mcu110(或120)的重置的指示。此外,rollcounterresynccounter(滚动计数器再同步计数器)是指示仅由于滚动计数器问题而导致数据丢失的次数的计数器。resyncthreshold(再同步阈值)是连续滚动计数器问题的次数,在该问题出现之后,能够假设mcu110和120中的任何一个失去滚动计数器的同步,并且因此必须发生重新同步(再同步)。

此外,如本文的示例中所使用的,rollcountererror(滚动计数器错误)标记指示滚动计数器故障是否要报告给操作员。resetstatus(重置状态)标记指示是否在另一个mcu110(或120)中发生了重置。接收方mcu120还使用counterthreshold(计数器阈值),其是与通信信道115或125中的数据传输的典型延迟量有关的值。此外,channelswitchdelay(信道切换延迟)提供与冗余通信信道115和125的动力学相关的值。这表示在任何时刻在通信信道115和125之间的消息接收的典型延迟。此外,维护previousrollingcounter(先前滚动计数器),它是先前存储的有效消息的滚动计数器的值。

图3描绘了根据一个或多个实施例的在冗余通信系统中执行错误检查的流程图。接收方mcu120在对经由通信信道115和125两者接收的数据执行一个或多个数据检查之后确定是否存在错误。如所描绘的,在步骤310,接收方mcu120检查是否没有从第一通信信道115接收到数据。如果接收到数据,在步骤310,接收方mcu120使用诸如crc等算法检查数据的有效性。如果crc校验通过,则在步骤315,接收方mcu120执行诸如滚动计数器检验等另一个检验。如果滚动计数器检验也通过,则在步骤320,接收方mcu120使用来自第一通信信道115的数据。

在执行的检查(305、310、315)中的任何一个失败的情况下,接收方mcu120检验是否可以使用来自第二通信信道125的数据。在步骤325,接收方mcu120检验是否从第二通信信道接收到数据。如果接收到数据,则在步骤330,接收方mcu120对经由第二通信信道125接收的数据执行有效性检查(诸如crc校验)。如果有效性检验通过,则在步骤335处,接收方mcu120还对来自第二通信信道125的数据执行滚动计数器检查。如果滚动计数器检查也通过,则在步骤340,接收方mcu120使用来自第二通信信道125的数据。在第二通信信道125的数据检查也失败的情况下,接收方mcu120依据哪一个数据检查失败来执行一个或多个错误处理。如果在步骤325经由第二通信信道125没有接收到数据,则在步骤345,接收方mcu执行第一错误处理。第一错误处理包括更新messageskipcounter、mcuresetcounter、rollcounterresynccounter、datavalid标记和rollcountererror标记。这些更新如表1所示。

表1

如果在步骤330经由第二通信信道125接收的数据的数据有效性检查失败,则在步骤350,接收方mcu120执行第二错误处理。第二错误处理包括更新messageskipcounter、mcuresetcounter、rollcounterresynccounter、datavalid标记和rollcountererror标记。这些更新如表2所示。

表2

如果在步骤335经由第二通信信道125接收的数据的滚动计数器检查失败,则在步骤355,接收方mcu120执行滚动计数器重新同步检查。如果需要重新同步,则在步骤340,接收方mcu120执行重新同步并使用经由第二通信信道125接收的数据。另外,如果重新同步正在进行,则接收方mcu120在步骤360执行第三错误处理。第三错误处理包括更新messageskipcounter、mcuresetcounter、rollcounterresynccounter、datavalid标记和rollcountererror标记。这些更新如表3所示。

表3

如果在步骤320和340发现来自第一通信信道115或第二通信信道125的数据有效且由接收方mcu120使用,则接收方mcu120更新messageskipcounter、mcuresetcounter、rollcounterresynccounter、datavalid标记和rollcountererror标记。这些更新如表4所示。

表4

图4描绘了根据一个或多个实施例的冗余通信系统的接收方mcu接收数据的示例方法的流程图。该方法包括在步骤410接收方mcu120在通信信道115和125中的一个或两个处接收数据。该方法还包括在步骤420对接收到的数据执行数据检查。如果需要的话,在第一通信信道115和第二通信信道125上执行数据检查,如本文所述(图3)。如果从通信信道115和125中的任何一个或两个接收的数据有效,则datavalid标记被设置为true(真)。因此,如果标记为true,则在步骤430和440,接收方mcu120使用来自指示具有有效数据的那一个通信信道115或125的数据。如果从通信信道115和125接收到的数据均无效,则接收方mcu120按照需要进行到错误状态更新和报告,如进一步描述的。

图5描绘了根据一个或多个实施例的用于滚动计数器检查响应的示例方法的流程图。如果滚动计数器检查通过,则在步骤510和520,接收方mcu120更新messageskipcounter、mcuresetcounter、rollcounterresynccounter、datavalid标记和rollcountererror标记。这些更新在表4中示出。此外,在步骤522,接收方mcu120指示正在使用的数据源是第二通信信道125(或115)。如果滚动计数器检查未通过,则在步骤530,接收方mcu120更新messageskipcounter、mcuresetcounter和rollcounterresynccounter。在步骤540和550,接收方mcu120还基于rollcountererror标记的状态来确定是否要报告滚动计数器错误,并且向操作员报告滚动计数器错误。如果在步骤540,基于rollcountererror标记的状态,没有报告滚动计数器错误,在这种情况下,datavalid标记值未被改变。

图6描绘了根据一个或多个实施例的用于执行滚动计数器检查的示例方法的流程图。该方法包括在步骤610由接收方mcu120检查源mcu110的reset(重置)标记是否被设定为true。如果源mcu110的reset标记被设定,则在步骤620,接收方mcu120将自己的reset标记设定为false(假)。在步骤625,通过将datavalid标记设定为true,接收方mcu120进一步将接收的数据用作有效数据。此外,接收方mcu120将rollcountererror标记设定为false,使得滚动计数器相关的错误不报告给操作员。

可选择地,如果源mcu110的reset标记没有被设定,则在步骤630,接收方mcu120确定是否执行滚动计数器重新同步。通过检查rollcounterresynccounter是否超过预定的resynchthreshold值来执行对重新同步的检查。如果需要执行重新同步,则在步骤635,接收方mcu120确定接收的数据是有效的并且将datavalid标记设定为true。此外,接收方mcu120将rollcountererror标记设定为false,使得滚动计数器相关的错误不报告给操作员。

相反,如果接收方mcu120确定不需要滚动计数器重新同步,则在步骤640,接收方mcu120验证滚动计数器值以确定是否发生滚动计数器错误。

图7描绘了根据一个或多个实施例的用于执行滚动计数器验证的示例方法的流程图。如本文所述,在滚动计数器检查期间进行验证(图6中的框640)。在步骤710,基于当前滚动计数器值(previousrollinggcounter)和消息跳过计数器计算预期滚动计数器值,基于计算预期滚动计数器值来执行验证。该计算如下执行:

预期滚动控制值expectedrollcntrvalue=先前滚动计数器previousrollingcounter+消息跳过计数器messageskipcounter+1。该方法还包括在步骤715确定是否经由与当前数据相同的通信信道接收到先前的有效数据。例如,如果接收方mcu120使用的先前有效数据是通过第一通信信道115接收的,并且如果进行有效性测试的当前数据也是经由第一通信信道115接收的,则通信信道是相同的,否则如果以上通信信道中的一个是第二通信信道125,则接收方mcu120使用不同的检查。换句话说,在这里,如果在时间t1从第一通信信道115(或125)接收到第一消息并且在时间t2从第一通信信道115(或125)接收到第二消息,则连续消息来自相同的通信信道。

如果先前有效通信信道与当前通信信道相同,则该方法包括在步骤720确保延迟的下限的结果不是读取旧的数据。例如,接收方mcu120检查messageskipcounter≥计数器阈值counterthreshold?。如果超过阈值,则在步骤725和727,将下限更新为下限lowerlimit=counterthreshold;否则,将下限更新为lowerlimit=messageskipcounter。

该方法还包括在步骤730确定滚动计数器值是否在预定范围内。在一个或多个示例中,在步骤735,如果来自相同通信信道115(或125)的连续消息的数据被认为有效,则新的滚动计数器落入范围(expectedrollcntrvalue-lowerlimit)<=当前滚动计数器currentrollingcounter<=(expectedrollcntrvalue+counterthreshold),其中expectedrollcntrvalue=previousrollingcounter+messageskipcounter+1,如果counterthreshold小于messageskipcounter,则lowerlimit=counterthreshold,否则lowerlimit=messageskipcounter。在一个或多个示例中,counterthreshold值取决于典型的信道干扰水平,并且是可校准的预设值。

如果数据被认为有效,则接收方mcu120将datavalid标记设定为true并且将rollcountererror标记设定为false。

如果滚动计数器不在预定范围内,则在步骤737,接收方mcu120认为接收到的数据无效。接收方mcu120将datavalid标记设定为false并且将rollcountererror标记设定为true。

可选择地,在不同通信信道的情况下(框715),该方法包括在步骤740确保延迟的下限的结果不是读取旧的数据。例如,接收方mcu120检查messageskipcounter≥(counterthreshold+channelswitchdelay(信道切换延迟))?。如果超过阈值,则在步骤745和747,将下限更新为lowerlimit=counterthreshold+channelswitchdelay;否则,将下限更新为lowerlimit=messageskipcounter。这里,来自不同通信信道的连续消息表明在时间t1从第一通信信道115(或125)接收第一消息,并且在时间t2从第二通信信道125(或115)接收第二消息。

如果从不同的通信信道115和125接收的连续消息的数据被认为有效,则在步骤750,新的滚动计数器落入第二预定范围内。在相同的通信信道情况下使用的预定范围是与在不同的通信信道情况下使用的第二预定范围不同的范围。第二预定范围规定为(expectedrollcntrvalue-lowerlimit)<=currentrollingcounter<=(expectedrollcntrvalue+(counterthreshold+channelswitchdelay)),其中expectedrollcntrvalue=previousrollingcounter+messageskipcounter+1,如果counterthreshold小于messageskipcounter,则lowerlimit=counterthreshold+channelswitchdelay,否则lowerlimit=messageskipcounter。在一个或多个示例中,counterthreshold值取决于典型的信道干扰水平,并且是可校准的预设值。在一个或多个示例中,channelswitchdelay值取决于两个通信信道115和125的动力学,并且是可校准的预设值。

在步骤755,如果当前滚动计数器值满足第二预定范围,则数据被视为有效。如果数据被视为有效,则接收方mcu120将datavalid标记设定为true并且将rollcountererror标记设定为false。

在步骤760,如果滚动计数器不在第二预定范围内,则接收方mcu120检查是否报告滚动计数器错误。基于比较进行确定,该比较指定为:(expectedrollcntrvalue-(counterthreshold+channelswitchdelay))<=currentrollingcounter<=(expectedrollcntrvalue+(counterthreshold+channelswitchdelay)),其中(expectedrollcntrvalue=previousrollingcounter+messageskipcounter+1)。如果条件满足,滚动计数器错误不会报告给操作员。在步骤770,接收方mcu120认为接收的数据无效并且不报告滚动计数器错误。接收方mcu120将datavalid标记设定为false并且将rollcountererror(滚动计数器错误)标记设定为false。在步骤775,如果不满足条件,则接收方mcu120认为接收到的数据无效并且报告滚动计数器错误。接收方mcu120将datavalid标记设定为false并且将rollcountererror标记设定为true。

可选地或附加地,如果resetstatus标记被设定为true,则接收到的数据被视为有效(框610,图6)。

图8描绘了根据一个或多个实施例的用于检测源mcu的重置状态的流程图。在步骤810,如果“无数据”的出现次数超过具体的预定阈值,则接收方mcu120认为源mcu110已被重置。可以基于通信信道115和125中的任何一个上没有接收到数据的时间量来确定‘无数据’的出现次数。例如,接收方mcu120监测自接收方mcu120接收先前数据起源mcu110没有在通信信道115和125中的任何一个上发送任何数据的时间量。在步骤820,如果自最后一个数据起计算的持续时间超过预定的resetthreshold(重置阈值),则接收方mcu120确定源mcu110已被重置。为了表明这种情况,接收方mcu120的resetstatus(重置状态)标志被设定为true。可选择地,在步骤830,如果未超过resetthreshold,则接收方mcu120继续等待来自源mcu110的数据并且监测自最后一个数据算的持续时间。在这种情况下,保持接收方mcu120的resetstatus标记以指示false。resetthreshold基于通信系统100重置mcu110/120并重新启动操作花费的典型时间。

接收方mcu120保持messageskipcounter,其在每一个丢失的消息中递增。接收方mcu120期望下一个(新的)滚动计数器的值比先前的滚动计数器值大了messageskipcounter的值。如果resyncthreshold量的滚动计数器问题连续发生,则接收方mcu120识别通信系统100中的mcu110和120中的任何一个失去滚动计数器同步,并且因此触发与源mcu110的重新同步。这里滚动计数器问题表示下一个滚动计数器不会比先前滚动计数器值大messageskipcounter值。在一个或多个示例中,如果下一个滚动计数器比先前滚动计数器值大了(或等于)messageskipcounter值,则不会触发失去同步的情况。

此外,接收方mcu120将counterthreshold的延迟值用于同一通信信道115(或125)内的滚动计数器评估。此外,对于不同通信信道115和125内的滚动计数器评估,接收方mcu120使用channelswitchdelay的附加延迟值。

通信系统100可以是车辆的一部分,其中mcu是操作车辆的一个或多个部件的电子控制单元(ecu)。在这种情况下,mcu之间的通信可以在can总线或车辆内的其他这种网络总线上。

本文描述的技术方案利用两个mcu之间的冗余通信信道促进mcu之间的通信系统,mcu在mcu使用滚动计数器算法时传送相同的信息以评估通信消息的有效性。该技术方案通过评估滚动计数器值评价消息的性质的顺序促进这种通信系统识别丢失的消息、过时消息、失序消息。

本文描述的技术方案解决了微控制器(mcu)之间的冗余通信信道情况下的技术难题,该微控制器传送相同的信息并使用滚动计数器。例如,技术方案包括评估冗余通信网络中的mcu之间的通信消息的序列并响应性地作出反应的方法。

本技术方案可以是处于任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质(或多个计算机可读存储媒介),其上具有使处理器执行本文技术方案的各个方面的计算机可读程序指令。

参考根据技术方案实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图在本文中描述本技术方案的各方面。应当理解,流程图图示和/或框图的每个方框以及流程图图示和/或框图中的多个方框的组合可以由计算机可读程序指令来实现。

附图中的流程图和框图示出了根据本文技术方案的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。就此而言,流程图或框图中的每个方框可以表示指令的模块、区段或一部分,该指令包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代的实施方式中,这些方框中提到的功能可能不按照附图中记载的顺序出现。例如,依次示出的两个方框实际上可以大体同时执行,或者这些方框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图示中的每一个方框以及框图和/或流程图图示中的多个方框的组合可以由基于硬件的专用系统来实现,该系统执行指定的功能或动作,或者实施专用硬件和计算机指令的组合。

还将理解,本文例示的执行指令的任何模块、单元、部件、服务器、计算机、终端或设备可以包括或访问诸如存储媒介、计算机存储媒介等计算机可读媒介或者诸如磁盘、光盘或磁带等数据存储设备(可移动和/或不可移除)。计算机存储媒介可以包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块等信息或其他数据的易失性和非易失性、可移动和不可移动媒介。这种计算机存储媒介可以是设备的一部分,或者是可访问的或可连接到该设备。本文描述的任何应用或模块可以使用可由这种计算机可读媒介存储或以其他方式保存的计算机可读/可执行指令来实现。

尽管仅结合有限数量的实施例详细描述了技术方案,但是应当容易地理解,这些技术方案不限于这些公开的实施例。相反,这些技术方案可以被修改为包含直到此时尚未描述的任何数量的变化、变更、替代或等同布置,它们与这些技术方案的精神和范围相一致。此外,虽然已经描述了技术方案的各种实施例,但是应当理解,这些技术方案的各方面可以仅包括所描述的实施例中的一些。因此,这些技术方案不被视为受前述描述的限制。

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