车载程序写入装置的制作方法

文档序号:11140908阅读:382来源:国知局
车载程序写入装置的制造方法

本发明涉及一种车载程序写入装置。



背景技术:

记述有车辆上所搭载的车载控制装置的控制动作的控制程序存储在微电脑内的闪存等非易失性存储器中。此外,控制程序内所使用的初始值等数据也存储在非易失性存储器中。这些程序、数据通常在车辆上市以后就不会变更,但出于检测到缺陷的情况、为了提供更好的服务的理由,会进行控制程序、数据的更新。

汽车的控制程序、数据的更新处理是将车辆运到经销店,在经销店进行改写,但近年来,已提出有通过车辆外部的作为基础设施的手机网络等无线通信来进行改写的方式。

在专利文献1中进行如下操作:车辆外部的信息管理基站装置经由车辆上所搭载的无线通信设备对停止中的车辆发送更新请求,接收到该更新请求的车辆从休眠状态唤醒而启动车辆上所搭载的车载控制装置,并将发送自信息管理基站装置的更新程序写入至车载控制装置。

此外,在专利文献2中进行如下操作:,利用通信电缆来连接外部工具与车辆上所搭载的写入装置,将发送自外部工具的更新程序积存至写入装置,其后,在取下通信电缆的状态下将更新程序从写入装置写入至车载控制装置。

现有技术文献

专利文献

专利文献1:日本专利第4361902号公报

专利文献2:日本专利第4593095号公报



技术实现要素:

发明要解决的问题

在专利文献1的方式中,由于没有事先积存更新程序的单元,因此更新程序的写入所需的时间是从信息管理基站装置到车载控制装置的更新程序传送时间与对车载控制装置的写入时间的合计,所以会产生较为耗时的问题。即,在驾驶员突然想要驾驶正在写入更新程序的汽车这样的状况的情况下,只好等到写入完成为止。

在专利文献2的方式中,写入过程中不需要通信,因此通过向其他车辆连接通信电缆,能够将更新程序向写入装置积存。结果,由于能够不经由与外部的通信地进行执行,因此能够缩短写入时间,另外,能够同时执行车辆的写入处理和经由通信电缆向其他车辆进行的更新程序的积存处理,由于这两点,实现写入时间的缩短化。但是,反过来说,为了并列执行,对于一辆车来说,就必须在完成积存处理后立即进行写入处理。在这一点上,无法选择汽车驾驶员不使用车辆并且也方便的时段。

在此,本发明的课题在于,不使汽车的所有者、利用汽车的驾驶员感到不便地更新车载控制装置的控制程序、数据。

解决问题的技术手段

为了解决上述课题,例如采用权利要求书中记载的构成。本发明包含多个解决上述课题的技术方案,但举其一例的话,为以下所述:一种车载程序写入装置,包括:多个车载控制装置,其通过控制程序来控制搭载在车辆上的设备的动作;以及中继装置,其接收包含发送自外部中心的所述车载控制装置的更新程序和更新数据的更新程序数据并向存储器积存,所述车载控制装置具有执行所述控制程序的通常动作模式和将所述控制程序改写为更新程序的重编程模式,所述车载控制装置与所述中继装置通过车载网络连接,所述车载程序写入装置的特征在于:所述中继装置具有以下单元:在点火开关为ON状态的情况下,在预先规定的第1时段之前接收从外部中心发送的多个车载控制装置的更新程序数据的单元;以及接收在所述第1时段内发送自外部中心的写入开始指令,并在所述第1时段内唤醒启动所述车载控制装置,并使其转变为所述重编程模式的单元,所述车载控制装置对所述中继装置通知重编程模式转变,中继装置根据来自车载控制装置的所述重编程模式转变通知和积存在所述存储器的该车载控制装置的更新程序数据的有无,在所述第1时段内向该车载控制装置执行更新程序和更新数据的写入。

发明的效果

根据本发明,能够提供可不使驾驶员感到不便地向车载控制装置写入更新程序和更新数据的车载程序写入装置。

上述情况以外的课题、结构以及效果通过以下的实施形态的说明得以明示。

附图说明

图1为示出车载程序写入装置的整体构成的图。

图2为示出车载控制装置的构成的图。

图3为示出中继装置的构成的图。

图4为中继装置微电脑的中断表。

图5为车载控制装置微电脑的中断表。

图6为示出外部中心的发送数据构成的图。

图7为示出中继装置的积存数据构成的图。

图8为示出中继装置的存储器构成的图。

图8A为示出车载控制装置的存储器构成的图。

图9为示出外部中心的写入开始指令下的写入处理概要的图。

图10为示出基于写入按钮的写入处理概要的图。

图11为示出中继装置的存储器积存处理的图。

图12为示出对外部中心的写入完成通知发送数据构成的图。

图13为示出中继装置的写入开始指令的积存数据构成的图。

图14为示出写入开始指令接收处理的流程图。

图15为示出写入开始处理的流程图。

图16为示出车载控制装置的唤醒接收处理的流程图。

图17为示出车载控制装置编号RECECUID[n]所指示的车载控制装置的重编程模式接收处理的流程图。

图18为示出对车载控制装置编号RECECUID[n]所指示的车载控制装置发送更新程序的中继装置的处理的流程图。

图19为示出车载控制装置编号RECECUID[n]所指示的车载控制装置的写入处理的流程图。

图20为示出将来自车载控制装置编号RECECUID[n]所指示的车载控制装置的写入完成结果存储至序列RESULTECU[n]的中继装置的处理的流程图。

图21为示出中继装置的写入完成处理的流程图。

图22为示出基于写入开始指令按钮的写入开始指令处理的流程图。

图23为示出基于按钮的写入开始处理的流程图。

具体实施方式

为了不使驾驶员感到不便,必须在不使用汽车的时段内安全且在短时间内将更新程序和更新数据写入至车载控制装置。在本发明中,首先,为了实现安全和缩短写入时间,以如下技术方案为前提:在点火开关为ON状态的情况下获取从外部中心以无线方式发送的车载控制装置的更新程序数据并积存至中继装置。其原因之一在于,由于是以无线方式接收更新程序数据,因此要考虑当车辆停在楼宇背面、室内停车场等电波到不了的场所时无法接收的情况,所以在点火开关为ON状态而处于行驶中等情形下使中继装置接收更新程序数据将能够更可靠且安全地进行接收。其原因之二在于,相较于从外部中心经由无线而直接写入至车载控制装置而言,从车辆内的中继装置向车载控制装置写入能够缩短写入时间。

本发明是在驾驶员不使用汽车的时段内实现更新程序和更新数据向车载控制装置的写入的技术方案。在说明本发明的技术方案之前,考察程序更新步骤。首先,没有车辆所有者的同意是无法执行车载控制装置的程序更新的。因此,必须事先通过电话、邮件等来确认好程序更新的同意、不使用汽车的第1时段。此处,所谓第1时段,是指若为车辆所有者指定的方便的年、月、日下的时段,则商定为可以进行程序更新的时段。因而,也许会要求在夜间的2点~3点这一时段内在自家停车场进行程序更新。但也可能存在如下情况:在已预定在该时段内对其他车辆发送更新程序数据时,外部中心与车辆所有者进行协调而变更为其他时段。此外,其他车辆所有者有可能不指定时段等而要求在方便的时候自己进行程序更新。如此,在指定时段的情形下,由于假设了夜间时段,因此必须在车辆中未乘坐有驾驶员、点火开关为OFF的状态下实现更新程序的写入。将本情形设为第1情形。另一方面,将驾驶员不指定时段而是在方便的时候自己进行程序更新的情形定义为第2情形。下面,对本发明的第1情形和第2情形的实现方案进行说明。

首先,对第1情形的实现方案进行说明。本方案以以下内容为基础:由于驾驶员未乘坐在汽车内,因此根据来自外部中心的指令,在车辆所有者期望的时段(称为第1时段)执行程序更新。

权利要求1的技术方案如下:在第1时段之前从外部中心将更新程序数据积存至中继装置之后,中继装置在接收到在第1时段的范围内发送自外部中心的写入开始指令的情况下,唤醒启动车载控制装置并使其转变为重编程模式(程序改写模式),根据来自车载控制装置的重编程模式转变通知和积存在存储器中的车载控制装置的更新程序数据的有无,在第1时段内对车载控制装置执行更新程序和更新数据的写入。结果,可在车辆所有者不会感到不便的时段内完成车载控制装置的程序和数据的更新。

权利要求2的技术方案如下:在权利要求1中,在接收到在第1时段的范围内发送自外部中心的写入开始指令并且点火开关为OFF状态的情况下,唤醒启动车载控制装置,使其向重编程模式(程序改写模式)转变,根据来自车载控制装置的重编程模式转变通知和积存在存储器的车载控制装置的更新程序数据的有无,在第1时段向车载控制装置执行更新程序和更新数据的写入。

权利要求3提供如下技术方案:即使未从外部中心接收到写入开始指令,中继装置也自动地执行写入。即,本技术方案通过将执行从外部中心接收到的更新程序数据内的写入的第2时段与从搭载在车辆上的时钟取得的时刻进行比较,判断时刻在第2时段的范围内还是范围外,由此能够执行写入开始指令处理。即,为如下技术方案:若更新程序数据已经在中继装置的存储器中积存完成,则向连接于车载网络的车载控制装置发送唤醒模式以唤醒启动车载控制装置,接着向车载控制装置发送向重编程模式转变的命令,在接收到车载控制装置已向重编程模式转变了的通知后,执行更新程序和更新数据的写入处理。如上所述,本技术方案能够从车辆内的时钟取得当前时刻,检验该时刻是否在第2时段的范围内,由此遵守与车辆所有者的约定。即,能够通过将第1时段和第2时段设定成相同来实现。

权利要求4为如下技术方案:在权利要求3中,作为用于执行写入开始指令处理的条件,追加了点火开关为OFF状态这一条件。

权利要求5为如下技术方案:在权利要求1-4中,在车辆内设置存储器积存完成指示器,在中继装置积存完发送自外部中心的更新程序数据的情况下,存储器积存完成指示器点亮。在设想在数日前发送对车辆的更新程序数据的情况下,通过本指示器的点亮,驾驶员可了解程序更新的准备已完成,因此可使驾驶员放心。

权利要求6为如下技术方案:在权利要求1-5中,在车辆内设置写入完成指示器,在将车载控制装置全部写入完成之后,进行指示器的点亮,和向外部中心的写入完成通知。由此,例如在次日的早上若车辆的写入完成指示器是点亮的,则驾驶员可确认完成,因此能够放心。此外,外部中心也能够知晓完成。

接着,对第2情形的实现方案进行说明。本情形是驾驶员乘坐在汽车内的情形。

权利要求7为如下技术方案:设置可供驾驶员确认已积存完更新程序数据的存储器积存完成指示器、用以供驾驶员指示写入开始指令的写入开始指令按钮、以及表示写入已结束的写入完成指示器,驾驶员确认了存储器积存完成指示器点亮之后,在驾驶员方便的时候启动写入开始指令按钮,由此,中继装置对车载控制装置执行写入,进而,通过写入完成指示器点亮来向驾驶员告知写入完成。如此,若有2个指示器和1个按钮,则驾驶员可放心且可靠地执行写入作业。

权利要求8为如下技术方案:在权利要求7中,在驾驶员方便的时间将点火开关设定为ON状态,并且将车辆的调档齿轮设定为驻车位置,之后通过启动写入开始指令按钮,中继装置向车载控制装置执行写入,进一步地,通过点亮写入完成指示器,向驾驶员告知写入完成。这样,只要有两个指示器和一个按钮,驾驶员就能安心且可靠地执行写入作业。

权利要求9是出于以下原因而用以在与车辆所有者约定的第1时段内执行写入的技术方案:即便乘坐有驾驶员,驾驶员也未必是所有者。本技术方案中,为了在与车辆所有者约定的第1时段内执行写入,而对更新程序数据设定第2时段的数据(第2时段设定得与第1时段相同)并发送至中继装置,中继装置使用时钟来检验写入开始指令按钮变为启动状态的时刻是否在第2时段的范围内,结果,在范围内且存储器积存完成指示器是点亮的情况下,对车载控制装置执行写入,在写入完成后,点亮写入完成指示器来告知驾驶员。

权利要求10为如下技术方案:中继装置使用时钟检验写入开始指令按钮为启动状态的时刻是否在第2时段的范围内,结果,在范围内并且存储器积存完成指示器点亮并且点火开关为ON状态且车辆的调档齿轮位置为驻车位的情况下,向车载控制装置执行写入,在写入完成后点亮写入完成指示器以向驾驶员告知。

如上所述,根据本发明,无论在驾驶员乘坐在车辆中的情形,还是未乘坐在车辆内的情形,通过在约定的时段执行写入开始的单元、或在方便的时候按压写入开始按钮,能够写入更新程序。

以下,使用附图对本发明的实施例进行说明。

首先,对实施例中使用的硬件构成、软件构成以及数据构件进行说明。

图1是示出车载程序写入装置的整体构成的图。

外部中心100具有将更新程序数据以无线方式发送至车辆110、并从车辆接收其写入完成结果的功能。无线中继基地101对外部中心100与车辆110之间的无线数据进行中继。车辆110中有具有更新程序数据的积存和将更新程序和更新数据分割发送至车载控制装置的功能的中继装置120、对控制对象(发动机)135进行控制的车载控制装置130、对控制对象(变速器)145进行控制的车载控制装置140、对控制对象(马达)155进行控制的车载控制装置150、搭载在车辆上的电池电源172、对车辆上所搭载的电子设备供给电池电源的点火开关IGN 170、时钟180、写入开始指令按钮182、存储器积存完成指示器184、写入完成指示器186。中继装置120由与外部中心100进行数据收发的无线收发器121和微电脑122构成。进而,中继装置120与车载网络160连接,经由信号线181与时钟180连接,经由信号线183与写入开始指令按钮182连接,经由信号线185与存储器积存完成指示器184连接,经由信号线187与写入完成指示器186连接。此处,为了使得说明易于理解,写入开始指令按钮182、存储器积存完成指示器184、写入完成指示器186是单独准备的,但也可利用带触控面板的显示器等以1个装置代替操作和显示。无线收发器121经由信号线128与微电脑122连接。微电脑122由包含运算器的CPU 123、存储控制微电脑的动作的程序的内部ROM 124、用以存储更新程序数据的更新数据ROM 125、RAM 126、进行车载网络的协议处理的车载LAN通信部127构成。

车载网络160连接中继装置120与车载控制装置130、140、150。电池电源172经由电源线173对中继装置120、车载控制装置130、140、150等所有车载电子设备供给电源。此外,点火开关170为用以启动车载电子设备的信号,经由信号线171而连接至中继装置120和车载控制装置130、140、150。当将点火开关170设为ON状态时,与点火开关170连接的电子设备启动,当设为START状态时,发动机启动。车载控制装置130与车载网络160连接,经由信号线136对作为控制对象的发动机135进行控制。微电脑131控制车载控制装置130的动作,车载LAN通信部132与车载网络160连接。ROM 133为存储用以对控制对象135进行控制的程序和数据的闪存,RAM 134为SRAM。

车载控制装置140与车载网络160连接,经由信号线146对作为控制对象的变速器145进行控制。微电脑141控制车载控制装置140的动作,车载LAN通信部142与车载网络160连接。ROM 143为存储用以对控制对象145进行控制的程序和数据的闪存,RAM 144为SRAM。车载控制装置140将变速器的调档齿轮位置信号147输出至中继装置121。

车载控制装置150与车载网络160连接,经由信号线156对作为控制对象的马达155进行控制。微电脑151控制车载控制装置150的动作,车载LAN通信部152与车载网络160连接。ROM 153为存储用以对控制对象155进行控制的程序和数据的闪存,RAM 154为SRAM。

接着,使用图2,对与车载控制装置130的启动有关的电路进行说明。

在本实施例中,车载控制装置是由130、140、150这3个构成,但与启动有关的电路是相同的。因而,利用图2来概括说明。车载控制装置130的输入有电池电源线173、点火信号线171以及车载网络160。当继电器电路210变为导通状态时,电池电源线173与电源线220得以连接,电池电源得以供给至DC-DC电路230。DC-DC电路230将电池电压降压至微电脑的电压并供给至微电脑的电源端子240。由此,微电脑131能够上电复位而启动。此处,由于将继电器电路210设为导通状态的信号有3种,因此进行说明。

第1种为点火信号IGN 171,第2种为车载网络的驱动器IC CAN BD 200的唤醒检测信号WakeUp 250,第3种为微电脑131的自保持信号PowerKeep 260。这3种信号经由OR电路270而输出至信号260,控制继电器电路210的导通、断开动作。唤醒检测信号WakeUp 250是当经由车载网络160而接收到唤醒信号时成为开启状态的信号。唤醒功能是汽车中普遍使用的功能,不管是CAN网络还是FlexRay网络均支持。此外,信号线290是连接车载网络的驱动器IC CAN BD 200与微电脑131的信号,是进行通信数据的交互的信号线。

接着,对自保持信号PowerKeep 260进行说明。可知,当微电脑131将该信号设定为开启状态时,即便点火信号IGN 171和唤醒检测信号WakeUp 250变为关闭状态,根据电路构成,继电器电路210也可维持导通状态。因而,在将更新程序写入至闪存时,若将本信号设定成开启状态,则可维持微电脑的电源,因此可确保安全。仅调档齿轮位置信号147从车载控制装置140输出到中继装置120。其他的车载控制装置130、150不输出。

接着,使用图3,对与中继装置120的启动有关的电路进行说明。中继装置120的输入有电池电源线173、时钟的信号线181、写入开始指令按钮的信号线183、存储器积存完成指示器的信号线185、写入完成指示器的信号线187、点火信号线171、调档齿轮位置信号线147和车载网络160。此外,无线收发器121经由信号线128与微电脑122连接。当继电器电路310变为导通状态时,电池电源线173与电源线370得以连接,电池电源得以供给至DC-DC电路320。DC-DC电路320将电池电压降压至微电脑的电压并供给至微电脑的电源端子380。由此,微电脑122能够上电复位而启动。此处,与车载控制装置一样,由于将继电器电路310设为导通状态的信号有3种,因此加以说明。

第1种为点火信号171,第2种为车载网络的驱动器IC CAN BD 300的唤醒检测信号WakeUp 340,第3种为微电脑122的自保持信号PowerKeep 350。这3种信号经由OR电路330而输出至信号360,控制继电器电路310的导通、断开动作。唤醒检测信号WakeUp 340是当经由车载网络160而接收到唤醒信号时成为开启状态的信号。唤醒功能是汽车中普遍使用的功能。此外,信号线390是连接车载网络的驱动器IC CAN BD 300与微电脑122的信号,是进行通信数据的交互的信号线。

接着,对自保持信号PowerKeep 350进行说明。可知,当微电脑122将该信号设为开启状态时,即便点火信号171、唤醒检测信号WakeUp 340变为关闭状态,根据电路构成,继电器电路310也可维持导通状态。因而,在将更新程序写入至闪存时,若将本信号设定成开启状态,则可维持微电脑122的电源,因此可确保安全。

接着,在图4中示出中继装置的微电脑的中断表构成。

中断表400是将微电脑的外部、内部所产生的中断分支到本表中所登记的地址的表。在中继装置中,设定有在从无线收发器接收到更新程序数据时进行处理的中继装置的存储器积存处理程序(参照图11)的地址410、用于检验写入开始指令按钮是否受到了按压的500ms周期中断程序的地址420、以及以1000ms周期启动的写入开始指令接收处理程序(参照图14)的地址430。需要注意的是,在权利要求1、2中,图14的写入开始指令接收处理程序是从图11的中继装置的存储器积存处理程序之中启动的。

在图5中示出车载控制装置130、140、150的微电脑的中断表构成。车载控制装置的中断表全部都是相同的,因此统一进行说明。

中断表500是将微电脑的外部、内部所产生的中断分支到本表中所登记的地址的表。如前文所述,在车载控制装置中,在点火开关IGN成为ON的情况下、当从车载网络接收到唤醒模式时,微电脑的电源开启。510登记有在电源开启时执行的程序的地址。由此,图16的车载控制装置的唤醒接收处理程序得以启动。520登记有在从中继装置接收到更新程序和更新数据时执行的程序的地址。由此,图19的RECECUID[n]的写入处理程序得以启动。

接着,在图6中示出外部中心100发送的发送数据构成。

600是更新程序数据的发送数据构成,620是写入开始指令命令的发送数据构成。发送数据600的最前面的标头为指示发送开始的信息,VIN为唯一确定车辆的车辆编号。CMD为命令的种类。若CMD为“SNDPROG”,则表示接收数据为更新程序数据,若为“WRITE”,则表示接收数据为写入开始指令。ST2为本发明的权利要求3、4、9、10的第2时段的开始时刻,ET2表示第2时段的结束时刻。在权利要求1、2、7、8中是不需要的信息。N表示所发送的更新程序数据的数量。SIZE[1]为首先发送的更新程序数据的大小,是以字节单位来表现。SIZE[N]为最后发送的更新程序数据的大小。

接着,ECU[1]为首先发送的更新程序数据信息,ECU[N]为最后发送的更新程序数据信息。更新程序数据信息的数量也与N相同。EOF为表示发送数据的结尾的信息。

接着,对ECU[N]的内部数据构成610进行说明。由于ECU[N]与其他的ECU[1]等的内部数据构成相同,因此利用ECU[N]来概括说明。在本实施例中,ECU[N]的更新程序数据由更新程序、更新数据及管理信息构成。首先,ECUID为唯一确定车辆内的车载控制装置的车载控制装置编号。VNO为更新程序和更新数据的版本号,PADR为车载控制装置的ROM的写入地址。是在将更新程序和更新数据写入至ROM时所需要的起始地址。PSIZE为更新程序和更新数据的大小。大小的单位为字节。PROGDATA表示更新程序和更新数据主体。接着,对620的写入开始指令命令的发送数据构成进行说明。VIN为用以唯一确定车辆的车辆编号,CMD为写入开始指令命令。该620是权利要求1、2中所需要的信息,但在权利要求3、4、7、8、9、10中是不需要的信息。

接着,使用图7,对中继装置120从外部中心接收并积存的数据构成进行说明。根据图7可知,积存数据构成700与从图6中去除了标头和EOF后的构成类似。首先,RECVIN为保持接收数据VIN的变量,RECCMD为保持接收数据CMD的变量,在接收到更新程序数据的情况下,为“SNDPROG”。RECST2为保持接收数据ST2的变量,RECET2为保持接收数据ET2的变量,RECN为保持接收数据N的变量,RECSIZE[1]~RECSIZE[RECN]为保持接收数据SIZE[1]~SIZE[N]的序列,RECECUID[1]~RECECUID[RECN]为保持接收数据ECUID[1]~ECUID[N]的序列,RECECUVNO[1]~RECECUVNO[RECN]为保持接收数据ECUVNO[1]~ECUVNO[N]的序列。RECECUPADR[1]~RECECUPADR[RECN]为保持接收数据ECUPADR[1]~ECUPADR[N]的序列,RECECUPSIZE[1]~RECECUPSIZE[RECN]为保持接收数据ECUPSIZE[1]~ECUPSIZE[N]的序列,RECECUPROGDATA[1]~RECECUPROGDATA[REN]为保持接收数据ECUPROGDATA[1]~ECUPROGDATA[N]的序列。接着,存储器积存完成位在存储器积存处理中在积存完成后被设为ON值。写入完成位在已将所有更新程序和更新数据写入至车载控制装置的情况下被设定。

接着,RECVIN和RECCMD“WRITE”为在从外部中心接收到写入开始指令的情况下分别保持接收数据VIN和CMD“WRITE”的变量。

以上所述的变量和序列存储在图1的更新数据ROM 125中。因而,即便微电脑122的电源关闭,这些数据也会得到保持而不会消失。

接着,对图8的中继装置的存储器构成进行说明。在内部ROM 124中,在从无线收发器121经由中断410而加以启动的来自无线收发器的接收处理程序821内存储有存储器积存处理程序和写入开始指令接收处理程序。写入开始指令接收处理程序与权利要求3、4对应,因此也是以1000ms周期启动的程序。此外,还存储有基于写入开始指令按钮的写入开始指令处理程序822和针对无线收发器的发送处理程序823。此外,在常量数据区域830内有能够唯一确定该车辆的车辆No、能够唯一确定车辆上所搭载的车载控制装置的ECUID-CANID转换表。在本实施例中,在将车载控制装置的更新程序经由车载网络CAN而发送至特定的车载控制装置的情况下,指定特定的CANID而进行发送。即,车载控制装置仅能接收被指定了特定的CANID的发送数据。

如此,通过对每一车载控制装置分配不同的CANID,可在中继装置与车载控制装置之间进行通信。因此,用以唯一确定车载控制装置的ECUID-CANID转换表被存储在常量数据区域830内。同样地,对中继装置也分配有专用的CANID,在车载控制装置将发送数据发送至中继装置的情况下,指定中继装置专用的CANID而进行发送即可。此外,还存储有该车辆上所搭载的车载控制装置台数Nmax、唤醒最大等待时间、模式变更最大等待时间。所谓唤醒最大等待时间,是表示在点火开关为OFF状态的情况下中继装置启动车载控制装置时,等待多长时间所有车载控制装置才会启动,从而可将响应发送至车载网络的最大时间。因而,中继装置在将唤醒模式发送至车载网络之后,若在经过唤醒最大等待时间之后确认接收缓冲,则必定能够确认来自所有车载控制装置的响应。唤醒不是仅仅启动特定的车载控制装置,而是启动所有车载控制装置。同样地,模式变更最大等待时间也是表示如下内容的最大时间:在中继装置向车载网络发送了重编程模式等模式变更的情况下,等待多长时间才会返回表示已对所指定的车载网络完成了模式变更这一情况的回复。由于模式变更的发送会指定CANID,因此只有特定的车载控制装置会进行模式变更。接着,更新数据ROM125是用以存储从外部中心接收到的数据的闪存。存储有图7的积存数据700。RAM 126为内部ROM 820的程序所使用的工作区,读入有IGN状态、时钟数据、调档齿轮位置等数据,由SRAM构成。此外,在程序执行中会存储点火开关的状态、时钟的数据、车载控制装置的写入完成位RESULTECU[1]~RESULTECU[REC]。

图8A为车载控制装置的存储器构成。在本实施例中,所有车载控制装置的存储器构成都相同,因此使用本图进行说明。在ROM 133中,在ROM 133的程序区域8A01内存储有接收更新程序和更新数据的唤醒接收处理程序8A04、接收重编程模式命令的重编程模式接收处理程序8A05、以及将更新程序和更新数据写入至区域8A03的写入处理程序8A06。在常量数据区域8A02内存储有用以唯一确定车载控制装置自身的自ECUID与ECUID成对的CANID转换数据、发送至中继装置时所使用的中继装置ECUID及其CANID转换数据、唤醒最大等待时间、模式变更最大等待时间。RAM 134为程序8A04、8A05、8A06在执行中所使用的工作区,保持有点火开关的状态等。但只有车载控制装置140会保持调档齿轮位置信息。

以以上构成为前提,将本发明的权利要求1~6的处理概要示于图9,将权利要求7~10的处理概要示于图10。

首先,考察从发现程序更新的时间点起到实施更新处理为止的详细经过。首先,当车辆制造商发现车载控制程序存在缺陷、改良点时,会制作更新程序和更新数据。接着,经由经销店等将不良的内容说明及其改善内容以文件形式通知车辆的所有者。其后,经销店为了实施对策而通过电话等向车辆的所有者确认程序更新的许可,并说明在实施更新程序的写入的时段内无法驾驶车辆这一情况,在车辆的所有者了解这一情况之后,征询方便进行车辆的程序更新的年月日的时段,并将该时段通知外部中心。如此,要使车辆的所有者不会感到不便,重要的是在车辆的所有者方便的日期的时段内进行程序更新。

为了在所通知的时段内将更新程序数据写入至所有者的车辆,外部中心必须在所述所通知的时段之前向所述所有者的车辆的中继装置发送更新程序数据并积存好。以上的详细经过涉及权利要求1~6,通过图9的处理流程来实现。

另一方面,也要考虑如下情形:若更新程序数据已积存在车载中继装置中,则希望不等待来自外部中心的写入开始指令,而是在驾驶员方便的时候进行程序更新。该情形对应于权利要求7~10,通过图10的处理流程来实现。但是,由于驾驶员未必是车辆的所有者,因此在所有者指定了时段的情况下,在时段的范围外必须禁止写入。实现该禁止处理的发明为权利要求9、10的情形。下面,通过图9和10图对省略了详情的概要进行说明。

图9为外部中心的写入开始指令下的写入处理概要。但是,也包括事先将写入开始指令置于更新程序数据内进行发送的情形。

沿各自的时间轴901、902、903对外部中心、中继装置、车载控制装置的处理概要进行说明。

首先,外部中心在与车辆所有者约定好的预先规定的时段之前的时刻将更新程序数据904发送至中继装置。若点火开关为ON状态,则中继装置进行接收。首先,开启PowerKeep信号(905)以确保中继装置的电源,并将更新程序数据积存至更新数据ROM。接着,将存储器积存完成位设为ON值(906),点亮存储器积存完成指示器(907)。接着,对外部装置发送存储器积存完成通知908,并关闭PowerKeep信号(909)。在以上处理完成之后,在权利要求1、2的情况下,外部装置在预先规定的时段内将写入开始指令910发送至中继装置。在权利要求3、4的情况下,不接收写入开始指令,而根据车载时钟独立地判断当前时刻为已接收到的第2时段。中继装置开启PowerKeep信号(911),对车载控制装置发送唤醒模式(912)。当车载控制装置接收到唤醒模式时,由于电源开启,因此执行程序,并开启PowerKeep信号(914)。在从车载控制装置接收到唤醒响应913之后,对有程序更新要求的车载控制装置发送重编程模式转变要求915,并确认已从车载控制装置返回了重编程模式响应916,将更新程序和更新数据分割而反复发送写入处理917~918。在将该车载控制装置的更新程序和更新数据全部发送之后,发送写入结束(919)。当车载控制装置接收到写入结束时,对中继装置发送写入完成响应920,之后关闭PowerKeep信号(921)。当从车载控制装置返回了写入完成响应920时,由于该车载控制装置的更新程序和更新数据处理已完成,因此中继装置将车载控制装置的写入完成位设为ON值(922),接着,若有其他车载控制装置的更新程序数据,则反复进行将所有更新程序和更新数据发送至车载控制装置的处理923。其后,若写入在所有车载控制装置中均成功(OK),则将写入完成位设为ON值(924),点亮写入完成指示器(925),将存储器积存完成位设为OFF值(926),熄灭存储器积存完成指示器(927),将写入完成通知928通知外部中心,之后关闭PowerKeep信号(929)而结束。本处理概要为概要,由于在车载控制装置发生故障的情况下会写入失败,因此必须将写入失败通知外部中心,这将在之后的详细处理流程中进行说明。

接着,使用图10的基于写入按钮的写入处理概要,对本发明的权利要求7~10的处理概要进行说明。

图10为外部中心、中继装置、车载控制装置的处理概要。沿外部中心、中继装置、车载控制装置各自的时间轴1001、1002、1003进行说明。

首先,若与车辆所有者约定好的时段已预先规定好,则外部中心在该时段之前的时刻将更新程序数据1004发送至中继装置。但是,在权利要求7、8中,并不一定需要与车辆所有者预先规定好第2时段。在权利要求9、10中,需要预先规定好。若点火开关为ON状态,则中继装置进行接收。首先,开启PowerKeep信号(1005)以确保中继装置的电源,并将更新程序数据积存至更新数据ROM。接着,将存储器积存完成位设为ON值(1006),点亮存储器积存完成指示器(1007),并向驾驶员进行通知。接着,对外部装置发送存储器积存完成通知1008,并关闭PowerKeep信号(1009)。以上处理与图9相同,但之后的处理不一样。首先,驾驶员确认存储器积存完成指示器是点亮的,将点火开关设为ON(权利要求8、10),进一步地将调档齿轮设定为驻车位(权利要求8、10)之后,启动与中继装置连接的写入开始指令按钮,由此执行写入开始指令。如果存储器积存完成指示器为熄灭或者点火开关为OFF的状态(权利要求8、10)或者调档齿轮为驻车位以外的位置(权利要求8、10),则即便按压写入开始指令按钮,也不会执行写入。在此,对条件成立的情况下的处理流程进行说明。首先,中继装置确认按钮受到了按压,之后,开启PowerKeep信号(1011)以确保自身的电源。接着,对有程序更新要求的车载控制装置发送重编程模式转变要求1012。在转变成重编程模式之后,车载控制装置对中继装置发送重编程模式响应1013,并开启PowerKeep信号(1014)。中继装置确认已从车载控制装置返回了重编程模式响应1013,将更新程序和更新数据分割而反复发送写入处理1015~1016。在将该车载控制装置的更新程序和更新数据全部发送之后,发送写入结束通知1017。当车载控制装置接收到写入结束通知1017时,从重编程模式变更为通常动作模式,之后对中继装置发送写入完成响应1018,并关闭PowerKeep信号(1019)。当从车载控制装置返回写入完成响应1018时,由于该车载控制装置的更新程序和更新数据处理已完成,因此中继装置将车载控制装置的写入完成位设为ON值(1020),接着,若有其他车载控制装置的更新程序数据,则反复进行将所有更新程序和更新数据发送至车载控制装置的处理1021。其后,若写入在所有车载控制装置中均成功(OK),则将写入完成位设为ON值(1022),点亮写入完成指示器(1023),将存储器积存完成位设为OFF值(1024),熄灭存储器积存完成指示器(1025),将写入完成通知1026通知外部中心,之后关闭PowerKeep信号(1027)而结束。本处理为概要,由于在车载控制装置发生故障的情况下会写入失败,因此必须将写入失败通知外部中心,这将在之后的详细处理流程中进行说明。

接着,使用图11的中继装置的存储器积存处理,对作为图9和图10中通用的处理的存储器积存处理的详情进行说明。首先,当来自无线收发器的接收中断1100输入至微电脑时,本程序启动。首先,开启中继装置的PowerKeep信号(1101),接着,执行将接收数据存储至更新数据ROM的处理1102。处理内容是将图6的数据600转换为图7的积存数据700并积存至更新数据ROM。详情于下面进行叙述。

将接收数据本车No的VIN写入至更新数据ROM的变量RECVIN,

将接收数据命令的CMD写入至更新数据ROM的变量RECCMD,

将接收数据第2时段的开始时刻ST2写入至更新数据ROM的变量RECST2,

将接收数据第2时段的结束时刻ET2写入至更新数据ROM的变量RECET2,

将接收数据更新程序数据的数量N写入至更新数据ROM的变量RECN,

将接收数据各接收数据大小SIZE[1]~SIZE[RECN]写入至更新数据ROM的序列RECSIZE[1]~RECSIZE[RECN],

将接收数据车载控制装置编号ECUID[1]~ECUID[RECN]写入至更新数据ROM的序列RECECUID[1]~RECECUID[RECN],

将接收数据的更新程序和更新数据的版本VNO[1]~VNO[RECN]写入至更新数据ROM的序列RECECUVNO[1]~RECECUVNO[RECN],

将接收数据的更新程序和更新数据的写入起始地址PADR[1]~PADR[RECN]写入至更新数据ROM的序列RECECUPADR[1]~RECECUPADR[RECN],

将接收数据的更新程序和更新数据大小PSIZE[1]~PSIZE[RECN]写入至更新数据ROM的序列RECECUPSIZE[1]~RECECUPSIZE[RECN],

将接收数据的更新程序和更新数据主体PROGDATA[1]~PROGDATA[RECN]写入至更新数据ROM的序列RECECUPROGDATA[1]~RECECUPROGDATA[RECN]。

此处应注意,应更新的车载控制装置编号存储在RECECUID[n]中、n=1~RECN,对车载控制装置的ROM写入更新程序和更新数据的起始地址存储在RECECUPADR[n]中、n=1~RECN。另外,作为权利要求1、2、7、8的实施例,不需要RECST2和RECET2,在权利要求3、4、9、10的实施例中则成为需要的信息。

接着,在1103中检验RECVIN与内部ROM 124的常量数据区域内所存储的车辆No是否一致,以判定接收到的数据是否为对本车的发送数据。若不一致,则在1109中关闭PowerKeep信号而结束。若一致,则为对该车辆的接收数据,因此在1104中检验RECCMD是否为“SNDPROG”。若不一致,则为其他命令,因此执行1400的写入开始指令处理。若一致,则接收数据为更新程序数据,因此在1105中检验车辆的点火开关是否为ON状态。若不一致,则等待直至下一次来自外部中心的发送,因此在1109中关闭PowerKeep信号而结束。若一致,则在1106中将存储器积存完成位设为ON值,在1107中点亮存储器积存完成指示器,在1108中对外部中心发送存储器积存完成通知,在1109中关闭PowerKeep信号而结束。此处,对外部中心的存储器积存完成通知是将通知数据转交至对无线收发器的发送处理程序823来加以执行的。在此,关于1400的写入开始指令接收处理,在权利要求1、2的情况下,在从外部中心接收到写入开始指令命令“WRITE”的情况下执行,但在权利要求3、4、7、8、9、10中,不进行接收,因此不会执行。权利要求3、4中,如图14所示,写入开始指令接收处理以1000ms周期启动而被周期性地执行。

以上,对所有权利要求项的存储器积存完成处理的详情进行了说明。

接着,使用图6的620,对在预先规定的时段内发送自外部中心的写入开始指令命令的发送数据构成进行说明。620的最前面的标头为指示发送开始的信息,VIN为唯一确定车辆的车辆编号。CMD为写入开始指令命令。EOF为指示发送结束的信息。此处,若CMD为“SNDPROG”,则表示接收数据为更新程序数据,若为“WRITE”,则表示接收数据为写入开始指令。由于此处为写入开始指令,因此为“WRITE”命令。如此,在“SNDPROG”命令和“WRITE”命令下,CMD之后的数据存在较大差异。另外,接收本“WRITE”命令的是权利要求1、2的情形。

接着,使用图12,对中继装置在写入完成后对外部中心发送的写入完成通知的发送数据构成进行说明。1200的CENTERID为用以唯一确定外部中心的外部中心编号,CMD为表示写入完成或未完成的命令。若为“COMPLETE”,则为写入完成的通知,若为“INCOMPLETE”,则为写入未完成的通知。VIN为用以唯一确定车辆的车辆编号。

图13为中继装置的写入开始指令的积存数据构成1300。记载有与图7的最后相同的构成。除了标头和EOF以外,RECVIN和RECCMD被保持到更新数据ROM中。但是,在权利要求3、4、7、8、9、10的情形,不需要图13所示的数据构成。在权利要求3、4、9、10中,是因为已经在第2时段接收完毕,在权利要求7、8的情况下,是因为驾驶员能够自由地利用按钮来执行写入开始。

接着,使用图14~图21,对从外部中心接收到写入开始指令的情形和以1000ms周期判断写入开始的情形的写入处理的详情进行说明。本情形为权利要求1~4的实施例。写入开始指令是通过图11的1400的自写入开始指令接收处理的分支或者1000ms周期启动来开始的。

在图14中,对写入开始指令接收处理的详情进行说明。首先,在1400中,在从外部中心接收到了写入开始指令、或者以1000ms周期启动的情况下,进行执行。在1401中,将PowerKeep信号设定为开启,以确定中继装置的电源。接着,在权利要求1、2的实施例的情况下执行1402。在权利要求3、4的情况下无视1402而执行1403。在1402中,若不一致,则在1407中关闭PowerKeep信号而结束。若一致,则为写入开始指令命令,因此执行1403。在1403中检验存储器积存完成位是否为ON值。若不为ON值,则在1407中关闭PowerKeep信号而结束。若为ON值,则各权利要求项的实施例的动作不同,因此在以下进行说明。

在权利要求1的实施例中,若1403为“是”,则省略1404、1405、1406,进行1500的写入开始处理,并关闭1407的PowerKeep信号而结束。

在权利要求2的实施例中,若1403为“是”,则检验点火开关是否为OFF,如果为“否”则关闭1407的PowerKeep信号而结束。如果为“是”则省略1405和1406,执行1500。

在权利要求3的实施例中,省略1404而执行1405和1406。若1406为“是”,则执行11500。

在权利要求4中,执行1404,若为“是”则执行1405和1406。在1405中将时钟的当前时刻设定至变量T,并执行1406的判定RECST2<T<RECET2。若为“否”,则不是预先规定的时段,因此在1407中关闭PowerKeep信号而结束。若为“是”,则由于是预先规定的时段的范围内,因此执行1500的写入开始处理。在1500中执行写入开始处理,接着在1407中关闭PowerKeep信号而结束。如此,在权利要求2、3、4的实施例中,确认存储器积存完成位为ON值后,是否应该参照点火开关的状态、第2时段是不同的,因此需要注意。在各实施例中所有条件都成立的话,则执行写入开始处理1500。

接着,使用图15,对1500的写入开始处理的详情进行说明。

首先在1501中对车载网络的CAN总线发送唤醒模式,以启动所有车载控制装置。接着,在1502中将唤醒最大等待时间设定至变量WKMAXTIME,在1503中进行判定语句WKMAXTIME>经过时间的判定。该判定语句存在是为了确保等待表示接收到唤醒模式的车载控制装置的电源开启而启动的唤醒接收所需的时间。若在1503中为“是”,则为最大等待时间以内,表示也许存在尚未启动的车载控制装置。因而,等待直至变为“否”为止,之后执行1504的处理。即,在所有车载控制装置均已启动的状态下执行1504。虽然是在图15的处理的中途,但使用图16的车载控制装置的唤醒接收处理来说明接收到唤醒模式的车载控制装置的动作。首先,当接收到唤醒模式时,如前文所述,在1600中,所有车载控制装置的电源开启。接着,在1601中开启PowerKeep信号,在1602中通过WakeUp信号从CAN总线确认唤醒接收确认。即,可知,若WakeUp信号开启,则自身的启动要因是唤醒。接着,在1603中将中继装置专用的CANID设定至发送缓冲的CANID区,将“WAKEUP_RESPONSE”设定至发送缓冲的CMD区,将自身的车载控制装置ECUID设定至发送缓冲的DATA区。接着,在1604中将发送缓冲的内容发送至CAN总线而结束。如此,车载控制装置将自身的启动完成经由CAN总线而通知了中继装置。接着,返回至图15的1504进行说明。即,在所有车载控制装置均启动之后,必须将应该更新的车载控制装置设为重编程模式。因此,首先进行将应该更新的RECECUID[n](n=1)的车载控制装置设为重编程模式的处理。首先,在1504中将1设定至变量n,在1505中对发送缓冲的CANID区设定RECECUID[n]专用CANID、对发送缓冲的CMD区设定表示重编程模式命令的“REPRO_MODE”、对发送缓冲的DATA区设定中继装置专用的ECUID,并将发送缓冲发送至CAN总线。接着,在1506中对变量REPROMAXTIME设定模式变更最大等待时间,在接下来的1507中,由于要等待来自车载控制装置编号RECECUID[n]的响应,因此等待到直至经过时间超过最大时间为止。已超过的情况为“否”,因此在1508中进行对来自车载控制装置RECECU[n]的接收数据进行检查的处理。此处,虽然也是在图15的处理的说明的中途,但使用图17的RECECUID[n]的重编程模式接收处理来说明接收到重编程模式的车载控制装置编号RECECUID[n]的车载控制装置的动作。首先,在1701中开启PowerKeep信号。由于在唤醒时已开启,因此无任何效果,但即便开启几次也无影响。接着,在1702中将接收缓冲的CANID区的数据设定至变量CANID、将接收缓冲的CMD区的数据设定至变量CMAND。接着,在1703中判定变量CMAND是否为“REPRO_MODE”,若为“否”,则结束,若为“是”,则在1704中将接收缓冲的DATA区的数据设定至变量DATA。接着,在1705中将车载控制装置设定为重编程模式,并且,为了将已设定为重编程模式这一情况通知中继装置,在1706中对发送缓冲的CANID区设定中继装置专用CANID、对发送缓冲的CMD区设定表示重编程模式设定完成的“REPRO_RESPONSE”、对发送缓冲的DATA区设定车载控制装置自身的ECUID。接着,在1707中将发送缓冲发送至CAN总线,由此将重编程模式设定完成通知给中继装置。以上,图17的车载控制装置的说明结束,再次返回至中继装置的图15的1508。在1508中,将接收缓冲的CANID区的数据设定至变量CANID、将接收缓冲的CMD区的数据设定至变量CMD、将接收缓冲的DATA区的数据设定至变量DATA。接着,在1509中检验变量CMD是否为“REPRO_RESPONSE”。此处若为“是”,则在1800中对RECECUID[n]的车载控制装置执行更新程序发送处理。若为“否”,则RECECUID[n]的车载控制装置异常,因此在1510中对车载控制装置的写入完成位序列RESULTECU[n]设定“NG”。接着,在1511中检验变量n是否与RECN一致,若为“否”,则在1512中对n进行增量并重复1505的执行。

即,1511中,检验是否已将接收到的所有更新程序和更新数据发送到了符合的车载控制装置。若为“是”,则执行2100的写入完成处理而结束。

接着,使用图18,对1800的针对RECECUID[n]的更新程序发送处理的详情进行说明。此外,2100的写入完成处理将在其后进行说明。

图18中,中继装置进行如下处理:以4字节单位向RECECUID[n]的车载控制装置发送更新程序和更新数据,在发送完成后,从车载控制装置接收写入完成结果并存储该结果。

首先,在1801中对变量CMMAND设定命令“WRITE”,在接下来的1802中对变量ECUID设定RECECUID[n]、对变量SNDPADR设定ERCECUPADR[n]、对变量PSIZE设定RECECUPSIZE[n]、对变量PROGDATAADR设定RECECUPROGDATA[n]的起始地址、从PROGDATAADR对变量SNDPDATA设定4字节数据、对变量SNDSIZE设定0。接着,在1803中对变量CANID设定发送目标的车载控制装置ECUID专用CANID,在1804中对发送缓冲的CANID区设定变量CANID、对发送缓冲的CMD区设定变量CMMAND、对发送缓冲的PADR区设定变量SNDPADR、对发送缓冲的DATA区设定变量SNDPDATA。在接下来的1805中将发送缓冲的内容发送至CAN总线。通过以上处理,能够将更新程序和更新数据的最初的写入地址以及更新程序和更新数据的最初的4字节数据发送至车载控制装置。接着,在1806中,进行用以发送更新程序和更新数据的下一4字节数据的准备。即,对变量PROGDATAADR进行4增量、从变量PROGDATAADR所示的地址对变量SNDPDATA设定4字节数据、对变量SNDPADR进行4增量、对变量SNDSIZE也进行4增量。由此,可分别设定更新程序和更新数据的下一4字节数据以及写入地址。在接下来的1807中,检验变量SNDSIZE与变量PSIZE是否一致,以检验是否已将更新程序和更新数据全部发送至该车载控制装置。若为“否”,则返回至1804而重复进行发送处理。若为“是”,则执行1808,对变量CMMAND设定表示发送完成的“END”、对发送缓冲的CANID区设定ECUID专用的CANID、对发送缓冲的CMD区设定变量CMMAND、将发送缓冲的内容发送至CAN总线。通过以上操作,将更新程序和更新数据全部发送到了RECECUID[n]的车载控制装置,因此执行2000的RECECUID[n]的写入完成处理而结束。由于图18的处理是从图15的1800开始执行的,因此,根据图15的1511可知,发送了所有更新程序和更新数据。

以上,对从中继装置向车载控制装置发送更新程序和更新数据的处理进行了说明,接着,使用图19,对接收更新程序和更新数据的车载控制装置的写入处理进行说明。此外,在其后对2000的RECECUID[n]的写入完成处理和2100的写入完成处理进行说明。

图19的车载控制装置RECECUID[n]的写入处理是通过接收中断来启动的。

本程序进行对图8A的车载控制装置的控制程序、数据存储区8A03区域写入更新程序和更新数据的处理,但由于本区域为闪存,因此原本首先须将已写入在本区域内的程序和数据消去,之后才能写入。但在本实施例中消去处理与发明的本质无关,为了简化便将其省略而进行说明。在1901中将接收缓冲的CANID区的数据设定至变量CANID、将接收缓冲的CMD区的数据设定至变量CMAND。接着,在1902中进行变量CANID与自身车载控制装置的CANID的一致检验,若为“否”,则判断为是针对其他车载控制装置的发送数据而结束。若为“是”,则在1903中检验变量CMAND是否为“WRITE”,若为“是”,则判定为写入命令,在1904中对变量SNDPADR设定接收缓冲的PADR区的数据SNDPADR、对变量SNDPDATA设定接收缓冲的DATA区的数据SNDPDATA。接下来的1905~1907为改写图8A的8A03的控制程序、数据的处理。首先,在1905中对写入地址设定寄存器MADR设定变量SNDPADR,在1906中对写入数据设定寄存器MDATA设定变量SNDPDATA,在1907中对命令寄存器MCOM设定写入命令WRITE。由于写入的执行是在对MCOM寄存器设定了WRITE命令的时间点开始的,因此保持更新程序和更新数据的4字节的变量SNDPDATA就被写入到了8A03的区域的地址SNDPADR。接着,在1908中判定在状态寄存器ROMStatus中是否检测到了错误ERROR,以检验写入是否成功。若为“是”,则表示4字节的写入已失败,因此在1909中对变量ERRStatus设定“NG”而结束。若为“否”,则4字节的写入已成功,因此结束。以上所述的处理为4字节的写入处理,而本处理是根据图18的1805中所发送的数据来进行的处理。在图18中,在1807中重复进行发送全部更新程序和更新数据的处理,因此本处理也一样,每当进行接收时都会重复。另一方面,在1903中为“否”的情况下,处理如下:在写入完所有更新程序和更新数据之后,检验是否为发送自中继装置的命令“END”,并将该控制装置的写入完成通知给中继装置。首先,在1910中检验变量CMAND是否为“END”,若为“否”,则结束。若为“是”,则在1911中对变量CANID设定中继装置专用CANID,在1912中对变量CMMAND设定表示“END”的响应的“RESPONSE”,在1913中对变量SNDPDATA设定变量ERRStatus,在1914中对发送缓冲的CANID区设定变量CANID、对发送缓冲的CMD区设定变量CMMAND、对发送缓冲的DATA区设定变量SNDPDATA,在接下来的1915中将发送缓冲的内容发送至CAN总线。通过以上操作,4字节的写入处理结束并且将其结果通知了中继装置,因此在接下来的1916中将车载控制装置的动作模式从重编程模式变更为通常动作模式,在1917中关闭PowerKeep信号而结束。

接着,对图18的2000的RECECUID[n]的写入完成处理进行详细说明。

图20为RECECUID[n]的写入完成处理流程。在2010中检验“是否有来自CAN总线的接收?”。这是从车载控制装置RECECUID[n]检验“RESPONSE”响应的接收的处理。若为“是”,则在2020中对变量RESCANID设定接收缓冲的CANID区的数据CANID、对变量RESCMD设定接收缓冲的CMD区的数据CMMAND、对变量RESULT设定接收缓冲的DATA区的数据SNDPDATA。接着,在2030中检验变量CANID是否与中继装置专用CANID一致,若为“否”,则不是中继装置的接收数据,因此结束。若为“是”,则在接下来的2040中检验变量RESCMD是否与命令“RESPONSE”一致,若为“否”,则结束。若为“是”,则由于在变量RESULT中已存储有写入完成结果,因此在接下来的2050中对RECECUID的写入完成位序列RESULTECU[n]存储变量RESULT而结束。通过以上操作,RECECUID[n]的更新程序和更新数据写入完成结果存储到了RESULTECU[n]中。

回顾处理整体构成可知,写入开始是从图14的处理开始的,当写入开始条件成立时,执行图15的处理,此处,反复进行调用将所有更新程序和更新数据写入至该车载控制装置的处理的处理。在该反复中,存在图18的对RECECUID[n]的更新程序发送处理,进而,在图18的处理中执行了图20的RECECUID[n]的写入完成处理。因而,对与更新程序和更新数据相对应的所有车载控制装置执行了图20的RECECUID[n]的写入完成处理。

接着,使用图21,对在图15中在已将所有更新程序和更新数据写入至对应的车载控制装置之后执行的2100的写入完成处理进行说明。

在2101中对变量n设定1,在2102中检验RECECUID[n]的车载控制装置的写入完成位RESULTECU[n]是否为“OK”。若为“否”,则表示发生了写入异常,因此在2112中将图7中所记载的写入完成位设定为OFF值,在2113中熄灭写入完成指示器,在2114中对外部中心发送表示写入失败的写入未完成通知,最后在2115中关闭中继装置的PowerKeep信号而结束。另一方面,若在2102中为“是”,则检验变量n是否与RECN一致,若为“否”,则对变量n进行增量并反复执行2102。若为“是”,则表示所有写入处理的结果均为“OK”,因此在2105中将写入完成位设定为ON值,在2106中点亮写入完成指示器,在2107中对外部中心发送表示写入完成已正常结束的写入完成通知,在2108中,由于所有处理已结束,因此将存储器积存完成位设定为OFF值,在2109中熄灭存储器积存完成指示器,在2110中关闭中继装置的PowerKeep信号而结束。

接着,对通过车辆上所搭载的写入开始指令按钮来实现写入开始的情形的实施例进行详细说明。本情形涉及权利要求7~10。

本实施例对图10的基于写入按钮的写入处理概要的详细处理动作进行说明。但由于图11的中继装置的存储器积存完成处理已进行了详细说明,因此对图10的1010之后的处理进行说明。

图22为基于写入开始指令按钮的写入开始指令处理的详细流程。本处理程序2200是每500ms启动一次的程序。当本程序启动时,在2201中检验写入开始指令按钮是否启动,若为“否”,则结束。若为“是”,则在2202中检验存储器积存完成位是否为ON值,若为“否”,则结束。若为“是”,则由于权利要求7-10的实施例各不相同,因此在以下对动作进行说明。

在权利要求7的实施例中,省略2203、2204、2205、2206而执行2300。即,执行基于按钮的写入开始处理而结束。

在权利要求8的实施例中,在2203中检验点火开关是否为ON,若为“否”,则结束,若为“是”,则在2204中检验调档齿轮位置是否为驻车位,若为“否”,则结束。若为“是”,则省略2205和2206,执行2300的基于按钮的写入开始处理而结束。

在权利要求9的实施例中,省略2203、2204而执行2205、2206。在2205中利用车载时钟来获得当前时刻并设定至变量T,在2206中,检验变量T是否在第2时段的开始时刻RECST2与结束时刻RECET2的范围内,若为“否”,则结束。若为“是”,则执行2300的基于按钮的写入开始处理而结束。

在权利要求10的实施例中,在2203中检验点火开关是否为ON,若为“否”,则结束,若为“是”,则在2204中检验调档齿轮位置是否为驻车位,若为“否”,则结束。若为“是”,则在2205中利用车载时钟对变量T设定当前时刻,在2206中检验变量T是否在第2时段的开始时刻RECST2与结束时刻RECET2的范围内,若为“否”,则结束。若为“是”,则执行2300的基于按钮的写入开始处理而结束。

以上对权利要求7-10的实施例的动作进行了说明。

接着,对图23的基于按钮的写入开始处理进行详细说明。

在2301中对变量n设定1,在2302中对发送缓冲的CANID区设定RECECUID[n]专用的CANID、对发送缓冲的CMD区设定重编程模式命令“REPRO_MODE”、对发送缓冲的DATA区设定中继装置的ECUID、将发送缓冲的内容发送至CAN总线。以上处理中,由于点火开关为ON,因此车载控制装置的电源是开启的,所以中继装置不发送唤醒模式而是发送重编程模式转变要求命令“REPRO_MODE”。接着,在2303中对变量REPROMAXTIME设定模式变更最大等待时间,在2304中进行等待直至经过REPROMAXTIME时间为止的处理。在已经过的情况下为“否”,在2305中对变量CANID设定接收缓冲的CANID区的数据CANID、对变量CMD设定接收缓冲的CMD区的数据CMD、对变量DATA设定接收缓冲的DATA区的数据DATA。接着,在2306中检验变量CMD是否与“REPRO_RESPONSE”一致,若为“否”,则判定为异常,在2307中对RESULTECU[n]设定“NG”。若为“是”,则执行1800的“针对RECECUID[n]的更新程序发送处理”,在2308中检验变量n是否与RECN一致。若为“否”,则由于未发送所有更新程序和更新数据,因此在2309中对变量n进行增量并重复执行2302。若在2308中为“是”,则执行2100的写入完成处理而结束。以上所述的处理2301~2310与图15的1504~1513完全相同。因而,1800的“针对RECECUID[n]的更新程序发送处理”和2100的写入完成处理无须再次说明,因此加以省略。

以上,对权利要求1-10的实施例及其动作进行了详细说明。

正如以上说明的那样,根据本发明,车辆上所搭载的中继装置能够在点火开关为ON状态时与涉及行驶的车载控制装置的控制动作无关地接收从外部的中心发送的更新程序数据,因此能以不会使驾驶员感到不便的方式积存更新程序数据。

另外,关于更新程序和数据的写入处理,在驾驶员未乘坐在车辆中的情形下,即便在车辆停在自家或其他停车场的情况下,或者即便在深夜、点火开关为OFF的状态下,也能在约定的时段内进行车载控制装置的控制程序和数据的更新。

此外,在驾驶员乘坐在车辆中的情形下,能够在驾驶员方便的时候通过按压写入开始指令按钮来执行写入,或者限定在与所有者约定的时段内执行写入。

如上所述,能够高速且不会使驾驶员感到不便地向车载控制装置写入更新程序和更新数据。

符号说明

100 外部中心

101 无线中继基地

120 中继装置

121 无线收发机

122、131、141、151 微电脑

130、140、150 车载控制装置

160 车载网络

170 点火开关。

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