JP6915500B2 - 更新システム、電子制御装置、更新管理装置、及び更新管理方法 - Google Patents

更新システム、電子制御装置、更新管理装置、及び更新管理方法 Download PDF

Info

Publication number
JP6915500B2
JP6915500B2 JP2017214241A JP2017214241A JP6915500B2 JP 6915500 B2 JP6915500 B2 JP 6915500B2 JP 2017214241 A JP2017214241 A JP 2017214241A JP 2017214241 A JP2017214241 A JP 2017214241A JP 6915500 B2 JP6915500 B2 JP 6915500B2
Authority
JP
Japan
Prior art keywords
update
program
electronic control
updated
management device
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.)
Active
Application number
JP2017214241A
Other languages
English (en)
Other versions
JP2019084941A (ja
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2017214241A priority Critical patent/JP6915500B2/ja
Priority to US16/159,117 priority patent/US11354114B2/en
Publication of JP2019084941A publication Critical patent/JP2019084941A/ja
Priority to US17/304,370 priority patent/US11960877B2/en
Priority to JP2021116214A priority patent/JP2021169308A/ja
Application granted granted Critical
Publication of JP6915500B2 publication Critical patent/JP6915500B2/ja
Priority to JP2023034036A priority patent/JP2023075222A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、更新システム、電子制御装置、更新管理装置、及び更新管理方法に関する。
複数のコンピュータを含む計算機システムにおいて、複数のコンピュータ間におけるファームウェアのバージョンの不一致を防止する技術が知られている。
例えば、特許文献1には、計算機システムにおいて、2つのコンピュータに稼動系及び待機系の2つの記憶媒体を持たせ、システムの電源がオフされるときに、一方のコンピュータの待機系に記憶されたファームウェアを他方のコンピュータの待機系にロードする。また、計算機システムの電源がオンされるときに、2つのコンピュータの稼動系と待機系とを切替え、2つのコンピュータを待機系に記憶したファームウェアで起動させる。これにより、計算機システムの電源がオンされるまで、2つのコンピュータの稼働系と待機系との切替えが行われないので、2つのコンピュータにおけるファームウェアのバージョンの不一致を防止することができること等が開示されている。
特開2011−86150号公報
例えば、自動車等の車両には、所定の制御を行う複数の電子制御装置が搭載されている。これらの電子制御装置は、例えば、イグニッション電源、常時供給電源、アクセサリ電源等、異なる電源系統に接続され、起動又は再起動されるタイミングが電子制御装置によって異なる。
特許文献1に開示された技術では、例えば、車両のように、起動又は再起動されるタイミングが異なる複数の電子制御装置を含むシステムにおいて、複数の電子制御装置が実行するプログラムを更新する際に、バージョンの不整合を防止することは困難である。
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、起動又は再起動されるタイミングが異なる複数の電子制御装置が実行するプログラムを更新する更新システムにおいて、プログラムのバージョンの不整合を防止する。
上記の課題を解決するため、本発明の一実施形態に係る更新システムは、所定の制御を行う複数の電子制御装置と、前記複数の電子制御装置が実行するプログラムの更新を管理する更新管理装置とを含む更新システムであって、前記更新管理装置は、前記複数の電子制御装置にプログラムの更新を要求する要求部と、前記複数の電子制御装置から通知される前記プログラムの更新結果を記憶する記憶部と、を有し、前記電子制御装置は、更新前のプログラムを記憶する第1の記憶領域と、更新後のプログラムを記憶する第2の記憶領域と、前記更新管理装置からの要求に応じて、前記第2の記憶領域に前記更新後のプログラムを記憶し、前記更新後のプログラムを用いて起動し、前記更新結果を前記更新管理装置に通知する更新部と、前記記憶部に記憶された前記更新結果が、前記複数の電子制御装置における前記プログラムの更新が完了したことを示す場合、前記第2の記憶領域に記憶した前記更新後のプログラムによる前記所定の制御を開始させる切替部と、を有し、前記更新管理装置は、前記記憶部に記憶された前記更新結果が、前記プログラムの更新が完了していない電子制御装置があることを示す場合、前記複数の電子制御装置に、前記更新前のプログラムによる前記所定の制御を要求する切替要求を通知し、前記切替部は、前記更新管理装置から前記切替要求を受付した場合、前記第1の記憶領域に記憶した前記更新前のプログラムを用いて前記所定の制御を実行させる。
これにより、本発明の一実施形態に係る更新システムでは、更新管理装置が、更新対象となる複数の電子制御装置にプログラムの更新を要求し、複数の電子制御装置から通知される更新結果を記憶部に記憶する。また、複数の電子制御装置は、更新管理装置からの要求に応じて、第2の記憶領域に更新後のプログラムを記憶し、複数の電子制御装置におけるプログラムの更新が完了したとき、更新後のプログラムによる制御を開始する。従って、複数の電子制御装置は、複数の電子制御装置におけるプログラムの更新が完了するまで、更新後のプログラムによる制御を開始しないので、プログラムのバージョンの不整合を防止することができる。
また、更新管理装置は、複数の電子制御装置の中に、プログラムの更新が完了していない電子制御装置が含まれる場合、複数の電子制御装置に、更新前のプログラムを用いて所定の制御を実行させることができる。
上述の実施形態において、前記更新管理装置は、前記記憶部に記憶された前記更新結果が、前記複数の電子制御装置における前記プログラムの更新が完了したことを示す場合、前記更新後のプログラムによる前記所定の制御の開始を要求する開始要求を、前記複数の電子制御装置に通知する切替制御部を有し、前記切替部は、前記切替制御部から通知される前記開始要求に応じて、前記更新後のプログラムによる前記所定の制御を開始させると良い。
これにより、更新管理装置は、複数の電子制御装置におけるプログラムの更新が完了したとき、複数の電子制御装置に、更新後のプログラムによる所定の制御を開始させることができる。
上述の実施形態において、前記切替部は、前記更新管理装置から通知される前記開始要求を受付するまで、前記更新後のプログラムによる前記所定の制御を禁止すると良い。
これにより、更新管理装置は、複数の電子制御装置におけるプログラムの更新が完了する前に、プログラムの更新を完了した電子制御装置が、更新後のプログラムによる所定の制御を開始してしまうことを、より確実に防止することができる。
上述の実施形態において、前記切替部は、前記電子制御装置が、前記更新後のプログラムを用いて再起動した後に、前記切替制御部から前記切替要求を受付した場合、前記第1の記憶領域に記憶した前記更新前のプログラムを用いて前記電子制御装置を再起動させると良い。
これにより、電子制御装置は、更新後のプログラムを用いて起動した後でも、更新管理装置からの切替要求を受付した場合、更新前のプログラムで所定の制御を行うことができる。
上述の実施形態において、前記複数の電子制御装置は、車両に搭載され、前記車両のイグニッション電源を用いて動作する第1の電子制御装置と、前記車両に搭載され、前記車両の常時供給電源を用いて動作する第2の電子制御装置と、を含むものであって良い。
これにより、更新システムは、起動又は再起動されるタイミングが異なる複数の電子制御装置を搭載する車両において、電子制御装置のプログラムを更新する際に、プログラムのバージョンの不整合を防止することができる。
上述の実施形態において、前記第2の電子制御装置は、前記第2の記憶領域に前記更新後のプログラムを記憶した後の前記車両のイグニッションオンに応じて、前記更新後のプログラムを用いて前記第2の電子制御装置を再起動させる起動制御部を有すると良い。
これにより、イグニッションオン時に、常時供給電源に接続された第2の電子制御装置のプログラムを、更新前のプログラムから更新後のプログラムに切替えすることができる。
また、本発明の他の実施形態では、前記第1の電子制御装置、及び前記第2の電子制御装置は、前記第2の記憶領域に前記更新後のプログラムを記憶した後に、前記更新管理装置から通知される切替指示に応じて、前記更新後のプログラムを用いて、自装置を再起動させる起動制御部を有する。
これにより、更新システムは、イグニッションオン時とは異なるタイミングでも、複数の電子制御装置が所定の制御を実行するプログラムを、更新前のプログラムから更新後のプログラムに切替えすることができる。
また、他の実施形態は、電子制御装置、更新管理装置、及び更新管理方法により実現される。
本発明の実施の形態によれば、起動又は再起動されるタイミングが異なる複数の電子制御装置が実行するプログラムを更新する更新システムにおいて、プログラムのバージョンの不整合を防止することができる。
一実施形態に係る更新システムのシステム構成の例を示す図である。 一実施形態に係る更新管理装置、及びECUのハードウェア構成の例を示す図である。 第1の実施形態に係る更新管理装置、及びECUの機能構成の例を示す図である。 第1の実施形態に係る更新結果記憶部に記憶される更新結果の例を示す図である。 第1の実施形態に係るブート情報について説明するための図である。 第1の実施形態に係る更新管理装置の処理の例を示すフローチャートである。 第1の実施形態に係るECUの処理の例を示すフローチャートである。 第1の実施形態に係る更新システムの処理の例を示すシーケンス図(1)である。 第1の実施形態に係る更新システムの処理の例を示すシーケンス図(2)である。 第2の実施形態に係るECUの構成のイメージを示す図である。 第2の実施形態に係る更新システムの処理の例を示すシーケンス図である。
以下、図面を参照して発明を実施するための形態について説明する。
<システム構成>
図1は、一実施形態に係る更新システムのシステム構成の例を示す図である。更新システム1は、所定の制御を行う複数のECU(電子制御装置:Electronic Control Unit)111a、111b、111c、112a、112bと、複数のECUにおけるプログラムの更新を管理する更新管理装置100とを含む。
図1の例では、複数のECU、及び更新管理装置100は、自動車等の車両10に搭載され、車載ネットワーク140を介して、互いに通信可能に接続されている。また、複数のECUには、車両10のイグニッション電源(IG電源)に接続されるECU111a、111b、111c、・・・と、常時供給電源(+B電源)に接続されるECU112a、112b、・・・とが含まれる。
なお、以下の説明の中で、ECU111a、111b、111c、・・・のうち、イグニッション電源に接続される任意のECUを示す場合、「ECU111」を用いる。また、ECU112a、112b、・・・のうち、常時供給電源に接続される任意のECUを示す場合、「ECU112」を用いる。
ECU111(第1の電子制御装置)は、例えば、車両10のエンジンやブレーキ等を制御する車両制御系のECUであり、車両10のイグニッションオン(以下、IG−ONと呼ぶ)に応じて起動して、エンジン制御、ブレーキ制御等の所定の制御を行う。また、ECU111は、例えば、車両10のイグニッションオフ(以下、IG−OFFと呼ぶ)により停止する。
ECU(第2の電子制御装置)112は、例えば、キーレスエントリや、ドア等を制御するボディー系のECUであり、車両10の常時供給電源を用いて、例えば、車両10がイグニッションオフの状態であっても、動作を継続する。
このように、車両10(及び更新システム1)には、起動や、再起動されるタイミングが異なる複数のECU111、及びECU112が含まれる。さらに、車両10には、アクセサリ電源を用いて動作するマルチメディア系のECU等も含まれるが、ここでは、説明を容易にするため、車両10には、ECU111とECU112が搭載されているものとして、以下の説明を行う。
更新管理装置100は、例えば、複数の通信プロトコルに対応するマルチプロトコルゲートウェイ等の電子制御装置である。更新管理装置100は、複数のECU111、112と所定の通信プロトコルを用いて通信可能であるとともに、通信装置150を用いて、管理サーバ20と通信可能である。ここで、通信装置150は、車両10、又は通信装置150等に搭載されたアンテナ151を用いて無線通信40を行い、通信ネットワーク30に接続するための装置であり、例えば、DCM(Data Communication Module)等によって実現される。
上記の構成において、更新管理装置100は、通信装置150を介して、管理サーバ20から、車両10に搭載された複数のECUにおけるプログラム(ファームウェア、ソフトウェア等)の更新情報を取得する。この更新情報には、例えば、更新対象となるECUを識別する識別情報や、更新後のプログラム等が含まれる。
更新管理装置100は、管理サーバ20から取得した更新情報に従って、プログラムの更新対象となるECU111、112に、プログラムの更新を要求する更新要求を通知する。この更新要求には、例えば、更新後のプログラム(又はプログラムの取得先を示す情報等)が含まれる。
ECU111、112は、更新前のプログラムを記憶する第1の記憶領域と、更新後のプログラムを記憶する第2の記憶領域とを有しており、更新管理装置100からの更新要求に応じて、更新後のプログラムを第2の記憶領域に記憶する。また、ECU111、及びECU112は、起動、又は再起動の際に、更新後のプログラムを用いて処理を開始する。
ただし、前述したように、ECU111とECU112とは、電源系統が異なり、起動、再起動のタイミングが異なるので、ECU111とECU112とが、それぞれのタイミングで所定の制御を開始してしまうと、バージョンの不整合が発生する。この場合、車両10全体として、正常な制御が行われずに、最悪の場合、車両10の挙動等に悪影響を及ぼす恐れもある。
そこで、更新管理装置100は、更新対象となる複数のECUから通知されるプログラムの更新結果を記憶部に記憶する。また、更新管理装置100は、例えば、IG−ONの際に、記憶部に記憶した更新結果を確認し、複数のECUにおけるプログラムの更新が完了している場合、複数のECUに、更新後のプログラムによる制御の開始を要求する。
好ましくは、更新管理装置100は、例えば、IG−ONの際に、記憶部に記憶した更新結果を確認し、複数のECUにおけるプログラムの更新が完了していない場合、複数のECUに、更新前のプログラムによる制御への切替えを要求する。
一方、ECU111、112は、第2の記憶領域に更新後のプログラムを記憶した後に、起動、又は再起動を行うと、更新後のプログラムによる所定の制御を禁止(又は保留)する。さらに、ECU111、112は、更新管理装置100から、更新後のプログラムによる制御の開始を要求された場合、更新後のプログラムによる制御を開始する。
好ましくは、ECU111、112は、更新後のプログラムを用いて起動、又は再起動した後に、更新管理装置100から、更新前のプログラムによる制御への切替えを要求された場合、更新前のプログラムを用いて再起動する。
このように、更新システム1は、更新対象となる全てのECU111、112におけるプログラムの更新が完了した場合、ECU111、112は、更新後のプログラムを用いて、所定の制御を行う。
これにより、本実施形態に係る更新システム1によれば、起動又は再起動されるタイミングが異なる複数のECU111、及びECU112が実行するプログラムを更新する更新システム1において、プログラムのバージョンの不整合を防止することができる。
さらに、更新システム1では、更新対象となる全てのECU111、112におけるプログラムの更新が完了していない場合、ECU111、112は、更新前のプログラムを用いて再起動し、所定の制御を行う。
これにより、本実施形態による更新システム1によれば、更新対象となる全てのECU111、112におけるプログラムの更新が完了していない場合でも、ECU111、112は、所定の制御を行うことができる。
なお、図1に示す更新システム1のシステム構成は一例である。例えば、ECU111、及びECU112は、車両10に搭載されるECUに限られず、起動又は再起動されるタイミングが異なる複数の電子制御装置を含む他の情報処理システムであっても良い。
また、更新管理装置100の機能は、管理サーバ20が有していても良い。例えば、図1において、車両10は、更新管理装置100に代えて、管理サーバ20と、複数のECUとの間の通信を中継するマルチプロトコルゲートウェイを有し、管理サーバ20が、更新管理装置の機能を実行するものであっても良い。
<ハードウェア構成>
(更新管理装置、及びECUのハードウェア構成)
更新管理装置100、及びECU111、112は、一般的なコンピュータの構成を有しており、例えば、CPU(Central Processing Unit)201、RAM(Random Access Memory)202、ROM(Read Only Memory)203、ストレージデバイス204、通信I/F(Interface)205、外部接続I/F206、及びシステムバス207等を含む。
CPU201は、ROM203やストレージデバイス204等に格納されたプログラムやデータ等をRAM202上に読み出し、処理を実行することで、更新管理装置100(又はECU111、112)の各機能を実現する演算装置である。RAM202は、CPU201のワークエリア等として用いられる揮発性のメモリである。ROM203は、電源を切ってもプログラムやデータを保持する不揮発性のメモリである。ストレージデバイス204は、例えば、フラッシュROM等の大容量の記憶装置であり、OS(Operating System)、プログラム、及び各種データ等を記憶する。
通信I/F205は、更新管理装置100(又はECU111、112)を、CAN(Controller Area Network)等の車載ネットワークに接続し、他のECU等と通信するための通信インタフェースである。
外部接続I/F206は、更新管理装置100(又はECU111、112)に外部装置を接続するためのインタフェースである。外部機器には、例えば、記憶媒体、通信装置150、又は各ECU111、112が制御するアクチュエータ等が含まれ得る。システムバス207は、上記の各構成要素に共通に接続され、例えば、アドレス信号、データ信号、及び各種制御信号等を伝達する。
[第1の実施形態]
<機能構成>
図3は、第1の実施形態に係る更新管理装置、及びECUの機能構成の例を示す図である。なお、図3において、ECU112は、ECU111と同様の機能構成を有しているものとする。
(更新管理装置の機能構成)
更新管理装置100は、例えば、更新情報取得部311、通信部312、更新要求部313、更新結果記憶部314、及び切替制御部315等を有する。
更新管理装置100は、例えば、図2に示すストレージデバイス204、ROM203等に記憶した所定のプログラムを、CPU201で実行することにより、上記の各機能構成を実現している。また、上記の各機能構成のうち、少なくとも一部はハードウェアによって実現されるものであっても良い。
更新情報取得部311は、通信装置150を介して、管理サーバ20と通信を行い、更新対象となるECU111、112の更新情報を取得する。例えば、更新情報取得部311は、管理サーバ20に対して、車両10に搭載される複数のECU111、112における更新情報の有無を問合せし、更新情報があれば取得する。或いは、更新情報取得部311は、例えば、管理サーバ20から自動的に通知される更新情報を取得するものであっても良い。なお、更新情報取得部311が、管理サーバ20から取得する更新情報には、例えば、更新対象となるECU111、112を識別する識別情報や、更新後のプログラム等が含まれる。
通信部312は、例えば、図2の通信I/F205を用いて、更新管理装置100を車載ネットワーク140に接続し、ECU111、112等と通信を行う。
更新要求部(要求部)313は、更新情報取得部311が更新情報を取得した場合、通信部312を介して、更新対象となるECU111、112に、プログラムの更新を要求する更新要求を通知する。この更新要求には、例えば、更新後のプログラム、及び更新後のプログラムに関する情報(例えば、バージョン情報等)が含まれる。
更新結果記憶部(記憶部)314は、例えば、CPU201で実行されるプログラム、及びストレージデバイス204等によって実現され、更新対象となるECU111、112から通知される更新結果を記憶する。
図4は、第1の実施形態に係る更新結果記憶部に記憶される更新結果の例を示す図である。例えば、図4(a)に示すように、更新結果記憶部314に記憶される更新結果401には、「ECU」、「更新有無」、「更新結果」等の情報が含まれる。
「ECU」は、ECU111、112を識別するためのECU名、識別情報等の情報である。
「更新有無」は、更新情報取得部311が取得した更新情報の有無を示す情報であり、更新情報がある場合「あり」、更新情報がない場合「なし」が設定される。例えば、更新情報取得部311は、更新情報の有無を確認し、ECU111a〜111c、及びECU112a、112bに対応する更新情報がない場合、図4(a)に示すように、各ECUに対応する「更新有無」に「なし」を設定する。また、更新情報取得部311は、更新情報の有無を確認し、ECU111a〜111c、及びECU112a、112bに対応する更新情報がある場合、図4(b)の更新情報402に示すように、各ECUに対応する「更新有無」に「あり」を設定する。
「更新結果」は、更新対象となるECU111、112における更新結果を示す情報であり、更新が完了した場合「完了」が、更新が完了していない場合「更新中」が設定される。例えば、更新要求部313は、更新対象となるECU111、112に更新要求を通知するとき、更新対象となるECU111、112に対応する「更新結果」に「更新中」を設定する。また、更新結果記憶部314は、更新対象となるECU111、112から、更新が完了したことを示す更新結果を受付すると、更新が完了したECU111、112に対応する「更新結果」に「完了」を設定する。
図4(c)に示す更新結果403の例では、ECU111a、ECU111b、及びECU112bの更新が完了したことが示されている。また、更新対象となるECU111a〜111c、及びECU112a、112bの更新が完了すると、例えば、図4(d)の更新結果404のように、各ECUの「更新結果」が「完了」となる。これにより、更新管理装置100は、更新対象となるECU111a〜111c、及びECU112a、112bにおけるプログラムの更新が完了したと判断することができる。
ここで、図3に戻り、更新管理装置100の機能構成の説明を続ける。
切替制御部315は、例えば、IG−ON時(所定のタイミングの一例)に、更新結果記憶部314に記憶された更新結果を確認し、更新対象となる複数のECU111、112における「更新結果」が「完了」になっているか否かを判断する。
更新対象となる複数のECU111、112の「更新結果」が全て「完了」である場合、切替制御部315は、更新対象となるECU111、112に、更新後のプログラムによる所定の制御の開始を要求する開始要求を通知する。
一方、更新対象となるECU111、112の「更新結果」に「更新中」が含まれる場合、切替制御部315は、更新対象となるECU111、112に、更新前のプログラムへの切替を要求する切替要求を通知する。また、切替制御部315は、更新対象となるECU111、112における更新前のプログラムへの切替えが完了すると、更新対象となるECU111、112に、更新前のプログラムによる所定の制御の開始を要求する制御開始要求を通知する。
(ECUの機能構成)
ECU111は、例えば、図2に示すCPU201で実行されるプログラムにより、通信部321、更新部322、切替部323、起動制御部324、機能制御部325、及び記憶部326等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。また、ここでは、ECU111の機能構成について説明するが、ECU112は、前述したようにECU111と同様の機能構成を有している。
通信部321は、例えば、図2の通信I/F205を用いて、ECU111を車載ネットワーク140に接続して、更新管理装置100等と通信を行う。
更新部322は、更新管理装置100から通知される更新要求を受付すると、更新要求に含まれる更新後のプログラムを、記憶部326に記憶する。
なお、記憶部326には、図3に示すように、更新前のプログラムを記憶する第1の記憶領域332、更新後のプログラムを記憶する第2の記憶領域333、及びブート情報531等が含まれる。
例えば、プログラムの更新がない場合、ECU111は、第1の記憶領域332に記憶したプログラム(更新前のプログラム)を用いて起動し、図3に示すようなECU111の機能構成を実現する。また、プログラムの更新がある場合、ECU111の更新部322は、更新後のプログラムを第2の記憶領域333に記憶し、例えば、次回の起動時に、更新後のプログラムを用いて起動するようにブート情報331を更新する。
さらに、更新部322は、例えば、IG−ON時(所定のタイミングの一例)に、更新後のプログラムで起動すると、プログラムの更新が完了したことを示す完了通知を、更新管理装置に通知する。
図5は、第1の実施形態に係るブート情報について説明するための図である。図5(a)は、ECU111が、更新管理装置100から更新要求を受け付ける前のブート情報331aの例を示している。例えば、図5(a)に示すように、ブート情報には、更新前の「開始アドレス」及び「バージョン」、更新後の「開始アドレス」及び「バージョン」、「機能制限」等の情報が含まれる。
更新前の「開始アドレス」は、更新前のプログラムを記憶する第1の記憶領域332の開始アドレスを示す情報である。更新前の「バージョン」は、更新前のプログラムの版数等を示す情報である。更新後の「開始アドレス」は、更新後のプログラムを記憶する第2の記憶領域333の開始アドレスを示す情報である。更新後の「バージョン」は、更新後のプログラムの版数等を示す情報である。「機能制限」は、ECU111による所定の制御を禁止するか、許可するかを示す情報であり、所定の制御を禁止する場合「オン」、所定の制御を許可する場合「オフ」が設定される。
例えば、ECU111の更新部322は、更新管理装置100から更新要求を受付すると、図5(b)に示すブート情報331bのように、「機能制限」を「オン」に設定し、第2の記憶領域333への更新後のプログラムの記憶を開始する。また、更新部322は、更新後のプログラムの記憶が完了すると、図5(b)に示すブート情報331bのように、更新後の「開始アドレス」、及び「バージョン」を記憶する。
ここで、図3に戻り、ECU111の機能構成の説明を続ける。
起動制御部324は、ECU111の起動、又は再起動の際に、ブート情報331を参照して、第1の記憶領域332に記憶した更新前のプログラム、又は第2の記憶領域333に記憶した更新後のプログラムを用いて、ECU111(自装置)を起動させる。
例えば、図5(a)に示すブート情報331aのように、更新後の「開始アドレス」が記憶されていない場合、起動制御部324は、更新前の「開始アドレス」を用いて、第1の記憶領域332に記憶されたプログラムを用いて、ECU111を起動させる。
また、図5(b)に示すブート情報331bのように、更新後の「開始アドレス」が記憶されている場合、起動制御部324は、更新後の「開始アドレス」を用いて、第2の記憶領域333に記憶された更新後のプログラムを用いて、ECU111を起動させる。この場合、ECU111は、第2の記憶領域333に記憶された更新後のプログラムを実行することにより、図3に示すようなECU111の各機能構成を実現する。
好ましくは、起動制御部324は、例えば、図2のROM203等に記憶されたIPL(Initial Program Loader)等によって実現される。
切替部323は、ECU111が、更新後のプログラムを用いて起動した後、更新管理装置100の更新結果記憶部314に記憶された、更新対象となる複数のECU111、112の更新結果に応じて、ECU111の動作を切替える。
例えば、ECU111が、更新後のプログラムを用いて起動したとき、図5(b)に示すブート情報331bのように、「機能制限」は「オン」に設定されている。この場合、切替部323は、ECU111による所定の制御(例えば、エンジン制御、ブレーキ制御等)を禁止する。
また、例えば、図4(d)に示す更新結果404のように、更新結果記憶部314に記憶された更新結果が、更新対象となる複数のECUの更新が完了したことを示す場合、更新管理装置100は、更新対象となる複数のECUに、前述した開始要求を送信する。この場合、ECU111の切替部323は、この開始要求に応じて、例えば、図5(c)に示すブート情報331cのように、「機能制限」を「オフ」に設定し、ECU111による所定の制御を許可する。
一方、例えば、図4(c)に示す更新結果403のように、更新結果記憶部314に記憶された更新結果が、更新が完了していないECUがあることを示す場合、更新管理装置100は、更新対象となる複数のECUに、前述した切替要求を送信する。この場合、ECU111の切替部323は、例えば、図5(b)に示すブート情報331bのように、「機能制限」を「オン」に維持したまま、更新前の「開始アドレス」に従って、更新前のプログラムを用いて、ECU111を再起動する。さらに、切替部323は、更新前のプログラムで再起動したことを更新管理装置100に通知し、更新管理装置100から送信される制御開始要求を受付すると、更新前のプログラムによる所定の制御を許可する。
機能制御部325は、ECU111毎に異なる所定の制御(例えば、エンジン制御、ブレーキ制御等)を実行する。また、機能制御部325は、所定の制御に必要な設定値、学習値等のデータを、記憶部326の制御情報334に記憶して管理する。
<処理の流れ>
続いて、第1の実施形態に係る更新管理方法の処理の流れについて説明する。
(更新管理装置の処理)
図6は、第1の実施形態に係る更新管理装置の処理の例を示すフローチャートである。
図6(a)に示す処理は、更新管理装置100による更新処理の例を示している。この処理は、例えば、ユーザによる操作、所定の時間間隔、又は管理サーバ20からの更新通知等に応じて実行される。
ステップS611において、更新情報取得部311は、通信装置150を介して、管理サーバ20から、車両10に搭載される複数のECU111、112におけるプログラムの更新情報を取得する。
ステップS612において、更新管理装置100は、更新情報取得部311が取得した更新情報の有無(更新の有無)に応じて、処理を分岐させる。
例えば、更新情報取得部311が更新情報を取得できなかった場合、すなわち、プログラムの更新がない場合、更新管理装置100は、更新情報の確認処理を終了させる。一方、更新情報取得部311が更新情報を取得できた場合、すなわち、プログラムの更新がある場合、更新管理装置100は、処理をステップS613に移行させる。
ステップS613に移行すると、更新要求部313は、更新対象となる複数のECU111、112に対して、更新後のプログラムを含む更新要求を送信(通知)する。
ステップS614において、更新結果記憶部314は、更新対象となる複数のECU111、112から通知される更新結果を記憶する。
なお、ステップS614に示す処理はオプションであり、必須ではない。例えば、更新対象となる全てのECU111、112が、図6(b)に示すように、IG−ONに応じて更新結果を通知するように構成されている場合、ステップS614の処理は省略することができる。
図6(b)に示す処理は、更新管理装置100が、車両10のイグニッションオン(IG−ON)の際に実行する処理の例を示している。
ステップS621において、例えば、ユーザの操作等により、車両10がIG−ONされると、更新管理装置100は、ステップS622以降の処理を実行する。
ステップS622において、更新結果記憶部314は、例えば、IG−ONされてから所定の期間、更新対象となる複数のECU111、112から通知される更新結果を受付し、記憶する。
ステップS623において、切替制御部315は、更新結果記憶部314に記憶された更新対象となる複数のECU111、1123の更新結果を確認する。
ステップS624において、切替制御部315は、更新対象となる複数のECU111、112の更新が完了しているか否かに応じて、処理を分岐させる。例えば、図4(d)に示す更新結果404のように、更新有無が「あり」となっている全てのECUの更新結果が「完了」となっている場合、切替制御部315は、更新が完了していると判断する。一方、例えば、図4(c)に示す更新結果403のように、更新有無が「あり」となっているECUの中に、更新結果が「更新中」となっているECUが含まれる場合、切替制御部315は、更新が完了していないと判断する。
更新対象となる複数のECU111、112の更新が完了している場合、切替制御部315は、処理をステップS625に移行させる。一方、更新が完了していない場合、切替制御部315は、処理をステップS626に移行させる。
ステップS624からステップS625に移行すると、切替制御部315は、更新対象となる複数のECU111、112に、更新後のプログラムによる制御の開始を要求する開始要求を通知する。
ステップS624からステップS626に移行すると、切替制御部315は、更新対象となる複数のECU111、112に、更新前のプログラムへの切替を要求する切替要求を送信する。
ステップS627において、切替制御部315は、切替要求を送信した複数のECU111、112から送信される切替完了通知を受付し、切替が完了したと判断すると、処理をステップS628に移行させる。
ステップS628に移行すると、切替制御部315は、更新対象となる複数のECU111、112に、更新前のプログラムによる制御の開始を要求する制御開始要求を送信する。
(ECUの処理)
図7は、第1の実施形態に係るECUの処理の例を示すフローチャートである。この処理は、図6に示す更新管理装置100の処理に対応する、ECU111、112側の処理の例を示している。
図7(a)は、図6(a)に示す更新管理装置100の更新処理に対応する、ECU111、112側の更新処理の例を示している。
ステップ711において、ECU111、112は、更新管理装置100から通知される更新要求を受付すると、ステップS712以降の処理を実行する。
ステップS712において、ECU111、112の更新部322は、ブート情報331の「機能制限」を「オン」に設定する。
ステップS713において、ECU111、112の更新部322は、第2の記憶領域333に、更新管理装置100から受付した更新要求に含まれる更新後のプログラムを記憶する。
ステップS714において、ECU111、112の更新部322は、更新後のプログラムの記憶が完了すると、ブート情報331の更新後の「開始アドレス」、及び「バージョン」等の情報を更新する。
上記の処理により、例えば、図5(a)に示すように、更新後の「開始アドレス」、及び「バージョン」が記憶されていないブート情報331aには、図5(b)に示すブート情報331bのように、更新後の「開始アドレス」、及び「バージョン」が記憶される。
一方、例えば、図5(c)に示すように、既に更新後の「開始アドレス」、及び「バージョン」が記憶されているブート情報331cは、図5(d)に示すブート情報331dのように情報が更新される。例えば、ブート情報331cに記憶されていた更新後の「開始アドレス」、及び「バージョン」は、ブート情報331dの更新前の「開始アドレス」、及び「バージョン」に記憶される。また、ブート情報331dの更新後の「開始アドレス」、及び「バージョン」には、第2の記憶領域333に記憶された更新後のプログラムの開始アドレス、及びバージョンが記憶される。
図7(b)は、ECU111、112が、車両10のIG−ONの際に実行する処理の例を示している。
ステップS721において、例えば、ユーザの操作等により、車両10がIG−ONされると、ECU111、112は、ステップS722以降の処理を実行する。
ステップS722において、ECU111、112は、ブート情報331に従って起動、又は再起動する。例えば、図1に示すように、IG−ON時に電源が供給されるIG電源に接続されているECU111は、IG−ONに応じて起動する。一方、常時供給電源(+B電源)に接続されているECU112の起動制御部324は、IG−ONに応じて、ECU112を再起動させる。
このとき、ECU111、112は、ブート情報331に記憶されている更新前の「開始アドレス」、及び更新後の「開始アドレス」に従って、起動(又は再起動)に用いるプログラムを選択する。
例えば、図5(a)に示すブート情報331aのように、更新前の「開始アドレス」のみが記憶されている場合、ECU111、112は、更新前の「開始アドレス」に従って、起動、又は再起動に用いるプログラムを選択する。すなわち、この場合、ECU111、112は、第1の記憶領域332に記憶された更新前のプログラムを用いて起動、又は再起動する。
また、図5(b)、(c)、(d)に示すブート情報331b、331c、331dのように、更新後の「開始アドレス」が記憶されている場合、ECU111、112は、更新後の「開始アドレス」に従って、起動、又は再起動に用いるプログラムを選択する。すなわち、この場合、ECU111、112は、第2の記憶領域333に記憶された更新後のプログラムを用いて起動、又は再起動する。
ステップS723において、切替部323は、ブート情報331の「機能制限」が「オンであるか否かに応じて処理を分岐させる。
ブート情報331の「機能制限」が「オン」でない場合、すなわち「機能制限」が「オフ」である場合、ECU111、112は、IG−ON時の処理を終了し、機能制御部325による所定の制御を行う。一方、ブート情報331の「機能制限」が「オン」である場合、ECU111、112は、ステップS724以降の処理を実行する。なお、ブート情報331の「機能制限」が「オン」であるということは、図7(a)に示す更新処理が実行されたことを示している。
ステップS724において、ECU111、112の切替部323は、機能制御部325による所定の制御を禁止する。なお、ECU111、112のプログラムが、更新管理装置100からの開始要求、又は制御開始要求を受付するまで、所定の制御を開始しないように予め作成されている場合、ステップS724の処理は省略することができる。
ステップS725において、ECU111、112の更新部322は、図7(a)に示した更新処理の更新結果を、更新管理装置100に通知する。
例えば、図7(a)に示す更新処理が正常に完了した場合、ブート情報331には、図5(b)に示すブート情報331bのように、「機能制限」に「オン」が設定され、更新後の「開始アドレス」、及び「バージョン」が正しく記憶されている。この場合、更新部322は、更新処理が正常に完了したことを示す更新結果(OK)を、更新管理装置100に通知する。
ステップS726において、ECU111、112の切替部323は、図7(a)に示した更新処理によりプログラムの更新に成功したか否かに応じて、処理を分岐させる。例えば、プログラムの更新に成功していない場合、切替部323は、処理をステップS732に移行させる。一方、プログラムの更新に成功した場合、切替部323は、処理をステップS727に移行させる。
ステップS727に移行すると、ECU111、112の切替部323は、更新管理装置100から、更新後のプログラムによる所定の制御の開始を要求する開始要求を受付したか否かを判断する。開始要求を受付した場合、切替部323は、処理をステップS728に移行させる。一方、開始要求を受付していない場合、切替部323は、処理をステップS730に移行させる。
ステップS727からステップS728に移行すると、ECU111、112の切替部323は、ブート情報331の「機能制限」を「オフ」に設定する。
ステップS729において、ECU111、112の切替部323は、更新後のプログラムによる制御を開始させる。これにより、更新後のプログラムで起動、又は再起動したECU111、112は、機能制御部325による所定の制御を開始する。
ステップS727からステップS730に移行すると、ECU111、112の切替部323は、更新管理装置100から、更新前のプログラムへの切替えを要求する切替要求を受付したか否かを判断する。切替要求を受付していない場合、切替部323は、処理をステップS727に戻して、同様の処理を再実行する。一方、切替要求を受付した場合、切替部323は、処理をステップS731に移行させる。
ステップS731に移行すると、ECU111、112の切替部323は、起動制御部324を用いて、ECU111、112を、第1の記憶領域332に記憶された更新前のプログラムで再起動させる。また、切替部323は、更新前のプログラムへの切替えが完了したことを示す切替完了通知を、更新管理装置100に通知する。
ステップS732に移行すると、ECU111、112の切替部323は、更新管理装置100から通知される制御開始要求を待ち、制御開始要求を受付するとステップS733において、更新前のプログラムによる制御を開始させる。これにより、更新前のプログラムで起動、又は再起動したECU111、112は、機能制御部325による所定の制御を開始する。
続いて、更新システム1における全体の処理の流れについて、図8、9を用いて説明する。
(更新システムの処理1)
図8は第1の実施形態に係る更新システムの処理の例を示すシーケンス図(1)である。この処理は、ECU111、112の更新情報があり、かつECU111、112のプログラムの更新が正常に完了する場合の処理の例を示している。なお、図8に示す処理の開始時点において、ECU111、及びECU112は、更新前のプログラムにより所定の制御820を実行しているものとする。また、図8に示す各処理は、図6、7に示す各処理に対応しているので、ここでは詳細な説明は省略する。
ステップS801、S802において、更新管理装置100の更新情報取得部311は、管理サーバ20から更新情報を取得する。この処理は、図6(a)のステップ611の処理に対応している。
なお、ここでは、更新情報取得部311が、ECU111、及びECU112の更新情報を取得したものとして、以下の説明を行う。
ステップS803a、S803bにおいて、更新管理装置100の更新要求部313は、更新対象となるECU111、ECU112に、プログラムの更新を要求する更新要求を通知する。この処理は、図6(a)のステップS613の処理に対応している。
ステップS804a、S804bにおいて、ECU111、及びECU112の更新部322は、更新管理装置100から通知される更新要求に含まれる更新後のプログラムを、第2の記憶領域に記憶する。また、ステップS805a、S805bにおいて、ECU111、及びECU112の更新部322は、ブート情報を更新する。この処理は、図7(a)のステップS712〜S714の処理に対応している。
ステップS806において、例えば、ユーザのオフ操作により、車両10がIG−OFFの状態830に移行する。
このとき、イグニッション電源(IG電源)に接続されているECU111は、更新前のプログラムによる所定の制御820を停止し、次回の起動時には、更新後のプログラムで起動する。つまり、イグニッション電源に接続されているECU111において、更新前のプログラムから、更新後のプログラムへの切替えが行われる。
一方、常時供給電源(+B電源)に接続されているECU112は、更新前のプログラムによる所定の制御820を継続する。
ステップS807において、例えば、ユーザのオン操作により、車両10がIG−ONの状態840に移行する。
ステップS808において、更新管理装置100は、例えば、IG−ONに応じて起動し、図6(b)に示す処理を開始する。
ステップS809において、イグニッション電源に接続されているECU111は、IG−ONに応じて、図7(b)に示す処理を開始し、更新後のプログラムで起動する。
ステップS810において、常時供給電源に接続されているECU112は、IG−ONに応じて、図7(b)に示した処理を開始し、更新後のプログラムで再起動する。これにより、常時供給電源に接続されているECU112は、更新前のプログラムによる所定の制御820を停止し、更新前のプログラムから更新後のプログラムへプログラムの切替えが行われる。
なお、この時点では、ECU111、及びECU112は、更新後のプログラムによる所定の制御850を開始しない。例えば、ECU111、及びECU112は、図7(b)のステップS724の処理により、所定の制御が禁止されている。或いは、ECU111、及びECU112の更新後のプログラムは、更新管理装置100からの開始要求に応じて、所定の制御を開始するように予め構成されているものであっても良い。
ステップS811a、811bにおいて、ECU111、及びECU112の更新部322は、更新後のプログラムへの更新が完了したことを示す更新結果(完了)を、更新管理装置100に通知する。この処理は、図7(b)のステップS725の処理に対応している。
ステップS812において、更新管理装置100の切替制御部315は、更新対象となるECU111、及びECU112において、更新後のプログラムへの更新が完了したことを確認する。この処理は、図6(b)のステップS623、S624の処理に対応している。
ステップS813a、S813bにおいて、更新管理装置100の切替制御部315は、更新対象となるECU111、及びECU112に対して、更新後のプログラムによる所定の制御の開始を要求する開始要求を通知する。この処理は、図6(b)のステップS625の処理に対応している。
ステップS814a、S814bにおいて、ECU111、及びECU112の切替部323は、機能制御部325による所定の制御を開始させる。これにより、ECU111、及びECU112は、更新後のプログラムによる所定の制御850を実行する。この処理は、図7(b)のステップS727〜S729の処理に対応している。
上記の処理により、更新システム1では、図8に示すように、ECU111による、更新前のプログラムによる所定の制御820と、ECU112による、更新後のプログラムによる所定の制御850とが同時に実行されることがないように管理される。また、更新システム1では、ECU111による、更新後のプログラムによる所定の制御850と、ECU112による、更新前のプログラムによる所定の制御820とが同時に実行されることがないように管理される。
(更新システムの処理2)
図9は第1の実施形態に係る更新システムの処理の例を示すシーケンス図(2)である。この処理は、ECU111、112の更新情報があり、かつECU111におけるプログラムの更新が失敗した場合の処理の例を示している。
なお、図9の処理の開始時点において、更新管理装置100、ECU111、及びECU112は、図8のステップS801〜S805a、S805bの処理を実行し、ステップS806のオフ操作により、ECU111のプログラムの更新に失敗したものとする。例えば、ECU111が、図8のステップS804aにおいて、第2の記憶領域333に更新後のプログラムを記憶しているとき、又は、ステップS805aにおいてブート情報を更新する前に、車両10がIG−OFFの状態に移行したものとする。
また、図9のステップS807、S808、S810、S811bに示す処理は、図8に示す処理と同様なので、ここでは、図8に示す処理との相違点を中心に説明を行う。
ステップS901において、イグニッション電源に接続されているECU111は、IG−ONに応じて、図7(b)に示した処理を開始するが、ここでは、プログラムの更新が完了していないので、更新前のプログラムで起動する。
ステップS902において、プログラムの更新に失敗したECU111の更新部322は、プログラムの更新に失敗したことを示す更新結果(未完了又は失敗)を、更新管理装置100に通知する。この処理は、図7(b)のステップS725の処理に対応している。
ステップS903において、更新管理装置100の切替制御部315は、更新対象となるECU111、及びECU112のうち、ECU111におけるプログラムの更新が完了していないことを確認する。この処理は、図6(b)のステップS623、S624の処理に対応している。
ステップS904a、S904bにおいて、更新管理装置100の切替制御部315は、更新対象となるECU111、及びECU112に対して、更新前のプログラムへの切替えを要求する切替要求を通知する。この処理は、図6(b)のステップS626の処理に対応している。
ステップS905において、更新後のプログラムを実行中のECU112は、更新前のプログラムで再起動し、ステップS907において、プログラムの切替えが完了したことを示す切替完了通知を、更新管理装置100に通知する。この処理は、図7(b)のステップS731の処理に対応している。
一方、更新前のプログラムを実行中のECU111は、更新管理装置100から送信される切替要求を、例えば、無視する。また、別の一例として、ECU111は、更新前のプログラムを実行中であることを示す切替完了通知を、更新管理装置100に通知するものであっても良い。
ステップS907において、更新管理装置100の切替制御部315は、更新後のプログラムを実行していたECU112における、更新前のプログラムへの切替えが完了したことを確認する。この処理は、例えば、図6(b)のステップS627の処理に対応している。
ステップS908a、S908bにおいて、更新管理装置100の切替制御部315は、ECU111、及びECU112に対して、更新前のプログラムによる所定の制御の開始を要求する制御開始要求を通知する。この処理は、図6(b)ステップS628の処理に対応している。
ステップS909a、S909bにおいて、ECU111、及びECU112の切替部323は、更新前のプログラムによる所定の制御820を開始させる。この処理は、図7(b)のステップS732、S733の処理に対応している。
上記の処理により、更新システム1では、更新対象となるECUの中に、更新が完了していないECUがある場合には、更新前のプログラムに切り戻しを行い、車両10の制御を実行する。
以上、本実施形態によれば、起動又は再起動されるタイミングが異なる複数のECU111、112が実行するプログラムを更新する更新システム1において、プログラムのバージョンの不整合を防止することができる。
[第2の実施形態]
第1の実施形態では、車両10のIG−OFF、及びIG−ONのタイミングで、ECU111、112の起動、又は再起動を行い、更新前のプログラムから更新後のプログラムへの切替えを行う場合の例について説明を行った。ただし、これは好適な一例であり、ECU111、112のプログラムの更新を行うタイミングは、IG−ON以外のタイミングであっても良い。
第2の実施形態では、IG−ON後の所定のタイミングで(例えば、更新対象となる全てのECUの更新が完了したとき等に)、プログラムの更新を行う場合の例について説明する。
<ECUの構成>
図10は、第2の実施形態に係るECUの構成のイメージを示す図である。第2の実施形態に係るECU111、112は、例えば、図10に示すように、第1のCPU1001、及び第2のCPU1002を有している。
第1のCPU1001は、第1の所定のプログラムを実行することにより、例えば、図3の通信部321、更新部322、及び切替部323等を実現している。また、第2のCPU1002は、第2の所定のプログラムを実行することにより、例えば、図3の起動制御部324、及び機能制御部325等を実現している。
上記の構成により、第1のCPU1001は、更新管理装置100からの通知に応じて、第1の実施形態と同様に、第2の記憶領域333に更新後のプログラムを記憶し、ブート情報を更新する。また、第1のCPU1002は、更新管理装置100から、プログラムの更新タイミングを指示する切替指示を受付すると、第2のCPU1002をソフトウェアリセットし、第2の記憶領域333に記憶した更新後のプログラムを用いて再起動させる。
第2のCPU1002は、第1の記憶領域に記憶された更新前のプログラムを用いて起動(又は再起動)し、第1のCPU1001からの再起動要求に応じて、第2の記憶領域333に記憶された更新後のプログラムを用いて、再起動する。
なお、第2の実施形態に係るECU111、112の機能構成は、図3に示す第1の実施形態に係るECU111、112の機能構成と同様で良い。
<処理の流れ>
続いて、第2の実施形態に係る更新システム1の更新管理方法の処理の流れについて説明する。
図11は、第2の実施形態に係る更新システムの処理の例を示すシーケンス図である。なお、図11に示す処理の開始時点において、ECU111、及びECU112は、図8のステップS801〜S805a、S805bの処理により、第2の記憶領域333への更新後のプログラムの記憶、及びブート情報331の更新が正常に完了しているものとする。
ステップS1101において、例えば、ユーザのオフ操作により、車両10がIG−OFFの状態に移行する。これにより、イグニッション電源に接続されているECU11は動作を停止する。一方、常時供給電源に接続されているECU112の第2のCPU1002は、更新前のプログラムによる所定の制御820を継続する。
ステップS1102において、例えば、ユーザのオン操作により、車両10がIG−ONの状態に移行する。これにより、ステップS1103において、更新管理装置100が起動し、ステップS1104において、ECU111が起動する。このとき、本実施形態に係るECU111の第2のCPU1002は、起動前のプログラムを用いて起動し、更新前のプログラムによる所定の制御820を再開するものとする。
ステップS1105a、S1005bにおいて、更新管理装置100は、所定のタイミングで、ECU111、及びECU112に、更新前のプログラムから更新後のプログラムへの切替えを指示する切替指示を通知する。
一例として、更新管理装置100は、IG−ONに応じて起動したときに、ECU111、及びECU112に切替指示を通知する。これにより、第1の実施形態と同様に、車両10のIG−ONに応じて、更新後のプログラムによる所定の制御850を開始させることができる。
また、別の一例として、更新管理装置100は、図6(a)のステップS614の処理により、更新対象となるECU111、及びECU112の更新が完了したことを確認したときに、ECU111、及びECU112に切替指示を通知するものであっても良い。さらに、更新管理装置100は、上記以外のタイミングで、ECU111、及びECU112に切替指示を送信するものであっても良い。
ステップS1106a、S1106bにおいて、ECU111、及びECU112の第1のCPU1001で実現される切替部323は、第2のCPU1002をソフトウェアリセットする。これにより、ECU111、及びECU112の第2のCPU1002で実現される起動制御部324は、第2の記憶領域333に記憶された更新後のプログラムを用いて、第2のCPU1002を再起動させる。これにより、ECU111、及びECU112において、更新前のプログラムから更新後のプログラムへの切替えが行われる。
ステップS1107a、S1007bにおいて、ECU111、及びECU112の第1のCPU1001で実現される更新部322は、プログラムの更新が完了したことを示す更新結果(完了)を、更新管理装置100に通知する。
ステップS1108において、更新管理装置100の切替制御部315は、更新対象となるECU111、及びECU112における、更新後のプログラムへの更新が完了したことを確認する。
ステップS1109a、S1109bにおいて、更新管理装置100の切替制御部315は、ECU111、及びECU112に対して、更新後のプログラムによる所定の制御の開始を要求する開始要求を通知する。
ステップS1110a、S1110bにおいて、ECU111、及びECU112の第1のCPU1001で実現される切替部323は、第2のCPU1002に、更新後のプログラムによる所定の制御850を開始させる。
上記の処理により、第2の実施形態に係る更新システム1は、IG−ON時とは異なる所定のタイミングで、更新対象となるECU111、及びECU112における、更新前のプログラムから更新後のプログラムへの切替えを行うことができるようになる。
以上、本発明の実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、様々な変形や変更が可能である。
1 更新システム
10 車両
100 更新管理装置
111 ECU(第1の電子制御装置、電子制御装置)
112 ECU(第2の電子制御装置、電子制御装置)
313 更新要求部(要求部)
314 更新結果記憶部(記憶部)
315 切替制御部
322 更新部
323 切替部
324 起動制御部
332 第1の記憶領域
333 第2の記憶領域

Claims (9)

  1. 所定の制御を行う複数の電子制御装置と、前記複数の電子制御装置が実行するプログラムの更新を管理する更新管理装置とを含む更新システムであって、
    前記更新管理装置は、
    前記複数の電子制御装置にプログラムの更新を要求する要求部と、
    前記複数の電子制御装置から通知される前記プログラムの更新結果を記憶する記憶部と、
    を有し、
    前記電子制御装置は、
    更新前のプログラムを記憶する第1の記憶領域と、
    更新後のプログラムを記憶する第2の記憶領域と、
    前記更新管理装置からの要求に応じて、前記第2の記憶領域に前記更新後のプログラムを記憶し、前記更新後のプログラムを用いて起動し、前記更新結果を前記更新管理装置に通知する更新部と、
    前記記憶部に記憶された前記更新結果が、前記複数の電子制御装置における前記プログラムの更新が完了したことを示す場合、前記第2の記憶領域に記憶した前記更新後のプログラムによる前記所定の制御を開始させる切替部と、
    を有し、
    前記更新管理装置は、前記記憶部に記憶された前記更新結果が、前記プログラムの更新が完了していない電子制御装置があることを示す場合、前記複数の電子制御装置に、前記更新前のプログラムによる前記所定の制御を要求する切替要求を通知し、
    前記切替部は、前記更新管理装置から前記切替要求を受付した場合、前記第1の記憶領域に記憶した前記更新前のプログラムを用いて前記所定の制御を実行させる、更新システム。
  2. 前記更新管理装置は、前記記憶部に記憶された前記更新結果が、前記複数の電子制御装置における前記プログラムの更新が完了したことを示す場合、前記更新後のプログラムによる前記所定の制御の開始を要求する開始要求を、前記複数の電子制御装置に通知し、
    前記切替部は、前記更新管理装置から通知される前記開始要求に応じて、前記更新後のプログラムによる前記所定の制御を開始させる、請求項1に記載の更新システム。
  3. 前記切替部は、前記更新管理装置から通知される前記開始要求を受付するまで、前記更新後のプログラムによる前記所定の制御を禁止する、請求項2に記載の更新システム。
  4. 前記切替部は、前記電子制御装置が、前記更新後のプログラムを用いて再起動した後に、前記更新管理装置から前記切替要求を受付した場合、前記第1の記憶領域に記憶した前記更新前のプログラムを用いて前記電子制御装置を再起動させる、請求項1乃至3のいずれか一項に記載の更新システム。
  5. 前記複数の電子制御装置は、
    車両に搭載され、前記車両のイグニッション電源が供給される第1の電子制御装置と、
    前記車両に搭載され、前記車両の常時供給電源が供給される第2の電子制御装置と、
    を含む、請求項1乃至のいずれか一項に記載の更新システム。
  6. 前記第2の電子制御装置は、前記第2の記憶領域に前記更新後のプログラムを記憶した後の前記車両のイグニッションオンに応じて、前記更新後のプログラムを用いて前記第2の電子制御装置を再起動させる起動制御部を有する、請求項に記載の更新システム。
  7. 前記第1の電子制御装置、及び前記第2の電子制御装置は、前記第2の記憶領域に前記更新後のプログラムを記憶した後に、前記更新管理装置から通知される切替指示に応じて、前記更新後のプログラムを用いて、自装置を再起動させる起動制御部を有する、請求項に記載の更新システム。
  8. 所定の制御を行う複数の電子制御装置が実行するプログラムを更新する更新システムの前記電子制御装置であって、
    更新前のプログラムを記憶する第1の記憶領域と、
    更新後のプログラムを記憶する第2の記憶領域と、
    前記更新システムからの要求に応じて、前記第2の記憶領域に前記更新後のプログラムを記憶し、前記更新後のプログラムを用いて起動し、更新結果を前記更新システムに通知する更新部と、
    前記更新システムが管理する前記複数の電子制御装置の前記更新結果が、前記複数の電子制御装置における前記プログラムの更新が完了したことを示す場合、前記第2の記憶領域に記憶した前記更新後のプログラムによる前記所定の制御を開始させる切替部と、
    を有し、
    前記切替部は、前記更新システムが管理する前記複数の電子制御装置の前記更新結果が、前記プログラムの更新が完了していない電子制御装置があることを示す場合、前記第1の記憶領域に記憶した前記更新前のプログラムを用いて前記所定の制御を実行させる、電子制御装置。
  9. 所定の制御を行う複数の電子制御装置と、前記複数の電子制御装置が実行するプログラムの更新を管理する更新管理装置とを含む更新システムにおける更新管理方法であって、
    前記更新管理装置が、
    前記複数の電子制御装置にプログラムの更新を要求するステップと、
    記複数の電子制御装置から通知される前記プログラムの更新結果を記憶部に記憶するステップと、
    を実行し、
    前記電子制御装置が、
    更新前のプログラムを第1の記憶領域に記憶するステップと、
    更新後のプログラムを第2の記憶領域に記憶するステップと、
    前記更新管理装置からの要求に応じて、前記第2の記憶領域に前記更新後のプログラムを記憶し、前記更新後のプログラムを用いて起動し、前記更新結果を前記更新管理装置に通知するステップと、
    前記記憶部に記憶された前記更新結果が、前記複数の電子制御装置における前記プログラムの更新が完了したことを示す場合、前記複数の電子制御装置の各々が、前記更新後のプログラムによる所定の制御を開始させる切替ステップと、
    を実行し、
    前記更新管理装置は、前記記憶部に記憶された前記更新結果が、前記プログラムの更新が完了していない電子制御装置があることを示す場合、前記複数の電子制御装置に、更新前のプログラムによる前記所定の制御を要求する切替要求を通知し、
    前記切替ステップは、前記更新管理装置から前記切替要求を受付した場合、前記第1の記憶領域に記憶した前記更新前のプログラムを用いて前記所定の制御を実行させる、更新管理方法。
JP2017214241A 2017-11-06 2017-11-06 更新システム、電子制御装置、更新管理装置、及び更新管理方法 Active JP6915500B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017214241A JP6915500B2 (ja) 2017-11-06 2017-11-06 更新システム、電子制御装置、更新管理装置、及び更新管理方法
US16/159,117 US11354114B2 (en) 2017-11-06 2018-10-12 Updating system, electronic control unit, updating management device, and updating management method
US17/304,370 US11960877B2 (en) 2017-11-06 2021-06-18 Updating system, electronic control unit, updating management device, and updating management method
JP2021116214A JP2021169308A (ja) 2017-11-06 2021-07-14 更新システム、車両システム、及び更新管理装置
JP2023034036A JP2023075222A (ja) 2017-11-06 2023-03-06 車両

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017214241A JP6915500B2 (ja) 2017-11-06 2017-11-06 更新システム、電子制御装置、更新管理装置、及び更新管理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021116214A Division JP2021169308A (ja) 2017-11-06 2021-07-14 更新システム、車両システム、及び更新管理装置

Publications (2)

Publication Number Publication Date
JP2019084941A JP2019084941A (ja) 2019-06-06
JP6915500B2 true JP6915500B2 (ja) 2021-08-04

Family

ID=66328609

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2017214241A Active JP6915500B2 (ja) 2017-11-06 2017-11-06 更新システム、電子制御装置、更新管理装置、及び更新管理方法
JP2021116214A Pending JP2021169308A (ja) 2017-11-06 2021-07-14 更新システム、車両システム、及び更新管理装置
JP2023034036A Pending JP2023075222A (ja) 2017-11-06 2023-03-06 車両

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2021116214A Pending JP2021169308A (ja) 2017-11-06 2021-07-14 更新システム、車両システム、及び更新管理装置
JP2023034036A Pending JP2023075222A (ja) 2017-11-06 2023-03-06 車両

Country Status (2)

Country Link
US (2) US11354114B2 (ja)
JP (3) JP6915500B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210141629A1 (en) * 2019-11-08 2021-05-13 Toyota Jidosha Kabushiki Kaisha Program update system and vehicle management server

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7192415B2 (ja) * 2018-11-06 2022-12-20 株式会社オートネットワーク技術研究所 プログラム更新システム及び更新処理プログラム
JP7322536B2 (ja) 2019-06-14 2023-08-08 マツダ株式会社 移動体の制御装置
JP7298427B2 (ja) * 2019-10-07 2023-06-27 トヨタ自動車株式会社 プログラム更新システムおよびプログラム更新方法
US20240126528A1 (en) * 2019-10-18 2024-04-18 Hitachi Astemo, Ltd. Redundant system and load drive control device
JP7220397B2 (ja) * 2019-12-09 2023-02-10 パナソニックIpマネジメント株式会社 情報処理装置および情報処理方法
JP7367626B2 (ja) * 2020-07-08 2023-10-24 トヨタ自動車株式会社 ソフトウェア更新装置、方法、プログラムおよび車両
JP7204726B2 (ja) * 2020-12-22 2023-01-16 本田技研工業株式会社 制御システム、移動体、サーバ、制御方法、更新制御方法、及びプログラム
JP7291734B2 (ja) * 2021-01-14 2023-06-15 本田技研工業株式会社 制御システム、移動体、情報処理装置、制御方法、情報処理方法及びプログラム
JP2022121301A (ja) * 2021-02-08 2022-08-19 トヨタ自動車株式会社 車両用制御装置
KR20220132864A (ko) * 2021-03-24 2022-10-04 현대자동차주식회사 차량 및 차량 제어 방법
US20220024472A1 (en) * 2021-07-07 2022-01-27 Toyota Jidosha Kabushiki Kaisha Control apparatus for vehicle
JP2023019048A (ja) * 2021-07-28 2023-02-09 トヨタ自動車株式会社 センタ、方法、及びプログラム
JP2023019042A (ja) * 2021-07-28 2023-02-09 トヨタ自動車株式会社 車両用のシステム、センタ、方法、及びプログラム
CN114625393B (zh) * 2022-02-23 2023-06-23 阿波罗智能技术(北京)有限公司 电子控制单元的刷写方法、装置、设备以及存储介质
US20230315440A1 (en) * 2022-04-05 2023-10-05 Ford Global Technologies, Llc Vehicle software compatibility

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4399987B2 (ja) * 2001-01-25 2010-01-20 株式会社デンソー 車両統合制御におけるフェイルセーフシステム
JP3901060B2 (ja) 2002-08-28 2007-04-04 日本電気株式会社 アプリケーションの更新処理方法、更新処理システム及び更新処理プログラム
JP2004126960A (ja) 2002-10-03 2004-04-22 Mitsubishi Electric Corp リモートメンテナンスシステム
JP4791061B2 (ja) * 2005-03-18 2011-10-12 富士通株式会社 計算機システムのファームウェアのバージョン管理方法及び情報処理装置
JP2006268172A (ja) * 2005-03-22 2006-10-05 Nec Corp サーバシステムおよびオンラインソフトウェア更新方法
US20070185624A1 (en) * 2006-02-07 2007-08-09 General Motors Corporation Method for remote reprogramming of vehicle flash memory
JP2009053920A (ja) * 2007-08-27 2009-03-12 Auto Network Gijutsu Kenkyusho:Kk 車載用電子制御ユニットのプログラム管理システム
JP5428738B2 (ja) 2009-10-16 2014-02-26 富士通株式会社 情報処理装置及びファームウェア更新方法
JP5434481B2 (ja) 2009-10-30 2014-03-05 株式会社オートネットワーク技術研究所 処理装置及び制御方法
WO2011055447A1 (ja) * 2009-11-06 2011-05-12 トヨタ自動車株式会社 車両用ゲートウェイ装置
JP2011170465A (ja) * 2010-02-16 2011-09-01 Ricoh Co Ltd ソフトウェア配信システム、ソフトウェア配信方法およびプログラム
JP2012091755A (ja) * 2010-10-29 2012-05-17 Honda Motor Co Ltd 車両用プログラム書換えシステム
US20130325997A1 (en) * 2010-11-19 2013-12-05 Alektrona Corporation Remote asset control systems and methods
CN102609328B (zh) * 2012-01-29 2015-04-15 华为终端有限公司 ***差分升级方法和装置、移动终端
JP5825123B2 (ja) * 2012-02-01 2015-12-02 富士通株式会社 制御装置、制御システムおよび制御方法
US8978160B2 (en) * 2012-09-12 2015-03-10 GM Global Technology Operations LLC Method for selective software rollback
GB2510874B (en) * 2013-02-15 2020-09-16 Ncr Corp Server system supporting remotely managed IT services
US20140282470A1 (en) * 2013-03-13 2014-09-18 Arynga Inc. Remote transfer of electronic images to a vehicle
JP5864510B2 (ja) * 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
JP5975964B2 (ja) * 2013-10-18 2016-08-23 富士通株式会社 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
US20160294614A1 (en) * 2014-07-07 2016-10-06 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US20160196132A1 (en) * 2014-07-07 2016-07-07 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US10282194B2 (en) * 2014-10-07 2019-05-07 Ford Global Technologies, Llc Methods and systems to update a vehicle computing system
EP3412514B1 (en) * 2014-11-12 2019-12-04 Panasonic Intellectual Property Corporation of America Update management method, update management device, and control program
US9841970B2 (en) * 2015-01-13 2017-12-12 Ford Global Technologies, Llc Vehicle control update methods and systems
DE102015207795A1 (de) * 2015-04-28 2016-11-03 Robert Bosch Gmbh Verfahren und Vorrichtung zum Aktualisieren von Software in einem Transportmittel
JP2016218932A (ja) * 2015-05-26 2016-12-22 京セラ株式会社 ソフトウェア更新装置およびソフトウェア更新システム
JP6675271B2 (ja) * 2015-09-14 2020-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP6723829B2 (ja) * 2015-09-14 2020-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、ファームウェア更新方法及び制御プログラム
DE102015221330A1 (de) * 2015-10-30 2017-05-04 Robert Bosch Gmbh Verfahren und Vorrichtung zum robusten Aktualisieren von Firmware eines Fahrzeuges über eine Luftschnittstelle
US10114634B2 (en) * 2016-01-22 2018-10-30 2236008 Ontario Inc. Updating a controller unit in a vehicle
JP6390644B2 (ja) * 2016-03-02 2018-09-19 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6805559B2 (ja) * 2016-06-09 2020-12-23 株式会社デンソー リプログマスタ
JP6414568B2 (ja) * 2016-06-09 2018-10-31 株式会社デンソー 車両用装置
JP6760813B2 (ja) * 2016-10-14 2020-09-23 日立オートモティブシステムズ株式会社 ソフトウェア更新装置、ソフトウェア更新方法、ソフトウェア更新システム
JP2018200510A (ja) * 2017-05-25 2018-12-20 株式会社デンソーテン ソフトウェア更新装置、ソフトウェア更新システム、及び、ソフトウェア更新方法
US10303460B2 (en) * 2017-07-25 2019-05-28 Aurora Labs Ltd. Self-healing learning system for one or more vehicles
JP2019036238A (ja) * 2017-08-21 2019-03-07 株式会社東芝 更新制御装置、端末、更新制御方法およびプログラム
US20190324858A1 (en) * 2018-04-24 2019-10-24 GM Global Technology Operations LLC Rollback recovery from partial failure in multiple electronic control unit over-the-air updates
KR20220001924A (ko) * 2020-06-30 2022-01-06 현대자동차주식회사 차량의 ecu 업데이트 제어 장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210141629A1 (en) * 2019-11-08 2021-05-13 Toyota Jidosha Kabushiki Kaisha Program update system and vehicle management server
US11704106B2 (en) * 2019-11-08 2023-07-18 Toyota Jidosha Kabushiki Kaisha Program update system and vehicle management server
US20230305835A1 (en) * 2019-11-08 2023-09-28 Toyota Jidosha Kabushiki Kaisha Program update system and vehicle management server

Also Published As

Publication number Publication date
JP2021169308A (ja) 2021-10-28
JP2019084941A (ja) 2019-06-06
US20190138296A1 (en) 2019-05-09
JP2023075222A (ja) 2023-05-30
US11354114B2 (en) 2022-06-07
US20210311724A1 (en) 2021-10-07
US11960877B2 (en) 2024-04-16

Similar Documents

Publication Publication Date Title
JP6915500B2 (ja) 更新システム、電子制御装置、更新管理装置、及び更新管理方法
JP6390644B2 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6424797B2 (ja) 車載装置
US20180341476A1 (en) Software updating device, software updating system, and software updating method
JP4810172B2 (ja) 制御装置及びバージョンアップ方法並びにプログラム
JP5382084B2 (ja) 車両用装置
JP2018132956A (ja) 制御装置および制御プログラム更新方法
JP2007316800A (ja) 車載プログラム書換え制御装置
US20240220234A1 (en) Updating system, electronic control unit, updating management device, and updating management method
JP6565389B2 (ja) プリンターのファームウェア書き換え方法およびプリンター
WO2016006268A1 (ja) ファームウェアの更新システムおよび更新制御方法
JP2827594B2 (ja) マイクロプロセツサ装置のフアームウエア・オンライン更新方式及びその更新方法
JP5508297B2 (ja) 設定情報参照起動型の制御装置および設定情報管理方法
JP7491765B2 (ja) ファームウェア更新システムおよびファームウェア更新方法
JP6457756B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP5944017B2 (ja) 情報処理装置およびプログラム
EP3971708B1 (en) In-vehicle device, software update method, non-transitory storage medium, vehicle, and electronic control unit
JP2019128608A (ja) 情報処理装置、情報処理方法、及びプログラム
US20220342651A1 (en) Center, ota master, system, distribution method, non-transitory storage medium, and vehicle
US20220342653A1 (en) Ota master, center, system, update method, non-transitory storage medium, and vehicle
JP2023152495A (ja) 車載装置、コンピュータプログラム及びプログラム更新方法
JP6345568B2 (ja) ネットワーク対応の家電機器
WO2018212081A1 (ja) 更新制御ユニット、更新制御装置、更新制御システム、および、更新制御方法
JPH1097426A (ja) 通信制御装置におけるシステムファイルの更新方法
JP6057860B2 (ja) 車両診断装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210401

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210628

R151 Written notification of patent or utility model registration

Ref document number: 6915500

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151