用于控制车辆内大容量诊断通信的方法和车辆控制器与流程

文档序号:12729367阅读:223来源:国知局
用于控制车辆内大容量诊断通信的方法和车辆控制器与流程

技术领域

本公开涉及车辆内大容量诊断通信,并且更具体地,涉及用于控制车辆内大容量诊断通信的方法和装置,其能够通过基于时实测量的网络负载适应性地控制帧传输周期来防止诊断通信错误。



背景技术:

最近,信息技术(IT)的快速发展大大地影响了汽车工业,并且IT和通信技术已与车辆结合。

具体地,最近发行的车辆包括用于与外部设备通信的各种无线通信功能。这样,提供了各种应用服务。

例如,路线引导设备(诸如,导航系统)是特别有用的设备,其通过基于经全球定位系统(GPS)卫星接收的信号定位车辆的当前位置、从内装的地图数据库中读取对应于所定位的当前位置的地图数据、以及将地图数据与车辆的当前位置一起显示在屏幕上,来在驾驶员在不熟悉的区域驾驶时,帮助驾驶员识别驾驶员当前行驶的道路的位置或者容易定位目的地。

此外,最近发行的车辆包括各种车辆内通信网络,用于在车辆中包含的各种控制器中交换信息以及控制器的诊断状况。

具体地,最近发行的车辆包括各种车辆安全系统和驾驶员便利系统。因此,在车辆内通信网络中发送和接收的数据量迅速增加。

因此,在目前趋势中,网关已应用于中型和大型汽车中,以平衡通信负载。此外,准备用于未来增加的通信负载的诸如具有灵活的数据速率的控制器局域网(CAN)(CAN-FD)、以太网等更快速的通信方案已进入高级开发中。

车辆的诊断器跟据用于车辆中所包含的控制器的诊断、强制驱动、重新编程等的诊断通信标准(例如,包括ISO15765-2)与控制器进行通信。在这种情况下,车辆的诊断器和控制器可以通过车辆的网关被路由。

例如,CAN通信方案可被用作车辆内(in-vehicle,车载)通信网络。在这种情况下,CAN帧可以用作诊断消息。

用于诊断的CAN帧可以分成传输块的大小不超过8个字节的单帧和传输块的大小超过8个字节并且因此传输块需要在几个分段的CAN帧中传输的连续帧。

谈到连续帧,接收端通过流量控制帧向发送端发送关于要通过连续帧接收的数据块的数据块大小(BS)以及用于数据块的连续帧的传输周期的信息,即,分离时间Min(STmin)的值。

然而,在开发控制器时,已基于安装在控制器中的存储器的大小、CPU性能等预先定义并且使用了应用于车辆的传统控制器的BS和STMin值。因此,存在的问题在于,当车辆内网络的负载间断性和突然地增加或者出现总线容量的溢出时,发生数据丢失并且因此产生诊断通信错误。

此外,应用于车辆的传统控制器的BS和STMin值在没有考虑到网络负载的实时状况的情况下,基于单独的控制器的性能而预设,并且因此不会响应于车辆中控制器的添加/删除/改变和网络负载的实时变化来动态地改变。因此,存在的缺点在于诊断和重编程(reprogram,程序重调)时间不能得到最优化。



技术实现要素:

因此,本公开涉及一种用于控制车辆内大容量诊断通信的方法和装置,该方法和装置基本上消除了由于现有技术的限制和缺点所造成的一个或多个问题。

本公开的目的是提供一种车辆网关,能够在诊断器和待诊断的控制器通过车辆网关互相通信时,基于网络负载动态地计算其中可路由从诊断器接收的诊断消息的分离传输周期,使得在传输期间不会遗漏诊断消息,并且将所计算的分离传输周期发送至待诊断的控制器。

本公开的另一目的是提供一种用于控制车辆中的大容量诊断消息的方法和装置,其能够通过测量具有比诊断消息的优先级高的优先级的消息的CAN总线上的接收间隔和消息的处理时间,自适应地控制诊断消息的分离传输周期。

由本公开解决的技术问题不限于上述技术问题,并且本领域的技术人员可从以下描述中清晰地理解本文未提及的其他技术问题。

本公开提供用于控制车辆中的大容量诊断通信的方法和装置。

为了实现这些目的以及其他优点,以及根据如在此所体现的和广泛描述的本公开的目的,一种在连接至车辆控制器局域网(CAN)通信网络的控制器中控制大容量诊断通信的方法,包括由控制器计算先前接收的CAN帧与当前接收的CAN帧之间的接收时间间隔;由控制器基于所接收的 CAN帧中包含的数据的长度计算控制器中的CAN帧处理时间;以及由控制器通过将计算的接收时间间隔与计算的CAN帧处理时间进行比较确定大容量诊断消息的分离传输周期。

此处,当所接收的CAN帧中包含的标识符(ID)具有比分配给控制器的诊断ID的优先级高的优先级时可以计算接收时间间隔。

可以基于先前接收的CAN帧中包含的数据长度代码(DLC)计算CAN帧处理时间。

当从诊断器接收到报告大容量诊断消息的传输的预定CAN帧时,可以由控制器向诊断器发送包括确定的分离传输周期的预定流量控制帧。

当作为比较结果CAN帧处理时间大于或等于接收时间间隔时,可以确定分离传输周期使得将当前设置的分离传输周期增加预定时间。

这里,增加的时间可以对应于接收时间间隔。

此外,当为比较结果CAN帧处理时间小于接收时间间隔作时,可以确定分离传输周期使得将当前设置的分离传输周期减少预定时间。

举例来说,当计算的接收时间间隔小于当前设置的分离传输周期时,可以执行控制操作使得分离传输周期由计算的接收时间间隔来替代以减少分离传输周期。

作为另一实例,可以与CAN总线负载成反比确定分离传输周期的减少的时间。

在本公开的另一方面中,一种在将从诊断器接收的诊断消息通过CAN总线路由到待诊断的控制器的车辆网关中控制大容量诊断通信的方法,包括:由车辆网关实时监测CAN总线的负载状态;由车辆网关基于 监测的CAN总线的负载状态确定分离传输周期;以及由车辆网关将包括确定的分离传输周期的预定控制信号发送至待诊断的控制器。

监测可以包括将单位时间期间在CAN总线上生成的消息的大小相加;以及通过所相加消息的大小除以在单位时间期间在CAN总线上能生成的消息的最大大小来计算CAN总线的平均总线负载。可以基于计算的平均总线负载来确定分离传输周期。

监测可以包括测量单位时间期间CAN总线的负载为满的平均时间间隔和负载为满的出现频率。可以基于所测量的负载为满的平均时间间隔和所测量的负载为满的出现频率中的至少一个来确定分离传输周期。

待诊断的控制器可以通过车辆网关向诊断器发送包括确定的分离传输周期的流量控制帧。

方法可以进一步包括由车辆网关从诊断器接收基于流量控制帧生成的连续帧。当CAN总线处于接收连续帧的时间点的状态中时,所接收的连续帧的路由可被延迟直至释放CAN总线的负载为满的状态。

此处,方法可以进一步包括当延迟时间超过确定的分离传输周期时,由车辆网关增加分离传输周期;以及由车辆网关将包括增加的分离传输周期的控制信号发送至待诊断的控制器。

在本公开的另一方面中,一种连接至车辆CAN通信网络的车辆控制器,包括:CAN收发器,用于通过CAN通信网络发送和接收CAN帧;以及主控制单元,用于计算先前接收的CAN帧与当前接收的CAN帧之间的接收时间间隔,基于所接收的CAN帧中包含的数据的长度计算控制器中的CAN帧处理时间,以及通过将计算的接收时间间隔与计算的CAN帧处理时间进行比较确定大容量诊断消息的分离传输周期。

在本公开的另一方面中,可以提供一种记录用于执行上述控制大容量诊断通信的方法中的任一个的程序的记录介质。

应注意,上述技术方案仅是本公开的实施方式的一部分,并且本领域技术人员可从以下给出的本公开的详细说明中推导出以及理解反映本公开的技术特征的各种实施方式。

附图说明

包括附图以提供对本公开的进一步理解并且与具体实施方式一起提供本公开的实施方式。然而,本公开的技术特征不局限于特定附图,并且各附图中公开的特征可以结合为以及配置为新的实施方式。

图1是用于说明根据本公开的车辆控制器局域网(CAN)通信网络的配置的框图;

图2是示出了在国际标准中定义的CAN数据帧的结构的示图;

图3是用于说明根据国际标准的CAN数据帧中的DLC的定义的表;

图4是用于说明根据本公开的实施方式的车辆控制器的层次结构的框图;

图5是用于说明根据本公开的实施方式的车辆中的大容量诊断通信过程的流程图;

图6是用于说明根据本公开的实施方式的控制待诊断的控制器中的大容量诊断通信的方法的流程图;以及

图7是用于说明根据本公开的实施方式的控制车辆网关中的大容量诊断通信的过程的流程图。

具体实施方式

现在将对应用本公开的优选实施方式的装置和各种方法进行详细地参照。本文中的元件的后缀“模块”和“单元”是为了便于说明,并且因此可互换地使用并且没有任何可区别的含义或功能。

尽管组成本公开的实施方式的所有元件被描述为被集成为单个元件或被操作为单个元件,但是本公开并不一定限于这些实施方式。根据实施方式,在本公开的目标和范围内,所有元件可以选择性地集成为一个或多个元件以及可以被操作为一个或多个元件。每个元件可实施为独立的硬件。可替代地,一些或所有元件可选择性地结合成具有执行结合在一件或多件硬件中的一些或所有功能的程序模块的计算机程序。可由本公开所属领域的技术人员容易地推理出构成计算机程序的代码和代码段。计算机程序可存储在计算机可读介质中,使得计算机程序由计算机读取和运行以实施本公开的实施方式。计算机程序存储介质可包括磁记录介质、光学记录介质和载波介质。

除非另有描述,否则本文中描述的术语“包括”、“包含”以及“具有”应当被解释为不排除其他元件,而是进一步包括其他此类元件,因为相应元件可以是固有的。除非另有描述,否则包括技术或科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的含义相同含义。通常使用的术语(诸如在字典中定义的术语)根据上下文应当被解释为与相关领域中的含义一致。除非在本公开中明显地定义,否则这些术语不应被解释为理想化的或过于刻板的含义。

将理解,尽管在本文中可使用术语第一、第二、A、B、(a)、(b)等来描述本公开的各种元件,但是这些术语仅用于区别一个元件与另一元件,并且对应元件的本质、次序或顺序不受这些术语限制。将理解,当一个元件被称为“连接至”、“耦接至”或者“访问”另一元件时,虽然一个 元件可直接地连接至或直接访问另一元件,但是一个元件可通过另外的元件“连接至”、“耦接至”、或“访问”另一元件。

图1是用于说明根据本公开的车辆控制器局域网(CAN)通信网络的配置的示图。

参考图1,车辆内通信系统可以包括:在安装于车辆中的控制器之间通信期间提供路由功能的车辆网关10,以及连接至车辆网关10的各个域的一个或多个网络(例如,网络A 20、网络B 30、以及网络C 40)。各个网络或域均可以包括至少一个控制器。域的实例可以包括车身域、底盘域、驾驶员协助系统域、传动系域、周围视野域、音响主机域等。然而,本公开不限于此,并且应注意,相应域的名称和类型可根据车辆制造商和汽车型号而不同。

此外,车辆网关10与网络之间的通信方案可因各个域而不同,并且车辆内通信系统可以包括多个车辆网关。可适用于车辆内通信系统的通信方案的实例可以包括控制器局域网(CAN)通信、局域互联网(LIN)通信、FlexRay通信、以太网通信等。然而,本公开不限于此。

例如,应用根据本公开的动态地控制安全车辆通信的方法的车辆内通信网络可以适合于执行广播通信的网络。然而,本公开不限于此。

在以下描述中,将给出其中连接至车辆网关10的网络执行广播通信的CAN通信作为示例。

此外,根据本公开的实施方式,诊断器50可以连接至车辆网关10。举例来说,诊断器50可以通过车辆中所包含的用于诊断器的预定连接器连接至车辆网关10,以通过连接的车辆网关10与车辆中所安装的控制器执行诊断通信。在这种情况下,诊断器50和车辆网关10可以使用除CAN通信以外的通信方案互相通信。例如,RS 232串行通信可以用作诊断器 50与车辆网关10之间的通信。然而,本公开不限于此,并且应注意,可以根据车辆制造商使用另一通信方案。作为另一实例,近场通信而不是有线通信可以用作诊断器50与车辆网关10之间的通信。例如,近场通信可以对应于Wi-Fi通信、ZigBee通信、超宽带(UWB)通信、以及蓝牙通信中的一种。然而,本公开不限于此。

根据本实施方式的车辆网关10可以在每次车辆起动时,生成针对连接到其上所有的网络20、30、以及40中所包含的控制器的新的标识符(ID),并且使用所生成的新的ID更新路由表。这里,新的ID可以对应于用于唯一地识别车辆中的控制器、车辆网关10、或网络的信息。例如,在CAN通信中,新的ID可以包含在相应控制器的输出消息中并被发送,并且控制器中的每一个可以通过所接收的消息中所包含的新的ID,识别从中接收消息的控制器。为此,控制器中的每一个可以保持有关允许从中接收消息的控制器的ID的信息,即,可接收ID的列表。当控制器接收除允许从中接收消息的控制器的ID以外的消息时,控制器可以丢弃所接收的消息。

通常,当每个节点,即电子控制单元(ECU)或控制器访问穿过CAN总线的数据以执行读取或者写入操作时,CAN通信总线不包括控制所有节点的主节点(master)。因此,当每个节点准备发送数据时,在验证CAN总线线路是否处于使用中之后,每个节点可以将CAN帧发送至网络。在这种情况下,所发送的CAN帧既不包括发送节点的地址也不包括接收节点的地址。相反,在CAN帧中传输用于唯一地识别发送CAN帧的控制器的ID。

当相应节点试图在CAN总线上同时发送信息时,具有最高优先级的节点,例如,具有最低仲裁ID的节点可以自动地访问总线。当前在CAN通信中使用的仲裁ID具有11位(CAN 2.0部分A)或者29位(CAN 2.0部分B)的长度。

换言之,CAN帧的ID可以用于识别消息的内容并且识别消息的优先级。例如,控制器ID的分配范围在应用消息中可以是0x000h至0x7ffh或0x000h至0x6ffh,并且在诊断消息中可以是0x700h至0x7ffh。然而,本公开不限于此,并且应注意的是,分配范围可以根据仲裁ID字段的长度和/或车辆制造商和型号而变化。

图2示出了在国际标准中定义的CAN数据帧200的结构。

参照图2,CAN数据帧200可以包括帧开始(SOF)字段201、标识符字段202、远程发送请求(RTR)字段203、标识符扩展(IDE)字段204、保留(R)字段205、数据长度代码(DLC)字段206、数据字段207、循环冗余校验(CRC)字段208、确认(ACK)字段209、帧结束(EOF)字段210、以及帧间间隔(IFS)字段211。

SOF字段201具有1位的长度,并且被用于指示帧的开始。

ID字段202对应于用于识别消息类型并且指定消息的优先级的信息。在本实例中,示出了其中ID字段202具有11位的长度的标准CAN数据帧的格式。然而,在标准中定义了其中ID字段202具有29位的长度的扩展CAN数据帧的格式。

IDE字段204被用于验证帧是标准帧还是扩展帧,并且具有1位的长度。例如,IDE字段204可在其值为0时表示标准帧,并且可在其值为1时表示扩展帧。

RTR字段203被用于验证帧是远程帧还是数据帧,并且具有1位的长度。例如,RTR字段203可在其值为0时表示数据帧,并且可在其值为1时表示远程帧。

R字段205是在当前标准中未定义其用途的字段,并且是保留以供将来使用的字段。该字段具有1位的长度。

DLC字段206对应于用于识别帧中所包含的数据的字节的长度的代码信息,并且具有4位的长度。

数据字段207可具有在0至8字节范围内的可变长度。

CRC字段208包括15位的循环冗余校验码以及1位的反向界定符,并且用于验证接收帧中是否存在错误。

ACK字段209是用于验证接收端正常接收帧的字段,并且具有2位的长度。准确地接收CAN数据帧200的每个CAN控制器发送位于帧的末尾的ACK位。发送节点验证总线上是否存在ACK位,并且当未发现ACK位时尝试重传帧。

EOF字段210是用于指示CAN帧的结束的字段,并且具有7位的长度。

IFS字段211可以用于提供CAN控制器处理连续帧所需的时间,并且确保将接收帧准确地移动至消息缓冲区域中的合适位置所需的时间。

如前述所述,CAN数据帧具有总计47位至111位的范围内的可变长度。当数据字段207具有8字节的长度时,数据字段207占整个CAN数据帧的58%。

以诸如数据帧、远程帧、错误帧等各种帧形式提供CAN通信消息。

图3是用于说明根据国际标准的CAN数据帧中的DLC的定义的表。

如上参照图2所述,DLC字段206对应于用于识别CAN数据帧200中所包含的数据的长度的信息,并且具有4位的长度。在当前标准中,数据的最大长度是8字节,并且因此仅从基数2的“0000”至基数2的“1000”的范围被定义并且用作如在图3中示出的DLC字段206的值。

例如,当DLC字段206具有基数2中的“0000”的值时,该值表示数据字段207具有0字节的长度。当DLC字段206具有基数2中的“1000”的值时,值表示数据字段207具有8字节的长度。

DLC字段206的基数2的“0000”的值表示CAN数据帧中所包含的数据字段207与紧接着的先前发送的CAN数据帧的数据字段207相同。因此,当先前数据与要发送的当前数据相同时,发送节点将DLC字段206的值设置为基数2中的“0000”,生成未填充数据字段207的CAN数据帧并且将所生成的CAN数据帧发送至CAN网络。当所接收的CAN数据帧的DLC字段206具有基数2中的“0000”的值时,接收节点可以确定当前数据与先前接收数据相同。

换言之,当数据不变时,发送节点实际上不发送数据,并且发送基数2中的“0000”的值作为数据字段207的值。因此,可以减小CAN网络负载。

图4是用于说明根据本公开的实施方式的车辆控制器400的层次结构的示图。

车辆控制器400可以包括微控制器410、CAN驱动器420、CAN接口430、共用通信模块440、以及应用软件450。

微控制器410可以包括通过物理接入到CAN总线401发送和接收CAN信号的硬件(例如,CAN收发器)、以及用于分配运行车辆控制器400所需的CPU和存储器资源的主控制单元(MCU)。

微控制器410的CAN收发器可以检测CAN总线401上的CAN信号并且将所检测到的CAN信号传送至CAN驱动器420。

具体地,根据本实施方式的微控制器410的MCU可以计算先前接收CAN帧与当前接收的CAN帧之间的接收时间间隔,基于所接收的CAN 帧中所包含的数据的长度计算控制器中的CAN帧处理时间,并且通过将所计算的接收时间间隔与所计算的CAN帧处理时间相比较确定大容量诊断消息的分离传输周期。

此外,当所接收的CAN帧中包含的ID具有比分配给控制器的诊断ID的优先级高的优先级时,微控制器410的MCU可以计算接收时间间隔。

此外,微控制器410的MCU可以基于先前接收的CAN帧中所包含的DLC计算CAN帧处理时间。

此外,当从诊断器接收报告大容量诊断消息的传输的预定CAN帧时,微控制器410的MCU可以执行控制操作使得包含确定的分离传输周期的预定流量控制帧被发送到诊断器。

此外,当作为比较结果的是CAN帧处理时间大于或等于接收时间间隔时,微控制器410的MCU可以确定分离传输周期使得当前设置的分离传输周期增加预定时间。

这里,所增加的时间可以对应于接收时间间隔。

另一方面,当比较的结果是CAN帧处理时间小于接收时间间隔时,微控制器410的MCU可以确定分离传输周期使得当前设置的分离传输周期减少预定时间。

在这种情况下,可以确定所减少的时间与CAN总线负载成反比。

CAN驱动器420可以从所接收的CAN信号中识别CAN帧,并且基于所识别的CAN帧的ID来验证CAN帧是否是需要通过车辆控制器400接收的CAN帧。当CAN帧旨在用于CAN驱动器420作为验证的结果时,如通过箭头402示出的,CAN驱动器420将所接收的CAN帧传送至CAN接口430。另一方面,当CAN帧不是旨在用于CAN驱动器420时,如通 过箭头403示出的,CAN驱动器420将所接收的CAN帧返回至CAN总线401。

CAN接口430可以提供允许共用通信模块440接入CAN驱动器420的接入接口。

共用通信模块440可以执行路由在应用软件450与车辆控制器400中所包含的各种车辆通信模块之间发送和接收的数据包的功能。此处,除CAN通信模块以外,车辆通信模块还可以包括LIN通信模块、以太网通信模块等。

图5是用于说明根据本公开的实施方式的车辆中的大容量诊断通信过程的流程图。

图5中示出的发送器510可以对应于诊断器并且图5中示出的接收器520可以对应于待被诊断的控制器。

参照图5,当发送器510向接收器520发送第一帧时,接收器520可以向发送器510发送包括第一区块大小(BS_1)和第一分离传输周期(STmin_1)的第一流量控制帧。

在S503至S505中,发送器510可以基于所接收的第一流量控制帧,计算要发送的对应于第一区块大小的连续帧的数目,并且向接收器520发送连续帧(第一至第三BS_1连续帧),连续帧的数目对应于所计算的数。此处,可以通过将区块大小除以要发送的诊断消息的大小来计算连续帧的数目。例如,当第一区块大小是24字节时,并且诊断消息具有8字节的大小,连续帧的数目可以是三个。

在S506中时,当完全接收对应于第一区块大小的诊断消息时,接收器520可以生成包括第二区块大小(BS_2)和第二分离传输周期(STmin_2)的第二流量控制帧并且向发送器510发送所生成的第二流量控制帧。

在S507至S508中,发送器510可以基于所接收的第二流量控制帧,计算要发送的对应于第二区块大小的连续帧的数目,并且向接收器520发送连续帧(第一和第二BS_2连续帧),连续帧的数目对应于所计算的数目。

已基于控制器所包含的存储器的大小和在开发控制器时预先分析的控制器的性能,来确定出传统流量控制帧中所包含的区块大小和分离传输周期。此后,已在工厂初始化步骤中为控制器预先设置了区块大小和分离传输周期并且没有改变。因此,存在的缺点是不能根据实时变化的网络状况自适应处理大容量诊断消息。

另一方面,在以上图5的实例中,可以基于CAN总线的负载状况动态地确定流量控制帧帧中所包含的区块大小信息和分离传输周期信息。

举例来说,当CAN总线的负载高时接收器520可具有长分离传输周期并且当CAN总线的负载低时接收器520接收器可具有短分离传输周期。

作为另一实例,在当前CAN帧的接收间隔比所接收的CAN帧的内部处理所需的处理时间短时,接收器520可以增加分离传输周期。另一方面,在当前CAN帧的接收间隔比所接收的CAN帧的内部处理所需的处理时间长时,接收器520可以减小分离传输周期或者将分离传输周期的值设置为0,从而执行控制操作使得发送器510可以在任何时间发送诊断消息。

在CAN总线上发送和接收的CAN帧的优先级可以根据CAN帧中包含的ID信息而不同。因此,当连接至CAN总线的每个控制器接收具有比控制器的优先级高的优先级时,控制器可以通过测量和/或估计CAN帧的接收间隔以及CAN帧的内部处理时间自适应确定分离传输周期。

通常,诊断消息具有设置为低于另一个控制消息的优先级的优先级。因此,存在的优点是当针对每个控制器实时测量具有比诊断消息的优先级 高的优先级的控制消息的CAN总线上的负载时,最小化诊断错误,并且基于所测量负载确定每个控制器的分离传输周期和区块大小。

图6是用于说明根据本公开的实施方式的控制待诊断的控制器中的大容量诊断通信的方法的流程图。

参照图6,在S601和S602中,当接收CAN帧时,控制器可以提取所接收的CAN帧中的ID,并且将所提取ID的优先级与先前分配给控制器的诊断ID的优先级进行比较。

在S603中,当所提取ID的优先级高于分配给控制器的诊断ID的优先级作为比较结果时,控制器可以计算先前接收的CAN帧与当前接收的CAN帧之间的接收时间间隔(出于说明方便,以下简称“CAN_时间_周期”)。

在S604中,控制器可以基于先前接收的CAN帧的DLC值,计算控制器中的CAN帧处理时间(出于说明方便,以下简称“CAN_时间_处理”)。

随后,在S605中,控制器可以确定CAN_时间_处理是否大于或等于CAN_时间_周期。

在S606中,当作为确定结果CAN_时间_处理大于或等于CAN_时间_周期时,控制器可以确定CAN总线负载是满的,并且将当前分离传输周期(STmin)增加一定水平。在此,分离传输周期的增加量可以对应于所计算的CAN_时间_周期。然而,本公开不限于此。

在S605中,当作为确定结果CAN_时间_处理小于CAN_时间_周期时,控制器可以确定在CAN总线的当前负载状况下可以接收诊断消息。在这种情况下,当在S603中计算的CAN_时间_周期大于当前设置的分离传输周期(STmin)时,在S607中当前设置的分离传输周期(STmin)可 被CAN_时间_周期的值替代,以存储CAN_时间_周期值,并且可以将CAN_时间_周期值初始化至0。

具体地,当CAN_时间_处理小于CAN_时间_周期,并且当前设置的分离传输周期(STmin)大于所计算的CAN_时间_周期时,控制器可以通过用CAN_时间_周期值替代分离传输周期来减小分离传输周期。

作为另一实例,当CAN_时间_处理小于CAN_时间_周期时,可基于通过从CAN_时间_周期中减去CAN_时间_处理获得的值,动态地计算当前分离传输周期的减少量。例如,可以确定分离传输周期的减少量与CAN_时间_周期和CAN_时间_处理之间的差(CAN_时间_周期-CAN_时间_处理)成比例。此外,当CAN_时间_周期与CAN_时间_处理之间的差超过预定参考值时,分离传输周期可以初始化至0。在这种情况下,诊断器可以在任何时间发送待被发送到控制器的诊断消息。

在S608中,控制器可以将包括改变的分离传输周期的流量控制帧发送至诊断器。

图7是用于说明根据本公开的实施方式的控制车辆网关中的大容量诊断通信的过程的流程图。

如在图7中示出的,可以通过车辆网关720路由并且传送诊断器710与待诊断的控制器730之间交换的所有的消息。

在S700中,车辆网关720和待诊断的控制器730可以基于实时监控的CAN总线的状况动态地计算分离传输时间(STmin)。

例如,车辆网关720可以基于CAN总线的负载状况和待路由的消息的优先级,计算从诊断器710接收的诊断消息可以在没有遗漏情况下始终如一地路由到待诊断的控制器730的分离传输时间,并且通过预定控制信号(此处,控制信号可以在CAN帧中传输)将所计算的分离传输时间发 送至待诊断的控制器730。在S701和S702中,当报告由诊断器710生成的大容量数据的传输的第一帧通过车辆网关720被接收时,待诊断的控制器730可以通过车辆网关720向诊断器710发送包括从车辆网关720接收的分离传输时间和当前可接收的块的大小的流量控制帧。

在S703至S705,诊断器710可以以对应于STmin的间隔向车辆网关720发送基于所接收的流量控制帧生成的第一至第三连续帧。

在这种情况下,车辆网关720可以将所接收的连续帧路由至待诊断的控制器730。

如在图7中示出的,当CAN总线负载在从车辆网关720接收第二连续帧的时间点是满的时,即,当所接收的第二连续帧不能被立即路由时,车辆网关720可以延迟路由第二连续帧。在此,应注意,路由延迟间隔可以根据CAN总线负载的状态变成可以发送连续帧的状态所在的时间点而动态地改变。此外,路由延迟间隔不能超过分离传输周期(STmin)。当总线负载一直满直至路由延迟间隔超过分离传输周期并且因此不能够路由连续帧时,车辆网关720可以将分离传输周期增加一定时间,并且将所增加的分离传输周期发送至待诊断的控制器730。因此,车辆网关720可以防止大容量诊断消息的路由连续出故障。

根据实施方式,车辆网关720可以基于总线负载为满的间隔的长度和通过CAN总线监测在单位时间期间测量的总线负载为满的出现频率,估计或确定不会发生省略消息传输,即路由故障的分离传输时间。此处,总线负载满的间隔长度可以参照单位时间期间总线负载为满的平均时间。

根据另一实施方式,车辆网关720可以监测CAN总线状态以将在单位时间期间在CAN总线上生成的消息的大小相加(adding),并且所相加的消息的大小除以在单位时间期间在CAN总线上可生成的消息的最大大 小,从而计算平均总线负载。此后,车辆网关720可以基于所计算的平均总线负载估计或确定分离传输周期。

本公开的上述方法可以以由车辆控制器和/或车辆网关或其嵌入的模块可执行的程序命令的形式实施,并且可以记录在车辆控制器和/或车辆网关的非暂存性计算机可读记录介质中。

以下描述根据本公开的方法和装置的效果。

本公开的优势是提供用于控制车辆中的大容量诊断消息的方法和装置,其能够防止车辆诊断消息的传输错误或遗漏。

此外,本公开的优势是提供一种车辆网关,能够基于网络负载动态地计算可路由从诊断器接收的诊断消息的分离传输周期,使得在传输中不会遗漏诊断消息,并且当诊断器和待诊断的控制器通过车辆网关互相通信时将所计算的分离传输周期发送至待诊断的控制器。

此外,本公开的优势是提供用于控制车辆中的大容量诊断消息的方法和装置,其能够通过测量具有比诊断消息的优先级高的优先级的消息的CAN总线上的接收间隔和消息的处理时间,自适应地控制诊断消息的分离传输周期。

此外,本公开的优势是通过诊断器最小化车辆中所包含的控制器的诊断和重编程时间。

可以从本公开获得的效果不限于上述效果,并且本领域的技术人员可从以上描述中清晰地理解本文中未提及的其他效果。

本领域技术人员将理解,在不偏离本公开的精神和必要特征的情况下,可以除了本文中阐述的那些方式之外的其他具体方式来实现本公开。

因此,以上示例性实施方式在所有方面被解释为说明性的且非限制性的。本公开的范围应当通过所附权利要求及其法定等同物确定,而不是通过以上说明书确定,并且落在所附权利要求的含义和等同范围内的所有变化旨在包含在其中。

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