JP6881150B2 - 制御装置、制御方法、およびコンピュータプログラム - Google Patents

制御装置、制御方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP6881150B2
JP6881150B2 JP2017157191A JP2017157191A JP6881150B2 JP 6881150 B2 JP6881150 B2 JP 6881150B2 JP 2017157191 A JP2017157191 A JP 2017157191A JP 2017157191 A JP2017157191 A JP 2017157191A JP 6881150 B2 JP6881150 B2 JP 6881150B2
Authority
JP
Japan
Prior art keywords
update
vehicle
control device
control
battery
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
JP2017157191A
Other languages
English (en)
Other versions
JP2019036140A (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.)
Sumitomo Electric Industries Ltd
Original Assignee
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 Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2017157191A priority Critical patent/JP6881150B2/ja
Priority to DE112018004181.6T priority patent/DE112018004181T5/de
Priority to CN201880052867.8A priority patent/CN111032439B/zh
Priority to PCT/JP2018/020272 priority patent/WO2019035259A1/ja
Priority to US16/628,401 priority patent/US11288156B2/en
Publication of JP2019036140A publication Critical patent/JP2019036140A/ja
Application granted granted Critical
Publication of JP6881150B2 publication Critical patent/JP6881150B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0029Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with safety or protection devices or circuits
    • H02J7/00306Overdischarge protection
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0029Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with safety or protection devices or circuits
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0029Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with safety or protection devices or circuits
    • H02J7/0031Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with safety or protection devices or circuits using battery or load disconnect circuits
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0047Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with monitoring or indicating devices or circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J2310/00The network for supplying or distributing electric power characterised by its spatial reach or by the load
    • H02J2310/40The network being an on-board power network, i.e. within a vehicle
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J2310/00The network for supplying or distributing electric power characterised by its spatial reach or by the load
    • H02J2310/50The network for supplying or distributing electric power characterised by its spatial reach or by the load for selectively controlling the operation of the loads
    • H02J2310/56The network for supplying or distributing electric power characterised by its spatial reach or by the load for selectively controlling the operation of the loads characterised by the condition upon which the selective controlling is based
    • H02J2310/58The condition being electrical
    • H02J2310/60Limiting power consumption in the network or in one section of the network, e.g. load shedding or peak shaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)

Description

この発明は制御装置、制御方法、およびコンピュータプログラムに関し、特に、サーバからダウンロードされる車載制御装置の制御プログラムの更新用プログラムを用いた当該車載制御装置の更新を制御する制御装置、その制御方法、およびコンピュータプログラムに関する。
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ECU(Electronic Control Unit)が多数搭載されている。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ECUの制御プログラムは、車両の仕向け地やグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。また、たとえば地図情報や制御用のパラメータなど、制御プログラムの実行に必要なデータも書き換える必要がある。
たとえば、特許文献1には、ネットワークを介して更新用のプログラムをダウンロードし、プログラムの更新を行う技術(オンライン更新機能)が開示されている。
特開2015−37938号公報
車両において文献1に開示されているオンライン更新などの処理に並行して他の処理が実行されている場合、当該処理の完了までにバッテリの電力が不足すると、意図せずに当該更新が停止してしまう。
本発明のある局面における目的は、車載装置で複数の処理が並行して実行される場合であっても、電力不足によって意図せずに当該処理が停止することを防止できる制御装置、制御方法、およびコンピュータプログラムを提供することである。
ある実施の形態に従うと、制御装置は複数の車載制御装置と車内通信線を介して通信する制御装置であって、複数の車載制御装置に電力供給するバッテリの電力量を取得する取得部と、複数の車載制御装置のうちの1つである対象装置での処理の完了時点におけるバッテリの予測電力量が第1の閾値未満である場合に、処理と並行して実行されている他の車載制御装置での処理を停止するように当該他の車載制御装置に指示する制御部と、を備える。
他の実施の形態に従うと、制御方法は複数の車載制御装置と車内通信線を介して通信する制御装置による、車載制御装置の制御方法であって、複数の車載制御装置に電力供給するバッテリの電力量を取得するステップと、複数の車載制御装置のうちの1つである対象装置での処理の完了時点におけるバッテリの予測電力量が閾値未満である場合に、処理と並行して実行されている他の車載制御装置での処理を停止するように当該他の車載制御装置に指示するステップと、を備える。
他の実施の形態に従うと、コンピュータプログラムは複数の車載制御装置と車内通信線を介して通信する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、複数の車載制御装置に電力供給するバッテリの電力量を取得する取得部と、複数の車載制御装置のうちの1つである対象装置での処理の完了時点におけるバッテリの予測電力量が閾値未満である場合に、処理と並行して実行されている他の車載制御装置での処理を停止するように当該他の車載制御装置に指示する制御部、として機能させる。
この発明によると、車載装置で複数の処理が並行して実行される場合であっても、電力不足によって意図せずに当該処理が停止することを防止できる。
プログラム更新システムの全体構成図である。 ゲートウェイの内部構成を示すブロック図である。 ECUの内部構成を示すブロック図である。 管理サーバの内部構成を示すブロック図である。 プログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。 第1の実施の形態にかかる更新制御処理の具体例を表したフローチャートである。 選択画面の一例を示した図である。 第2の実施の形態にかかる更新制御処理の具体例を表したフローチャートである。 選択画面の一例を示した図である。
[実施の形態の説明]
本実施の形態には、少なくとも以下のものが含まれる。すなわち、
(1)本実施の形態に含まれる制御装置は複数の車載制御装置と車内通信線を介して通信する制御装置であって、複数の車載制御装置に電力供給するバッテリの電力量を取得する取得部と、複数の車載制御装置のうちの1つである対象装置での処理の完了時点におけるバッテリの予測電力量が第1の閾値未満である場合に、この処理と並行して実行されている他の車載制御装置での処理を停止するように当該他の車載制御装置に指示する制御部と、を備える。
これにより、他の車載制御装置での処理による電力消費を抑えることができ、対象装置での処理の完了時点までバッテリの電力量を確保することができる。その結果、対象装置での処理が電力不足によって意図せずに停止することを防止できる。
(2)好ましくは、対象装置での処理は、車両の停車中における制御プログラムの更新処理である。
これにより、対象装置での車両の停車中における制御プログラムの更新処理が電力不足によって意図せずに停止することを防止できる。
(3)好ましくは、他の車載制御装置での処理が複数、並行して実行されている場合、制御部は、処理ごとに設定されている優先度に従って、複数の処理の中から停止させる処理を決定する。
適切な優先度を予め設定しておくことで、他の車載制御装置での処理のうちの優先度の高い処理は停止させることなく、優先度の低い処理を停止させるようにできる。その結果、ユーザの利便性を大きく損なうことがない。
(4)好ましくは、他の車載制御装置での処理が複数、並行して実行されている場合、制御部は、停止する処理を選択するユーザ操作に従って、複数の処理の中から停止させる処理を決定する。
これにより、ユーザは、他の車載制御装置での処理のうちの停止可能な処理を選択することができる。その結果、ユーザの利便性を大きく損なうことがない。
(5)好ましくは、制御部は、さらに、バッテリの減少速度が以下の基準速度よりも速い場合に、他の車載制御装置に処理の停止を指示する。
基準速度:対象装置での処理の完了時点までに、バッテリの電力量が第1の閾値に相当する電力量まで減少する速度
バッテリの減少速度が以下の基準速度よりも速い場合、対象装置での処理の完了時点までバッテリの電力量が閾値未満となる可能性が高い。そのため、他の車載制御装置に処理を停止させることによって、他の車載制御装置での処理による電力消費を抑えることができ、対象装置での処理の完了時点までバッテリの電力量を確保することができる。その結果、対象装置での処理が電力不足によって意図せずに停止することを防止できる。
(6)好ましくは、第1の閾値は、対象装置での処理を中断する処理に必要な電力量に所定のマージンを付加した値である。
バッテリの電力量が処理を中断する処理に必要な電力量まで減少すると、当該処理の中断ができなくなり、当該処理が停止してしまう。そのため、バッテリの電力量が処理を中断する処理に必要な電力量まで減少するよりも前に他の車載制御装置に処理を停止させることによって、対象装置での処理が電力不足によって意図せずに停止することを防止できる。
(7)好ましくは、制御部は、バッテリの電力量が、第1の閾値よりも大きい第2の閾値よりも小さい場合に、他の車載制御装置を停止させる指示を行う。
第2の閾値を適切に設定することにより、バッテリの電力量が十分にある場合には判定を不要にできるとともに、バッテリの電力量が不足する可能性のあるときに制御部での制御を行うことができる。その結果、対象装置での処理が電力不足によって意図せずに停止することを防止できる。
(8)好ましくは、第2の閾値は、対象装置での処理の完了までに必要な電力量に所定のマージンを付加した値である。
これにより、バッテリの電力量が対象装置での処理の完了までに必要な電力量が十分にある場合には判定を不要にできるとともに、バッテリの電力量が不足する可能性のあるときに制御部での制御を行うことができる。
(9)本実施の形態に含まれる制御方法は、(1)〜(8)のいずれか1つに記載の制御装置において車載制御装置を制御する方法である。
かかる制御方法は、上記(1)〜(8)の制御装置と同様の効果を奏する。
(10)本実施の形態に含まれるコンピュータプログラムは、コンピュータを、(1)〜(8)のいずれか1つに記載の制御装置として機能させる。
かかるコンピュータプログラムは、上記(1)〜(8)の制御装置と同様の効果を奏する。
[実施の形態の詳細]
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
<第1の実施の形態>
〔システムの全体構成〕
図1は、本発明の実施形態にかかるプログラム更新システムの全体構成図である。
図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な車両1、管理サーバ5およびDL(ダウンロード)サーバ6を含む。
管理サーバ5は、車両1の更新情報を管理する。DLサーバ6は、更新用プログラムを保存する。管理サーバ5およびDLサーバ6は、たとえば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
車両1には、車内通信線16で接続された複数のECU30とゲートウェイ10とを含む車内ネットワーク(通信ネットワーク)4と、無線通信部15と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)と、が搭載されている。車載機器は、ユーザインタフェース装置7を含む。ユーザインタフェース装置7は、たとえば、ディスプレイやタッチパネルなどである。
車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。
無線通信部15は、携帯電話網などの広域通信網2に通信可能に接続され、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5およびDLサーバ6などの車外装置から無線通信部15が受信した情報を、車内通信線16を介してECU30に送信する。
ゲートウェイ10は、ECU30から取得した情報を無線通信部15に送信し、無線通信部15は、その情報を管理サーバ5などの車外装置に送信する。
また、ECU30同士は、車内通信線を介して情報を送受信する。
車両1に搭載される無線通信部15としては、車載の専用通信端末の他に、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
図1では、ゲートウェイ10が無線通信部15を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ10が無線通信の機能を有する場合には、ゲートウェイ10自身が管理サーバ5などの車外装置と無線通信を行う構成としてもよい。
また、図1のプログラム更新システムでは、管理サーバ5とDLサーバ6とが別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。また、管理サーバ5およびDLサーバ6は、いずれも、複数の装置からなるものであってもよい。
〔ゲートウェイの内部構成〕
図2は、ゲートウェイ10の内部構成を示すブロック図である。
図2に示すように、ゲートウェイ10は、CPU11、RAM(Random Access Memory)12、記憶部13、および車内通信部14などを備える。ゲートウェイ10は、無線通信部15と車内通信線を介して接続されているが、これらは一つの装置で構成してもよい。
CPU11は、記憶部13に記憶された一または複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
CPU11は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、CPU11は複数のCPU群を代表するものであってもよい。この場合、CPU11の実現する機能は、複数のCPU群が協働して実現するものである。RAM12は、SRAM(Static RAM)またはDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
CPU11が実現するコンピュータプログラムは、CD−ROMやDVD−ROMなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送によって譲渡することもできる。
この点は、後述のECU30のCPU31(図3参照)が実行するコンピュータプログラム、および、後述の管理サーバ5のCPU51(図4参照)が実行するコンピュータプログラムについても同様である。
なお、以降の説明において、上位装置が下位装置にデータを転送(送信)することを「ダウンロードする」ともいう。
記憶部13は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子などにより構成されている。記憶部13は、CPU11が実行するプログラムおよび実行に必要なデータ等を記憶するとともに、DLサーバ6から受信した、ダウンロード対象の各ECU30の更新用プログラムなどを記憶する。
車内通信部14には、車両1に配設された車内通信線を介して複数のECU30が接続されている。車内通信部14は、たとえばCAN(Controller Area Network)の規格に応じて、ECU30との通信(CAN通信とも称する)を行う。車内通信部14の採用する通信規格はCANに限定されず、CANFD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、Ethernet(登録商標)、またはMOST(Media Oriented Systems Transport:MOSTは登録商標)等の規格であってもよい。複数の車内通信線の中には、通信規格の異なるものが含まれていてもよい。
車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。車内通信部14は、上記の通信規格だけでなく、車内ネットワーク4に用いる他の通信規格によって通信してもよい。
無線通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
図2に示す無線通信部15に代えて、車両1内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、USB(Universal Serial Bus)またはRS232C等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置と管理サーバ5等の車外装置とが広域通信網2を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ10の通信経路により、車外装置とゲートウェイ10とが通信可能になる。
〔ECUの内部構成〕
図3は、ECU30の内部構成を示すブロック図である。
図3に示すように、ECU30は、CPU31、RAM32、記憶部33、および通信部34などを備える。ECU30は、車両1に搭載された対象機器を個別に制御する車載制御装置である。ECU30の種類には、たとえば、電源制御ECU、エンジン制御ECU、ステアリング制御ECU、およびドアロック制御ECUなどがある。
CPU31は、記憶部33に予め記憶された一または複数のプログラムをRAM32に読み出して実行することにより、自身が担当する対象機器の動作を制御する。CPU31もまた複数のCPU群を代表するものであってもよく、CPU31による制御は、複数のCPU群が協働することによる制御であってもよい。
RAM32は、SRAMまたはDRAM等のメモリ素子で構成され、CPU31が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部33は、CPU31が読み出して実行するプログラムを格納する。記憶部33が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をCPU31に実行させるためのコンピュータプログラムや、パラメータや地図情報などの、当該プログラムを実行する際に用いるデータである制御プログラムが含まれる。
通信部34には、車両1に配設された車内通信線を介してゲートウェイ10が接続されている。通信部34は、たとえばCAN、Ethernet、またはMOST等の規格に応じて、ゲートウェイ10との通信を行う。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」または「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
ここで、通常モードとは、ECU30のCPU31が、対象機器に対する本来的な制御(たとえば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など)を実行する制御モードのことである。
リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、CPU31が、記憶部33のROM領域に対して、制御プログラムのデータの消去や書き換えを行う制御モードのことである。CPU31は、この制御モードのときにのみ、記憶部33のROM領域に格納された制御プログラムを新バージョンに更新することが可能となる。
リプロモードにおいてCPU31が新バージョンの制御プログラムを記憶部33に書き込むと、起動部35は、ECU30をいったん再起動(リセット)させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
DLサーバ6からゲートウェイ10を介してECU30に更新用プログラムがダウンロードされ、当該更新用プログラムを用いて制御プログラムを更新することを、オンライン更新とも称する。
〔管理サーバの内部構成〕
図4は、管理サーバ5の内部構成を示すブロック図である。
図4に示すように、管理サーバ5は、CPU51、ROM52、RAM53、記憶部54、および通信部55などを備える。
CPU51は、ROM52に予め記憶された一または複数のプログラムをRAM53に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ5をゲートウェイ10と通信可能な車外装置として機能させる。CPU51もまた複数のCPU群を代表するものであってもよく、CPU51の実現する機能は、複数のCPU群が協働して実現するものであってもよい。
RAM53は、SRAMまたはDRAM等のメモリ素子で構成され、CPU51が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。
通信部55は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部55は、CPU51から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU51に与える。
〔制御プログラムの更新シーケンス〕
図5は、本実施形態のプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。DLサーバ6に1または複数の更新用プログラムが格納され、一例として、管理サーバ5が、予め登録された車両1について、当該車両1のECUの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両1のカーメーカーなどによって設定されてもよい。
なお、制御プログラムは、プログラムそのもののみならず、パラメータや地図情報などの、当該プログラムを実行する際に用いるデータも含む。それらを代表させて「制御プログラム」と表現している。そのため、更新用プログラムは、プログラムの更新用のプログラムのみならず、当該プログラムを実行する際に用いるデータの更新用のデータを含む。
制御プログラムを更新するタイミングに達すると、管理サーバ5は、該当する車両1のゲートウェイ10宛てに、更新を通知する(ステップS1)。ステップ1では、管理サーバ5からゲートウェイ10に、ダウンロード要求とともに更新用プログラムの保存先URLや更新用プログラムのサイズなどの更新用の情報が送られる。
管理サーバ5から更新の通知を受信したゲートウェイ10は、DLサーバ6からダウンロードされる更新用プログラムを、制御プログラムを更新するECU30(以下、対象ECU)に中継する。すなわち、ゲートウェイ10は、更新用の情報に基づいてDLサーバ6に対して更新用プログラムのダウンロードを要求する(ステップS2)。
ゲートウェイ10からダウンロードが要求されたDLサーバ6は、ダウンロード対象の更新用プログラムをゲートウェイ10に送信するとともに、制御プログラムの更新を要求する(ステップS3)。
ゲートウェイ10は、更新用プログラムをダウンロードすると、当該更新用プログラムを対象ECUに送信するとともに、対象ECUに制御プログラムの更新を要求する(ステップS4)。
対象ECUに更新を要求すると、ゲートウェイ10は、当該更新が車両1の停車中に行われるものである場合、更新制御処理を実行する(ステップS5)。更新制御処理は、以下の取得処理と判定処理とを含む。
取得処理:バッテリの残量(以下、バッテリ残量とも称する)を取得する処理
判定処理:動作中の各処理を停止するか否か判定する処理
更新用プログラムとともに更新制御処理に従った制御信号をゲートウェイ10から受けた対象ECUは、当該制御信号に従って更新用プログラムを展開し、制御プログラムを更新する更新処理を実行する(ステップS6)。ステップS5の更新制御処理において必要な場合には、ゲートウェイ10は、ステップS6の更新処理中に対象ECUに対して制御信号を出力する。対象ECUは、当該制御信号に従って更新処理を続行または中断する。
制御プログラムの更新が完了すると、対象ECU30はゲートウェイ10に更新完了を通知する(ステップS7)。この通知を受けたゲートウェイ10は、DLサーバ6に更新完了を通知する(ステップS8)。
[ゲートウェイの機能構成]
図2を参照して、ゲートウェイ10のCPU11は、更新制御処理を実行するための機能として、更新制御部111を含む。更新制御部111は、取得処理を実行する取得部112と、判定処理を実行する判定部113と、を含む。
取得部112は、図示しないバッテリを制御するECUから送信されるフレームを監視することによって、バッテリ残量SoCを取得する。
判定部113は、動作中の各処理を継続可能か否かを判定する(第1の判定処理)。判定部113は、バッテリ残量SoCを第1の判定処理のための閾値Th1と比較する。閾値Th1は少なくとも更新処理完了までに必要と予測される電力量を示す閾値である。判定部113は、その比較結果に基づいて判定する。具体的に、判定部113は、バッテリ残量SoCが閾値Th1より大きいとき(SoC>Th1)、更新処理を含む動作中のすべての処理を継続すると判定する(第1の判定結果)。この場合には、判定時点では更新処理の完了までに必要と予測される電力量がバッテリに蓄電されているためである。
バッテリ残量SoCが閾値Th1以下のとき(SoC≦Th1)、判定時点で、バッテリ残量SoCが更新処理の完了までに必要と予測される電力量よりも不足している。そこで、判定部113は、さらに、更新処理を中断するか否かを判定する(第2の判定処理)。判定部113は、バッテリ残量SoCを第2の判定処理のための閾値Th2(Th2<Th1)と比較する。閾値Th2は、バッテリ残量の下限値Whmに相当する値であり、少なくとも更新処理の中断するための処理(中断処理)に必要な電力量を示す値である。判定部113は、その比較結果に基づいて判定する。具体的に、判定部113は、バッテリ残量SoCが閾値Th2まで減少すると(SoC≦Th2)、更新処理を中断すると判定する(第2の判定結果)。バッテリ残量SoCがこれ以上減少すると、中断処理ができなくなるためである。
判定部113は、後述する更新制御処理によって更新処理が中断された場合に、当該更新処理を再開するか否かを判定する(第3の判定処理)。判定部113は、バッテリ残量SoCを上記閾値Th2と比較する。判定部113は、その比較結果に基づいて判定する。具体的に、判定部113は、バッテリ残量SoCが閾値Th2より大きくなった場合に(SoC>Th2)、中断した更新処理を再開すると判定する。
バッテリ残量SoCが閾値Th1以下であり、かつ、閾値Th2より大きいとき(SoC≦Th1、かつ、SoC>Th2)、判定部113は、更新処理以外の動作中の処理を必要に応じて停止すると判定する(第3の判定結果)。この場合、現状の動作を継続すると更新処理の完了までに必要な電力量が不足する可能性があるためである。
好ましくは、判定部113は、上記閾値Th1,Th2を設定するための設定部114を含む。設定部114は、記憶部13に予め記憶されている閾値を読み出してもよいし、予め記憶している計算式にパラメータを代入して算出してもよい。たとえば、設定部114は、予め記憶している対象ECUの属性と、更新用プログラムのサイズと、に基づいて閾値Th1を算出する。具体的には、設定部114は、対象ECUでの更新処理の所要時間Tに、予め記憶している当該対象ECUでの単位時間あたりの消費電力pを乗じて予測消費電力量P1(P1=T×p)を算出し、当該予測消費電力量P1に予め設定されているマージンm1を付加した値を閾値Th1とする(Th1=P1+m1)。
なお、マージンm1は正負いずれの値であってもよい。マージンm1を正の数とすることによって、閾値Th1は予測消費電力量P1より大きな値となる。これにより、第1の判定処理をバッテリ残量SoCに余裕を持たせた、安全側の判定処理とすることができる。一方、マージンm1を負の数とすることによって、閾値Th1は予測消費電力量P1より小さな値となる。マージンm1の絶対値を適切な数とすることによって、第1の判定処理を過剰に安全側とすることよりも、更新処理の実行し易さを優先させることができる。また、マージンm1を付加することは、予測消費電力量P1への加算のみならず、乗算であってもよい。
なお、所要時間Tは、対象ECUで更新処理が開始してから完了するまでの合計時間T1であってもよいし、判定時点から更新処理が完了するまでの残り時間T2であってもよい。前者の場合、判定部113は、所要時間Tを、更新用プログラムのデータサイズS1を対象ECUのデータの書き込み速度vで除することで得ることができる(T=T1=S1/v)。合計時間T1を用いることで、所要時間Tを判定時点ごとに算出することが不要になり、判定処理を容易にできる。後者の場合、判定部113は、所要時間Tを、更新用プログラムの未処理分のデータサイズS2を対象ECUのデータの書き込み速度vで除することで得ることができる(T=T2=S2/v)。残り時間T2を用いることで、所要時間Tを判定時点に応じて算出することができ、更新処理の進度に応じて高精度で所要時間Tを得ることができる。
閾値Th2は、記憶部13に予め記憶されている。または、設定部114は、更新処理を中断処理に必要な電力量P2を予め記憶しておき、電力量P2を用いて閾値Th2を算出してもよい。中断処理は、更新処理のうちの処理完了位置(アドレス)を記憶部13に書き込む処理を含み、電力量P2は、当該アドレスを記憶部13に書き込む処理に要する電力量を含む。中断処理は、さらに、記憶部13からアドレスを読出し、更新用プログラムのうちの当該アドレスに示される箇所から更新処理を再開する処理を含んでもよい。たとえば、設定部114は、予め記憶部されている電力量P2に予め設定されているマージンm2を付加した値を閾値Th2とする(Th2=P2+m2)。マージンm2もまた正負いずれの値であってもよい。
マージンm2を正の数とすることによって、上記のマージンm1を正の数とすることと同様に、第2の判定処理を安全側の判定処理とすることができる。マージンm2を負の数とすることによって、上記のマージンm1を負の数とすることと同様に、第2の判定処理を過剰に安全側とすることよりも、更新処理の実行し易さを優先させることができる。また、マージンm2を付加することも、電力量P2への加算のみならず、乗算であってもよい。
更新制御部111は、判定部113の判定結果に基づいて更新制御処理を実行する。すなわち、第2の判定結果である場合、更新制御部111は、対象ECUに対して更新処理の中断を指示する。具体的には、更新処理の中断を指示するデータを含むフレームを生成し、車内通信部14に対象ECUに対して送信させる。
第3の判定結果である場合、更新制御部111は、停止処理を実行する。停止処理は、更新処理以外の動作中の処理を必要に応じて停止する処理である。更新処理以外の処理は、たとえば、図示しない動画プレイヤーにおける動画の再生、音楽プレイヤーにおける音楽の再生、各種装置におけるデータのダウンロード、などである。
更新処理以外の動作中の処理が複数ある場合、好ましくは、更新制御部111は、所定の選択基準に従って、当該複数の処理のうちから停止する処理を決定する。第1の実施の形態では、上記所定の選択基準は、予め設定された優先度である。このため、更新制御部111は、処理の優先度を予め記憶しておき、動作中の複数の処理のうち、更新処理よりも優先度の低い処理を停止する処理に決定する。また、更新処理よりも優先度の低い処理が複数ある場合には、更新制御部111は、その複数の処理のうちの優先度の低い処理から順に停止する対象の処理を決定する。当該優先度は、予め記憶部13に記憶されていてもよいし、ユーザによって設定、変更可能であってもよい。または、上記所定の選択基準は、ランダムであってもよい。
更新処理以外の動作中の処理が複数ある場合、より好ましくは、更新制御部111は、のバッテリの減少速度ΔWhが基準速度Δ未満となるまで順(たとえば、優先度の低い順)に、更新処理以外の動作中の処理を停止する。減少速度ΔWhは、単位時間あたりのバッテリの減少量である。更新制御部111は、図示しないバッテリを制御するECUから送信されるフレームを監視することによって、バッテリの減少速度ΔWhを取得することができる。また、更新制御部111は、バッテリ残量SoCと更新処理完了までの時間とに基づいて基準速度Δを算出する。
基準速度Δは、更新処理完了までの期間に、現在のバッテリ残量が下限値Whm(閾値Th2に相当する電力量)まで減少する速度、つまり、単位時間あたりの変化(減少)量である。減少速度ΔWhが基準速度Δよりも大きい(速い)場合、更新処理の完了時点の予測されるバッテリ残量が下限値Whmを下回る、つまり、更新処理の完了時点において、バッテリ不足が予測される。
更新制御部111は、バッテリ残量SoCの下限値Whmからの差分を上記所要時間Tで除することによって基準速度Δを得ることができる(Δ=(SoC−Whm)/T)。なお、所要時間Tは、閾値Th1の算出の際に用いた所要時間Tと同様に、合計時間T1であってもよいし、残り時間T2であってもよい。
[動作フロー]
図6は、第1の実施の形態にかかるプログラム更新システムでの、図5のステップS5の更新制御処理の具体例を表したフローチャートである。図6のフローチャートに表された処理は、ゲートウェイ10のCPU11が、記憶部13に記憶された1つまたは複数のプログラムをRAM12上に読み出して実行することによって図2に示された各機能を実現することで実行される。図6の処理は、制御プログラムの更新処理が車両1の停車中に行われるものである場合に、ゲートウェイ10が対象ECUに更新用プログラムを渡して制御プログラムの更新を要求すると(図5のステップS4)開始される。
図6を参照して、ゲートウェイ10のCPU11は、対象ECUに更新処理を要求した後に、図示しないバッテリを制御するECUから送信されるフレームを監視することによってバッテリ残量SoCを取得する(ステップS101)。
CPU11は、取得したバッテリ残量SoCと閾値Th1とを比較し、バッテリ残量SoCが閾値Th1よりも大きい場合には(ステップS103でNO)、以降の処理をスキップする。この場合、対象ECUでの更新処理は続行する。
バッテリ残量SoCが閾値Th1以下である場合(ステップS103でYES)、CPU11は、さらに、閾値Th2と比較する。バッテリ残量SoCが閾値Th1以下であって、閾値Th2より大きい場合には(ステップS105でNO)、CPU11は、停止処理を実行する。すなわち、CPU11は、動作中の処理の中に、更新処理よりも優先度の低い処理があるか否かを確認する。ない場合には(ステップS107でNO)、CPU11は、以降の処理をスキップする。この場合、対象ECUでの更新処理は続行する。
動作中の処理の中に、更新処理よりも優先度の低い処理がある場合(ステップS107でYES)、CPU11は車内通信部14に、当該処理中のECUに処理の停止を指示するフレームを送信させる。これにより、該当するECUでの処理が停止する。また、更新処理よりも優先度の高い処理は、継続する。このとき、該当する処理が複数ある場合、CPU11は、たとえば、優先度の最下位の処理の停止を指示する(ステップS111)。
好ましくは、CPU11は、バッテリを制御するECUから送信されるフレームを監視することによってバッテリの減少速度ΔWhを取得し、基準速度Δと比較する。そして、減少速度ΔWhが基準速度Δ以上である場合に(ステップS109でNO)、CPU11は、優先度の最下位の処理の停止を指示する(ステップS111)。これにより、優先度の最下位の処理が停止する。減少速度ΔWhが基準速度Δより小さい場合には(ステップS109でYES)、CPU11は、ステップS111をスキップする。すなわち、動作中の処理の停止を指示しない。これにより、動作中の処理は継続される。
CPU11は、以上の処理を、対象ECUでの更新処理が完了するまで定期的に繰り返す(ステップS113でNO)。このため、更新処理よりも優先度の低い処理が複数、動作中である場合、これら処理のうちの優先度の低い処理から順に、バッテリ残量SoCが下限値Whmに相当する閾値Th2以上となるまで、または、バッテリの減少速度ΔWhが基準速度Δよりも小さくなるまで、停止される。
バッテリ残量SoCが閾値Th2まで減少した場合(ステップS105でYES)、CPU11は車内通信部14に、対象ECUに対して更新処理の中断を指示するフレームを送信させる(ステップS115)。これにより、対象ECUにおいて中断処理が実行され、更新処理が中断する。
更新処理が中断された後、CPU11は、バッテリ残量SoCの監視を続ける。そして、バッテリ残量SoCが閾値Th2より多くなるまで充電が進むと(ステップS117でYES)、CPU11は車内通信部14に、対象ECUに対して更新処理の再開を指示するフレームを送信させる(ステップS119)。これにより、対象ECUでの更新処理が再開する。更新処理が再開すると、CPU11は、ステップS101からの処理を、対象ECUでの更新処理が完了するまで定期的に繰り返す(ステップS113でNO)。
[第1の実施の形態の効果]
上記の更新制御処理は、車両1の停車中にオンライン更新が実行される場合であって、たとえば、車両1内のユーザがエアコンを稼動させたり、動画を再生したりしている場合に実行されることが想定される。この場合、これら動作中の処理によって更新処理の完了までにバッテリ残量が不足すると、対象ECUでの更新処理が途中で停止するおそれがある。更新処理が途中で停止すると、更新用プログラムが破壊するなどして、制御プログラムの更新自体に失敗する場合もある。
このような場合に本実施の形態にかかる更新制御処理が実行されることによって、更新処理の完了までに、必要な電力量が不足することが予測される場合、他のECUの処理が自動的に停止される。これにより、更新処理の完了まで、必要な電力量がバッテリに確保される。その結果、バッテリ不足による更新処理の停止が回避され、完了まで更新処理が実行される。
なお、このとき、優先度を予め設定しておくことによって、更新処理よりも優先度の低い処理が停止され、優先度の高い処理は停止されない。これにより、ユーザが制御プログラムの更新よりも優先する動作がある場合には当該動作は停止されない。たとえば、エアコンの稼動の優先度を制御プログラムの更新よりも高く設定し、動画の再生を低く設定していた場合、エアコンの稼動は停止せず、動画の再生が停止する。そのため、ユーザの利便性を大きく損なうことがない。
一方で、優先度が設定されることによって、優先度の高い処理が停止されないために更新処理が完了する前にバッテリ残量が不足する場合もある。上の例ではエアコンの稼動が継続することによって、更新処理の完了よりも前にバッテリ残量が不足する場合がある。このとき、本実施の形態にかかる更新制御処理では、バッテリ残量が中断処理に必要な電力量まで減少すると、バッテリ残量が当該電力量以上に充電されるまで更新処理を中断する。そして、バッテリ残量が当該電力量以上に充電されると、自動的に更新処理を再開する。これにより、バッテリ不足によって更新処理が中断された場合であっても、バッテリ残量が確保された時点で自動的に更新処理が再開されるため、完了まで更新処理が実行される。
さらに、動作中の処理による電力の消費速度によって、更新処理が完了するまでに、必要な電力量が不足することが予測される場合に他のECUの処理が停止され、そうでない場合には停止されないことで、必要以上の処理が停止されることがない。そのため、ユーザの利便性を大きく損なうことがない。
<第2の実施の形態>
第1の実施の形態では、更新処理の実行中にバッテリ残量が更新完了までに必要な電力量が不足すると予測される場合、動作中の処理のうち、所定の選択基準に従って決定された処理が自動的に停止する。他の例として、ユーザが選択した処理を停止してもよい。
第2の実施の形態において、更新制御部111で実行される停止処理は、ユーザから停止する処理の選択を受け付ける処理と、選択された処理を停止する処理と、を含む。このため、好ましくは、更新制御部111は、ユーザの指示に従って停止可能な処理を予め記憶しておく。ユーザの指示に従って停止可能な処理は、走行に関わらない処理であって、たとえば、エアコン稼動のための処理や、動画再生のための処理、などである。
更新処理以外の動作中の処理がユーザの指示に従って停止可能な処理である場合、更新制御部111は、当該処理の停止の可否を指示するユーザ操作を受け付けるための表示画面(選択画面)をユーザインタフェース装置7に表示させる。更新処理以外の動作中の処理であって、ユーザの指示に従って停止可能な処理が複数ある場合には、選択画面は、これら複数の処理のうちから停止する処理の選択を受け付ける。更新制御部111は選択画面をユーザインタフェース装置7に表示させるために、選択画面の表示を指示するデータを含むフレームを生成し、車内通信部14にユーザインタフェース装置7を制御するECUに送信させる。
図7は、選択画面の一例を示した図である。図7を参照して、選択画面は、更新処理が完了するまでに必要な電力量が不足することが予測されることの通知(電力不足予測通知)に加えて、動作中の処理のうちのユーザの指示に従って停止可能な処理の表示を含む。選択画面は、表示した処理の停止の可否を選択するユーザ操作を受け付ける。図7の例では、選択可能な処理が、動画プレイヤーでの再生処理、音楽プレイヤーでの再生処理、音楽データのダウンロード処理、動画データのダウンロード処理、およびエアコン稼動の処理の複数あり、それぞれについて、停止を指示するユーザ操作(たとえばタッチ)を受け付けることができる。
好ましくは、更新制御部111は、不足する電力量Xと、動作中の処理の消費電力量A〜Eを選択画面に表示する。不足する電力量Xは、たとえば、バッテリ残量SoCから上記の単位時間あたりのバッテリの減少速度ΔWhが所要時間T継続した場合の消費電力量(ΔWh×T)を減じて算出される。動作中の処理の消費電力量A〜Eは、当該処理を実行するECUから送信されるフレームを監視することで得られる単位時間あたりの消費電力を所要時間Tに乗じて算出される。選択画面でこれら電力量が表示されることによって、ユーザは、適した処理の停止を指示することができる。
図8は、第2の実施の形態にかかるプログラム更新システムでの、図5のステップS5の更新制御処理の具体例を表したフローチャートである。図8のフローチャートに表された処理もまた、ゲートウェイ10のCPU11が、記憶部13に記憶された1つまたは複数のプログラムをRAM12上に読み出して実行することによって図2に示された各機能を実現することで実行される。なお、図8のフローチャートにおいて、図6のフローチャートと同じ番号が付された動作は、図6のフローチャートで示された動作と同じであるため、説明を繰り返さない。
第2の実施の形態においては、図8を参照して、バッテリ残量SoCが閾値Th1以下であり、かつ、閾値Th2より大きい場合であって(ステップS103でYES、かつ、ステップS105でNO)、さらに、動作中の処理の中に、更新処理よりも優先度の低い処理がある場合(ステップS107でYES)、CPU11は、その中に、ユーザの指示に従って停止可能な処理があるか否かを確認する。
好ましくは、CPU11は、バッテリを制御するECUから送信されるフレームを監視することによってバッテリの減少速度ΔWhを取得し、基準速度Δと比較する。そして、減少速度ΔWhが基準速度Δ以上である場合に(ステップS109でNO)、CPU11は、動作中の処理の中にユーザの指示に従って停止可能な処理があるか否かを確認する。
ユーザの指示に従って停止可能な処理がある場合(ステップS201でYES)、CPU11は車内通信部14に、当該処理の停止を指示するユーザ操作を受付可能な選択画面(図7)のユーザインタフェース装置7への表示を指示するフレームを、ユーザインタフェース装置7を制御するECUに送信させる(ステップS203)。これにより、図7のような選択画面がユーザインタフェース装置7に表示される。
停止する処理を選択するユーザ操作を受け付けると(ステップS205でYES)、CPU11は車内通信部14に、選択された処理を実行中のECUに処理の停止を指示するフレームを送信させる(ステップS207)。これにより、選択された処理が停止する。
[第2の実施の形態の効果]
第2の実施の形態にかかる更新制御処理が実行されることによって、更新処理の完了までにバッテリ残量が不足することが予測される場合に、動作中の処理のうちの、ユーザの選択した処理が停止される。これにより、バッテリ不足による更新処理の停止が回避され、完了まで更新処理が実行されるとともに、ユーザの意図しない処理が停止することを防止できる。
<第3の実施の形態>
第1の実施の形態および第2の実施の形態にかかるプログラム更新システムでは、更新処理の実行中に動作している、更新処理以外の処理を停止することによって、更新処理の完了までに、必要な電力量が不足することを防止するものとしている。すなわち、これら実施の形態にかかる更新制御処理では、更新処理をその他の処理よりも優先している。更新制御処理の他の例として、その他の処理を更新処理よりも優先してもよい。第3の実施の形態にかかる更新制御処理では、その他の処理を更新処理よりも優先する。
制御プログラムの更新は、一連のタイミングで行われる複数の部分的な更新処理を含む場合がある。複数の部分的な更新処理は、たとえば、制御プログラムの機能単位で独立した更新や、データ単位で独立した更新を含む。この場合、更新処理は、機能単位や、データ単位などの部分的な更新処理ごとに独立して行うことができる。
そこで、第3の実施の形態では、更新処理の実行中にバッテリ残量が更新完了までに必要な電力量が不足すると予測される場合に動作中の処理のうちの更新処理の、部分的な更新処理を中断する。
第3の実施の形態において、更新制御部111は、第1の実施の形態と同様に、複数の部分的な更新処理のうちから優先度などの所定の選択基準に従って決定された処理を、自動的に中断してもよい。この場合、第1の実施の形態と同様に、更新制御部111は、部分的な更新処理ごとに設定された優先度を予め記憶しておき、優先度の低い順に部分的な更新処理の中断を対象ECUに指示する。この場合の更新制御処理の流れは、図6のフローチャートと概ね同じである。
または、更新制御部111は、第2の実施の形態と同様に、複数の部分的な更新処理のうちの、ユーザの指示に従って中断が可能な処理について、ユーザ操作を受け付けるための選択画面をユーザインタフェース装置7に表示させて、中断する処理の選択を受け付ける。そして、更新制御部111は、複数の部分的な更新処理のうちの選択された処理の中断を対象ECUに指示する。この場合の更新制御処理の流れは、図8のフローチャートと概ね同じである。
図9は、第3の実施の形態での選択画面の一例を示した図である。図9を参照して、第3の実施の形態にかかる選択画面は、図7の第2の実施の形態にかかる選択画面と同様に、電力不足予測通知に加えて、処理中の更新処理のうちのユーザの指示に従って中断可能な部分的な更新処理の表示を含む。図9の例では、部分的な更新処理は機能ごとの更新処理であって、機能1〜5それぞれの更新処理について、中断を指示するユーザ操作(たとえばタッチ)を受け付けることができる。なお、図9の選択画面で更新を中断する機能を選択させる際に、選択可能な機能の単位は、同時更新が必須でない機能の単位とする。
好ましくは、更新制御部111は、不足する電力量Xと、部分的な更新処理ごとの消費電力量M〜Pを選択画面に表示する。部分的な更新処理ごとの消費電力量M〜Pは、管理サーバ5から得られる当該部分的な更新処理に要する更新用プログラムのデータサイズsと、対象ECUのデータの書き込み速度vとから得られる、当該部分的な更新処理の所要時間t(t=s/v)に、予め記憶している当該対象ECUでの単位時間あたりの消費電力pを乗じて算出することができる。
[第3の実施の形態の効果]
第3の実施の形態にかかる更新制御処理が実行されることによって、更新処理の完了までにバッテリ残量が不足することが予測される場合に、更新処理が部分的に中断される。これにより、バッテリ不足による更新処理の停止が回避される。
さらに、第3の実施の形態にかかるプログラム更新システムでは、更新処理の完了までにバッテリ残量が不足することが予測される場合に、動作中の処理のうちの、更新処理よりも他の処理が優先される。このため、ユーザが、たとえばエアコンの稼動や動画の再生などの他の処理の方を優先したい場合には、これら処理を停止させることなく、更新処理のうちのバッテリ残量で処理可能な部分が実行され、バッテリ不足となる部分の更新処理が中断される。これにより、ユーザの利便性を損なうことがない。
<第4の実施の形態>
第1、第2の実施の形態、および、第3の実施の形態を組み合わせてもよい。すなわち、更新処理の実行中にバッテリ残量が更新完了までに必要な電力量が不足すると予測される場合、更新処理とその他の処理とのいずれの処理を優先するかを選択するユーザ操作を受け付ける。すなわち、更新制御部111は、判定部113の判定結果が上記第3の判定結果であった場合(ステップS105でNO)、たとえば、「制御プログラムの更新を優先しますか?」などの、更新処理とその他の処理とのいずれの処理を優先するかを選択するユーザ操作を受け付けるための選択画面をユーザインタフェース装置7に表示させて、選択を受け付ける。そして、更新制御部111は、その選択結果に応じて第1、第2の実施の形態の更新制御処理、または第3の実施の形態の更新制御処理を実行してもよい。
これにより、バッテリ不足による更新処理の停止が回避されるとともに、ユーザの意図しない処理が停止することを防止できる。
なお、以上の第1の実施の形態〜第4の実施の形態では、制御プログラムの更新処理をメインの処理として、当該処理をバッテリ不足によって停止させないためにその他の処理、または当該処理の一部を停止または中断させるものとしているが、メインの処理は更新処理に限定されず、他の処理であってもよい。つまり、動作中の複数の処理がある場合に、ある1つの処理をメインの処理として、当該メインの処理が完了する時点においてバッテリ残量が不足することが予測される場合に、当該メインの処理以外の処理、または、当該メインの処理の一部を、所定の選択基準に従って自動的に、または、ユーザ操作に従って停止、もしくは、中断してもよい。
開示された特徴は、1つ以上のモジュールによって実現される。たとえば、当該特徴は、回路素子その他のハードウェアモジュールによって、当該特徴を実現する処理を規定したソフトウェアモジュールによって、または、ハードウェアモジュールとソフトウェアモジュールとの組み合わせによって実現され得る。
上述の動作をコンピュータに実行させるための、1つ以上のソフトウェアモジュールの組み合わせであるプログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM、RAMおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
なお、本開示にかかるプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本開示にかかるプログラムに含まれ得る。
また、本開示にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本開示にかかるプログラムに含まれ得る。提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 車両
2 広域通信網
4 車内ネットワーク
5 管理サーバ
6 DLサーバ
7 ユーザインタフェース装置
10 ゲートウェイ(制御装置)
11 CPU
12 RAM
13 記憶部
14 車内通信部
15 無線通信部
16 車内通信線
30 ECU(車載制御装置)
31 CPU
32 RAM
33 記憶部
34 通信部
35 起動部
51 CPU
52 ROM
53 RAM
54 記憶部
55 通信部
111 更新制御部(制御部)
112 取得部
113 判定部
114 設定部


Claims (9)

  1. 複数の車載制御装置と車内通信線を介して通信する制御装置であって、
    前記複数の車載制御装置に電力供給するバッテリの電力量を取得する取得部と、
    前記複数の車載制御装置のうちの1つである対象装置での処理の完了時点における前記バッテリの予測電力量が第1の閾値未満である場合に、前記処理と並行して実行されている他の車載制御装置での処理を停止するように当該他の車載制御装置に指示する制御部と、を備え
    前記第1の閾値は、前記対象装置での前記処理を中断する処理に必要な電力量に所定のマージンを付加した値である、制御装置。
  2. 前記対象装置での処理は、車両の停車中における制御プログラムの更新処理である、請求項1に記載の制御装置。
  3. 前記他の車載制御装置での処理が複数、並行して実行されている場合、前記制御部は、処理ごとに設定されている優先度に従って、複数の前記処理の中から停止させる処理を決定する、請求項1または請求項2に記載の制御装置。
  4. 前記他の車載制御装置での処理が複数、並行して実行されている場合、前記制御部は、停止する処理を選択するユーザ操作に従って、複数の前記処理の中から停止させる処理を決定する、請求項1または請求項2に記載の制御装置。
  5. 前記制御部は、さらに、前記バッテリの減少速度が以下の基準速度よりも速い場合に、前記他の車載制御装置に前記処理の停止を指示する、請求項1〜請求項4のいずれか1項に記載の制御装置。
    基準速度:前記対象装置での前記処理の完了時点までに、前記バッテリの電力量が前記第1の閾値に相当する電力量まで減少する速度
  6. 前記制御部は、前記バッテリの電力量が、前記第1の閾値よりも大きい第2の閾値よりも小さい場合に、前記他の車載制御装置を停止させる指示を行う、請求項1〜請求項のいずれか1項に記載の制御装置。
  7. 前記第2の閾値は、前記対象装置での前記処理の完了までに必要な電力量に所定のマージンを付加した値である、請求項に記載の制御装置。
  8. 複数の車載制御装置と車内通信線を介して通信する制御装置による、前記車載制御装置の制御方法であって、
    前記複数の車載制御装置に電力供給するバッテリの電力量を取得するステップと、
    前記複数の車載制御装置のうちの1つである対象装置での処理の完了時点における前記バッテリの予測電力量が閾値未満である場合に、前記処理と並行して実行されている他の車載制御装置での処理を停止するように当該他の車載制御装置に指示するステップと、を備え
    前記閾値は、前記対象装置での前記処理を中断する処理に必要な電力量に所定のマージンを付加した値である、制御方法。
  9. 複数の車載制御装置と車内通信線を介して通信する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、
    前記コンピュータを、
    前記複数の車載制御装置に電力供給するバッテリの電力量を取得する取得部と、
    前記複数の車載制御装置のうちの1つである対象装置での処理の完了時点における前記バッテリの予測電力量が閾値未満である場合に、前記処理と並行して実行されている他の車載制御装置での処理を停止するように当該他の車載制御装置に指示する制御部、として機能させ
    前記閾値は、前記対象装置での前記処理を中断する処理に必要な電力量に所定のマージンを付加した値である、コンピュータプログラム。
JP2017157191A 2017-08-16 2017-08-16 制御装置、制御方法、およびコンピュータプログラム Active JP6881150B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017157191A JP6881150B2 (ja) 2017-08-16 2017-08-16 制御装置、制御方法、およびコンピュータプログラム
DE112018004181.6T DE112018004181T5 (de) 2017-08-16 2018-05-28 Steuereinrichtung, Steuerverfahren und Computerprogramm
CN201880052867.8A CN111032439B (zh) 2017-08-16 2018-05-28 控制设备、控制方法和非暂时性计算机可读存储介质
PCT/JP2018/020272 WO2019035259A1 (ja) 2017-08-16 2018-05-28 制御装置、制御方法、およびコンピュータプログラム
US16/628,401 US11288156B2 (en) 2017-08-16 2018-05-28 Control apparatus, control method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017157191A JP6881150B2 (ja) 2017-08-16 2017-08-16 制御装置、制御方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019036140A JP2019036140A (ja) 2019-03-07
JP6881150B2 true JP6881150B2 (ja) 2021-06-02

Family

ID=65362362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017157191A Active JP6881150B2 (ja) 2017-08-16 2017-08-16 制御装置、制御方法、およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US11288156B2 (ja)
JP (1) JP6881150B2 (ja)
CN (1) CN111032439B (ja)
DE (1) DE112018004181T5 (ja)
WO (1) WO2019035259A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7143625B2 (ja) 2018-05-09 2022-09-29 株式会社デンソー 車載通信装置
JP6742381B2 (ja) * 2018-10-15 2020-08-19 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
JP6943903B2 (ja) * 2019-02-22 2021-10-06 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JP7226047B2 (ja) * 2019-04-09 2023-02-21 株式会社オートネットワーク技術研究所 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
KR20210133599A (ko) * 2020-04-29 2021-11-08 현대자동차주식회사 차량의 무선 업데이트 장치 및 그 방법
US12045601B1 (en) * 2021-03-01 2024-07-23 Apple Inc. Systems and methods for dynamic data management
JP7320547B2 (ja) * 2021-03-19 2023-08-03 本田技研工業株式会社 プログラム更新制御装置、プログラム更新制御方法、及びプログラム
JP7476844B2 (ja) * 2021-04-23 2024-05-01 株式会社デンソー 車両の電源制御方法、及び車両のコンピュータプログラム
JP7540394B2 (ja) 2021-06-08 2024-08-27 トヨタ自動車株式会社 Otaマスタ、システム、方法、プログラム、及び車両
JPWO2023068019A1 (ja) * 2021-10-20 2023-04-27
DE112021008457T5 (de) * 2021-11-16 2024-09-12 Mitsubishi Electric Corporation Fahrzeugsteuerungsapparat
KR20240018226A (ko) * 2022-08-02 2024-02-13 현대자동차주식회사 무선 업데이트 장치 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004064222A2 (en) * 2003-01-06 2004-07-29 Johnson Controls Technology Company Battery management system
JP5603942B2 (ja) * 2010-08-03 2014-10-08 本田技研工業株式会社 車両用プログラム書換えシステム
JP6205214B2 (ja) * 2013-09-06 2017-09-27 日立オートモティブシステムズ株式会社 自動車用電子制御装置
JP5975964B2 (ja) * 2013-10-18 2016-08-23 富士通株式会社 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
US10310838B2 (en) * 2014-06-18 2019-06-04 Hitachi Automotive Systems, Ltd. Vehicle-mounted program writing device
JP5997740B2 (ja) * 2014-09-17 2016-09-28 クラリオン株式会社 車載機のオンライン更新方法
JP2016088262A (ja) * 2014-11-04 2016-05-23 三菱電機株式会社 電子機器
JP6498530B2 (ja) * 2015-05-29 2019-04-10 日立オートモティブシステムズ株式会社 車載制御装置
CN105631052A (zh) 2016-03-01 2016-06-01 北京百度网讯科技有限公司 基于人工智能的检索方法和装置
US10042629B2 (en) * 2016-07-28 2018-08-07 GM Global Technology Operations LLC Remote vehicle update installation scheduling
JP6696468B2 (ja) * 2016-08-30 2020-05-20 株式会社オートネットワーク技術研究所 車載更新装置及び車載更新システム
JP6642393B2 (ja) * 2016-11-28 2020-02-05 株式会社オートネットワーク技術研究所 車載更新システム
KR20180084198A (ko) * 2017-01-16 2018-07-25 현대자동차주식회사 차량의 소프트웨어 업데이트 장치 및 방법

Also Published As

Publication number Publication date
WO2019035259A1 (ja) 2019-02-21
US20200133812A1 (en) 2020-04-30
CN111032439A (zh) 2020-04-17
DE112018004181T5 (de) 2020-04-30
JP2019036140A (ja) 2019-03-07
CN111032439B (zh) 2023-04-11
US11288156B2 (en) 2022-03-29

Similar Documents

Publication Publication Date Title
JP6881150B2 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP6566144B2 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP6897417B2 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP6501040B2 (ja) 制御装置
JP4809418B2 (ja) ソフトウェア更新装置およびソフトウェア更新方法
JP6702269B2 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP6525109B2 (ja) 制御装置、転送方法、およびコンピュータプログラム
JP6620891B2 (ja) 中継装置、中継方法、およびコンピュータプログラム
JP6907803B2 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP2005132131A (ja) ソフトウェア更新装置およびソフトウェア更新方法
WO2019030984A1 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP2019036017A (ja) 制御装置、制御方法、およびコンピュータプログラム
JP7279707B2 (ja) 制御装置、制御方法、およびコンピュータプログラム
CN111989242B (zh) 控制装置、控制方法和计算机程序

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6881150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250