(57)【要約】  複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部と、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも２つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部と、を備える、制御装置。
2018079008.tif 000002
【特許請求の範囲】
【請求項１】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、
前記対象機器に電力供給する前記複数の電源それぞれの状態を検出する検出部と、
前記検出部によって検出された前記複数の電源の状態が、前記複数の電源のうちの少なくとも２つの電源が前記制御プログラムを更新するために必要な電力を出力できる場合に前記制御プログラムの更新が可能であると判定する判定部と、を備える、制御装置。
【請求項２】
前記判定部は、前記複数の電源の状態の組み合わせごとに前記制御プログラムの更新の可否の判定結果を予め定義した判定テーブルを参照して、前記制御プログラムの更新の可否を判定する、請求項１に記載の制御装置。
【請求項３】
前記判定部は、前記複数の電源の状態ごとに所定値を出力するように定義された判定関数を用いて、前記制御プログラムの更新の可否を判定する、請求項１に記載の制御装置。
【請求項４】
前記複数の電源は蓄電池を含み、
前記検出部が検出する前記電源の状態は、当該蓄電池の充電量を含む、請求項１〜請求項３のいずれか一項に記載の制御装置。
【請求項５】
前記複数の電源は発電機を含み、
前記検出部が検出する前記電源の状態は、当該発電機が駆動中であるか否かを含む、請求項１〜請求項４のいずれか一項に記載の制御装置。
【請求項６】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、
前記対象機器に電力供給する前記複数の電源それぞれの状態を検出するステップと、
検出された前記複数の電源の状態が、前記複数の電源のうちの少なくとも２つの電源が前記制御プログラムを更新するために必要な電力を出力できる場合に前記制御プログラムの更新が可能であると判定するステップと、を備える、プログラム更新方法。
【請求項７】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、
前記対象機器に電力供給する前記複数の電源それぞれの状態を検出する検出部、および
前記検出部によって検出された前記複数の電源の状態が、前記複数の電源のうちの少なくとも２つの電源が前記制御プログラムを更新するために必要な電力を出力できる場合に前記制御プログラムの更新が可能であると判定する判定部、として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、プログラム更新方法、およびコンピュータプログラムに関する。
本出願は、２０１６年１０月２７日出願の日本出願第２０１６−２１０１５４号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
【背景技術】
【０００２】
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ＥＣＵ（Electronic  Control  Unit）が多数搭載されている。
ＥＣＵの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、ＥＰＳ（Electric  Power  Steering）等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯／消灯と警報器の吹鳴等の制御を行うボディ系ＥＣＵ、運転席近傍に配設されるメータ類の動作を制御するメータ系ＥＣＵなどがある。【０００３】
一般的にＥＣＵは、マイクロコンピュータ等の演算処理装置によって構成されており、ＲＯＭ（Read  Only  Memory）に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ＥＣＵの制御プログラムは、車両の仕向け地やグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。【０００４】
たとえば、特許文献１には、車載通信機などのゲートウェイが管理サーバから更新プログラムを受信し、受信した更新プログラム用いてＥＣＵが制御プログラムを旧バージョンから新バージョンに書き換えることにより、車両の各ＥＣＵに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−６５８５６号公報
【特許文献２】特開２００７−２３７９０５号公報
【発明の概要】
【０００６】
ある実施の形態に従うと、制御装置は、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部と、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも２つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部と、を備える。
【０００７】
他の実施の形態に従うと、プログラム更新方法は、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、対象機器に電力供給する複数の電源それぞれの状態を検出するステップと、検出された複数の電源の状態が、複数の電源のうちの少なくとも２つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定するステップと、を備える。
【０００８】
他の実施の形態に従うと、コンピュータプログラムは、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部、および、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも２つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部、として機能させる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るプログラム更新システムの全体構成図である。
【図２】図２は、ゲートウェイの内部構成を示すブロック図である。
【図３】図３は、ＥＣＵの内部構成を示すブロック図である。
【図４】図４は、管理サーバの内部構成を示すブロック図である。
【図５】図５は、ＥＣＵの制御プログラムの更新の一例を示すシーケンス図である。
【図６】図６は、プログラム更新システムに含まれる車両の電源構成の一例を表した概略図である。
【図７】図７は、制御プログラムの更新の可否の判定に用いられる判定テーブルの一例を示す図である。
【図８】図８は、図５のステップＳ５Ａの、制御プログラムの更新の可否を判断する処理の具体的な内容を表したフローチャートである。
【図９】図９は、プログラム更新システムに含まれる車両の電源構成の他の例を表した概略図である。
【発明を実施するための形態】
【００１０】
＜本開示が解決しようとする課題＞
制御プログラムを更新するＥＣＵに電力を供給するバッテリの電圧が低下するとＥＣＵが正常に動作せず、更新が正常に行われない。制御プログラムの更新が中断したり、この中断によってプログラムが破壊されたりする可能性もある。この問題に対して、特開２００７−２３７９０５号公報（特許文献２）は、メインバッテリとメインバッテリよりも電圧の低いサブバッテリとを搭載したハイブリット型車両において、ＥＣＵに電力を供給するサブバッテリの電圧が更新可能な電圧よりも低い場合には更新処理を実行せず、メインバッテリから充電するシステムを開示している。
【００１１】
しかしながら、特許文献２のシステムでは、該ＥＣＵに電力を供給している電源が更新中に電圧低下すると更新処理が中断されてしまう。そのため、上のような課題は解消し切れていない。
【００１２】
本開示のある局面における目的は、複数の電源を搭載した車両において、制御プログラムを、確実に更新することができる制御装置、プログラム更新方法、およびコンピュータプログラムを提供することである。
【００１３】
＜本開示の効果＞
この開示によると、複数の電源を搭載した車両において、制御プログラムを、確実に更新することができる。
【００１４】
［実施の形態の説明］
本実施の形態には、少なくとも以下のものが含まれる。
すなわち、本実施の形態に含まれる制御装置は、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部と、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも２つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部と、を備える。
この構成によれば車載制御装置での制御プログラムの更新の際に、制御プログラムの更新に必要な電力が供給可能な状態である電源が２つ以上存在する。そのため、制御プログラムの更新中に１つの電源の電力が低下した場合であっても、他の電源から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【００１５】
好ましくは、判定部は、複数の電源の状態の組み合わせごとに制御プログラムの更新の可否の判定結果を予め定義した判定テーブルを参照して、制御プログラムの更新の可否を判定する。
これにより、容易に、かつ、高精度で制御プログラムの更新の可否を判定することができる。
【００１６】
好ましくは、判定部は、複数の電源の状態ごとに所定値を出力するように定義された判定関数を用いて、制御プログラムの更新の可否を判定する。
これにより、容易に、かつ、高精度で制御プログラムの更新の可否を判定することができる。
【００１７】
好ましくは、複数の電源は蓄電池を含み、検出部が検出する電源の状態は、当該蓄電池の充電量を含む。
これにより、制御プログラムの更新中に１つの電源の電力が低下した場合であっても、他の蓄電池から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【００１８】
好ましくは、複数の電源は発電機を含み、検出部が検出する電源の状態は、当該発電機が駆動中であるか否かを含む。
これにより、制御プログラムの更新中に１つの電源の電力が低下した場合であっても、駆動中である発電機から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【００１９】
本実施の形態に含まれるプログラム更新方法は、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、対象機器に電力供給する複数の電源それぞれの状態を検出するステップと、検出された複数の電源の状態が、複数の電源のうちの少なくとも２つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定するステップと、を備える。
この構成によれば車載制御装置での制御プログラムの更新の際に、制御プログラムの更新に必要な電力が供給可能な状態である電源が２つ以上存在する。そのため、制御プログラムの更新中に１つの電源の電力が低下した場合であっても、他の電源から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【００２０】
本実施の形態に含まれるコンピュータプログラムは、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部、および、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも２つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部、として機能させる。
この構成によれば車載制御装置での制御プログラムの更新の際に、制御プログラムの更新に必要な電力が供給可能な状態である電源が２つ以上存在する。そのため、制御プログラムの更新中に１つの電源の電力が低下した場合であっても、他の電源から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【００２１】
［実施の形態の詳細］
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００２２】
＜第１の実施の形態＞
〔システムの全体構成〕
図１は、第１の実施形態にかかるプログラム更新システムの全体構成図である。
図１に示すように、本実施形態のプログラム更新システムは、広域通信網２を介して通信可能な車両１、管理サーバ５およびＤＬ（ダウンロード）サーバ６を含む。
管理サーバ５およびＤＬサーバ６は、たとえば、車両１のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両１と通信可能である。
【００２３】
車両１には、ゲートウェイ１０と、無線通信部１５と、複数のＥＣＵ３０と、各ＥＣＵ３０によりそれぞれ制御される各種の車載機器（図示せず）とが搭載されている。
車両１には、共通の車内通信線にバス接続された複数のＥＣＵ３０による通信グループが存在し、ゲートウェイ１０は、通信グループ間の通信を中継している。このため、ゲートウェイ１０には、複数の車内通信線が接続されている。
【００２４】
無線通信部１５は、携帯電話網などの広域通信網２に通信可能に接続され、車内通信線によりゲートウェイ１０に接続されている。ゲートウェイ１０は、広域通信網２を通じて管理サーバ５およびＤＬサーバ６などの車外装置から無線通信部１５が受信した情報を、ＥＣＵ３０に送信する。
ゲートウェイ１０は、ＥＣＵ３０から取得した情報を無線通信部１５に送信し、無線通信部１５は、その情報を管理サーバ５などの車外装置に送信する。
【００２５】
車両１に搭載される無線通信部１５としては、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートＰＣ（Personal  Computer）等の装置が考えられる。
図１では、ゲートウェイ１０が無線通信部１５を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ１０が無線通信の機能を有する場合には、ゲートウェイ１０自身が管理サーバ５などの車外装置と無線通信を行う構成としてもよい。
【００２６】
また、図１のプログラム更新システムでは、管理サーバ５とＤＬサーバ６とが別個のサーバで構成されているが、これらのサーバ５，６を１つのサーバ装置で構成してもよい。
【００２７】
〔ゲートウェイの内部構成〕
図２は、ゲートウェイ１０の内部構成を示すブロック図である。
図２に示すように、ゲートウェイ１０は、ＣＰＵ１１、ＲＡＭ（Random  Access  Memory）１２、記憶部１３、および車内通信部１４などを備える。ゲートウェイ１０は、無線通信部１５と車内通信線とを介して接続されているが、これらは一つの装置で構成してもよい。
【００２８】
ＣＰＵ１１は、記憶部１３に記憶された一または複数のプログラムをＲＡＭ１２に読み出して実行することにより、ゲートウェイ１０を各種情報の中継装置として機能させる。
ＣＰＵ１１は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、ＣＰＵ１１は複数のＣＰＵ群を代表するものであってもよい。この場合、ＣＰＵ１１の実現する機能は、複数のＣＰＵ群が協働して実現するものである。ＲＡＭ１２は、ＳＲＡＭ（Static  ＲＡＭ）またはＤＲＡＭ（Dynamic  ＲＡＭ）等のメモリ素子で構成され、ＣＰＵ１１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００２９】
ＣＰＵ１１が実現するコンピュータプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送（ダウンロード）によって譲渡することもできる。
この点は、後述のＥＣＵ３０のＣＰＵ３１（図３参照）が実行するコンピュータプログラム、および、後述の管理サーバ５のＣＰＵ５１（図４参照）が実行するコンピュータプログラムについても同様である。
【００３０】
記憶部１３は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子などにより構成されている。記憶部１３は、ＣＰＵ１１が実行するプログラムおよび実行に必要なデータ等を記憶する記憶領域を有する。記憶部１３は、ＤＬサーバ６から受信した各ＥＣＵ３０の更新プログラムなども記憶する。
【００３１】
車内通信部１４には、車両１に配設された車内通信線を介して複数のＥＣＵ３０が接続されている。車内通信部１４は、たとえばＣＡＮ（Controller  Area  Network）、ＣＡＮＦＤ（ＣＡＮ  with  Flexible  Data  Rate）、ＬＩＮ（Local  Interconnect  Network）、Ｅｔｈｅｒｎｅｔ（登録商標）、またはＭＯＳＴ（Media  Oriented  Systems  Transport：ＭＯＳＴは登録商標）等の規格に応じて、ＥＣＵ３０との通信を行う。
車内通信部１４は、ＣＰＵ１１から与えられた情報を対象のＥＣＵ３０へ送信するとともに、ＥＣＵ３０から受信した情報をＣＰＵ１１に与える。車内通信部１４は、上記の通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【００３２】
無線通信部１５は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部１５は、携帯電話網等の広域通信網２に接続されることにより車外装置との通信が可能である。
無線通信部１５は、図示しない基地局により形成される広域通信網２を介して、ＣＰＵ１１から与えられた情報を管理サーバ５等の車外装置に送信するとともに、車外装置から受信した情報をＣＰＵ１１に与える。
【００３３】
図２に示す無線通信部１５に代えて、車両１内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、ＵＳＢ（Universal  Serial  Bus）またはＲＳ２３２Ｃ等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置と管理サーバ５等の車外装置とが広域通信網２を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ１０の通信経路により、車外装置とゲートウェイ１０とが通信可能になる。
【００３４】
〔ＥＣＵの内部構成〕
図３は、ＥＣＵ３０の内部構成を示すブロック図である。
図３に示すように、ＥＣＵ３０は、ＣＰＵ３１、ＲＡＭ３２、記憶部３３、および通信部３４などを備える。ＥＣＵ３０は、車両１に搭載された対象機器を個別に制御する車載制御装置である。ＥＣＵ３０の種類には、たとえば、電源制御ＥＣＵ、エンジン制御ＥＣＵ、ステアリング制御ＥＣＵ、およびドアロック制御ＥＣＵなどがある。
【００３５】
ＣＰＵ３１は、記憶部３３に予め記憶された一または複数のプログラムをＲＡＭ３２に読み出して実行することにより、自身が担当する対象機器の動作を制御する。ＣＰＵ３１もまた複数のＣＰＵ群を代表するものであってもよく、ＣＰＵ３１による制御は、複数のＣＰＵ群が協働することによる制御であってもよい。
ＲＡＭ３２は、ＳＲＡＭまたはＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ３１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００３６】
記憶部３３は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部３３が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をＣＰＵ３１に実行させるためのコンピュータプログラム（以下、「制御プログラム」という。）が含まれる。
【００３７】
通信部３４には、車両１に配設された車内通信線を介してゲートウェイ１０が接続されている。通信部３４は、たとえばＣＡＮ、Ｅｔｈｅｒｎｅｔ、またはＭＯＳＴ等の規格に応じて、ゲートウェイ１０との通信を行う。
通信部３４は、ＣＰＵ３１から与えられた情報をゲートウェイ１０へ送信するとともに、ゲートウェイ１０から受信した情報をＣＰＵ３１に与える。通信部３４は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【００３８】
ＥＣＵ３０のＣＰＵ３１には、当該ＣＰＵ３１による制御モードを、「通常モード」または「リプログラミングモード」（以下、「リプロモード」ともいう。）のいずれかに切り替える起動部３５が含まれる。
ここで、通常モードとは、ＥＣＵ３０のＣＰＵ３１が、対象機器に対する本来的な制御（たとえば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など）を実行する制御モードのことである。
【００３９】
リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、ＣＰＵ３１が、記憶部３３のＲＯＭ領域に対して、制御プログラムの消去や書き換えを行う制御モードのことである。ＣＰＵ３１は、この制御モードのときにのみ、記憶部３３のＲＯＭ領域に格納された制御プログラムを新バージョンに更新することが可能となる。
【００４０】
リプロモードにおいてＣＰＵ３１が新バージョンの制御プログラムを記憶部３３に書き込むと、起動部３５は、ＥＣＵ３０をいったん再起動（リセット）させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部３５は、上記のベリファイ処理の完了後に、ＣＰＵ３１を更新後の制御プログラムによって動作させる。
【００４１】
〔管理サーバの内部構成〕
図４は、管理サーバ５の内部構成を示すブロック図である。
図４に示すように、管理サーバ５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、記憶部５４、および通信部５５などを備える。
【００４２】
ＣＰＵ５１は、ＲＯＭ５２に予め記憶された一または複数のプログラムをＲＡＭ５３に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ５をゲートウェイ１０と通信可能な車外装置として機能させる。ＣＰＵ５１もまた複数のＣＰＵ群を代表するものであってもよく、ＣＰＵ５１の実現する機能は、複数のＣＰＵ群が協働して実現するものであってもよい。
ＲＡＭ５３は、ＳＲＡＭまたはＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ５１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００４３】
記憶部５４は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。
通信部５５は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網２に接続されて当該通信処理を実行する。通信部５５は、ＣＰＵ５１から与えられた情報を、広域通信網２を介して外部装置に送信するとともに、広域通信網２を介して受信した情報をＣＰＵ５１に与える。
【００４４】
〔制御プログラムの更新シーケンス〕
図５は、本実施形態のプログラム更新システムにおいて実行される、ＥＣＵに対する制御プログラムの更新の一例を示すシーケンス図である。一例として、管理サーバ５が、予め登録された車両１について、当該車両１のＥＣＵの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両１のカーメーカーなどによって設定されてもよい。
【００４５】
ＥＣＵの制御プログラムを更新するタイミングに達すると、管理サーバ５は、該当する車両１のゲートウェイ１０宛てに、ＥＣＵ３０の更新プログラムの保存先ＵＲＬとダウンロード要求とを送信する（ステップＳ１）。
これにより、ゲートウェイ１０は、ＥＣＵ３０のための更新プログラムをＤＬサーバ６からダウンロードする（ステップＳ２）。ゲートウェイ１０は、受信した更新プログラムを自装置の記憶部１３に一時的に格納して保存する。
【００４６】
更新プログラムの保存が完了すると、ゲートウェイ１０は、ＤＬが正常に完了したことを管理サーバ５に送信する（ステップＳ３）。引き続き自動で更新を行う場合、ＤＬ完了通知を受信した管理サーバ５は、制御プログラムの更新要求をゲートウェイ１０に送信する。管理サーバ５は、ＤＬ完了後、一時中断し外部から更新要求を受けてから、制御プログラムの更新要求をゲートウェイ１０に送信してもよい（ステップＳ４）。
【００４７】
更新要求を受信したゲートウェイ１０は、当該車両１に搭載される複数の電源の状態に基づいて、制御プログラムの更新の可否を判断する（ステップＳ５Ａ）。そして、制御プログラムの更新が可能と判断した場合、ゲートウェイ１０は、記憶部１３に保存した更新プログラムを用いて制御プログラムを更新させるべく、該当するＥＣＵ３０に制御プログラムの更新要求を送信する（ステップＳ６）。なお、ステップＳ６では、ゲートウェイ１０は、制御プログラムの更新が可能であることをユーザに通知して、更新を開始するユーザ操作に従ってＥＣＵ３０に更新を要求してもよい。
【００４８】
制御プログラムの更新要求を受信すると、ＥＣＵ３０は、自身の制御モードを通常モードからリプロモードに切り替える。これにより、当該ＥＣＵは制御プログラムの更新処理が可能な状態となる。
【００４９】
ＥＣＵ３０は、受信した更新プログラムを展開して旧バージョンの制御プログラムに適用することにより、制御プログラムを旧バージョンから新バージョンに書き換える（ステップＳ７）。書き換えが完了すると、ＥＣＵ３０は、書き換えの完了通知をゲートウェイ１０に送信する（ステップＳ８）。ゲートウェイ１０は、書き換えの完了通知を該当するＥＣＵ３０から受信すると、更新完了通知を管理サーバ５に送信する（ステップＳ９）。
【００５０】
［車両の電源構成］
図６は、車両１の電源構成の一例を表わした概略図である。図６は、コンベンショナル車とも呼ばれる、ハイブリット型車両ではない従来型の車両の電源構成の一例を表わしている。図６を参照して、車両１は、メインバッテリである第１のバッテリ２１と、サブバッテリである第２のバッテリ２２と、オルタネータ（ＡＬＴ）２３と、を含む。これらは、車両１に搭載される複数の電源である。
【００５１】
第１のバッテリ２１と第２のバッテリ２２とは、たとえばいずれも１２Ｖなど、等電圧であってもよいし、４８Ｖと１２Ｖとのように異なる電圧であってもよい。これらバッテリ２１，２２は、一般的に鉛蓄電池である。その他、リチウムイオン電池や、ニッケル水素電池など、これらの組み合わせなどであってもよい。
【００５２】
第１のバッテリ２１は、主に駆動系に電力を供給する。第１のバッテリ２１には電源制御ＥＣＵ３０Ａ、エンジン制御ＥＣＵ３０Ｂ、およびエンジン起動のためのスタータ２４が接続され、第１のバッテリ２１からの電力供給を受ける。さらに、第１のバッテリ２１には複数のＥＣＵ３０Ｃが接続され、第１のバッテリ２１からの電力供給を受ける。
【００５３】
第２のバッテリ２２は、その他の電力系に電力を供給する。その他の電力系とは、たとえば、室内灯やエアコンやドアロックなどである。第２のバッテリ２２にはそれらを制御する複数のＥＣＵ３０Ｃが接続され、第２のバッテリ２２からの電力供給を受ける。
【００５４】
好ましくは、第１のバッテリ２１および第２のバッテリ２２には、さらにリレー２９Ａ，２９Ｂが接続されている。
【００５５】
リレー２９Ａ，２９ＢともにＯＮ（リレー状態）のときには、電源制御ＥＣＵ３０Ａおよびエンジン制御ＥＣＵ３０Ｂに対しても、複数のＥＣＵ３０Ｃに対しても、第１のバッテリ２１、第２のバッテリ２２、およびＡＬＴ２３から電力が供給される。
【００５６】
リレー２９ＡがＯＮ、かつ、リレー回路２９ＢがＯＦＦ（カット状態）のときには、電源制御ＥＣＵ３０Ａおよびエンジン制御ＥＣＵ３０Ｂに対しても、複数のＥＣＵ３０Ｃに対しても、第１のバッテリ２１およびＡＬＴ２３から電力が供給される。
【００５７】
リレー２９ＡがＯＦＦ、かつ、リレー回路２９ＢがＯＮのときには、電源制御ＥＣＵ３０Ａおよびエンジン制御ＥＣＵ３０Ｂに対しても、複数のＥＣＵ３０Ｃに対しても、第２のバッテリ２２およびＡＬＴ２３から電力が供給される。
【００５８】
電源制御ＥＣＵ３０Ａの内部構成は、図３に示された構成である。電源制御ＥＣＵ３０ＡのＣＰＵ３１は、記憶部３３に予め記憶された一または複数のプログラムをＲＡＭ３２に読み出して実行することにより、複数の電源である第１のバッテリ２１、第２のバッテリ２２およびＡＬＴ２３を制御する。また、電源制御ＥＣＵ３０ＡのＣＰＵ３１は、これら電源からの電力供給の制御として、リレー２９Ａ，２９ＢのＯＮ／ＯＦＦを制御する。図６において、点線は電源制御ＥＣＵ３０Ａと制御対象の機器との間の信号の流れを示している。なお、第１の実施の形態にかかるプログラム更新システムでは、電源制御ＥＣＵ３０ＡのＣＰＵ３１は、リレー２９Ａ，２９Ｂ両方のＯＮ状態を維持しておく。
【００５９】
また、電源制御ＥＣＵ３０ＡのＣＰＵ３１は、複数の電源から当該電源の状態を示す信号を取得する。バッテリ２１，２２の状態は、バッテリ２１，２２の蓄電量を指す。ＡＬＴ２３の状態は、ＡＬＴ２３が駆動中であるか停止中であるか、すなわち、発電中であるか否か、を指す。つまり、電源制御ＥＣＵ３０ＡのＣＰＵ３１は、複数の電源それぞれの状態を検出する検出部として機能する。
【００６０】
なお、図６では、上記の電源制御が電源制御ＥＣＵ３０Ａにおいて行われるものとしている。また、以降の説明でも、電源制御ＥＣＵ３０Ａが行うものとする。しかしながら、この電源制御は電源制御ＥＣＵ３０Ａに限定せず、エンジン制御ＥＣＵ３０Ｂや他のＥＣＵ３０Ｃが行ってもよいし、これらが協働して実現されてもよい。
【００６１】
［ゲートウェイの機能構成］
ゲートウェイ１０のＣＰＵ１１は、車両１に搭載される複数の電源の状態に基づいて、対象となるＥＣＵでの制御プログラムの更新が可能であるか否かを判断する。ＣＰＵ１１は、記憶部１３に記憶されている１つまたは複数のプログラムを読み出して実行することによって、上の判断を行なう判定部として機能する。
【００６２】
判定部として機能するゲートウェイ１０のＣＰＵ１１は、ＥＣＵに電力供給する複数の電源のうちの少なくも２つの電源が制御プログラムの更新に必要な電力を出力できる場合に制御プログラムの更新処理を実行する、という判定基準に従って、制御プログラムの更新が可能であるか否かを判定する。
【００６３】
バッテリが制御プログラムの更新に必要な電力を出力できる場合とは、当該バッテリが、制御プログラムの更新に必要な電力量以上を蓄電していることを意味する。好ましくは、バッテリが制御プログラムの更新に必要な電力を出力できる場合とは、当該バッテリのが、制御プログラムの更新に必要な電力量より規定量（または規定割合）以上の電力を蓄電していることである。
【００６４】
ＡＬＴが制御プログラムの更新に必要な電力を出力できる場合とは、ＡＬＴが駆動中（発電中）であることを意味する。好ましくは、ＡＬＴが制御プログラムの更新に必要な電力を出力できる場合とは、ＡＬＴが発電中であり、かつ、その発電量が制御プログラムの更新に必要な電力量以上であることを含む。より好ましくは、その発電量は、制御プログラムの更新に必要な電力量より規定量（または規定割合）以上である。
【００６５】
一例として、ゲートウェイ１０のＣＰＵ１１は、各電源の状態ごとに制御プログラムの更新の可否の判定結果を予め定義した情報を参照して、制御プログラムの更新の可否を判定する。各電源の状態ごとに制御プログラムの更新の可否の判定結果を予め定義した情報は、たとえば、判定テーブルである。判定テーブルは、たとえば、ゲートウェイ１０の記憶部１３に記憶されている。
【００６６】
図７は、ゲートウェイ１０のＣＰＵ１１が制御プログラムの更新の可否の判定に用いる判定テーブルの一例を示す図である。図７は、図６の電源構成である車両１の取り得る電源状態ごとに、制御プログラムの更新の可否の判定結果を予め定義する。
【００６７】
図７を参照して、判定テーブルには、「第１バッテリ状態」、「第２バッテリ状態」、「オルタネータ状態」、および「リプロ可否」の項目が含まれる。
【００６８】
「第１バッテリ状態」は第１のバッテリ２１の状態、「第２バッテリ状態」は第２のバッテリ２２の状態を記す項目である。「第１バッテリ状態」および「第２バッテリ状態」には、蓄電量が制御プログラムの更新に必要な電力を出力できることを意味する「残電力有り」、または該必要な電力を出力できないことを意味する「残電力小」が記される。
【００６９】
「オルタネータ状態」は、ＡＬＴ２３の状態を記す項目である。「オルタネータ状態」には、発電状態である「駆動中」、または発電していない状態である「停止中」が記される。
【００７０】
「リプロ可否」は制御プログラムの更新の可否の判定結果を記す項目である。「リプロ可否」には、更新が可能であるとの判定結果である「可」、または更新が可能ではないとの判定結果である「不可」が記される。
【００７１】
複数の電源の状態である「第１バッテリ状態」、「第２バッテリ状態」、および「オルタネータ状態」の組み合わせである車両１の取り得る電源状態は、下に説明する状態１〜８である。判定テーブルは、状態１〜８のそれぞれについて制御プログラムの更新の可否の判定結果を定義している。
【００７２】
状態１は、第１のバッテリ２１が「残電力有り」、第２のバッテリ２２が「残電力有り」、かつ、ＡＬＴ２３が「駆動中」である。状態１は、正常なエンジン稼働中の状態を想定している。状態１の判定結果は「可」とすると定義されている。
【００７３】
状態２は、第１のバッテリ２１が「残電力有り」、第２のバッテリ２２が「残電力有り」、かつ、ＡＬＴ２３が「停止中」である。状態２は、通常のアイドリングストップやコースティング時のエンジン停止中の状態を想定している。状態２の判定結果は「可」とすると定義されている。
【００７４】
状態３は、第１のバッテリ２１が「残電力有り」、第２のバッテリ２２が「残電力小」、かつ、ＡＬＴ２３が「駆動中」である。状態３は、エンジン停止中のアイドルストップからエンジン再始動直後、または、エンジン稼働中であって、かつ第２のバッテリ２２が異常状態を想定している。状態３の判定結果は「可」とすると定義されている。
【００７５】
状態４は、第１のバッテリ２１が「残電力有り」、第２のバッテリ２２が「残電力小」、かつ、ＡＬＴ２３が「停止中」である。状態４は、エンジン停止中で、かつエアコン等の電気系の消費電力が大きい場合を想定している。状態４の判定結果は「不可」とすると定義されている。
【００７６】
状態５は、第１のバッテリ２１が「残電力小」、第２のバッテリ２２が「残電力有り」、かつ、ＡＬＴ２３が「駆動中」である。状態５は、走行中（エンジン稼働中）、かつ、エアコン等の電気系の消費電力が大きい場合を想定している。状態５の判定結果は「可」とすると定義されている。
【００７７】
状態６は、第１のバッテリ２１が「残電力小」、第２のバッテリ２２が「残電力有り」、かつ、ＡＬＴ２３が「停止中」である。状態６は、エンジン停止の状態で長時間駐車された場合を想定している。状態６の判定結果は「不可」とすると定義されている。
【００７８】
状態７は、第１のバッテリ２１が「残電力小」、第２のバッテリ２２が「残電力小」、かつ、ＡＬＴ２３が「駆動中」である。状態７は、走行中、かつ、エアコン等の電気系の消費電力が大きい、かつ、エンジン再始動直後の場合を想定している。状態７の判定結果は「不可」とすると定義されている。
【００７９】
状態８は、第１のバッテリ２１が「残電力小」、第２のバッテリ２２が「残電力小」、かつ、ＡＬＴ２３が「停止中」である。状態８は、エアコン等の電気系において大きく電力を消費した後にエンジン停止の状態で長時間駐車された場合を想定している。状態８の判定結果は「不可」とすると定義されている。
【００８０】
［制御プログラムの更新の可否を判断する処理］
図８は、図５のステップＳ５Ａの、制御プログラムの更新の可否の判定処理の具体的な内容を表したフローチャートである。図８は、図６の電源構成である車両１に搭載されたゲートウェイ１０において判定する場合の制御プログラムの更新の可否の判定処理の具体例を表している。図８のフローチャートに表された処理は、当該ゲートウェイ１０のＣＰＵ１１が記憶部１３に記憶された１つまたは複数のプログラムをＲＡＭ１２上に読み出して実行することによって、主にＣＰＵ１１により実現される。
【００８１】
図８を参照して、ゲートウェイ１０のＣＰＵ１１は管理サーバ５から制御プログラムの更新が要求されると（ステップＳ１０１でＹＥＳ）、電源制御ＥＣＵ３０Ａから各電源（第１のバッテリ２１、第２のバッテリ２２、およびＡＬＴ２３）の状態を取得する（ステップＳ１０３，Ｓ１０５，Ｓ１０９）。ＣＰＵ１１は、記憶部１３に記憶されている判定テーブルを参照し、各電源の状態に基づいて更新の可否を判定する。そして、ＣＰＵ１１は、判定結果に応じて対象のＥＣＵ３０に制御プログラムの更新を指示する。これにより、更新が実行される（ステップＳ１０７）。
【００８２】
一例として、ＣＰＵ１１は、ＡＬＴ２３が駆動中であるか否かを判別する（ステップＳ１０３）。駆動中である場合（ステップＳ１０３でＹＥＳ）、次に、ＣＰＵ１１は、第１のバッテリ２１および第２のバッテリ２２の少なくとも一つ以上が「残電力有り」の状態である否かを判別する（ステップＳ１０５）。少なくとも一つ以上のバッテリが「残電力有り」である場合（ステップＳ１０３でＹＥＳ、かつステップＳ１０５でＹＥＳ）、ＣＰＵ１１は判定テーブルを参照して制御プログラムの更新を「可」と判定する。ＣＰＵ１１はこの判定結果に基づいて、ＥＣＵ３０に制御プログラムの更新を指示する。
【００８３】
両バッテリともに「残電力小」である場合（ステップＳ１０３でＹＥＳ、かつステップＳ１０５でＮＯ）、ＣＰＵ１１は判定テーブルを参照して、制御プログラムの更新を「不可」と判定する。ＣＰＵ１１はこの判定結果に基づいて、ＥＣＵ３０に制御プログラムの更新を指示することなく、一連の処理を終了する。なお、ＣＰＵ１１は、予め規定された期間の経過後、再度、上記ステップＳ１０３から処理を繰り返してもよい。
【００８４】
ＡＬＴ２３が停止中である場合（ステップＳ１０３でＮＯ）、ＣＰＵ１１は、第１のバッテリ２１および第２のバッテリ２２の両方が「残電力有り」の状態である否かを判別する（ステップＳ１０９）。両バッテリともに「残電力有り」の状態である場合（ステップＳ１０３でＮＯ、かつステップＳ１０９でＹＥＳ）、ＣＰＵ１１は判定テーブルを参照して制御プログラムの更新を「可」と判定する。ＣＰＵ１１はこの判定結果に基づいて、ＥＣＵ３０に制御プログラムの更新を指示する。
【００８５】
第１のバッテリ２１および第２のバッテリ２２の一方でも「残電力小」である場合（ステップＳ１０３でＮＯ、かつステップＳ１０９でＮＯ）、ＣＰＵ１１は判定テーブルを参照して、制御プログラムの更新を「不可」と判定する。ＣＰＵ１１はこの判定結果に基づいて、ＥＣＵ３０に制御プログラムの更新を指示することなく、一連の処理を終了する。この場合も、ＣＰＵ１１は、予め規定された期間の経過後、再度、上記ステップＳ１０３から処理を繰り返してもよい。
【００８６】
なお、ＣＰＵ１１は、ＥＣＵ３０からプログラムの更新の完了通知を受けることによって（ステップＳ１１１でＹＥＳ）、一連の処理を終了してもよい。ＥＣＵ３０からプログラムの更新の完了通知がない場合、つまり、ＥＣＵ３０においてプログラムの更新が正常に終了しなかった場合（ステップＳ１１１でＮＯ）、ＣＰＵ１１は、ステップＳ１０１から一連の処理を繰り返してもよい。
【００８７】
［第１の実施の形態の効果］
第１の実施の形態にかかるプログラム更新システムによれば、車両１に搭載された、ＥＣＵに電力供給する少なくとも２つの電源が制御プログラムの更新に要する電力を出力できる場合に、制御プログラムの更新が可能と判定する。それによって、２つ以上の電源が出力できる電力が制御プログラムの更新に要する電力を出力できる場合に制御プログラムの更新が開始され、そうでない場合、すなわち、制御プログラムの更新に必要な電力が出力できる電源が２つ未満である場合には制御プログラムの更新が行われない。
【００８８】
たとえば、制御プログラムを更新するＥＣＵに対して電力供給する第１のバッテリのみが制御プログラムの更新に要する電力を出力できるものとし、その他の電源が該電力を出力できないとする。この場合、該ＥＣＵでの制御プログラムの更新によって、または何らかの他の原因によって第１のバッテリの電圧が低下すると、制御プログラムの更新が中断されてしまう。
【００８９】
このとき、本実施の形態にかかるプログラム更新システムでは、第１のバッテリの他の電源（たとえば第２のバッテリ）からＥＣＵに制御プログラムの更新に要する電力が供給される。そのため、該ＥＣＵでの制御プログラムの更新が中断することを防止できる。このように、本実施の形態にかかるプログラム更新システムによれば、制御プログラムの更新を確実に行うことができる。
【００９０】
＜第２の実施の形態＞
第２の実施の形態にかかるプログラム更新システムでは、電源制御ＥＣＵ３０ＡのＣＰＵ３１は、通常モードとリプロモードとに応じてリレー２９Ａ，２９ＢのＯＮ／ＯＦＦを変化させて、電力供給の状態を変化させる。また、電源制御ＥＣＵ３０ＡのＣＰＵ３１は、バッテリの蓄電量が規定量以下となると他の電源から電力を供給するためにリレー２９Ａ，２９ＢのＯＮ／ＯＦＦを変化させて、電力供給の状態を変化させてもよい。つまり、第２の実施の形態において、電源制御ＥＣＵ３０ＡのＣＰＵ３１は、通常モードとリプロモードとに応じて、および／またはバッテリの蓄電量に応じてリレー２９Ａ，２９ＢのＯＮ／ＯＦＦを制御する。
【００９１】
さらに、第２の実施の形態において電源制御ＥＣＵ３０ＡのＣＰＵ３１は、車両１の取り得る電源状態１〜８に応じて、「残電力有り」の状態のバッテリまたは駆動中のＡＬＴ２３が、「残電力小」の状態である、制御プログラムを更新するＥＣＵに電力を供給するバッテリを充電するようリレー２９Ａ，２９ＢのＯＮ／ＯＦＦを制御してもよい。
【００９２】
［第２の実施の形態の効果］
車両１に複数の電源が搭載され、かつ、各電源について通常モードにおいて電力を供給する１つまたは複数のＥＣＵが規定されている場合であっても、第２の実施の形態にかかるプログラム更新システムにおいては、リプロモードと通常モードとの間で、各電源の電力の供給先を変更可能とする。これにより、制御プログラムを更新するＥＣＵに電力を供給するバッテリの電力低下が防がれ、該ＥＣＵでの制御プログラムの更新が中断することが回避される。このように、本実施の形態にかかる制御プログラム更新システムにおいても、制御プログラムの更新を確実に行うことができる。
【００９３】
＜第３の実施の形態＞
第１〜第２の実施の形態にかかるプログラム更新システムでは、プログラムの更新の可否をゲートウェイ１０で判定する。しかしながら、プログラムの更新の可否はゲートウェイ１０とは異なる装置で判定されてもよい。他の例として、管理サーバ５が判定してもよい。第３の実施の形態にかかる管理サーバ５は、図５のステップＳ５Ｂのタイミングで更新の可否を判定する。すなわち、管理サーバ５は、ゲートウェイ１０から更新プログラムのダウンロードの完了が通知されると、次に、更新の可否を判定し（ステップＳ５Ｂ）、更新可能と判断されたタイミングでゲートウェイ１０に対して更新を要求する（ステップＳ４）。
【００９４】
この場合、管理サーバ５のＣＰＵ５１がプログラムの更新の可否を判定するための機能を有する。この機能は、ＣＰＵ５１がＲＯＭ５２に記憶されている１つまたは複数のプログラムを読み出して実行することによって、主にＣＰＵ５１によって実現される。しかしながら、少なくとも一部機能が電気回路などのハードウェアによって実現されてもよい。
【００９５】
また、管理サーバ５の記憶部５５に、図７の判定テーブルが記憶されている。管理サーバ５のＣＰＵ５１は、ゲートウェイ１０から当該車両１に搭載される、ＥＣＵに電力を供給する複数の電源の状態を示す信号を取得する。そして、ＣＰＵ５１は、記憶部５５に記憶されている判定テーブルを参照し、各電源の状態に基づいて車両１のＥＣＵでの制御プログラムの更新の可否を判定する。
【００９６】
なお、管理サーバ５の記憶部５５に記憶される判定テーブルは、車両１ごとに異なるものであってもよいし、同じものであってもよい。さらに、判定テーブルは当該車両１のゲートウェイ１０の記憶部１３に記憶されていてもよい。この場合、管理サーバ５は、ゲートウェイ１０の記憶部１３に記憶されている判定テーブルを参照する。
【００９７】
＜第４の実施の形態＞
なお、第１〜第３の実施の形態では、車両１の電源構成が図６の電源構成である場合を例にして説明している。しかしながら、車両１はいわゆるコンベンショナル車と呼ばれるエンジン車に限定されない。図９は、車両１の電源構成の他の例の概略図である。図９は、ハイブリット型車両の電源構成の一例の概略図である。図９を参照して、車両１は、複数の電源として、たとえば４８Ｖのメインバッテリである第１のバッテリ２１、たとえば１２Ｖなど第１のバッテリ２１よりも低電圧のサブバッテリである第２のバッテリ２２、および発電装置（ＭＧ）２５と、を含む。
【００９８】
電源制御ＥＣＵ３０Ｄには第１のバッテリ２１およびＭＧ２５が接続され、これらから電力が供給される。その他のＥＣＵ３０Ｃには第２のバッテリ２２が接続され、第２のバッテリ２２から電力が供給される。
【００９９】
第１のバッテリ２１およびＭＧ２５が電力を供給する回路系と第２のバッテリ２２が電力を供給する回路系との間にはＤＣ／ＤＣコンバータ２６が接続される。ＤＣ／ＤＣコンバータ２６がこれら両路間の電圧変換を行うことで、第１のバッテリ２１およびＭＧ２５はその他のＥＣＵ３０Ｃに電力供給が可能になり、第２のバッテリ２２は電源制御ＥＣＵ３０Ｄに電力供給が可能になる。
【０１００】
車両１がこのような電源構成であっても、同様に制御プログラムの更新の可否が判断されることによって、制御プログラムの更新を確実に行うことができる。
【０１０１】
＜第５の実施の形態＞
ゲートウェイ１０のＣＰＵ１１または管理サーバ５のＣＰＵ５１において制御プログラムの更新の可否を判定する処理の方法は、判定テーブルを用いる方法に限定されない。他の例として、ＥＣＵに電力供給する複数の電源それぞれの状態に応じて所定値を出力するように定義された判定関数Ｆを用いて判定してもよい。
【０１０２】
車両１の電源構成が図６の構成である場合に、判定関数Ｆは、一例として、下のように定義された状態変数ｘ〜ｚに対して、判定関数Ｆ（ｘ、ｙ、ｚ）＝ｘ＋ｙ＋ｚを出力する。
ｘ：第１のバッテリ２１の状態を表す変数
ｘ＝１→残電力有り、ｘ＝０→残電力小
ｙ：第２のバッテリ２２の状態を表す変数
ｙ＝１→残電力有り、ｘ＝０→残電力小
ｚ：ＡＬＴ２３の状態を表す変数
ｚ＝１→駆動中  ｚ＝０→停止中
【０１０３】
判定部として機能するゲートウェイ１０のＣＰＵ１１は、各電源の状態を表す値をそれぞれ変数ｘ、ｙ、ｚに代入して得られるＦ（ｘ、ｙ、ｚ）の値に基づいて、次のように判定する。
Ｆ（ｘ、ｙ、ｚ）≧２  …制御プログラムの更新可能
Ｆ（ｘ、ｙ、ｚ）＜２  …制御プログラムの更新不可
【０１０４】
このような判定関数Ｆを用いた場合であっても、同様に、ＥＣＵに電力供給する複数の電源のうちの少なくも２つの電源が制御プログラムの更新に必要な電力を出力できる場合に制御プログラムの更新処理を実行する、という判定基準に従って、制御プログラムの更新が可能であるか否かが判定される。
【０１０５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０６】
１  車両
２  広域通信網
５  管理サーバ（制御装置）
６  ＤＬサーバ
１０  ゲートウェイ（制御装置）
１１  ＣＰＵ（判定部）
１２  ＲＡＭ
１３  記憶部
１４  車内通信部
１５  無線通信部
２０  制御回路
２１  第１のバッテリ
２２  第２のバッテリ
２３  ＡＬＴ
２４  スタータ
２５  ＭＧ
２６  ＤＣ／ＤＣコンバータ
２９Ａ，２９Ｂ  リレー
３０，３０Ａ〜３０Ｄ  ＥＣＵ（車載制御装置）
３０Ａ  電源制御ＥＣＵ（検出部）
３１  ＣＰＵ
３２  ＲＡＭ
３３  記憶部
３４  通信部
３５  起動部
５１  ＣＰＵ（判定部）
５２  ＲＯＭ
５３  ＲＡＭ
５４  記憶部
５５  通信部
【図１】
2018079008.tif 000003
【図２】
2018079008.tif 000004
【図３】
2018079008.tif 000005
【図４】
2018079008.tif 000006
【図５】
2018079008.tif 000007
【図６】
2018079008.tif 000008
【図７】
2018079008.tif 000009
【図８】
2018079008.tif 000010
【図９】
2018079008.tif 000011
【手続補正書】
【提出日】平成30年2月16日(2018.2.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、
前記対象機器に電力供給する前記複数の電源それぞれの状態を検出する検出部と、
前記検出部によって検出された前記複数の電源の状態が、前記複数の電源のうちの少なくとも２つの電源が前記制御プログラムを更新するために必要な電力を出力できる場合に前記制御プログラムの更新が可能であると判定する判定部と、を備える、制御装置。
【請求項２】
前記判定部は、前記複数の電源の状態の組み合わせごとに前記制御プログラムの更新の可否の判定結果を予め定義した判定テーブルを参照して、前記制御プログラムの更新の可否を判定する、請求項１に記載の制御装置。
【請求項３】
前記判定部は、前記複数の電源の状態ごとに所定値を出力するように定義された判定関数を用いて、前記制御プログラムの更新の可否を判定する、請求項１に記載の制御装置。
【請求項４】
前記複数の電源は蓄電池を含み、
前記検出部が検出する前記電源の状態は、当該蓄電池の残電力量を含む、請求項１〜請求項３のいずれか一項に記載の制御装置。
【請求項５】
前記複数の電源は発電機を含み、
前記検出部が検出する前記電源の状態は、当該発電機が駆動中であるか否かを含む、請求項１〜請求項４のいずれか一項に記載の制御装置。
【請求項６】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、
前記対象機器に電力供給する前記複数の電源それぞれの状態を検出するステップと、
検出された前記複数の電源の状態が、前記複数の電源のうちの少なくとも２つの電源が前記制御プログラムを更新するために必要な電力を出力できる場合に前記制御プログラムの更新が可能であると判定するステップと、を備える、プログラム更新方法。
【請求項７】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、
前記対象機器に電力供給する前記複数の電源それぞれの状態を検出する検出部、および
前記検出部によって検出された前記複数の電源の状態が、前記複数の電源のうちの少なくとも２つの電源が前記制御プログラムを更新するために必要な電力を出力できる場合に前記制御プログラムの更新が可能であると判定する判定部、として機能させる、コンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
好ましくは、複数の電源は蓄電池を含み、検出部が検出する電源の状態は、当該蓄電池の残電力量を含む。
これにより、制御プログラムの更新中に１つの電源の電力が低下した場合であっても、他の蓄電池から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【国際調査報告】
2018079008.tif 000012
2018079008.tif 000013