用于在车辆上下载和安装远程软件更新的方法和系统与流程

文档序号:12305003阅读:368来源:国知局
用于在车辆上下载和安装远程软件更新的方法和系统与流程

本发明大体上涉及用于车辆的远程软件更新,并且更具体地涉及一种用于在车辆上下载和安装远程软件更新的方法和系统,旨在提高成功更新的可能性。



背景技术:

在过去的十年中,车载车辆技术已持续增加。这些技术包括在车辆与其他远程网络装置或实体之间的无线通信。例如,如今,通常所有的新车辆均包括一个或多个模块,这些模块将信息传达回至远程设施,以使得这些模块向远程设施提供数据。推论也是如此;远程设施经由诸如蜂窝网络之类的无线通信系统为车辆提供数据。

另外,正在利用集成和广泛的计算机系统来生产车辆,这些计算机系统使车辆的操作能实现提高的车辆性能及用户体验。然而,在这些电子装置、模块或计算机中的一些上更新或安装新的软件或固件需要用户将他们的车辆送到经销商处。这对于用户和经销商两者都会是极为不便的,并且对于两者都是成本高昂的。利用大多数新车辆具有的处理能力和无线通信装置,空中(ota)编程可以是成本有效的并且更方便的替代。然而,必须确保成功的下载和安装,以使得不会损坏任何车辆模块或装置,由此需要将车辆保持固定,这会破坏目的。此外,由于存在相当多可能需要一个或多个更新的车辆,因而减少需要被送至接收更新的车辆的百分比可能会是极其有益的。



技术实现要素:

根据一个方面,提供一种用于将软件下载和安装至包括电池及车辆电子器件的车辆的方法。该方法可包括如下步骤:在车辆处接收预期信号,该预期信号指示软件包已准备好或者将准备好以无线地下载至车辆,该软件包包括所要安装在车辆电子器件上的软件;从该预期信号获得能量阈值水平,该能量阈值水平对应于用于软件包的无线下载、用于软件的安装、或者用于软件包的无线下载和软件的安装两者所需的预期能量;确定电池的能量水平;将电池的能量水平与能量阈值水平进行比较;以及当电池的能量水平低于能量阈值水平时,则对电池充电参数作出改变,以使得电池的能量水平提高。在软件包的无线下载之前、在软件的安装之前或者在软件包的无线下载和软件的安装两者之前对电池充电参数作出改变。

根据另一方面,提供一种用于将软件下载和安装至包括电池及车辆电子器件的车辆的方法。该方法可包括如下步骤:在车辆处接收预期信号,该预期信号指示软件包已准备好或者将准备好以无线地下载至车辆,该软件包包括所要安装在车辆电子器件上的软件;获得车辆的所需充电模式,其中该所需充电模式对应于对于软件包的无线下载、对于软件的安装或者对于软件包的无线下载和软件的安装两者更可取的对电池充电的模式;确定车辆的当前充电模式;评估当前充电模式是否是所需充电模式;并且当确定该当前充电模式并非是所需充电模式时,则对电池充电参数作出改变以使得电池能量水平提高。在软件包的无线下载之前、在软件的安装之前或者在软件包的无线下载和软件的安装两者之前对电池充电参数作出改变。

根据另一方面,提供一种用于下载和安装软件的车辆系统。该系统可包括:电池,其为一个或多个车辆部件供电;无线通信装置,其由电池供电并且配置成无线地接收预期信号,该预期信号指示软件已准备好或者将准备好以无线地下载至车辆;以及车辆模块,该车辆模块由电池供电,耦接至无线通信装置,并且配置成将电池的能量水平与从预期信号获得的能量阈值水平进行比较。该系统配置成对电池充电参数作出改变,使得当电池的能量水平低于能量阈值水平时,电池的能量水平提高以准备下载和安装软件。

附图说明

以下将结合附图来描述优选的示例性实施例,在附图中类似的附图标记指代类似的元件,并且在附图中:

图1是示出可用于在车辆上下载和安装远程软件更新的系统的示例性实施例的框图;

图2是示出可用于在车辆上下载和安装远程软件更新的方法的示例性实施例的流程图,并且该方法可用于图1所示的系统;以及

图3-6是示出图2所示方法的不同步骤的更详细实施例的流程图。

具体实施方式

这里所描述的方法和系统可用于将软件下载和安装至车辆或者使车辆提前准备好以进行这样的事件,使得远程或空中(ota)软件更新的成功率得以提高。该方法和系统优选地设计成发送通信至一个或多个远程位置以及从该一个或多个远程位置接收通信,响应于接收通信而执行车辆功能,并且接着从该一个或多个远程位置将软件下载并安装至车辆。在一个实施例中,该车辆可从远程位置接收预期信号,评估该预期信号来确定能量阈值水平,如果电池不高于能量阈值水平,则改变电池充电参数,并且接着将软件下载和/或安装至车辆。另外,可在检测到满足电池能量阈值水平时执行软件的下载和/或安装,并且如果必要的话,可在完成下载和/或安装之后补充能量损失,仅列举两种可选的可能性。此种准备有助于确保车辆电池具有足够的电量或能量,以将软件下载和安装至车辆。在其他实施例中,可存在众多其他因素、参数、条件和/或状态,可评估和/或确定这些因素、参数、条件和/或状态来作为执行下载、安装或这两者的先决条件。

现在参照附图,图1示出用于将软件下载和安装至车辆的系统10的潜在实施例,其也称为软件推送或空中(ota)编程。系统10大体包括车辆12、远程设施80以及通信系统14。车辆12包括车辆电子器件20及电池24,在包括图1的所示实施例在内的一些实施例中,该电池可以是车辆电子器件的一部分。

车辆12示作乘用车,但应理解,本发明的方法和系统可与其他车辆一起实施,这些车辆包括摩托车、卡车、运动型多功能车(suv)、旅行车(rv)、海洋船只、飞机、列车等等。此外,车辆12可以是传统的内燃机车辆、电动车辆、混合动力车辆或者他们的任一组合或衍生物。

车辆电子器件20的与本发明方法更为相关的一些部件在图1中示出,但技术人员将理解,更广泛的车辆硬件集合存在于大多数现在车辆中。车辆电子器件20可包括电池24、充电电路26、远程信息处理单元50、多个人车接口(例如,行人友好警报功能(pfaf)56、扬声器56、视觉显示器38)以及任何数量的车辆模块,例如在车辆模块30中示出的那些模块:车身控制模块(bcm)32、发动机控制模块(ecm)34以及其他模块36。车辆电子器件20的这些和其他部件可经由通信总线44或经由无线网络(未示出)彼此通信。还应理解,图1中示出的车辆电子器件20仅仅是用于说明的目的,因为部件、装置、模块和/或系统的实际布置或配置可实质上不同于这里所示出的布置或配置并且其不限于任何特定的实施例。例如,bcm32、ecm34和/或其他车辆模块36可以是独立的物件或者他们可与车辆中的其他部件、装置、模块和/或系统组合或集成。换句话说,系统10的特定结构是一个示例,因为该系统可根据多种配置和布置来提供。

电池24用于对车辆模块30和/或其他电子器件供电并且可由oem合并为车辆电子器件20的一部分或者可作为配件市场部件安装到车辆中。电池24可用于对起动电机、内部和外部车灯、点火系统和/或车辆电子器件供电,并且可以是通常用在内燃机车辆中的类型(例如,标准的12v或24v铅酸蓄电池)。在另一实施例中,电池可用在混合动力或电动车辆中,用于对车辆电子器件供电、推进车辆或者这两者(例如,100-300v锂离子或者镍金属氢化物电池)。如图所示,电池24连接至充电电路26,该充电电路可包括一个或多个硬件部件,这些硬件部件向电池提供合适或期望量的电流、电荷和/或电压。另外,充电电路26可包括提供与电池24有关的数据的装置或部件,例如测量电池可提供的安培-小时数的安培-小时计。在一个实施例中,充电电路26包括或者至少耦接至一个或多个交流发电机,当发动机运转或者车辆的车轴转动时,这些交流发电机为电池充电。在另一实施例中,充电电路26可耦接和/或可包括再生制动设备,使得由此产生的能量提供给电池24。如前所述并且如图1所示,电池24可为一个或多个车辆模块提供能量。当车辆运转时,该电池可将能量提供给这些模块,而当车辆关断时,该电池可将辅助电力提供给车辆模块。

车辆模块30可包括bcm32、ecm34、其他模块36或者包括在车辆电子器件20中的其他装置。车辆模块中的一个或多个可彼此集成,使得他们使用类似的部件、硬件或软件操作。可替代地,车辆模块可以是独立的模块,并且如果必要的话或者期望的话,这些车辆模块可经由通信总线(例如,总线44)彼此通信。如在所示实施例中所示,车辆模块至少部分地由电池24供电。取决于车辆电子器件的特定配置和期望操作,当车辆关断时,该电池可以或者可以不将电力提供给车辆模块。

车身控制模块(bcm)32和发动机控制模块(ecm)34示作是系统10的一部分。在一个实施例中,bcm32和ecm34各自包括处理装置(未示出)和至少一个存储装置(未示出)。如果车辆具有存储装置,则该存储装置可以是ram、rom、其他非易失性存储器,或者在一个以上的存储装置的情形中,这些存储装置可以是他们的组合(例如,ram装置和硬盘驱动(hdd)(即,rom))。处理装置可对存储在存储装置中的数据或者经由一个或多个通信总线(例如,总线44)在模块处接收的数据执行计算。处理装置可用于将所接收的数据写入至存储器、调用数据以发送至另一装置或模块、和/或将软件安装在其相应模块或另一模块上。在其他实施例中,可存在在车辆模块之间共享的一个或多个处理或存储装置。例如,bcm32、ecm34和其他模块36可共享同一处理装置和/或存储装置。此外,每个模块可具有其自身的存储部件或装置,可在其上存储和/或安装软件、固件或其他计算指令。

远程信息处理单元50可实施为无线通信装置。“无线通信装置”广义地包括可无线地接收预期信号(其指示软件已准备好或者将准备好以下载至车辆)的任何装置,如将要解释的那样。远程信息处理单元50可以是oem安装的(嵌置的)装置或配件市场装置,其安装在车辆中并且使得能够在通信系统14上并且经由无线网络进行无线语音和/或数据通信。这使得车辆能与远程设施80、计算机74、其他能够远程信息处理的车辆或者一些其他实体或装置通信。数据可通过数据连接发送,例如通过在经由通信系统14的数据信道上的分组数据传输发送。数据可由一个或多个计算机74(仅仅示出一个)或者一个或多个设施80(仅仅示出一个)接收。类似地,远程信息处理单元可经由通信系统14从远程设施80、计算机74或者连接至通信系统14和/或陆地网络76的任何其他蜂窝装置或网络装置接收数据通信。天线52示作耦接至远程信息处理单元50并且可操作以改进单元的接收和发送无线数据通信的能力。

车辆电子器件20的其他装置或部件包括行人友好警报系统(pfaf)58、扬声器56、麦克风54以及视觉和/或触摸显示器38。这些部件,不管是单独地还是彼此组合地,均可提供人机接口,使得车辆的操作者、乘客或用户可与车辆通信,且反之亦然。这些装置或部件可由诸如远程信息处理单元50或信息娱乐模块(未示出)之类的一个或多个车辆模块或单元操作。此外,这些装置或部件可以是独立的,集成到模块中或者彼此集成,或者可以是oem安装的或配件市场的装置或部件。

无线通信系统14可以是蜂窝载波系统,其包括多个蜂窝塔70(仅仅示出一个)、一个或多个移动交换中心(msc)72(仅仅示出一个)以及连接蜂窝塔70与陆地网络76所需的任何其他联网部件。每个蜂窝塔70包括发送和接收天线以及基站,其中来自不同蜂窝塔的基站直接地或者经由诸如基站控制器之类的中间设备连接至msc72。通信系统14可实施任何合适的通信技术,包括例如诸如amps之类的模拟技术或者诸如lte、evdo、cdma、gprs和edge之类的较新的数字技术。本领域技术人员将理解,各种蜂窝塔/基站/msc布置均是可能的并且可与通信系统14一起使用。例如,基站和蜂窝塔可共同位于同一地点处,或者他们可彼此远程地定位,每个基站可负责单个蜂窝塔或者单个基站可服务各个蜂窝塔,并且各个基站可耦接至单个msc,仅仅列举出一些可能的布置。

陆地网络76可以是传统的陆基电信网络,其连接至一个或多个陆线电话并且将蜂窝塔70连接至远程设施80。例如,陆地网络76可包括公共交换电话网(pstn),例如用于提供硬接线电话、分组交换数据通信以及因特网基础设施的网络。陆地网络76的一个或多个区段可通过使用标准有线网络、纤维或其他光学网络、线缆网络、电源线、诸如无线局域网(wlan)之类的其他无线网络或者提供宽带无线接入(bwa)的网络或者他们的组合来实施。此外,远程设施80无需经由陆地网络76连接,但可包括无线电话设备,使得其可与无线网络直接地通信。

计算机74可以是能经由诸如因特网之类的私人或公用网络访问的多个计算机之一。每个此类计算机74均可用于一个或多个目的,例如将软件和/或与其相关的信息提供给车辆12。其他此种可访问的计算机74可例如是:网络服务器,其能经由通信系统14由远程信息处理单元50访问;服务中心计算机,其中可经由远程信息处理单元50从车辆上传诊断信息和其他车辆数据;客户计算机,其由车主或其他用户使用,以用于诸如访问或接收车辆数据或者建立或配置用户偏好或控制车辆功能之类的目的;或者第三方存储库,不管是通过与车辆12或远程设施80通信还是通过与这两者通信,向或者从该第三方存储库提供车辆数据或其他信息。计算机74还可以用于提供诸如dns服务之类的因特网连接,或者作为使用dhcp或其他合适的协议向车辆12分配ip地址的网络地址服务器。

远程设施80设计成为车辆电子器件20提供多个不同的系统后端功能。在其他实施例中,可存在一个以上的远程设施80;然而,如在所示实施例中所示,出于简化的目的仅仅显示一个远程设施。本领域技术人员将理解,通信网络通常包括多个设施,并且因此,这里提供的参照单个远程设施公开的功能性和/或操作可扩展为在一个以上的远程设施上操作。此外,计算机74可与远程设施80集成或以其他方式组合,因为预期远程设施会包括任何数量的类似于计算机74的计算机。

远程设施80可包括一个或多个开关、服务器、数据库、现场顾问以及自动语音响应系统(vrs),所有这些均是本领域众所周知的。远程设施80可包括这些各种部件中的任何一个或所有,并且优选地,各种部件中的每个均经由有线或无线局域网耦接至彼此。远程设施80可经由连接至陆地网络76的调制解调器接收和发送数据。远程设施处的数据库可存储用于车辆模块的软件或者诸如用户验证信息、车辆标识符、简表记录、行为模式和其他相关用户信息之类的账户信息。数据传输也可由诸如802.11x、gprs之类的无线系统来进行。应理解,这里描述的模块、装置以及系统并不限于图1的示意说明和/或他们参照特定实施例的描述。这些物件可以以任何数量的不同方式设置,并且应理解,图1表示仅仅一个这样的实施例。

现在转向图2,示出了用于将软件下载和安装至包括电池及车辆电子器件的车辆的方法200的示例性实施例。

从步骤210开始,该方法在车辆处接收预期信号。预期信号指示软件包已准备好或者将在一定量的时间之后准备好以无线地下载至车辆。软件包包括所要安装在车辆电子器件上的软件,并且可以包括其他数据(例如,元数据)。软件可以是新的软件或固件,或者它可以是预先存在的软件或固件的更新或补丁,所有这些都被认为是用于在车辆电子器件上下载和安装的软件。因此,术语“软件”和“软件更新”在本文中可互换使用,并且可以是“软件包”的一部分。应理解,在一些实施例中,软件包可以仅由软件组成而无任何其他数据。

预期信号可以包括附加数据,诸如关于软件包的度量(例如,软件包的大小)、软件包中包括的软件的估计安装时间、信号的来源、软件包将准备好下载的日期和时间、能量阈值水平、待编程的目的地ecu、促进更新所需的最小通信总线等。预期信号可以是从远程设施(例如,远程设施80处的服务器)、从计算机(例如,计算机74)、从另一车辆或从可与车辆12无线通信的另一装置、部件或系统(例如,诸如智能手机之类的移动装置)发送的无线信号。车辆可以经由通信系统14在远程信息处理单元50处接收该信号。在另一实施例中,可以由移动装置(例如,智能电话)从通信系统14接收信号,然后转发到车辆12。

在车辆12处接收到预期信号之后,该方法继续进行到步骤220。在该步骤,预期信号由车辆处理。这可以包括仅存储信号中所包括的数据的至少一部分。例如,软件包的大小或软件包中包括的软件的估计安装时间可以存储到存储装置或介质,诸如可以包括在远程信息处理单元50、bcm32、ecm34或其他模块36中的那些。在另一实施例中,可以对预期信号的数据的至少一部分执行计算。例如,预期信号可以包括所要下载的软件包的大小或包括在其中的软件的大小。然后可以使用该软件包或软件大小以及可以从车辆电子器件20中的存储装置调用的其他数据或可以从预期信号导出的数据来计算估计安装时间,如上述段落所描述。

步骤230可以以多种不同的方式执行,并且在图3和图4中提供了两个这样的详细实施例。步骤230的主要目的是确定车辆电子器件20(如图1所示,其可以包括电池24)是否对于所要下载的软件包、对于所要安装的软件或对于所要下载的软件包和所要安装到车辆的软件两者处于充足状态。在这方面,一个实施例可以提供执行步骤230的这两个详细实施例,步骤230a和230b。因此,相应详细实施例(步骤236a和236b)的决定步骤的结果可以分离地或结合地组合以提供步骤230的确定(例如,如果分离地组合,则来自步骤236a的“是”或来自步骤236b的“是”可以指示步骤230为“是”,而如果结合地组合,步骤236a和236b两者均需要使步骤230为“是”以产生“是”)。

现在参照图3,执行步骤230a(步骤230的详细实施例)。如在所示实施例中所示,步骤230a包括三个步骤:步骤232a、234a和236a。在这三个步骤中的第一步骤,即步骤232a,从预期信号确定能量阈值水平。能量阈值水平包括用于软件包的无线下载、用于软件的安装或者用于软件包的无线下载和软件的安装两者所需的预期能量。如下面将讨论的,该阈值水平可以随后用于提供车辆执行下载和安装步骤的能力的指示或至少预测。

在一个实施例中,能量阈值水平可以是包含在预期信号中的值(例如,安培-小时值)。这里,计算能量阈值水平,然后将其编译成预期信号。这可以由远程设施80或计算机74以例如类似于下面关于车辆电子器件描述的方式(即,通过使用估计安装时间和其他车辆数据来计算阈值水平)来执行。然后,在步骤232a中,车辆电子器件可以从预期信号提取该值(即能量阈值)。

虽然至少在步骤230a的详细实施例中,从预期信号确定能量阈值水平,但是该确定也可以并入其他数据。车辆电子器件20可以使用一个或多个处理装置、存储装置和/或通信装置以编译和/或处理数据,使得能量阈值水平可以转换成公共单位集合。例如,预期信号可以提供安装时间(例如16分钟),并且车辆电子器件20可以确定电流消耗量(例如,7安培(a))。这些值可以相乘以提供每次安装尝试的总消耗(例如,7a*(16分钟/(60分钟/1小时))=1.867安培-小时)。根据特定实施例,该转换值可以用作能量阈值水平,或者可以用于导出能量阈值水平。

在另一实施例中,可以利用上述方法,但是最终判定电池的某一状态而不是特定值。例如,可以存在某些预定义的电池和/或车辆电子器件状态,其提供关于一个或多个电池或车辆电子器件特性的指示。这里,预期信号可以提供能量阈值水平作为“能量水平2”。如下面将在步骤236a中进一步描述的,该能量阈值水平可以与电池的当前能量水平进行比较。

在步骤234a中,确定电池的电池能量水平。电池能量水平可以是电池提供能量的能力的任何指示。例如,电池能量水平可以是安培-小时,或者可以仅包括电池的某个状态的指示符(例如,“能量水平1”,其中电池的能量水平对应于一个或多个能量水平或范围)。为了确定电池的安培-小时,车辆可以使用电耦接至电池24或充电电路26的一个或多个装置。一个这样的装置可以是安培-小时计。

由于电池24至少在所示实施例中用于为多个模块和/或其他电子器件供电,因此在一些情况下测量电池的安培-小时可能不够,并且可能需要执行进一步的计算以确定将要执行软件安装的特定模块所需的能量。例如,虽然电池24可以额定为提供350安培(a),但是将执行软件安装的模块(诸如bcm32)将很可能接收较少的安培值,诸如7a。本领域技术人员将理解,这可能不是以下情况,其中车辆模块(例如,bcm32)具有其自己的专用电池(即,专用电池可能不提供比模块额定更多(或至少多出非额定量)的安培值)。

在确定能量阈值水平和电池能量水平之后,可以将这些值彼此进行比较,如步骤236a所示。该步骤可以由车辆电子器件20、计算机76和/或远程设施80的任何合适的装置或模块(即具有处理装置的装置或模块)来执行。例如,在确定所要比较的这两个能量水平的值时,远程信息处理单元50可以使用其处理装置来确定电池能量水平是否低于能量阈值水平。

在其中能量水平是安培-小时值的一个实施例中,远程信息处理单元50的处理装置可以对这两个值进行比较(例如,能量阈值水平>电池能量水平)。如果电池能量水平大于或等于能量阈值水平,则该方法将引导到步骤240;否则,该方法将引导到步骤280。

现在参照图4,提供步骤230的第二详细实施例,其被示为步骤230b,其中其包含三个步骤:232b、234b和236b。步骤230的该实施例类似于步骤230a的实施例并且上面关于步骤230a(及其中包含的详细步骤)讨论的一切均纳入到步骤230b中,只要他们是相关的并且与下面提供的公开内容一致。

在步骤232b中,确定车辆的所需状态。车辆的所需状态是使得车辆能够执行软件包的下载、软件的安装或软件包的下载和软件的安装两者的车辆的任何状态。一个这样的实施例包括将所需状态表示为车辆电子器件的操作模式。操作模式可以是所要执行的车辆电子器件的一个或多个任何预配置操作。一个这样的示例是充电效率模式。这里,充电效率模式是车辆电子器件20的模式,其中系统电压降低以提高燃料经济性。当确定车辆电需求较低并且电池非常健康或者电池未在最佳(或接近最佳)充电电压下接受显著电流时,车辆12可以进入充电效率模式。换句话说,充电效率模式是当确定电池不是在当前最佳(或接近最佳)充电电压下接受显著电流时以较低电压为目标的常规操作模式的特定变型。

类似于其中确定能量阈值水平的步骤232a,可以确定所需车辆状态。这里,车辆的所需状态可以是车辆电子器件的特性、属性、条件或操作模式的任何表示或集合。例如,所需状态可以包含在预期信号中并且仅仅通过读取预期信号来从预期信号得到确定。在另一实施例中,车辆可以从预期信号(诸如安装时间或下载和/或安装所需的能量)获得数据,并从其导出所需状态。在另一实施例中,所需状态可以仅从由车辆电子器件20在车辆处存储或收集的信息确定,并且不需要从预期信号导出。在任何情况下,在已经确定了所需状态之后,该方法继续进行到步骤234b。

在步骤234b中,确定车辆的当前状态。这里,车辆的当前状态可以是车辆电子器件的特性、属性、条件或操作模式的任何表示或集合。如上面关于步骤232b所述,可以根据车辆的当前操作模式中的一个或多个(诸如充电效率模式)来描述车辆的状态。可替代地或另外,可以通过确定车辆电子器件的一个或多个属性、条件或特性(诸如电池的充电状态、电池的剩余安培-小时数和/或当前的操作模式)来确定当前状态。该方法继续进行到步骤236b。

在确定车辆的所需状态和车辆的当前状态两者之后,接着执行步骤236b以确定车辆的当前状态是否处于所需状态。该步骤可以包括简单比较,诸如如果所需状态和当前状态仅由操作模式表示,则将执行该步骤。这里,评估将仅仅比较所需操作模式和当前操作模式,并且在确定模式相同或至少等同时,该方法将继续进行到步骤240;否则,该方法将继续进行到步骤280。操作模式可以被认为等同于非同一的操作模式,条件是关于确定车辆电子器件和/或电池是否处于使得软件可以下载和/或安装的状态中,各操作模式的功能性和/或操作相同。

返回到图2,该方法在步骤230评估为“是”时继续进行到步骤240。在步骤240中,车辆确定用户(例如,车辆的操作者或乘客)是接受还是拒绝软件包中所提供的更新;另外,如果由于用户缺乏响应而不能作出确定,则步骤将评估为“无响应”。可以在车辆提示用户指示他们是接受还是拒绝更新之后执行该步骤。提示可以由本文提供的任何人机接口装置提供,诸如经由显示在视觉显示器38上的文本提示、由扬声器56提供的口头提示或其组合。

然后车辆可以等待来自用户的响应,这可以经由可以由麦克风54接收的口头陈述来指示;或者,可以通过用户按下显示在视觉显示器38上的屏幕上按钮来接收响应。当接收到用户的指示时,该方法可以相应地进行;也就是说,如果用户指示他们接受更新,则该方法可以进行到步骤260,或者如果用户拒绝更新,则该方法可以结束。在用户拒绝更新的情况下,该方法可以执行一个或多个先前步骤而不是结束该方法。例如,该方法可以再次提示用户指示他们现在是否将接受更新。这里,在提供给用户一定数量的提示之后,则该方法可以结束。应理解,该实施例可以被并入用户紧急援助步骤(步骤250)中,并且在该情况下,在指示拒绝时,该方法将继续进行到步骤250,以确定是否已超过关于当前软件包的拒绝数量;如果是,则该方法结束(即,步骤250结果为“是”),否则,执行其他详细的方法步骤(步骤252、254和256)。在用户不提供响应或其他指示的情况下,该方法可以立即继续进行到步骤250,或者车辆可以在该方法继续进行到步骤250之前等待一定量的时间。

在步骤250中,确定是否存在“用户紧急援助”。如本文所使用的,“用户紧急援助”是指示用户已经明确地或隐含地指示(例如,通过不接受更新或软件的安装)应该放弃或至少在当前时间不执行软件包下载、软件安装或软件包下载和软件安装两者。在一些实施例中,步骤240可以是如步骤250所示的用户紧急援助的一部分。可以进行多次确定以实现该结果,并且其中一些在图5所示的步骤250的详细实施例中突出显示。

现在参照图5,提供了步骤250的详细实施例。开始,在步骤252中,确定车辆自初始事件起是否已经行驶了多于一定量的英里数。初始事件可以是在到达步骤250之前发生的任何事件,并且对此记录一个或多个度量、条件和/或属性的初始记录,或者可替代地或另外,对此将一个或多个变量重置为起始或初始值(例如,设置num_miles=0)。在该步骤中,确定车辆自初始事件起是否已经行驶了多于一定量的英里数。在一个实施例中,初始事件可以是提示用户指示他们对车辆是否应安装更新的响应的时间;或者在另一实施例中,初始事件可以是接收到预期信号的时间。

无论如何,可以在初始事件(例如,提示用户的时间,如在步骤240中隐含地断定的)时作出车辆已行驶的英里数的初始记录。在一个实施例中,可以通过车辆电子器件查询里程表或可具有存储在存储器中的当前车辆英里数的其他装置而作出该记录。根据特定实施方式或实施例,车辆可以将该值存储在存储器中,或者可以将一定的英里数添加到该值并存储该结果总和。在后一种情况下,该总和可以被视为里程表阈值。然后,当到达该步骤时,车辆电子器件可以判定车辆已行驶的当前英里数。然后车辆可以将阈值(例如,该结果总和)与当前记录的英里数进行比较。在超过阈值时,步骤250评估为“是”,并且该方法结束;否则,该方法进行到步骤254。

在步骤254中,进行关于步骤252的类似确定。然而,这里,不是确定自初始事件起行驶的英里数,而是确定其后的点火循环的数量。点火循环可以是从车辆点火启动的时间(或混合动力和电动车辆中的类似事件)到车辆点火关闭的时间(或直到车辆在关闭之后再次接通的时间)的时间段。在其他实施例中,该时间段可以与先前描述的相同,但是可能存在一个或多个先决条件,其必须成立以使该时间段被认为是点火循环。例如,先决条件可以是发动机温度达到特定温度(例如,以使其被“加热”)。换句话说,如果在发动机温度达到特定温度之前发动机被接通然后被关闭,则不存在点火循环(由于不满足发动机温度达到特定温度的先决条件的事实)。

无论如何,当达到初始事件时,可以将点火循环计数设置或重置为零。当车辆检测到每个点火循环时,可以使存储在车辆电子器件20中的存储器中的计数器增量。在步骤254确定已经达到或超过阈值数量的点火循环(例如,存储在车辆电子器件中的预定值)时,该方法可以结束;否则,该方法可以继续进行到步骤256。

在步骤256中,对初始事件与当前时间之间的时间进行评估。例如,如先前所提到的,初始事件可以是用户首次初始地得到提示以指示他们是否接受更新的时间。在该初始事件时,可以将时间记录至车辆电子器件20的存储装置,诸如,记录至远程信息处理单元50或者bcm32的存储装置。然后,在到达步骤250时,可以将当前时间与初始记录时间进行比较,并且随后,可以将其结果与阈值时间量进行比较。这可以由车辆电子器件20的处理装置(诸如,包括在bcm32、ecm34、其他模块36或者远程信息处理单元50中的处理装置)来执行。在时间终止时(即,当前时间与初始记录时间的差值超过阈值时间量),步骤250则评估为“是”并且方法结束;否则,该方法继续进行到步骤230。

在步骤260中,在如下两次确定之后下载软件包(例如,更新):在步骤230中确定车辆电子器件处于使得更新可以下载和/或安装的状态中(如分别在图3和图4中所示的步骤230a和230b中进一步所示的)以及确定用户已经接受该更新。该下载可通过车辆向远程服务器发送下载请求(诸如,http请求)来发起。该请求可以指示关于车辆的一个或多个特性或者可以仅仅指示车辆请求下载软件包。在另一实施例中,可以确定车辆请求仅仅下载软件包的一个或多个特定部分(例如,用于ecm34的软件更新)而不是整包(例如,其中整包包括用于bcm32、ecm34以及远程信息处理单元50的更新)。

在服务器接收到请求之后,服务器可以根据请求而发送恰当的软件包。这里,服务器可以是计算机或者在远程设施80、计算机74或者另一车辆处的类似装置。在任何情况下,软件包可接着被发送至车辆12并且由车辆12接收。该软件包不需要在一段中(例如,在一个数据分组中)进行发送,并且如果以多个分组的形式进行发送的话,则可以在车辆处进行编译。车辆可以在软件包上执行特定其他处理和/或记录有关软件包的信息,诸如,指示软件包或其部分的成功接收的数据。车辆然后可以将软件包存储在车辆电子器件20的一个或多个存储介质或装置上。

在另一实施例中,可以在接收了预期信号之后立即执行下载。这里,除了在执行步骤230之前下载软件包之外,该方法将按照相同的方式来执行。相应地,步骤230将试图确定车辆是否处于所需状态中,其中该所需状态表示使得车辆能够执行软件的安装的车辆状态;或者确定能量阈值水平是否大于或等于电池能量水平以使阈值水平包括软件的安装所需的预期能量。在又一实施例中,预期信号可以包括随后所要安装在车辆12上的整个软件包。在任何情况下,如果通过车辆用户干涉或者任何其他类型的中断(例如,失去无线网络连接)而使下载中断,则下载可以暂停并且在随后恢复。

在成功地下载了软件包之后,车辆然后可以执行步骤270,其中包括在软件包中的软件被安装至车辆。如上文所陈述的,软件包可以包含用于一个或多个车辆模块的软件。在一个实施例中,在将软件安装至其对应模块之前,应该对当前存储在车辆电子器件20中的存储器中的软件包进行处理,以便识别其应该安装的特定模块。这可以由远程信息处理单元50中的处理装置或者任何一个车辆模块中的另一个处理装置来执行。

其后,可以对软件进行分析以获得对安装的要求,诸如,车辆必须处于的状态以便使得可以执行软件的安装。例如,如果软件是所要安装至ecm(发动机控制模块)34的更新,则可能必须使车辆在安装过程的整个时长中关闭(即,点火未启动)。在另一个示例中,所要安装软件的车辆模块可以是光盘驱动器。这里,除了必须具有足够的电力供应至模块以使其具有能量来执行安装之外,可以在对车辆状态没有任何特定要求的情况下执行安装。在又一个实施例中,在完成下载的时间与上一次执行步骤230的时间之间的时间可以超过阈值时间量,使得车辆电子器件可能已改变状态和/或耗尽能量,从而使得步骤230若在当前时间执行的话已不再得到满足。因此,取决于在步骤260中完成下载与上一次执行步骤230之间的时间量,再次执行步骤230可以是可取的。如果是这样,则在执行了步骤230以使其产生肯定结果(即,“是”)之后,方法然后可以跳转到步骤270(由于用户已经在步骤240中接受了软件并且已经下载了软件(步骤260))。

在任何情况下,在确定了车辆已准备好将软件安装至一个或多个车辆模块之后,可以执行安装。在一个实施例中,包括在bcm32中的处理装置可以将软件安装至bcm32。安装可以仅仅由以下组成:将计算机指令写入到位于模块处的或者可由模块访问的存储装置。可替代地,安装可以指:从模块去除一部分计算机指令并且然后将包含在软件中的计算机指令写入到模块。技术人员将理解,软件安装所需要的能量通常超过软件包下载所需要的能量。

在另一实施例中,车辆电子器件20可以通过使用多个模块来执行安装。例如,如果软件将被安装至bcm32,则远程信息处理单元50的处理装置可以执行将软件安装至bcm32。在安装程序单元(例如,远程信息处理单元50)具有的处理能力或效力大于待安装软件的模块的情况下,这可以是令人期望的或者必要的。如果安装失败,或者期望进行重新安装,则可以再次执行步骤270。在其他实施例中,步骤230也可以再次执行。此外,在软件包包含用于多个模块的软件的情况下,可以按照连续或者并行方式来安装软件。然后该方法结束。

回顾步骤230,如果其中确定车辆未处于使得车辆电子器件具有用于下载软件包、用于安装软件、或者用于下载软件包和将软件安装至车辆两者所需的预期能量的状态中,则执行步骤280。在步骤280中,对电池充电参数作出改变,以使电池能量水平提高。这样,车辆电子器件可以增加其随后满足步骤230的要求的机会,以便可以下载软件包、可以安装软件、或者可以下载软件包且可以将软件安装至车辆。

如本文所使用的,“电池充电参数”是指与可以由车辆电子器件20改变、操纵、更改或者以其他方式修改的电池充电潜力、能力或者容量有关的任何参数、条件或者属性。例如,车辆电子器件20可以更改充电电路26的当前操作模式,以使其向电池24提供最大(或者接近最大)的可行电流量。在另一实施例中,车辆电子器件20的某些模块、部件或者装置可以被禁用和/或被设定至较低电力模式以便保存能量。在又一实施例中,车辆可以提示用户通过将车辆插入到充电装置中来为电池24充电(例如,在其中车辆是电动或者混合动力车辆的情况下尤其可以采用这种方式)。在混合动力车辆或者电动车辆的情况下,可以上调高压电池的soc或者其他参数。此外,可以通过改变不同的电池充电参数来执行针对最大允许电池充电电压所设计的充电恢复模式。充电恢复模式的一种实施方式可以被描述为电池维护模式,该电池维护模式是针对设定时期在车辆上的最大允许电池充电电压所设计的,同时抑制允许预期电池电量耗尽的模式。这里,该模式可以暂时地忽视可能通常针对更加温和的充电周期的其他度量。可以在确定没有足够的电池储备容量时执行预备或者预期充电,或者可以在每当接收到预期信号时执行预备或者预期充电,仅列举两种可能性。

在步骤290中,对一个或多个电池紧急援助条件进行评估以便确定其是否得到满足。这类似于用户紧急援助步骤(步骤250),并且如图6所示,提供了该步骤的详细实施例。类似于用户紧急援助步骤,识别初始事件,以使其可以用作对一个或多个紧急援助标准作比较的起点。

在步骤292中,确定自初始事件以来是否已经过去了特定数量的点火循环。该步骤非常类似于在图5中示出的且在上文描述的步骤252,并且相应地,其中的所有相关公开内容均并入此处,以使其与以下描述相关且一致。例如,当首次到达步骤280时,可以将变量初始化为零。然后,在每个点火循环时(上文参照步骤252所描述),可以使计数器增量。其后,可以将该值与预定值或者阈值进行比较,并且如果超过了预定值或者阈值,则满足电池紧急援助条件并且该方法结束;否则,可以对下一个电池紧急援助条件进行评估,如在步骤294中所示。

在步骤294中,确定车辆自初始事件以来(例如,自对于当前软件包而言首次到达步骤280以来)是否已经行驶了特定英里数。这里,在一个示例中,车辆电子器件20可以在初始事件的时候记录车辆已经行驶的英里数(例如,当前里程表值)。然后,当到达步骤294时,可以再次读取当前里程表值并且随后将其与在初始事件时取到的记录进行比较。如果这两个值的差值超过特定英里数(该特定英里数可以是预定值或者阈值),则可以说满足电池紧急援助条件并且然后该方法结束;否则,该方法可以继续进行到步骤296。

在步骤296中,确定自初始事件以来是否已经过去了特定时间量。再次,当到达初始事件时,可以记录时间。然后,在到达步骤296时,可以将时间差值(即,自初始事件以来已经过去的时间量)与特定时间量(该特定时间量可以是预定量或者阈值量)进行比较。可替代地,一个或多个车辆电子条件或者参数可以告知是什么构成特定时间量。例如,在到达步骤296时,可以通过例如充电电路26对电池温度和/或其他条件或者属性进行测量。在这些条件或者属性中的一个脱离期望使条件处于其内或者应该将条件维持在其内的特定值范围时,则可以满足紧急援助条件并且该方法结束;否则,该方法继续回到步骤230。

应理解,前述说明并非对本发明的限定,而是对本发明的一个或多个优选示例性实施例的说明。本发明不限于本文公开的特定实施例,而是仅仅由如下权利要求来限定。此外,前述说明中包含的声明涉及特定实施例并且不应理解为限定本发明的范围或者权利要求书中所使用的术语的定义,除非术语或短语在上文进行了明确的限定。对于本领域的技术人员而言,各种其他实施例以及对所公开的实施例的各种改变和修改将是显而易见的。例如,特定步骤组合和顺序仅仅是一种可能性,因为本发明方法可以包括具有比本文所示出的更少、更多或者不同的步骤的步骤组合。所有这些其他实施例、改变和修改均意在属于所附权利要求书的范围内。

如本说明书和权利要求书中所使用的,术语“例如”、“如”、“比如”、“诸如”和“像”、以及动词“包括”、“具有”、“包含”及其其他动词形式在与一个或多个部件或者其他物件的列表结合使用时分别应理解为开放式的,意味着该列表不应理解为排除其他附加部件或者物件。其他术语应采用其最广泛的合理含义来解释,除非其用于要求有不同解释的上下文中。

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