车载网络系统、车载网络系统中通信控制方法及车载网关与流程

文档序号:14305040阅读:468来源:国知局
车载网络系统、车载网络系统中通信控制方法及车载网关与流程

本公开涉及车载网络系统、对车载网络系统中的通信进行控制的通信控制方法以及车载网关。



背景技术:

结合包括连接至总线的多个ecu(电子控制单元)的can(控制器局域网)网络,已知一种在检测到错误之后减小通信速度的数据传输方法(参见例如日本专利申请公开第2013-538025号(jp2013-538025a))。



技术实现要素:

在上述方法中,当检测到错误时,仅减小通信速度;因此,当通信速度减小时,数据占用总线的时间长度增加到长于在通信速度减小之前的时间长度,并且可能发生诸如与其他数据冲突或者例如在传输其他数据时延迟之类的通信故障。

本公开提供了可能性较小或者不太可能遭受通信故障或数据传输延迟的车载网络系统、用于控制车载网络系统中的通信的方法以及车载网关。

根据本公开内容的第一方面的车载网络系统包括:第一总线;连接至第一总线的多个第一控制器;错误检测单元,其检测在第一总线中发生的错误;发生程度测量单元,其测量由错误检测单元检测到的错误发生程度;以及通信控制器,其被配置成当错误发生程度变为等于或大于第一程度时,将多个第一控制器中的至少一个第一控制器的通信速度和通信数据量从第一通信速度和第一通信数据量减小到第二通信速度和第二通信数据量。通信控制器被配置成减小上述第一控制器中的至少一个第一控制器的通信速度和通信数据量,使得以第一通信速度发送第一通信数据量的数据花费的第一通信时间长于以第二通信速度发送第二通信数据量的数据花费的第二通信时间。

因此,使在减小通信速度和通信数据量之后的数据通信时间等于或短于在减小通信速度和通信数据量之前的数据通信时间,以使得在减小通信速度和数据量之后的数据可以与减小之前的数据通信时间的帧适配。换言之,使在减小通信速度和通信数据量之前的第一数据通信时间长于在减小通信速度和通信数据量之后的第二数据通信时间,以使得在减小通信速度和数据量之后的数据可以与减小之前的第一数据通信时间的帧适配。

因此,即使减小了通信速度和通信数据量,也可以抑制通信故障的发生或数据通信的延迟。

在如上所述的车载网络系统中,通信控制器可以通过将第一通信数据量的数据划分成预定数目的数据来将通信数据量减小到第二通信数据量。

因此,如果具有第一通信数据量的数据被划分成预定数目的数据,则可以容易地减小通信数据量,并且可以容易地管理通过减小通信数据量而获得的数据。

因此,可以提供可以容易地减小通信数据量并且可以容易地管理数据的车载网络系统。

在如上所述的车载网络系统中,通信控制器可以以第二通信速度将第二通信数据量的第一数据发送至上述第一控制器中的至少一个第一控制器,并且已经接收到第一数据的第一控制器可以以第二通信速度将第二通信数据量的第二数据输出至第一总线。

因此,如果第一控制器从通信控制器接收到以第二通信速度发送的第二通信数据量的第一数据,则第一控制器以第二通信速度输出第二通信数据量的第二数据。因此,不需要提供专用信号或信息来减小通信速度和通信数据量。

因此,可以抑制通信故障的发生和数据传输的延迟,而不增加经由第一总线发送的数据的量。

在如上所述的车载网络系统中,根据由错误检测单元在第一总线中未检测到错误的程度,发生程度测量单元可以减小第一总线中的错误发生程度。当第一总线中的错误发生程度变为等于零时,通信控制器可以将通信速度和通信数据量已经减小到第二通信速度和第二通信数据量的第一控制器的通信速度和通信数据量恢复到第一通信速度和第一通信数据量。

因此,当错误发生程度变为等于零时,通信速度和通信数据量减小到减小之前的第一通信速度和第一通信数据量。因此,即使通信速度和通信数据量恢复到较高通信速度和较大通信数据量,系统仍处于可能性非常小或者不太可能发生通信故障或数据传输延迟的状况。

因此,可以提供这样的车载网络系统,其中,在错误发生程度变为等于零之后,可以再次以较高通信速度执行较大通信数据量的通信。

在如上所述的车载网络系统中,通信控制器可以以第一通信速度将第一通信数据量的第三数据发送至通信速度和通信数据量已经减小到第二通信速度和第二通信数据量的第一控制器,并且已经接收到第三数据的第一控制器可以以第一通信速度将第一通信数据量的第四数据输出至第一总线。

因此,如果第一控制器从通信控制器接收到以第一通信速度发送的第一通信数据量的第三数据,则将通信速度和通信数据量恢复到第一通信速度和第一通信数据量,并且以第一通信速度输出第一通信数据量的第四数据。因此,不需要提供专用信号或信息来将通信速度和通信数据量恢复到第一通信速度和第一通信数据量。

因此,即使当通信速度和通信数据量恢复到第一通信速度和第一通信数据量时,也可以抑制通信故障的发生或数据传输的延迟,而不增加经由第一总线发送的数据的量。

如上所述的车载网络系统还可以包括连接至第一总线的第二控制器。当第一总线中的错误发生程度变为等于或大于比第一程度大的第二程度时,通信控制器可以将第二控制器的通信速度和通信数据量从第一通信速度和第一通信数据量减小到第二通信速度和第二通信数据量,使得第一通信时间长于第二通信时间。

因此,当错误发生程度变为等于或大于大于比第一程度大的第二程度时,第二控制器减小通信速度和通信数据量。因此,可以将两个或更多个控制器分类成两个或更多个组,并且针对每个组改变减小通信速度和通信数据量的条件。

因此,可以提供这样的车载网络系统,其中,可以根据第一控制器和第二控制器的类型、用途等,针对每个组来减小通信速度和通信数据量,同时抑制通信故障的发生或数据传输的延迟。

在如上所述的车载网络系统中,当第一总线中的错误发生程度变为等于或大于第二程度时,通信控制器可以以第二通信速度将第二通信数据量的第五数据发送至第二控制器,并且已经接收到第五数据的第二控制器可以以第二通信速度将第二通信数据量的第六数据输出至第一总线。

因此,如果第二控制器从通信控制器接收到以第二通信速度发送的第二通信数据量的第五数据,则第二控制器以第二通信速度输出第二通信数据量的第六数据。因此,不需要提供专用信号或信息来减小通信速度和通信数据量。

因此,可以抑制通信故障的发生或数据传输的延迟,而不增加经由第一总线发送的数据的量。

在如上所述的车载网络系统中,根据由错误检测单元在第一总线中未检测到错误的程度,发生程度测量单元可以减小第一总线中的错误发生程度,并且当第一总线中的错误发生程度变为等于零时,通信控制器可以将第二控制器的通信速度和通信数据量从第二通信速度和第二通信数据量恢复到第一通信速度和第一通信数据量。

因此,当错误发生程度变为等于零时,通信控制器将通信速度和通信数据量恢复到在其减小之前的第一通信速度和第一通信数据量。因此,即使将通信速度和通信数据量恢复到较高通信速度和较大通信数据量,系统仍处于可能性非常小或者不太可能发生通信故障和数据传输延迟的状况。

因此,可以提供这样的车载网络系统,其中,在错误发生程度变为等于零之后,可以再次以较高通信速度执行较大通信数据量的通信。

在如上所述的车载网络系统中,当第一总线中的错误发生程度变为等于零时,通信控制器可以以第一通信速度将第一通信数据量的第七数据发送至第二控制器,并且已经接收到第七数据的第二控制器可以以第一通信速度将第一通信数据量的第八数据输出至第一总线。

因此,当第二控制器从通信控制器接收到以第一通信速度发送的第一通信数据量的第七数据时,第二控制器将通信速度和通信数据量恢复到第一通信速度和第一通信数据量,并且以第一通信速度输出第一通信数据量的第八数据。因此,不需要提供专用信号或信息来将通信速度和通信数据量恢复到第一通信速度和第一通信数据量。

因此,当通信速度和通信数据量恢复到第一通信速度和第一通信数据量时,可以抑制通信故障的发生和数据传输的延迟,而不增加经由第一总线发送的数据的量。

如上所述的车载网络系统还可以包括第二总线以及连接至第二总线的第二控制器。在该系统中,当第二总线中的错误发生程度变为等于或大于比第一程度大的第二程度时,通信控制器可以将第二控制器的通信速度和通信数据量从第一通信速度和第一通信数据减小到第二通信速度和第二通信数据量,使得第一通信时间长于第二通信时间。

因此,关于第二控制器,当错误发生程度变为等于或大于比第一程度大的第二程度时,通信速度和通信数据量减小。因此,可以将多个控制器分类成两个或更多个组,并且针对每个组改变减小通信速度和通信数据量的条件。

因此,可以提供这样的车载网络系统,其中,可以根据第一控制器和第二控制器的类型、用途等针对每个组来减小通信速度和通信数据量,同时抑制通信故障的发生或数据传输的延迟。

在如上所述的车载网络系统中,当第二总线中的错误发生程度变为等于或大于第二程度时,通信控制器可以以第二通信速度将第二通信数据量的第五数据发送至第二控制器,并且已经接收到第五数据的第二控制器可以以第二通信速度将第二通信数据量的第六数据输出至第二总线。

因此,当第二控制器从通信控制器接收到以第二通信速度发送的第二通信数据量的第五数据时,第二控制器以第二通信速度输出第二通信数据量的第六数据。因此,不需要提供专用信号或信息来减小通信速度和通信数据量。

因此,可以抑制通信故障的发生和数据传输的延迟,而不增加经由第二总线发送的数据的量。

在如上所述的车载网络系统中,根据由错误检测单元在第二总线中未检测到错误的程度,发生程度测量单元可以减小第二总线中的错误发生程度。当第二总线中的错误发生程度变为等于零时,通信控制器可以将第二控制器的通信速度和通信数据量从第二通信速度和第二通信数据量恢复到第一通信速度和第一通信数据量。

因此,当错误发生程度变为等于零时,通信速度和通信数据量恢复到其减小之前的第一通信速度和第一通信数据量。因此,即使将通信速度和数据量恢复到较高通信速度和较大通信数据量,也可能性非常小或者不太可能发生通信故障和数据传输延迟。

因此,可以提供这样的车载网络系统,其中,在错误发生程度变为等于零之后,可以再次以较高通信速度执行较大通信数据量的通信。

在如上所述的车载网络系统中,当第二总线中的错误发生程度变为等于零时,通信控制器可以以第一通信速度将第一通信数据量的第七数据发送至第二控制器,并且已经接收到第七数据的第二控制器可以以第一通信速度将第一通信数据量的第八数据输出至第二总线。

因此,当第二控制器从通信控制器接收到以第一通信速度发送的第一通信数据量的第七数据时,通信速度和通信数据量恢复到第一通信速度和第一通信数据量,并且第二控制器以第一通信速度输出第一通信数据量的第八数据。因此,不需要提供专用信号或信息来将通信速度和数据量恢复到第一通信速度和第一通信数据量。

因此,即使当通信速度和通信数据量恢复到第一通信速度和第一通信数据量时,也可以抑制通信故障的发生和数据传输延迟,而不增加经由第二总线发送的数据的量。

本公开内容的第二方面涉及一种用于控制车载网络系统中的通信的通信控制方法,车载网络系统包括总线以及连接至总线的多个第一控制器。通信控制方法包括以下步骤:检测总线中发生的错误;测量检测到的错误发生程度;以及当错误发生程度变为等于或大于第一程度时,将多个第一控制器中的至少一个第一控制器的通信速度和通信数据量从第一通信速度和第一通信数据量减小到第二通信速度和第二通信数据量,使得以第一通信速度发送第一通信数据量的数据花费的第一通信时间长于以第二通信速度发送第二通信数据量的数据花费的第二通信时间。

根据本公开内容的第三方面的车载网关包括控制器,该控制器被配置成:检测与连接至第一总线的多个第一控制器的通信相关的错误;测量错误的发生程度;以及当错误发生程度变为等于或大于第一程度时,将多个第一控制器中的至少一个第一控制器的通信速度和通信数据量从第一通信速度和第一通信数据量减小到第二通信速度和第二通信数据量,其中,以第一通信速度发送第一通信数据量的数据花费的第一通信时间长于以第二通信速度发送第二通信数据量的数据花费的第二通信时间。

因此,使在减小通信速度和通信数据量之后的数据通信时间等于或短于在减小通信速度和通信数据量之前的数据通信时间,使得在减小通信速度和数据量之后的数据可以与减小之前的数据的通信时间的帧适配。换言之,使在减小通信速度和通信数据量之前的第一数据通信时间长于在减小通信速度和通信数据量之后的第二数据通信时间,以使得在减小通信速度和数据量之后的数据可以与减小之前的第一数据通信时间的帧适配。

因此,即使减小了通信速度和通信数据量,也可以抑制通信故障的发生和数据传输的延迟。

因此,可以提供较可能性较小或者不太可能遭受通信故障和数据传输延迟的车载网络系统以及控制该车载网络系统中的通信的通信控制方法。

附图说明

下面将参照附图描述本发明的示例性实施方式的特征、优点以及技术和工业意义,在附图中,相同的附图标记表示相同的元件,以及其中:

图1是示出一个实施方式的车载网络系统的配置的一个示例的图;

图2是示出cgw-ecu的内部配置的框图;

图3是示出ecu的内部配置的框图;

图4是can-fd格式的can-fd帧的一个示例的图;

图5是can格式的can帧的一个示例的图;

图6是用于说明当cgw-ecu将数据输出至can总线时的操作的图;

图7是示出由cgw-ecu执行的控制例程的流程图;

图8是示出由ecu的通信控制器执行的控制例程的流程图;

图9是示出cgw-ecu的操作的一个示例的图;

图10a是示出减小错误发生次数的计数值的方法的图;

图10b是示出减小错误发生次数的计数值的方法的图;以及

图10c是示出减小错误发生次数的计数值的方法的图。

具体实施方式

在下文中,将描述采用车载网络系统形式的本公开的一个实施方式以及用于控制车载网络系统中的通信的通信控制方法。

<实施方式>图1示出了根据实施方式的车载网络系统100的配置的一个示例。

车载网络系统100包括cgw(中央网关)-ecu(电子控制单元)110、can(控制器局域网)120以及多个ecu130。

can120具有can总线121、122、123。多个ecu130包括引擎ecu131、pcs(撞前安全)-ecu132、lka(车道稳定辅助)-ecu133、制动ecu134、转向ecu135、变速器ecu136、车体ecu137、仪表ecu138和空调ecu139。

在下面的描述中,引擎ecu131、pcs-ecu132、lka-ecu133、制动ecu134、转向ecu135、变速器ecu136、车体ecu137、仪表ecu138和空调ecu139将被统称为“ecu131至139”。

此外,引擎ecu131、pcs-ecu132、lka-ecu133、制动ecu134、转向ecu135和变速器ecu136将被统称为“ecu131至136”。

当多个ecu130(ecu131至139)未彼此特别区分时,每个ecu将被称为“ecu130”。虽然可能存在ecu131至139之外的ecu,但是将使用ecu131至139来描述本实施方式。

此处,除了图1之外,将使用图2和图3来描述车载网络系统100。图2是示出cgw-ecu110的内部配置的框图。图3是示出ecu131至136中的每个的内部配置的框图。

cgw-ecu110和ecu130中的每个由包括cpu(中央处理单元)、ram(随机存取存储器)、rom(只读存储器)、时钟生成单元、输入输出接口、通信接口、发送和接收单元、内部总线等的计算机来提供。在图2和图3中,示出了通过执行某些程序在cpu中实现的功能块。

车载网络系统100被安装在车辆上,并且在ecu130之间执行通信。在下文中,除非另有说明,否则车辆是指其上安装了车载网络系统100的车辆。

cgw-ecu110具有主控制器110a、错误检测单元111、112、113、发生程度测量单元114和通信控制器115。此外,can120的can总线121、122、123连接至cgw-ecu110。

cgw-ecu110将引擎ecu131、pcs-ecu132和lka-ecu133输出至can总线121的数据中继至can总线122和123,并且将制动ecu134、转向ecu135和变速器ecu136输出至can总线122的数据中继至can总线121、123。cgw-ecu110还将车体ecu137、仪表ecu138和空调ecu139输出至can总线123的数据中继至can总线121和122。cgw-ecu110是中继装置和网关装置的一个示例,该网关装置在can总线121与can总线122之间中继数据。

因此,cgw-ecu110在can总线121、122、123之间中继数据,使得ecu131至139可以经由can总线121、122、123彼此传递数据。

数据的发送速度意味着经由can120传输数据的速度(数据传输速度)。

主控制器110a是控制cgw-ecu110的处理的控制器。后面将使用图6的流程图来描述主控制器110a的处理的内容的一个示例。

错误检测单元111、112、113分别连接至can总线121、122、123,并且独立地检测can总线121、122、123中发生的错误。错误检测单元111、112、113在cgw-ecu110的每个控制周期中执行错误检测。

错误检测单元111检测例如在cgw-ecu110输出数据至can总线121的同时发生位错误时或者在cgw-ecu110经由can总线121接收错误帧时的错误。当引擎ecu131、pcs-ecu132或者lka-ecu133中发生位错误、帧错误或crc错误时,cgw-ecu110经由can总线121接收错误帧。因此,错误检测单元111检测can总线121中发生的错误。

如果错误检测单元111检测到错误,则将错误标志设置为“1”。如果错误检测单元111没有检测到任何错误,则将错误标志设置为“0”。当经由can总线121传递的数据正常时,错误标志为“0”。

错误检测单元112检测以下情况下的错误:例如在cgw-ecu110输出数据至can总线122的同时发生位错误时,或者在制动ecu134、转向ecu135或变速器ecu136中发生位错误、帧错误或crc错误从而cgw-ecu110经由can总线122接收到错误帧时。因此,错误检测单元112检测can总线122中发生的错误。

如果错误检测单元112检测到错误,则与错误检测单元111一样将错误标志设置为“1”。如果错误检测单元112没有检测到任何错误(如果经由can总线122发送的数据是正常的),则将错误标志设置为“0”。

错误检测单元113检测以下情况下的错误:例如在cgw-ecu110将数据输出至can总线123的同时发生位错误时,或者在车体ecu137、仪表ecu138或空调ecu139中发生位错误、帧错误或crc错误从而cgw-ecu110经由can总线123接收到错误帧时。错误检测单元113以与错误检测单元111和112相同的方式设置错误标志。

在本实施方式中,对错误检测单元111和112检测到错误的次数进行计数,而不对由错误检测单元113检测到错误的次数进行计数。

发生程度测量单元114单独并且独立地对由错误检测单元111和112检测到错误的次数进行计数。检测到错误的次数是错误的发生次数,并且是错误发生程度的一个示例。发生程度测量单元114的计数值表示can总线121中发生错误的次数。

更具体地,发生程度测量单元114对错误检测单元111将错误标志设置为“1”的次数进行计数(递增)。如果在错误发生次数为一次或更多次时错误检测单元111将错误标志设置为“0”,则发生程度测量单元114将计数值递减。

类似地,发生程度测量单元114对错误检测单元112将错误标志设置为“1”的次数进行计数(递增)。即,发生程度测量单元114的计数值表示can总线122中发生错误的次数。如果在错误发生次数为一次或更多次时错误检测单元112将错误标志设置为“0”,则发生程度测量单元114将计数值递减。

由发生程度测量单元114获得的计数值被保存在cgw-ecu110的ram等中。

通信控制器115根据can总线121和122中的错误发生次数来控制经由can总线121和122传输的数据的通信速度和通信数据量。通信控制器115(cgw-ecu110)根据can总线121和122中的错误发生次数全面地执行经由can总线121和122传输的数据的通信速度和通信数据量的切换。

ecu131至136根据由通信控制器115切换的通信速度和通信数据量来切换通信速度和通信数据量,但是如果ecu131至136不被通信控制器115切换,则ecu131至136无法由自己来切换通信速度和通信数据量。

在can总线121和122中没有发生错误的情况下,经由can总线121和122传输的数据的通信速度和通信数据量被设置为较高的通信速度和较大的通信数据量。作为一个示例,较高的通信速度为2mbps,较大的通信数据量为32字节。较高的通信速度是第一通信速度的一个示例,较大的通信数据量是第一通信数据量的一个示例。

如果can总线121中的由发生程度测量单元114计数的错误发生次数变为等于或大于预定次数n1,则通信控制器115减小cgw-ecu110输出至can总线121以将数据传输至引擎ecu131和pcs-ecu132的数据的通信速度和通信数据量。在此阶段由cgw-ecu110输出的数据是第一数据的一个示例。基于数据中包括的id(标识)来确定引擎ecu131和pcs-ecu132中的哪个是要传输的数据的目的地。

因此,引擎ecu131或pcs-ecu132减小输出至can总线121的数据的通信速度和通信数据量。以这种方式,减小了连接至can总线121的两个或更多个第一控制器(引擎ecu131和pcs-ecu132)中的至少一个第一控制器(引擎ecu131或pcs-ecu132)的通信速度和通信数据量。在此阶段由引擎ecu131、pcs-ecu132输出的数据是第二数据的一个示例。

如果can总线121中的由发生程度测量单元114计数的错误发生次数等于变为或大于比预定次数n1大的预定次数n2,则通信控制器115减小cgw-ecu110输出至can总线121以将数据传输至引擎ecu131、pcs-ecu132和lka-ecu133的数据的通信速度和通信数据量。在此阶段cgw-ecu110输出至can总线121以将数据传输至lka-ecu133的数据是第五数据的一个示例。基于数据中包括的id(标识)来确定引擎ecu131、pcs-ecu132和lka-ecu133中的哪个是要传输的数据的目的地。

因此,引擎ecu131、pcs-ecu132和lka-ecu133减小输出至can121的数据的通信速度和通信数据量。在此阶段由lka-ecu133输出的数据是第六条数据的一个示例。

在这些情况下,通信控制器115减小通信速度和通信数据量,使得在减小通信速度和通信数据量之后数据的通信时间变为等于或短于在减小通信速度和通信数据量之前数据的通信时间。换言之,通信控制器115减小通信速度和通信数据量,以使得在减小通信速度和通信数据量之前的数据通信时间(第一数据通信时间)变得长于在减小通信速度和通信数据量之后的数据通信时间(第二数据通信时间)。

更具体地,作为一个示例,通信控制器115将通信速度从较高通信速度(2mbps)减小到较低通信速度(500kbps),并且将通信数据量从较大量的32字节减小到较小量的8字节。较低通信速度是第二通信速度的一个示例,较小通信数据量是第二通信数据量的一个示例。

类似地,如果由发生程度测量单元114计数的can总线122中的错误发生次数变为等于或大于预定次数n1,则通信控制器115减小cgw-ecu110输出至can总线122以将数据传输至制动ecu134和转向ecu135的数据的通信速度和通信数据量。在此阶段由cgw-ecu110输出的数据是第一数据的一个示例。基于数据中包括的id(标识)来确定制动ecu134和转向ecu135中哪个是要传输数据的目的地。

因此,制动ecu134和转向ecu135减小输出至can总线122的数据的通信速度和通信数据量。在此阶段由制动ecu134或转向ecu135输出的数据是第二数据的一个示例。

如果can总线122中的由发生程度测量单元114计数的错误发生次数变为等于或大于比预定次数n1大的预定次数n2,则通信控制器115减小cgw-ecu110输出至can总线122以将数据传输至制动ecu134、转向ecu135和变速器ecu136的数据的通信速度和通信数据量。在此阶段cgw-ecu110输出至can总线122以将数据发送至变速器ecu136的数据是第五数据的一个示例。基于数据中包括的id(标识)来确定制动ecu134、转向ecu135和变速器ecu136中的哪个是要传输数据的目的地。

因此,制动ecu134、转向ecu135和变速器ecu136减小输出至can总线122的数据的通信速度和通信数据量。在此阶段由变速器ecu136输出的数据是第六数据的一个示例。

关于从cgw-ecu110发送至can总线122的数据,通信控制器115也将通信速度从较高通信速度(2mbps)减小到较低通信速度(500kbps),并且将通信数据量从32字节减小到8字节。

车载网络系统100使用根据can-fd(具有灵活数据的can)标准的数据帧(can-fd帧)以及根据can标准的数据帧(can帧)。can-fd帧用于以较高通信速度对较大量的通信数据进行数据通信,而can帧用于以较低通信速度对较小量的通信数据进行数据通信。通过改变can-fd帧和can帧的控制字段中包括的fdf(灵活数据格式)的值来执行can-fd帧与can帧之间的切换。

当fdf的值为“1”时,数据格式被设置为具有较高通信速度(2mbps)和较大通信数据量(32字节)的can-fd帧。当fdf的值为“0”时,数据格式被设置为具有较低通信速度(500kbps)和较小通信数据量(8字节)的can帧。

通信控制器115具有数据保持单元115a、115b、115c、115d。数据保持单元115a保持被设置为经由can总线121将从cgw-ecu110发送至引擎ecu131或pcs-ecu132的数据的fdf的值。数据保持单元115b保持被设置为经由can总线121从cgw-ecu110发送至lka-ecu133的数据的fdf的值。

数据保持单元115c保持被设置为经由can总线122从cgw-ecu110发送至制动ecu134或转向ecu135的数据的fdf的值。数据保持单元115d保持被设置为经由can总线122从cgw-ecu110发送至变速器ecu136的数据的fdf的值。

当cgw-ecu110的控制开始时,经由can总线121和122传输的所有数据的fdf值被设置为“1”,并且存储在数据保持单元115a至115d中的值也被设置为“1”。在can总线121和122中未发生错误的情况下,经由can总线121和122传输的所有数据的fdf值以及存储在数据保持单元115a至115d中的值被保持(保存)为“1”。

当can总线121中的错误发生次数小于预定次数n1时,通信控制器115将数据保持单元115a和115b的值保持(保存)为“1”。

当can总线121中的错误发生次数等于或大于预定次数n1并且小于预定次数n2时,通信控制器115将数据保持单元115a的值设置为“0”,并且将数据保持单元115b的值保持(保存)为“1”。

当can总线121中的错误发生次数等于或大于预定次数n2时,通信控制器115将数据保持单元115a和115b的值设置为“0”。

类似地,当can总线122中的错误发生次数小于预定次数n1时,通信控制器115将数据保持单元115c和115d的值保持(保存)为“1”。

当can总线122中的错误发生次数等于或大于预定次数n1并且小于预定次数n2时,通信控制器115将数据保持单元115c的值设置为“0”,并且将数据保持单元115d的值保持(保存)为“1”。

当can总线122中的错误发生次数等于或大于预定次数n2时,通信控制器115将数据保持单元115c和115d的值设置为“0”。

为了将通信数据量从32字节减小到8字节(将其减小到四分之一),其中数据字段具有32字节数据量的can-fd帧格式的一条数据被划分成四条,从而产生其中数据字段具有8字节数据量的can帧格式的四条数据。

通过以上述方式划分数据并且将数据格式从can-fd帧变为can帧,使得划分之后的一个can帧的通信时间等于或短于划分之前的一个can-fd帧的通信时间。利用这样划分的数据,可以容易地减小通信数据量,并且可以容易地管理具有减小的通信数据量的数据。稍后将使用图4和图5来描述使划分之后的通信时间等于或短于划分之前的通信时间的方式。

当经由can总线121和122传递的数据正常时,发生程度测量单元114将表示错误发生次数的计数值递减。因此,在计数值变为等于或大于预定次数n1或预定次数n2之后,可以将计数值减小。

然后,作为计数值递减的结果,由发生程度测量单元114关于can总线121或122计数的错误发生次数可以恢复到0。

在这种情况下,通信控制器115将数据保持单元115a、115b的值或者数据保持单元115c、115d的值恢复到“1”,并且将输出至can总线121或122的数据的通信速度和通信数据量恢复到较高通信速度和较大通信数据量。

如果发生程度测量单元114关于can总线121的计数值从等于或大于预定次数n1并且小于预定次数时间n2的条件恢复到零,则从cgw-ecu110发送至引擎ecu131或pcs-ecu132的数据的通信速度和通信数据量被恢复到较高通信速度和较大通信数据量。在此阶段从cgw-ecu110(通信控制单元115)发送的数据是第三数据的一个示例。

因此,引擎ecu131或pcs-ecu132输出至can总线121的数据的通信速度和通信数据量也恢复到较高通信速度和较大通信数据量。在此阶段引擎ecu131或pcs-ecu132输出至can总线121的数据是第四数据的一个示例。

如果发生程度测量单元114关于can总线121的计数值从等于或大于预定次数n2的条件恢复到零,则从cgw-ecu110发送到引擎ecu131、pcs-ecu132或lka-ecu133的数据的通信速度和通信数据量被恢复到较高通信速度和较大通信数据量。在此阶段cgw-ecu110输出至can总线121以将数据传输至lka-ecu133的数据是第七数据的一个示例。

因此,引擎ecu131、pcs-ecu132或lka-ecu133输出至can总线121的数据的通信速度和通信数据量也恢复到较高通信速度和较大通信数据量。在此阶段由lka-ecu133输出的数据是第八数据的一个示例。

类似地,如果发生程度测量单元114关于can总线122的计数值从等于或大于预定次数n1并且小于预定次数n2的条件恢复到零,则从cgw-ecu110发送到制动ecu134或转向ecu135的数据的通信速度和通信数据量被恢复到较高通信速度和较大通信数据量。在此阶段从cgw-ecu110(通信控制单元115)发送的数据是第三数据的一个示例。

因此,制动ecu134或转向ecu135输出至can总线122的数据的通信速度和通信数据量也恢复到较高通信速度和较大通信数据量。在此阶段制动ecu134或转向ecu135输出至can总线122的数据是第四数据的一个示例。

如果发生程度测量单元114关于can总线122的计数值从等于或大于预定次数n2的条件恢复到零,则从cgw-ecu110发送至制动ecu134、转向ecu135或变速器ecu136的数据的通信速度和通信数据量被恢复到较高通信速度和较大通信数据量。在此阶段cgw-ecu110输出至can总线122以将数据传输至变速器ecu136的数据是第七数据的一个示例。

因此,制动ecu134、转向ecu135或变速器ecu136输出至can总线122的数据的通信速度和通信数据量也恢复到较高通信速度和较大通信数据量。在此阶段由变速器ecu136输出的数据是第八数据的一个示例。

如上所述,在减小了通信速度和通信数据量之后的数据的通信时间等于或短于在减小了通信速度和通信数据量之前的数据的通信时间,以防止由于cgw-ecu110输出至can总线121或122的数据或者接收到数据的ecu(ecu131至136中的任何一个)以较低通信速度输出至can总线121或122的数据导致另一个ecu(ecu131至136中的任何一个)的通信延迟或通信故障。

引擎ecu131、pcs-ecu132和lka-ecu133连接至can120的can总线121,并且制动ecu134、转向ecu135和变速器ecu136连接至can总线122,而车体ecu137、仪表ecu138和空调ecu139连接至can总线123。

利用如上所述由cgw-ecu110连接的can总线121、122、123,can120根据can-fd协议来构建允许多个ecu130之间相互通信的车载网络。

关于can总线121、122、123中的can总线121和122,通信速度和通信数据量由如上所述的通信控制器115切换。can总线121、122分别是第一总线和第二总线的示例。在can总线123中,以较低通信速度传递数据。

在can总线123中,不论错误发生与否,都执行使用具有较低通信速度和较小通信数据量的can帧的数据通信。作为一个示例,较低通信速度为500kbps,较小通信数据量为8字节。经由can总线123传输的数据的fdf的值始终被保持为“0”。

ecu131至139是执行车辆控制的控制单元。引擎ecu131、pcs-ecu132、lka-ecu133、制动ecu134、转向ecu135和变速器ecu136是与行驶相关的ecu,即执行与车辆的行驶有关的(与行驶,转向和停止相关联)控制。车体ecu137、仪表ecu138和空调ecu139是与行驶不相关的ecu,即执行与车辆的行驶的控制(与行驶,转向和停止相关联)以外的控制的ecu。

ecu131至139仅仅是示例,并且其他类型的ecu也可以连接至can总线121、122、123。

在ecu131至139中,连接至can总线121的引擎ecu131和pcs-ecu132以及连接至can总线122的制动ecu134和转向ecu135是多个第一控制器的示例,而lka-ecu133和变速器ecu136是第二控制器的示例。

在ecu131至139中,ecu131至136中的每个(参见图3)具有通信控制器130a(参见图3)和数据保持单元130b。

通信控制器130a通过参考在经由can总线121或122接收的数据的控制字段中的fdf的一位值来将要输出至can总线121或122的数据的格式设置为具有较高通信速度和较大通信数据量的can-fd帧或者具有较低通信速度和较小通信数据量的can帧。

当从cgw-ecu110接收的数据的fdf的值为“0”时,通信控制器130a将数据格式设置为具有较低通信速度(500kbps)和较小通信数据量(8字节)的can帧。当从cgw-ecu110接收到的数据的fdf的值为“1”时,通信控制器130a将数据格式设置为具有较高通信速度(2mbps)和较大通信数据量(32字节)的can-fd帧。

数据保持单元130b保持从cgw-ecu110接收到的数据的fdf的值。通信控制器130a将存储在数据保持单元130b中的值设置为ecu131至136中的每个输出至can总线121或122的数据的fdf的值。

当cgw-ecu110的控制开始时,数据保持单元130b保持“1”。然后,如果通信控制器130a从cgw-ecu110接收到fdf的值为“0”的数据,则数据保持单元130b保持“0”的值。如果在数据保持单元130b保存“0”的情况下通信控制器130a从cgw-ecu110接收到fdf的值为“1”的数据,则数据保持单元130b将所保持的值恢复到“1”。基于数据的id来确定从cgw-ecu110接收数据。

引擎ecu131基于加速器踏板行程、车辆速度等来控制引擎的输出或功率。在车辆是混合动力车辆(hv)或电动车辆(ev)的情况下,可以使用对用于驱动的引擎或马达的输出进行控制的hv-ecu或者对用于驱动的马达的输出进行控制的ev-ecu。加器速踏板行程由加速器位置传感器检测,并且车辆速度由车辆速度传感器检测。

基于车辆速度、车辆与车辆前方的障碍物之间的距离等,pcs-ecu132发出报警(pcs报警)以避免与车辆前方的障碍物碰撞,并且控制自动制动器(其将被称为“pcs制动器”)的操作,以避免与障碍物碰撞。例如,由毫米波雷达装置和单目摄相机来检测车辆与车辆前方的障碍物之间的距离。车辆与车辆前方的障碍物之间的距离还可以通过使用立体摄像机来检测。

lka-ecu133基于例如由单目摄像机检测到的车辆前方的图像来执行对转向角的控制,使得车辆不离开在其行驶的车道。

制动ecu134基于例如由设置在主缸中的液压传感器检测到的液压来执行用于实现对abs(防抱死制动系统)的功能和vsc(车辆稳定性控制)的功能的控制。制动ecu134与pcs-ecu131配合以控制pcs制动。

转向ecu135基于车辆速度和转向扭矩来执行对用于辅助电动助力转向的电动马达的控制。转向扭矩由扭矩传感器来检测,该扭矩传感器检测由驾驶员施加到方向盘的扭矩。

变速器ecu136例如根据变速杆的操作和车辆速度来控制变速器的换档等。变速器可以是使用变矩器、cvt(连续可变变速器、带式无级变速器)等的自动变速器。

车体ecu137确定例如车辆的每个门的打开/关闭状态,执行侧窗的打开/关闭控制等。

仪表ecu138执行对车辆的仪表板上的各种仪表(如速度表和转速表)、各种警告灯等的控制。

空调ecu139执行对空调的控制,该空调控制车辆内部空气的温度和湿度。

图4示出了can-fd格式的can-fd帧的一个示例。

can-fd协议的格式(can-fd格式)的can-fd帧(数据帧)具有sof(帧的起始)、仲裁字段(arbitrationfield)、控制字段、数据字段、crc字段、ack字段和eof(帧的结束)。在这些字段中,仲裁字段包括id(标识符)。

id用于标识数据内容、传输节点等,并且还用于确定在can120中通信仲裁中的优先级顺序(当can-fd帧从两个或更多个节点同时输出至can总线121至123时的仲裁)。id越小,优先顺序越高。在本示例中,节点参考cgw-ecu110和ecu131至139中的每个。

ecu131至139根据预先分配给ecu的id在can120中发送和接收can-fd帧,使得ecu131至139可以识别can120(can总线121、122、123)上的can-fd帧并且接收必要的数据。

控制字段包括ide(标识符扩展)、dlc(数据长度代码)、brs(比特率切换)、esi(错误状态指示)和fdf(灵活数据格式)。如上所述,cgw-ecu110使用fdf的值(1位)以用于切换数据的通信速度和通信数据量。由于can-fd帧用于具有较高通信速度和较大通信数据量的数据通信,所以brs的值被保持为“1”(指示较高的比特率)。

在can-fd帧的数据的情况下,数据字段可以保持例如最多64字节的数据。作为一个示例,cgw-ecu110允许can-fd帧(数据字段)保持32字节。要由ecu131至139使用的各种控制数据被写入数据字段并且经由can120进行传输。

can-fd帧包括从sof到控制字段中的dlc的22位数据以及从crc字段到eof的36位数据。

图5示出了can格式的can帧的一个示例。

can协议的标准格式的can帧(数据帧)具有sof、id、rtr(远程传输请求)、控制字段、数据字段、crc序列、crc定界符、ack时隙、ack定界符和eof。

由can帧发送的数据被包括在数据字段中,并且can帧可以以字节为单位传输最多8字节的数据。使用控制字段中的4位dlc(数据长度代码)将包括在can帧中的数据长度设置为1到8之间。在本实施方式中,数据长度被设置为8字节。

在can帧的数据字段中,写入了在can-fd帧的数据字段中的数据被划分成的数据。

与can-fd帧的控制字段一样,can帧的控制字段具有ide和fdf,并且还具有dlc。在can帧中,fdf的值被设置为“0”。如果fdf的值从“0”变为“1”,则数据帧变为图4所示的can-fd帧。如果fdf的值被设置为“0”,则数据帧变为图5所示的can帧。

can帧包括从sof到控制字段的dlc的18位数据以及从crc序列到eof的25位数据。如果将8字节的数据写入can帧的数据字段中并且以500kbps来传输,则一帧的通信时间大约为222μs(微秒)。同时,如果将32字节的数据写入如上所述的can-fd帧的数据字段中并且以2mbps来发送,则一帧的通信时间大约为239.2μs(微秒)。

因此,在将8字节的数据写入can帧的数据字段中并且以500kbps来发送的情况下一帧的通信时间(大约222μs)短于在将32字节的数据写入can-fd帧的数据字段中并且以2mbps来发送的情况下一帧的通信时间(大约239.2μs)。虽然在本示例中将8字节和500kbps的组合与32字节和2mbps的组合进行比较,但是本公开内容不限于这些数值的组合。

在本实施方式中,仅需要设置在减小之前以及在减小之后的通信速度和通信数据量,使得在减小通信速度和通信数据量之后数据的通信时间变为等于或短于在减小通信速度和通信数据量之前的数据的通信时间。

图6是用于说明当cgw-ecu110将数据输出至can总线121时的处理的图。图6所示的缓存器110b是与can总线121对应的缓存器,并且由cgw-ecu110的ram来提供。cgw-ecu110还具有与can总线122和123对应的两个缓存器,尽管图6中未示出这些缓存器。

在cgw-ecu110的缓存器110b中,准备输出至can总线121的数据(消息)a、b、c被堆叠。在这些数据a、b、c中,数据a是最旧的数据,数据c是最新的数据。

在这种情况下,cgw-ecu110从最旧的数据开始将数据输出至can总线121。即,最初将数据a输出至can总线121,然后将数据b输出至can总线121。然后,将数据c输出至can总线121。

数据a、b和c的id分别为100h、150h和500h。id越小,优先级越高;因此,数据a的优先级最高。数据b的优先级为第二高,而数据c的优先级在三条数据a、b、c中最低。在缓存器110b中,在数据a、b、c之后实际上可以堆叠其他较新的数据。作为一个示例,缓存器110b具有允许缓存器110b存储五条数据的数据容量。

随着can总线121中的错误发生次数变为更接近于预定次数n1,根据can-fd协议,高优先级id(具有较小值的id)被分配给发送至引擎ecu131和pcs-ecu132的数据。

因此,作为一个示例,数据a被发送至引擎ecu131,数据b被发送至pcs-ecu132,而数据c被发送至lka-ecu133。由于引擎ecu131、pcs-ecu132和lka-ecu133之外的ecu可以连接至实际的can总线121,因此数据c的目的地可以是引擎ecu131、pcs-ecu132和lka-ecu133以外的连接至can总线121的ecu。

如果can总线121中的错误发生次数变为等于或大于预定次数n1,则如图6所示在数据a、b、c被存储在缓存器110b中的情况下,当cgw-ecu110从最旧的数据开始将缓存器110b中堆叠的数据输出至can总线121时,cgw-ecu110关于要分别发送至引擎ecu131和pcs-ecu132的数据a、b将fdf的值设置为“0”。关于要发送至lka-ecu133的数据c,fdf的值被保持为“1”。

因此,数据a和b作为具有较低通信速度和较小通信数据量的can帧格式的数据被输出至can总线121,而数据c作为具有较高通信速度和较大通信数据量的can-fd帧的数据被输出至can总线121。

然后,分别以较低通信速度接收较小通信数据量的(can帧格式的)数据a、b的引擎ecu131和pcs-ecu132以较低通信速度将较小通信数据量的(can帧格式的)数据输出至can总线121。同样,以较高通信速度接收较大通信数据量的(can-fd帧格式的)数据c的lka-ecu133以较高通信速度将较大通信数据量的(can-fd帧格式的)数据输出至can总线121。

如果在can总线121中没有发生错误(如果数据被正常通信)并且在两个或更多个控制周期中错误发生次数从预定次数n1开始递减,直到can总线121中的错误发生次数变为等于零为止,则cgw-ecu110将要发送至引擎ecu131或pcs-ecu132的数据的fdf的值(图6中未示出)恢复到“1”。因此,以较高通信速度将较大通信数据量的(can-fd帧格式的)数据输出至can总线121,以发送至引擎ecu131或pcs-ecu132。

然后,以较高通信速度已经接收到较大通信数据量的数据的引擎ecu131或pcs-ecu132将会以较高通信速度将较大通信数据量的(can-fd帧格式的)数据输出至can总线121。

在本示例中,数据a、b、c被堆叠在缓存器110b中,使得最旧的数据a被给予最高优先级,而最新的数据c被给予最低优先级。即使数据a、b、c在缓存器110b中的堆叠顺序与本示例的顺序不同,除了从缓存器110b输出至can总线121数据的顺序被改变以外,设置fdf的值的概念和方式与上述示例相同。

虽然以上描述涉及与can总线121对应的缓存器110b,但是以上描述也被应用于与can总线122对应的缓存器。

如果can总线121中的错误发生次数从等于预定次数n1的情况变得更接近于预定次数n2,则根据can-fd协议,高优先级id(具有小值的id)除了要发送至引擎ecu131和pcs-ecu132的数据之外,还被分配给要发送至lka-ecu133的数据。

因此,在数据a、b、c被存储在缓存器110b中的情况下,分配给要发送至lka-ecu133的数据c的id的值被设置为较小的值(例如200h)。

然后,如果can总线121中的错误发生次数变为等于或大于预定次数n2,则当cgw-ecu110将堆叠在缓存器110b中的数据从最旧的数据开始输出至can总线121时,cgw-ecu110关于要发送至引擎ecu131、pcs-ecu132和lka-ecu133的数据a、b、c将fdf的值设置为“0”。

因此,数据a、b、c作为具有较低通信速度和较小通信数据量的can帧格式的数据被输出至can总线121。

然后,已经分别接收到以较低通信速度发送的较小通信数据量的数据a、b、c的引擎ecu131、pcs-ecu132和lka-ecu133以较低通信速度将较小通信数据量的(can帧格式的)数据输出至can总线121。

如果在can总线121中没有发生错误(如果数据被正常通信)并且在两个或更多个控制周期中错误发生次数从预定次数n2开始递减,直到can总线121中的错误发生次数变为等于零为止,则cgw-ecu110将要发送至引擎ecu131、pcs-ecu132和lka-ecu133的数据a、b、c的fdf的值恢复到“1”。

如上所述,如果can总线121中的错误发生次数变为等于或大于预定次数n1,则cgw-ecu110关于要发送至引擎ecu131和pcs-ecu132的数据a、b将fdf的值设置为“0”。

此外,如果can总线121中的错误发生次数变为等于或大于预定次数n2,则cgw-ecu110关于要发送至引擎ecu131、pcs-ecu132和lka-ecu133的数据a、b、c将fdf的值设置为“0”。

然后,如果can总线121中的错误发生次数恢复到零,则cgw-ecu110关于要发送至引擎ecu131、pcs-ecu132和lka-ecu133的数据a、b、c将fdf的值设置为“1”。

如上所述的处理也被应用于连接至can总线122的制动ecu134、转向ecu135和变速器ecu136。

图7是示出由cgw-ecu110执行的控制例程的流程图。图7所示的控制例程与图8所示并且将后面描述的控制例程配合,以实现用于控制车载网络系统中的通信的通信控制方法。

当车辆的点火开关被开启时,通信控制器115开始图7的控制例程。作为例程或流程开始的前提条件,经由can总线121和122传输的所有数据的fdf的值被设置为“1”。此外,保持在通信控制器115的数据保持单元115a至115d中的fdf的值也被设置为“1”。

在汽油引擎车辆的情况下,点火开关是由车辆用户操作的开关,用于在引擎启动和停止时将电源状态切换到车辆的每个部分。在hv车辆或ev车辆的情况下,用于驱动的引擎或马达或者用于驱动的马达经受由点火开关进行切换以代替引擎。

主控制器110a确定can总线121或122中是否发生错误(步骤s1)。can总线121或122中的任何错误分别由错误检测单元111或112检测。

如果主控制器110a确定在can总线121或122中发生错误(s1:是),则发生程度测量单元114单独且独立地对通过错误检测单元111和112的错误检测次数进行计数(步骤s2)。

在步骤s2中,如果can总线121中发生错误,则发生程度测量单元114将can总线121中错误发生次数的计数值递增。如果在can总线122中发生错误,则发生程度测量单元114将can总线122中错误发生次数的计数值递增。如果在can总线121和122两者中都出现错误,则可以将can总线121和122两者的计数值递增。

通信控制器115确定can总线121或122中的错误发生次数是否等于或大于预定次数n1(步骤s3)。在步骤s3中,通信控制器115确定关于在步骤s2中由发生程度测量单元114计数的can总线121或122的计数值是否等于或大于预定次数n1。例如,可以通过实验或模拟将预定次数n1的值设置为适当的值。

如果通信控制器115确定can总线121或122中的错误发生次数等于或大于预定次数n1(s3:是),则将与错误发生次数等于或大于预定次数n1的can总线121或122对应的数据保持单元115a或115c的值设置为“0”(步骤s4)。这是因为在错误发生次数等于或大于预定次数n1的can总线121或122中以较低通信速度对较小通信数据量的数据进行通信。

通信控制器115确定在存储在cgw-ecu110的缓存器110b中并且准备被发送(传输)的数据中是否存在要发送至引擎ecu131、pcs-ecu132、制动ecu134和转向ecu135中之一的任何数据(步骤s5)。

如果通信控制器115确定存在目的地是引擎ecu131、pcs-ecu132、制动ecu134和转向ecu135中之一的数据(s5:是),则主控制器110a将堆叠在缓存器110b中的数据按照时间顺序从较旧的数据开始顺序发送(步骤s6)。

在每个控制周期中,在步骤s6中发送一条数据。随着控制周期的重复,堆叠在缓存器110b中的数据从较旧的数据开始顺序发送。如果在缓存器110b中没有堆叠的数据,则不执行数据发送操作。以上使用图6已描述了数据发送的顺序。

主控制器110a确定是否要结束控制例程(步骤s7)。当车辆的点火开关被关闭时,控制例程结束。如果确定要结束控制例程(s7:是),则停止执行一系列步骤(结束)。另一方面,如果确定不结束控制例程(s7:否),则主控制器110a返回到步骤s1。

如果在步骤s5中确定没有要发送至引擎ecu131、pcs-ecu132、制动ecu134或转向ecu135的数据(s5:否),则通信控制器115确定can总线121或122中的错误发生次数是否等于或大于预定次数n2(步骤s8)。

在步骤s8中由通信控制器115确定的错误发生次数(计数值)是由主控制器110a在步骤s2中读取的计数值。在cgw-ecu110的缓存器110b中也不存在准备要发送(传输)的数据的情况下,在步骤s5中确定没有数据(s5:否),并且控制进行到步骤s8。

如果通信控制器115确定can总线121或122中的错误发生次数等于或大于预定次数n2(s8:是),则与错误发生次数等于或大于预定次数n2的can总线121或122对应的数据存储单元115b或115d的值被设置为“0”(步骤s9)。执行该步骤是为了以较低通信速度传递较小通信数据量的数据。

通信控制器115确定是否存在要发送至lka-ecu133或变速器ecu136的任何数据(步骤s10)。

如果确定存在要发送至lka-ecu133或变速器ecu136的数据(s10:是),则主控制器110a进行到步骤s6。因此,发现在步骤s10中将较小通信数据量的数据以较低通信速度发送(传输)至ecu(133或136)。

如果通信控制器115在步骤s3中确定can总线(121或122)中的错误发生次数不等于或不大于预定次数n1(s3:否),则主控制器110a进行到步骤s6。这是因为fdf的值可以被保持为“1”。

如果主控制器110a在步骤s1中确定在can总线121或122中没有发生错误(s1:否),则确定can总线121或122中的错误发生次数是否大于0(步骤s11)。

如果主控制器110a确定can总线121或122中的错误发生次数大于0(s11:是),则发生程度测量单元114将关于错误发生次数大于0的can总线(121或122)的计数值递减(步骤s12)。

主控制器110a确定can总线121或122中的错误发生次数是否等于零(步骤s13)。如果错误发生次数已经恢复到零,则提供步骤s13以将fdf的值恢复到“1”。

如果主控制器110a在步骤s13中确定can总线121或122中的错误发生次数等于零(s13:是),则通信控制器115将数据保持单元115a至115d中数据保持单元(115a至115d)的保持“0”的值设置为“1”(步骤s14)。在下面的步骤中,数据保持单元(115a至115d)的值被保持为“1”,直到在步骤s4或步骤s9中该值被再次设置为“0”为止。

在执行步骤s14之后,主控制器110a进行到步骤s7。

如果确定can总线121或122中的错误发生次数不大于0(s11:否),则主控制器110a进行到步骤s7,因为错误发生次数等于零,并且fdf的值可以被保持为“1”。

如果通信控制器115在步骤s8中确定can总线121或122中的错误发生次数等于或大于预定次数n2(s8:否),则主控制器110a进行到步骤s6。例如,当错误发生次数等于或大于预定次数n1且小于预定次数n2并且数据的目的地是lka-ecu133或变速器ecu136时,主控制器110a从步骤s8进行到步骤s6。

如果通信控制器115在步骤s10中确定没有要发送至lka-ecu133或变速器ecu136的数据(s10:否),则主控制器110a进行到步骤s7。由于ecu131至136中没有一个是数据的目的地,所以主控制器110a不执行步骤s6(数据发送操作)而进行到步骤s7。

以如上所述的方式,cgw-ecu110执行图7所示的控制例程。

图8是示出由ecu131至136中的每个的通信控制器130a执行的控制例程的流程图。

当车辆的点火开关被开启时,通信控制器130a开始控制例程(开始)。

通信控制器130a确定是否经由can总线121已接收到数据(步骤s21)。

如果通信控制器130a确定已接收到数据(s21:是),则确定是否从cgw-ecu110接收到数据(步骤s22)。

如果通信控制器130a确定已从cgw-ecu110接收到数据(s22:是),则确定fdf的值是否为“1”(步骤s23)。确定接收到的数据是否发送自cgw-ecu110,因为cgw-ecu110全面地执行通信速度和通信数据量的切换,并且ecu131至136根据cgw-ecu110的切换来切换通信速度和通信数据量。当ecu131至136发送数据时,进行步骤s23的确定,以确定是否维持较高通信速度和较大通信数据量。

如果通信控制器130a确定fdf的值为“1”(s23:是),则将存储在数据保持单元130b中的值保持(保存)为“1”,或者将该值设置为“1”。同样,如果在缓存器中堆叠了任何数据,则在fdf的值被保持为“1”的条件下,通信控制器130a发送最旧的数据(步骤s24)。如果在缓存器中没有堆叠数据,则在步骤s24中不执行数据发送操作。

当在最后一个控制周期中存储在数据保持单元130b中的值为“1”时,在步骤s24中将数据保持单元130b中存储的值保持(保存)为“1”。当在最后一个控制周期中存储在数据保持单元130b中的值为“0”时,在步骤s24中将存储在数据保持单元130b中的值设置为“1”。

通信控制器130a确定是否要结束图8的控制例程。当车辆的点火开关被关闭时,控制例程结束。如果通信控制器130a确定要结束控制例程(s25:是),则停止执行例程中的一系列步骤(结束)。另一方面,如果通信控制器130a确定不结束控制例程(s25:否),则控制返回到步骤s21。

如果通信控制器130a在步骤s23中确定fdf的值不为“1”(s23:否),则将存储在数据保持单元130b中的值设置为“0”。如果在缓存器中堆叠了任何数据,则在fdf的值被设置为“0”的条件下,通信控制器130a发送最旧的数据(步骤s26)。如果缓存器中没有堆叠数据,则不执行数据传输操作。通信控制器130a在发送数据之后进行到步骤s25。

如果通信控制器130a在步骤s22中确定没有从cgw-ecu110接收到数据(s22:否),则通信控制器130a将存储在数据保持单元130b中的值保持(保存)为相同的值。如果在缓存器中堆叠了任何数据,则通信控制器130a在fdf的值被设置为存储在数据保持单元130b中的值的条件下发送最旧的数据(步骤s27)。如果在缓存器中没有堆叠数据,则不执行数据发送操作。一旦步骤s27的操作结束,通信控制器130a进行到步骤s25。

如果通信控制器130a在步骤s21中确定没有接收到任何数据(s21:否),则进行到步骤s27。

如上所述,当从cgw-ecu110接收到的数据的fdf的值为“0”时,ecu131至136的通信控制器130a将存储在数据保持单元130b中的值设置为“0”,并且将从其自身(ecu131至136)发送的数据的fdf的值设置为“0”。存储在数据保持单元130b中的值在步骤s26中变为“0”,并且在步骤s24中恢复到“1”。

图9是示出cgw-ecu110的操作的一个示例的视图。图9示出了在cgw-ecu110、引擎ecu131和lka-ecu133之间的数据流。在图9中,在竖直方向上采用时间轴t,并且在横向方向上表示在cgw-ecu110、引擎ecu131和lka-ecu133之间的数据流。

如果在时间t1处在can总线121中发生错误,则cgw-ecu110检测该错误,并将错误发生次数递增。此时,can总线121中的错误发生次数小于预定次数n1。

因此,在时刻t1之后(直到到达时间t2为止),将数据[cgw]can-fd1从cgw-ecu110发送至引擎ecu131,并且将数据[cgw]can-fd2从cgw-ecu110发送至引擎ecu133。

同样,将数据[ecu131]can-fd1从引擎ecu131发送至cgw-ecu110和lka-ecu133,并且将数据[ecu133]can-fd1从lka-ecu133发送至cgw-ecu110和引擎ecu131。

数据[cgw]can-fd1、数据[cgw]can-fd2、数据[ecu131]can-fd1和数据[ecu133]can-fd1中的每个的数据量为32字节并且通信速度为2mbps。即,这四条数据是以较高通信速度发送的较大通信数据量的can-fd格式的数据。

如果在时间t2处can总线121中的错误发生次数达到预定次数n1,则将数据[cgw]can1从cgw-ecu110发送至引擎ecu131。数据[cgw]can1的数据量为8字节,通信速度为500kbps。即,数据[cgw]can1是以较低通信速度发送的较小通信数据量的can帧格式的数据。由于数据[cgw]can1是通过将can-fd帧格式的32字节数据划分成四条数据而获得的,所以将四条数据[cgw]can1从cgw-ecu110发送至引擎ecu131。

然后,将数据[cgw]can-fd3从cgw-ecu110发送至lka-ecu133。数据[cgw]can-fd3的数据量为32字节,通信速度为2mbps。即,数据[cgw]can-fd3是can-fd帧格式的数据。

然后,引擎ecu131将数据[ecu131]can1发送至cgw-ecu110和lka-ecu133,并且lka-ecu133将数据[ecu133]can-fd2发送至cgw-ecu110和引擎ecu131。

数据[ecu131]can1的数据量为8字节,通信速度为500kbps。由于引擎ecu131从cgw-ecu110接收到以较低通信速度发送的较小通信数据量的can帧格式的数据[cgw]can1,所以引擎ecu131的通信控制器130a参考数据[cgw]can1的fdf的值,并且减小通信速度和通信数据量。因此,通信控制器130a以较低通信速度发送较小通信数据量的数据[ecu131]can1。因此,连接至can总线121的多个第一控制器(引擎ecu131、pcs-ecu132)中的至少一个(引擎ecu131)的通信速度和通信数据量减小。由于数据[ecu131]can1是通过将32字节的数据划分成四条数据而获得的,所以从引擎ecu131发送四条数据[ecu131]can1。

另一方面,数据[ecu133]can-fd2的数据量为32字节,通信速度为2mbps。如果can总线121中的错误发生次数变为等于或大于预定次数n2,则lka-ecu133将以较低通信速度输出较小通信数据量的数据。然而,在该时间点处,can总线121中的错误发生次数刚好达到预定次数n1,并且n2大于n1;因此,lka-ecu133在不减小通信速度和通信数据量的情况下输出数据[ecu133]can-fd2。

如果can总线121中的错误发生次数在时间t3处恢复到0,则将数据[cgw]can-fd3从cgw-ecu110发送至引擎ecu131。数据[cgw]can-fd3的数据量为32字节,通信速度为2mbps。

由于错误发生次数已经恢复到零,所以发送至引擎ecu131的数据[cgw]can-fd3被切换到具有较高通信速度和较大通信数据量的can-fd帧。

同样,将数据[cgw]can-fd4从cgw-ecu110发送至lka-ecu133。数据[cgw]can-fd4的数据量为32字节,通信速度为2mbps。

同样,将数据[ecu131]can-fd2从引擎ecu131发送至cgw-ecu110和lka-ecu133,并且将数据[ecu133]can-fd3从lka-ecu133发送至cgw-ecu110和引擎ecu131。

引擎ecu131的通信控制器130a将从引擎ecu131发送的数据切换成具有较高通信速度和较大通信数据量的数据[ecu131]can-fd2。此外,以较高通信速度发送较大通信数据量的数据[ecu133]can-fd3。

以如上所述的方式来执行通信速度和通信数据量的切换。

根据上述实施方式,如果错误发生次数变为等于或大于预定次数n1,则减小引擎ecu131和pcs-ecu132关于can总线121的通信速度和通信数据量,并且减小制动ecu134和转向ecu135关于can总线121的通信速度和通信数据量。

当通信速度和通信数据量减小时,使得在减小通信速度和通信数据量之后的数据通信时间等于或短于在减小通信速度和通信数据量之前的数据通信时间。

因此,当can总线121或122中发生预定次数n1或更多次的错误时,cgw-ecu110输出至can总线121或122的数据以及接收到上述数据的ecu(ecu131、132、134、135中的一个)以较低通信速度输出至can总线121或122的数据可能性较小或者不太可能导致在其他ecu(ecu131、132、134、135中剩余的ecu)中的通信延迟或通信故障。

因此,可以提供较可能性较小或者不太可能遭受通信故障或数据传输延迟的车载网络系统100以及在车载网络系统中使用的通信控制方法。

由于cgw-ecu110全面地执行通信速度和通信数据量的切换,并且ecu131至136取决于cgw-ecu110的切换来切换通信速度和通信数据量,所以切换的时间可以被统一。例如,如果连接至can120的每个ecu切换通信速度和通信数据量,则时间发生变化,并且可能发生通信故障或数据传输延迟。然而,在本实施方式中,cgw-ecu110全面地执行通信速度和通信数据量的切换,因此,从这个角度来看,可以抑制通信故障和数据传输的延迟。

通常,随着通信速度的提高,数据之间冲突的可能性增加。在本实施方式中,当没有发生错误时,以高速执行通信,并且根据错误发生次数来减小通信速度;因此,可以在can120中执行可能性较小或者不太可能遭受通信故障或数据传输延迟的高速数据通信。

在所示实施方式中,cgw-ecu110具有错误检测单元111、112、113、发生程度测量单元114和通信控制器115。然而,错误检测单元111、112、113、发生程度测量单元114和通信控制器115中的任何一个或更多个或者错误检测单元111、112、113、发生程度测量单元114和通信控制器115中的全部可以被设置在cgw-ecu110的外部,并且可以被配置成在can总线121和122中执行错误检测、对错误发生次数进行计数以及通信控制。

在所示实施方式中,车载网络系统100包括由can总线121、122、123构建的can120。然而,can120可以由单个can总线来构建。在这种情况下,单个错误检测单元就足够了,并且单个错误检测单元、发生程度测量单元114和通信控制器115可以被配置成分别执行在单个总线中的错误检测、对错误发生次数进行计数以及通信控制。

在所示实施方式中,如果在错误发生次数等于1或更大时错误检测单元111没有检测到错误(错误标志被设置为“0”),则发生程度测量单元114将计数值递减。即,当在can总线121或122中执行正常数据通信而不产生任何错误时,从发生程度测量单元114的计数值中减去“1”。

然而,存在减小计数值的各种方法。图10a至图10c示出了减小错误发生次数的计数值的方法。

图10a示出了使计数值递减(从计数值中每次减去“1”)的方法。以上已经描述了该方法。

图10b示出了将计数值每次减小“3”的方法。当计数值尚未达到3(计数值为1或2)时,通过从计数值中减去3可以使其等于0。

图10c示出了将计数值每次减小到零的方法。可以使用这些方法。

在所示实施方式中,发生程度测量单元114将由错误检测单元111和112检测的次数计数为错误发生程度。然而,发生程度测量单元114可以测量由错误检测单元111和112检测到的错误的时间的长度(时间段)作为错误发生程度。

例如,发生程度测量单元114可以通过下述方法来测量检测到错误的时间:对错误标志被设置为“1”的控制周期的数目进行计数,并且将计数值乘以控制周期(例如10ms(毫秒))。

在所示实施方式中,当错误发生次数等于或大于预定次数n1且小于n2时,引擎ecu131、pcs-ecu132、制动ecu134和转向ecu135的通信速度和通信数据量减小。当错误发生次数等于或大于预定次数n2时,lka-ecu133和变速器ecu136的通信速度和通信数据量减小。

然而,由于预定次数n1、n2与ecu131至136的组合是可选的,所以可以根据车载网络系统100中包括的ecu的类型等适当地设置预定次数与ecu的组合。

在所示实施方式中,基于预定次数n1和n2将ecu131至136划分成两组,并且在两个阶段中切换通信速度和通信数据量。然而,可以通过使用预定次数n1和n2之外的预定次数来进一步增加组的数目。

在所示的实施方式中,当通信速度和通信数据量减小时,在减小通信速度和通信数据量之后的数据通信时间变为等于或短于在减小通信速度和通信数据量之前的数据通信时间。

然而,当通信速度和通信数据量减小时,还可以删除包含在数据中的一部分信息。例如,通过在can-fd帧中删除数据字段中的纠错码(如mac、校验和以及crc)可以进一步缩短数据通信时间。

在上述实施方式中,当错误发生次数变为等于零时,通信速度和通信数据量被恢复到其被减小之前的通信速度和通信数据量。因此,即使通信速度和通信数据量被恢复到较高通信速度和较大通信数据量,也较少可能或不太可能发生通信故障或数据传输延迟。

因此,可以提供在错误发生次数变为等于零之后可以再次以较高通信速度执行较大通信数据量的通信的车载网络系统100。

虽然上面已经描述了本公开内容的示例性实施方式的车载网络系统以及在该车载网络系统中使用的通信控制方法,但是本公开内容不限于具体公开的实施方式,而是可以在不脱离所附权利要求的情况下进行各种修改或变化。

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