确定是否在车辆中安装车辆系统更新的制作方法

文档序号:14217898阅读:172来源:国知局

本发明涉及在车辆中安装车辆系统更新,并且更具体地涉及在车辆中的车辆系统模块和/或电子控制单元中安装更新。



背景技术:

车辆计算机模块经常利用软件(例如或固件等)来执行各种车辆功能。车辆制造商最初可以将软件安装在车辆模块中;然而,制造商有时可能会研发出改善性能或提高模块能力的更新或新软件。这些更新可以通过在车辆服务中心处的线路或者通过所谓的“空中”(ota)通信无线地提供给车辆。当这些更新在车辆服务中心提供时,它们通常是由维修技术人员进行安装,而维修技术人员经过培训以让车辆在安装更新之前保持静止。但是,当通过ota方法接收到更新时,车辆终端用户可以参与安装过程,并且车辆用户可以不遵循相同的过程。例如,用户可以尝试在车辆移动期间安装更新,并且如果在安装更新期间车辆正在移动或正在被操作,则车辆可能无法正常地操作---例如,这是因为在安装过程中可能停用了或至少部分地临时禁用了目标车辆模块。因此,在至少一些情况下,由于某些车辆系统可能不起作用,因而安装可能会给用户带来危险。

因此,在安装过程中通常需要禁止车辆功能。例如,更明确地需要在允许于车辆模块中安装更新之前在车辆计算机处确定车辆是否是静止的。此外,由于安装过程可以由计算机执行,因此需要以高置信水平确定车辆是静止的。



技术实现要素:

根据本发明的实施例,提供了一种确定是否在车辆中的电子控制单元(ecu)处安装软件更新的方法。该方法包括:在ecu处接收来自车辆中的第一车辆系统模块(vsm)的第一信号;在ecu处接收来自车辆中的第二vsm的第二信号,其中第一信号和第二信号各自提供车辆处于静止状态的指示;基于第一信号和第二信号,在ecu处评估车辆处于静止状态,其中该评估与第一预定置信水平一致;以及响应于该评估,在ecu处授权在ecu存储器上安装软件更新。

根据本发明的另一个实施例,提供了一种用于车辆的软件更新系统。该系统包括:车辆系统模块(vsm),其配置为使用第一组参数来确定车辆是否处于静止状态的第一评估;网关模块,其配置为使用第二组参数来确定车辆是否处于静止状态的第二评估,其中第二组的参数中的至少一些与第一组的参数不同;以及具有联接到存储器的处理器的目标电子控制单元(ecu),其中存储器存储可由处理器执行的多个指令,这些指令包括:分别从vsm和网关模块接收与第一评估和第二评估相关联的数据的指令;响应于接收到第一评估数据和第二评估数据来评估车辆是否处于静止状态的指令;以及当处理器确定车辆处于静止状态时授权安装软件更新的指令。

根据本发明的另一实施例,提供了一种计算机程序产品,该计算机程序产品包括用于车辆中的电子控制单元(ecu)的非暂时性计算机可读介质,该计算机可读介质包括使得ecu的处理器能够在车辆处于静止状态时在ecu的存储器中安装软件更新的计算机程序指令。计算机程序指令包括:从车辆中的车辆系统模块(vsm)接收第一信号的指令,其中第一信号与vsm进行的车辆处于静止状态的评估相关联;从车辆中的网关模块接收第二信号的指令,其中第二信号与网关模块进行的车辆处于静止状态的评估相关联;响应于接收到第一信号和第二信号来确定车辆是否处于静止状态的指令,其中该确定与预定置信水平一致;当处理器确定车辆处于静止状态时授权安装软件更新的指令;基于该授权,从车辆中的多个vsm之一接收软件更新的指令;以及基于接收到指令更新,用软件更新来刷新存储器装置的指令。

附图说明

以下将结合附图描述本发明的一个或多个实施例,其中相同的附图标记表示相同的元件,并且其中:

图1是描绘能够利用本文公开的方法的通信系统的实施例的框图;

图2是用于车辆的安装更新系统的框图;以及

图3是确定是否在车辆中的电子控制单元(ecu)处安装指令更新的方法的流程图。

具体实施方式

下面描述了用于车辆的软件更新系统,该软件更新系统适于控制车辆系统模块中(例如,在其电子控制单元(ecu)中)的车辆系统更新的安装。软件系统更新可以适于更新软件、固件、指令代码或任何其他适合于可配置或可编程电子装置的指令。在ecu中进行安装之前,软件更新系统以高置信水平确定车辆处于静止状态。根据一个示例,在开始ecu的更新之前,软件更新系统确定车辆是否正在移动,并且禁止ecu的更新,直到车辆被确定为静止的。此外,更新系统可以引起一个或多个车辆系统向软件更新系统提供错误读数或数据---例如,由于车辆硬件的故障、由于车辆硬件中的程序错误或者由于车辆黑客进行的恶意性活动,这里仅举几个示例。将在下面更详细地讨论更新系统及其实施方式。

通信系统–

参考图1,示出了操作环境,该操作环境包括移动车辆通信系统10并且可以用来实施本文所公开的方法。通信系统10通常包括:一个或多个无线载波系统12;陆地通信网络14;包括远程服务器18或数据服务中心20中的至少一个的车辆后端系统16;以及车辆24。应理解,所公开的方法可以与任意数量的不同系统一起使用并且并不具体局限于此处示出的操作环境。而且,系统10及其各个部件的架构、构造、设置和操作是本领域中众所周知的。因此,以下段落仅提供一种这样的通信系统10的简要概述;但是,此处未示出的其他系统也可以采用所公开的方法。

无线载波系统12优选地是蜂窝电话系统,该蜂窝电话系统包括多个蜂窝塔(仅示出了一个)、一个或多个移动交换中心(msc)(未示出)以及连接无线载波系统12与陆地网络14所需的任何其他联网部件。每个蜂窝塔包括发送及接收天线和基站,其中来自不同蜂窝塔的基站直接地或者经由中间设备(诸如基站控制器)连接到msc。蜂窝系统12可以实施任何合适的通信技术,包括例如,模拟技术(诸如amps)或者其他更新颖的数字技术(诸如lte、cdma(例如cdma2000)或gsm/gprs)。如本领域技术人员将会理解的那样,各种蜂窝塔/基站/msc布置是可能的并且可以与无线系统12一起使用。例如,基站和蜂窝塔可以共同定位于相同地点或者它们可以位于彼此较远处,每个基站可以负责单个蜂窝塔或者单个基站可以服务多个蜂窝塔,并且多个基站可以联接到单个msc,仅给出可能布置的几个示例。

陆地网络14可以是常规的基于陆地的电信网络,其连接到一个或多个陆地线路电话并且将无线载波系统12连接到后端系统16。例如,陆地网络14可以包括公共交换电话网(pstn),诸如用来提供硬接线电话、分组交换数据通信和互联网基础设施的公共交换电话网。陆地网络14的一个或多个区段可以通过使用标准有线网络、光纤或其他光学网络、电缆网络、电力线路、其他无线网络(诸如无线局域网(wlan))、或提供宽带无线接入(bwa)的网络、或其任何组合来实施。而且,数据服务中心20无需经由陆地网络14连接,而是可以包括无线电话设备,使其能直接与无线网络(诸如无线载波系统12)通信。

远程服务器18可以是经由私有网络或诸如因特网之类的公共网络而可访问的多个计算机中的一个。每个这样的服务器18可以用于一个或多个目的,诸如经由陆地网络14和/或无线载波12可访问的网络服务器。其他这样的可访问服务器18可以是例如服务中心计算机,其中可以从车辆24上传诊断信息和其他车辆数据;车辆所有者或者其他用户为如下目的而使用的客户端计算机:访问或者接收车辆数据、或者设置或配置用户偏好、或者控制车辆功能;或者第三方库,无论是通过与车辆24通信、与数据服务中心20通信或者还是与两者通信,车辆数据或者其他信息被提供至该第三方库或者从该第三方库提供。远程服务器18还可以用于提供互联网连接,例如dns服务,或者作为使用dhcp或者其他合适的协议来分配ip地址给车辆24的网络地址服务器。

数据服务中心20被设计来为车辆24提供多种不同的系统后端功能,并且通常包括一个或多个交换机、服务器、数据库、现场顾问、以及自动语音应答系统(vrs),所有这些在现有技术中都是已知的。这些各种数据服务中心部件优选地经由有线或者无线局域网彼此联接。可以是专用交换分机(pbx)的交换机对进入信号进行路由,使得语音传输通常通过普通电话发送到现场顾问,或者使用voip发送到自动语音应答系统。现场顾问电话也可以使用voip;voip和通过交换机的其他数据通信可以经由连接在交换机与网络之间的调制解调器来实施。数据传输经由调制解调器传递到服务器和/或数据库。数据库可以存储账户信息,诸如用户身份验证信息、车辆标识符、档案记录、行为模式以及其他有关的用户信息。数据传输也可以由无线系统来执行,诸如802.11x、gprs等。虽然已经将一个实施例描述为它将会与使用现场顾问的人工数据服务中心20相结合地使用,但将会明白的是,数据服务中心可以改为使用vrs作为自动顾问,或者,可以使用vrs和现场顾问的组合。

如图1所示,车辆24被描述为乘用车,但应当理解,也可使用任何其它车辆,包括摩托车、卡车、运动型多功能车(suv)、休闲车(rv)、航海船舶、飞行器等。车辆24可以包括车辆软件更新系统30,该车辆软件更新系统包括一个或多个车辆系统模块(vsm)32、一个或多个网络连接34、车辆点火系统36以及各种其他车辆电子模块、电路、传感器、开关等(其将在下面进行描述)。

通常,vsm32可以包括车辆24中的任何合适的硬件模块,每个硬件模块可以配置为执行一个或多个不同的车辆功能或任务。vsm32的非限制性示例包括控制发动机操作的各方面(诸如燃料点火和点火正时)的发动机控制模块(ecm)以及调节车辆动力系统的一个或多个部件的操作的动力系统控制模块(pcm)。根据一个实施例,ecm配备有提供各种实时数据的车载诊断(obd)特征,所述数据例如从包括车辆排放传感器在内的各种传感器处接收的数据,并且该特征还提供允许技术人员快速地识别并修复车辆内的故障的一系列标准化诊断故障代码(dtc)。其他vsm实施方式对于本领域技术人员而言将是显而易见的。

转到图2,示出了车辆软件更新系统30的一个实施例,该系统包括几个vsm32(即车身控制模块(bcm)44、网关模块46和目标vsm48)以及车辆点火系统36。应当理解,这些vsm44-48仅仅是示例;例如在下面的描述中,已经使用其他vsm32来代替这些模块来执行本文所述的方法。

所示的bcm44包括联接到存储器54的处理器52。处理器52可以是能够处理和/或执行指令的任何类型的装置,包括微处理器、微控制器、主处理器、控制器、车辆通信处理器和专用集成电路(asic)。它可以是专用处理器(仅用于模块44),或者它可以与其他车辆系统共用。例如,在至少一个实施例中,处理器52可以实施或执行存储在存储器54上的多个指令,这些指令包括以下一项或多项:(1)从各种车辆系统模块、电路、传感器、开关等接收电气输入或参数(例如,其可以是车辆处于静止状态的标记);(2)基于所接收的电气参数来评估或确定车辆24是否看上去处于静止状态,其中该评估具有一定置信水平;以及(3)响应于接收参数并做出车辆24看上去处于静止状态的评估(其中该评估达到或超过预定阈值置信水平),随后提供第一触发或其他合适信号作为输出(例如见t1)。因此,处理器52可以执行本文描述的方法的至少一部分,如下面将更详细地讨论的。

在图2中,示出了接收电气参数a、b、c的处理器52---其中参数a从车辆24上的机械驻车制动器传感器p接收,参数b从点火系统36接收,而参数c可以从一个或多个附加的来源接收,诸如车辆座椅传感器、车门位置指示器(闭合或半开)、车厢中的无线接近传感器、发送固定信号的车辆模块(例如,通过车辆通信总线)等。应当理解,这些参数和其他参数可以由bcm处理器52接收,并且可以用于确定车辆24是处于非静止状态还是静止状态。

非静止状态可以包括如下情况:车辆24正在移动,或者车辆24是静止的或不动的,但是变速器却处于行车档、倒挡中或同样地能够由车辆用户操作。静止状态包括如下状况:无论发动机是打开的还是关闭的,车辆24都没有移动,并且车辆处于停车挡下。在至少一个实施例中,还对车辆机械(或者所谓的紧急)制动器进行致动或应用。这些仅仅是静止状态的示例;当然也存在有其他实施方式。如下面将要解释的,各种机械、电气和/或软件控制装置可以帮助更新系统30确定车辆24是否处于静止状态---例如,更新系统30可以使用车辆24内的机械硬件或系统、车辆内的电气电路或控制系统、车辆24内的编程指令等

bcm44的存储器54可以用于存储与bcm的操作相关联的参数数据(例如a-c数据)和其他数据。存储器54包括任何非暂时性计算机可用或可读介质,该介质包括一个或多个存储装置或物品。示例性的非暂时性计算机可用存储装置包括常规计算机系统ram(随机存取存储器)、rom(只读存储器)、eprom(可擦除可编程rom)、eeprom(电可擦除可编程rom)以及磁性的或光学的盘或带。在至少一种实施方式中,存储器54包括非易失性存储器(例如,rom、eprom、eeprom等)。这些当然只是示例;本文考虑了其他实施方式。

网关模块46可以配置为提供各种通信服务。例如,模块46可以包括一个或多个无线芯片组(未示出),使得网关模块能够经由无线载波系统12上的蜂窝通信(例如lte、cdma、gsm等)以及经由与其他本地无线装置、其他车辆装置等的短程无线通信(srwc)来进行通信。例如,srwc包括但不限于诸如蓝牙、ble、wi-fi、wi-fi直连等技术。在至少一些实施方式中,网关模块46位于车辆24的中控台或仪表板中并且包括用户界面装置(例如按钮、旋钮、触摸屏等)(未示出)。例如,模块46可以经由因特网连接、经由am/fm/卫星无线电台、经由cd、dvd或mp3播放器中的一个或多个等来向车辆用户提供娱乐和信息娱乐服务。如下面将要解释的,网关模块46可以用作针对来自后端系统16的ota或指令更新的接收装置---例如,这些更新可以不时地提供给网关模块,因此,网关模块46可以配置为在适当时将它们提供给车辆24内的相应vsm32。

所示的网关模块46包括处理器62、存储器64以及辅助或备用供电器或电源66。处理器62可以是能够处理和/或执行指令的任何类型的装置,包括微处理器、微控制器、主处理器、控制器、车辆通信处理器和专用集成电路(asic)。它可以是专用处理器(仅用于模块46),或者它可以与其他车辆系统共用。例如,在至少一个实施例中,处理器62可以实施或执行存储在存储器64上的多个指令,这些指令包括以下一项或多项:(1)从各种车辆系统模块、电路、传感器、开关等接收电气输入或参数d、e、f、g、h(包括从bcm44接收电气参数,如图所示)(例如,其可以是车辆处于静止状态的标记);(2)基于所接收的电气参数来评估或确定车辆24是否看上去处于静止状态,其中该评估具有一定置信水平;以及(3)响应于接收参数并做出车辆24看上去处于静止状态的评估(其中该评估达到或超过预定阈值置信水平),随后提供第二触发或其他合适信号作为输出(例如见t2)。因此,处理器62可以执行本文描述的方法的至少一部分,如下面将更详细地讨论的。

在图2中,在模块46处从机械驻车制动器传感器p接收参数d(其可以经过bcm44),并且可以从电子驻车制动器传感器(例如与电子制动系统(未示出)相关联)接收参数e。参数f可以与测量的车辆速度相关联,并且可以接收自ecm、防抱死制动系统(abs)(未示出)等(或者可以由来自ecm、abs等中的一个或多个的数据来确定)。参数g可以与车辆变速器是否处于停车档相关联,并且可以接收自车辆档位选择传感器(例如,接收自动力系统模块(未示出));例如,参数g可以指示prndl位置(即停车、倒退、空档、行车、低速等中的一个)。并且可以从车辆点火系统36接收参数h(并且在至少一种情况下,参数h可以等于或相同于上面讨论的参数b)。参数d-h是说明性的,并且在其他实施例中,可以将其他参数传输到网关模块46并由其接收。

网关模块46的存储器64可以联接到处理器62,并且可以用于存储参数数据(例如d-h数据)以及与网关模块的操作相关联的其他数据。存储器64包括任何非暂时性计算机可用或可读介质,该介质包括一个或多个存储装置或物品。示例性的非暂时性计算机可用存储装置包括常规计算机系统ram(随机存取存储器)、rom(只读存储器)、eprom(可擦除可编程rom)、eeprom(电可擦除可编程rom)以及磁性的或光学的盘或带。在至少一种实施方式中,存储器64包括非易失性存储器(例如,rom、eprom、eeprom等)。这些当然只是示例;本文考虑了其他实施方式。

网关模块46的辅助电源66包括联接到包括处理器62和存储器64的电路的任何合适的储能装置。当车辆点火系统36关闭时,电源66可以适于提供足够的功率来执行本文所描述的方法的至少一部分。非限制性示例包括电池(例如可充电电池)、一个或多个电容型装置等。在其他实施方式中,电源66没有包含在网关模块46内;例如,电源66可以表示车辆功率预算的一部分---例如,从主车辆电池(未示出)分配给网关模块46的安培小时百分比。

现在转向vsm48,目标vsm可以是位于车辆24中的可使用软件更新的任何vsm(32)。例如,目标vsm48可以由网关模块46来标识,例如当网关模块46从后端系统16接收针对特定vsm的通知或更新时。因此,vsm48可以是ecm、pcm、制动控制模块、变速器控制模块或者这里未列出的许多其他vsm中的任何一个。在一个实施例中,目标vsm48也可以是车身控制模块44或网关模块46。因此,目标模块48可以表示联接到网络连接34的任何系统模块或ecu。

所示的vsm48包括控制相应vsm的多种操作和功能的电子控制单元(ecu)70,并且ecu70包括处理器72和存储器74。处理器72可以是能够处理和/或执行指令的任何类型的装置,包括微处理器、微控制器、主处理器、控制器、车辆通信处理器和专用集成电路(asic)。它可以是专用处理器(仅用于模块48),或者它可以与其他车辆系统共用。此外,存储器74包括任何非暂时性计算机可用或可读介质,该介质包括一个或多个存储装置或物品。示例性的非暂时性计算机可用存储装置包括常规计算机系统ram(随机存取存储器)、rom(只读存储器)、eprom(可擦除可编程rom)、eeprom(电可擦除可编程rom)以及磁性的或光学的盘或带。在至少一种实施方式中,存储器74包括非易失性存储器(例如,rom、eprom、eeprom等)。这些当然只是示例;本文考虑了其他实施方式。

如下面将要描述的,处理器72可以实施或执行存储在存储器74上的多个指令。例如,处理器72可以配置为执行以下的一项或多项:(1)接收一个或多个触发或使能信号(例如,诸如上述的第一触发信号t1和第二触发信号t2)(例如,这些触发信号可以被认为是针对处理器72的车辆24处于静止状态的参数或标记);(2)响应于接收到第一触发信号和第二触发信号,确定车辆24是否处于静止状态,其中该确定具有一定置信水平;(3)当确定车辆24处于静止状态并且该确定达到或超过预定阈值置信水平(例如,比与第一触发和第二触发相关联的置信水平更高的置信水平)时,授权在ecu70处安装软件更新;(4)响应于该授权,从网关模块46(或其他系统模块32)接收软件更新;以及(5)响应于该授权并且响应于接收到软件更新(例如,执行刷新过程),使用软件更新来刷新存储器74。这些指令当然只是示例;在优选实施例中,处理器72还执行存储在存储器74上的其他指令(例如,诸如与特定车辆功能和/或由特定vsm48执行的操作相关联的指令)。

本领域技术人员将会理解的,对装置进行刷新或执行刷新过程是将软件更新应用于目标存储器装置以使得相关联的处理器可以执行新的、不同的或修改过的指令的过程。因此,如本文所用,对装置进行刷新包括添加、覆盖、修改、附加、预添加和/或删除存储在非暂时性计算机可读介质内(例如在存储器74内)的指令。因此,经过刷新的装置可以包括全新的指令、一些新的指令以及在刷新过程之前存在的一些指令等。

如图1至图2所示,vsm32(和特定的vsm44-48)之间的网络连接34包括用于将vsm和其他车辆电子装置彼此连接或联接的任何有线车内通信系统。根据一个实施例,网络连接34包括数据总线(例如通信总线、娱乐总线等)。合适的网络连接的非限制性示例包括控制器局域网(can)、面向媒体的系统传输(most)、局部互连网络(lin)、局域网(lan)以及其他适当的连接,诸如以太网、视听桥接(avb)或符合已知的iso、sae和ieee标准和规范的其他连接,仅举几个例子。应当理解,其他实施方式包括不连续的有线或无线连接,其可以代替上述数据总线使用或与其相结合地使用。

图2还示出了车辆点火系统36,该系统可以包括有助于为车辆发动机(未示出)供电的任何合适的电气系统。例如,在内燃机系统中,系统36可以对电力进行分配,从而提供点燃发动机内的燃料所需的火花。或者例如,在全电动车辆中,系统36可以触发推动车辆24的电动机的操作。不管怎样,点火系统36可以包括任何合适的开关、钥匙或传感器致动---例如,检测驾驶员对电源启动按钮的致动、检测点火开关中车辆钥匙的致动、接收并检测到指示经过授权的车辆用户希望启动发动机的蜂窝或srwc无线信号等等。可以将点火系统36接通(例如,接通到启动状态或模式)和断电(例如,断电到关闭状态或模式),并且如下所述,点火系统的状态可以是车辆24是否静止的一个指示(例如,将会理解的是,车辆即使在点火系统关闭时仍然可以移动)。当点火系统启动时,系统36可以提供输出---例如,参数b和h(例如,指示系统是启动的)。类似地,当系统关闭时,系统36可以提供指示系统是关闭的参数数据b和h。也可能存在其他点火系统状态;这些仅仅是两个非限制性示例。

下面将描述使用通信系统10的一种或多种方法。更具体地,将描述在车辆24中使用软件更新系统30的方法的至少一个实施例。

方法–

如图3的流程图所示,示出了方法300,该方法涉及确定是否在目标vsm48中的ecu70处安装软件更新。该方法可以在车辆处于非静止状态下时开始。例如,车辆用户可以正在驾驶车辆24,并且网关模块46可以经由空中通信或以任何其他合适的方式接收车辆系统或软件更新的通知(步骤305)。在至少一些情况下,该通知可以仅仅是接收更新。

步骤305也可以包括其他步骤。例如,在步骤305中,网关模块46可以将消息发送到目标vsm48(例如,或者更具体地发送到目标ecu70);该消息可以向ecu70通知要求刷新过程的软件更新是可用的。响应于接收到该消息,ecu70在某些情况下可以配置为在车辆点火系统36断电时保持唤醒或活跃状态。在其他实施方式中,ecu70可以在车辆点火系统36已经断电之后被唤醒(例如,通过网关模块46唤醒)。

在步骤305之后的步骤310中,可以将车辆点火系统36断电。如上所述,这可以以任何合适的方式发生---例如,在检测到车辆用户对电源关闭按钮的致动之后、在检测到点火开关中车辆钥匙的停用之后、在接收并检测到指示经过授权的车辆用户希望停止发动机的蜂窝或srwc无线信号之后等等,仅举几个示例。

在步骤315中,车辆点火系统36可以传输指示点火系统36即将断电或者其已经断电的参数数据(例如,b、h)---例如,可以将参数b发送到bcm44,并且可以将参数h发送到网关模块46。步骤310和315可以以任何合适的顺序发生,或者至少部分地同时发生。在一个实施例中,步骤315恰好在点火系统36断电之前发生---例如,点火系统36通过总线34发送表示断电程序正在进行的消息。根据本实施例,可以将网关模块46的辅助电源66触发来代替车辆电池电力发挥作用。

在步骤315的另一实施例中,参数数据b、h表现为低电压使能信号。例如,当接通点火系统36时,参数数据b、h可以是高或5v信号(例如数字“1”),并且当点火系统36断电时,参数数据b、h可能较低或者降到0v信号(例如数字“0”)。这些实施例仅仅是示例;其他实施方式也是可能的。

接着进行步骤320和325;这些步骤可以以任何合适的顺序发生,或者至少部分地同时发生。在至少一个实施例中,步骤325响应于步骤320发生。例如在步骤320中,基于评估或确定车辆24看上去处于静止状态,bcm44向ecu70的处理器72提供触发信号t1。这种评估可以是基于接收和分析一组参数或标记(a、b、c、...),并且该评估可以与一定置信水平相关联。例如,bcm44可以从机械驻车制动器传感器p接收参数数据a(例如,可以应用或可以不应用机械制动器)。参数数据b可以接收自车辆点火系统36,并且可以指示或可以不指示系统36断电(根据步骤315)。并且,参数数据c可以接收自车辆24中的一个或多个电气电路、传感器、模块等,并且可以提供车辆可能处于静止状态的任何其他合适的指示(例如,电子制动器传感器数据(例如,应用或未应用)、座椅传感器数据(例如,是否存在驾驶员)、车门传感器数据(例如,最近是否打开和关闭车门)等)。因此,当处理器52进行的评估是车辆24看上去处于静止状态时,并且当置信水平达到或超过预定阈值置信水平时,bcm44传输触发信号t1。

应当理解,如本文所使用的术语“组”(例如,“参数组”)包括一个或多个元素(例如参数、输入、标记等)。此外,系统模块(例如,bcm44)无需评估或分析给定组中的每个参数。例如,bcm44可以接收三个参数(a、b、c);然而,在对其进行评估时,bcm可以分析仅有一个参数的组(例如,参数b)、仅有两个参数的组(例如参数a和b)等。

在至少一个实施例中,触发信号t1指示车辆点火系统36的车辆功率模式,其由bcm44进行评估。例如,车辆点火系统36可以具有两个或多个状态或模式,如上所述。无论如何,在至少一种实施方式中,触发信号t1指示点火系统电源关闭模式或点火系统电源启动模式中的至少一个。

此外,在至少一个实施例中,步骤320包括将触发信号t1传输到网关模块46以及ecu70。例如,图2示出了信号t1可以致动或触发辅助电源66。因此,当处理器52确定车辆点火系统36断电时,可以将电源66接通,使得当其他车辆电子装置处于睡眠状态或者未供电状态下时,网关模块46可以处于活跃状态。尽管在图2中未示出,但是,bcm44的一些实施例也可以包括辅助电源---该辅助电源也可以由信号t1触发。

如上所述,每一个评估可以具有相关联的置信水平。根据一个实施例,置信水平可以利用概率、其他统计数据等。相关联的置信水平可以将如下事实考虑在内:由处理器52进行的评估的可靠性可能仅仅与所接收的电气参数(例如,a、b、c等)的可靠性和/或精度不相上下。例如,可以想到的是,在至少一些情况下,由处理器52接收到的参数a-c可以包括无意的错误或者可以被恶意地改变(例如,由获得软件更新系统30的访问权的黑客恶意地改变)。因此,处理器52能够对评估是精确的这一概率进行评估。

概率仅仅是示例;也存在其他实施方式。例如,在至少一个实施例中,置信水平是建立在行业标准的基础上,诸如在iso26262-1(2011年11月15日公布)中定义的汽车安全完整性等级(或称为asil),其全文通过引用的方式并入本文中。因此,在本实施例中,当处理器52评估车辆24看上去处于静止状态时,处理器可以将asil值作为此评估的基础。应当理解,asil值可以对许多标准进行说明(例如,概率加上其他)。因此例如,处理器52可以根据asil-b置信水平来提供触发信号t1。应当理解,这仅仅是一个示例(例如,该触发信号可以改为是根据asil-a或asil-c置信水平---例如在其他实施例中)。此外,应当理解,asil值可以由处理器52确定,或者提供给bcm44的参数可以定义asil值。此外,应当理解,一些车辆模块(例如诸如bcm44、网关模块46等)可以是所谓的asil-b模块;类似地,其中的电子控制单元(ecu)(例如包括处理器52、处理器62等)可以是所谓的asil-becu。

在步骤325中(图3),网关模块46基于车辆看上去处于静止状态的评估来向ecu70的处理器72提供触发信号t2,其中该评估达到或超过预定阈值置信水平。此评估是建立在接收和分析一组参数或标记(d、e、f、g、h、...)的基础上,并且该评估与一定置信水平相关联。例如,网关模块46可以从机械驻车制动器传感器p接收参数数据d(例如,应用了机械制动器或者未应用机械制动器)。可以从电子驻车制动器传感器接收参数e(例如,是否应用)。可以从速度感测vsm或者诸如ecm或abs系统之类的系统处接收参数f(例如,该参数可以指示车速为0英里/小时或大于0英里/小时)。可以从车辆档位选择传感器接收参数g(例如,指示停车、倒退、空档、行车、低速等档位中的一个档位)。并且参数数据h可以接收自车辆点火系统36,并且可以指示或可以不指示系统36断电(根据步骤315)。当然,未示出的其他参数可以提供其他附加的参数数据(例如,包括但不限于电子制动器传感器数据(例如,应用或不应用)、座椅传感器数据(例如,是否存在驾驶员)、车门传感器数据(例如,最近是否打开和关闭车门)等)。不管所接收到的参数的数量如何,当处理器62进行的评估是车辆24看上去处于静止状态时,并且当置信水平达到或超过预定阈值置信水平时,网关模块46传输触发信号t2。

类似于步骤320,步骤325可以使用概率、iso26262等来确定置信水平。并且在至少一个实施例中,处理器62根据asil-b置信水平提供触发信号t2。但是,这仅仅是一个示例;其他asil实施方式(和其他置信水平实施方式)也是可能的。此外,应当理解,asil值可以由处理器62确定,或者提供给网关模块46的参数可以定义asil值。

在步骤330中,触发信号t1和t2由处理器72(在目标ecu70中)接收。例如,如图2所示,第一触发信号t1可以从处理器52发送到网关模块46(例如,发送到辅助电源66),并且还可以发送到目标ecu70(例如,发送到处理器72)。并且第二触发信号t2可以从处理器62发送到目标ecu70(例如,发送到处理器72)。如下所述,第一触发信号t1和第二触发信号t2中的每一个也可以包括指示置信水平的数据。或者,在接收到第一触发信号t1和第二触发信号t2之后,ecu70可以关联预定义或预定置信水平。这也在下面进行讨论。

步骤335和340在步骤330之后进行。在步骤335中,目标ecu70基于接收到触发信号t1、t2来确定车辆24是否处于静止状态,其中此确定也具有一定置信水平(其在下面的步骤340中进行评估)。例如,在步骤335的一个实施例中,当处理器72至少部分地同时接收触发信号t1和t2时,处理器72确定车辆处于静止状态。例如,仅仅是同时地接收两个触发信号t1、t2就可能足以确定静止状态。当发生这种情况时,方法300进行到步骤340,而当这种情况没有发生时,处理器72可以确定存在有非静止状态,并且因此可以循环回到或返回到步骤315(例如,并且等待下一次车辆点火系统36将参数数据提供给bcm44和网关模块46)。当然这只是一个示例,并且在其他实施例中,该方法可以改为循环回到不同的步骤。

在步骤335的其他实施例中,目标ecu70可以评估来自其他系统模块、车辆传感器等的附加的触发或使能信号。例如,可能需要三个或多个信号来确定静止状态。

在步骤340中,目标ecu70确定在步骤335中的确定是否达到或超过预定阈值置信水平。例如,触发信号t1、t2可以包括指示它们各自的置信水平的数据。例如,概率数据可以包括有触发信号,并且处理器72可以基于从bcm44和网关模块46接收的数据来确定置信水平。如果计算出的置信水平达到或超过ecu70的阈值置信水平,则方法300可以进行到步骤345;如果没有达到或超过,则该方法可以循环回到步骤315(或任何其他合适的步骤)。

在步骤340的另一实施方式中,处理器72可以评估两个asil值。例如,处理器72可以确定(触发信号t1的)asil-b值和(触发信号t2的)asil-b值可以与asil-d值相关---如本领域技术人员将会理解的,该asil-d值是最高asil值(例如,最高的阈值asil值)。技术人员将会理解的是,asil值(a、b、c和d)对应于定性指标和定量指标。例如,在定性方面,asil-d包括相对于“单点故障要求”的高覆盖范围和相对于“合理双点故障/潜在故障要求”的高覆盖范围,并且需要相关故障评估。并且如本领域技术人员所理解的,例如,在定量方面,asil-d值对应于小于10-8次发生的“故障率/操作时间”。因此,在至少一个实施例中,处理器72可以在刷新ecu70之前具有车辆24处于静止状态的最高置信水平。这当然只是一个示例;存在有其他实施例。例如,处理器72可以接收两个或多个触发或使能信号---每个信号具有asil-a、asil-b或asil-c的asil值,并将这些组合的asil值与asil-d值相关。

在步骤345中,使用软件更新来刷新ecu70的存储器74。例如,网关模块46可以在步骤305至340期间将更新存储在存储器64中,并且作为步骤345的一部分,网关模块46可以向ecu70提供更新。在至少一个实施例中,ecu70可以拒绝接收(例如忽略)在ecu70没有首先完成步骤335和340的情况下向其传输的任何软件更新。例如,这样一来,在已经发生了硬件或软件错误或者恶意实体已经侵入车辆网络或总线34的情况下,ecu70可以禁止刷新事件。

根据步骤345的一个实施例,网关模块46执行ecu70的刷新,并且根据另一个实施例,ecu70在接收到软件更新后对自身进行刷新(例如,当方法300从步骤340进行到步骤345时)。刷新可以包括或可以不包括重启(例如,关闭电源,然后再重新使ecu70通电)。由于刷新存储器在本领域中通常是已知的,因此,本文将不会讨论刷新存储器74的其他方面。

一般情况下,应当理解的是,ecu70确定是否使用软件更新进行刷新。这样一来,网络安全性便得到了改善,其原因在于每个相应的vsmecu都有机会基于触发信号来确定车辆是否在刷新之前处于静止状态,并且每个vsmecu都有机会基于相关联的触发信号的置信水平来计算出或确定出置信水平。

该方法可以在步骤345之后结束。应当理解,可以针对其他vsm32重复方法300。在一些情况下,方法300可以相对于两个或多个目标vsm同时执行。

也存在其他实施例。例如,在车辆点火关闭之前,bcm44可以将第一触发信号t1传输到目标ecu70(例如,通过总线34),并且在车辆点火关闭之后,网关模块46可以将第二触发信号t2传输到目标ecu70(例如,通过总线34)。此外,ecu70可以配置为存储和执行附加指令,这些附加指令包括:在目标ecu处存储与第一触发信号相关联的数据,并且使用该数据来确定车辆是否处于静止状态,直到从bcm44处接收到更新后的触发信号t1。例如,触发信号t1的接收可以用作锁定功能---例如,使得ecu70可以仅仅对网关模块46的触发信号t2重复地进行评估(例如,等待网关模块46以某个置信水平评估车辆24看上去处于静止状态)。

在另一示例中,上述方法描述了接收ota更新。然而,在至少一个实施例中,可以在车辆服务中心或其他位置处执行更新。例如,可以将更新系统30用作应对服务技术人员错误的附加保护措施---例如,针对在尝试安装更新之前不要将车辆24完全置于静止状态下这一行为的保护措施。

因此,已经描述了一种确定是否在车辆中安装软件更新的方法。更具体地,已经描述了一种确定车辆是否是静止状态并且还根据预定置信水平来禁止软件更新的安装直到车辆处于静止状态的方法。

应当理解,前述内容是对本发明的一个或多个实施例的描述。本发明并不限于在此公开的特定实施例,而是仅由下面的权利要求书来限定。此外,上述描述中记载的陈述涉及特定实施例,并且不应被解释为对本发明的范围或权利要求中使用的术语的定义的限制,除非上文明确定义了术语或短语。各种其他实施例以及对所公开实施例进行的各种变化和修改对本领域技术人员而言将是显而易见的。所有这些其他实施例、变化和修改都旨在落入所附权利要求的范围内。

如本说明书和权利要求书中所使用的,术语“例如(e.g.)”、“例如(forexample)”、“例如(forinstance)”、“诸如”和“等”以及动词“包括(comprising)”、“具有”、“包括(including)”及它们的其他动词形式在与一个或多个部件或其他项目的列表一起使用时各自被解释为开放式的,这意味着该列表不应被视为排除其他附加的部件或项目。其他术语应采用其最广泛的合理含义来解释,除非它们是用在要求有不同解释的上下文中。

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