买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】程序更新系统、配送装置以及程序更新方法_株式会社自动网络技术研究所;住友电装株式会社;住友电气工业株式会社_201780016347.7 

申请/专利权人:株式会社自动网络技术研究所;住友电装株式会社;住友电气工业株式会社

申请日:2017-12-05

公开(公告)日:2021-11-19

公开(公告)号:CN108780392B

主分类号:G06F8/65(20180101)

分类号:G06F8/65(20180101);G07C5/00(20060101)

优先权:["20161206 JP 2016-236942"]

专利状态码:有效-授权

法律状态:2021.11.19#授权;2018.12.04#实质审查的生效;2018.11.09#公开

摘要:配送装置以及通信装置分别具备用于存储表示通信信号及新的计算机程序的收发的进展的进展信息的存储部。所述配送装置根据所述收发的进展而更新存储于本装置的存储部的进展信息,将更新后的进展信息向所述通信装置发送,从所述通信装置接收存储于所述通信装置的存储部的进展信息,根据接收到的进展信息来确定在所述配送装置与所述通信装置之间接下来应该收发的通信信号或新的计算机程序。所述通信装置接收从所述配送装置发送的进展信息,基于所接收到的进展信息来更新存储于本装置的存储部的进展信息,将更新后的进展信息向所述配送装置发送。

主权项:1.一种程序更新系统,具备处理器的多个装置以能够通信的方式被连接,所述处理器执行基于存储器中存储有的计算机程序的处理,通过配送计算机程序的配送装置及通信装置相互收发通信信号及新的计算机程序,所述程序更新系统使配送给所述通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,所述配送装置及通信装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置具备:第一更新部,根据所述收发的进展,来更新存储于本装置的存储部的进展信息;第一发送部,将由该第一更新部更新后的进展信息向所述通信装置发送;第一接收部,在由该第一发送部发送了进展信息的情况下,从所述通信装置接收存储于所述通信装置的存储部的进展信息;以及确定部,根据由该第一接收部接收到的进展信息,来确定在所述配送装置与所述通信装置之间接下来应该收发的通信信号或新的计算机程序,所述通信装置具备:第二接收部,接收从所述配送装置发送的进展信息;第二更新部,基于由该第二接收部接收到的进展信息,来更新存储于本装置的存储部的进展信息;以及第二发送部,将由该第二更新部更新后的进展信息向所述配送装置发送。

全文数据:程序更新系统、配送装置以及程序更新方法技术领域[0001]本发明涉及一种程序更新系统、配送装置以及程序更新方法。本申请主张基于2016年12月6日提出申请的日本申请第2016—236942号的优先权,援引在所述日本申请中记载的全部记载事项。背景技术[0002]使用多个进行基于计算机程序(下面简称为程序)的控制的控制装置的控制系统在各种领域中被利用。在车辆控制的领域中,在车辆内,作为控制装置而配设有大量ECUElectronicControlUnit,电子控制单元),各ECU构成为经由车载LANLocalAreaNetwork,局域网)收发信息,协调并协作来进行多种多样的处理。[0003]在追加或变更上述控制装置的功能的情况下,或在要解除程序的不佳状况的情况下等,有时需要更新控制装置的处理器所执行的程序。作为程序的更新方法,一般采用如下方法:特定的控制装置将从外部通过有线或无线通信而接收到的更新程序向作为对象的控制装置发送,由接收到该更新程序的控制装置来更新程序。[0004]在这样的控制系统中更新程序的情况下,例如在采用在更新的对象装置中更新程序覆写更新前的旧程序的方法时,有可能由于更新的中断而基于旧程序的执行无法进行,更新的再次开始也变得无法进行。[0005]对此,在专利文献1中公开了如下车载装置:在不作为重新编程程序的更新的对象的内存块中预先储存有简易通信程序,在重新编程时执行基于简易通信程序的简易通信,从而即使在重新编程中断而破坏了旧程序的情况下,也能够通过简易通信来再次开始重新编程。[0006]现有技术文献[0007]专利文献[0008]专利文献1:日本特开2013—192092号公报发明内容[0009]本发明的一个方式涉及程序更新系统,具备处理器的多个装置以能够通信的方式被连接,所述处理器执行基于存储器中存储有的计算机程序的处理,所述程序更新系统通过配送计算机程序的配送装置及通信装置相互收发通信信号及新的计算机程序,而使配送给所述通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,所述配送装置及通信装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置具备:第一更新部,根据所述收发的进展,来更新存储于本装置的存储部的进展信息;第一发送部,将由该第一更新部更新后的进展信息向所述通信装置发送;第一接收部,在由该第一发送部发送了进展信息的情况下,从所述通信装置接收存储于所述通信装置的存储部的进展信息;以及确定部,根据由该第一接收部接收到的进展信息,来确定在所述配送装置与所述通信装置之间接下来应该收发的通信信号或新的计算机程序,所述通信装置具备:第二接收部,接收从所述配送装置发送的进展信息;第二更新部,基于由该第二接收部接收到的进展信息,来更新存储于本装置的存储部的进展信息;以及第二发送部,将由该第二更新部更新后的进展信息向所述配送装置发送。[0010]本发明的一个方式涉及程序更新系统,具备处理器的多个装置以能够通信的方式被连接,所述处理器执行基于存储器中存储有的计算机程序的处理,所述程序更新系统通过配送计算机程序的配送装置及保持应该配送的计算机程序的更新装置相互收发通信信号以及新的计算机程序,而将所述配送装置所取得的新的计算机程序向通信装置配送,使配送给该通信装置的新的计算机程序存储于本装置的存储器来更新计算机程序,其中,所述配送装置及更新装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置具备:第一更新部,根据所述收发的进展,来更新存储于本装置的存储部的进展信息;第一发送部,将由该第一更新部更新后的进展信息向所述更新装置发送;第一接收部,在由该第一发送部发送了进展信息的情况下,从所述更新装置接收存储于所述更新装置的存储部的进展信息;以及确定部,根据由该第一接收部接收到的进展信息,来确定在所述配送装置与所述更新装置之间接下来应该收发的通信信号或新的计算机程序,所述更新装置具备:第二接收部,接收从所述配送装置发送的进展信息;第二更新部,基于由该第二接收部接收到的进展信息,来更新存储于本装置的存储部的进展信息;以及第二发送部,将由该第二更新部更新后的进展信息向所述配送装置发送。[0011]本发明的一个方式涉及配送装置,以能够通信的方式与执行基于存储器中存储有的计算机程序的处理的外部装置连接,通过在所述配送装置与所述外部装置之间相互收发通信信号及新的计算机程序,而将所述新的计算机程序向所述外部装置配送而使计算机程序更新,其中,具备:存储部,用于存储进展信息,所述进展信息表示所述通信信号及新的计算机程序的收发的进展;更新部,根据所述收发的进展,来更新存储于所述存储部的进展信息;发送部,将由该更新部更新后的进展信息向所述外部装置发送;接收部,从所述外部装置接收基于由该发送部发送的进展信息而由所述外部装置更新后的进展信息•,以及确定部,根据由该接收部接收到的进展信息,来确定在所述配送装置与所述外部装置之间接下来应该收发的通信信号或新的计算机程序。[0012]本发明的一个方式涉及一种程序更新方法,在具备执行基于存储器中存储有的计算机程序的处理的处理器的多个装置以能够通信的方式被连接的通信系统中,通过配送计算机程序的配送装置及通信装置相互收发通信信号及新的计算机程序,而使配送给所述通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,所述配送装置及通信装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置根据所述收发的进展来更新存储于本装置的存储部的进展信息,将更新后的进展信息向所述通信装置发送,从所述通信装置接收存储于所述通信装置的存储部的进展信息,并根据接收到的进展信息来确定在所述配送装置与所述通信装置之间接下来应该收发的通信信号或新的计算机程序,所述通信装置接收从所述配送装置发送的进展信息,基于接收到的进展信息来更新存储于本装置的存储部的进展信息,并将更新后的进展信息向所述配送装置发送。[0013]本发明的一个方式涉及一种程序更新方法,在具备执行基于存储器中存储有的计算机程序的处理的处理器的多个装置以能够通信的方式被连接的通信系统中,通过配送计算机程序的配送装置及保持应该配送的计算机程序的更新装置相互收发通信信号及新的计算机程序,而将所述配送装置所取得的新的计算机程序向通信装置配送,使配送给该通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,所述配送装置及更新装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置根据所述收发的进展来更新存储于本装置的存储部的进展信息,将更新后的进展信息向所述更新装置发送,从所述更新装置接收存储于所述更新装置的存储部的进展信息,并根据接收到的进展信息来确定在所述配送装置与所述更新装置之间接下来应该收发的通信信号或新的计算机程序,所述更新装置接收从所述配送装置发送的进展信息,基于接收到的进展信息来更新存储于本装置的存储部的进展信息,并将更新后的进展信息向所述配送装置发送。[0014]此外,本申请不仅能够作为具备这样的特征性的处理部的程序更新系统、配送装置以及程序更新方法而实现,还能够作为用于使计算机执行进行上述特征性的处理的步骤的计算机程序而实现。另外,能够将程序更新系统或配送装置的一部分或全部作为半导体集成电路而实现,或作为包括程序更新系统或配送装置的其他系统而实现。附图说明[0015]图1是示出本发明的实施方式1的程序更新系统的结构例的框图。[0016]图2是示出在E⑶之间收发的通信信号及更新用控制程序的序列图。[0017]图3是示出每当收发通信信号以及更新文件时收发包括步骤编号的下位信号的CPU的处理次序的流程图。[0018]图4是示出收发进行步骤编号的要求、响应以及通知的下位信号的CPU的处理次序的流程图。[0019]图5是示出本发明的实施方式3的程序更新系统的结构例的框图。[0020]图6是示出在更新装置和E⑶之间收发的通信信号及更新用控制程序的序列图。具体实施方式[0021][本发明要公开的课题][0022]然而,在专利文献1所记载的技术中,未考虑在中断了程序的更新的情况下从更新处理的中断点起再次开始的情形,所以,在从由特定的控制装置识别的中断点起再次开始程序的更新时,有可能程序的更新不能正常完成。另外,在特定的控制装置与更新的对象装置之间执行的信号的收发中有可能产生进展的偏离。[0023]本发明是鉴于上述情形而完成的,其目的在于,提供一种能够防止在一控制装置与其他控制装置之间执行的信号的收发中产生进展的偏离的程序更新系统、配送装置以及程序更新方法。[0024][本发明的效果][0025]根据上述,能够防止在一个控制装置与其他控制装置之间执行的信号的收发中产生进展的偏离。[0026][本发明的实施方式的说明][0027]首先,列举本发明的实施方式来说明。另外,也可以将以下记载的实施方式的至少一部分任意地组合。[0028]1本发明的一个方式涉及一种程序更新系统,具备处理器的多个装置以能够通信的方式被连接,所述处理器执行基于存储器中存储有的计算机程序的处理,所述程序更新系统通过配送计算机程序的配送装置及通信装置相互收发通信信号及新的计算机程序,而使配送给所述通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,所述配送装置及通信装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置具备:第一更新部,根据所述收发的进展,来更新存储于本装置的存储部的进展信息;第一发送部,将由该第一更新部更新后的进展信息向所述通信装置发送;第一接收部,在由该第一发送部发送了进展信息的情况下,从所述通信装置接收存储于所述通信装置的存储部的进展信息;以及确定部,根据由该第一接收部接收到的进展信息,来确定在所述配送装置与所述通信装置之间接下来应该收发的通信信号或新的计算机程序,所述通信装置具备:第二接收部,接收从所述配送装置发送的进展信息;第二更新部,基于由该第二接收部接收到的进展信息,来更新存储于本装置的存储部的进展信息;以及第二发送部,将由该第二更新部更新后的进展信息向所述配送装置发送。_[0029]8本发明的一个方式涉及一种程序更新方法,在具备执行基于存储器中存储有的计算机程序的处理的处理器的多个装置以能够通信的方式被连接的通信系统中,通过配送计算机程序的配送装置及通信装置相互收发通信信号及新的计算机程序,而使配送给所述通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,所述配送装置及通信装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置根据所述收发的进展来更新存储于本装置的存储部的进展信息,将更新后的进展信息向所述通信装置发送,从所述通信装置接收存储于所述通信装置的存储部的进展信息,并根据接收到的进展信息来确定在所述配送装置与所述通信装置之间接下来应该收发的通信信号或新的计算机程序,所述通信装置接收从所述配送装置发送的进展信息,基于接收到的进展信息来更新存储于本装置的存储部的进展信息,并将更新后的进展信息向所述配送装置发送。[0030]在本方式中,在配送装置及通信装置相互收发通信信号及新的计算机程序的期间,使从配送装置配送给通信装置的新的计算机程序存储于本装置的存储器,从而更新存储器内的计算机程序。配送装置根据收发的进展而将表示通信信号及新的计算机程序的收发的进展的进展信息存储于本装置的存储部而进行更新,并且,将更新后的进展信息向通信装置发送。通信装置基于从配送装置接收到的表示进展的进展信息,来更新存储于本装置的存储部的进展信息,并且将更新后的进展信息向配送装置发送。然后,配送装置根据从通信装置接收到的进展信息,来确定在配送装置与通信装置之间接下来应该收发的通信信号或新的计算机程序。由此,根据伴随着通信信号及新的计算机程序下面将它们统一简称为信号)的收发的进展而由通信装置更新后的进展信息,来确定在配送装置与通信装置之间接下来应该收发的通信信号或新的计算机程序,所以防止配送装置和通信装置之间的信号的收发的进展偏罔。[0031]2本发明的一个方式涉及一种程序更新系统,具备处理器的多个装置以能够通信的方式被连接,所述处理器执行基于存储器中存储有的计算机程序的处理,所述程序更新系统通过配送计算机程序的配送装置及保持应该配送的计算机程序的更新装置相互收发通信信号以及新的计算机程序,而将所述配送装置所取得的新的计算机程序向通信装置配送,使配送给该通信装置的新的计算机程序存储于本装置的存储器来更新计算机程序,其中,所述配送装置及更新装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置具备:第一更新部,根据所述收发的进展,来更新存储于本装置的存储部的进展信息;第一发送部,将由该第一更新部更新后的进展信息向所述更新装置发送;第一接收部,在由该第一发送部发送了进展信息的情况下,从所述更新装置接收存储于所述更新装置的存储部的进展信息;以及确定部,根据由该第一接收部接收到的进展信息,来确定在所述配送装置与所述更新装置之间接下来应该收发的通信信号或新的计算机程序,所述更新装置具备:第二接收部,接收从所述配送装置发送的进展信息;第二更新部,基于由该第二接收部接收到的进展信息,来更新存储于本装置的存储部的进展信息;以及第二发送部,将由该第二更新部更新后的进展信息向所述配送装置发送。_[0032]9本发明的一个方式涉及一种程序更新方法,在具备执行基于存储器中存储有的计算机程序的处理的处理器的多个装置以能够通信的方式被连接的通信系统中,通过配送计算机程序的配送装置及保持应该配送的计算机程序的更新装置相互收发通信信号及新的计算机程序,而将所述配送装置所取得的新的计算机程序向通信装置配送,使配送给该通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,所述配送装置及更新装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置根据所述收发的进展来更新存储于本装置的存储部的进展信息,将更新后的进展信息向所述更新装置发送,从所述更新装置接收存储于所述更新装置的存储部的进展信息,并根据接收到的进展信息来确定在所述配送装置与所述更新装置之间接下来应该收发的通信信号或新的计算机程序,所述更新装置接收从所述配送装置发送的进展信息,基于接收到的进展信息来更新存储于本装置的存储部的进展信息,并将更新后的进展信息向所述配送装置发送。[0033]在本方式中,在配送装置及更新装置相互收发通信信号及新的计算机程序的期间,配送装置从更新装置取得新的计算机程序。配送装置将所取得的新的计算机程序向通信装置配送,通信装置使配送了的新的计算机程序存储于本装置的存储器,从而更新存储器内的计算机程序。配送装置根据收发的进展而将表示通信信号及新的计算机程序的收发的进展的进展信息存储于本装置的存储部而进行更新,并且将更新后的进展信息向更新装置发送。更新装置基于从配送装置接收到的表示进展的进展信息,更新存储于本装置的存储部的进展信息,并且将更新后的进展信息向配送装置发送。然后,配送装置接收在更信装置的存储部中存储的进展信息,确定在配送装置与更信装置之间接下来应该收发的通信信号或新的计算机程序。由此,根据伴随着信号的收发的进展而由更信装置更新后的进展信息,来确定在配送装置与更信装置之间接下来应该收发的通信信号或新的计算机程序,所以防止配送装置和更信装置之间的信号的收发的进展偏离。[0034]3所述配送装置优选在中断了所述通信信号及新的计算机程序的收发的情况下,所述配送装置根据应该再次开始收发的通信信号或新的计算机程序,来更新通过所述第一更新部存储于本装置的存储部的进展信息。[0035]在中断了在配送装置与通信装置或更新装置之间进行的通信信号及新的计算机程序的收发的情况下,配送装置根据在再次开始时应该收发的通信信号或计算机程序,来更新存储于本装置的存储部的进展信息,并将更新后的进展信息向通信装置或更新装置发送。之后,进展信息的交换如上所述地进行。由此,在再次开始后,以使配送装置的存储部中存储的进展信息与通信装置或更新装置的存储部中存储的进展信息相匹配的方式,确定在配送装置与通信装置或更新装置之间接下来应该收发的通信信号或新的计算机程序,所以防止在配送装置与通信装置或更新装置之间的信号的收发的进展偏离。[0036]4优选的是,所述配送装置还具备:第三发送部,在中断了所述通信信号及新的计算机程序的收发的情况下,将要求发送存储于所述通信装置或更新装置的存储部的进展信息的信号向所述通信装置或更新装置发送;第三接收部,在由该第三发送部发送了信号的情况下,从所述通信装置或更新装置接收存储于所述通信装置或更新装置的存储部的进展信息;比较部,对由该第三接收部接收到的进展信息与存储于本装置的存储部的进展信息进行比较;第二确定部,基于该比较部的比较结果,来确定表示较慢的进展的进展信息;第三更新部,将由该第二确定部确定出的进展信息存储于本装置的存储部而进行更新;以及第四发送部,将由该第三更新部更新后的进展信息向所述通信装置或更新装置发送,所述通信装置或更新装置还具备:第四接收部,从所述配送装置接收要求发送所述进展信息的信号;第五发送部,在由该第四接收部接收到信号的情况下,将存储于本装置的存储部的进展信息向所述配送装置发送;第五接收部,在由该第五发送部发送了进展信息的情况下,从所述配送装置接收存储于所述配送装置的存储部的进展信息;以及第四更新部,将由该第五接收部接收到的进展信息存储于本装置的存储部而进行更新。[0037]在本方式中,在中断了在配送装置与通信装置或更新装置之间的通信信号及新的计算机程序的收发的情况下,配送装置将要求发送通信装置或更新装置的存储部中存储的进展信息的信号向通信装置或更新装置发送,接收到该信号的通信装置或更新装置将自身的存储部中存储的进展信息向配送装置发送。接收到该进展信息的配送装置对接收到的进展信息与自身的存储部中存储的进展信息进行比较,确定表示较慢的进展的进展信息,将确定出的进展信息存储于自身的存储部而进行更新,并且将更新后的进展信息向通信装置或更新装置发送。接收到该进展信息的通信装置或更新装置将接收到的进展信息存储于自身的存储部而进行更新。由此,配合配送装置和通信装置或更新装置中的信号的收发的进展较慢的一方,确定接下来应该收发的通信信号或新的计算机程序,所以防止在配送装置与通信装置或更新装置之间的信号的收发的进展偏离。[0038]5优选的是,所述通信装置或更新装置还具备判定部,该判定部判定由所,第二接收部接收到的进展信息所表示的进展与存储于本装置的存储部的进展信息所表示的进展相比,是否早了所述通信信号及新的计算机程序中的某一方的收发的2次以上,所述第二更新部在由所述判定部判定为没有早2次以上的情况下,将由所述第二接收部接收到的进展信息存储于本装置的存储部而进行更新,无论所述判定部的判定结果如何,所述第二发送部都将存储于本装置的存储部的进展信息向所述配送装置发送。[0039]在本方式中,通信装置或更新装置在不判定为从配送装置接收到的进展信息所表示的进展与自身的存储部中存储的进展信息所表示的进展相比早了通信彳目可以f新的计算机程序中的某一方的收发发送或接收)的2次以上的情况下,将接收到的进展信息存储于自身的存储部而进行更新,无论在更新的情况下还是在不更新的情况下,都将存储于自身的存储部的进展信息向配送装置发送。由此,通信装置或更新装置在根据所接收到的进展信息而判定为配送装置中的信号的收发的进展比预定的进展早的情况下,将存储于自身的存储部的进展信息不更新而向配送装置发送,所以能够使得在配送装置中不使信号的收发发生进展。另外,通信装置或更新装置在根据所接收到的进展信息而判定为配送装置中的信号的收发的进展不比预定的进展早的情况下,将所接收到的进展信息向配送装置发送,所以能够使存储于通信装置或更新装置的存储部的进展信息与配送装置中的信号的收发的进展相匹配。[0040]⑹优选的是,所述新的计算机程序被分割成多个,所述配送装置与所述通信装置或更新装置之间依次相互收发分割后的计算机程序。[0041]在本方式中,在配送装置与所述通信装置或更新装置之间依次收发被f割成多个的新的计算机程序。由此,关于分割后的一个个计算机程序,防止收发的进展偏离。[0042]7本发明的一个方式涉及一种配送装置,以能够通信的方式与执行基于存储器中存储有的计算机程序的处理的外部装置连接,通过在所述配送装置与所述外部装置之间相互收发通信信号及新的计算机程序,而将所述新的计算机程序向所述外部装置配送而使计算机程序更新,其中,具备:存储部,用于存储进展信息,所述进展信息表示所述通信信号及新的计算机程序的收发的进展;更新部,根据所述收发的进展,来更新存储于所述存储部的进展信息;发送部,将由该更新部更新后的进展信息向所述外部装置发送;接收部,从所述外部装置接收基于由该发送部发送的进展信息而由所述外部装置更新后的进展信息;以及确定部,根据由该接收部接收到的进展信息,来确定在所述配送装置与所述外部装置之间接下来应该收发的通信信号或新的计算机程序。[0043]在本方式中,配送装置当在与外部装置之间相互收发通信信号以及新的计算机程序的期间,将新的计算机程序向外部装置配送并使存储器内的计算机程序更新。配送装置根据收发的进展而将表示通信信号及新的计算机程序的收发的进展的进展信息存储于存储部而进行更新,并且将更新后的进展信息向外部装置发送。配送装置从外部装置接收基于发送到外部装置的进展信息而由外部装置更新后的进展信息,根据接收到的进展信息,来确定在配送装置与外部装置之间接下来应该收发的通信信号或新的计算机程序。由此,根据伴随着信号的收发的进展而由外部装置更新后的进展信息,来确定在配送装置与外部装置之间接下来应该收发的通信信号或新的计算机程序,所以防止配送装置和外部装置之间的信号的收发的进展偏离。[0044][本发明的实施方式的详细内容][0045]下面,参照附图,对本发明的实施方式的程序更新系统的具体例进行说明。此外,本发明不限定于这些示例,而是意图包含通过权利要求书来表示且与权利要求书等同的含义以及范围内的全部变更。另外,在各实施方式中记载的技术特征能够相互组合。[0046]实施方式1[0047]图1是示出本发明的实施方式1的程序更新系统的结构例的框图。程序更新系统构成为包括控制未图示的车载设备的一个或多个ECU2相当于通信装置以及外部装置)以及经由通信线4而以能够通信的方式与该ECU2连接的ECUla相当于配送装置)j⑶la例如也可以是接收从连接于一通信线的ECU2发送的信号并向连接于其他通信线的ECU2发送的中继装置。[0048]ECUla包括具有CPUCentralProcessingUnit,中央处理单元)11相当于处理器)的微型计算机而成。CPU11与存储控制程序120相当于计算机程序)等信息的ROMReadOnlyMemory,只读存储器)12相当于存储器)、存储临时地产生的信息的RAMRandomAccessMemory,随机存取存储器)13相当于存储部)以及对经过时间等进行计时的计时器15相互进行总线连接。R0M12包括闪存存储器、EPROMErasableProgrammableReadOnlyMemory,可擦除可编程只读存储器)、EEPR0MElectricallyEPROM:注册商标等非易失性存储器。RAM13包含DRAMDynamicRandomAccessMemory,动态随机存取存储器)、SRAMStaticRandomAccessMemory,静态随机存取存储器等能够改写的存储器。[0049]进一步地,在CPU11总线连接有进行基于CANControllerAreaNetwork,控域网)、LINLocalInterconnectNetwork,局域互连网络)、M0STMediaOrientedSystemsTransport,面向媒体的运输系统)、TCPIPTransmissionControlProtocolInternetProtocol,传输控制协议互联网协议)、AVTPAudioVideoTransportProtocol,音频视频传输协议)、FlexRay注册商标等通信标准的通信的通信部14以及内部存储装置16。内部存储装置16例如是硬盘装置或闪存存储器,从未图示的外部装置转送应该向ECU2发送的更新用控制程序160相当于新的计算机程序并进行存储。[0050]ECU2包括具有CPU21相当于处理器)的微型计算机而成。CPU21与存储控制程序220相当于计算机程序等信息的R0M22相当于存储器)、存储临时地产生的信息的RAM23相当于存储部)以及进行基于与通信部14相同的通信标准的通信的通信部24进行总线连接。R0M22例如是闪存存储器等能够改写的存储器。[0051]在上述结构中,E⑶la以及ECU2分别使用通信部14以及24来相互收发通信信号及更新用控制程序160下面将它们统一简称为信号),从而ECUla将更新用控制程序160向ECU2配送。这里所说的收发是指将1个通信信号或更新用控制程序160从ECUla以及ECU2中的一方发送、并由另一方接收的处理。ECU2为了将从E⑶la配送的更新用控制程序160覆写存储于R0M22的控制程序220而使该更新用控制程序160存储于R0M22,从而更新控制程序220。[0052]图2是示出在ECUla和ECU2之间收发的通信信号及更新用控制程序160的序列图。下面,用步骤编号(相当于表示收发的进展的进展信息表示收发的进展。在图2中,将控制程序220记为“软件”,将其版本记为“Ver”。另外,将与控制程序220的更新相关的处理称为重新编程或重编程。在本实施方式1中,更新用控制程序160被分割成更新文件161、162.•,但不限定于此。更新文件161、162••的一个个是在ECUla和ECU2之间收发的信号。图2所示的序列是一个例子,不限定于此。[0053]在执行重新编程时,E⑶la将当前的软件Ver信息要求通信信号之一)向ECU2发送步骤1,接收到它的ECU2将表示控制程序220的当前版本的信息包含在当前的软件Ver响应通信信号之一)中而回送给E⑶la步骤2。接下来,E⑶la确认控制程序22〇的版本是重新编程的对象版本,并将重编程准备完成通知通信信号之一)向ECU2发送步骤3,接收到它的E⑶2在自身是能够重新编程的状态的情况下,将可开始重编程响应通信信号之一)向E⑶la步骤4回送。[0054]接下来3^1将更新文件161、162..依次向£〇]2发送步骤5、6..。一方的E⑶2依次接收更新文件161、162••,并临时存储到RAM23内的缓冲区域未图示)』⑶la在将分割成多个的更新用控制程序160全部发送之后,将更新文件发送完成通知通信信号之一)向E⑶2发送涉骤a,接收到它的ECU2在正常接收到更新用控制程序160的情况下,将更新文件接收完成响应通信信号之一)向E⑶la回送步骤a+l。[0055]其后,E⑶la将软件更新要求通信信号之一)向ECU2发送步骤a+2,接收到它的ECU2在将存储于上述缓冲区域的更新用控制程序160覆写控制程序220并执行软件更新之后,将软件更新完成响应通信信号之一向E⑶la回送步骤a+3。[0056]在E⑶la以及ECU2各自的控制程序120以及220中,包括按以上的序列收发各通信信号以及更新文件161、162••的任务处理例程)。在本实施方式1中,将执行图2所示的收发的序列的任务称为“上位任务”,省略其流程图的记载。在基于这些上位任务的处理次序中,当在E⑶la和E⑶2之间通信临时地中断的情况下等,在E⑶la侧与E⑶2侧收发的进展有时不匹配。因此,分别在E⑶la侧以及E⑶2侧,在上述上位任务的下位设置下位任务,在下位任务中使收发的进展匹配。[0057]具体来说,在本实施方式1中,分别由ECUla以及E⑶2将步骤编号预先存储于RAM13以及23中。然后,每当在上位任务之间收发通信信号以及更新文件161、162••时,就在下位任务之间收发包括步骤编号的各种信号(下面称为下位信号),从而使在RAM13以及23中分别存储的步骤编号相匹配。[0058]例如,在中断了更新文件163的发送的情况下(参照图中的“X”记号),上位任务预先将与在再次开始时应该收发的更新文件163对应的步骤编号在图2的例子中是步骤7交接给下位任务,再次开始更新文件163的发送。以后,如果预先将通过下位任务而在RAM13和23之间匹配了的步骤编号从下位任务通知给上位任务,则可保持更新文件161、162、I63••的收发的连续性。关于在图2中用内部白色箭头表示的处理,在后述的实施方式2中进行说明。下面,针对在位于上位任务的下位的下位任务中收发下位信号的ECUla以及ECU2的动作,使用表示该动作的流程图来进行说明。[0059]图3是示出每当收发通信信号以及更新文件161、162••时收发包括步骤编号的下位信号的CPU11以及CPU21的处理次序的流程图。图3所示的ECU1a侧的下位任务的处理在重新编程从步骤1起开始时起动。另外,ECU2侧的下位任务的处理在重新编程能够从步骤1起开始时适时起动。在图3所示的ECUla侧以及ECU2侧各自的处理起动的情况下,将存储于RAM13以及23的步骤编号初始化为例如表示是步骤1的前一个步骤的“步骤o'cpuil设为每当上位任务收发通信信号以及更新文件161、162••中的某一方时,从上位任务指示步骤编号。关于重新编程是否完成,由上位任务进行管理。[0060]图3所示的处理的概要如下所述。E⑶la的CPU11为了跟踪由上位任务实施的通信信号以及更新文件161、162••的收发的进展,将从上位任务通知的收发的步骤编号存储到RAM13中而进行更新,将包括更新后的步骤编号的下位信号向EQ;2发送。接收到该下位信号的ECU2的CPUM判定所接收到的下位信号中所包括的步骤编号(下面将所接收到的各下位信号中所包括的步骤编号称为所接收到的步骤编号是否比存储于RAM23中的步骤编号大2以上。该判定是判定E⑶la侧的基于上位任务的信号的收发是否比E⑶2侧更早地进展。[0061]当在上述判定中判定为大2以上的情况下,CPU21不将所接收到的步骤编号存储到RAM23中,所以在相比预定的进展而紧邻之前执行的收发的步骤编号保持于RAM23。另一方面,当在上述判定中判定为不大2以上的情况下,CPU21将所接收到的步骤编号存储到RAM23中而进行更新,所以,将最后执行了的收发的步骤编号存储到RAM23中。因此,存储于RAM23而进行更新的步骤编号不会通过1次更新而增大2以上,在上位任务之间的收发如预定那样进展的情况下,通过每1次更新而增大1。在上位任务再次执行过去的收发的情况下,存储于RAM23而进行更新的步骤编号有时不变化,也有时减少。[0062]CPU21进一步地将包括存储于RAM23中的步骤编号的下位信号向ECuia回送。此处回送的下位信号中包括的步骤编号是确认了ECUla和ECU2之间的匹配性的步骤编号。接收到被回送了的下位信号的ECUla的CPU11确定对所接收到的步骤编号加丨而得到的步骤编号,并通知给上位任务。上位任务根据所通知的步骤编号,能够决定在与ECU2之间接下来应该收发的通信信号或更新文件。[0063]在图3的各处理实际起动的情况下,在ECUla侧,CPU11判定是否有来自上位任务)的步骤编号的指示(S11,在没有指示的情况下(S11:“否”),待机直至有指示为止。在有步骤编号的指示的情况下S11:“是”),CPU11将所通知的步骤编号存储到RAM13中而进行更新S12:相当于第一更新部),并且将更新后的步骤编号包含于信息通知信号并向ECU2发送S13:相当于第一发送部以及发送部)。[0064]在一方的ECU2中,CPU21判定是否接收到信息通知信号(S21:相当于第二接收部),在未接收到的情况下S21:“否”),待机直至接收到为止。在接收到信息通知信号的情况下S21:“是”),CPU21将所接收到的步骤编号通知给上位任务)(S22。上位任务优选根据所通知的步骤编号,变更接下来应该发送的信号,或变更接下来应该接收的信号的等待。[0065]接下来,CHJ21判定所接收到的步骤编号是否为存储于RAM23的步骤编号+2以上S23:相当于判定部),在不为所存储的步骤编号+2以上的情况下(S23:“否”),将所接收到的步骤编号存储到RAM23中而进行更新S24:相当于第二更新部)。在结束步骤S24的处理的情况下,或在所接收到的步骤编号为所存储的步骤编号+2以上的情况下S23:“是”),CPU21将存储于RAM23的步骤编号包含于信息响应信号并向E⑶la发送S25:相当于第二发送部)。[0066]此外,由E⑶2接收到的信息通知信号中所包括的步骤编号所表示的进展与存储于RAM23的步骤编号所表示的进展相比早了信号通信信号及更新用控制程序160的收发的1次的情况相当于最后的信号的收发的进展如预定那样的情况,没有早1次以上的情况相当于再次执行了过去的信号的收发的情况。[0067]其后,CPU21判定重新编程是否完成S%,在完成的情况下(S26:“是”),结束图3的处理。与此相对,在重新编程未完成的情况下(S26:“否”),yU21使处理转移到步骤S21,返回到信息通知信号的接收等待。[0068]在另一方的E⑶la中,CPU11在结束步骤S13的处理时,在开始由计时器15实施的规定时间的计时(S14后,判定是否接收到信息响应信号(S15:相当于第一接收部以及接收部)。这里的规定时间优选比在上位任务中监视信号的响应的时间短。在未接收到信息响应信号的情况下(S15:“否”),〇^11判定规定时间的计时是否结束S16,在未结束的情况下S16:“否”),使处理转移到步骤S15。[0069]在规定时间的计时结束的情况下S16:“是”),CPU11将存储于RAM13的步骤编号向上位任务通知SI7,使处理转移到步骤Sll,返回到来自上位任务)的指示等待。由此,上位任务能够判定为需要再次发送最后收发了的信号。在步骤S17中,也可以不通知步骤编号而通知表示超时的意思,在上位任务中决定其后的信号的收发的变更。[0070]当在步骤S15中接收到信息响应信号的情况下⑸5:“是”),CPU11确定比所接收到的步骤编号大1个号的步骤编号,并通知给上位任务)(S18:相当于确定部)。由此,决定在上位任务中接下来应该收发的通信信号或更新文件。此处通知给上位任务的步骤编号是和与上位任务预定接下来收发的信号相关的步骤编号一致、或是比它小的编号。E⑶la侧的上位任务例如对与接下来预定发送的更新文件相关的步骤编号和从下位任务通知的步骤编号进行核对。在核对结果一致的情况下,上位任务发送预定的更新文件。在核对结果不一致的情况下,上位任务使与更新文件相关的步骤编号返回到所通知的步骤编号。由此,上位任务能够以仅再次发送已发送的多个更新文件的一部分的形式,继续进行一系列的更新文件161、162••的发送。[0071]其后,CTO11判定重新编程是否完成S19,在完成的情况下(S19:“是”),结束图3的处理。与此相对,在重新编程未完成的情况下(S19:“否”),CPU11使处理转移到步骤S11,返回到来自上位任务的指示等待。[0072]参照图2,分成以下的案例来说明通过基于以上的流程图的处理而ECUla侧以及E⑶2侧各自的RAM13以及23中存储的步骤编号相匹配的情形。[0073]a从ECUla发送的通信信号例如,当前的软件Ver信息要求未由ECU2接收到、并且与该通信信号相应地从E⑶la发送的下位信号信息通知信号)由E⑶2接收到的案例。[0074]⑹从ECUla发送的通信信号例如,当前的软件Ver信息要求)由E⑶2接收到、并且与该通信信号相应地从E⑶la发送的下位信号信息通知信号未由E⑶2接收到的案例。[0075]c从E⑶2发送的通信信号例如,当前的软件Ver响应未由E⑶la接收到的案例。[0076]d从E⑶la发送的更新文件161、162••例如,更新文件161未由E⑶2接收到、并且与该更新文件161相应地从E⑶la发送的下位信号信息通知信号)由ECU2接收到的案例。[0077]e与从E⑶la发送的更新文件161、162••例如,更新文件161相应地从ECUla发送的下位信号信息通知信号未由E⑶2接收到的案例。[0078]f由于某些原因,E⑶la侧的上位任务中断了图2所示的序列的案例。[0079]a的案例:在根据当前的软件Ver信息要求,而从ECUla发送了信息通知信号的情况下,分别存储于RAM13以及23的步骤编号是步骤1。其后,将对由E⑶la接收到的信息响应信号中包括的步骤编号在这里是步骤1加1而得到的编号的步骤2通知给上位任务,但由于上位任务无法接收到当前的软件Ver响应,所以忽略该通知而再次发送当前的软件Ver信息要求。与该再次发送相应地从E⑶la发送的信息通知信号中包括的步骤编号是步骤1,所以不产生步骤编号的不匹配。[0080]b的案例:在根据该当前的软件信息要求而从ECUla发送的信息通知信号未由E⑶2接收到的状态下,将当前的软件Ver响应从E⑶2发送并由E⑶la接收到,从而在从ECTla发送了接下来的信息通知信号的情况下,分别存储于_13以及23的步骤编号是步骤2以及步骤1。接下来,在将对由ECUla接收到的信息响应信号中包括的步骤编号在这里是步骤1力口1而得到的编号的步骤2通知给上位任务的情况下,上位任务为了使步骤编号不前进到步骤3而返回到步骤2,再次发送当前的软件Ver信息要求。与该再次发送相应地从ECTla发送的信息通知信号中包括的步骤编号是步骤1,所以,存储于RAM13的步骤编号成为步骤U解除步骤编号的不匹配。[0081]C的案例:在根据当前的软件Ver信息要求而从ECUla发送了信息通知信号的情况下,分别存储于RAM13以及23的步骤编号是步骤UECUla的上位任务无法接收到当前的软件Ver响应,所以再次发送当前的软件Ver信息要求。与该再次发送相应地从E⑶la发送的信息通知信号中包括的步骤编号仍然是步骤1,所以不产生步骤编号的不匹配。[0082]d的案例:在与最先的更新文件161相应地从ECUla发送了信息通知信号的情况下,分别存储于RAM13以及23的步骤编号是步骤5。其后,能够构成为在从ECUla发送的更新文件162由ECU2接收到的情况下,ECU2的上位任务检测到更新文件的不连续而对ECTla要求再次发送。其后,与再次发送的更新文件161相应地从ECUla发送的信息通知信号中包括的步骤编号仍然是步骤5,所以不产生步骤编号的不匹配。[0083]e的案例:与前一个可开始重编程响应相应地从ECUla发送了信息通知信号,其结果,分别存储于RAM13以及23的步骤编号是步骤4。其后,当在与更新文件161相应地从E⑶la发送的信息通知信号未由ECU2接收到的状态下与更新文件I62相应地从E⑶la发送了信息通知信号的情况下,分别存储于RAM13以及23的步骤编号成为步骤6以及步骤4。接下来,将对由ECUla接收到的信息响应信号中包括的步骤编号(在这里是步骤4加1而得到的编号的步骤5通知给上位任务,所以上位任务再次发送更新文件iei。与该再次发送相应地从ECUla发送的信息通知信号中包括的步骤编号是步骤5,所以分别存储于RAM13以及23的步骤编号均成为步骤5,不匹配解除。此外,在该案例中,即使在最初的更新文件161未由E⑶2接收到的情况下,也不需要上位任务间的再次发送次序。[0084]f的案例:E⑶la侧的上位任务预先设成使图3所示的E⑶la侧的处理从步骤S11起再次开始、并等待指示步骤编号的状态,针对该处理,指示再次开始时的步骤编号。与此相应,图3所示的E⑶la侧的处理将在步骤S11中指示的步骤编号存储到RAM13中,从而将包括所存储的步骤编号的信息通知信号发送到ECU2,再次开始图3所示的整个处理。其后,以使存储于RAM13以及23的步骤编号相匹配的方式使处理推进,这通过上述案例a至e的说明而明确。[0085]如上所述,根据本实施方式1,在ECUla及E⑶2相互收发通信信号及更新用控制程序160的期间,使从ECUla配送给E⑶2的更新用控制程序160存储于本装置的R0M22中,从而更新R0M22内的控制程序220』〇11根据收发的进展而将表示通信信号及更新用控制程序160的收发的进展的步骤编号存储于RAM13而进行更新,并且将更新后的步骤编号包含于信息通知信号而向E⑶2发送。E⑶2基于从E⑶la接收到的信息通知信号中所包括的步骤编号,更新存储于RAM23中的步骤编号,并且将更新后的步骤编号包含于信息响应信号并向E⑶la发送。然后,ECUla根据从ECU2接收到的信息响应信号中所包括的步骤编号,来确定在与ECU2之间接下来应该收发的通信信号或更新用控制程序16〇。由此,根据信号的收发的进展和由ECU2更新后的步骤编号,来确定在ECUla与ECU2之间接下来应该收发的通信信号或更新用控制程序160,所以能够防止E⑶la和E⑶2之间的信号的收发的进展偏离。[0086]另外,根据实施方式1,E⑶la当在与ECU2之间相互收发通信信号及更新用控制程序160的期间,将更新用控制程序160向E⑶2配送来使R0M22内的控制程序220更新。E⑶la根据收发的进展而将表示通信信号及更新用控制程序160的收发的进展的步骤编号存储于RAM13而进行更新,并且,将更新后的步骤编号包含于信息通知信号并向E⑶2发送。E⑶la从ECU2接收包括基于包含于信息通知信号地发送到E⑶2的步骤编号而由ECU2更新后的步骤编号的信息响应信号,根据所接收到的信息响应信号中所包括的步骤编号,来确定在与E⑶2之间接下来应该收发的通信信号或更新用控制程序160。由此,根据信号的收发的进展和由E⑶2更新后的步骤编号,来确定在与E⑶2之间接下来应该收发的通信信号或更新用控制程序160,所以能够防止E⑶la和E⑶2之间的信号的收发的进展偏离。[0087]进一步地,根据实施方式1,E⑶2在不判定为从E⑶1a接收到的信息通知信号中所包括的步骤编号所表示的进展与RAM23中存储的步骤编号所表示的进展相比早了通信信号及更新用控制程序ieo中的某一方的收发发送或接收的2次以上的情况下,将所接收到的步骤编号存储于RAM23而进行更新,无论在更新的情况下还是在不更新的情况下,都将存储于RAM23的步骤编号包含于信息响应信号并向E⑶la发送。由此,ECU2在通过所接收到的步骤编号而判定为ECUla中的信号的收发的进展比预定的进展早的情况下,并不更新存储于RAM23中的步骤编号而是将其向ECUla发送,所以能够使得在ECUla中使信号的收发不发生进展。另外,E⑶2在通过所接收到的步骤编号而判定为E⑶1中的信号的收发的进展不比预定的进展早的情况下,将所接收到的步骤编号向ECUla发送,所以能够使存储于ECU2的RAM23中的步骤编号与E⑶la中的信号的收发的进展相匹配。[0088]进一步地,根据实施方式1,在中断了在E⑶la与ECU2之间进行的通信信号及更新用控制程序160的收发的情况下,E⑶la根据在再次开始时应该收发的通信信号或更新用控制程序160,来更新存储于RAM13中的步骤编号,并将更新后的步骤编号向Era2发送。以后,步骤编号的交换如上所述地进行。因此,在再次开始后,以使EOT1d^RAM13中存储的步骤编号与E⑶2的RAM23中存储的步骤编号相匹配的方式,确定在^:⑶化与此似之间接下来应该收发的通信信号或更新用控制程序160,所以能够防止E⑶1a和ECU2之间的信号的收发的进展偏离。[0089]实施方式2[0090]实施方式1是基于ECU2中的判定而由ECUla使分别在E⑶la以及E⑶2中存储的步骤编号匹配的方式,与此相对,实施方式2是由ECTla作为主体地使步骤编号匹配的方式。实施方式2中的程序更新系统的结构与实施方式丨的情况相同,所以,对与实施方式丨对应的部位附加相同的符号,并省略其说明。[0091]在实施方式1的例子中,包括在规定时间内无法接收到信息响应信号的情况参照图3的步^S17在内地,在再次开始了暂时中断的序列的情况下(参照f的案例),上位任务只要未能准确地掌握在再次开始时应该收发的信号的步骤编号,有时就无法防止E⑶la和ECU2之间的信号的收发的进展偏离。[0092]、因此,在本实施方式2中,如实施方式i的图2中的内部白色箭头所示,⑶2主动地询问步骤编号,对所取得的步骤编号与存储于RM13的步骤编号进行核对,将取得匹配的^骤编号向ECU2i^fl。以下,针对在位于执行图2所示的收发的序列的上位任务的下位的下位任务中收发下位信号的ECUla以及細的动作,使用表示该动作的流程图来进行说明。_3]图4是示出收发进行步骤编号的要求、响应以及通知的下位信号的圖丄以及CPU21的处理次序的流程图。图4所示的ECUla侧以及ECU2侧的下位任务的处理在暂时中断的重新编程再次开始时起动。在ECU2侧,例如也可以在信息通知信号的接收参照图3的步骤S21在一定时间内未完成时起动。^^[0094]图4所示的处理的概要如下所述。E⑶la的CPU11对E⑶2发送要求步骤编号的响应的下位信号。接收到该下位信号的ECU2将包括存储于RAM23中的步骤编号的下位信号向E⑶la发送。接收到该下位信号的ECUla对所接收到的步骤编号与存储于raM13的步^编号进行比较,确定号较小的步骤编号,将所确定的步骤编号存储于RAM13而进行更,新,务包括更新后的步骤编号的下位信号向E⑶2发送。接收到该下位信号的ECU2将所接收到^步骤编号存储于RAM23而进行更新。由此,存储于RAM13以及23的步骤编号相匹配。[0095]在图4的处理实际起动的情况下,在E⑶la侧,CPU11发送信息要求信号(S31:相当于第三发送部)。[0096]在一方的ECU2中,CHJ21判定是否接收到信息要求信号(S41:相当于第四接收部),在未接收到的情况下(S41:“否”),待机直至接收到为止。在接收到信息要求信号的情况下S41:“是”),CPU21读出存储于RAM23的步骤编号(S42,将所读出的步骤编号包含于信息响应信号并向E⑶la发送S43:相当于第五发送部)。[0097]在另一方的ECUla中,CPU11判定是否接收到信息响应信号(S:32:相当于第三接收部),在未接收到的情况下(S32:“否”),待机直至接收到为止。在接收到信息响应信号的情况下(S32:“是”),CPU11对所接收到的步骤编号与RAM13中存储的步骤编号进行比较S33:相当于比较部),基于比较结果,确定编号较小的步骤编号S34:相当于第二确定部)。[0098]接下来,CPU11将确定出的步骤编号存储于RAM13而进行更新S35:相当于第三更新部),并且将更新后的步骤编号包含于信息变更信号并向ECU2发送S36:相当于第四发送部)XPU11在将表示应该变更为更新后的步骤编号的意思通知给上位S37后,使处理向步骤S11参照图3转移。以后,CPU11执行图3所示的ECUla侧的处理。从下位任务通知了步骤编号的变更的上位任务例如将与更新文件相关的步骤编号变更为所通知的步骤编号。由此,上位任务能够从一系列的更新文件161、162••的发送的中途再次开始处理。[0099]在一方的ECU2中,CHJM判定是否接收到信息变更信号(S44:相当于第五接收部),在未接收到的情况下(S44:“否”),待机直至接收到为止。在接收到信息变更信号的情况下S44:“是”),CHJ21在将所接收到的步骤编号存储于RAM23而进行更新(S45:相当于第四更新部)、并且将表示应该变更为更新后的步骤编号的意思通知给上位S46后,使处理向步骤S21参照图3转移。以后,CPU21执行图3所示的E⑶2侧的处理。[0100]如上所述,根据本实施方式2,在中断了ECUla与ECU2之间的计算机程序的收发的情况下,E⑶la将要求发送E⑶2的RAM23中存储的步骤编号的信息要求信号向ECU2发送,接收到该信息要求信号的ECU2将RAM23中存储的步骤编号包含于信息响应信号而向ECUla发送。接收到该信息响应信号的E⑶1a对信息响应信号中包括的步骤编号与RAM23中存储的步骤编号进行比较,确定编号较小的步骤编号,将确定出的步骤编号存储于RAM13而进行更新,并且,将更新后的步骤编号包含于信息变更信号并向ECU2发送。接收到该信息变更信号的ECU2将在信息变更信号中所包括的步骤编号存储于RAM23而进行更新。由此,配合ECUla以及ECU2中的信号的收发的进展较慢的一方,确定接下来应该收发的通信信号或更新用控制程序160,所以能够防止ECUla和E⑶2之间的信号的收发的进展偏离。[0101]实施方式3[0102]实施方式1是ECUla将存储于内部存储装置I6的更新用控制程序160向ECU2发送、并且接收到它的ECU2更新存储于R0M22的控制程序220的方式。与此相对,实施方式3是更新装置3将存储保持于内部存储装置的更新用控制程序向ECUlb发送、ECUlb将所接收到的更新用控制程序进一步地向ECU2发送、并且接收到它的E⑶2更新存储于ROMM的控制程序220的方式。[0103]图5是示出本发明的实施方式3的程序更新系统的结构例的框图。程序更新系统包括一个或多个E⑶2相当于通信装置)、E⑶lb相当于配送装置)以及更新装置3,它们经由通信线4以能够通信的方式连接。更新装置3例如也可以经由ECUlb的未图示的OBDOn-BoardDiagnostics,车上诊断系统连接器,用连接电缆进行连接。[0104]ECUlb与实施方式1的图1所示的ECUla相比,缺少内部存储装置16,其他结构与ECUla相同。[0105]更新装置3包括具有CPU31相当于处理器)的微型计算机而成。CPU31与存储控制程序320相当于计算机程序等信息的R0M32相当于存储器)、存储临时地产生的信息的RAM33相当于存储部)、进行基于与通信部14、24相同的通信标准的通信的通信部34、对经过时间等进行计时的计时器35以及内部存储装置36进行总线连接。[0106]内部存储装置36例如是硬盘装置或闪存存储器,预先存储有应该向ECUlb发送的更新用控制程序360相当于新的计算机程序)。此外,对与实施方式1对应的部位附加相同的符号,并省略其说明。[0107]在上述结构中,E⑶lb以及更新装置3分别使用通信部14以及M来相互收发通信信号及更新用控制程序360下面将它们统一简称为信号),从而E⑶lb从更新装置3取得更新用控制程序360401113将所取得的更新用控制程序360按实施方式1所示的次序向E⑶2配送,E⑶2为了将配送了的更新用控制程序360覆写存储于R0M22的控制程序220而使该更新用控制程序360存储于R0M22,从而更新控制程序220。[0108]图6是示出在更新装置3、ECUlb和E⑶2之间收发的通信信号及更新用控制程序360的序列图。在本实施方式3中,将更新用控制程序360分割成更新文件361、362«•,但不限定于此。更新文件36U362••的一个个是在更新装置3和EOTlb之间以及ECUlb和E⑶2之间收发的信号。图6所示的序列是一个例子,不限定于此。下面,主要说明更新装置3和E⑶lb之间的通信序列。例如,更新用控制程序360的收发中断以及再次开始的情况下的序列包括进行步骤编号的询问、核对、通知的情况,与实施方式1的图2所示的序列相同,所以,省略向图6的记载。关于E⑶lb和E⑶2之间的通信序列,由于在实施方式1中已经说明,所以在这里省略说明。[0109]在执行重新编程时,E⑶lb将软件新Ver有无确认要求通信信号之一)向更新装置3发送步骤1,接收到它的ECU2在更新用控制程序360存储于内部存储装置36中的情况下,将软件新Ver有无响应有)(通信信号之一)向E⑶lb回送步骤2。接下来,ECUlb确认ECU2的控制程序220的版本是重新编程的对象版本,将更新文件DL准备要求通信信号之一)向更新装置3发送步骤3,接收到它的更新装置3将更新文件发送准备完成响应通信信号之一)向ECUlb回送步骤4。[0110]接下来,E⑶lb将更新文件发送要求通信信号之一)向更新装置3发送步骤5,接收到它的更新装置3将更新文件361、362••依次向ECUlb发送步骤6、7.y。更新装置3在将分割成多个的更新用控制程序360全部发送之后,将更新文件发送结束通知通信信号之一)向EOTlb发送步骤a。接收到它的milb在正常接收到更新用控制程序360的情况下,将更新文件接收完成响应通信信号之一)向更新装置3回送步骤a+1。其后,在ECUlb和E⑶2之间的处理次序结束的情况下,E⑶lb将重编程完成响应通信信号之一)向更新装置3发送步骤a+2,结束重新编程。[0111]在ECUlb及更新装置3各自的控制程序120及320中,包括按以上的序列收发各通信信号以及更新文件361、362••的上位任务。在这里,省略执行图6所示的收发的序列的上位任务的流程图的记载。在这些由上位任务实施的处理次序中,当在E⑶lb和更新装置3之间通信临时地中断的情况等下,在ECUlb侧与更新装置3侧收发的进展有时不匹配。因此,分别在ECUlb侧以及更新装置3侧,在上述上位任务的下位设置下位任务,在下位任务中使收发的进展匹配。[0112]具体来说,在本实施方式3中,分别由ECUlb以及更新装置3将步骤编号预先存储于RAM13以及33中。然后,每当在上位任务之间收发通信信号以及更新文件361、362••时,就在下位任务之间收发包括步骤编号的下位信号,从而使分别存储于RAM13以及33的步骤编号匹配。[0113]此外,关于示出由ECUlb以及更新装置3收发下位信号的下位任务的动作的流程图,由于与在实施方式1的图3中用E⑶lb以及更新装置3分别置换ECUla以及E⑶2而得到的流程图相同,所以省略流程图的图示及其说明。[0114]参照图6,分成以下的案例来说明通过基于图3所示的流程图的处理而ECUlb侧以及更新装置3侧各自的RAM13以及33中存储的步骤编号相匹配的情形。[0115]a从E⑶lb发送的通信信号例如,软件新Ver有无确认要求未由更新装置3接收至IJ、并且与该通信信号相应地从E⑶lb发送的下位信号信息通知信号)由更新装置3接收到的案例。[0116]b从ECUlb发送的通信信号(例如,软件新Ver有无确认要求)由更新装置3接收至IJ、并且与该通信信号相应地从ECUlb发送的下位信号信息通知信号未由更新装置3接收到的案例。[0117]c从更新装置3发送的通信信号(例如,软件新Ver有无响应未由ECUlb接收到的案例。[0118]山从更新装置3发送的更新文件361、362**例如,更新文件361未由£^1的妾收到、并且与该更新文件361相应地从E⑶lb发送的下位信号信息通知信号)由更新装置3接收到的案例。[0119]e与从更新装置3发送的更新文件361、362••例如,更新文件361相应地从E⑶lb发送的下位信号信息通知信号未由更新装置3接收到的案例。[0120]f由于某些原因,E⑶lb侧的上位任务中断了图6所示的序列的案例。[0121]关于a、⑹以及c各自的案例,与实施方式1的a、⑹以及c的情况同样地,不产生不匹配是清楚的,所以省略详细说明。[0122]d的案例:在与最初的更新文件361相应地从E⑶lb发送了信息通知信号的情况下,分别存储于RAM13以及33的步骤编号是步骤6。其后,能够构成为在从更新装置3发送的更新文件362由ECUlb接收到的情况下,E⑶lb的上位任务检测到更新文件的不连续,对更新装置3要求再次发送。其后,与再次发送的更新文件361相应地从ECUlb发送的信息通知信号中包括的步骤编号仍然是步骤6,所以不产生步骤编号的不匹配。[0123]e的案例:作为与前一个更新文件发送要求相应地从ECUlb发送了信息通知信号的结果,分别存储于RAM13以及33的步骤编号是步骤5。其后,当在与更新文件361相应地从ECUlb发送的信息通知信号未由更新装置3接收到的状态下与更新文件362相应地从E⑶lb发送了信息通知信号的情况下,分别存储于RAM13以及33的步骤编号成为步骤7以及步骤5。接下来,将对由E⑶lb接收到的信息响应信号中包括的步骤编号在这里是步骤5加1而得到的编号的步骤6通知给上位任务,所以上位任务再次发送更新文件361。与该再次发送相应地从ECUlb发送的信息通知信号中包括的步骤编号是步骤6,所以分别存储于RAM13以及33的步骤编号均成为步骤6,不匹配解除。此外,在该案例中,即使在最初的更新文件361未由E⑶lb接收到的情况下,也不需要上位任务间的再次发送次序。[0124]f的案例:E⑶lb侧的上位任务预先设成使图3所示的ECUla在上述置换后是ECUlb侧的处理从步骤S11起再次开始、等待指示步骤编号的状态,针对该处理,指示再次开始时的步骤编号。与此相应,图3所示的ECUlalb侧的处理将在步骤S11中指示的步骤编号存储于RAM13,从而将包括RAM13中存储的步骤编号的信息通知信号向ECU2发送在上述置换后是更新装置3,再次开始图3所示的整个处理。其后,以使存储于RAM13以及33的步骤编号相匹配的方式使处理推进,这通过上述案例a至e的说明而清楚。[0125]此外,在本实施方式3中,将表示E⑶lb和更新装置3之间的信号的收发的进展的步骤编号设为与实施方式1中的E⑶la和ECU2之间的信号的收发的情况相同的连续编号,但也可以明示地区分这些步骤编号。例如,也可以设为软件新Ver有无确认要求:步骤1__1、软件新Ver有无响应:步骤1_2、更新文件DL准备要求:步骤1_3,•••,并且设为当前的软件Ver信息要求:步骤2_1、当前的软件Ver响应:步骤2_2、重编程准备完成通知:步骤2_3---〇[0126]另外,例如,为了用作为连续编号的步骤编号来表示ECUlb、更新装置3和ECU2相互间的信号的收发的进展,也可以设为软件新Ver有无确认要求:步骤1、软件新Ver有无响应:步骤2、当前的软件Ver信息要求:步骤3、当前的软件Ver响应:步骤4、更新文件DL准备要求:步骤5*•••。在如上述2个例子那样明示地区分全部步骤编号的情况下,E⑶lb也可以不需要区分下位信号的发送目的地,对信息通知信号进行广播。[0127]如上所述,根据本实施方式3,在E⑶lb以及更新装置3相互收发通信信号及更新用控制程序3e〇的期间,ECUlb从更新装置3取得新的计算机程序。ECUlb将所取得的新的计算机程序向ECU2配送,E⑶2使配送了的新的计算机程序存储于本装置的R0M22,从而更新存储器内的计算机程序。E⑶lb根据收发的进展而将表示通信信号及更新用控制程序360的收发的进展的步骤编号存储于RAM13而进行更新,并且,将更新后的步骤编号包含于信息通知信号而向更新装置3发送。更新装置3基于从ECUlb接收到的信息通知信号中所包括的步骤编号,来更新存储于RAM33的步骤编号,并且,将更新后的步骤编号包含于信息响应信号而向E⑶lb发送。然后,E⑶lb根据从更新装置3接收到的信息响应信号中所包括的步骤编号,来确定在与更新装置3之间接下来应该收发的通信信号或更新用控制程序360。由此,根据伴随着信号的收发的进展而由更新装置3更新后的步骤编号,来确定在ECUlb与更新装置3之间接下来应该收友的通伝彳習号或更新用控制程序360,所以能够防止ECTlb和更新装置3之间的信号的收发的进展偏离。[0128]另外,根据实施方式1,在中断了在K:Ulb与更新装置3之间进行的通信信号及更新用控制程序36〇的收发的情况下,E⑶1b根据在再次开始时应该收发的通信信号或更新用搜制程序36〇,来^新存储于RAM13中的步骤编号,将更新后的步骤编号向更新装置3发送。$后,步骤编号的交换如上所述地进行。因此,在再次开始后,以使E⑶1b的RAM13中存储的步骤编号与更新装置3的RAM33中存储的步骤编号相匹配的方式,确定在EOTlb与更新装置3之间接下来应该收发的通信信号或更新用控制程序360,所以能够防止E⑶lb和更新装置3之间的信号的收发的进展偏离。[0129]进一步地,根据实施方式1或3,在E⑶la和E⑶2之间(或E⑶lb和更新装置3之间)依次收发分割成多个的更新用控制程序160或更新用控制程序36〇。由此,关于分割而得到的更新文件161、162,*或更新文件361、362..,能够防止收发的进展偏离。[0130]标号说明[0131]la、lb、2ECU[0132]11、21、31CPU[0133]12、22、32ROM[0134]120、220、320控制程序[0135]13、23、33RAM[0136]14,24,34通信部[0137]15、35计时器[0138]16,36内部存储装置[0139]160360更新用控制程序[0140]3更新装置[0141]4通信线。

权利要求:1.一种程序更新系统,具备处理器的多个装置以能够通信的方式被连接,所述处理器执行基于存储器中存储有的计算机程序的处理,通过配送计算机程序的配送装置及通信装置相互收发通信信号及新的计算机程序,所述程序更新系统使配送给所述通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,所述配送装置及通信装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置具备:第一更新部,根据所述收发的进展,来更新存储于本装置的存储部的进展信息;第一发送部,将由该第一更新部更新后的进展信息向所述通信装置发送;第一接收部,在由该第一发送部发送了进展信息的情况下,从所述通信装置接收存储于所述通信装置的存储部的进展信息;以及确定部,根据由该第一接收部接收到的进展信息,来确定在所述配送装置与所述通信装置之间接下来应该收发的通信信号或新的计算机程序,所述通信装置具备:第二接收部,接收从所述配送装置发送的进展信息;第二更新部,基于由该第二接收部接收到的进展信息,来更新存储于本装置的存储部的进展信息;以及第二发送部,将由该第二更新部更新后的进展信息向所述配送装置发送。2.—种程序更新系统,具备处理器的多个装置以能够通信的方式被连接,所述处理器执行基于存储器中存储有的计算机程序的处理,通过配送计算机程序的配送装置及保持应该配送的计算机程序的更新装置相互收发通信信号以及新的计算机程序,所述程序更新系统将所述配送装置所取得的新的计算机程序向通信装置配送,使配送给该通信装置的新的计算机程序存储于本装置的存储器来更新计算机程序,其中,_所述配送装置及更新装置分别具备用于存储进展信息的存储部,所述进展信息表示所"述通信信号及新的计算机程序的收发的进展,所述配送装置具备:第一更新部,根据所述收发的进展,来更新存储于本装置的存储部的进展信息;第一发送部,将由该第一更新部更新后的进展信息向所述更新装置发送;第一接收部,在由该第一发送部发送了进展信息的情况下,从所述更新装置接收存储于所述更新装置的存储部的进展信息;以及_确定部,根据由该第一接收部接收到的进展信息,来确定在所述配送装置与所述更'新装置之间接下来应该收发的通信信号或新的计算机程序,所述更新装置具备:第二接收部,接收从所述配送装置发送的进展信息;+第二更新部,基于由该第二接收部接收到的进展信息,来更新存储于本装置的存储部的进展信息;以及第二发送部,将由该第二更新部更新后的进展信息向所述配送装置发送。3.根据权利要求1或2所述的程序更新系统,其中,^在中断了所述通信信号及新的计算机程序的收发的情况下,所述配送装置根据应该再次开始收发的通信信号或新的计算机程序,来更新通过所述第一更新部存储于本装®的存储部的进展信息。4.根据权利要求1或2所述的程序更新系统,其中,所述配送装置还具备:第三发送部,在中断了所述通信信号及新的计算机程序的收发的情况下,将要求发送存储于所述通信装置或更新装置的存储部的进展信息的信号向所述通信装置或更新装置发送;第三接收部,在由该第三发送部发送了信号的情况下,从所述通信装置或更新装置接收存储于所述通信装置或更新装置的存储部的进展信息;^比较部,对由该第三接收部接收到的进展信息与存储于本装置的存储部的进展信息进行比较;第二确定部,基于该比较部的比较结果,来确定表示较慢的进展的进展信息^、_第三更新部,将由该第二确定部确定出的进展信息存储于本装置的存储部而进行更新;以及第四发送部,将由该第三更新部更新后的进展信息向所述通信装置或更新装置发送,所述通信装置或更新装置还具备:第四接收部,从所述配送装置接收要求发送所述进展信息的信号;第五发送部,在由该第四接收部接收到信号的情况下,将存储于本装置的存储部的进展信息向所述配送装置发送;第五接收部,在由该第五发送部发送了进展信息的情况下,从所述配送装置接收存储于所述配送装置的存储部的进展信息;以及_第四更新部,将由该第五接收部接收到的进展信息存储于本装置的存储部而进行更新。5.根据权利要求1至4中的任一项所述的程序更新系统,其中,所述通信装置或更新装置还具备判定部,该判定部判定由所_述第二接收部接收到的进展信息所表示的进展与存储于本装置的存储部的进展信息所表示的进展相比,是否早了所述通信信号及新的计算机程序中的某一方的收发的2次以上,所述第二更新部在由所述判定部判定为没有早2次以上的情况下,将由所述第二接收部接收到的进展信息存储于本装置的存储部而进行更新,无论所述判定部的判定结果如何,所述第二发送部都将存储于本装置的存储部的进展信息向所述配送装置发送。6.根据权利要求1至5中的任一项所述的程序更新系统,其中,所述新的计算机程序被分割成多个,所述配送装置与所述通信装置或更新装置之间依次相互收发分割后的计算机程序。7.—种配送装置,以能够通信的方式与执行基于存储器中存储有的计算机程序的处理的外部装置连接,通过在所述配送装置与所述外部装置之间相互收发通信信号及新的计算机程序,而将所述新的计算机程序向所述外部装置配送而使计算机程序更新,其中,具备:存储部,用于存储进展信息,所述进展信息表示所述通信信号及新的计算机程序的收发的进展;更新部,根据所述收发的进展,来更新存储于所述存储部的进展信息;发送部,将由该更新部更新后的进展信息向所述外部装置发送;接收部,从所述外部装置接收基于由该发送部发送的进展信息而由所述外部装置更新后的进展信息;以及确定部,根据由该接收部接收到的进展信息,来确定在所述配送装置与所述外部装置之间接下来应该收发的通信信号或新的计算机程序。8.—种程序更新方法,在具备执行基于存储器中存储有的计算机程序的处理的处理器的多个装置以能够通信的方式被连接的通信系统中,通过配送计算机程序的配送装置及通信装置相互收发通信信号及新的计算机程序,而使配送给所述通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,_所述配送装置及通信装置分别具备用于存储进展信息的存储部,所述进展信息表示所述通信信号及新的计算机程序的收发的进展,所述配送装置根据所述收发的进展来更新存储于本装置的存储部的进展信息,将更'新后的进展信息向所述通信装置发送,从所述通信装置接收存储于所述通信装置的存储部的进展信息,并根据接收到的进展信息来确定在所述配送装置与所述通信装置之间接下来应该收发的通信伯号或新的计算机程序,所述通信装置接收从所述配送装置发送的进展信息,基于接收到的进展信息来更新存储于本装置的存储部的进展信息,并将更新后的进展信息向所述配送装置发送。9.一种程序更新方法,在具备执行基于存储器中存储有的计算机程序的处理的处理器的多个装置以能够通信的方式被连接的通信系统中,通过配送计算机程序的配送装置及保持应该配送的计算机程序的更新装置相互收发通信信号及新的计算机程序,而将所述配送装置所取得的新的计算机程序向通信装置配送,使配送给该通信装置的新的计算机程序存储于本装置的存储器而更新计算机程序,其中,_所述配送装置及更新装置分别具备用于存储进展信息的存储部,所述进展信息表$所述通信信号及新的计算机程序的收发的进展,所述配送装置根据所述收发的进展来更新存储于本装置的存储部的进展信息,将更,新后的进展信息向所述更新装置发送,从所述更新装置接收存储于所述更新装置的存储部的进展信息,并根据接收到的进展信息来确定在所述配送装置与所述更新装置之间接下来应该收发的通信信号或新的计算机程序,所述更新装置接收从所述配送装置发送的进展信息,基于接收到的进展信息来更新存储于本装置的存储部的进展信息,并将更新后的进展信息向所述配送装置发送。

百度查询: 株式会社自动网络技术研究所;住友电装株式会社;住友电气工业株式会社 程序更新系统、配送装置以及程序更新方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。