JP2018037022A - 車載更新システム、車載更新装置及び通信装置の更新方法 - Google Patents

車載更新システム、車載更新装置及び通信装置の更新方法 Download PDF

Info

Publication number
JP2018037022A
JP2018037022A JP2016172063A JP2016172063A JP2018037022A JP 2018037022 A JP2018037022 A JP 2018037022A JP 2016172063 A JP2016172063 A JP 2016172063A JP 2016172063 A JP2016172063 A JP 2016172063A JP 2018037022 A JP2018037022 A JP 2018037022A
Authority
JP
Japan
Prior art keywords
update
vehicle
unit
program
information
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
JP2016172063A
Other languages
English (en)
Other versions
JP6658409B2 (ja
JP2018037022A5 (ja
Inventor
博志 立石
Hiroshi Tateishi
博志 立石
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.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries 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
Application filed by Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2016172063A priority Critical patent/JP6658409B2/ja
Priority to PCT/JP2017/030695 priority patent/WO2018043381A1/ja
Priority to US16/329,425 priority patent/US20190250902A1/en
Priority to CN201780052408.5A priority patent/CN109643254B/zh
Priority to DE112017004415.4T priority patent/DE112017004415T5/de
Publication of JP2018037022A publication Critical patent/JP2018037022A/ja
Publication of JP2018037022A5 publication Critical patent/JP2018037022A5/ja
Application granted granted Critical
Publication of JP6658409B2 publication Critical patent/JP6658409B2/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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • 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 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】ユーザの車両使用に関する利便性の低下を防止して車両に搭載された通信装置の更新処理を行うことができる車載更新システム、車載更新装置及び通信装置の更新方法を提供する。
【解決手段】車載更新装置は、車両の走行情報を取得する走行情報取得部、取得した情報をサーバ装置へ送信する走行情報送信部、車両外のサーバ装置から車両の通信装置の更新用プログラムを取得する更新用情報取得部、及び、取得した更新用プログラムを通信装置へ送信する更新用情報送信部を有し、通信装置の記憶部に記憶されたプログラムを更新する。サーバ装置は、車載更新装置が送信した走行情報を受信する走行情報受信部と、受信した情報に基づいて車載更新装置による通信装置の更新処理を行うタイミングを決定する更新タイミング決定部と、決定したタイミングに基づいて車載更新装置へ更新処理の開始指示を送信する開始指示送信部とを有する。
【選択図】図1

Description

本発明は、車両に搭載された通信装置のプログラム又はデータを更新する車載更新システム、車載更新装置及び通信装置の更新方法に関する。
従来、車両には複数のECU(Electronic Control Unit)などの通信装置が搭載され、複数のECUがCAN(Controller Area Network)バスなどの通信線を介して接続されて相互に情報の送受信を行うことが可能とされている。各ECUは、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の記憶部に記憶されたプログラムをCPU(Central Processing Unit)などの処理装置が読み出して実行することにより、車両の制御などの種々の処理を行っている。ECUの記憶部に記憶されたプログラム又はデータは、例えば機能追加、不具合の修正又はバージョンアップ等の必要が生じた際には、新たなプログラム又はデータに書き換える更新処理を行う必要がある。この場合、更新処理の対象となるECUに対して、通信線を介して更新用のプログラム又はデータを送信することが行われている。
特許文献1においては、更新対象の制御装置に対する更新制御プログラムと、更新制御プログラムに係るダイジェスト値を算出する手段、更新後の制御装置の動作が正常であるか否かを判定する手段及び判定結果を返答する手段を実現するコンピュータプログラムとを含む更新データを制御装置が受信し、受信した更新データに含まれる更新制御プログラムにより制御プログラムを更新すると共に、前記コンピュータプログラムを実行して更新後の動作が正常であるか否かを判定することにより、プログラムの更新の正当性を検証できるプログラム更新システムが提案されている。
特開2015−103163号公報
近年、車両のECUの更新を行うためのプログラム又はデータを無線通信などにて車外から取得し、取得したプログラム又はデータを用いてECUの更新を自動的に行うシステムが開発されている。このようなシステムにおいて、ECUの更新処理をどのようなタイミングで行うかが問題となる。ECUの記憶部に記憶されたプログラム又はデータの更新を行っている場合、このECUは更新処理が完了するまでの間には通常の処理を行うができない。このため、ECUの更新処理が完了するまで車両が走行できなくなり、ユーザの車両使用に関する利便性が低下するという問題があった。
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、ユーザの車両使用に関する利便性の低下を防止して車両に搭載された通信装置の更新処理を行うことができる車載更新システム、車載更新装置及び通信装置の更新方法を提供することにある。
本発明に係る車載更新システムは、車両に搭載された通信装置と、前記車両外に設けられたサーバ装置と、前記サーバ装置から前記通信装置の更新用のプログラム又はデータを取得する処理を行う更新用情報取得部並びに前記通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを送信する処理を行う更新用情報送信部を有し、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える車載更新システムであって、前記車載更新装置は、前記車両の走行に係る情報を取得する走行情報取得部と、前記走行情報取得部が取得した情報を前記サーバ装置へ送信する走行情報送信部とを有し、前記サーバ装置は、前記車載更新装置が送信した前記車両の走行に係る情報を受信する走行情報受信部と、前記走行情報受信部が受信した情報に基づいて、前記車載更新装置による前記通信装置の更新処理を行うタイミングを決定する更新タイミング決定部と、前記更新タイミング決定部が決定したタイミングに基づいて、前記車載更新装置へ更新処理の開始指示を送信する開始指示送信部とを有し、前記車載更新装置は、前記サーバ装置から前記通信装置の更新処理の開始指示を受信する開始指示受信部を更に有し、前記更新用情報送信部は、前記開始指示受信部が受信した開始指示に応じて更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
また、本発明に係る車載更新システムは、前記サーバ装置が、前記走行情報受信部が受信した情報を蓄積して記憶する走行情報記憶部と、前記走行情報記憶部に記憶された情報に基づいて、前記車両が走行しない時間帯を推定する非走行時間帯推定部とを有し、前記更新タイミング決定部は、前記非走行時間帯推定部が推定した時間帯に基づいて、更新処理を行うタイミングを決定することを特徴とする。
また、本発明に係る車載更新システムは、前記非走行時間帯推定部が、前記走行情報記憶部に記憶された所定日数分の情報に基づいて、前記車両が走行しなかった時間帯を抽出し、抽出した時間帯の中から最長の時間帯を前記車両が走行しない時間帯と推定することを特徴とする。
また、本発明に係る車載更新システムは、前記更新タイミング決定部が、前記非走行時間推定部が推定した時間帯の中央時点から、前記通信装置の更新処理に要する時間だけ前後する時間範囲の中で更新処理を行うタイミングを決定することを特徴とする。
また、本発明に係る車載更新システムは、前記車載更新装置が、前記車両のバッテリの蓄積電力量に係る情報を取得するバッテリ情報取得部と、バッテリ情報取得部が取得したバッテリの蓄積電力量に応じて、前記通信装置の更新処理を行うことが可能であるか否かを判定する更新可否判定部とを有し、前記更新用情報送信部は、前記更新可否判定部が更新処理を行うことが可能であると判定した場合に、更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
また、本発明に係る車載更新システムは、前記車載更新装置が、前記車両のIG(イグニッション)信号の状態を取得するIG状態取得部と、前記更新可否判定部が更新処理を行うことが不可能であると判定した後、前記IG信号がオフ状態からオン状態へ変化した場合に、前記通信装置の更新処理を行うことを許可するか否かの選択を受け付ける選択受付部とを有し、前記更新用情報送信部は、前記選択受付部が更新処理を行うことを許可する選択を受け付けた場合に、更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
また、本発明に係る車載更新システムは、前記車載更新装置は、前記車両のIG(イグニッション)信号の状態を取得するIG状態取得部と、前記IG信号がオン状態である場合に、前記更新用情報送信部による更新用のプログラム又はデータの送信を中断し、前記通信装置を更新前のプログラム又はデータの動作に復帰させる処理を行う更新中断部とを有することを特徴とする。
また、本発明に係る車載更新装置は、車両に搭載された通信装置の更新用のプログラム又はデータを前記車両外に設けられたサーバ装置から取得する処理を行う更新用情報取得部と、前記通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを送信する処理を行う更新用情報送信部とを備え、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、前記車両の走行に係る情報を取得する走行情報取得部と、前記走行情報取得部が取得した情報に基づいて、前記通信装置の更新処理を行うタイミングを決定する更新タイミング決定部とを備え、前記更新用情報送信部は、前記更新タイミング決定部が決定したタイミングに応じて更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
また、本発明に係る通信装置の更新方法は、車両に搭載された通信装置の更新用のプログラム又はデータを前記車両外に設けられたサーバ装置から取得し、取得した更新用のプログラム又はデータを送信して、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する通信装置の更新方法であって、前記車両の走行に係る情報を取得し、取得した情報を前記サーバ装置へ送信し、送信された情報を受信した前記サーバ装置が、受信した情報に基づいて前記通信装置の更新処理を行うタイミングを決定し、前記サーバ装置が、決定したタイミングに基づいて更新処理の開始指示を送信し、前記サーバ装置からの更新処理の開始指示を受信し、受信した開始指示に応じて更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
本発明においては、車両に搭載された通信装置のプログラム又はデータの更新処理を車載更新装置が行う。車載更新装置は、車両外に設置されたサーバ装置などから更新用のプログラム又はデータを取得する。車載更新装置は、更新処理の対象が複数である場合、各通信装置について更新用のプログラム又はデータをそれぞれ取得する。ただし、1つの更新用のプログラム又はデータを用いて、複数の通信装置の更新処理を行ってもよい。車載更新装置は、所定のタイミングでサーバ装置から取得した更新用のプログラム又はデータを更新対象の通信装置へ送信する。車載更新装置から更新用のプログラム又はデータを受信した通信装置は、自身の記憶部に受信した更新用のプログラム又はデータを書き込むことによって、プログラム又はデータを更新する。また車載更新装置がサーバ装置から更新用のプログラム又はデータを取得するタイミングと、車載更新装置が通信装置へ更新用のプログラム又はデータを送信するタイミングとは、別であってよい。例えば車載更新装置は、車両の走行中にサーバ装置から更新用のプログラム又はデータを取得して記憶しておき、車両が停車してエンジンが停止された後に記憶しておいた更新用のプログラム又はデータを更新対象の通信装置へ送信することができる。
本発明に係る車載更新システムでは、車載更新装置が更新用のプログラム又はデータを更新対象の通信装置へ送信するタイミング、即ち通信装置の更新処理を行うタイミングを、サーバ装置が決定する。このために車載更新装置は、車両の走行情報を取得してサーバ装置へ送信する処理を行う。サーバ装置は、車載更新装置から受信した走行情報に基づいて、更新処理を行うタイミングを決定し、車載更新装置へ更新処理の開始指示を送信する。車載更新装置は、サーバ装置からの開始指示を受信し、受信した開始指示に応じて通信装置への更新用のプログラム又はデータの送信を開始し、通信装置の更新処理を開始する。
なお、更新処理を行うタイミングを決定したサーバ装置は、決定したタイミングに開始指示を車載更新装置へ送信し、開始指示の受信後直ぐに又は遅滞なく車載更新装置が通信装置の更新処理を開始する構成とすることができる。また、更新処理を行うタイミングを決定したサーバ装置は、例えば更新処理を行う時刻を指定した開始指示をその時刻より前の時点で車載更新装置へ送信しておき、開始指示を受信した車載更新装置が指定された時刻に更新処理を開始する構成とすることもできる。この場合にサーバ装置は、更新用のプログラム又はデータと共に更新処理を行うタイミングを指定した開始指示を車載更新装置へ送信してもよい。
これにより本発明に係る車載更新システムは、サーバ装置が車両の走行情報を蓄積し、通信装置の更新処理を行う適切なタイミング(例えば車両が走行しない可能性が高い時間帯など)を決定して車載更新装置へ開始指示を送信し、このタイミングで車載更新装置が通信装置の更新処理を行うことができる。
また本発明においてサーバ装置は、車載更新装置から受信した走行情報を蓄積して記憶しておき、蓄積した走行情報に基づいて車両が走行しない時間帯を推定する。
例えばサーバ装置は、蓄積した所定日数分(例えば1ヶ月分など)の走行情報に基づいて、この期間中に車両が走行しなかった時間帯を抽出する。抽出した時間帯が1つであれば、サーバ装置はこの時間帯を車両が走行しない時間帯と推定することができる。抽出した時間帯が複数に分かれている場合、サーバ装置は、最も長い時間帯を選択して、この時間帯を車両が走行しない時間帯の推定結果とする。そしてサーバ装置は、推定した時間帯の中央の時点(即ち、推定した時間帯が午前1時から午前3時までの時間帯であれば、中央となる午前2時の時点)を算出し、この中央時点の前後の所定時間範囲内で更新処理を行うタイミングを決定する。所定時間範囲は、例えば通信装置の更新処理に必要な時間とすることができる。
これらによりサーバ装置は、車両が走行しない可能性が高い時間帯に更新処理を行うよう車載更新装置へ更新処理の開始指示を送信することができる。
また本発明においては、車載更新装置が車両のバッテリの蓄積電力量の情報を取得し、更新処理を行う前にバッテリの蓄積電力量に応じて更新処理が可能であるか否かを判定する。車載更新装置は、例えばバッテリの蓄積電力量が予め定められた閾値を超えるか否かに応じて、更新処理を行うことが可能であるか否かを判定する。車載更新装置は、バッテリの蓄積電力量に基づいて更新処理が可能であると判定した場合に、更新用のプログラム又はデータの通信装置への送信を開始する。これにより、例えば更新処理の途中でバッテリ切れなどが発生することを防止できる。
また本発明においては、車載更新装置が車両のIG(イグニッション)信号の状態を取得する。車載更新装置は、バッテリの蓄積電力量に応じて更新処理が不可能であると判定した後、IG信号がオフ状態からオン状態へ変化した場合に、行うことができなかった更新処理を試みる。ただしIG信号がオン状態へ変化した場合には、ユーザが車両を走行させようとしている可能性があり、更新処理を行うと更新処理完了までは車両を走行させることができなくなるため、車載更新装置は更新処理を行うことを許可するか否かをユーザに問合わせ、許可するか否かの選択を受け付ける。車載更新装置は、受け付けた選択に基づき、更新処理を行う許可が得られた場合に通信装置の更新処理を開始する。これにより、更新処理がユーザによる車両の使用の妨げとなることを防止できる。
また本発明においては、通信装置の更新処理を行うタイミングに至った際にIG信号がオン状態である場合又は更新処理を行っている途中でIG信号がオン状態となった場合、車載更新装置は、更新用のプログラム又はデータの通信装置への送信を中断し、更新対象の通信装置を更新前のプログラム又はデータによる動作に復帰させる。これにより、更新処理の途中であってもユーザは車両を使用することが可能となる。
また本発明においては、走行情報の記憶及び走行情報に基づく更新処理を行うタイミングの決定等の処理を、サーバ装置ではなく、車載更新装置が行う構成としてもよい。これにより、車載更新装置がサーバ装置との通信を頻繁に行うことができない環境であっても、更新処理を行うタイミングを適切に決定することができる。
本発明による場合は、車両の走行情報に基づいて通信装置の更新処理を行うタイミングを決定することによって、更新処理を行うことによるユーザの車両使用に関する利便性の低下を防止することができる。
本実施の形態に係る車載更新システムの構成を示す模式図である。 ECUの構成を示すブロック図である。 ECUが行う更新処理を説明するための模式図である。 ゲートウェイの構成を示すブロック図である。 サーバ装置の構成を示すブロック図である。 サーバ装置が行う非走行時間帯推定処理及び更新タイミング決定処理を説明するための模式図である。 ゲートウェイが行う走行情報収集及び送信の処理手順を示すフローチャートである。 ゲートウェイが行う更新プログラム取得処理の手順を示すフローチャートである。 ゲートウェイが行う更新処理の手順を示すフローチャートである。 ゲートウェイが行う更新処理の手順を示すフローチャートである。 サーバ装置が行う処理の手順を示すフローチャートである。 サーバ装置が行う処理の手順を示すフローチャートである。 ECUが行う更新処理の手順を示すフローチャートである。 変形例に係るゲートウェイの構成を示すブロック図である。
図1は、本実施の形態に係る車載更新システムの構成を示す模式図である。本実施の形態に係る車載更新システムは、車両1に搭載された複数のECU(Electronic Control Unit)2が、車両1内に配された通信線1a,1b及びゲートウェイ10を介して相互に通信を行うシステムである。本実施の形態に係る車載更新システムは、ゲートウェイ10が車載更新装置に相当し、ECU2が通信装置に相当する。また図示の例では、車内の通信線1aに2つのECU2及び1つの表示装置7が接続され、通信線1bに3つのECU2が接続され、2本の通信線1a,1bがゲートウェイ10に接続されたシステム構成であり、ゲートウェイ10が通信線1a,1b間の通信を中継することによって、全てのECU2が他のECU2又は表示装置7との間でデータの送受信を行うことができる。
また本実施の形態に係る車載更新システムでは、ゲートウェイ10に通信線1cを介して無線通信装置3が接続されており、ゲートウェイ10は無線通信装置3を介して車両1外に設置されたサーバ装置9との通信を行うことができる。またゲートウェイ10には、車両1のIGスイッチ4からIG信号が入力されると共に、車両1のバッテリ5の蓄積電力量を検知するバッテリ検知部6から検知結果が入力されている。
ECU2は、例えば車両1のエンジンの動作を制御するECU、ドアのロック/アンロックを制御するECU、ライトの点灯/消灯を制御するECU、エアバッグの動作を制御するECU、及び、ABS(Antilock Brake System)の動作を制御するECU等の種々のECUが含まれ得る。各ECU2は、車両1に配された通信線1a又は1bに接続され、通信線1a,1bを介して他のECU2、表示装置7及びゲートウェイ10との間でデータの送受信を行うことができる。
無線通信装置3は、例えば携帯電話通信網又は無線LAN(Local Area Network)等の無線通信を行うことによって、サーバ装置9との間で情報の送受信を行うことができる。無線通信装置3は、通信線1cを介してゲートウェイ10に接続されており、ゲートウェイ10との間で有線通信による情報の送受信を行うことができる。これにより無線通信装置3は、ゲートウェイ10及びサーバ装置9の間の通信を中継することができ、ゲートウェイ10から与えられたデータをサーバ装置9へ送信すると共に、サーバ装置9から受信したデータをゲートウェイ10へ与える。
ゲートウェイ10は、車両1の車内ネットワークを構成する複数の通信線1a〜1cが接続され、通信線間のデータの送受信を中継する処理を行う。図1に示す例においては、ゲートウェイ10には3つの通信線1a〜1c、即ち2つのECU2及び1つの表示装置7が接続された第1の通信線1a、3つのECU2が接続された第2の通信線1b及び無線通信装置3が接続された第3の通信線1cが接続されている。ゲートウェイ10は、いずれかの通信線1a〜1cから受信したデータを他の通信線1a〜1cへ送信することによって、データの中継を行う。
IGスイッチ4は、車両1のエンジン始動などをユーザが行うためのスイッチであり、オン/オフの2状態に切り替わる。本実施の形態においては、IG信号はIGスイッチ4の状態を示し、IGオンは車両1のエンジンなどの原動機が動作しており、オルタネータなどによる発電が行われている状態であり、IGオフは車両1の原動機が停止して発電が行われていない状態である。バッテリ検知部6は、バッテリ5の出力端子の電圧値及び/又は入出力される電流量の積算値等に基づいて、バッテリ2に蓄積されている電力量の検知を行う。表示装置7は、例えば液晶ディスプレイなどであり、ECU2又はゲートウェイ10から与えられる表示命令などに応じて、車両1のユーザに対するメッセージ表示などを行う。また図示は省略するが、表示装置7は、例えばタッチパネル又はハードウェアキー等の操作部を有しており、ユーザの操作を受け付けてECU2又はゲートウェイ10へ受け付けた操作内容を通知する。なお表示装置7は、例えばカーナビゲーション装置と共用のものであってよい。
サーバ装置9は、車両1に搭載されるECU2にて実行されるプログラム及びデータを管理及び記憶している。サーバ装置9は、車両1からの問合わせに応じてプログラムなどの更新が必要であるか否かを通知すると共に、更新が必要である場合には更新用のプログラム及びデータを車両1へ配信する処理を行う。
本実施の形態に係る車載更新システムでは、車両1のエンジンが動作している際にゲートウェイ10及びサーバ装置9の通信が行われ、サーバ装置9からゲートウェイ10へ、更新に必要なプログラム及び/又はデータ等の取得(ダウンロード)が行われる。更新に必要なプログラム及び/又はデータ等の取得を完了したゲートウェイ10は、その後に車両1のエンジンが停止した後(IGスイッチ4がオフ状態へ切り替えられた後)、所定の更新タイミングに至った場合に、サーバ装置9から取得したプログラム及び/又はデータ等を更新対象のECU2へ送信することにより、更新処理を行う。ゲートウェイ10から更新に必要なプログラム及び/又はデータ等を受信したECU2は、自身の記憶部にこのプログラム及び/又はデータ等を書き込むことによって、更新処理を行う。
また本実施の形態に係る車載更新システムでは、ゲートウェイ10が車両1の走行に係る情報を収集し、これを定期的にサーバ装置9へ送信している。ゲートウェイ10からサーバ装置9へ送信する走行情報は、例えば車両1のエンジンが始動した時刻、エンジンが停止した時刻、車両1のドアのロックが操作された時刻、車両1内の座席にユーザが座った時刻、シートベルトを着脱した時刻、シフトレバーが操作された時刻、及び、ブレーキが操作された時刻等の情報を含めることができる。ゲートウェイ10は、車両1に搭載されたECU2又はその他の車載機器からこれらの情報を収集する。本実施の形態において走行情報は、車両1のエンジンの始動及び停止の時刻に関する情報を含むものとする。
サーバ装置9は、車両1から送信された走行情報を受信し、受信した走行情報を記憶部に蓄積している。サーバ装置9は、蓄積した走行情報に基づいて、車両1が走行しない可能性が高い時間帯を推定する処理を行う。本実施の形態においてサーバ装置9が推定する時間帯は、例えば午前1時から午前5時までのように開始時刻及び終了時刻で示される時間間隔で表すことができ、更には毎週日曜日の午前1時から午前5時まで又は毎月10日の午前1時から午前5時まで等のように曜日又は日付等の条件が付加されてもよい。サーバ装置9は、例えば過去30日分又は1年分等の所定期間分の走行情報を参照して推定を行う。
またサーバ装置9は、推定した時間帯に含まれる一つの時点を、車両1のECU2の更新処理を行うタイミングであると決定する。本実施の形態においてサーバ装置9が決定する更新タイミングは、例えば午前3時のような時刻として表すことができる。サーバ装置9は、決定した更新処理のタイミングに至った場合、車両1に対して更新処理の開始指示を送信する。この開始指示を受信した車両1のゲートウェイ10は、予めサーバ装置9から取得して記憶していた更新用のプログラム及び/又はデータを更新対象のECU2へ送信することによって更新処理を行う。又は、サーバ装置9は、決定した更新処理のタイミングに至る前に、このタイミングを指定した開始指示を車両1に対して送信してもよい。この開始指示を受信した車両1のゲートウェイ10は、受信した開始指示にて指定されたタイミングに至った場合に、更新対象のECU2の更新処理を行う。
図2は、ECU2の構成を示すブロック図である。なお本図においては、複数のECU2に共通の機能ブロックを抜き出して示しており、ECU2毎に異なる機能ブロックについては図示を省略している。本実施の形態に係るECU2は、処理部21、記憶部22及び通信部23等を備えて構成されている。処理部21は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成され、記憶部22に記憶されたプログラム22aを読み出して実行することにより、種々の演算処理を行う。なお記憶部22に記憶されるプログラム22aは、ECU2毎にその内容が異なっている。
記憶部22は、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子を用いて構成されている。記憶部22は、処理部21が実行するプログラム22aと、このプログラム22aの実行に必要なデータとを記憶する。なお以下において”プログラム22a”との記載には、プログラム22aと、このプログラム22aの実行に必要なデータとを含み得る。
通信部23は、車内ネットワークを構成する通信線1a又は1bに接続され、例えばCAN(Controller Area Network)などの通信プロトコルに従ってデータの送受信を行う。通信部23は、処理部21から与えられたデータを電気信号に変換して通信線1a又は1bへ出力することによってデータを送信すると共に、通信線1a又は1bの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部21へ与える。
また本実施の形態に係るECU2の処理部21には、更新用情報受信部21a、更新用情報書込処理部21b、更新処理部21c及び復帰処理部21dが設けられている。更新用情報受信部21a〜復帰処理部21dは、記憶部22に記憶されたプログラム22aの更新(アップデート)処理を行うための機能ブロックである。更新用情報受信部21a〜復帰処理部21dは、更新処理の対象となるプログラム22aとは別のプログラム(図示は省略する)を処理部21が実行することにより実現されるソフトウェア的な機能ブロックである。
更新用情報受信部21aは、通信線を介してゲートウェイ4から送信される更新用のプログラムを通信部23にて受信し、受信した更新用のプログラムをバッファメモリ(図示は省略する)などに蓄積する処理を行う。更新用情報書込処理部21bは、更新用情報受信部21aが蓄積した更新用のプログラムを、記憶部22の空き領域に書き込む処理を行う。更新処理部21cは、更新用情報書込処理部21bが更新用のプログラムの書き込みを完了した後、記憶部22に記憶されている更新前のプログラムを無効化し、新たに書き込んだ更新用のプログラムを有効化することによって、プログラム22aの更新を行う。復帰処理部21dは、ゲートウェイ4からの更新用のプログラムの送信が中断された場合に、記憶部22に記憶されている更新前のプログラムによる処理を開始し、更新処理を行う前の状態での動作に復帰する処理を行う。
図3は、ECU2が行う更新処理を説明するための模式図である。本実施の形態に係るECU2の記憶部22は、少なくともプログラム22aを2セット分記憶しておくのに十分な記憶容量を有している。図3の上段に示す例では、記憶部22には、プログラム22aと、このプログラム22aと同程度の容量の空き領域22bとが存在している。このときに記憶部22に記憶されているプログラム22aは有効とされ、処理部21がこのプログラム22aを読み出して実行している。
更新用情報受信部21aがゲートウェイ4から更新用のプログラムを受信した場合、更新用情報書込処理部21bは、更新前のプログラム22aに上書きすることなく、記憶部22の空き領域22bに受信した更新用のプログラム22aを記憶する。更新用情報書込処理部21bが更新用のプログラム22aをエラーなく記憶部22に書き込み完了した後、更新処理部21cは、更新前のプログラム22aを無効化し、新たに記憶した更新用のプログラム22aを有効化することによって、更新処理を完了する。その後、ECU2の処理部21は、有効化された更新用のプログラム22aを読み出して実行する。なお無効化した更新前のプログラム22aは、例えば何らかのタイミングで消去されてもよく、また例えば消去されることなく記憶部22内に残され、次の更新処理の際に空き領域22bと扱われてもよい。
このように、本実施の形態に係るECU2は、更新前のプログラム22aを記憶する領域(第1の領域)と、更新用のプログラム22aを記憶する領域(第2の領域)とを少なくとも記憶部22に設けている。即ち各ECU2はプログラム22aを少なくとも2セット分は記憶することができる記憶領域を有している。更新処理のためにゲートウェイ10が送信した更新用のプログラム22aを受信したECU2は、更新前のプログラム22aが記憶された領域とは別の領域に、受信した更新用のプログラム22aを記憶する。即ちECU2では、更新前のプログラム22aが上書きされることなく、更新用のプログラム22aが記憶部22に記憶される。ECU2は、更新用のプログラム22aを記憶部22に記憶し終えた後、更新前のプログラム22aを無効化し、更新用のプログラム22aを有効化することによって、処理部21が実行するプログラム22aを切り替える。即ちECU2は、処理部21のブート対象とするプログラムの切り替えを行うことによって、更新処理を完了する。
図4は、ゲートウェイ10の構成を示すブロック図である。本実施の形態に係るゲートウェイ10は、処理部11、記憶部12、及び、3つの車内通信部13等を備えて構成されている。処理部11は、例えばCPU又はMPU等の演算処理装置を用いて構成され、記憶部12又は図示しないROM(Read Only Memory)等に記憶されたプログラムを読み出して実行することにより、種々の演算処理を行う。本実施の形態において処理部11は、車内ネットワークの通信線1a〜1c間のデータ送受信を中継する処理、及び、ECU2の更新処理等に必要な演算処理を行う。また車両1のIGスイッチ4から供給されるIG信号及びバッテリ検知部6が検知するバッテリの蓄積電力量の情報は、処理部11に入力されている。ただし、IG信号及び/又はバッテリの蓄積電力量は、通信線1a〜1cを利用した車内通信によりゲートウェイ10へ入力されてもよい。
記憶部12は、フラッシュメモリ又はEEPROM等の不揮発性のメモリ素子を用いて構成されている。記憶部12は、例えばECU2の更新に用いられるプログラム及びデータ等が記憶される。記憶部12は、処理部11が実行するプログラム及びこのプログラムの実行に必要なデータなどを記憶してもよい。また記憶部12は、処理部11の処理の過程で生成されたデータなどを記憶してもよい。
車内通信部13は、車内ネットワークを構成する通信線1a〜1cに接続され、例えばCANなどの通信プロトコルに従ってデータの送受信を行う。車内通信部13は、処理部11から与えられたデータを電気信号に変換して通信線1a〜1cへ出力することによって情報を送信すると共に、通信線1a〜1cの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部11へ与える。なおゲートウェイ10が備える3つの車内通信部13は、それぞれ異なる通信プロトコルに従って通信を行うものであってもよい。
また処理部11には、記憶部12又はROM等に記憶されたプログラムが実行されることによって、走行情報取得部11a、走行情報送信部11b、更新用情報取得部11c、開始指示受信部11d、IG状態取得部11e、バッテリ情報取得部11f、更新可否判定部11g、更新用情報送信部11h、選択受付部11i及び更新中断部11j等がソフトウェア的な機能ブロックとして実現される。
走行情報取得部11aは、ゲートウェイ10へ直接的に入力される情報及び車内ネットワークを介して受信する情報から車両1の走行に係る情報を取得する処理を行う。本実施の形態において走行情報取得部11aが取得する走行情報は、車両1のエンジンの始動及び停止の時刻に関する情報である。走行情報取得部11aは、例えばIGスイッチ4から入力されるIG信号のオン状態/オフ状態が切り替わった時刻を取得することによって、エンジンの始動及び停止の時刻に関する情報を取得することができる。なおこのような時刻の情報を取得するために、本実施の形態においては処理部11に計時機能が備えられているものとするが、例えばGPS(Global Positioning System)の信号に含まれる時刻情報を利用することもできる。走行情報取得部11aは、IG信号がオフ状態からオン状態へ切り替わった時刻を車両1のエンジンが始動した時刻とし、オン状態からオフ状態へ切り替わった時刻をエンジンが停止した時刻として記憶部12に記憶しておく。
走行情報送信部11bは、走行情報取得部11aが取得した走行情報を、無線通信装置3にてサーバ装置9へ送信する処理を行う。走行情報送信部11bが走行情報を送信するタイミングは、例えば1日毎又は1週間毎等のように所定周期としてよく、また例えば走行情報取得部11aが走行情報を取得する都度などとしてもよい。
更新用情報取得部11cは、所定のタイミングで無線通信装置3を介したサーバ装置9との通信を行い、車両1に搭載されたECU2のプログラム22aの更新が必要であるか否かを問い合わせる。更新要否の問合わせを行う所定のタイミングは、例えば1日毎又は1週間毎等のように所定周期としてよく、また例えばIGスイッチ4がオフ状態からオン状態へ切り替えられる都度などとしてもよい。更新が必要であるとの通知をサーバ装置9から与えられた場合、更新用情報取得部11cは、無線通信装置3を介してサーバ装置9から更新に必要なプログラム及びデータ等(以下、単に更新用プログラムという)を取得して記憶部12に記憶する。このときに更新用情報取得部11cは、更新が必要な全てのECU2について、更新用プログラムの取得を行う。
開始指示受信部11dは、サーバ装置9が送信する更新処理の開始指示を、無線通信装置3を介して受信する処理を行う。サーバ装置9が更新処理を開始するタイミングで開始指示を送信する構成であれば、開始指示受信部11dが開始指示を受信した場合にゲートウェイ10は更新処理を開始してよい。サーバ装置9が更新処理を開始するタイミング以前にそのタイミングを指定した開始指示を送信する構成であれば、開始指示受信部11dは、受信した開始指示にて指定された更新処理のタイミングを記憶部12に記憶する。この場合、記憶部12に記憶された更新処理のタイミングに至った場合に、ゲートウェイ10は更新処理を開始する。
IG状態取得部11eは、ECU2の更新処理を開始するタイミングに至った場合、及び、更新処理を行っている間に、IGスイッチ4から入力されるIG信号を取得し、IGスイッチ4のオン状態/オフ状態の変化を監視する処理を行う。本実施の形態に係る車載更新システムでは、基本的に車両1が走行していない場合、即ちIGスイッチ4がオフ状態である場合に更新処理を行う。このため、更新処理を開始するタイミングに至ったとしても、IGスイッチ4がオン状態であれば更新処理は行われない。また更新処理を行っている途中でIGスイッチ4がオフ状態からオン状態へ変化した場合にも、更新処理は中断される。
バッテリ情報取得部11fは、ECU2の更新処理を行うタイミングに至った場合に、バッテリ検知部6から入力される蓄積電力量を取得することにより、車両1のバッテリ5にその時点で蓄積されている電力量を取得する。なおバッテリ検知部6がバッテリ5の蓄積電力量をゲートウェイ10へ入力する構成である場合には、バッテリ情報取得部11fは、単にバッテリ検知部6の検知結果を取得すればよい。ただし、バッテリ検知部6が例えばバッテリ5の端子電圧値を単に入力する構成である場合などには、バッテリ検知部6からの入力情報をバッテリ情報取得部11fが取得し、取得した情報に基づいてバッテリ5の蓄積電力量を算出する処理を行う必要がある。
更新可否判定部11gは、バッテリ情報取得部11fが取得したバッテリ5の蓄積電力量と予め定められた閾値との比較結果に応じて、サーバ装置9から取得した更新用プログラムによる更新処理を行うことが可能であるか否かの判定を行う。例えばバッテリ5の蓄積電力量が95%以上であれば更新処理を行ってもよいと定められている場合、更新可否判定部11gは、バッテリ情報取得部11fが取得した蓄積電力量が95%以上であるか否かに応じて更新処理が可能であるか否かを判定することができる。更新可否判定部11gが更新処理可能と判定した場合にゲートウェイ10は更新処理を行い、更新処理不可能と判定した場合には更新処理は行わず、次の機会を待つ。
更新用情報送信部11hは、更新用情報取得部11cがサーバ装置9から取得して記憶部22に記憶した更新用のプログラムを読み出し、読み出した更新用のプログラムを更新処理の対象となるECU2へ送信することによって、このECU2の記憶部22に記憶されたプログラム22aの更新処理を行う。更新処理を行うと判定された更新用プログラムが複数存在する場合、更新用情報送信部11hは、適宜の順序で更新用プログラムを順次的に送信してもよく、複数の更新用プログラムを並列的に送信してもよい。更新用情報送信部11hによりECU2に送信された更新用プログラムは、記憶部12から消去される(ただし、消去せずに別のデータを書き込む必要が生じるまでは記憶しておいてもよい)。ただし更新可否判定部11gにより更新処理を行わないと判定された更新用プログラムは、記憶部12に記憶され、次に更新処理を行う機会を待つ。
選択受付部11iは、更新可否判定部11gが更新処理不可能と判定して更新処理が行われず、その後にIGスイッチ4がオフ状態からオン状態へ切り替わった場合に、行われなかった更新処理を行うか否かの選択をユーザから受け付ける処理を行う。このときに選択受付部11iは、車内通信部13を介して表示装置7へユーザへのメッセージを表示する指示を与える。この指示を受信した表示装置7は、例えば「バッテリ残量不足によりソフトウェアのアップデートを行うことができませんでした。これからアップデートを実行しますか?アップデートには約5分の時間が必要で、その間は車を走行させることはできません。」などのメッセージ表示を行う。表示装置7は、タッチパネル又はハードウェアキー等の操作部により、更新処理を行うか否かの選択操作の受け付けを行い、受け付けた操作内容をゲートウェイ10へ送信する。ゲートウェイ10の選択受付部11iは、表示装置7からの情報に基づいて、更新処理を行うか否かの選択を受け付ける。選択受付部11iが更新処理を行う選択を受け付けた場合、ゲートウェイ10は、ECU2の更新処理を行う。更新処理を行わない選択を受け付けた場合、ゲートウェイ10は、更新処理を行わずに次の機会を待つ。
更新中断部11jは、更新処理を行うタイミングに至って更新処理を開始し、更新処理を行っている途中でIG状態取得部11eが取得したIGスイッチ4の状態がオフ状態からオン状態へと切り替わった場合に、更新処理を中断する処理を行う。更新中断部11jは、更新用情報送信部41hによるECU2への更新用プログラムの送信処理を中断し、ECU2のプログラム22aの更新処理を中断する。またこのときに更新中断部11jは、更新処理の中断をECU2へ通知してもよい。更新処理が中断されたECU2は、復帰処理部21dにより更新前のプログラム22aによる動作に復帰する。
図5は、サーバ装置9の構成を示すブロック図である。本実施の形態に係るサーバ装置9は、例えば車両1の製造会社又は販売会社等が運営管理する装置であり、車両1外の適所に設置されている。サーバ装置9は、複数の車両1との通信を行うことができ、各車両1から情報を収集して管理する装置である。サーバ装置9は、処理部91、記憶部92及び通信部93等を備えて構成されている。処理部91は、例えばCPU又はMPU等の演算処理装置を用いて構成され、記憶部92に記憶されたサーバプログラムを読み出して実行することにより、車両1の管理に関する種々の演算処理を行う。本実施の形態において処理部91は、車両1に搭載されたECU2の更新用プログラムを配信する処理、及び、この更新用プログラムを用いた更新処理を行うタイミングを決定する処理等を行う。
記憶部92は、例えばハードディスクなどの大容量の記憶装置を用いて構成されている。記憶部92は、処理部91が実行するサーバプログラム及びこの実行に必要なデータを記憶していると共に、処理部91の処理過程で生成されたデータを記憶する。また本実施の形態において記憶部92には、車両1へ配信する更新用のプログラム又はデータを記憶した更新用プログラムDB(データベース)92aが設けられている。更新用プログラムDB92aには、複数種の車両1に搭載され得る様々なECU2のための様々なバージョンのプログラムが更新用プログラムとして記憶されており、サーバ装置9はこれらの中から適切なものを選択して車両1へ送信する。
また記憶部92には、各車両1に関する情報を記憶した車両情報DB92bが設けられている。車両情報DB92bには、例えば車両1の車種、型式、搭載されているECU2の種別、及び、各ECU2のソフトウェアのバージョン等の情報が記憶されている。サーバ装置9は、この車両情報DB92bに基づいて、各車両1のECU2の更新処理が必要であるか否かを判断することができる。また記憶部92には、各車両1のゲートウェイ10から受信した走行情報を記憶する走行情報DB92cが設けられている。
通信部93は、例えばインターネット及び携帯電話通信網等を介して、車両1との間の通信を行う。通信部93は、処理部91から与えられた送信用のメッセージを、所望の車両1に対して送信すると共に、車両1から受信したメッセージを処理部91へ与える。
また処理部91には、記憶部92に記憶されたサーバプログラムが実行されることによって、更新用情報送信部91a、走行情報受信部91b、非走行時間帯推定部91c、更新タイミング決定部91d及び開始指示送信部91e等がソフトウェア的な機能ブロックとして実現される。更新用情報送信部91aは、車両1のゲートウェイ10から更新の有無の問合わせを受信した場合に、この車両1についての情報を車両情報DB92bから取得して、プログラムの更新が必要であるか否かを判定し、判定結果を問合わせの応答として車両1へ送信する処理を行う。また更新用情報送信部91aは、車両1のゲートウェイ10から更新用プログラムの送信要求を受信した場合、記憶部92の更新用プログラムDB92aに記憶された更新用プログラムから要求元の車両1に適したものを読み出して、要求元の車両1へ送信する処理を行う。
走行情報受信部91bは、車両1のゲートウェイ10から定期的に又は適宜のタイミングで送信される車両1の走行情報を受信する処理を行う。走行情報受信部91bは、車両1からの走行情報を受信した場合、受信した走行情報をこの車両1の識別情報などに対応付けて記憶部92の走行情報DB92cに記憶する処理を行う。
非走行時間帯推定部91cは、各車両1から送信されて記憶部92の走行情報DB92cに蓄積された各車両1の走行情報に基づいて、車両1が走行しない可能性が高い時間帯を推定する処理を行う。更新タイミング決定部91dは、非走行時間帯推定部91cが推定した時間帯に含まれる所定のタイミングを、車両1の更新処理を行うタイミングとして決定する処理を行う。
開始指示送信部91eは、更新タイミング決定部91dが決定した更新タイミングに基づいて、車両1へ更新処理の開始指示を送信する処理を行う。なお、開始指示送信部91eは、更新タイミング決定部91dが決定したタイミングに至った場合に車両1への開始指示を送信する構成としてよく、この場合には開始指示を受信した車両1にて更新処理が開始される。又は、開始指示送信部91eは、更新タイミング決定部91dが決定したタイミングに至る前に更新タイミングを指定した開始指示を車両1へ送信する構成としてもよく、この場合には開始指示を受信した車両1では直ぐに更新処理は開始されない。車両1のゲートウェイ10は、開始指示にて指定された更新タイミングに至った場合に、車両1の更新処理を開始する。
図6は、サーバ装置9が行う非走行時間帯推定処理及び更新タイミング決定処理を説明するための模式図である。図6の上段には、サーバ装置9の記憶部92の走行情報DB92cに蓄積された車両1の3日分の走行情報の例を、上下に並べて示してある。各走行情報は、各日の0時から24時までについて、車両1が走行した(IGスイッチ4がオン状態であった)期間を”走行”のラベルを付した横長の長方形で示し、走行していない(IGスイッチ4がオフ状態であった)期間を横実線で示してある。なお本例では、説明を簡略化するために、3日分の走行情報から非走行時間帯を推定する例を示すが、実際には例えば1ヶ月分又は半年分等のより多くの走行情報を用いて推定処理を行ってよい。
サーバ装置9の非走行時間帯推定部91cは、3日分の走行情報から、車両1が全く走行していない時間帯を抽出する。本例では、1日の中央付近の時間帯と、1日の最初及び次の日の最初の部分に跨った時間帯との2つの時間帯が非走行時間帯として抽出されている。抽出された時間帯が1つであれば、非走行時間帯推定部91cは、抽出された時間帯を非走行時間帯とすればよい。複数の時間帯が抽出された場合、非走行時間帯推定部91cは、これらの時間帯の中から最も時間が長いものを1つ選択し、選択した1つの時間帯を非走行時間帯とする。本例では、1日の中央付近の時間帯を非走行時間帯の推定結果としている。
サーバ装置9の更新タイミング決定部91dは、非走行時間帯推定部91cが推定した非走行時間帯の開始時刻t0及び終了時刻t1に基づいて、非走行時間帯の中央時刻t2=(t0+t1)/2を算出する。また更新タイミング決定部91dは、車両1にて更新処理に要する時間Tを推定する処理を行う。更新処理に要する時間Tは、例えば更新用プログラムのデータサイズに基づいて推定することができる。更新タイミング決定部91dは、非走行時間帯の中央時刻t2が更新処理の時間内に含まれるように、更新開始時刻t3を決定する。本例では、更新開始時刻t3=t2−T/2としている。
サーバ装置9の開始指示送信部91eは、更新タイミング決定部91dが決定した更新開始時刻t3に至った場合に車両1へ更新開始指示を送信するか、又は、更新タイミング決定部91dが更新タイミングを決定した後から更新開始時億t3に至るまでの間に、更新開始時刻t3を指定した更新開始指示を車両1へ送信する。
図7は、ゲートウェイ10が行う走行情報収集及び送信の処理手順を示すフローチャートである。なお本フローチャートは、車両1のIGスイッチ4がオン状態である場合を初期状態として処理を示してある。ゲートウェイ10の処理部11の走行情報取得部11aは、IGスイッチ4から入力されるIG信号を取得し、IG信号がオン状態からオフ状態へ切り替えられたか否かを判定する(ステップS1)。IG信号がオフ状態へ切り替えられていない場合(S1:NO)、走行情報取得部11aは、IG信号がオフ状態へ切り替えられるまで待機する。IG信号がオフ状態へ切り替えられた場合(S1:YES)、走行情報取得部11aは、IG信号の切り替えが行われた時刻を取得して、この切替時刻を記憶部12に走行情報として記憶する(ステップS2)。
次いで、走行情報取得部11aは、IG信号がオフ状態からオン状態へ切り替えられたか否かを判定する(ステップS3)。IG信号がオン状態へ切り替えられていない場合(S3:NO)、走行情報取得部11aは、IG信号がオン状態へ切り替えられるまで待機する。IG信号がオン状態へ切り替えられた場合(S3:YES)、走行情報取得部11aは、IG信号の切り替えが行われた時刻を取得して、この切替時刻を記憶部12に走行情報として記憶する(ステップS4)。また走行情報送信部11bは、記憶部12に記憶された走行情報を無線通信装置3にてサーバ装置9へ送信し(ステップS5)、ステップS1へ処理を戻す。
なお図7に示したフローチャートにおいては、IGスイッチ4がオン状態へ切り替えられた際に、サーバ装置9への走行情報の送信を行う構成としてあるが、走行情報の送信は別のタイミングで行ってもよい。
図8は、ゲートウェイ10が行う更新プログラム取得処理の手順を示すフローチャートである。ゲートウェイ10の処理部11の更新用情報取得部11cは、IGスイッチ4から入力されるIG信号を取得し、IG信号がオフ状態からオン状態へ切り替えられたか否かを判定する(ステップS11)。IG信号がオン状態へ切り替えられていない場合(S11:NO)、更新用情報取得部11cは、IG信号がオン状態へ切り替えられるまで待機する。IG信号がオン状態へ切り替えられた場合(S11:YES)、更新用情報取得部11cは、無線通信装置3を介した無線通信を行い、サーバ装置9へ車両1に搭載されたECU2のプログラムの更新の有無を問い合わせる(ステップS12)。
更新用情報取得部11cは、問い合わせに対してサーバ装置9から送信される応答を、無線通信装置3を介して受信する(ステップS13)。この応答には、更新の有無の他に、更新が必要なプログラムに係る情報、例えばプログラムの識別情報及びデータ量等の情報が含まれている。更新用情報取得部11cは、サーバ装置9からの応答に基づいて、車両1に搭載されたECU2のプログラムの更新の有無を判定する(ステップS14)。更新がない場合(S14:NO)、更新用情報取得部11cは、ステップS11へ処理を戻す。更新がある場合(S14:YES)、更新用情報取得部11cは、サーバ装置9へ更新用プログラムの送信を要求する(ステップS15)。更新用情報取得部11cは、要求に応じてサーバ装置9から送信される更新用プログラムを、無線通信装置3を介して受信し(ステップS16)、受信した更新用プログラムを記憶部12に記憶して(ステップS17)、ステップS11へ処理を戻す。
図9及び図10は、ゲートウェイ10が行う更新処理の手順を示すフローチャートである。ゲートウェイ10の処理部11の開始指示受信部11dは、サーバ装置9から送信される更新処理の開始指示を、無線通信装置3にて受信したか否かを判定する(ステップS21)。更新処理の開始指示を受信していない場合(S21:NO)、開始指示受信部11dは、サーバ装置9からの開始指示を受信するまで待機する。更新処理の開始指示を受信した場合(S21:YES)、処理部11のIG状態取得部11eは、IGスイッチ4から入力されるIG信号を取得して、IG信号がオフ状態であるか否かを判定する(ステップS22)。IG信号がオン状態である場合(S22:NO)、IG状態取得部11eは、ステップS21へ処理を戻す。なおこのときにゲートウェイ10は、更新処理を行うことができなかった旨をサーバ装置9へ通知してもよい。
IG信号がオフ状態である場合(S22:YES)、処理部11のバッテリ情報取得部11fは、バッテリ検知部6から入力されるバッテリ5の蓄積電力量を取得する(ステップS23)。処理部11の更新可否判定部11gは、ステップS23にて取得したバッテリ5の蓄積電力量が所定の閾値を超えるか否かに基づいて、更新処理を行うことができるか否かを判定する(ステップS24)。更新処理を行うことができると判定した場合(S24:YES)、処理部11は、車内通信部13にて、更新処理を行うECU2に対して更新処理を行う旨を通知する(ステップS25)。
次いで処理部11のIG状態取得部11eは、IGスイッチ4から入力されるIG信号を取得して、IG信号がオン状態であるか否かを判定する(ステップS22)。IG信号がオン状態でない場合(S26:NO)、処理部11の更新用情報送信部11hは、記憶部12に記憶された更新用のプログラムを読み出して、更新対象のECU2へ送信する(ステップS27)。このときに更新用情報送信部11hは、記憶部42に記憶された更新用のプログラムを所定のデータサイズに分割し、分割した更新用のプログラムを順次的にECU2へ送信する。更新用情報送信部11hは、記憶部12に記憶されている更新用プログラムのECU2への送信を完了したか否かを調べることにより、ECU2の更新処理が完了したか否かを判定する(ステップS29)。更新処理が完了していない場合(S29:NO)、処理部11は、ステップS26へ処理を戻す。
またステップS26にて、IG信号がオン状態である場合(S26:YES)、処理部11の更新中断部11jは、更新用情報送信部11hによる更新用プログラムの送信を中断し、更新処理を中断する旨をECU2へ通知する処理を行う(ステップS28)。更新中断部11jは、IG信号がオフ状態となり、更新処理を中断する要因がなくなった場合、更新処理を中断したECU2に対して更新処理を行う旨の通知を再送し、ステップS26へ処理を戻す。処理部11は、更新用プログラムのECU2への送信と、必要に応じて送信の中断とを行いながら、更新用プログラムのECU2への送信を継続して行う。更新処理が完了した場合(S29:YES)、処理部11は、更新完了した更新用プログラムを記憶部12から消去する(ステップS30)。処理部11は、無線通信装置3にて更新完了をサーバ装置9へ通知して(ステップS31)、ステップS21へ処理を戻す。
またステップS24にて、バッテリ5の蓄積電力量に基づき更新処理を行うことができないと判定した場合(S24:NO)、処理部11のIG状態取得部11eは、IGスイッチ4から入力されるIG信号を取得して、IG信号がオン状態であるか否かを判定する(ステップS32)。IG信号がオン状態でない場合(S32:NO)、処理部11は、IG信号がオン状態となるまで待機する。IG信号がオン状態である場合(S32:YES)、処理部11の選択受付部11iは、車内通信部13にて表示装置7へメッセージの表示命令を送信することにより、更新処理を行うか否かの選択を促すメッセージを表示装置7に表示する(ステップS33)。選択受付部11iは、表示装置7の操作部に対する操作内容を表示装置7から受信することにより、更新処理を行うか否かの選択操作を受け付ける(ステップS34)。
処理部11は、選択受付部11iが受け付けた選択に基づいて、更新処理が許可されたか否かを判定する(ステップS35)。更新処理が許可された場合(S35:YES)、処理部11の更新用情報送信部11hは、記憶部12に記憶された更新用のプログラムを読み出して、更新対象のECU2へ送信する(ステップS36)。更新用情報送信部11hは、記憶部12に記憶されている更新用プログラムのECU2への送信を完了したか否かを調べることにより、ECU2の更新処理が完了したか否かを判定する(ステップS37)。更新処理が完了していない場合(S37:NO)、処理部11は、ステップS36へ処理を戻す。更新処理を完了した場合(S37:YES)、処理部11は、更新完了した更新用プログラムを記憶部12から消去する(ステップS38)。処理部11は、無線通信装置3にて更新完了をサーバ装置9へ通知して(ステップS39)、ステップS21へ処理を戻す。
また、更新処理が許可されなかった場合(S35:NO)、処理部11は、更新処理が未完了である旨の通知を、無線通信装置3にてサーバ装置9へ送信し(ステップS40)、ステップS21へ処理を戻す。
図11及び図12は、サーバ装置9が行う処理の手順を示すフローチャートである。なおサーバ装置9は、管理対象となる各車両1について、本図のフローチャートに示された処理を個別に行っている。サーバ装置9の処理部91の走行情報受信部91bは、車両1から送信される走行情報を受信したか否かを判定する(ステップS51)。走行情報を受信していない場合(S51:NO)、走行情報受信部91bは、ステップS53へ処理を進める。走行情報を受信した場合(S51:YES)、走行情報受信部91bは、受信した走行情報を、記憶部92の走行情報DB92cに記憶して(ステップS52)、ステップS53へ処理を進める。
次いで処理部91は、車両1からECU2のプログラムの更新有無の問合わせを受信したか否かを判定する(ステップS53)。問合わせを受信していない場合(S53:NO)、処理部91は、ステップS56へ処理を進める。問合わせを受信した場合(S53:YES)、処理部91は、記憶部92の車両情報DB92bを参照することによって、問合わせに係る車両1のECU2のプログラムについての更新の有無を調査する(ステップS54)。処理部91は、調査結果として得られた更新の有無を応答として問合わせ元の車両1へ送信し(ステップS55)、ステップS56へ処理を進める。
次いで処理部91は、車両1から更新用プログラムの送信要求を受信したか否かを判定する(ステップS56)。送信要求を受信していない場合(S56:NO)、処理部91は、ステップS51へ処理を戻す。送信要求を受信した場合(S56:YES)、処理部91の更新用情報送信部91aは、要求元の車両1のECU2にて更新処理を行うべき更新用プログラムを記憶部92の更新用プログラムDB92aから読み出して、要求元の車両1へ送信する(ステップS57)。処理部91の非走行時間帯推定部91cは、走行情報DB92cに記憶された走行情報を基に、更新用プログラムを送信した車両1について非走行時間帯(走行しない可能性が高い時間帯)を推定する処理を行う(ステップS58)。処理部91の更新タイミング決定部91dは、非走行時間帯推定部91cが推定した非走行時間帯に基づいて、更新処理を行うタイミングを決定する(ステップS59)。
処理部91は、自身が有する計時機能により計時された時刻と、ステップS59にて更新タイミングとして決定された時刻とを比較することにより、決定された更新タイミングに至ったか否かを判定する(ステップS60)。更新タイミングに至っていない場合(S60:NO)、処理部91は、更新タイミングに至るまで待機する。更新タイミングに至った場合(S60:YES)、処理部91の開始指示送信部91eは、更新用プログラムを送信した車両1に対して開始指示を送信する(ステップS61)。
その後、処理部91は、車両1から更新処理完了の通知を受信したか否かに応じて、更新処理が完了したか否かを判定する(ステップS62)。更新処理が完了していない場合(S62:NO)、処理部91は、更新処理が完了するまで待機する。更新処理が完了した場合(S62:YES)、処理部91は、プログラムの更新が完了した旨を記録するため、記憶部92の車両情報DB92bを更新し(ステップS63)、ステップS51へ処理を戻す。なお本フローチャートにおいては図示を省略するが、車両1から更新処理が未完了である旨の通知を受信した場合、処理部91は、ステップS58へ処理を戻し、非走行時間帯の推定及び更新タイミングの決定等を新たに行って、同様の処理を行えばよい。
図13は、ECU2が行う更新処理の手順を示すフローチャートである。ECU2の処理部21は、記憶部22に記憶されたプログラム22aの更新処理を行う旨の通知をゲートウェイ10から受信したか否かを判定する(ステップS71)。通知を受信していない場合(S71:NO)、処理部21は、更新処理を行う旨の通知を受信するまで待機する。更新処理を行う旨の通知を受信した場合S(71:YES)、処理部21は、記憶部22に記憶されたプログラム22aによる通常の処理を停止し(ステップS72)、通常の動作モードから更新処理を行うモードへと切り替わる。
処理部21の更新用情報受信部21aは、ゲートウェイ10から送信される更新用プログラム(所定のデータサイズに分割された更新用プログラム)を受信したか否かを判定する(ステップS73)。更新用プログラムを受信した場合(S73:YES)、処理部21の更新用情報書込処理部21bは、受信した更新用プログラムを、記憶部22の空き領域22bへ書き込む(ステップS75)。処理部21は、ゲートウェイ10から受信すべき更新用プログラムの全てを受信して書き込みを完了したか否かを判定する(ステップS76)。更新用プログラムの全てについての書き込みが完了していない場合(S76:NO)、処理部21は、ステップS73へ処理を戻す。更新用プログラムの全ての書き込みが完了した場合(S76:YES)、処理部21の更新処理部21cは、記憶部22に記憶されている更新前のプログラム22aを無効化し、新たに記憶した更新用プログラム22aを有効化することによって、処理部21が実行するプログラム22aの切り替えを行い(ステップS77)、ステップS71へ処理を戻す。これによりECU2は、更新処理を行うモードから、更新されたプログラム22aによる通常動作モードへと切り替わる。
ゲートウェイ10から更新用プログラムを受信していない場合(S73:NO)、処理部21は、ゲートウェイ10から更新処理を中断する旨の通知を受信したか否かを判定する(ステップS74)。中断の通知を受信していない場合(S74:NO)、処理部21は、ステップS73へ処理を戻し、ゲートウェイ10から更新用プログラム又は更新処理中断の通知を受信するまで待機する。更新処理を中断する旨の通知を受信した場合(S74:YES)、処理部21の復帰処理部21dは、更新用プログラムの受信及び書き込みを中断して、記憶部22に記憶されている更新前のプログラム22aによる動作に復帰する処理を行い(ステップS78)、ステップS71へ処理を戻す。これによりECU2は、更新処理を行うモードから、更新前のプログラム22aによる通常動作モードへと切り替わる。
以上の構成の本実施の形態に係る車載更新システムは、車両1に搭載されたECU2の記憶部22に記憶されたプログラム22aの更新処理をゲートウェイ10が行う。ゲートウェイ10は、車両1外に設置されたサーバ装置9から更新用プログラムを取得する。ゲートウェイ10は、更新処理の対象となるECU2が複数である場合、各ECU2について更新用プログラムをそれぞれ取得する。ただし1つの更新用プログラムを用いて、複数のECU2の更新処理を行ってもよい。ゲートウェイ10は、所定のタイミングでサーバ装置から取得した更新用プログラムを更新対象のECU2へ送信する。ゲートウェイ10から更新用プログラムを受信したECU2は、受信した更新用プログラムを記憶部12に書き込むことによって、プログラム22aを更新する。またゲートウェイ10がサーバ装置9から更新用プログラムを取得するタイミングと、ゲートウェイ10がECU2へ更新用プログラムを送信するタイミングとは、別であってよい。例えばゲートウェイ10は、車両1の走行中にサーバ装置9から更新用プログラムを取得して記憶部12に記憶して置き、車両1が停車してエンジンが停止された後に記憶しておいた更新用プログラムを更新対象のECU2へ送信することができる。
本実施の形態に係る車載更新システムでは、ゲートウェイ10が更新用プログラムを更新対象のECU2へ送信するタイミング、即ちECU2の更新処理を行うタイミングを、サーバ装置9が決定する。このためにゲートウェイ10は、車両1の走行情報を取得してサーバ装置9へ送信する処理を行う。サーバ装置9は、ゲートウェイ10から受信した走行情報に基づいて、更新処理を行うタイミングを決定し、ゲートウェイ10へ更新処理の開始指示を送信する。ゲートウェイ10は、サーバ装置9からの開始指示を受信し、受信した開始指示に応じてECU2への更新用プログラムの送信を開始し、ECU2の更新処理を開始する。
なお、更新処理を行うタイミングを決定したサーバ装置9は、決定したタイミングに開始指示をゲートウェイ10へ送信し、開始指示の受信後すぐに又は遅滞なくゲートウェイ10がECU2の更新処理を開始する構成とすることができる。また、更新処理を行うタイミングを決定したサーバ装置9は、例えば更新処理を行う時刻を指定した開始指示を、その時刻より前の時点でゲートウェイ10へ送信して置き、開始指示を受信したゲートウェイ10が指定された時刻に更新処理を開始する構成とすることもできる。この場合にサーバ装置9は、更新用プログラムの送信を行う際に、更新用プログラムと共に更新処理を行うタイミングを指定した開始指示をゲートウェイ10へ送信してもよい。
これにより本実施の形態に係る車載更新システムは、サーバ装置9が車両1の走行情報を蓄積し、ECU2の更新処理を行う適切なタイミング(例えば車両1が走行しない可能性が高い時間帯など)を決定してゲートウェイ10へ開始指示を送信し、このタイミングでゲートウェイ10がECU2の更新処理を行うことができる。車両1の走行情報に基づいてECU2の更新処理を行うタイミングを決定することによって、更新処理を行うことによるユーザの車両1の使用に関する利便性の低下を防止することができる。
また本実施の形態においてサーバ装置9は、ゲートウェイ10から受信した情報を記憶部92の走行情報DB92cに蓄積して記憶しておき、蓄積した走行情報に基づいて車両1が走行しない時間帯を推定する。例えばサーバ装置9は、蓄積した所定日数分(例えば1ヶ月分など)の走行情報に基づいて、この期間中に車両1が走行しなかった時間帯を抽出する。抽出した時間帯が1つであれば、サーバ装置9はこの時間帯を車両1が走行しない時間帯と推定することができる。抽出した時間帯が複数存在する場合、サーバ装置9は、最も長い時間帯を選択して、この時間帯を車両1が走行しない時間帯の推定結果とする。そしてサーバ装置9は、推定した時間帯の中央の時点を算出し、この中央時点の前後の所定時間範囲内で更新処理を行うタイミングを決定する。所定時間範囲は、例えばECU2の更新処理に必要な時間とすることができる。これらによりサーバ装置9は、車両1が走行しない可能性が高い時間帯に更新処理を行うようゲートウェイ10へ更新処理の開始指示を送信することができる。
また本実施の形態においては、ゲートウェイ10が車両1のバッテリ5の蓄積電力量の情報を取得し、更新処理を行う前にバッテリ5の蓄積電力量に応じて更新処理が可能であるか否かを判定する。ゲートウェイ10は、例えばバッテリ5の蓄積電力量が予め定められた閾値を超えるか否かに応じて、更新処理を行うことが可能であるか否かを判定するゲートウェイ10は、バッテリ5の蓄積電力量に基づいて更新処理が可能であると判定した場合に、更新用プログラムのECU2への送信を開始する。これにより、例えば更新処理の途中でバッテリ切れなどが発生することを防止できる。
また本実施の形態においては、ゲートウェイ10が車両1のIGスイッチが出力するIG信号の状態を取得する。ゲートウェイ10は、バッテリ5の蓄積電力量に応じて更新処理が不可能であると判定した後、IG信号がオフ状態からオン状態へ変化した場合に、行うことができなかった更新処理を試みる。ただしIG信号がオン状態へ変化した場合には、ユーザが車両1を走行させようとしている可能性があり、更新処理を行うと更新処理完了までは車両1を走行させることができなくなるため、ゲートウェイ10は、更新処理を行うことを許可するか否かをユーザに問合わせ、許可するか否かの選択を受け付ける。ゲートウェイ10は、受け付けた選択に基づき、更新処理を行う許可が得られた場合にECU2の更新処理を開始する。これにより、更新処理がユーザによる車両1の使用の妨げとなることを防止できる。
また本実施の形態においては、ECU2の更新処理を行うタイミングに至った際にIG信号がオン状態である場合又は更新処理を行っている途中でIG信号がオン状態となった場合、ゲートウェイ10は、更新用プログラムのECU2への送信を中断し、更新対象のECU2を更新前のプログラム22aによる動作に復帰させる。これにより、更新処理の途中であってもユーザは車両1を使用することが可能となる。
なお本実施の形態においては、車両1に搭載されたゲートウェイ10がサーバ装置9からの更新用のプログラムの取得及び各ECU2への更新用のプログラムの送信等を行う構成、即ちゲートウェイ10が車載更新装置として機能する構成としたが、これに限るものではない。ゲートウェイ10以外の車載機器、例えばいずれかのECU2が車載更新装置としての処理を行う構成としてもよい。また更新用のプログラムを無線通信にて車外のサーバ装置9から取得する構成としたが、これに限るものではない。例えば更新用のプログラムが記録された記録媒体をゲートウェイ10が読み込むことによって更新用のプログラムを取得する構成としてもよい。また更新対象の通信装置をECU2としたが、これに限るものではなく、ECU2以外の種々の通信装置を更新処理の対象としてよい。
また更新用プログラムをゲートウェイ10へ送信する処理を行うサーバ装置と、車両1の走行情報の蓄積及び走行情報に基づく更新処理のタイミングの決定等を行うサーバ装置とは、別のサーバ装置であってもよい。また図6に示した非走行時間帯の推定及び更新タイミングの決定は、一例であって、これに限るものではない。例えばサーバ装置9は、図6の時刻t2又はt0等を更新タイミングとしてもよい。
(変形例)
上述の実施の形態においては、走行情報の蓄積及び更新処理タイミングの決定等を車両1外のサーバ装置9が行う構成としたが、これに限るものではない。
図14は、変形例に係るゲートウェイ110の構成を示すブロック図である。変形例に係る車載更新システムでは、走行情報の蓄積及び更新処理タイミングの決定等を車両1に搭載されたゲートウェイ110が行う構成である。変形例に係るゲートウェイ110は、図4に示したゲートウェイ10の走行情報送信部11b及び開始指示受信部11dが処理部111に設けられず、これに代えて非走行時間帯推定部111k及び更新タイミング決定部111lが処理部111に設けられた構成である。また変形例に係るゲートウェイ110の記憶部112には走行情報DB112aが設けられている。
変形例に係るゲートウェイ110は、走行情報取得部11aが取得した走行情報を、記憶部12に設けられた走行情報DB112aに記憶して蓄積する。非走行時間帯推定部111kは、走行情報DB112aに蓄積された各車両1の走行情報に基づいて、車両1が走行しない可能性が高い時間帯を推定する処理を行う。更新タイミング決定部111lは、非走行時間帯推定部111kが推定した時間帯に含まれる所定のタイミングを、車両1の更新処理を行うタイミングとして決定する処理を行う。ゲートウェイ110は、更新タイミング決定部111lが決定したタイミングに至った場合に、サーバ装置9から取得した更新用プログラムのECU2への送信を開始し、更新処理を開始する。
以上の構成の変形例に係る車載更新システムは、走行情報の記憶及び走行情報に基づく更新処理のタイミングの決定等の処理を、サーバ装置9ではなく、ゲートウェイ110が行う構成である。これにより、ゲートウェイ110がサーバ装置9との通信を頻繁に行うことができない艦橋であっても、更新処理を行うタイミングを適切に決定することができる。
1 車両
1a〜1c 通信線
2 ECU(通信装置)
3 無線通信装置
4 IGスイッチ
5 バッテリ
6 バッテリ検知部
9 サーバ装置
10 ゲートウェイ(車載更新装置)
11 処理部
11a 走行情報取得部
11b 走行情報送信部
11c 更新用情報取得部
11d 開始指示受信部
11e IG状態取得部
11f バッテリ情報取得部
11g 更新可否判定部
11h 更新用情報送信部
11i 選択受付部
11j 更新中断部
12 記憶部
13 車内通信部
21 処理部
21a 更新用情報受信部
21b 更新用情報書込処理部
21c 更新処理部
21d 復帰処理部
22 記憶部
22a プログラム
22b 空き領域
23 通信部
91 処理部
91a 更新用情報送信部
91b 走行情報受信部
91c 非走行時間帯推定部
91d 更新タイミング決定部
91e 開始指示送信部
92 記憶部
92a 更新用プログラムDB
92b 車両情報DB
92c 走行情報DB(走行情報記憶部)
93 通信部
110 ゲートウェイ(車載更新装置)
111 処理部
111k 非走行時間帯推定部
111l 更新タイミング決定部
112 記憶部
112a 走行情報DB

Claims (9)

  1. 車両に搭載された通信装置と、前記車両外に設けられたサーバ装置と、前記サーバ装置から前記通信装置の更新用のプログラム又はデータを取得する処理を行う更新用情報取得部並びに前記通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを送信する処理を行う更新用情報送信部を有し、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える車載更新システムであって、
    前記車載更新装置は、前記車両の走行に係る情報を取得する走行情報取得部と、前記走行情報取得部が取得した情報を前記サーバ装置へ送信する走行情報送信部とを有し、
    前記サーバ装置は、前記車載更新装置が送信した前記車両の走行に係る情報を受信する走行情報受信部と、前記走行情報受信部が受信した情報に基づいて、前記車載更新装置による前記通信装置の更新処理を行うタイミングを決定する更新タイミング決定部と、前記更新タイミング決定部が決定したタイミングに基づいて、前記車載更新装置へ更新処理の開始指示を送信する開始指示送信部とを有し、
    前記車載更新装置は、前記サーバ装置から前記通信装置の更新処理の開始指示を受信する開始指示受信部を更に有し、
    前記更新用情報送信部は、前記開始指示受信部が受信した開始指示に応じて更新用のプログラム又はデータを前記通信装置へ送信すること
    を特徴とする車載更新システム。
  2. 前記サーバ装置は、
    前記走行情報受信部が受信した情報を蓄積して記憶する走行情報記憶部と、
    前記走行情報記憶部に記憶された情報に基づいて、前記車両が走行しない時間帯を推定する非走行時間帯推定部と
    を有し、
    前記更新タイミング決定部は、前記非走行時間帯推定部が推定した時間帯に基づいて、更新処理を行うタイミングを決定すること
    を特徴とする請求項1に記載の車載更新システム。
  3. 前記非走行時間帯推定部は、前記走行情報記憶部に記憶された所定日数分の情報に基づいて、前記車両が走行しなかった時間帯を抽出し、抽出した時間帯の中から最長の時間帯を前記車両が走行しない時間帯と推定すること
    を特徴とする請求項2に記載の車載更新システム。
  4. 前記更新タイミング決定部は、前記非走行時間推定部が推定した時間帯の中央時点から、前記通信装置の更新処理に要する時間だけ前後する時間範囲の中で更新処理を行うタイミングを決定すること
    を特徴とする請求項3に記載の車載更新システム。
  5. 前記車載更新装置は、
    前記車両のバッテリの蓄積電力量に係る情報を取得するバッテリ情報取得部と、
    バッテリ情報取得部が取得したバッテリの蓄積電力量に応じて、前記通信装置の更新処理を行うことが可能であるか否かを判定する更新可否判定部と
    を有し、
    前記更新用情報送信部は、前記更新可否判定部が更新処理を行うことが可能であると判定した場合に、更新用のプログラム又はデータを前記通信装置へ送信すること
    を特徴とする請求項1乃至請求項4のいずれか1つに記載の車載更新システム。
  6. 前記車載更新装置は、
    前記車両のIG(イグニッション)信号の状態を取得するIG状態取得部と、
    前記更新可否判定部が更新処理を行うことが不可能であると判定した後、前記IG信号がオフ状態からオン状態へ変化した場合に、前記通信装置の更新処理を行うことを許可するか否かの選択を受け付ける選択受付部と
    を有し、
    前記更新用情報送信部は、前記選択受付部が更新処理を行うことを許可する選択を受け付けた場合に、更新用のプログラム又はデータを前記通信装置へ送信すること
    を特徴とする請求項5に記載の車載更新システム。
  7. 前記車載更新装置は、
    前記車両のIG(イグニッション)信号の状態を取得するIG状態取得部と、
    前記IG信号がオン状態である場合に、前記更新用情報送信部による更新用のプログラム又はデータの送信を中断し、前記通信装置を更新前のプログラム又はデータの動作に復帰させる処理を行う更新中断部と
    を有することを特徴とする請求項1乃至請求項6のいずれか1つに記載の車載更新システム。
  8. 車両に搭載された通信装置の更新用のプログラム又はデータを前記車両外に設けられたサーバ装置から取得する処理を行う更新用情報取得部と、前記通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを送信する処理を行う更新用情報送信部とを備え、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、
    前記車両の走行に係る情報を取得する走行情報取得部と、
    前記走行情報取得部が取得した情報に基づいて、前記通信装置の更新処理を行うタイミングを決定する更新タイミング決定部と
    を備え、
    前記更新用情報送信部は、前記更新タイミング決定部が決定したタイミングに応じて更新用のプログラム又はデータを前記通信装置へ送信すること
    を特徴とする車載更新装置。
  9. 車両に搭載された通信装置の更新用のプログラム又はデータを前記車両外に設けられたサーバ装置から取得し、取得した更新用のプログラム又はデータを送信して、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する通信装置の更新方法であって、
    前記車両の走行に係る情報を取得し、
    取得した情報を前記サーバ装置へ送信し、
    送信された情報を受信した前記サーバ装置が、受信した情報に基づいて前記通信装置の更新処理を行うタイミングを決定し、
    前記サーバ装置が、決定したタイミングに基づいて更新処理の開始指示を送信し、
    前記サーバ装置からの更新処理の開始指示を受信し、
    受信した開始指示に応じて更新用のプログラム又はデータを前記通信装置へ送信すること
    を特徴とする通信装置の更新方法。
JP2016172063A 2016-09-02 2016-09-02 車載更新システム、車載更新装置及び通信装置の更新方法 Active JP6658409B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016172063A JP6658409B2 (ja) 2016-09-02 2016-09-02 車載更新システム、車載更新装置及び通信装置の更新方法
PCT/JP2017/030695 WO2018043381A1 (ja) 2016-09-02 2017-08-28 車載更新システム、車載更新装置及び通信装置の更新方法
US16/329,425 US20190250902A1 (en) 2016-09-02 2017-08-28 On-board update system, on-board update device, and communication device update method
CN201780052408.5A CN109643254B (zh) 2016-09-02 2017-08-28 车载更新系统、车载更新装置及通信装置的更新方法
DE112017004415.4T DE112017004415T5 (de) 2016-09-02 2017-08-28 Bordeigenes Aktualisierungssystem, bordeigene Aktualisierungsvorrichtung und Kommunikationsvorrichtungs-Aktualisierungsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016172063A JP6658409B2 (ja) 2016-09-02 2016-09-02 車載更新システム、車載更新装置及び通信装置の更新方法

Publications (3)

Publication Number Publication Date
JP2018037022A true JP2018037022A (ja) 2018-03-08
JP2018037022A5 JP2018037022A5 (ja) 2019-01-24
JP6658409B2 JP6658409B2 (ja) 2020-03-04

Family

ID=61301009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016172063A Active JP6658409B2 (ja) 2016-09-02 2016-09-02 車載更新システム、車載更新装置及び通信装置の更新方法

Country Status (5)

Country Link
US (1) US20190250902A1 (ja)
JP (1) JP6658409B2 (ja)
CN (1) CN109643254B (ja)
DE (1) DE112017004415T5 (ja)
WO (1) WO2018043381A1 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019177745A (ja) * 2018-03-30 2019-10-17 クラリオン株式会社 車載装置、配信方法
JP2020027671A (ja) * 2018-08-10 2020-02-20 株式会社デンソー センター装置
JP2020038585A (ja) * 2018-09-06 2020-03-12 みこらった株式会社 自動運転車及び自動運転車用プログラム
JP2020042850A (ja) * 2019-11-28 2020-03-19 みこらった株式会社 自動運転車及び自動運転車用プログラム
JP2020062909A (ja) * 2018-10-15 2020-04-23 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
JP2020070742A (ja) * 2018-10-30 2020-05-07 トヨタ自動車株式会社 制御装置
CN111190610A (zh) * 2018-11-15 2020-05-22 株式会社电装 车载系统
WO2020170406A1 (ja) * 2019-02-22 2020-08-27 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
WO2020170407A1 (ja) * 2019-02-22 2020-08-27 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JP2020135578A (ja) * 2019-02-22 2020-08-31 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
CN111989658A (zh) * 2018-04-20 2020-11-24 株式会社自动网络技术研究所 车载更新装置、车载更新系统、更新处理方法及更新处理程序
CN112298072A (zh) * 2019-07-29 2021-02-02 现代自动车株式会社 自动控制车辆关闭的系统及方法
CN112585577A (zh) * 2018-08-10 2021-03-30 株式会社电装 中心装置、分发包的生成方法以及分发包生成用程序
CN113002450A (zh) * 2019-12-19 2021-06-22 本田技研工业株式会社 程序更新方法
JP2022008356A (ja) * 2019-02-22 2022-01-13 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JP2022099192A (ja) * 2020-12-22 2022-07-04 本田技研工業株式会社 制御システム、移動体、制御方法及びプログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353696B2 (en) * 2017-04-13 2019-07-16 Blackberry Limited Program release packages including program updates
JP7354631B2 (ja) * 2018-08-10 2023-10-03 株式会社デンソー 電子制御装置、車両用電子制御システム、差分データの整合性判定方法及び差分データの整合性判定プログラム
JP7108579B2 (ja) * 2019-06-03 2022-07-28 本田技研工業株式会社 管理装置、管理方法、およびプログラム
JP2021005832A (ja) * 2019-06-27 2021-01-14 矢崎総業株式会社 車両通信システム
JP7502014B2 (ja) * 2019-10-31 2024-06-18 トヨタ自動車株式会社 車両用制御装置、プログラム更新方法、及びプログラム更新システム
EP3819725A1 (de) * 2019-11-06 2021-05-12 Siemens Aktiengesellschaft System und verfahren zur administration von antriebskomponenten
EP4122775A4 (en) * 2020-03-18 2023-08-16 Nissan Motor Co., Ltd. SOFTWARE UPDATE DEVICE, SOFTWARE UPDATE METHOD AND SOFTWARE UPDATE PROCESSING PROGRAM
CN112035140B (zh) * 2020-08-26 2022-02-01 安徽江淮汽车集团股份有限公司 智能泊车场景的系统升级方法、装置、设备及存储介质
DE102022205889A1 (de) 2022-06-10 2023-12-21 Volkswagen Aktiengesellschaft Vorrichtung zum Aktualisieren einer elektronischen Rechnereinheit eines Kraftfahrzeuges, System, Kraftfahrzeug und Verfahren zum Aktualisieren einer elektronischen Rechnereinheit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005132131A (ja) * 2003-10-28 2005-05-26 Fujitsu Ten Ltd ソフトウェア更新装置およびソフトウェア更新方法
JP2007034815A (ja) * 2005-07-28 2007-02-08 Toyota Infotechnology Center Co Ltd 車載端末
JP2010258990A (ja) * 2009-04-28 2010-11-11 Autonetworks Technologies Ltd 制御システム及び制御プログラム更新方法
JP2011053954A (ja) * 2009-09-02 2011-03-17 Toyota Motor Corp ソフトウェア更新装置
JP2012014253A (ja) * 2010-06-29 2012-01-19 Toyota Motor Corp 制御装置
WO2015194406A1 (ja) * 2014-06-18 2015-12-23 日立オートモティブシステムズ株式会社 車載プログラム書込み装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6056424B2 (ja) * 2012-11-29 2017-01-11 株式会社デンソー 車載プログラム更新装置
JP5949732B2 (ja) * 2013-11-27 2016-07-13 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005132131A (ja) * 2003-10-28 2005-05-26 Fujitsu Ten Ltd ソフトウェア更新装置およびソフトウェア更新方法
JP2007034815A (ja) * 2005-07-28 2007-02-08 Toyota Infotechnology Center Co Ltd 車載端末
JP2010258990A (ja) * 2009-04-28 2010-11-11 Autonetworks Technologies Ltd 制御システム及び制御プログラム更新方法
JP2011053954A (ja) * 2009-09-02 2011-03-17 Toyota Motor Corp ソフトウェア更新装置
JP2012014253A (ja) * 2010-06-29 2012-01-19 Toyota Motor Corp 制御装置
WO2015194406A1 (ja) * 2014-06-18 2015-12-23 日立オートモティブシステムズ株式会社 車載プログラム書込み装置

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019177745A (ja) * 2018-03-30 2019-10-17 クラリオン株式会社 車載装置、配信方法
CN111989658B (zh) * 2018-04-20 2024-03-01 株式会社自动网络技术研究所 车载更新装置、车载更新系统、更新处理方法及更新处理程序
CN111989658A (zh) * 2018-04-20 2020-11-24 株式会社自动网络技术研究所 车载更新装置、车载更新系统、更新处理方法及更新处理程序
JP2020027671A (ja) * 2018-08-10 2020-02-20 株式会社デンソー センター装置
CN112585577A (zh) * 2018-08-10 2021-03-30 株式会社电装 中心装置、分发包的生成方法以及分发包生成用程序
JP7400320B2 (ja) 2018-08-10 2023-12-19 株式会社デンソー センター装置、センター装置のレポート出力方法及びコンピュータプログラム
JP2020038585A (ja) * 2018-09-06 2020-03-12 みこらった株式会社 自動運転車及び自動運転車用プログラム
JP2020062909A (ja) * 2018-10-15 2020-04-23 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
US11021167B2 (en) 2018-10-15 2021-06-01 Honda Motor Co., Ltd. Vehicle control device, vehicle control method, and storage medium
CN111120122A (zh) * 2018-10-30 2020-05-08 丰田自动车株式会社 控制装置
US11436488B2 (en) 2018-10-30 2022-09-06 Toyota Jidosha Kabushiki Kaisha Control device
JP2020070742A (ja) * 2018-10-30 2020-05-07 トヨタ自動車株式会社 制御装置
CN111190610A (zh) * 2018-11-15 2020-05-22 株式会社电装 车载系统
CN113490910A (zh) * 2019-02-22 2021-10-08 本田技研工业株式会社 软件更新装置、车辆和软件更新方法
WO2020170407A1 (ja) * 2019-02-22 2020-08-27 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
WO2020170406A1 (ja) * 2019-02-22 2020-08-27 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JP2020135578A (ja) * 2019-02-22 2020-08-31 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JPWO2020170407A1 (ja) * 2019-02-22 2021-10-14 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JPWO2020170406A1 (ja) * 2019-02-22 2021-10-14 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JP2022008356A (ja) * 2019-02-22 2022-01-13 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
US11604638B2 (en) 2019-02-22 2023-03-14 Honda Motor Co., Ltd. Software update device, vehicle, and software update method
US11429370B2 (en) 2019-02-22 2022-08-30 Honda Motor Co., Ltd. Software updating apparatus, vehicle, and software updating method
US11561789B2 (en) 2019-02-22 2023-01-24 Honda Motor Co., Ltd. Software update device, vehicle, and software update method
CN113490910B (zh) * 2019-02-22 2022-09-20 本田技研工业株式会社 软件更新装置、车辆和软件更新方法
CN112298072A (zh) * 2019-07-29 2021-02-02 现代自动车株式会社 自动控制车辆关闭的系统及方法
CN112298072B (zh) * 2019-07-29 2024-05-10 现代自动车株式会社 自动控制车辆关闭的系统及方法
JP7248297B2 (ja) 2019-11-28 2023-03-30 みこらった株式会社 自動運転車及び自動運転車用プログラム
JP2020042850A (ja) * 2019-11-28 2020-03-19 みこらった株式会社 自動運転車及び自動運転車用プログラム
CN113002450A (zh) * 2019-12-19 2021-06-22 本田技研工业株式会社 程序更新方法
CN113002450B (zh) * 2019-12-19 2024-05-28 本田技研工业株式会社 程序更新方法
JP2022099192A (ja) * 2020-12-22 2022-07-04 本田技研工業株式会社 制御システム、移動体、制御方法及びプログラム
JP7257375B2 (ja) 2020-12-22 2023-04-13 本田技研工業株式会社 制御システム、移動体、制御方法及びプログラム

Also Published As

Publication number Publication date
CN109643254A (zh) 2019-04-16
US20190250902A1 (en) 2019-08-15
CN109643254B (zh) 2022-05-17
JP6658409B2 (ja) 2020-03-04
WO2018043381A1 (ja) 2018-03-08
DE112017004415T5 (de) 2019-06-19

Similar Documents

Publication Publication Date Title
WO2018043381A1 (ja) 車載更新システム、車載更新装置及び通信装置の更新方法
JP6696468B2 (ja) 車載更新装置及び車載更新システム
JP6724717B2 (ja) 車載機器判定システム
JP6665728B2 (ja) 車載更新装置、車載更新システム及び通信装置の更新方法
JP6696417B2 (ja) 車載更新装置、更新システム及び可搬型通信器
JP5273242B2 (ja) 車載ソフトウェア更新装置
JP6428652B2 (ja) 車載更新装置、更新システム及び更新処理プログラム
JP6314775B2 (ja) 通信システム、車載装置、通信装置、及びコンピュータプログラム
JP4065202B2 (ja) 地図データ処理装置およびセンターシステム
CN108701065B (zh) 控制设备、程序更新方法和计算机程序
JP5347997B2 (ja) 故障診断用情報収集装置
JP6992667B2 (ja) 車載更新装置、車載更新システム、更新処理方法及び更新処理プログラム
JP2018060323A (ja) 車載更新システム、車載更新装置、車載機器及び更新方法
JP6702269B2 (ja) 制御装置、制御方法、およびコンピュータプログラム
WO2018163807A1 (ja) 車両消耗品管理システム、端末装置、コンピュータプログラム及び車両消耗品管理方法
JP2008216268A (ja) 地図情報管理システム、地図情報管理方法及び車載用地図情報管理装置
JP2017215888A (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP2015041231A (ja) プログラム書換システム、制御装置、プログラム出力装置、蓄積装置、コネクタ、及びプログラム書換方法
JP2012037601A (ja) 地図データ配信システム、端末装置及び地図データ配信方法
JP5591528B2 (ja) 車両の運行情報収集装置
US20220396218A1 (en) In-vehicle information processing apparatus, program execution restriction method, and computer program
JP2019074847A (ja) 電子制御装置
JP2017123060A (ja) 車両情報書込装置
EP4379540A1 (en) Software updating device, software updating system, and software updating method
JP5255893B2 (ja) ナビゲーション装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191217

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: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200120

R150 Certificate of patent or registration of utility model

Ref document number: 6658409

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150