对车辆闪速存储器进行远程重编程的方法

文档序号:6571146阅读:369来源:国知局
专利名称:对车辆闪速存储器进行远程重编程的方法
技术领域
本发明涉及车载的车辆电子控制单元(ECU)以及对包含在ECU中的闪速存储器进行重编程的技术。
背景技术
当今的汽车通常包括多个执行不同功能的ECU。它可以包括主体控制模块,该模块尤其用来控制车辆的点火继电器,使操作者能够通过点火按键开关来接通和切断点火。其它的ECU模块包括诸如发动机控制器、导航系统、诊断系统等等。这些ECU一般经由车辆局域网(VLAN)连接在一起,车辆局域网可以利用一个或更多对本领域技术人员来说熟知的网络拓扑及协议,以串行总线来实现。如果不是所有的ECU都是这样,这些ECU中的很多将包括处理器和闪速存储器,其中闪速存储器被用作为为模块提供编程(经常是低级的基本编程)的固件。该存储器也可用来存储由包含该存储器的ECU所使用的校正以及其它数据。出于本领域技术人员已知的各种原因,存在这样一种情形,能够通过对至少是闪速存储器的一部分进行写入来更新或者以别的方式改变闪速存储器中的编程(即可执行程序和/或数据)是有益的。
现在,这种对特定ECU中存储器的重编程通常是通过借助VLAN与ECU进行通信来完成的。在车辆的研发期间,这可以通过诸如研发编程系统应用的多种工具而在研发工程师的控制下进行。在车辆装配期间,这可以由生产商自动进行。在销售服务环境中,重编程可以由服务编程系统在技师的控制下进行。在这每一种情况下,新编程通常是经由物理连接到车辆及连接到VLAN中的分离的计算机或编程工具来提供。并且,在所有的这种重编程情况下,要进行编程的ECU以及整个车辆都需要首先被置于并保持在支持编程的状态。例如,为了进行重编程,生产商可能会指明将如下几条作为最低要求 1.电池电压在整个操作期间对于ECU的编程都必须是足够的。
2.发动机一定不能运行。
3.点火开关必须在RUN(运行)位置。
执行编程的技师必须确保在开始编程任务之前这些状态是正确的,并且必须在编程期间保持这些状态;否则,ECU就不会被成功编程。例如,在编程期间切断点火通常将会导致操作中断。
最近,正如在公开号为2005/0256614A1的美国专利申请中的教导,远程抹写(reflash)被提出。该揭示的方法包括确定要用新软件进行更新的车辆组,准备软件更新包并将其无线传输到车辆组,然后在车辆的至少一个目标ECU上安装软件。软件更新包可以规定对于更新而言作为首要事项所需的车辆状态,以使得更新不会在车辆处于不正确状态时发生。

发明内容
根据本发明的一个方面,提供一种利用提供给车辆的新编程,对安置在车辆上第一电子控制单元(ECU)中的固件进行重编程的方法,其中该方法包括如下步骤 (a)利用安置在该车辆上的第二ECU,经由到达车辆的无线传输来接收新编程; (b)确定车辆状态对于第一ECU的重编程是否可以接受; (c)如果车辆状态是可接受的,则在将一定的车辆状态保持在它们现有状态下的同时,向第一ECU发送新编程,并将新编程存储在包含在第一ECU中的固件中。
优选地,步骤(c)利用在第三ECU中执行的车辆状态管理器程序来进行。例如,在本发明的一个实施例中,该第三ECU可在车辆状态管理器的控制下操作,在第一ECU的重编程期间,忽略用户经由点火按键开关的输入。这样,对于该实施例,在将新编程存储在第一ECU期间,点火可以被保持在预先设定的状态下(例如,不运行发动机的RUN)而不受点火按键开关位置的影响。第三ECU可以但不需要作为功率模式管理器在车辆上工作。
根据本发明的另一个方面,提供一种利用从远端位置无线提供的新编程,对安置在车辆上的电子控制单元中的闪速存储器进行重编程的方法。为了这个目的,车辆具有耦合到该电子控制单元的车载信息服务单元(elematics unti),它经由无线通信网络接收新编程。该重编程闪速存储器的方法包括如下步骤 (a)经由无线传输,接收从无线通信网络发送到车辆车载信息服务单元的用于电子控制单元的新编程; (b)确定车辆是否存在车辆状态的期望配置; (c)如果存在期望配置,则进行重编程过程,它包括 (c1)通过将至少一些可控制的车辆状态保持在它们的现有状态并禁止那些可控制的车辆状态在重编程过程完成之前发生改变,来启动车辆状态保持; (c2)向电子控制单元发送新编程;并且 (c3)在电子控制单元中用新编程替换编程;然后 (d)终止车辆状态保持。
根据本发明的又一个另外的方面,提供一种利用提供给车辆的新编程,对安置在车辆上的电子控制单元中的闪速存储器进行重编程的方法,其中该方法包括如下步骤 (a)经由用户接口与车辆操作者进行交互,指令车辆操作者将车辆置于期望配置; (b)通过电子地禁止期望配置发生改变,将车辆置于车辆保持状态; (c)将新编程保存在闪速存储器中,该闪速存储器包含在至少一个车辆电子控制单元中;然后 (d)清除车辆的车辆保持状态,并因此允许车辆配置由期望配置而发生改变。


下面将结合附图描述本发明优选的示例性实施例,其中相同的附图标记表示相同的元素,其中 图1所示为使得能够在车辆与中央设备之间进行无线通信的移动车辆、中央设备以及通信系统的框图,图1进一步描述了车辆的ECU网络的突出部分即VLAN,以及用于实现本发明方法实施例的用户接口。
图2所示为本发明的远程闪速存储器重编程过程实施例的流程图,它可由图1中的系统部件实现。
具体实施例方式参见图1,示出了移动车辆通信系统10,它包括具有话音业务信道的常规蜂窝通信网络,该话音业务信道用来在蜂窝电话之间进行话音数据的双向传输。该通信系统10包括连接到公共电话交换网14的蜂窝通信网络12,它们一同被用于提供客车20与其它诸如呼叫中心或其它中央设备16的远程位置之间的话音和数据通信。蜂窝网络12可以利用诸如GSM(包括UMTS)或CDMA(IS-95或CDMA2000)标准的分组蜂窝通信技术。通信系统10还包括以数字卫星广播系统18形式存在的第二无线通信系统,它利用发送天线19将数据流发送到卫星21,然后由卫星对数据流进行广播,以便使车辆20接收。
车辆20具有车载信息服务单元22以及相关联的用户接口32,它们一同被用于向司机提供无线电话服务,并与司机进行自动的话音交互。车载信息服务单元22包括一般可以在蜂窝通信装置中找到的诸如CDMA兼容芯片组的部件,该车载信息服务单元22被连接到车辆天线24,使得能够利用蜂窝网络12来允许车辆乘客利用扬声器26和麦克风28进行话音交谈。这些车载系统22的部件可以以通常本领域技术人员所公知的常规方式来实施。除了麦克风28输入,车载系统22还包括至少一个按钮30,它可用于启动与位于呼叫中心的在线顾问(live advisor)(未示出)之间的话音通信。扬声器、麦克风以及按钮都是车辆用户接口32的一部分,而车辆用户接口不仅被用于向司机提供无线电话服务,而且还通过车载信息服务单元22和/或其它车辆系统来与司机进行交互。所揭示实施例的后一种特征将在下面进行更详细的讨论。
车载信息服务单元22和用户接口32各自可作为经由车辆局域网(VLAN)34而相互通信的电子控制单元(ECU)来实施,该车辆局域网可以以各种已知的方式来实施,诸如通过利用串行总线,使用预先定义的协议来传递数据和控制信号。同样连接到VLAN34的还有很多其它ECU,包括主体控制模块(BCM)36以及其它一般被表示为ECU#3到ECU#n的ECU。这些额外的ECU可以用于本领域技术人员公知的各种车辆的用途。在该实施例中,每一个ECU都是基于微处理器的单元,该单元包括用来存储由ECU使用的编程的闪速存储器。该闪速存储器可用于存储所有的编程,也可用于仅仅存储由ECU使用的基本的低级编程(例如在发动时或用于其操作的其它基础),在这种情况下,高级功能的编程可被存储在另外的可被ECU存取的存储器中。
一般来说,为了更新特定ECU中的闪速存储器,新编程通过来自卫星21的数字卫星广播而被从中央设备16发送到车辆。新编程可以通过特定的卫星广播信道发送,并由车载信息服务单元22或者天线24接收,或者通过用于接收卫星广播传输的分离天线(未示出)接收。可以使用大量特定方法中的任意一种来实现新编程到车辆的成功传输。例如,卫星传输可以在特定的时间进行,车载信息服务单元被编程从而在该时间对传输进行监视。可替换地,卫星传输可以在隔开的时间间隔,利用车载信息服务单元被重复发送,该车载信息服务单元配置为在传输开启并激活的任何时候监视它。作为另外的方法,传输可以由从车辆发出的指示它正被准备用来接收新编程传输的信号来启动。在任何使用的方法中,新编程的成功接收可由车载信息服务单元22通过蜂窝网络12报告回中央设备16。
如果想要的话,与其使用数字卫星传输将新编程发送到车辆,倒不如通信系统20也可包括利用蜂窝网络12将新编程内容提供给车辆的能力,这种情况下不需要数字卫星广播系统18。对于能够与车辆进行数据通信的分组蜂窝通信系统来说,该编程可经由数据信道发送。在只使用话音信道的情况下,利用本领域技术人员所公知的技术,编程可作为数据而通过话音信道发送。
公开号为2005/0256614A1的美国专利申请除了提供下面讨论的信息之外,还提供关于更新软件的准备、传输及安装的附加信息,该信息可被应用于所说明的实施例。例如,新编程可利用例如VIN号而仅仅与一定的车辆相关联,并且版本号和版本检查可用于确保使用新编程的正确、兼容的版本来更新ECU。因此,包含在公开号为2005/0256614A1的美国专利申请中的所揭示的全部内容在这里通过引用而结合进来。
有各种不同的事件会导致中断抹写、部分的抹写以及其它这种问题,它们通常发生在ECU的闪速存储器重编程期间存在功率损失的情况下(例如将点火键切换到OFF)。这些问题还会发生在重编程过程期间ECU的输入发生变化的时候(例如ECU接收到引起中断的输入,而这时部分重编程的ECU正试图执行程序例程)。为了防止这些问题的发生,主体控制模块(BCM)36包括车辆状态管理器(VSM)40,它作为存储在存储器中的程序而被实现。VSM40与车载信息服务单元22配合工作,用来控制将新编程安装到一个或更多安置于特定ECU中的闪速存储器中。更具体地,正如下面要讨论的,VSM40负责(1)确定车辆是否处在允许重编程的正确配置,以及(2)控制各个车辆参数,以便将车辆在重编程完成之前保持在正确的配置。在所说明的实施例中,VSM40驻留在BCM36上,BCM36被连接以便接收司机控制的点火按键开关42作为输入,该ECU36控制点火继电器44的操作,以便进行车辆点火的接通和切断。开关42和继电器44电路安排只是概略示出,并不试图描绘完整的点火功率控制示意图。正如本领域技术人员所看到的,BCM36作为功率模式管理器工作,它利用点火按键开关42输入以及其它对BCM36的输入来控制点火功率状态(例如,关、加速、运行)。在正常状态下,司机可以利用他或她的点火键来控制点火功率状态,并且BCM36将相应地对继电器42进行接通和切断。然而,该点火功率的继电器控制允许BCM36在适当的时候控制点火功率状态而不受点火按键开关位置的影响,点火系统的这个特点在重编程期间被VSM40所利用,这将在下面详细描述。
一般地说,VSM40具有两个主功能--(1)执行车辆的配置,该配置确定车辆是否处于重编程的正确配置或状态,以及(2)在重编程操作期间,将至少一些可控制的车辆状态保持在它们的期望状态下。现在参照图2,所示为本发明的远程闪速存储器重编程方法的一个特定实施例50,其中车载信息服务单元22和BCM36利用VSM40一起工作,以控制诸如ECU#3的第三ECU中闪速存储器的重编程。在图2所示的过程中,通过在车载信息服务单元22中进行重编程来执行步骤52-60,68,72和76,步骤62-66,70和78由VSM40执行。随着该过程的开始,首先进行检查52,以确定是否期望对特定闪速存储器进行重编程。如果不想要,则什么也不做。一旦接收到新编程或者以其它方式指示期望对一个或更多特定ECU进行存储器抹写,则做出检查54以确定车辆的车主身份。这样,例如,如果车辆尚未被生产商或销售商售出,则该过程可以移动到步骤58以便试图重编程,如果需要的话其可以包括服务技师的参与,服务技师可以在行动之前将车辆置于期望的配置。然而,如果车辆已被转移到下一个主人,则需要请求主人的同意,因此作出第二检查56来确定是否同意。该请求的同意及其确认可以经由用户接口32或者通过与操作者进行同期通信的其它方法来做到。如果没有给出同意,则该过程回到步骤52,直到收到对抹写的新的请求。如果获得主人的同意,则系统利用用户接口32来向主人/操作者提供信息和指令,从而车辆将要被置于重编程正确配置(步骤58)。该信息可以包括该过程的简要解释(例如什么时候以及多长时间)以及在该过程期间需要保持特定的车辆状态(例如车辆处于停放状态)。该指令可被用于使操作者将车辆置于期望的配置(例如车辆处于停放状态,发动机关闭)。该信息和指令可经由文本显示或通过合成的或预先录制的语音通过扬声器26播放而提供,按钮30可用于接收操作者的响应,例如,确认信息和指令的接收并授权重编程过程继续。该按钮30还可被用于反过来向系统指示操作者已经完成了将车辆置于期望配置。除此之外或者代替使用按钮30,麦克风28可被用于利用适当的用于分析话音输入的语音处理器来接收操作者的话音输入。可替换地,操作者作出的同意和/或车辆状态的配置可由诸如中央设备16的远程呼叫中心来处理,中央设备16或者具有自动话音系统,或者利用在线顾问来引导操作者完成该配置过程。
一旦车辆被置于正确配置,该过程就移动到步骤60,在该步骤中,抹写请求由车载信息服务单元22发送给车辆状态管理器40。然后VSM40执行检查62,以确定车辆实际上是否处于正确的配置。这不仅可以包括对那些在重编程期间VSM40将保持控制的车辆状态的检查,而且还可以包括诸如电池的充电状态和/或车辆诊断检查,正如在公开号为2005/0256614A1的美国专利申请中所讨论的。并且,由于对于一个ECU的重编程来说,其期望的车辆状态可以与其它的ECU不同,因此该检查对于特定ECU可以是特定的,并且该ECU所需的特定状态可以是预先存储在车辆上的,也可以是与由车辆接收的新编程一起被包含进来的。在步骤62,响应该检查,返回指示车辆是否处于正确配置的车辆状况消息。这样,如果当前不存在车辆的正确配置,则拒绝消息在步骤64被返回到车载信息服务单元22且该过程开始结束。如果存在车辆的正确状态,则肯定的回答被发送66到车载信息服务单元,该单元用车辆保持状态请求68来响应。当接收到该请求时,VSM40启动车辆保持状态70,该状态下至少一些可控制的车辆状态被保持在一定状态或适当时保持在一定范围内。一旦启动了保持状态,新编程就由车载信息服务单元发送72到正在进行重编程的ECU#3,尽管该步骤可以更早些执行和/或该编程可经由另外的路径到达ECU#3。ECU#3然后被抹写74,并且一旦完成抹写,车载信息服务单元在步骤76发送完成消息给VSM40,接着VSM40结束其保持状态78。该车辆然后可以利用其新编程的ECU#3而被正常操作。正如将会理解的,该抹写过程可用于在同一时间重编程一个以上的ECU,也可以对每个要被编程的ECU顺序地重复进行该过程。
有很多不同类型的行为可由VSM40在实现车辆保持状态时采用。例如,在可控制的车辆状态方面,VSM40可以例如激活点火继电器44并接管功率模式的控制,而忽略某些车辆或操作者输入,诸如点火按键开关位置、远程开始信号的发送、车辆头灯开关的位置、伺服键(valet key)的使用等等。VSM40还可以例如接管VLAN34的控制,禁止它的其它可能与重编程操作发生冲突的应用。
当重编程过程与不再属于生产商所有的车辆或者以其它方式正在被驾驶的车辆配合被使用时,用户接口32可以用上述讨论的方法来向操作者提供信息和指令。这可以包括确定适当的重编程时间,因为VSM40在重编程操作期间禁止车辆操作。然后,操作者可以将车辆置于用于接下来重编程的期望配置。作为将车辆置于正确配置(步骤58)的一部分,VSM40可以进行车辆状态的部分检查,检查通常不受操作者控制(例如电池的充电状态)的车辆状态,且如果其它车辆状态适合于重编程,则只要求车辆由操作者置于正确配置。这可以作为步骤58的一部分来实现,也可以在早在该过程的步骤52时实现。
正如将要理解的,在该实施例中,第一ECU(即ECU#3)重编程所经由的过程涉及第二ECU(车载信息服务单元22)、第三ECU(BCM36),并且当要求或想要司机交互时还涉及第四ECU(用户接口32)。根据另外的实施例,重编程过程可扩展到更多或更少的ECU,使得例如车载信息服务单元22和用户接口32和/或BCM36都能被集成到单一ECU中,或者其中在重编程期间不需要或不想要控制车辆状态时,则处理可以由车载信息服务单元22单独实施或由一些其它的ECU的单一或多重配置实施。所有这些变化的结构和操作对本领域技术人员来说将是显而易见的。
应该明白,前面的描述并不是对本发明本身的描述,而是对本发明一个或更多优选示例性实施例的描述。本发明不限于这里揭示的特定实施例,而是仅仅由后面的权利要求来定义。并且,包含在前面描述中的声明涉及特定实施例,而不应解释为对本发明保护范围的限制,也不应理解为对权利要求中所使用的术语定义的限制,除非该术语或措词在前面被明确定义。所揭示实施例的各种其它实施例以及各种变化和修改对本领域技术人员来说将是显而易见的。例如,尽管说明的实施例是与闪速存储器的重编程结合起来讨论的,然而,所揭示的系统及方法一般来说也可以与其它类型的固件以及其它非易失性计算机可读存储器一起使用。并且,尽管所描述的实施例是针对与无线接收的新编程配合使用的车辆状态管理器的使用,然而,它也可以用于利用由硬布线的计算机或其它诸如可被用在服务设备的工具提供给车辆的新编程来控制存储器的重编程。在这种安排中,可能根本不需要车载信息服务单元22。这些以及其它实施例、变化和修改都试图落入所附权利要求的保护范围之内。
在本说明书和权利要求中所使用的术语“例如”和“诸如”,以及动词“包含”、“具有”、“包括”及它们的其它动词形式,当与一个和更多部件的列表和其它项目配合使用时,每一个都应理解为开放式的,意味着所述列表不应被认为是排除其它的、附加的部件和项目。如果其它术语不是被用于需要不同解释的上下文中,则它们应利用它们最宽的合理意义来解释。
权利要求
1.一种利用提供给车辆的新编程,对安置在车辆上第一电子控制单元(ECU)中的固件进行重编程的方法,其中该方法包括如下步骤(a)使用安置在车辆上的第二ECU,经由到车辆的无线传输来接收新编程;(b)确定车辆状态对于第一ECU的重编程是否可以接受;(c)如果车辆状态是可接受的,则在将一定的车辆状态保持在它们现有状态下的同时,向第一ECU发送新编程,并将新编程存储在包含在第一ECU中的固件中。
2.根据权利要求1所述的方法,其中步骤(c)利用在第三ECU中执行的车辆状态管理器程序来进行。
3.根据权利要求2所述的方法,其中第三ECU在车辆上作为功率模式管理器来工作。
4.根据权利要求3所述的方法,其中第三ECU可在车辆状态管理器的控制下操作,在第一ECU的重编程期间,忽略用户经由点火按键开关的输入。
5.根据权利要求4所述的方法,其中步骤(c)进一步包括在将新编程存储在第一ECU期间,将点火保持在预定的状态下,而不受点火按键开关位置的影响。
6.根据权利要求2所述的方法,其中步骤(b)在车辆状态管理器的控制下进行。
7.根据权利要求2所述的方法,其中步骤(b)进一步包括如下步骤(b1)将重编程请求从第二ECU发送到第三ECU;(b2)利用第三ECU检查不同车辆状态的状况;(b3)将车辆状况消息从第三ECU发送到第二ECU;以及其中步骤(c)进一步包括确定车辆状况消息是否指示车辆状态对于第一ECU的重编程来说是可以接受的,如果是,则(c1)将车辆保持状态请求发送到第三ECU;(c2)利用第三ECU,在车辆状态管理器程序的控制下执行车辆保持状态;(c3)将新编程存储在固件中;(c4)向第二ECU发送完成消息,并终止车辆保持状态。
8.根据权利要求1所述的方法,进一步包括在步骤(b)之前进行这样的步骤,即经由用户接口与车辆操作者进行交互,并指令车辆操作者将车辆置于期望的配置。
9.根据权利要求8所述的方法,其中所述的交互步骤进一步包括利用话音指令与车辆操作者进行交互。
10.一种利用从远端位置无线提供的新编程,对安置在车辆上的电子控制单元中的闪速存储器进行重编程的方法,车辆具有耦合到电子控制单元的车载信息服务单元,它经由无线通信网络接收新编程,该方法包括如下步骤(a)经由无线传输,接收从无线通信网络发送到车辆车载信息服务单元的用于电子控制单元的新编程;(b)确定车辆上是否存在车辆状态的期望配置;(c)如果存在期望配置,则进行重编程过程,它包括(c1)通过将至少一些可控制的车辆状态保持在它们的现有状态并禁止那些可控制的车辆状态在重编程过程完成之前发生改变,来启动车辆状态保持;(c2)向电子控制单元发送新编程;并且(c3)在电子控制单元中用新编程替换编程;然后(d)终止车辆状态保持。
11.根据权利要求10所述的方法,其中步骤(b)进一步包括检查不同车辆状态的状况是否存在期望配置。
12.根据权利要求10所述的方法,其中步骤(b)进一步包括经由用户接口与车辆操作者进行交互,并指令车辆操作者将车辆置于期望配置,然后检查车辆状态的状况以确认存在期望配置。
13.根据权利要求10所述的方法,其中步骤(b)进一步包括确定是否存在至少下述两种车辆状态i.车辆电池的充电状态在最小值之上;以及ii.车辆发动机关闭。
14.一种利用提供给车辆的新编程,对安置在车辆上的电子控制单元中的闪速存储器进行重编程的方法,该方法包括如下步骤(a)经由用户接口与车辆操作者进行交互,指令车辆操作者将车辆置于期望配置;(b)通过电子地禁止对期望配置的改变,将车辆置于车辆保持状态;(c)将新编程保存在闪速存储器中,该闪速存储器包含在至少一个车辆电子控制单元中;然后(d)清除车辆的车辆保持状态,并因此允许车辆配置由期望配置而发生改变。
15.根据权利要求14所述的方法,其中步骤(a)进一步包括利用由用户接口作出的话音指令和从车辆操作者接收的话音命令来与车辆操作者进行交互。
16.根据权利要求14所述的方法,其中至少步骤(b)和(d)利用在安置在车辆上的电子控制单元中执行的车辆状态管理器程序来进行。
全文摘要
一种管理车辆电子控制单元中闪速存储器的远程重编程的系统和方法。首先利用车辆状态管理器过程来确定车辆状态是否适合进行特定ECU的重编程,如果适合,则车辆状态管理器在重编程操作期间保持正确的车辆配置。利用由数字卫星广播接收到的新编程或通过其它无线传输到达车辆的新编程,该系统和方法可用于车辆ECU的自动重编程。
文档编号G06F9/445GK101017438SQ20071000521
公开日2007年8月15日 申请日期2007年2月7日 优先权日2006年2月7日
发明者D·L·杜德尔斯, S·A·麦卡洛夫, J·M·科特奇, J·J·弗拉德, H·T·阮 申请人:通用汽车环球科技运作公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1