CN107531198A - 程序改写装置和程序改写方法 - Google Patents

程序改写装置和程序改写方法 Download PDF

Info

Publication number
CN107531198A
CN107531198A CN201680020073.4A CN201680020073A CN107531198A CN 107531198 A CN107531198 A CN 107531198A CN 201680020073 A CN201680020073 A CN 201680020073A CN 107531198 A CN107531198 A CN 107531198A
Authority
CN
China
Prior art keywords
ecu
rewriting
program
62tar
rewritten
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680020073.4A
Other languages
English (en)
Other versions
CN107531198B (zh
Inventor
成濑邦治
吉野伸也
藤塚俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2015068949A external-priority patent/JP6147792B2/ja
Priority claimed from JP2015068885A external-priority patent/JP6147791B2/ja
Priority claimed from JP2015068855A external-priority patent/JP6147790B2/ja
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Publication of CN107531198A publication Critical patent/CN107531198A/zh
Application granted granted Critical
Publication of CN107531198B publication Critical patent/CN107531198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Abstract

提供程序改写装置和程序改写方法,能够简单地进行程序改写。程序改写装置(12)的改写控制部(24)对从网络(60)中包含的能够改写的全部ECU(62)读出的当前版本信息与对应于该当前版本信息的最新版本信息进行比较,提取两者不一致的改写候选ECU(62can),作为对象ECU(62tar)。改写控制部(24)按照顺序数据库(52)所存储的优先顺序,对提取出的对象ECU(62tar)连续执行程序改写动作。

Description

程序改写装置和程序改写方法
技术领域
本发明涉及从车辆的外部与所述车辆内的电子控制装置(以下称作“ECU”。)的网络连接、选择需要程序改写的ECU来进行程序改写的程序改写装置和程序改写方法。
背景技术
近年来的车辆中搭载有许多ECU,但有时与控制规格的部分改良等相对应地进行程序的版本升级。在该情况下,有时需要对相关的多个ECU进行程序改写。
但是,搭载于车辆的多个ECU较多具有通过通信来相互监视异常的功能。因此,在进行程序改写时,在改写1个ECU的程序的情况下,需要结合来自外部的程序改写装置的写入请求,停止故障诊断,使得不将在改写对象ECU与其他ECU之间产生的通信异常判断为故障。并且,在改写后,为了解除该停止,需要进行使车辆的点火开关在断开后重新接通的重新起动操作。
因此,在维护车辆的销售店等中的改写作业中,进行了如下的花费大量功夫的作业:针对与1次改写对应的多个改写对象ECU逐个依次进行改写,在每次进行各ECU的改写时都进行针对点火开关的断开操作和重新接通操作。
对此,如日本特开2012-091755号公报(以下称作“JP2012-091755A”。)那样还研究了:在针对通过CD-ROM等介质或者移动通信网等获得作为改写对象的多个ECU的改写数据、彼此进行协调控制的多个ECU进行了各自的改写以后,集中对该多个ECU进行重新起动。
发明内容
在JP2012-091755A的方法中,能够容易进行改写作业本身。但是,需要考虑作为改写对象的多个ECU的识别信息、程序的互换性信息、协调控制的对象ECU的组合等数据来预先制作改写顺序的指定。因此,每当进行1次改写时,数据的生成花费非常多的时间。
此外,由于程序等数据的量较大,所以需要一并设置用于对照数据是否存在错误或者是否正常的设置信息等。并且,在作为改写对象的ECU中的一部分ECU中存在改写失败的情况下,在进行再次的改写时,需要考虑与正常的改写结束部分兼顾的改写顺序。因此,修复有时需要花费大量功夫。
本发明是考虑到上述那样的问题而完成的,其目的是提供一种能够简单地进行程序改写的程序改写装置和程序改写方法。
本发明的程序改写装置具有:网络连接部,其从车辆的外部与所述车辆内的电子控制装置(以下称作“ECU”。)的网络连接;以及改写控制部,其选择需要程序改写的ECU(以下称作“对象ECU”。)来进行程序改写,所述程序改写装置的特征在于,具有:
顺序数据库,其与搭载于所述车辆的能够改写的全部所述ECU的识别符号相对应地预先存储有改写的优先顺序;
改写候选信息数据库,每当进行需要程序改写的所述车辆的变更对象动作时,该改写候选信息数据库存储作为所述对象ECU的候选的改写候选ECU的识别符号与所述改写候选ECU的搭载程序的最新版本信息的组合,作为改写候选信息;以及
改写程序数据库,其存储改写程序,
所述改写控制部从所述网络中包含的能够改写的全部所述ECU中成对读出所述ECU的识别符号和搭载程序的当前版本信息,
所述改写控制部对所读出的所述当前版本信息与对应于该当前版本信息的所述最新版本信息进行比较,提取与同所述最新版本信息不一致的所述当前版本信息成对的所述改写候选ECU,作为所述对象ECU,
所述改写控制部按照所述顺序数据库所存储的所述优先顺序,对提取出的所述对象ECU连续执行程序改写动作。
根据本发明,在车辆的各变更对象动作中,按照与需要改写的ECU(对象ECU)的组合对应的优先顺序进行程序改写。因此,能够按照最适合该车辆的顺序进行程序改写。
此外,根据本发明,依照每个变更对象动作的优先顺序,对当前版本信息与最新版本信息不一致的改写候选ECU即对象ECU连续执行向最新版本的程序的改写。因此,由于仅对需要改写的改写候选ECU进行改写,所以能够高效进行改写作业。
通过以上可知,在销售店等维护服务提供商进行对上市的车辆的程序改写的情况下,也不会弄错维护服务提供商(作业者)对于对象ECU的选定。除此以外,还能够减少确定改写顺序的作业负担,能够较容易地实施适当的改写作业。
此外,即使在程序改写中存在改写失败了的对象ECU,也能够通过再次进行改写作业,除已经改写成功的对象ECU以外,对改写未结束的对象ECU进行改写。
也可以是,所述改写控制部将与同所述最新版本信息不一致的所述当前版本信息成对的所述改写候选ECU作为所述对象ECU而登记在列表中,按照所述顺序数据库所存储的所述优先顺序,对登记在所述列表中的所述对象ECU执行程序改写动作。由此,能够通过简单的方法,确定需要程序改写的对象ECU的组合(或者与对象ECU对应的程序的组合)。
也可以是,所述顺序数据库所存储的所述优先顺序被设定为,所述能够改写的全部所述ECU中的、设定了其他ECU的数据使用的ECU比使用对象ECU靠前。也可以是,在所述网络中具有网关功能的网关ECU比通信要被中继的其他所述对象ECU靠后地被执行程序改写动作。由此,在连续改写多个ECU时,能够不受到由于协作的其他ECU的改写引起的使用数据的变更等的影响,连续进行对网关ECU和其他对象ECU的程序改写。
也可以是,所述改写程序数据库针对具有相同识别符号的所述改写程序,存储最新版本的所述改写程序,在存在多个所述变更对象动作的情况下,所述改写控制部使用与更加新的变更对象动作对应的所述改写候选信息。在准备(或者存储)多个车辆的变更对象动作的情况下,最近存储的改写候选信息包含较新版本的改写程序。因此,如果根据最近存储的改写候选信息进行改写,则改写对象的ECU的程序被改写为最新版本,在进行基于在此之前的改写候选信息的改写时,针对包含相同的ECU的情况,不需要该ECU的搭载程序的改写。由此,能够缩短存在多个改写候选信息的情况下的作业者的作业时间。
也可以是,所述改写控制部向全部所述ECU分别发送停止/禁止请求信号,该停止/禁止请求信号请求相互通信的停止和故障代码的保存禁止,在发送了所述停止/禁止请求信号的状态下,对所述对象ECU依次进行程序改写动作,所述改写控制部构成为,在结束全部所述对象ECU中的程序改写动作以后,向所述对象ECU分别发送动作确认信号,在根据没有针对所述动作确认信号的响应的情况来检测出全部所述对象ECU的停止时,所述改写控制部结束所述停止/禁止请求信号的发送,然后,所述改写控制部向所述对象ECU发送请求搭载程序的版本信息的版本信息请求信号,确认从所述对象ECU接收到的所述版本信息是否为最新版本。
根据本发明,在进行程序改写之前,进行全部ECU中的相互通信的停止和故障代码的保存禁止。此外,在全部对象ECU中的连续的程序改写结束时,在确认了全部对象ECU的停止后,解除相互通信的停止和故障代码的保存禁止。然后,向对象ECU发送请求搭载程序的版本信息的版本信息请求信号,根据从对象ECU接收到的版本信息,确认程序改写的完成。
因此,在进行全部对象ECU的连续的程序改写以后,集中进行用于使对象ECU重新起动的操作(重新起动操作),由此能够大幅减少作业者的作业负担。因此,在销售店等维护服务提供商进行针对上市的车辆的程序改写的情况下,能够容易实施适当的改写作业。
也可以是,在结束全部所述对象ECU中的所述程序改写动作以后,所述改写控制部向所述对象ECU逐个依次发送所述动作确认信号,根据没有针对所述动作确认信号的响应的情况来检测全部所述对象ECU的停止。由此,与向能够改写的全部ECU(对象ECU)一次集中发送动作确认信号的情况相比,仅检测改写后的ECU的停止,所以容易进行判断,并且能够缩短确认所需的时间。此外,针对进行了改写作业的对象ECU,根据没有针对动作确认信号的响应的情况来检测停止,进行之后的处理,所以能够使各对象ECU可靠地重新起动。
也可以是,在针对全部所述对象ECU的所述程序改写动作结束以后,所述改写控制部使显示部显示请求所述车辆内的所述ECU用的电源的断开操作的断开操作请求,在检测出全部所述对象ECU的停止而结束所述停止/禁止请求信号的发送以后,使所述显示部显示请求所述ECU用的电源的重新接通操作的重新接通操作请求。由此,为了进行重新接通操作请求,其条件是全部对象ECU中的电源断开的确认。因此,即使对象ECU的数量较多的情况或存在到电源断开为止的时间较长的对象ECU的情况下,也能够在可靠地使全部对象ECU断开电源以后指示重新起动的操作。
也可以是,所述改写控制部在执行程序改写时,针对能够改写的全部所述ECU确认没有与所述网络相关的通信故障履历的情况,在确认出所述ECU都没有所述通信故障履历的情况下,所述改写控制部对照从能够改写的全部所述ECU读出的所述ECU的识别符号与所述改写候选信息中包含的所述改写候选ECU的识别符号,来确定所述对象ECU,按照所述顺序数据库所存储的顺序,对所确定的所述对象ECU执行程序改写。
根据本发明,在进行针对对象ECU的程序改写以前,确认没有与各个对象ECU相关的通信故障履历的情况。由此,能够在开始程序改写之前,确认程序改写装置无法与对象ECU进行通信的情况的理由是连接了程序改写装置的车辆是未搭载有对象ECU的车种,还是虽然搭载有对象ECU但产生了通信故障。因此,能够抑制将通信故障错误理解为未搭载有对象ECU。因此,能够减少程序改写中的功夫。
所述改写控制部可以对所述网关ECU询问所述通信故障履历,然后,对除所述网关ECU以外的所述ECU询问所述通信故障履历,由此确认没有所述通信故障履历的情况。由此,在无法与对象ECU进行通信的情况下,通过确认是网关ECU存在问题还是对象ECU自身或者其他ECU存在问题,能够简化原因部位的确定。
本发明的程序改写方法为程序改写装置中的程序改写方法,该程序改写装置具有:网络连接部,其从车辆的外部与所述车辆内的电子控制装置(以下称作“ECU”。)的网络连接;以及改写控制部,其选择需要程序改写的ECU(以下称作“对象ECU”。)来进行程序改写,所述程序改写方法的特征在于,
所述程序改写装置具有:
顺序数据库,其与搭载于所述车辆的能够改写的全部所述ECU的识别符号相对应地预先存储有改写的优先顺序;
改写候选信息数据库,每当进行需要程序改写的所述车辆的变更对象动作时,该改写候选信息数据库存储作为所述对象ECU的候选的改写候选ECU的识别符号与所述改写候选ECU的搭载程序的最新版本信息的组合,作为改写候选信息;以及
改写程序数据库,其存储改写程序,
所述改写控制部从所述网络中包含的能够改写的全部所述ECU中成对读出所述ECU的识别符号和搭载程序的当前版本信息,
所述改写控制部对所读出的所述当前版本信息与对应于该当前版本信息的所述最新版本信息进行比较,提取与同所述最新版本信息不一致的所述当前版本信息成对的所述改写候选ECU,作为所述对象ECU,
所述改写控制部按照所述顺序数据库所存储的所述优先顺序,对提取出的所述对象ECU连续执行程序改写动作。
附图说明
图1是简单示出包含本发明的一个实施方式的程序改写装置的程序改写系统的概略结构图。
图2是示意性记载了所述实施方式中的存储部的结构的图。
图3是在所述实施方式中进行程序改写的流程图。
图4是所述实施方式中的改写候选ECU组合选择处理的流程图(图3的S4的详细情况)。
图5是所述实施方式中的程序连续改写处理的流程图(图3的S8的详细情况)。
图6是用于说明所述实施方式中的所述程序连续改写处理和改写完成确认处理中的所述程序改写装置和各电子控制装置的通信状态和动作状态的图。
图7是所述实施方式中的改写完成确认处理的流程图(图3的S9的详细情况)。
图8是示出在比较例中依次确认各对象电子控制装置的电源断开的情形的一例的图。
图9是示出在所述实施方式中依次确认各对象电子控制装置的电源断开的情形的一例的图。
具体实施方式
A.一个实施方式
[A1.程序改写系统10的结构]
(A1-1.整体结构)
图1是简单示出包含本发明的一个实施方式的程序改写装置12(以下也称作“改写装置12”。)的程序改写系统10(以下也称作“改写系统10”或者“系统10”。)的概略结构图。系统10除改写装置12以外,还包含车辆14。在图1中,分别逐个示出了改写装置12和车辆14,但还能够分别设置多个。
(A1-2.程序改写装置12)
(A1-2-1.程序改写装置12的整体结构)
改写装置12对车辆14的第1~第10电子控制装置62a~62j(以下称作“第1~第10ECU 62a~62j”或者“ECU 62a~62j”。)中的作为程序改写对象的ECU所存储的程序进行改写(或者更新)。下面,将ECU 62a~62j统称为ECU 62。也将作为程序改写对象的ECU 62称作“对象ECU 62tar”。也将ECU 62所存储的程序称作“搭载程序Pi”或者“程序Pi”。
如图1所示,改写装置12具有信号输入输出部20、操作输入部22、运算部24、存储部26和显示部28。
信号输入输出部20(网络连接部)在与车辆14之间进行信号的输入、输出。信号输入输出部20具有数据电缆30和数据链路连接器32(以下也称作“DLC 32”。),从车辆14的外部与车辆14内的通信网络60连接。
操作输入部22受理来自改写装置12的用户(或者作业者)的操作输入。在本实施方式中,操作输入部22作为选择车辆14的变更对象动作Otar的变更对象动作选择部发挥功能。这里所说的变更对象动作Otar例如是指为了提高车辆14的性能(燃料效率、转弯性能等)或者为了消除车辆14中的不良情况而对车辆14实施的动作。
运算部24(改写控制部)控制改写装置12的各部件,并且控制针对车辆14的对象ECU 62tar的程序改写。运算部24例如包含中央运算装置(CPU)。后面参照图2~图9来叙述运算部24的动作的详细情况。
存储部26具有未图示的易失性存储器和非易失性存储器,存储由运算部24执行的各种程序和各种数据以及改写用的程序(以下也称作“改写程序Pr”或者“程序Pr”。)。下面,将搭载程序Pi和改写程序Pr也统一称作程序P。
显示部28显示与程序改写等相关的显示画面。可以通过将显示部28作为触摸面板,合并操作输入部22和显示部28。
(A1-2-2.存储部26)
图2是示意性记载了本实施方式中的存储部26的结构的图。在图2中仅示出1个ECU62,省略了其他ECU 62的图示。如图1和图2所示,存储部26具有程序ID履历数据库50(以下也称作“程序ID履历DB 50”。)、改写顺序数据库52(以下也称作“顺序DB 52”。)、改写组合信息数据库54(以下也称作“组合DB 54”。)、改写程序数据库56(以下也称作“程序DB 56”。)以及程序改写用列表58(以下也称作“改写用列表58”或者“列表58”。)。
程序ID履历DB 50将程序P的识别信息(以下称作“程序ID”。)的变更履历与ECU 62的识别信息(以下称作“ECU ID”。)和日期一起进行存储(参照图2)。在本实施方式中,程序ID包含程序名称和版本信息Iver。例如,程序ID记述为“XXXX.001”。其中的“XXXX”对应于程序名称,“001”为版本信息Iver。此外,ECU ID也指各ECU 62控制的下位系统的识别信息(系统ID)。
顺序DB 52与搭载于车辆14的可改写的全部ECU 62的识别信息(ECU ID)相对应地预先存储表示改写的优先顺序Op的优先顺序信息Ipo(以下也称作“顺序信息Ipo”。)(参照图2)。本实施方式的顺序信息Ipo包含搭载于多个车种的车辆14的ECU 62的优先顺序Op。本实施方式的优先顺序Op利用ECU ID的排列顺序表示。因此,顺序信息Ipo例如一并示出了搭载于第1车种的车辆14的ECU 62(在图2中,ECU ID例如为XX、YY、ZZ)的优先顺序Op、以及搭载于第2车种的车辆14的ECU 62(在图2中ECU ID例如为AA、BB、CC、DD)的优先顺序Op。或者,顺序信息Ipo可以仅表示搭载于单一车种的车辆14的ECU 62的优先顺序Op。
在图2的例子中,排列顺序也表示优先顺序Op(以下也称作“改写优先顺序Op”或者“改写顺序Op”。),但例如“1:ZZ、2:YY、3:XX”那样,还能够将改写顺序Op包含在顺序信息Ipo中。
此外,改写顺序Op为进行对象ECU 62tar的程序改写的顺序。后面与图5的步骤S41相关联地叙述改写顺序Op的进一步的详细情况。
组合DB 54(改写候选数据库)按照车辆14的每个变更对象动作Otar,存储改写候选的ECU 62(以下称作“改写候选ECU 62can”或者“候选ECU 62can”。)的组合。更具体而言,组合DB 54组合存储组合编号Nset、变更对象动作Otar、日期、候选ECU 62can的识别符号(以下也称作“改写候选ECU ID”或者“候选ECU ID”。)、以及与候选ECU 62can对应的程序ID(以下也称作“改写候选程序ID”或者“候选程序ID”。)(参照图2)。候选程序ID包含程序名称和版本信息Iver。下面,将组合DB 54所存储的信息也称作改写候选信息Ican。
改写程序DB 56存储改写程序Pr。本实施方式的程序DB 56存储具有相同程序名称的改写程序Pr的最新版本。图2中示出了程序P1、P2,作为改写程序Pr。改写用列表58是为了进行程序改写而暂时生成的列表(存储区域)。后面参照图4、图5和图7的流程图等来叙述列表58的使用方法。
(A1-3.车辆14)
如图1所示,车辆14具有通信网络60(以下也称作“车内网络60”或者“网络60”。)。网络60具有用通信线64连接的多个ECU 62a~62j。此外,网络60经由数据链路连接器66(以下也称作“DLC 66”。)与程序改写装置12连接。
各ECU 62a~62j控制车辆14的各部件。多个ECU 62a~62j中的第1ECU 62a具有网关功能。即,第1ECU 62a为用于将网络60与协议不同的程序改写装置12的网络相连接的网络节点。下面,将第1ECU 62a也称作网关ECU 62a。另外,虽然图1中仅示出1个网关ECU 62a,但还能够设置多个网关ECU 62a。此外,1个或者多个网关ECU 62a不限于配置在如图1所示的位置,也可以配置在网络60内的任意位置。
第2~第10ECU 62b~62j中例如包含发动机电子控制装置(以下称作“ENGECU”。)、防抱死制动系统电子控制装置(以下称作“ABS ECU”。)、辅助约束系统电子控制装置(以下称作“SRS ECU”。)、以及防盗器电子控制装置。ENG ECU控制未图示的发动机的输出。ENG ECU与检测发动机转速Ne[rpm]的发动机转速传感器(未图示)和检测车辆14的车速V[km/h]的车速传感器(未图示)连接。ABS ECU进行未图示的制动系统的控制。SRS ECU进行未图示的安全气囊的控制。防盗器ECU进行未图示的防盗器装置的控制。
各ECU 62a~62j经由通信线64相互进行数据通信。更具体而言,在各ECU 62a~62j当中,根据来自特定的ECU 62(例如,ENG ECU)的通信数据(例如,发动机转速Ne或车速V的数据),其他ECU 62(例如,ABS ECU、SRS ECU和防盗器ECU)进行车辆14的协调控制。并且,各ECU 62a~62j相互进行故障诊断(通信数据的异常检测)。
第2~第4ECU 62b、62c、62d形成第1下位网络68a。第5~第7ECU 62e、62f、62g形成第2下位网络68b。第8~第10ECU 62h、62i、62j形成第3下位网络68c。第1~第3下位网络68a~68c例如构成CAN(Controller Area Network:控制器局域网)。这里的CAN例如能够设为高速CAN。另外,在图1的例子中示出了10个ECU 62a~62j的例子,但ECU 62的数量不限于此,例如可以为3~200中的任意一个值。
如图1所示,第1ECU 62a具有信号输入输出部70、运算部72和存储部74。虽然在图1中未示出,但第2~第10ECU 62b~62j也具有与第1ECU 62a相同的结构。但是,具体的规格在第1~第10ECU 62a~62j中不同。
各ECU 62a~62j利用作为起动开关的点火开关80(以下称作“IGSW 80”。)进行接通和断开。更具体而言,各ECU 62a~62j经由未图示的电力线和配置在该电力线上的IGSW80与电池82(蓄电装置)连接。
本实施方式的IGSW 80为旋转式,能够从朝向未图示的仪表板时的左侧起选择“断开”、“ACC”(附件)和“接通”的位置。此外,在从“接通”的位置起进一步朝右侧(顺时针)旋转时,IGSW 80成为“ST”(发动机起动)的位置,发动机起动。
在本实施方式中,在IGSW 80处于“ACC”和“接通”的位置时,进行电池82对各ECU62的电力供给。在IGSW 80处于“断开”的位置时,基本上停止电池82对各ECU 62的电力供给。
另外,在车辆14具有所谓的智能起动功能的情况下,IGSW 80可以是在所谓的智能起动功能中使用的按钮开关。
在关于自身动作产生了异常的情况下,第1~第10ECU 62a~62j将作为故障履历的故障代码(DTC)存储在自身的存储部74中。此外,也在关于与第2~第10ECU 62b~62j之间的通信产生了异常的情况下,网关ECU 62a将DTC存储在存储部26中。这里的故障履历中包含与通信相关的故障履历(以下称作“通信故障履历”。)、以及除此以外的故障履历(以下也称作“非通信故障履历”。)。将通信故障履历和非通信故障履历一并称作整体故障履历。
例如,在第8ECU 62h的跟前(图1的地点84)产生了断线的情况下,网关ECU 62a和第8ECU 62h双方将DTC存储在存储部74中。但是,在产生了断线的状态下,第8ECU 62h无法与网关ECU 62a进行通信。因此,改写装置12无法读出第8ECU 62h所存储的DTC。此外,在各ECU 62a~62j中的程序改写中断了的情况下,各ECU 62a~62j也将作为通信故障履历的DTC存储在自身的存储部74中。
[A2.程序改写]
接着,在本实施方式中,对对象ECU 62tar所存储的搭载程序Pi的改写进行说明。
(A2-1.事先准备)
在对特定的变更对象动作Otar进行程序改写以前,改写装置12的用户(或者作业者)将与该变更对象动作Otar对应的数据存储在改写装置12的存储部26中。更具体而言,用户将与该特定的变更对象动作Otar对应的多个改写程序Pr存储在程序DB 56(改写程序数据库)中。
此外,用户与变更对象动作Otar相对应地将改写程序Pr各自的程序ID(包含版本信息Iver。)等存储在程序ID履历DB 50中(参照图2)。并且,用户将改写程序Pr的优先顺序信息Ipo存储在顺序DB 52中(参照图2)。并且此外,用户将改写程序Pr的组合编号Nset、候选ECU ID、候选程序ID等存储在组合DB 54中(参照图2)。例如,将改写装置12的DLC 32与未图示的个人计算机连接,将上述数据从该个人计算机复制到存储部26。
另外,复制到改写装置12的数据由程序改写系统10的管理者生成,保存在未图示的外部服务器中。该外部服务器所保存的数据被下载到所述个人计算机。在改写装置12具有与外部服务器之间的通信功能的情况下,改写装置12还能够从外部服务器直接取得数据。
(A2-2.实际的改写)
(A2-2-1.改写时的整体流程)
图3为在本实施方式中进行程序改写的流程图。图3和后述的图4、图5和图7的处理主要由改写装置12的运算部24(改写控制部)执行。在图3的步骤S1中,在用户将改写装置12的电源开关(未图示)接通时,改写装置12起动。在步骤S2中,改写装置12使显示部28显示选择菜单。作为该选择菜单,例如包含程序P的连续改写、程序P的单独改写等。连续改写为用于连续改写多个对象ECU 62tar的程序Pi的菜单,单独改写为用于改写单一的对象ECU62tar的程序Pi的菜单。
在选择了选择菜单中的程序P的连续改写时(S3:是),在步骤S4~S10中进行程序P的连续改写。在选择了除程序P的连续改写以外的菜单时(S3:否),执行该菜单(在图3中,省略了与该菜单对应的步骤的图示。)。
在步骤S4中,改写装置12执行选择改写候选ECU 62can的组合的处理(以下称作“改写候选ECU组合选择处理”或者“组合选择处理”。)。后面参照图4,叙述步骤S4的详细情况。在步骤S5中,改写装置12判定组合选择处理的结果是否存在可选择的改写候选ECU62can的组合。在存在可选择的组合的情况下(S5:是),进入步骤S6。
在步骤S6中,改写装置12使显示部28显示可选择的组合。另外,在仅存在1个可选择的组合的情况下,显示该1个组合。此外,即使是被判断为在改写候选ECU组合选择处理中可选择的组合,在该组合中包含进行了改写的禁止设定的ECU 62的情况下,改写装置12也可以使显示部28显示该主旨。
在存在多个可选择的组合的情况下,改写装置12可以仅显示组合DB 54所存储的日期较新的组合。由此,在各组合中包含与相同的ECU 62相关的不同版本信息Iver的情况下,能够首先改写更新版本的程序Pr。由此,能够省略更旧版本的程序Pr的改写。
在步骤S7中,改写装置12判定是否由用户利用操作输入部22选择了任意一个组合。在选择了任意一个组合的情况下(S7:是),进入步骤S8。在未选择任意一个组合而选择了连续改写的结束的情况下(S7:否),进入步骤S10。
在步骤S8中,改写装置12从所选择的组合中包含的多个改写候选ECU 62can中,针对实际进行程序改写的ECU 62(对象ECU 62tar)分别执行连续进行程序改写的处理(以下称作“程序连续改写处理”。)。后面参照图5,叙述步骤S8的详细情况。在步骤S9中,改写装置12执行确认程序改写的完成的处理(以下称作“改写完成确认处理”。)。之后参照图7,叙述步骤S9的详细情况。在步骤S9以后,返回到步骤S5。
在步骤S5中不存在可选择的改写候选ECU 62can的组合的情况下(S5:否),在步骤S10中,改写装置12删除为了进行程序改写而暂时生成的改写用列表58,结束程序P的连续改写。后面在图4的步骤S30等中对列表58进行叙述。
(A2-2-2.改写候选ECU组合选择处理(图3的S4的详细情况))
图4是本实施方式中的改写候选ECU组合选择处理的流程图(图3的S4的详细情况)。在图4的步骤S21中,改写装置12建立与车内网络60的链接。在建立链接时,改写装置12直到各ECU 62a~62j中的会话结束为止,等待规定时间。
在步骤S22中,改写装置12对网关ECU 62a请求DTC。针对该请求,如果存在自身的存储部74所存储的DTC,则网关ECU 62a将该DTC发送到改写装置12。如果不存在DTC,则网关ECU 62a进行未记录有DTC的回答。或者,在不存在DTC的情况下,网关ECU 62a还能够不进行响应。
在步骤S23中,改写装置12根据来自网关ECU 62a的响应,判定网关ECU 62a中是否没有通信故障。例如,在从网关ECU 62a接收到DTC的情况下,改写装置12判定该DTC是否为与通信故障履历相关的DTC。或者,在网关ECU 62a输出未记录有DTC的回答的情况下,改写装置12还能够根据是否从网关ECU 62a具有任何响应,判定网关ECU 62a是否具有通信故障。
在网关ECU 62a没有通信故障的情况下(S23:是),在步骤S24中,改写装置12对除网关ECU 62a以外的其他ECU 62(第2~第10ECU 62b~62j)请求DTC。如果具有自身的存储部74所存储的DTC,则第2~第10ECU 62b~62j将该请求发送到改写装置12。如果没有DTC,则第2~第10ECU 62b~62j进行未记录有DTC的回答。或者,在未记录有DTC的情况下,第2~第10ECU 62b~62j还能够不进行响应。
在步骤S25中,改写装置12根据来自其他ECU 62(第2~第10ECU 62b~62j)的响应,判定其他ECU 62(第2~第10ECU 62b~62j)是否没有通信故障。该判定能够与步骤S23同样进行。在其他ECU 62(第2~第10ECU 62b~62j)没有通信故障的情况下(S25:是),进入步骤S27。
在步骤S23中网关ECU 62a具有通信故障的情况(S23:否)或者在步骤S25中除网关ECU 62a以外的ECU 62(第2~第10ECU 62b~62j)中的任意一个具有通信故障的情况下(S25:否),在步骤S26中,改写装置12使显示部28显示通知该通信故障的错误消息。
在步骤S27中,改写装置12从包含在网络60中且可进行程序改写的全部ECU 62(第1~第10ECU 62a~62j)中,读出ECU ID(系统ID)和当前的程序ID(以下也称作“当前程序ID”。)。当前程序ID中包含程序名称和当前的版本信息Iver(以下也称作“当前版本信息Iver”。)。
在接下来的步骤S28~S30中,确定车辆14中所需的变更对象动作Otar。即,在步骤S28中,改写装置12从程序ID履历DB 50提取与在步骤S27中读出的当前程序ID分别对应的最新的程序ID(以下也称作“最新程序ID”。)。然后,改写装置12与ECU ID和当前程序ID相结合地保持提取出的最新程序ID。
另外,在本实施方式中,1个ECU 62仅具有1个程序Pi(参照图2)。因此,在进行最新程序ID的提取(S28)时,可以使用ECU ID来替代当前程序ID,确定最新程序ID。
在步骤S29中,改写装置12从组合DB 54中提取并保持与提取出的最新程序ID的组合的一部分或者全部完全一致的候选程序ID的组合和组合编号Nset(换言之,变更对象动作Otar)。由此,能够确定车辆14中所需的1个或者多个变更对象动作Otar的候选。
在步骤S30中,改写装置12确定在车辆14需要程序改写的变更对象动作Otar,登记在列表58中。
即,无论程序名称是否相同,改写装置12都按照每个组合(变更对象动作Otar),判定是否存在与最新程序ID不一致的当前程序ID。而且,改写装置12提取存在与最新程序ID不一致的当前程序ID的组合(变更对象动作Otar),作为需要程序改写的组合(变更对象动作Otar)。改写装置12将与提取出的该组合相关的信息(组合编号Nset、ECU ID、当前程序ID和最新程序ID)登记在列表58中。该列表58中登记的组合成为图3的步骤S5中的可选择的组合。
另一方面,不存在与最新程序ID不一致的当前程序ID的组合已经完成了程序改写,可判定为不需要程序改写。因此,改写装置12删除(或者结束保持)与不存在与最新程序ID不一致的当前程序ID的组合相关的信息。另外,在登记在列表58中的组合1个都没有的情况下,改写装置12使显示部28显示该意思。
(A2-2-3.程序连续改写处理(图3的S8的详细情况))
图5是本实施方式中的程序连续改写处理的流程图(图3的S8的详细情况)。图6是用于说明本实施方式中的程序连续改写处理和改写完成确认处理中的改写装置12和各ECU62的通信状态和动作状态的图。如上所述,程序连续改写处理(图3的S8)在用户选择了在图3的步骤S7中可选择的组合之一以后进行。在图6中,程序连续改写处理中的实际的连续程序改写(程序连续改写(图5的S48等))在时刻t2~t3之间执行,改写完成确认处理在时刻t3~t6之间执行。
在图5的步骤S41中,改写装置12使用顺序DB 52的优先顺序信息Ipo,确定与用户选择出的组合(或者组合编号Nset或变更对象动作Otar)对应的改写优先顺序Op。
作为设定顺序DB 52中的改写顺序Op的规则(或者基准),例如,使用如下规则。
(规则1)关于网关ECU 62a(上位ECU),使改写的顺序比除其以外的ECU 62b~62j(下位ECU)靠后。
(规则2)关于输出其他ECU 62的改写中使用的数据的ECU 62(数据提供ECU),使改写的顺序比该其他ECU 62靠后。
关于规则1,在首先改写了网关ECU 62a的程序P时,网关ECU 62a直到重新起动为止,停止通信协调功能。因此,使网关ECU 62a的改写靠后。
关于规则2,在首先改写了数据提供ECU的程序P时,数据提供ECU直到重新起动为止,停止其他ECU 62的改写所需的数据的提供。因此,使数据提供ECU的改写靠后。另外,作为与规则2关联的情况,例如,作为其他ECU 62的改写的开始条件,存在如下情况:设定了车速V为零[km/h],且车速V被从数据提供ECU提供到其他ECU 62。
在图5的步骤S42中,改写装置12使用在步骤S41中确定出的改写顺序Op,重新排列候选ECU ID、当前程序ID和最新程序ID的组合。重新排列以前的候选ECU ID、当前程序ID和最新程序ID的组合通过图4的步骤S27~S30,登记在了列表58中。
在步骤S43中,改写装置12对重新排列的候选ECU ID、当前程序ID和最新程序ID的组合分别分配整理编号Nref。整理编号Nref表示与各组合相关的改写顺序。
在步骤S44中,改写装置12将表示收到改写顺序的整理编号Nref的改写对象编号Ntar(以下也称作“对象编号Ntar”。)复位,使其为零。在步骤S45中,改写装置12对改写对象编号Ntar的当前值加上1,设为新的对象编号Ntar。另外,在对某个ECU 62结束了程序改写以后,在对另一ECU 62开始程序改写时,在步骤S44之前或者之后的步骤中,改写装置12等待规定时间,直到另一ECU 62中的会话结束为止。
在步骤S46中,改写装置12确定与具有与改写对象编号Ntar一致的整理编号Nref的候选ECU 62can对应的当前程序ID(以下也称作“对象程序ID”。)。在步骤S47中,改写装置12对程序名称相同的对象程序ID与最新程序ID进行比较,确认两者是否一致。在两者一致的情况下(S47:是),搭载程序Pi已经为最新版本。在该情况下,不对具有与改写对象编号Ntar一致的整理编号Nref的候选ECU 62can进行程序改写,而进入步骤S49。
另一方面,在两者不一致的情况下(S47:否),搭载程序Pi不是最新版本,所以需要进行搭载程序Pi的改写。在该情况下,候选ECU 62can设为对象ECU 62tar。而且,在步骤S48中,改写装置12对具有与改写对象编号Ntar一致的整理编号Nref的对象ECU 62tar执行程序改写。
并且,改写装置12对各ECU 62开始网络通信停止请求信号Sstp(以下也称作“通信停止请求信号Sstp”或者“停止请求信号Sstp”。)的定期发送。停止请求信号Sstp是对各ECU62a~62j(对象ECU 62tar和除其以外的ECU 62)请求各ECU 62間相互通信的停止和DTC保存的禁止的信号。停止请求信号Sstp的发送在开始执行程序改写之前开始(参照图6)。
停止请求信号Sstp的发送按照规定的间隔(例如,每2~4秒)进行。接收到停止请求信号Sstp的各ECU 62a~62j在规定的期间内(例如,4~10秒中的任意时间)停止网络60中的通信以及通信相关的DTC的保存和输出。由此,在改写装置12继续停止请求信号Sstp的发送的期间内,除对象ECU 62tar以外的ECU 62继续停止网络通信,并且不保存通信相关的DTC。停止请求信号Sstp可以是在发送网络通信停止解除请求信号(解除请求信号Sfin)之前请求网络通信的停止的信号。
另外,在步骤S48中,应当留意不进行结束了程序改写的对象ECU 62tar的重新起动。对象ECU 62tar的重新起动在改写完成确认处理(后述的图7的S51~S55)中进行。
图6中示出了在时刻t1~t3的期间内,改写装置12定期发送通信停止请求信号Sstp的情形。接收到停止请求信号Sstp的各ECU 62a~62j成为停止相互通信的通信停止状态。但是,实际进行程序改写的对象ECU 62tar由于进行程序改写,因此能够在与改写装置12之间进行通信。
在步骤S49中,改写装置12判定改写对象编号Ntar是否与整理编号Nref的最大值Nref_max相等。在改写对象编号Ntar不与最大值Nref_max相等的情况下(S49:否),存在有未结束搭载程序Pi是否为最新版本的确认的候选ECU 62can。因此,返回到步骤S45。在改写对象编号Ntar与最大值Nref_max相等的情况下(S49:是),组合中的全部候选ECU 62can结束搭载程序Pi是否为最新版本的确认。因此,改写装置12结束程序连续改写处理,进入改写完成确认处理(图3的S9、图7)。
(A2-2-4.改写完成确认处理(图3的S9的详细情况))
(A2-2-4-1.整体流程)
图7是本实施方式中的改写完成确认处理的流程图(图3的S9的详细情况)。在步骤S51中,改写装置12使显示部28显示向用户要求各对象ECU 62tar的电源断开的电源断开请求。通过本实施方式中的电源断开请求,向用户要求将IGSW 80断开。另外,通信停止请求信号Sstp从图5的步骤S48的时刻起定期持续发送。
在步骤S52中,改写装置12确认各对象ECU 62tar是否为电源断开。具体而言,改写装置12向全部对象ECU 62tar发送第1动作确认信号Scnf1。而且,改写装置12根据没有针对第1动作确认信号Scnf1的响应的情况来确认各对象ECU 62tar的电源断开。作为第1动作确认信号Scnf1,例如,能够使用请求电池82的电压的读出的电池电压请求信号。另外,向改写装置12输出IGSW 80的接通断开信号,由此还能够进行该判定。在本实施方式中,针对对象ECU 62tar逐个依次进行是否为电源断开的确认(详细情况在后面参照图8和图9进行叙述。)。
在任意一个对象ECU 62tar不为电源断开的情况下(S52:否),返回到步骤S52。但是,在即使经过了规定的时间、任意一个对象ECU 62tar也未成为电源断开的情况下,改写装置12可以使显示部28显示该意思。在全部对象ECU 62tar为电源断开的情况下(S52:是),进入步骤S53。
在步骤S53中,改写装置12结束针对各ECU 62a~62j的通信停止请求信号Sstp的发送(图6的时刻t4)。在步骤S54中,改写装置12使显示部28显示向用户要求各对象ECU62tar的电源重新接通的电源重新接通请求。通过本实施方式中的电源重新接通请求,向用户要求将IGSW 80重新接通。
在步骤S55中,改写装置12判定全部对象ECU 62tar是否成为电源接通(换言之,全部对象ECU 62tar是否重新起动)。具体而言,改写装置12向全部对象ECU 62tar发送第2动作确认信号Scnf2。而且,改写装置12根据具有针对第2动作确认信号Scnf2的响应的情况来确认各对象ECU 62tar的电源接通。
作为第2动作确认信号Scnf2,能够使用请求各对象ECU 62tar的当前程序ID的当前程序ID请求信号Sreqpid(以下也称作“ID请求信号Sreqpid”。)。如上所述,当前程序ID包含程序名称和当前版本信息Iver。因此,ID请求信号Sreqpid也作为版本信息请求信号发挥功能。通过使用ID请求信号Sreqpid作为第2动作确认信号Scnf2,能够顺利进行后述的步骤S56的处理。另外,向改写装置12输出IGSW 80的接通断开信号,由此还能够进行步骤S56的判定。
在任意一个对象ECU 62tar不为电源接通的情况下(S55:否),重复步骤S55。即,改写装置12向未接收到当前程序ID的对象ECU 62tar连续发送ID请求信号Sreqpid。但是,在即使经过了规定的时间、任意一个对象ECU 62tar也未成为电源接通的情况下,改写装置12可以使显示部28显示该意思。在全部对象ECU 62tar为电源接通的情况下(S55:是),进入步骤S56。
在步骤S56中,改写装置12判定全部对象ECU 62tar的当前程序ID是否与最新程序ID一致。换言之,改写装置12针对各对象ECU 62tar的搭载程序Pi,判定当前版本信息Iver与最新版本信息Iver是否一致。另外,这里的最新程序ID登记在列表58中。此外,在步骤S55中通过除ID请求信号Sreqpid以外进行各对象ECU 62tar的电源接通的确认的情况下,在步骤S55、S56的期间内,向各对象ECU 62tar发送ID请求信号Sreqpid,取得各对象ECU 62tar的当前程序ID。
在全部对象ECU 62tar的当前程序ID与最新程序ID一致的情况下(S56:是),改写装置12在步骤S57中,在使显示部28显示改写完成以后,结束改写完成确认处理。在任意一个对象ECU 62tar的当前程序ID与最新程序ID不一致的情况下(S56:否),在步骤S58中,改写装置12使显示部28显示该意思的错误消息。
(A2-2-4-2.各对象ECU 62tar是否为电源断开的判定(图7的S52)与显示部28的显示(S51、S54)的关系)
如上所述,在图7的步骤S52中,依次确认各对象ECU 62tar的电源断开。在该情况下,能够可靠地确认各对象ECU 62tar为电源断开的情况。另一方面,该确认涉及的时间比较长,所以如果从将IGSW 80断开起到重新接通为止的时间较短,则无法确定各对象ECU62tar为电源断开的判定。在该情况下,仅通过重复图7的步骤S52,有可能无法进入步骤S53。
因此,在本实施方式中,通过使用显示部28的显示(S51、S54),能够可靠地确定各对象ECU 62tar为电源断开的判定。使用图8和图9对此点具体地进行说明。
图8是示出在比较例中依次确认各对象ECU 62tar的电源断开的情形的一例的图。在该比较例(和图9的例子)中,对象ECU 62tar的数量为3个。在该比较例中,不使用本实施方式中的显示部28的显示(图7的S51、S54)。取而代之,改写装置12的用户(或者作业者)从维护手册等获得作业的信息。在图8的比较例中,从用户对IGSW 80的断开操作起到重新接通操作为止的时间较短,所以改写装置12无法确定第3对象ECU 62tar(例如,第1ECU 62a)成为了电源断开的情况。
即,在图8中,改写装置12从时刻t11起,开始第1对象ECU 62tar(例如,第4ECU62d)是否为电源断开的判定。在时刻t12,如果用户将IGSW 80断开,则各对象ECU 62tar成为电源断开。在从时刻t12变为时刻t13时,改写装置12确定第1对象ECU 62tar为电源断开的判定。接下来,改写装置12开始第2对象ECU 62tar(例如,第7ECU 62g)是否为电源断开的判定。在从时刻t13变为时刻t14时,改写装置12确定第2对象ECU 62tar为电源断开的判定。
接下来,改写装置12开始第3对象ECU 62tar(例如,第1ECU 62a)是否为电源断开的判定。在时刻t15,用户将IGSW 80接通。由此,3个对象ECU 62tar全部重新起动。另一方面,在时刻t15,改写装置12未确定第3对象ECU 62tar为电源断开的判定。因此,由于第3对象ECU 62tar不为电源断开,所以改写装置12不进入图7的步骤S53。
图9是示出在本实施方式中依次确认各对象ECU 62tar的电源断开的情形的一例的图。在图9的例子中,直到确定全部对象ECU 62tar成为了电源断开的判定为止,电源重新接通请求(IGSW接通请求)不被显示部28显示。因此,能够充分争取从作业者对IGSW 80的断开操作起到重新接通操作为止的时间,改写装置12能够确认第3对象ECU 62tar(例如,第1ECU 62a)成为了电源断开的情况。
即,在图9中,改写装置12从时刻t21起,开始第1对象ECU 62tar(例如,第4ECU62d)是否为电源断开的判定。这时,改写装置12使显示部28显示电源断开请求(图7的S51)。
在时刻t22用户将IGSW 80断开时,各对象ECU 62tar成为电源断开。在从时刻t22变为时刻t23时,改写装置12确定第1对象ECU 62tar为电源断开的判定。接下来,改写装置12开始第2对象ECU 62tar(例如,第7ECU 62g)是否为电源断开的判定。在从时刻t23变为时刻t24时,改写装置12确定第2对象ECU 62tar为电源断开的判定。
接下来,改写装置12开始进行第3对象ECU 62tar(例如,第1ECU 62a)是否为电源断开的判定。在图9的例子中,显示部28中的电源断开请求持续显示在显示部28上。因此,与图8的比较例不同,用户不会将IGSW 80接通。另外,改写装置12可以在确定了第1对象ECU62tar为电源断开的判定的时刻等,将显示部28的显示从电源断开请求切换到等待请求。
在从时刻t24变为时刻t25时,改写装置12确定第3对象ECU 62tar为电源断开的判定。与此同时,改写装置12将显示部28的显示切换到电源重新接通请求(图7的S54)。在时刻t26,作业者将IGSW 80接通。由此,3个对象ECU 62tar全部重新起动。在各对象ECU 62tar成为电源接通时(图7的S55:是),改写装置12结束电源重新接通请求的显示(时刻t27)。
综上所述,在图9的例子中,改写装置12能够确定全部对象ECU 62tar成为了电源断开的判定,所以能够进入图7的步骤S53。
[A3.本实施方式中的效果]
根据如以上这样的本实施方式,在车辆14的各变更对象动作Otar中,按照与需要改写的ECU 62(对象ECU 62tar)的组合对应的优先顺序Op,进行程序改写(图5)。因此,能够按照最适合该车辆14的顺序进行程序改写。
此外,根据本实施方式,依照每个变更对象动作Otar的优先顺序Op,对当前程序ID(当前版本信息Iver)与最新程序ID(最新版本信息Iver)不一致的候选ECU 62can即对象ECU 62tar,连续执行向最新版本的程序P的改写(图4和图5)。因此,由于仅对需要改写的候选ECU 62can进行改写,所以能够高效进行改写作业。
通过以上可知,在销售店等维护服务提供商进行针对上市的车辆14的程序改写的情况下,也不会弄错维护服务提供商(作业者)对对象ECU 62tar的选定。除此以外,还能够减少确定改写顺序Op的作业负担,能够较容易地实施适当的改写作业。
此外,即使在程序改写中存在改写失败了的对象ECU 62tar,也再次进行改写作业。由此,除已经改写成功的对象ECU 62tar以外,还能够对改写未结束的对象ECU 62tar进行改写。
在本实施方式中,改写装置12的运算部24(改写控制部)将与当前版本信息Iver成对的改写候选ECU 62can作为对象ECU 62tar登记在列表58中(图4),其中,该当前版本信息Iver与最新版本信息Iver不一致。此外,改写装置12针对列表58中登记的对象ECU 62tar,按照顺序DB 52所存储的优先顺序Op,对最新版本的程序P执行程序改写动作(图3的S8、图5)。由此,能够通过简单的方法确定需要程序改写的对象ECU 62tar的组合(或者与对象ECU62tar对应的程序P的组合)。
在本实施方式中,在网关ECU 62a和其他ECU 62(第2~第10ECU 62b~62j中的任意1个或者多个)为对象ECU 62tar的情况下,在改写顺序Op中,将网关ECU 62a设定为比其他ECU 62靠后(图5的S41)。由此,在连续改写多个ECU 62时,能够不受到由于协作的其他ECU 62的改写引起的使用数据的变更等的影响,连续进行对网关ECU 62a和其他ECU 62的程序改写。
在本实施方式中,使输出其他ECU 62的改写中使用的数据的ECU 62(数据提供ECU)的改写的顺序比该其他ECU 62靠后(图5的S41)。由此,不会对基于数据提供ECU的改写的向改写装置12或者其他ECU 62的数据供给造成影响,能够连续进行针对数据提供ECU或者其他ECU 62的程序改写。
在本实施方式中,改写程序DB 56针对具有相同的程序名称的改写程序Pr存储最新版本的程序。此外,在存在多个变更对象动作Otar的情况下、改写装置12的运算部24(改写控制部)使用与更加新的变更对象动作Otar对应的改写候选信息Ican。
在按照车辆14的每个变更对象动作Otar存储了程序P的最新版本信息Iver的情况下,即使针对相同程序名称的程序P,最近存储的(日期更加新的)改写候选信息Ican也包含新的版本的改写程序Pr。因此,如果根据最近存储的改写候选信息Ican来进行改写,则改写对象的ECU 62(对象ECU 62tar)的程序P被改写为最新版本。因此,在进行基于在其之前的改写候选信息Ican的改写时,针对包含相同的ECU 62的情况,不需要该ECU 62的搭载程序Pi的改写。由此,能够缩短存在多个改写候选信息Ican的情况下的作业者的作业时间。
根据本实施方式,在进行程序改写之前,进行全部ECU 62a~62j中的相互通信的停止和DTC的保存禁止(图6、图5的S48)。此外,在全部对象ECU 62tar中的连续程序改写(图3的S8、图5)结束时,确认全部对象ECU 62tar的停止(图7的S52:是)。而且,停止网络通信停止请求信号Sstp(停止/禁止请求信号)的发送(S53)。除此以外,在停止请求信号Sstp的发送以后,向对象ECU 62tar发送请求当前版本信息Iver(搭载程序Pi的版本信息)的当前程序ID请求信号Sreqpid(版本信息请求信号)(S55)。并且,根据从对象ECU 62tar接收到的当前版本信息Iver,确认程序改写的完成(S56)。
因此,在进行全部对象ECU 62tar的连续程序改写以后,集中进行用于使对象ECU62tar重新起动的操作(重新起动操作),由此能够大幅减少作业者的作业负担。因此,在销售店等维护服务提供商进行针对上市的车辆14的程序改写的情况下,能够容易实施适当的改写作业。
在本实施方式中,改写装置12的运算部24(改写控制部)在全部对象ECU 62tar中的程序改写(图3的S8)结束以后,向对象ECU 62tar逐个依次发送第1动作确认信号Scnf1(图3的S9、图7的S52)。而且,运算部24根据没有针对第1动作确认信号Scnf1的响应的情况来检测全部对象ECU 62tar的停止(图7的S52)。
由此,与向可改写的全部ECU 62(对象ECU 62tar)一次集中发送第1动作确认信号Scnf1的情况相比,由于仅检测仅改写后的ECU 62的停止,所以容易进行判断,并且能够缩短确认所需的时间。此外,针对进行了改写的对象ECU 62tar,根据没有针对第1动作确认信号Scnf1的响应的情况来检测各对象ECU 62tar的停止,进行之后的处理。因此,能够使各对象ECU 62tar可靠地重新起动。
在本实施方式中,改写装置12的运算部24(改写控制部)在针对全部对象ECU62tar的程序改写(图3的S8)结束以后,使显示部28显示请求车辆14内的IGSW 80(或者电池82(ECU 62用的电源))的断开操作的断开操作请求(图3的S9、图7的S51)。此外,运算部24在检测出全部对象ECU 62tar的停止而结束停止请求信号Sstp的发送以后(图7的S52:是),使显示部28显示请求IGSW 80的重新接通操作的重新接通操作请求(S54)。由此,为了进行重新接通操作请求,全部对象ECU 62tar中的电源断开的确认成为条件。因此,即使在对象ECU62tar的数量较多的情况或存在到电源断开为止的时间较长的对象ECU 62tar的情况下,也能够在使全部对象ECU 62tar可靠地断开电源以后,指示重新起动的动作。
根据本实施方式,在进行针对对象ECU 62tar的程序改写以前,确认没有与网络60的通信相关的通信故障履历,其中,该网络60涉及对象ECU 62tar中的每一个(图4的S23、S25)。由此,能够在开始程序改写之前,确认程序改写装置12无法与对象ECU 62tar进行通信的情况的理由是连接了改写装置12的车辆14为未搭载有对象ECU 62tar的车种,还是虽然搭载有对象ECU 62tar但产生了通信故障的车种。因此,能够抑制将通信故障错误理解为未搭载有对象ECU 62tar。因此,能够减少程序改写中的功夫。
在本实施方式中,改写装置12的运算部24(改写控制部)对网关ECU 62a询问通信故障履历(图4的S23)。然后,运算部24对除网关ECU 62a以外的ECU 62(第2~第10ECU 62a~62j)询问通信故障履历(S25),由此确认没有通信故障履历。由此,在无法与对象ECU62tar进行通信的情况下,通过确认是网关ECU 62a存在问题还是对象ECU 62tar自身或者其他ECU 62存在问题,能够简化原因部位的确定。
在本实施方式中,改写装置12的运算部24(改写控制部)对网关ECU 62a询问DTC(包含通信故障履历的整体故障履历)。而且,运算部24根据不具有DTC的情况或者DTC中不包含通信故障履历的情况,确认不具有通信故障履历(图4的S23)。然后,运算部24对对象ECU 62tar自身询问DTC。而且,运算部24根据不具有DTC的情况或者DTC中不包含通信故障履历的情况,确认没有通信故障履历(S25)。由此,对象ECU 62tar和网关ECU 62a无需区分通信故障履历和除此以外的故障履历,所以能够简化各ECU 62的结构。
B.变形例
另外,本发明不限于上述实施方式,当然能够根据本说明书记载的内容,采用各种结构。例如,能够采用以下的结构。
[B1.应用对象]
在上述实施方式中,将系统10用于车辆14,但不限于此,例如也可以为其他移动体(飞机、船舶、直升飞机等)。
[B2.程序改写系统10的结构]
(B2-1.程序改写装置12)
(B2-1-1.整体)
在上述实施方式中,设为从车辆14的外部2连接改写装置12(图1),但不限于此,还能够将改写装置12搭载于车辆14。
在上述实施方式中,通过有线方式进行改写装置12与车内网络60之间的通信(图1)。但是,如果例如从与车内网络60之间的通信的观点来看,不限于此,还能够通过无线方式进行通信。
(B2-1-2.存储部26)
上述实施方式的顺序DB 52一起存储有多个车种的ECU 62的改写优先顺序Op(图2)。但是,如果例如从确定特定的变更对象动作Otar的优先顺序Op的观点来看,则不限于此。例如,顺序DB 52还能够仅存储单一车种的ECU 62的优先顺序Op。或者,顺序DB 52可以按照每个变更对象动作Otar,存储优先顺序Op。
在上述实施方式中,在改写装置12中设置有各DB 50、52、54、56和列表58(图1)。但是,例如在改写装置12具有与外部服务器的通信功能的情况下,在所述外部服务器中设置DB 50、52、54、56和列表58中的1个或者多个,改写装置12可以从外部服务器取得所需的数据。
(B2-2.车辆14)
在上述实施方式中,假设了车辆14为汽油车辆,但不限于此。车辆14例如可以为电动车辆(包含混合动力车辆、燃料电池车辆等。)。
[B3.程序改写]
(B3-1.整体)
在上述实施方式中,以使程序名称与版本信息Iver一体化的程序ID的形式进行了处理。例如,在程序ID履历DB 50、组合DB 54等中,管理有数据,作为程序ID(图2)。但是,如果从使用程序名称和版本信息Iver的观点来看,还能够分别管理程序名称和版本信息Iver。
在上述实施方式中,分开设定了ECU ID和程序ID(图2)。但是,例如在各ECU 62中使用的程序P仅为1种的情况下,还能够合并使用ECU ID和程序ID。
(B3-2.对象ECU组合选择处理(图3的S4、图4))
在上述实施方式中,改写装置12使用程序ID履历DB 50,确定了最新程序ID(图4的S28)。但是,如果例如从确认候选ECU 62can中的当前程序ID是否为最新版本的观点来看,则不限于此。
例如,改写装置12还能够将组合DB 54所存储的候选程序ID作为最新程序ID进行处理。在该情况下,虽然为相同的程序名称,但最新版本信息Iver也可能根据每个变更对象动作Otar而不同。在该情况下,在关于特定的变更对象动作Otar(第1变更对象动作)进行程序改写的情况下,改写装置12可以与关于其他变更对象动作Otar(第2变更对象动作)的候选程序ID进行比较。而且,在关于第2变更对象动作的候选程序ID为比关于第1变更对象动作的候选程序ID更加新的版本的情况下,能够使用关于第2变更对象动作的候选程序ID。
在上述实施方式中,在改写候选ECU组合选择处理(图4)中,也将当前版本信息Iver与最新版本信息Iver一致的改写候选ECU 62can的信息登记在了列表58中(图4的S30)。而且,假设在程序连续改写处理(图5)中,在对象程序ID(当前程序ID)与最新程序ID一致的情况下(S47:是),不进行程序改写。
但是,如果例如从对当前版本信息Iver与最新版本信息Iver不一致的改写候选ECU 62can进行程序改写的观点来看,则不限于此。例如,在图4的步骤S30中登记在列表58中的候选ECU ID(和候选程序ID)可以仅限于当前版本信息Iver与最新版本信息Iver不一致的改写候选ECU 62can。由此,能够省略图5的步骤S47的处理。另外,如果在图4的步骤S30(图3的S4的一部分)中将组合编号Nset一并登记在列表58中,则在之后的图3的步骤S5中,能够使用所登记的组合编号Nset来判定可选择的组合。
在上述实施方式中,分为网关ECU 62a和其他ECU 62(ECU 62b~62j)而判定出没有通信故障(图4的S23、S25)。但是,如果例如从判定网络60整体或者对象ECU 62tar中的通信故障的观点来看,则不限于此。例如,还能够合并图4的步骤S23、S25。这时,还能够将没有通信故障的确认仅限于对象ECU 62tar与网关ECU 62a的组合或者对象ECU 62tar,而不是全部ECU 62a~62j。
此外,从例如确定需要程序改写的变更对象动作Otar的观点来看,则还能够省略没有通信故障的确认(图4的S22~S25)。
在上述实施方式中,根据程序ID的对比,确定了需要程序改写的变更对象动作Otar(图4的S27~S30)。但是,如果例如从确定需要程序改写的变更对象动作Otar的观点来看,则不限于此。例如,可以根据ECU ID的对比,确定需要程序改写的变更对象动作Otar。按照每个车辆14来管理程序改写的履历,在能够预先确定需要程序改写的变更对象动作Otar的情况下,还能够通过改写装置12自身,选择变更对象动作Otar。
(B3-3.程序连续改写处理(图3的S8、图5的S48))
在上述实施方式中,定期发送了网络通信停止请求信号Sstp(图6的t1~t4)。但是,如果例如从使各ECU 62维持期望的状态的观点来看,发送的信号不限于此。例如,改写装置12还能够向各ECU 62定期发送请求现状的状态(禁止了DTC的保存的状态、及各ECU 62之间相互通信的停止状态)的维持的信号。
(B3-4.改写完成确认处理(图3的S9、图7))
在上述实施方式中,由于使各对象ECU 62tar重新起动,所以要求改写装置12的用户对IGSW 80的断开操作和重新接通操作(图7的S51、S54)。但是,如果例如从使各对象ECU62tar重新起动的观点来看,则不限于此。例如,还能够从改写装置12向各对象ECU 62tar输出重新起动信号。
在上述实施方式中,针对对象ECU 62tar逐个依次进行了程序改写后的各对象ECU62tar的电源断开的确认(图7的S52)(图9)。但是,如果例如从按照每个变更对象动作Otar来进行程序改写的观点来看,则不限于此。例如,改写装置12还能够同时进行多个对象ECU62tar的电源断开的确认。
(B3-5.其他)
在上述实施方式中,改写装置12的用户进行了变更对象动作Otar的选择(图3的S6、S7)。换言之,选择变更对象动作Otar的变更对象动作选择部为输入用户操作的操作输入部22。但是,如果例如从选择变更对象动作Otar的观点来看,则不限于此。例如,还能够通过改写装置12自身来选择变更对象动作Otar。
标号说明
12:程序改写装置;14:车辆;20:信号输入输出部(网络连接部);22:操作输入部(变更对象动作选择部);24:运算部(改写控制部);26:存储部;28:显示部;52:顺序DB;54:组合DB(改写候选信息数据库);56:程序DB(改写程序数据库);58:改写用列表(列表);60:网络;62:ECU;62a:网关ECU;62can:改写候选ECU;62tar:对象ECU;Ican:改写候选信息;Op:优先顺序;Otar:变更对象动作;P:程序;Pi:搭载程序;Pr:改写程序;Scnf1:第1动作确认信号(动作确认信号);Sreqpid:当前程序ID请求信号(版本信息请求信号);Sstp:网络通信停止请求信号(停止/禁止请求信号)。
权利要求书(按照条约第19条的修改)
1.(修改后)一种程序改写装置(12),其具有:
网络连接部(20),其从车辆(14)的外部与所述车辆(14)内的电子控制装置(以下称作“ECU”。)(62)的网络(60)连接;以及
改写控制部(24),其选择需要程序改写的ECU(以下称作“对象ECU”。)(62tar)来进行程序改写,
所述程序改写装置(12)的特征在于,具有:
顺序数据库(52),其与搭载于所述车辆(14)的能够改写的全部所述ECU(62)的识别符号相对应地预先存储有改写的优先顺序;
改写候选信息数据库(54),每当进行需要程序改写的所述车辆(14)的变更对象动作时,该改写候选信息数据库(54)存储作为所述对象ECU(62tar)的候选的改写候选ECU(62can)的识别符号与所述改写候选ECU(62can)的搭载程序在所述变更对象动作时的最新版本信息的组合,作为改写候选信息;以及
改写程序数据库(56),其存储改写程序,
所述改写控制部(24)从所述网络(60)中包含的能够改写的全部所述ECU(62)中,成对地读出所述ECU(62)的识别符号和搭载程序的当前版本信息,
所述改写控制部(24)对所读出的所述当前版本信息与对应于该当前版本信息的所述最新版本信息进行比较,提取与同所述最新版本信息不一致的所述当前版本信息成对的所述改写候选ECU(62can),作为所述对象ECU(62tar),
所述改写控制部(24)按照所述顺序数据库(52)所存储的所述优先顺序,对提取出的所述对象ECU(62tar)连续执行程序改写动作。
2.根据权利要求1所述的程序改写装置(12),其特征在于,
所述改写控制部(24)将与同所述最新版本信息不一致的所述当前版本信息成对的所述改写候选ECU(62can)作为所述对象ECU(62tar)而登记在列表(58)中,
所述改写控制部(24)按照所述顺序数据库(52)所存储的所述优先顺序,对登记在所述列表(58)中的所述对象ECU(62tar)执行程序改写动作。
3.根据权利要求1或2所述的程序改写装置(12),其特征在于,
所述顺序数据库(52)所存储的所述优先顺序被设定为,所述能够改写的全部所述ECU(62)中的、设定了其他ECU(62)的数据使用的ECU(62)比使用对象的ECU(62)靠前,
在所述网络(60)中具有网关功能的网关ECU(62a)比通信要被中继的其他所述对象ECU(62tar)靠后地被执行程序改写动作。
4.根据权利要求1~3中的任意一项所述的程序改写装置(12),其特征在于,
所述改写程序数据库(56)针对具有相同识别符号的所述改写程序,存储最新版本的所述改写程序,
在存在多个所述变更对象动作的情况下,所述改写控制部(24)使用与更加新的变更对象动作对应的所述改写候选信息。
5.根据权利要求1~4中的任意一项所述的程序改写装置(12),其特征在于,
所述改写控制部(24)向全部所述ECU(62)分别发送停止/禁止请求信号,该停止/禁止请求信号请求相互通信的停止和故障代码的保存禁止,
所述改写控制部(24)在发送了所述停止/禁止请求信号的状态下,对所述对象ECU(62tar)依次进行程序改写动作,
所述改写控制部(24)构成为,在结束全部所述对象ECU(62tar)中的程序改写动作之后,向所述对象ECU(62tar)分别发送动作确认信号,
在根据没有针对所述动作确认信号的响应的情况而检测出全部所述对象ECU(62tar)的停止时,所述改写控制部(24)结束所述停止/禁止请求信号的发送,
然后,所述改写控制部(24)向所述对象ECU(62tar)发送请求搭载程序的版本信息的版本信息请求信号,
所述改写控制部(24)确认从所述对象ECU(62tar)接收到的所述版本信息是否为最新版本。
6.根据权利要求5所述的程序改写装置(12),其特征在于,
所述改写控制部(24)在结束全部所述对象ECU(62tar)中的所述程序改写动作之后,向所述对象ECU(62tar)逐个依次发送所述动作确认信号,
所述改写控制部(24)根据没有针对所述动作确认信号的响应的情况来检测全部所述对象ECU(62tar)的停止。
7.根据权利要求5或6所述的程序改写装置(12),其特征在于,
在针对全部所述对象ECU(62tar)的程序改写动作结束之后,所述改写控制部(24)使显示部(28)显示请求所述车辆(14)内的所述ECU(62)用的电源的断开操作的断开操作请求,
在检测出全部所述对象ECU(62tar)的停止而结束了所述停止/禁止请求信号的发送之后,所述改写控制部(24)使所述显示部(28)显示请求所述ECU(62)用的电源的重新接通操作的重新接通操作请求。
8.根据权利要求1所述的程序改写装置(12),其特征在于,
所述改写控制部(24)在执行程序改写时,针对能够改写的全部所述ECU(62),确认没有与所述网络(60)相关的通信故障履历的情况,
在确认出所述ECU(62)都没有所述通信故障履历的情况下,所述改写控制部(24)对照从能够改写的全部所述ECU(62)读出的所述ECU(62)的识别符号与所述改写候选信息中包含的所述改写候选ECU(62can)的识别符号,来确定所述对象ECU(62tar),
所述改写控制部(24)按照所述顺序数据库(52)所存储的顺序,对所确定的所述对象ECU(62tar)执行程序改写。
9.根据权利要求8所述的程序改写装置(12),其特征在于,
所述改写控制部(24)对在所述网络(60)中具有网关功能的所述ECU(62)即网关ECU(62a)询问所述通信故障履历,然后,对除所述网关ECU(62a)以外的所述ECU(62)询问所述通信故障履历,由此确认没有所述通信故障履历的情况。
10.(修改后)一种程序改写装置(12)中的程序改写方法,该程序改写装置(12)具有:
网络连接部(20),其从车辆(14)的外部与所述车辆(14)内的电子控制装置(以下称作“ECU”。)(62)的网络(60)连接;以及
改写控制部(24),其选择需要程序改写的ECU(以下称作“对象ECU”。)(62tar)来进行程序改写,
所述程序改写方法的特征在于,
所述程序改写装置(12)具有:
顺序数据库(52),其与搭载于所述车辆(14)的能够改写的全部所述ECU(62)的识别符号相对应地预先存储有改写的优先顺序;
改写候选信息数据库(54),每当进行需要程序改写的所述车辆(14)的变更对象动作时,该改写候选信息数据库(54)存储作为所述对象ECU(62tar)的候选的改写候选ECU(62can)的识别符号与所述改写候选ECU(62can)的搭载程序在所述变更对象动作时的最新版本信息的组合,作为改写候选信息;以及
改写程序数据库(56),其存储改写程序,
所述改写控制部(24)从所述网络(60)中包含的能够改写的全部所述ECU(62)中,成对地读出所述ECU(62)的识别符号和搭载程序的当前版本信息,
所述改写控制部(24)对所读出的所述当前版本信息与对应于该当前版本信息的所述最新版本信息进行比较,提取与同所述最新版本信息不一致的所述当前版本信息成对的所述改写候选ECU(62can),作为所述对象ECU(62tar),
所述改写控制部(24)按照所述顺序数据库(52)所存储的所述优先顺序,对提取出的所述对象ECU(62tar)连续执行程序改写动作。
11.根据权利要求10所述的程序改写方法,其特征在于,
所述改写控制部(24)向全部所述ECU(62)分别发送停止/禁止请求信号,该停止/禁止请求信号请求相互通信的停止和故障代码的保存禁止,
所述改写控制部(24)在发送了所述停止/禁止请求信号的状态下,对所述对象ECU(62tar)依次进行程序改写动作,
所述改写控制部(24)构成为,在结束全部所述对象ECU(62tar)中的程序改写动作之后,向所述对象ECU(62tar)分别发送动作确认信号,
在根据没有针对所述动作确认信号的响应的情况而检测出全部所述对象ECU(62tar)的停止时,所述改写控制部(24)结束所述停止/禁止请求信号的发送,
然后,所述改写控制部(24)向所述对象ECU(62tar)发送请求当前程序的版本信息的版本信息请求信号,
所述改写控制部(24)确认从所述对象ECU(62tar)接收到的所述版本信息是否为最新版本。
12.根据权利要求10或11所述的程序改写方法,其特征在于,
所述改写控制部(24)在执行程序改写时,针对能够改写的全部所述ECU(62)确认没有与所述网络(60)相关的通信故障履历的情况,
在确认出所述ECU(62)都没有所述通信故障履历的情况下,所述改写控制部(24)对照从能够改写的全部所述ECU(62)读出的所述ECU(62)的识别符号与所述改写候选信息中包含的所述改写候选ECU(62can)的识别符号,来确定所述对象ECU(62tar),
所述改写控制部(24)按照所述顺序数据库(52)所存储的所述优先顺序,对所确定的所述对象ECU(62tar)执行所述程序改写。

Claims (12)

1.一种程序改写装置(12),其具有:
网络连接部(20),其从车辆(14)的外部与所述车辆(14)内的电子控制装置(以下称作“ECU”。)(62)的网络(60)连接;以及
改写控制部(24),其选择需要程序改写的ECU(以下称作“对象ECU”。)(62tar)来进行程序改写,
所述程序改写装置(12)的特征在于,具有:
顺序数据库(52),其与搭载于所述车辆(14)的能够改写的全部所述ECU(62)的识别符号相对应地预先存储有改写的优先顺序;
改写候选信息数据库(54),每当进行需要程序改写的所述车辆(14)的变更对象动作时,该改写候选信息数据库(54)存储作为所述对象ECU(62tar)的候选的改写候选ECU(62can)的识别符号与所述改写候选ECU(62can)的搭载程序的最新版本信息的组合,作为改写候选信息;以及
改写程序数据库(56),其存储改写程序,
所述改写控制部(24)从所述网络(60)中包含的能够改写的全部所述ECU(62)中,成对地读出所述ECU(62)的识别符号和搭载程序的当前版本信息,
所述改写控制部(24)对所读出的所述当前版本信息与对应于该当前版本信息的所述最新版本信息进行比较,提取与同所述最新版本信息不一致的所述当前版本信息成对的所述改写候选ECU(62can),作为所述对象ECU(62tar),
所述改写控制部(24)按照所述顺序数据库(52)所存储的所述优先顺序,对提取出的所述对象ECU(62tar)连续执行程序改写动作。
2.根据权利要求1所述的程序改写装置(12),其特征在于,
所述改写控制部(24)将与同所述最新版本信息不一致的所述当前版本信息成对的所述改写候选ECU(62can)作为所述对象ECU(62tar)而登记在列表(58)中,
所述改写控制部(24)按照所述顺序数据库(52)所存储的所述优先顺序,对登记在所述列表(58)中的所述对象ECU(62tar)执行程序改写动作。
3.根据权利要求1或2所述的程序改写装置(12),其特征在于,
所述顺序数据库(52)所存储的所述优先顺序被设定为,所述能够改写的全部所述ECU(62)中的、设定了其他ECU(62)的数据使用的ECU(62)比使用对象的ECU(62)靠前,
在所述网络(60)中具有网关功能的网关ECU(62a)比通信要被中继的其他所述对象ECU(62tar)靠后地被执行程序改写动作。
4.根据权利要求1~3中的任意一项所述的程序改写装置(12),其特征在于,
所述改写程序数据库(56)针对具有相同识别符号的所述改写程序,存储最新版本的所述改写程序,
在存在多个所述变更对象动作的情况下,所述改写控制部(24)使用与更加新的变更对象动作对应的所述改写候选信息。
5.根据权利要求1~4中的任意一项所述的程序改写装置(12),其特征在于,
所述改写控制部(24)向全部所述ECU(62)分别发送停止/禁止请求信号,该停止/禁止请求信号请求相互通信的停止和故障代码的保存禁止,
所述改写控制部(24)在发送了所述停止/禁止请求信号的状态下,对所述对象ECU(62tar)依次进行程序改写动作,
所述改写控制部(24)构成为,在结束全部所述对象ECU(62tar)中的程序改写动作之后,向所述对象ECU(62tar)分别发送动作确认信号,
在根据没有针对所述动作确认信号的响应的情况而检测出全部所述对象ECU(62tar)的停止时,所述改写控制部(24)结束所述停止/禁止请求信号的发送,
然后,所述改写控制部(24)向所述对象ECU(62tar)发送请求搭载程序的版本信息的版本信息请求信号,
所述改写控制部(24)确认从所述对象ECU(62tar)接收到的所述版本信息是否为最新版本。
6.根据权利要求5所述的程序改写装置(12),其特征在于,
所述改写控制部(24)在结束全部所述对象ECU(62tar)中的所述程序改写动作之后,向所述对象ECU(62tar)逐个依次发送所述动作确认信号,
所述改写控制部(24)根据没有针对所述动作确认信号的响应的情况来检测全部所述对象ECU(62tar)的停止。
7.根据权利要求5或6所述的程序改写装置(12),其特征在于,
在针对全部所述对象ECU(62tar)的程序改写动作结束之后,所述改写控制部(24)使显示部(28)显示请求所述车辆(14)内的所述ECU(62)用的电源的断开操作的断开操作请求,
在检测出全部所述对象ECU(62tar)的停止而结束了所述停止/禁止请求信号的发送之后,所述改写控制部(24)使所述显示部(28)显示请求所述ECU(62)用的电源的重新接通操作的重新接通操作请求。
8.根据权利要求1所述的程序改写装置(12),其特征在于,
所述改写控制部(24)在执行程序改写时,针对能够改写的全部所述ECU(62),确认没有与所述网络(60)相关的通信故障履历的情况,
在确认出所述ECU(62)都没有所述通信故障履历的情况下,所述改写控制部(24)对照从能够改写的全部所述ECU(62)读出的所述ECU(62)的识别符号与所述改写候选信息中包含的所述改写候选ECU(62can)的识别符号,来确定所述对象ECU(62tar),
所述改写控制部(24)按照所述顺序数据库(52)所存储的顺序,对所确定的所述对象ECU(62tar)执行程序改写。
9.根据权利要求8所述的程序改写装置(12),其特征在于,
所述改写控制部(24)对在所述网络(60)中具有网关功能的所述ECU(62)即网关ECU(62a)询问所述通信故障履历,然后,对除所述网关ECU(62a)以外的所述ECU(62)询问所述通信故障履历,由此确认没有所述通信故障履历的情况。
10.一种程序改写装置(12)中的程序改写方法,该程序改写装置(12)具有:
网络连接部(20),其从车辆(14)的外部与所述车辆(14)内的电子控制装置(以下称作“ECU”。)(62)的网络(60)连接;以及
改写控制部(24),其选择需要程序改写的ECU(以下称作“对象ECU”。)(62tar)来进行程序改写,
所述程序改写方法的特征在于,
所述程序改写装置(12)具有:
顺序数据库(52),其与搭载于所述车辆(14)的能够改写的全部所述ECU(62)的识别符号相对应地预先存储有改写的优先顺序;
改写候选信息数据库(54),每当进行需要程序改写的所述车辆(14)的变更对象动作时,该改写候选信息数据库(54)存储作为所述对象ECU(62tar)的候选的改写候选ECU(62can)的识别符号与所述改写候选ECU(62can)的搭载程序的最新版本信息的组合,作为改写候选信息;以及
改写程序数据库(56),其存储改写程序,
所述改写控制部(24)从所述网络(60)中包含的能够改写的全部所述ECU(62)中,成对地读出所述ECU(62)的识别符号和搭载程序的当前版本信息,
所述改写控制部(24)对所读出的所述当前版本信息与对应于该当前版本信息的所述最新版本信息进行比较,提取与同所述最新版本信息不一致的所述当前版本信息成对的所述改写候选ECU(62can),作为所述对象ECU(62tar),
所述改写控制部(24)按照所述顺序数据库(52)所存储的所述优先顺序,对提取出的所述对象ECU(62tar)连续执行程序改写动作。
11.根据权利要求10所述的程序改写方法,其特征在于,
所述改写控制部(24)向全部所述ECU(62)分别发送停止/禁止请求信号,该停止/禁止请求信号请求相互通信的停止和故障代码的保存禁止,
所述改写控制部(24)在发送了所述停止/禁止请求信号的状态下,对所述对象ECU(62tar)依次进行程序改写动作,
所述改写控制部(24)构成为,在结束全部所述对象ECU(62tar)中的程序改写动作之后,向所述对象ECU(62tar)分别发送动作确认信号,
在根据没有针对所述动作确认信号的响应的情况而检测出全部所述对象ECU(62tar)的停止时,所述改写控制部(24)结束所述停止/禁止请求信号的发送,
然后,所述改写控制部(24)向所述对象ECU(62tar)发送请求当前程序的版本信息的版本信息请求信号,
所述改写控制部(24)确认从所述对象ECU(62tar)接收到的所述版本信息是否为最新版本。
12.根据权利要求10或11所述的程序改写方法,其特征在于,
所述改写控制部(24)在执行程序改写时,针对能够改写的全部所述ECU(62)确认没有与所述网络(60)相关的通信故障履历的情况,
在确认出所述ECU(62)都没有所述通信故障履历的情况下,所述改写控制部(24)对照从能够改写的全部所述ECU(62)读出的所述ECU(62)的识别符号与所述改写候选信息中包含的所述改写候选ECU(62can)的识别符号,来确定所述对象ECU(62tar),
所述改写控制部(24)按照所述顺序数据库(52)所存储的所述优先顺序,对所确定的所述对象ECU(62tar)执行所述程序改写。
CN201680020073.4A 2015-03-30 2016-03-22 程序改写装置和程序改写方法 Active CN107531198B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2015068949A JP6147792B2 (ja) 2015-03-30 2015-03-30 プログラム書換装置及びプログラム書換方法
JP2015068885A JP6147791B2 (ja) 2015-03-30 2015-03-30 プログラム書換装置及びプログラム書換方法
JP2015068855A JP6147790B2 (ja) 2015-03-30 2015-03-30 プログラム書換装置及びプログラム書換方法
JP2015-068885 2015-03-30
JP2015-068949 2015-03-30
JP2015-068855 2015-03-30
PCT/JP2016/058908 WO2016158547A1 (ja) 2015-03-30 2016-03-22 プログラム書換装置及びプログラム書換方法

Publications (2)

Publication Number Publication Date
CN107531198A true CN107531198A (zh) 2018-01-02
CN107531198B CN107531198B (zh) 2020-04-03

Family

ID=57006437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680020073.4A Active CN107531198B (zh) 2015-03-30 2016-03-22 程序改写装置和程序改写方法

Country Status (4)

Country Link
US (1) US20180081671A1 (zh)
CN (1) CN107531198B (zh)
DE (1) DE112016000992T5 (zh)
WO (1) WO2016158547A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112543912A (zh) * 2018-08-10 2021-03-23 株式会社电装 显示控制装置、改写进展状况的显示控制方法以及改写进展状况的显示控制程序
CN113631429A (zh) * 2018-10-16 2021-11-09 株式会社自动网络技术研究所 车载更新装置、更新处理程序及程序的更新方法
CN113632155A (zh) * 2019-03-29 2021-11-09 日立安斯泰莫株式会社 运算装置、判定方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6281535B2 (ja) * 2015-07-23 2018-02-21 株式会社デンソー 中継装置、ecu、及び、車載システム
JPWO2017188416A1 (ja) * 2016-04-28 2019-03-07 Necソリューションイノベータ株式会社 回路装置、回路書き換え方法、及びプログラム
US10901724B2 (en) 2016-10-28 2021-01-26 Kabushiki Kaisha Toshiba Software update system for mobile body using vehicle-mounted gateway apparatus
JP6682019B2 (ja) * 2017-01-25 2020-04-15 日立オートモティブシステムズ株式会社 プログラム更新システムおよびプログラム書込装置
US10963241B2 (en) * 2017-02-01 2021-03-30 Sumitomo Electric Industries, Ltd. Control apparatus, program update method, and computer program
DE112018001894T5 (de) * 2017-04-05 2019-12-19 Sumitomo Electric Industries, Ltd. Steuervorrichtung, Übertragungsverfahren und Computerprogramm
DE102017218654A1 (de) * 2017-10-19 2019-04-25 Robert Bosch Gmbh Sicherheitssystem für ein elektronisches Gerät eines Fahrzeugs, elektronisches Gerät, Fahrzeug, Verfahren
JP7013918B2 (ja) * 2018-02-16 2022-02-01 トヨタ自動車株式会社 車両制御装置、プログラム更新方法およびプログラム
JP7010049B2 (ja) * 2018-02-16 2022-01-26 トヨタ自動車株式会社 車両制御装置、プログラムの更新確認方法および更新確認プログラム
JP7311245B2 (ja) * 2018-03-07 2023-07-19 トヨタ自動車株式会社 マスタ装置、マスタ、制御方法、プログラム及び車両
JP6897630B2 (ja) 2018-05-11 2021-07-07 株式会社オートネットワーク技術研究所 車載更新装置、更新処理方法及び更新処理プログラム
JP7408937B2 (ja) * 2018-08-10 2024-01-09 株式会社デンソー センター装置,配信パッケージの生成方法及び配信パッケージ生成用プログラム
US11218872B2 (en) * 2019-06-26 2022-01-04 Motorola Solutions, Inc. Method and key management facility for managing keys of a single user having a plurality of mobile devices
DE102019210225A1 (de) * 2019-07-10 2021-01-14 Robert Bosch Gmbh Verfahren und Vorrichtung zur Analyse dienste-orientierter Kommunikation
FR3115373B1 (fr) * 2020-10-20 2023-06-02 Psa Automobiles Sa Gestion de la supervision d’un composant électronique d’un véhicule terrestre à moteur
JP7307116B2 (ja) * 2021-04-07 2023-07-11 矢崎総業株式会社 車載ソフトウェア更新方法および車載システム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310221A (ja) * 2003-04-02 2004-11-04 Denso Corp データ書換方法及び電子制御装置
JP2008168649A (ja) * 2007-01-05 2008-07-24 Mazda Motor Corp 車両用制御システム
US20090119657A1 (en) * 2007-10-24 2009-05-07 Link Ii Charles M Methods and systems for software upgrades
JP2011070307A (ja) * 2009-09-24 2011-04-07 Toyota Motor Corp プログラム更新装置
JP2012091755A (ja) * 2010-10-29 2012-05-17 Honda Motor Co Ltd 車両用プログラム書換えシステム
KR20130022688A (ko) * 2011-08-26 2013-03-07 주식회사 현대케피코 차량 내 전자 제어 유닛 소프트웨어 갱신 장치
CN103136134A (zh) * 2011-11-21 2013-06-05 株式会社电装 用于车辆的数据重写系统、车载设备和重写设备
CN203305933U (zh) * 2013-05-29 2013-11-27 扬州泰博汽车电子智能科技有限公司 车身控制器及采用该车身控制器的烧录系统
CN103493007A (zh) * 2010-12-23 2014-01-01 汽车电子解决方案有限责任公司 远程车辆编程系统和方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8781442B1 (en) * 2006-09-08 2014-07-15 Hti Ip, Llc Personal assistance safety systems and methods
JP4404147B2 (ja) * 2008-01-23 2010-01-27 株式会社デンソー 車載電子制御装置及びその車載電子制御装置の情報更新方法
JP5487691B2 (ja) * 2009-04-08 2014-05-07 株式会社デンソー 車両制御装置、車両制御プログラム
US8392764B2 (en) * 2009-11-16 2013-03-05 Cooper Technologies Company Methods and systems for identifying and configuring networked devices
WO2012056773A1 (ja) * 2010-10-29 2012-05-03 本田技研工業株式会社 車両用プログラム書換えシステム
WO2014164893A2 (en) * 2013-03-13 2014-10-09 Arynga Inc. Remote transfer of electronic images to a vehicle
KR20150112537A (ko) * 2014-03-28 2015-10-07 현대자동차주식회사 차량제어용 소프트웨어 코딩 시스템 및 방법
EP3133774B1 (en) * 2014-04-17 2020-11-25 Panasonic Intellectual Property Corporation of America Vehicle-mounted network system, abnormality detection electronic control unit and abnormality detection method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310221A (ja) * 2003-04-02 2004-11-04 Denso Corp データ書換方法及び電子制御装置
JP2008168649A (ja) * 2007-01-05 2008-07-24 Mazda Motor Corp 車両用制御システム
US20090119657A1 (en) * 2007-10-24 2009-05-07 Link Ii Charles M Methods and systems for software upgrades
JP2011070307A (ja) * 2009-09-24 2011-04-07 Toyota Motor Corp プログラム更新装置
JP2012091755A (ja) * 2010-10-29 2012-05-17 Honda Motor Co Ltd 車両用プログラム書換えシステム
CN103493007A (zh) * 2010-12-23 2014-01-01 汽车电子解决方案有限责任公司 远程车辆编程系统和方法
KR20130022688A (ko) * 2011-08-26 2013-03-07 주식회사 현대케피코 차량 내 전자 제어 유닛 소프트웨어 갱신 장치
CN103136134A (zh) * 2011-11-21 2013-06-05 株式会社电装 用于车辆的数据重写系统、车载设备和重写设备
CN203305933U (zh) * 2013-05-29 2013-11-27 扬州泰博汽车电子智能科技有限公司 车身控制器及采用该车身控制器的烧录系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112543912A (zh) * 2018-08-10 2021-03-23 株式会社电装 显示控制装置、改写进展状况的显示控制方法以及改写进展状况的显示控制程序
CN113631429A (zh) * 2018-10-16 2021-11-09 株式会社自动网络技术研究所 车载更新装置、更新处理程序及程序的更新方法
CN113632155A (zh) * 2019-03-29 2021-11-09 日立安斯泰莫株式会社 运算装置、判定方法

Also Published As

Publication number Publication date
WO2016158547A1 (ja) 2016-10-06
CN107531198B (zh) 2020-04-03
DE112016000992T5 (de) 2017-11-16
US20180081671A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
CN107531198A (zh) 程序改写装置和程序改写方法
CN107145980B (zh) 无人车配送方法、系统和控制服务器
CN109643254A (zh) 车载更新系统、车载更新装置及通信装置的更新方法
CN109532548B (zh) 一种充电服务方法
CN106874026A (zh) 用于经由空中接口稳健地更新车辆的固件的方法和设备
DE102020104003A1 (de) Elektrofahrzeugladeplaner
CN103348388B (zh) 车辆信息获取系统和车辆信息获取方法
CN106327911A (zh) 一种用于停车场的智能停车控制系统
CN105009545B (zh) 具有能够后续通过应用程序改变的行驶行为的机动车
US11169797B2 (en) Vehicle controller configuration backup and restoration using data snapshots
CN112416006B (zh) 基于Sharing-X的驾驶模式切换方法及系统
JP6147791B2 (ja) プログラム書換装置及びプログラム書換方法
CN108876095A (zh) 一种车辆共享方法、装置及服务器
CN108475222A (zh) 车载更新装置、更新系统及更新处理程序
CN110244959A (zh) 车辆控制系统及软件兼容性检查方法
JP2016188022A (ja) プログラム書換装置及びプログラム書換方法
CN108074130A (zh) 自主车辆管理
CN109636537A (zh) 一种还车方法及装置和取车方法及装置
CN104572370A (zh) 用于借助测试环境测试控制器的系统和方法
CN107976918A (zh) 一种任务切换方法和相关装置
CN102339025B (zh) 用于启动机器或者机器系列中的机器的方法和规划系统
JP6147790B2 (ja) プログラム書換装置及びプログラム書換方法
CN108648063A (zh) 无人机共享方法、装置、服务器、移动终端及存储介质
CN107771388A (zh) 用于在机动车中的软件组件之间通信的方法
CN107850881A (zh) 程序生成装置及其方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant