特許第6332580号(P6332580)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 住友電気工業株式会社の特許一覧

特許6332580制御装置、プログラム更新方法、およびコンピュータプログラム
<>
  • 特許6332580-制御装置、プログラム更新方法、およびコンピュータプログラム 図000002
  • 特許6332580-制御装置、プログラム更新方法、およびコンピュータプログラム 図000003
  • 特許6332580-制御装置、プログラム更新方法、およびコンピュータプログラム 図000004
  • 特許6332580-制御装置、プログラム更新方法、およびコンピュータプログラム 図000005
  • 特許6332580-制御装置、プログラム更新方法、およびコンピュータプログラム 図000006
  • 特許6332580-制御装置、プログラム更新方法、およびコンピュータプログラム 図000007
  • 特許6332580-制御装置、プログラム更新方法、およびコンピュータプログラム 図000008
  • 特許6332580-制御装置、プログラム更新方法、およびコンピュータプログラム 図000009
  • 特許6332580-制御装置、プログラム更新方法、およびコンピュータプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6332580
(24)【登録日】2018年5月11日
(45)【発行日】2018年5月30日
(54)【発明の名称】制御装置、プログラム更新方法、およびコンピュータプログラム
(51)【国際特許分類】
   G06F 8/65 20180101AFI20180521BHJP
   B60R 16/02 20060101ALI20180521BHJP
   G06F 1/28 20060101ALI20180521BHJP
【FI】
   G06F9/06 630A
   B60R16/02 660U
   G06F1/28 C
【請求項の数】7
【全頁数】20
(21)【出願番号】特願2018-506222(P2018-506222)
(86)(22)【出願日】2017年8月7日
(86)【国際出願番号】JP2017028593
【審査請求日】2018年2月20日
(31)【優先権主張番号】特願2016-210154(P2016-210154)
(32)【優先日】2016年10月27日
(33)【優先権主張国】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】110000280
【氏名又は名称】特許業務法人サンクレスト国際特許事務所
(72)【発明者】
【氏名】関 竜介
【審査官】 多賀 実
(56)【参考文献】
【文献】 特開2007−237905(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60
G06F 8/65
B60R 16/02
B60R 16/03
B60L 11/18
F02D 45/00
G06F 1/28
G06F 1/30
G06F 9/445
H02J 7/00
(57)【特許請求の範囲】
【請求項1】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、
前記対象機器に電力供給する前記複数の電源それぞれの状態を検出する検出部と、
前記検出部によって検出された前記複数の電源の状態が、前記複数の電源のうちの少なくとも2つの電源が前記制御プログラムを更新するために必要な電力を出力できる場合に前記制御プログラムの更新が可能であると判定する判定部と、を備える、制御装置。
【請求項2】
前記判定部は、前記複数の電源の状態の組み合わせごとに前記制御プログラムの更新の可否の判定結果を予め定義した判定テーブルを参照して、前記制御プログラムの更新の可否を判定する、請求項1に記載の制御装置。
【請求項3】
前記判定部は、前記複数の電源の状態ごとに所定値を出力するように定義された判定関数を用いて、前記制御プログラムの更新の可否を判定する、請求項1に記載の制御装置。
【請求項4】
前記複数の電源は蓄電池を含み、
前記検出部が検出する前記電源の状態は、当該蓄電池の残電力量を含む、請求項1〜請求項3のいずれか一項に記載の制御装置。
【請求項5】
前記複数の電源は発電機を含み、
前記検出部が検出する前記電源の状態は、当該発電機が駆動中であるか否かを含む、請求項1〜請求項4のいずれか一項に記載の制御装置。
【請求項6】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、
前記対象機器に電力供給する前記複数の電源それぞれの状態を検出するステップと、
検出された前記複数の電源の状態が、前記複数の電源のうちの少なくとも2つの電源が前記制御プログラムを更新するために必要な電力を出力できる場合に前記制御プログラムの更新が可能であると判定するステップと、を備える、プログラム更新方法。
【請求項7】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、
前記対象機器に電力供給する前記複数の電源それぞれの状態を検出する検出部、および
前記検出部によって検出された前記複数の電源の状態が、前記複数の電源のうちの少なくとも2つの電源が前記制御プログラムを更新するために必要な電力を出力できる場合に前記制御プログラムの更新が可能であると判定する判定部、として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、プログラム更新方法、およびコンピュータプログラムに関する。
本出願は、2016年10月27日出願の日本出願第2016−210154号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
【背景技術】
【0002】
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ECU(Electronic Control Unit)が多数搭載されている。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
【0003】
一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ECUの制御プログラムは、車両の仕向け地やグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。
【0004】
たとえば、特許文献1には、車載通信機などのゲートウェイが管理サーバから更新プログラムを受信し、受信した更新プログラム用いてECUが制御プログラムを旧バージョンから新バージョンに書き換えることにより、車両の各ECUに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−65856号公報
【特許文献2】特開2007−237905号公報
【発明の概要】
【0006】
ある実施の形態に従うと、制御装置は、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部と、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも2つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部と、を備える。
【0007】
他の実施の形態に従うと、プログラム更新方法は、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、対象機器に電力供給する複数の電源それぞれの状態を検出するステップと、検出された複数の電源の状態が、複数の電源のうちの少なくとも2つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定するステップと、を備える。
【0008】
他の実施の形態に従うと、コンピュータプログラムは、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部、および、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも2つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部、として機能させる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態に係るプログラム更新システムの全体構成図である。
図2図2は、ゲートウェイの内部構成を示すブロック図である。
図3図3は、ECUの内部構成を示すブロック図である。
図4図4は、管理サーバの内部構成を示すブロック図である。
図5図5は、ECUの制御プログラムの更新の一例を示すシーケンス図である。
図6図6は、プログラム更新システムに含まれる車両の電源構成の一例を表した概略図である。
図7図7は、制御プログラムの更新の可否の判定に用いられる判定テーブルの一例を示す図である。
図8図8は、図5のステップS5Aの、制御プログラムの更新の可否を判断する処理の具体的な内容を表したフローチャートである。
図9図9は、プログラム更新システムに含まれる車両の電源構成の他の例を表した概略図である。
【発明を実施するための形態】
【0010】
<本開示が解決しようとする課題>
制御プログラムを更新するECUに電力を供給するバッテリの電圧が低下するとECUが正常に動作せず、更新が正常に行われない。制御プログラムの更新が中断したり、この中断によってプログラムが破壊されたりする可能性もある。この問題に対して、特開2007−237905号公報(特許文献2)は、メインバッテリとメインバッテリよりも電圧の低いサブバッテリとを搭載したハイブリット型車両において、ECUに電力を供給するサブバッテリの電圧が更新可能な電圧よりも低い場合には更新処理を実行せず、メインバッテリから充電するシステムを開示している。
【0011】
しかしながら、特許文献2のシステムでは、該ECUに電力を供給している電源が更新中に電圧低下すると更新処理が中断されてしまう。そのため、上のような課題は解消し切れていない。
【0012】
本開示のある局面における目的は、複数の電源を搭載した車両において、制御プログラムを、確実に更新することができる制御装置、プログラム更新方法、およびコンピュータプログラムを提供することである。
【0013】
<本開示の効果>
この開示によると、複数の電源を搭載した車両において、制御プログラムを、確実に更新することができる。
【0014】
[実施の形態の説明]
本実施の形態には、少なくとも以下のものが含まれる。
すなわち、本実施の形態に含まれる制御装置は、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部と、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも2つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部と、を備える。
この構成によれば車載制御装置での制御プログラムの更新の際に、制御プログラムの更新に必要な電力が供給可能な状態である電源が2つ以上存在する。そのため、制御プログラムの更新中に1つの電源の電力が低下した場合であっても、他の電源から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【0015】
好ましくは、判定部は、複数の電源の状態の組み合わせごとに制御プログラムの更新の可否の判定結果を予め定義した判定テーブルを参照して、制御プログラムの更新の可否を判定する。
これにより、容易に、かつ、高精度で制御プログラムの更新の可否を判定することができる。
【0016】
好ましくは、判定部は、複数の電源の状態ごとに所定値を出力するように定義された判定関数を用いて、制御プログラムの更新の可否を判定する。
これにより、容易に、かつ、高精度で制御プログラムの更新の可否を判定することができる。
【0017】
好ましくは、複数の電源は蓄電池を含み、検出部が検出する電源の状態は、当該蓄電池の残電力量を含む。
これにより、制御プログラムの更新中に1つの電源の電力が低下した場合であっても、他の蓄電池から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【0018】
好ましくは、複数の電源は発電機を含み、検出部が検出する電源の状態は、当該発電機が駆動中であるか否かを含む。
これにより、制御プログラムの更新中に1つの電源の電力が低下した場合であっても、駆動中である発電機から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【0019】
本実施の形態に含まれるプログラム更新方法は、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、対象機器に電力供給する複数の電源それぞれの状態を検出するステップと、検出された複数の電源の状態が、複数の電源のうちの少なくとも2つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定するステップと、を備える。
この構成によれば車載制御装置での制御プログラムの更新の際に、制御プログラムの更新に必要な電力が供給可能な状態である電源が2つ以上存在する。そのため、制御プログラムの更新中に1つの電源の電力が低下した場合であっても、他の電源から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【0020】
本実施の形態に含まれるコンピュータプログラムは、複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部、および、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも2つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部、として機能させる。
この構成によれば車載制御装置での制御プログラムの更新の際に、制御プログラムの更新に必要な電力が供給可能な状態である電源が2つ以上存在する。そのため、制御プログラムの更新中に1つの電源の電力が低下した場合であっても、他の電源から電力の供給が可能となる。それ故、制御プログラムの更新が中断されることなく、確実に更新が実行される。
【0021】
[実施の形態の詳細]
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【0022】
<第1の実施の形態>
〔システムの全体構成〕
図1は、第1の実施形態にかかるプログラム更新システムの全体構成図である。
図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な車両1、管理サーバ5およびDL(ダウンロード)サーバ6を含む。
管理サーバ5およびDLサーバ6は、たとえば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
【0023】
車両1には、ゲートウェイ10と、無線通信部15と、複数のECU30と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)とが搭載されている。
車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
【0024】
無線通信部15は、携帯電話網などの広域通信網2に通信可能に接続され、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5およびDLサーバ6などの車外装置から無線通信部15が受信した情報を、ECU30に送信する。
ゲートウェイ10は、ECU30から取得した情報を無線通信部15に送信し、無線通信部15は、その情報を管理サーバ5などの車外装置に送信する。
【0025】
車両1に搭載される無線通信部15としては、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
図1では、ゲートウェイ10が無線通信部15を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ10が無線通信の機能を有する場合には、ゲートウェイ10自身が管理サーバ5などの車外装置と無線通信を行う構成としてもよい。
【0026】
また、図1のプログラム更新システムでは、管理サーバ5とDLサーバ6とが別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。
【0027】
〔ゲートウェイの内部構成〕
図2は、ゲートウェイ10の内部構成を示すブロック図である。
図2に示すように、ゲートウェイ10は、CPU11、RAM(Random Access Memory)12、記憶部13、および車内通信部14などを備える。ゲートウェイ10は、無線通信部15と車内通信線とを介して接続されているが、これらは一つの装置で構成してもよい。
【0028】
CPU11は、記憶部13に記憶された一または複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
CPU11は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、CPU11は複数のCPU群を代表するものであってもよい。この場合、CPU11の実現する機能は、複数のCPU群が協働して実現するものである。RAM12は、SRAM(Static RAM)またはDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【0029】
CPU11が実現するコンピュータプログラムは、CD−ROMやDVD−ROMなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送(ダウンロード)によって譲渡することもできる。
この点は、後述のECU30のCPU31(図3参照)が実行するコンピュータプログラム、および、後述の管理サーバ5のCPU51(図4参照)が実行するコンピュータプログラムについても同様である。
【0030】
記憶部13は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子などにより構成されている。記憶部13は、CPU11が実行するプログラムおよび実行に必要なデータ等を記憶する記憶領域を有する。記憶部13は、DLサーバ6から受信した各ECU30の更新プログラムなども記憶する。
【0031】
車内通信部14には、車両1に配設された車内通信線を介して複数のECU30が接続されている。車内通信部14は、たとえばCAN(Controller Area Network)、CANFD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、Ethernet(登録商標)、またはMOST(Media Oriented Systems Transport:MOSTは登録商標)等の規格に応じて、ECU30との通信を行う。
車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。車内通信部14は、上記の通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【0032】
無線通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
【0033】
図2に示す無線通信部15に代えて、車両1内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、USB(Universal Serial Bus)またはRS232C等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置と管理サーバ5等の車外装置とが広域通信網2を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ10の通信経路により、車外装置とゲートウェイ10とが通信可能になる。
【0034】
〔ECUの内部構成〕
図3は、ECU30の内部構成を示すブロック図である。
図3に示すように、ECU30は、CPU31、RAM32、記憶部33、および通信部34などを備える。ECU30は、車両1に搭載された対象機器を個別に制御する車載制御装置である。ECU30の種類には、たとえば、電源制御ECU、エンジン制御ECU、ステアリング制御ECU、およびドアロック制御ECUなどがある。
【0035】
CPU31は、記憶部33に予め記憶された一または複数のプログラムをRAM32に読み出して実行することにより、自身が担当する対象機器の動作を制御する。CPU31もまた複数のCPU群を代表するものであってもよく、CPU31による制御は、複数のCPU群が協働することによる制御であってもよい。
RAM32は、SRAMまたはDRAM等のメモリ素子で構成され、CPU31が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【0036】
記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部33が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をCPU31に実行させるためのコンピュータプログラム(以下、「制御プログラム」という。)が含まれる。
【0037】
通信部34には、車両1に配設された車内通信線を介してゲートウェイ10が接続されている。通信部34は、たとえばCAN、Ethernet、またはMOST等の規格に応じて、ゲートウェイ10との通信を行う。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【0038】
ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」または「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
ここで、通常モードとは、ECU30のCPU31が、対象機器に対する本来的な制御(たとえば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など)を実行する制御モードのことである。
【0039】
リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、CPU31が、記憶部33のROM領域に対して、制御プログラムの消去や書き換えを行う制御モードのことである。CPU31は、この制御モードのときにのみ、記憶部33のROM領域に格納された制御プログラムを新バージョンに更新することが可能となる。
【0040】
リプロモードにおいてCPU31が新バージョンの制御プログラムを記憶部33に書き込むと、起動部35は、ECU30をいったん再起動(リセット)させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
【0041】
〔管理サーバの内部構成〕
図4は、管理サーバ5の内部構成を示すブロック図である。
図4に示すように、管理サーバ5は、CPU51、ROM52、RAM53、記憶部54、および通信部55などを備える。
【0042】
CPU51は、ROM52に予め記憶された一または複数のプログラムをRAM53に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ5をゲートウェイ10と通信可能な車外装置として機能させる。CPU51もまた複数のCPU群を代表するものであってもよく、CPU51の実現する機能は、複数のCPU群が協働して実現するものであってもよい。
RAM53は、SRAMまたはDRAM等のメモリ素子で構成され、CPU51が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【0043】
記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。
通信部55は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部55は、CPU51から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU51に与える。
【0044】
〔制御プログラムの更新シーケンス〕
図5は、本実施形態のプログラム更新システムにおいて実行される、ECUに対する制御プログラムの更新の一例を示すシーケンス図である。一例として、管理サーバ5が、予め登録された車両1について、当該車両1のECUの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両1のカーメーカーなどによって設定されてもよい。
【0045】
ECUの制御プログラムを更新するタイミングに達すると、管理サーバ5は、該当する車両1のゲートウェイ10宛てに、ECU30の更新プログラムの保存先URLとダウンロード要求とを送信する(ステップS1)。
これにより、ゲートウェイ10は、ECU30のための更新プログラムをDLサーバ6からダウンロードする(ステップS2)。ゲートウェイ10は、受信した更新プログラムを自装置の記憶部13に一時的に格納して保存する。
【0046】
更新プログラムの保存が完了すると、ゲートウェイ10は、DLが正常に完了したことを管理サーバ5に送信する(ステップS3)。引き続き自動で更新を行う場合、DL完了通知を受信した管理サーバ5は、制御プログラムの更新要求をゲートウェイ10に送信する。管理サーバ5は、DL完了後、一時中断し外部から更新要求を受けてから、制御プログラムの更新要求をゲートウェイ10に送信してもよい(ステップS4)。
【0047】
更新要求を受信したゲートウェイ10は、当該車両1に搭載される複数の電源の状態に基づいて、制御プログラムの更新の可否を判断する(ステップS5A)。そして、制御プログラムの更新が可能と判断した場合、ゲートウェイ10は、記憶部13に保存した更新プログラムを用いて制御プログラムを更新させるべく、該当するECU30に制御プログラムの更新要求を送信する(ステップS6)。なお、ステップS6では、ゲートウェイ10は、制御プログラムの更新が可能であることをユーザに通知して、更新を開始するユーザ操作に従ってECU30に更新を要求してもよい。
【0048】
制御プログラムの更新要求を受信すると、ECU30は、自身の制御モードを通常モードからリプロモードに切り替える。これにより、当該ECUは制御プログラムの更新処理が可能な状態となる。
【0049】
ECU30は、受信した更新プログラムを展開して旧バージョンの制御プログラムに適用することにより、制御プログラムを旧バージョンから新バージョンに書き換える(ステップS7)。書き換えが完了すると、ECU30は、書き換えの完了通知をゲートウェイ10に送信する(ステップS8)。ゲートウェイ10は、書き換えの完了通知を該当するECU30から受信すると、更新完了通知を管理サーバ5に送信する(ステップS9)。
【0050】
[車両の電源構成]
図6は、車両1の電源構成の一例を表わした概略図である。図6は、コンベンショナル車とも呼ばれる、ハイブリット型車両ではない従来型の車両の電源構成の一例を表わしている。図6を参照して、車両1は、メインバッテリである第1のバッテリ21と、サブバッテリである第2のバッテリ22と、オルタネータ(ALT)23と、を含む。これらは、車両1に搭載される複数の電源である。
【0051】
第1のバッテリ21と第2のバッテリ22とは、たとえばいずれも12Vなど、等電圧であってもよいし、48Vと12Vとのように異なる電圧であってもよい。これらバッテリ21,22は、一般的に鉛蓄電池である。その他、リチウムイオン電池や、ニッケル水素電池など、これらの組み合わせなどであってもよい。
【0052】
第1のバッテリ21は、主に駆動系に電力を供給する。第1のバッテリ21には電源制御ECU30A、エンジン制御ECU30B、およびエンジン起動のためのスタータ24が接続され、第1のバッテリ21からの電力供給を受ける。さらに、第1のバッテリ21には複数のECU30Cが接続され、第1のバッテリ21からの電力供給を受ける。
【0053】
第2のバッテリ22は、その他の電力系に電力を供給する。その他の電力系とは、たとえば、室内灯やエアコンやドアロックなどである。第2のバッテリ22にはそれらを制御する複数のECU30Cが接続され、第2のバッテリ22からの電力供給を受ける。
【0054】
好ましくは、第1のバッテリ21および第2のバッテリ22には、さらにリレー29A,29Bが接続されている。
【0055】
リレー29A,29BともにON(リレー状態)のときには、電源制御ECU30Aおよびエンジン制御ECU30Bに対しても、複数のECU30Cに対しても、第1のバッテリ21、第2のバッテリ22、およびALT23から電力が供給される。
【0056】
リレー29AがON、かつ、リレー回路29BがOFF(カット状態)のときには、電源制御ECU30Aおよびエンジン制御ECU30Bに対しても、複数のECU30Cに対しても、第1のバッテリ21およびALT23から電力が供給される。
【0057】
リレー29AがOFF、かつ、リレー回路29BがONのときには、電源制御ECU30Aおよびエンジン制御ECU30Bに対しても、複数のECU30Cに対しても、第2のバッテリ22およびALT23から電力が供給される。
【0058】
電源制御ECU30Aの内部構成は、図3に示された構成である。電源制御ECU30AのCPU31は、記憶部33に予め記憶された一または複数のプログラムをRAM32に読み出して実行することにより、複数の電源である第1のバッテリ21、第2のバッテリ22およびALT23を制御する。また、電源制御ECU30AのCPU31は、これら電源からの電力供給の制御として、リレー29A,29BのON/OFFを制御する。図6において、点線は電源制御ECU30Aと制御対象の機器との間の信号の流れを示している。なお、第1の実施の形態にかかるプログラム更新システムでは、電源制御ECU30AのCPU31は、リレー29A,29B両方のON状態を維持しておく。
【0059】
また、電源制御ECU30AのCPU31は、複数の電源から当該電源の状態を示す信号を取得する。バッテリ21,22の状態は、バッテリ21,22の蓄電量を指す。ALT23の状態は、ALT23が駆動中であるか停止中であるか、すなわち、発電中であるか否か、を指す。つまり、電源制御ECU30AのCPU31は、複数の電源それぞれの状態を検出する検出部として機能する。
【0060】
なお、図6では、上記の電源制御が電源制御ECU30Aにおいて行われるものとしている。また、以降の説明でも、電源制御ECU30Aが行うものとする。しかしながら、この電源制御は電源制御ECU30Aに限定せず、エンジン制御ECU30Bや他のECU30Cが行ってもよいし、これらが協働して実現されてもよい。
【0061】
[ゲートウェイの機能構成]
ゲートウェイ10のCPU11は、車両1に搭載される複数の電源の状態に基づいて、対象となるECUでの制御プログラムの更新が可能であるか否かを判断する。CPU11は、記憶部13に記憶されている1つまたは複数のプログラムを読み出して実行することによって、上の判断を行なう判定部として機能する。
【0062】
判定部として機能するゲートウェイ10のCPU11は、ECUに電力供給する複数の電源のうちの少なくも2つの電源が制御プログラムの更新に必要な電力を出力できる場合に制御プログラムの更新処理を実行する、という判定基準に従って、制御プログラムの更新が可能であるか否かを判定する。
【0063】
バッテリが制御プログラムの更新に必要な電力を出力できる場合とは、当該バッテリが、制御プログラムの更新に必要な電力量以上を蓄電していることを意味する。好ましくは、バッテリが制御プログラムの更新に必要な電力を出力できる場合とは、当該バッテリのが、制御プログラムの更新に必要な電力量より規定量(または規定割合)以上の電力を蓄電していることである。
【0064】
ALTが制御プログラムの更新に必要な電力を出力できる場合とは、ALTが駆動中(発電中)であることを意味する。好ましくは、ALTが制御プログラムの更新に必要な電力を出力できる場合とは、ALTが発電中であり、かつ、その発電量が制御プログラムの更新に必要な電力量以上であることを含む。より好ましくは、その発電量は、制御プログラムの更新に必要な電力量より規定量(または規定割合)以上である。
【0065】
一例として、ゲートウェイ10のCPU11は、各電源の状態ごとに制御プログラムの更新の可否の判定結果を予め定義した情報を参照して、制御プログラムの更新の可否を判定する。各電源の状態ごとに制御プログラムの更新の可否の判定結果を予め定義した情報は、たとえば、判定テーブルである。判定テーブルは、たとえば、ゲートウェイ10の記憶部13に記憶されている。
【0066】
図7は、ゲートウェイ10のCPU11が制御プログラムの更新の可否の判定に用いる判定テーブルの一例を示す図である。図7は、図6の電源構成である車両1の取り得る電源状態ごとに、制御プログラムの更新の可否の判定結果を予め定義する。
【0067】
図7を参照して、判定テーブルには、「第1バッテリ状態」、「第2バッテリ状態」、「オルタネータ状態」、および「リプロ可否」の項目が含まれる。
【0068】
「第1バッテリ状態」は第1のバッテリ21の状態、「第2バッテリ状態」は第2のバッテリ22の状態を記す項目である。「第1バッテリ状態」および「第2バッテリ状態」には、蓄電量が制御プログラムの更新に必要な電力を出力できることを意味する「残電力有り」、または該必要な電力を出力できないことを意味する「残電力小」が記される。
【0069】
「オルタネータ状態」は、ALT23の状態を記す項目である。「オルタネータ状態」には、発電状態である「駆動中」、または発電していない状態である「停止中」が記される。
【0070】
「リプロ可否」は制御プログラムの更新の可否の判定結果を記す項目である。「リプロ可否」には、更新が可能であるとの判定結果である「可」、または更新が可能ではないとの判定結果である「不可」が記される。
【0071】
複数の電源の状態である「第1バッテリ状態」、「第2バッテリ状態」、および「オルタネータ状態」の組み合わせである車両1の取り得る電源状態は、下に説明する状態1〜8である。判定テーブルは、状態1〜8のそれぞれについて制御プログラムの更新の可否の判定結果を定義している。
【0072】
状態1は、第1のバッテリ21が「残電力有り」、第2のバッテリ22が「残電力有り」、かつ、ALT23が「駆動中」である。状態1は、正常なエンジン稼働中の状態を想定している。状態1の判定結果は「可」とすると定義されている。
【0073】
状態2は、第1のバッテリ21が「残電力有り」、第2のバッテリ22が「残電力有り」、かつ、ALT23が「停止中」である。状態2は、通常のアイドリングストップやコースティング時のエンジン停止中の状態を想定している。状態2の判定結果は「可」とすると定義されている。
【0074】
状態3は、第1のバッテリ21が「残電力有り」、第2のバッテリ22が「残電力小」、かつ、ALT23が「駆動中」である。状態3は、エンジン停止中のアイドルストップからエンジン再始動直後、または、エンジン稼働中であって、かつ第2のバッテリ22が異常状態を想定している。状態3の判定結果は「可」とすると定義されている。
【0075】
状態4は、第1のバッテリ21が「残電力有り」、第2のバッテリ22が「残電力小」、かつ、ALT23が「停止中」である。状態4は、エンジン停止中で、かつエアコン等の電気系の消費電力が大きい場合を想定している。状態4の判定結果は「不可」とすると定義されている。
【0076】
状態5は、第1のバッテリ21が「残電力小」、第2のバッテリ22が「残電力有り」、かつ、ALT23が「駆動中」である。状態5は、走行中(エンジン稼働中)、かつ、エアコン等の電気系の消費電力が大きい場合を想定している。状態5の判定結果は「可」とすると定義されている。
【0077】
状態6は、第1のバッテリ21が「残電力小」、第2のバッテリ22が「残電力有り」、かつ、ALT23が「停止中」である。状態6は、エンジン停止の状態で長時間駐車された場合を想定している。状態6の判定結果は「不可」とすると定義されている。
【0078】
状態7は、第1のバッテリ21が「残電力小」、第2のバッテリ22が「残電力小」、かつ、ALT23が「駆動中」である。状態7は、走行中、かつ、エアコン等の電気系の消費電力が大きい、かつ、エンジン再始動直後の場合を想定している。状態7の判定結果は「不可」とすると定義されている。
【0079】
状態8は、第1のバッテリ21が「残電力小」、第2のバッテリ22が「残電力小」、かつ、ALT23が「停止中」である。状態8は、エアコン等の電気系において大きく電力を消費した後にエンジン停止の状態で長時間駐車された場合を想定している。状態8の判定結果は「不可」とすると定義されている。
【0080】
[制御プログラムの更新の可否を判断する処理]
図8は、図5のステップS5Aの、制御プログラムの更新の可否の判定処理の具体的な内容を表したフローチャートである。図8は、図6の電源構成である車両1に搭載されたゲートウェイ10において判定する場合の制御プログラムの更新の可否の判定処理の具体例を表している。図8のフローチャートに表された処理は、当該ゲートウェイ10のCPU11が記憶部13に記憶された1つまたは複数のプログラムをRAM12上に読み出して実行することによって、主にCPU11により実現される。
【0081】
図8を参照して、ゲートウェイ10のCPU11は管理サーバ5から制御プログラムの更新が要求されると(ステップS101でYES)、電源制御ECU30Aから各電源(第1のバッテリ21、第2のバッテリ22、およびALT23)の状態を取得する(ステップS103,S105,S109)。CPU11は、記憶部13に記憶されている判定テーブルを参照し、各電源の状態に基づいて更新の可否を判定する。そして、CPU11は、判定結果に応じて対象のECU30に制御プログラムの更新を指示する。これにより、更新が実行される(ステップS107)。
【0082】
一例として、CPU11は、ALT23が駆動中であるか否かを判別する(ステップS103)。駆動中である場合(ステップS103でYES)、次に、CPU11は、第1のバッテリ21および第2のバッテリ22の少なくとも一つ以上が「残電力有り」の状態である否かを判別する(ステップS105)。少なくとも一つ以上のバッテリが「残電力有り」である場合(ステップS103でYES、かつステップS105でYES)、CPU11は判定テーブルを参照して制御プログラムの更新を「可」と判定する。CPU11はこの判定結果に基づいて、ECU30に制御プログラムの更新を指示する。
【0083】
両バッテリともに「残電力小」である場合(ステップS103でYES、かつステップS105でNO)、CPU11は判定テーブルを参照して、制御プログラムの更新を「不可」と判定する。CPU11はこの判定結果に基づいて、ECU30に制御プログラムの更新を指示することなく、一連の処理を終了する。なお、CPU11は、予め規定された期間の経過後、再度、上記ステップS103から処理を繰り返してもよい。
【0084】
ALT23が停止中である場合(ステップS103でNO)、CPU11は、第1のバッテリ21および第2のバッテリ22の両方が「残電力有り」の状態である否かを判別する(ステップS109)。両バッテリともに「残電力有り」の状態である場合(ステップS103でNO、かつステップS109でYES)、CPU11は判定テーブルを参照して制御プログラムの更新を「可」と判定する。CPU11はこの判定結果に基づいて、ECU30に制御プログラムの更新を指示する。
【0085】
第1のバッテリ21および第2のバッテリ22の一方でも「残電力小」である場合(ステップS103でNO、かつステップS109でNO)、CPU11は判定テーブルを参照して、制御プログラムの更新を「不可」と判定する。CPU11はこの判定結果に基づいて、ECU30に制御プログラムの更新を指示することなく、一連の処理を終了する。この場合も、CPU11は、予め規定された期間の経過後、再度、上記ステップS103から処理を繰り返してもよい。
【0086】
なお、CPU11は、ECU30からプログラムの更新の完了通知を受けることによって(ステップS111でYES)、一連の処理を終了してもよい。ECU30からプログラムの更新の完了通知がない場合、つまり、ECU30においてプログラムの更新が正常に終了しなかった場合(ステップS111でNO)、CPU11は、ステップS101から一連の処理を繰り返してもよい。
【0087】
[第1の実施の形態の効果]
第1の実施の形態にかかるプログラム更新システムによれば、車両1に搭載された、ECUに電力供給する少なくとも2つの電源が制御プログラムの更新に要する電力を出力できる場合に、制御プログラムの更新が可能と判定する。それによって、2つ以上の電源が出力できる電力が制御プログラムの更新に要する電力を出力できる場合に制御プログラムの更新が開始され、そうでない場合、すなわち、制御プログラムの更新に必要な電力が出力できる電源が2つ未満である場合には制御プログラムの更新が行われない。
【0088】
たとえば、制御プログラムを更新するECUに対して電力供給する第1のバッテリのみが制御プログラムの更新に要する電力を出力できるものとし、その他の電源が該電力を出力できないとする。この場合、該ECUでの制御プログラムの更新によって、または何らかの他の原因によって第1のバッテリの電圧が低下すると、制御プログラムの更新が中断されてしまう。
【0089】
このとき、本実施の形態にかかるプログラム更新システムでは、第1のバッテリの他の電源(たとえば第2のバッテリ)からECUに制御プログラムの更新に要する電力が供給される。そのため、該ECUでの制御プログラムの更新が中断することを防止できる。このように、本実施の形態にかかるプログラム更新システムによれば、制御プログラムの更新を確実に行うことができる。
【0090】
<第2の実施の形態>
第2の実施の形態にかかるプログラム更新システムでは、電源制御ECU30AのCPU31は、通常モードとリプロモードとに応じてリレー29A,29BのON/OFFを変化させて、電力供給の状態を変化させる。また、電源制御ECU30AのCPU31は、バッテリの蓄電量が規定量以下となると他の電源から電力を供給するためにリレー29A,29BのON/OFFを変化させて、電力供給の状態を変化させてもよい。つまり、第2の実施の形態において、電源制御ECU30AのCPU31は、通常モードとリプロモードとに応じて、および/またはバッテリの蓄電量に応じてリレー29A,29BのON/OFFを制御する。
【0091】
さらに、第2の実施の形態において電源制御ECU30AのCPU31は、車両1の取り得る電源状態1〜8に応じて、「残電力有り」の状態のバッテリまたは駆動中のALT23が、「残電力小」の状態である、制御プログラムを更新するECUに電力を供給するバッテリを充電するようリレー29A,29BのON/OFFを制御してもよい。
【0092】
[第2の実施の形態の効果]
車両1に複数の電源が搭載され、かつ、各電源について通常モードにおいて電力を供給する1つまたは複数のECUが規定されている場合であっても、第2の実施の形態にかかるプログラム更新システムにおいては、リプロモードと通常モードとの間で、各電源の電力の供給先を変更可能とする。これにより、制御プログラムを更新するECUに電力を供給するバッテリの電力低下が防がれ、該ECUでの制御プログラムの更新が中断することが回避される。このように、本実施の形態にかかる制御プログラム更新システムにおいても、制御プログラムの更新を確実に行うことができる。
【0093】
<第3の実施の形態>
第1〜第2の実施の形態にかかるプログラム更新システムでは、プログラムの更新の可否をゲートウェイ10で判定する。しかしながら、プログラムの更新の可否はゲートウェイ10とは異なる装置で判定されてもよい。他の例として、管理サーバ5が判定してもよい。第3の実施の形態にかかる管理サーバ5は、図5のステップS5Bのタイミングで更新の可否を判定する。すなわち、管理サーバ5は、ゲートウェイ10から更新プログラムのダウンロードの完了が通知されると、次に、更新の可否を判定し(ステップS5B)、更新可能と判断されたタイミングでゲートウェイ10に対して更新を要求する(ステップS4)。
【0094】
この場合、管理サーバ5のCPU51がプログラムの更新の可否を判定するための機能を有する。この機能は、CPU51がROM52に記憶されている1つまたは複数のプログラムを読み出して実行することによって、主にCPU51によって実現される。しかしながら、少なくとも一部機能が電気回路などのハードウェアによって実現されてもよい。
【0095】
また、管理サーバ5の記憶部55に、図7の判定テーブルが記憶されている。管理サーバ5のCPU51は、ゲートウェイ10から当該車両1に搭載される、ECUに電力を供給する複数の電源の状態を示す信号を取得する。そして、CPU51は、記憶部55に記憶されている判定テーブルを参照し、各電源の状態に基づいて車両1のECUでの制御プログラムの更新の可否を判定する。
【0096】
なお、管理サーバ5の記憶部55に記憶される判定テーブルは、車両1ごとに異なるものであってもよいし、同じものであってもよい。さらに、判定テーブルは当該車両1のゲートウェイ10の記憶部13に記憶されていてもよい。この場合、管理サーバ5は、ゲートウェイ10の記憶部13に記憶されている判定テーブルを参照する。
【0097】
<第4の実施の形態>
なお、第1〜第3の実施の形態では、車両1の電源構成が図6の電源構成である場合を例にして説明している。しかしながら、車両1はいわゆるコンベンショナル車と呼ばれるエンジン車に限定されない。図9は、車両1の電源構成の他の例の概略図である。図9は、ハイブリット型車両の電源構成の一例の概略図である。図9を参照して、車両1は、複数の電源として、たとえば48Vのメインバッテリである第1のバッテリ21、たとえば12Vなど第1のバッテリ21よりも低電圧のサブバッテリである第2のバッテリ22、および発電装置(MG)25と、を含む。
【0098】
電源制御ECU30Dには第1のバッテリ21およびMG25が接続され、これらから電力が供給される。その他のECU30Cには第2のバッテリ22が接続され、第2のバッテリ22から電力が供給される。
【0099】
第1のバッテリ21およびMG25が電力を供給する回路系と第2のバッテリ22が電力を供給する回路系との間にはDC/DCコンバータ26が接続される。DC/DCコンバータ26がこれら両路間の電圧変換を行うことで、第1のバッテリ21およびMG25はその他のECU30Cに電力供給が可能になり、第2のバッテリ22は電源制御ECU30Dに電力供給が可能になる。
【0100】
車両1がこのような電源構成であっても、同様に制御プログラムの更新の可否が判断されることによって、制御プログラムの更新を確実に行うことができる。
【0101】
<第5の実施の形態>
ゲートウェイ10のCPU11または管理サーバ5のCPU51において制御プログラムの更新の可否を判定する処理の方法は、判定テーブルを用いる方法に限定されない。他の例として、ECUに電力供給する複数の電源それぞれの状態に応じて所定値を出力するように定義された判定関数Fを用いて判定してもよい。
【0102】
車両1の電源構成が図6の構成である場合に、判定関数Fは、一例として、下のように定義された状態変数x〜zに対して、判定関数F(x、y、z)=x+y+zを出力する。
x:第1のバッテリ21の状態を表す変数
x=1→残電力有り、x=0→残電力小
y:第2のバッテリ22の状態を表す変数
y=1→残電力有り、x=0→残電力小
z:ALT23の状態を表す変数
z=1→駆動中 z=0→停止中
【0103】
判定部として機能するゲートウェイ10のCPU11は、各電源の状態を表す値をそれぞれ変数x、y、zに代入して得られるF(x、y、z)の値に基づいて、次のように判定する。
F(x、y、z)≧2 …制御プログラムの更新可能
F(x、y、z)<2 …制御プログラムの更新不可
【0104】
このような判定関数Fを用いた場合であっても、同様に、ECUに電力供給する複数の電源のうちの少なくも2つの電源が制御プログラムの更新に必要な電力を出力できる場合に制御プログラムの更新処理を実行する、という判定基準に従って、制御プログラムの更新が可能であるか否かが判定される。
【0105】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0106】
1 車両
2 広域通信網
5 管理サーバ(制御装置)
6 DLサーバ
10 ゲートウェイ(制御装置)
11 CPU(判定部)
12 RAM
13 記憶部
14 車内通信部
15 無線通信部
20 制御回路
21 第1のバッテリ
22 第2のバッテリ
23 ALT
24 スタータ
25 MG
26 DC/DCコンバータ
29A,29B リレー
30,30A〜30D ECU(車載制御装置)
30A 電源制御ECU(検出部)
31 CPU
32 RAM
33 記憶部
34 通信部
35 起動部
51 CPU(判定部)
52 ROM
53 RAM
54 記憶部
55 通信部
【要約】
複数の電源を備える車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、対象機器に電力供給する複数の電源それぞれの状態を検出する検出部と、検出部によって検出された複数の電源の状態が、複数の電源のうちの少なくとも2つの電源が制御プログラムを更新するために必要な電力を出力できる場合に制御プログラムの更新が可能であると判定する判定部と、を備える、制御装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9