(57)【要約】【課題】車輌の動作パターンに基づき制御装置の制御プログラムを書換えることが可能なプログラム書換システム、制御装置、プログラム出力装置、蓄積装置、コネクタ、及びプログラム書換方法を提供する。【解決手段】書換プログラムを送信する外部装置は、車載機器を制御する複数のＥＣＵに通信可能に接続される。ＥＣＵ−Ａは、車輌の動作状態を示す情報を逐次蓄積しており、蓄積した情報に基づいて所定の条件に従っていずれかの動作パターンを特定し、特定した動作パターンの識別情報を外部装置へ送信する。外部装置は、それぞれの動作パターンの識別情報とＥＣＵ毎に送信すべき書換プログラムとを対応させて記憶しており、ＥＣＵ−Ａから送信された識別情報に対応する書換プログラムを各ＥＣＵへ送信する。各ＥＣＵは、送られてきた書換プログラムに基づき夫々制御プログラムを書換える。【選択図】図１
2015041231.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムに従って車載機器を制御する制御装置と、前記制御プログラムを書換える書換プログラムを出力するプログラム出力装置とが通信可能に接続されており、前記プログラム出力装置が出力した書換プログラムにて前記制御装置の制御プログラムを書換えるプログラム書換システムにおいて、
車輌に搭載され、該車輌の動作状態を示す情報を蓄積する蓄積部と、
該蓄積部が蓄積した情報に基づいて、前記車輌の動作状態に関する所定条件に従って規定される複数の動作パターンのうちのいずれかを特定する特定部と、
該特定部が特定した動作パターンの識別情報を前記プログラム出力装置へ送信する識別情報送信部とを備え、
前記プログラム出力装置は、
前記動作パターンの識別情報及び書換プログラムを対応付けて記憶する記憶部と、
前記識別情報送信部によって送信された識別情報を受信する受信部と、
該受信部が受信した識別情報に対応する書換プログラムを前記記憶部から読み出して前記制御装置へ送信するプログラム送信部とを有すること
を特徴とするプログラム書換システム。
【請求項２】
前記蓄積部、前記特定部及び前記識別情報送信部は、前記制御装置に設けてあることを特徴とする請求項１に記載のプログラム書換システム。
【請求項３】
前記車輌に搭載され、前記蓄積部、前記特定部及び前記識別情報送信部を有する蓄積装置を備えることを特徴とする請求項１に記載のプログラム書換システム。
【請求項４】
前記プログラム出力装置からのアクセスを受け付ける受付部を備え、
前記特定部は、前記受付部が前記アクセスを受け付けた時点から所定期間前までの期間に前記蓄積部が蓄積した情報に基づいて、前記動作パターンを特定するようにしてある
ことを特徴とする請求項１から３までのいずれかひとつに記載のプログラム書換システム。
【請求項５】
制御プログラムに従って車載機器を制御する制御装置において、
車輌の動作状態を示す情報を蓄積する蓄積部と、
該蓄積部が蓄積した情報に基づいて、前記車輌の動作状態に関する所定条件に従って規定される複数の動作パターンのうちのいずれかを特定する特定部と、
該特定部が特定した動作パターンの識別情報を前記プログラム出力装置へ送信する識別情報送信部と、
該識別情報送信部が送信した識別情報に対応する書換プログラムを受信する受信部と、
該受信部が受信した書換プログラムにて前記制御プログラムを書換える書換部と
を有することを特徴とする制御装置。
【請求項６】
制御プログラムを書換える書換プログラムを外部装置へ出力するプログラム出力装置において、
複数の動作パターンの識別情報及び書換プログラムを対応付けて記憶する記憶部と、
前記動作パターンのいずれかの識別情報を外部から受信する受信部と、
該受信部が受信した識別情報に対応する書換プログラムを前記記憶部から読み出して前記外部装置へ送信するプログラム送信部と
を備えることを特徴とするプログラム出力装置。
【請求項７】
車輌に搭載されており、
該車輌の動作状態を示す情報を蓄積する蓄積部と、
該蓄積部が蓄積した情報に基づいて、前記車輌の動作状態に関する所定条件に従って規定される複数の動作パターンのうちのいずれかを特定する特定部と、
該特定部が特定した動作パターンの識別情報を前記プログラム出力装置へ送信する識別情報送信部と
を備えることを特徴とする蓄積装置。
【請求項８】
請求項７に記載の蓄積装置を備え、
前記蓄積部に蓄積される情報に係る信号を伝達する信号線に接続可能であることを特徴とするコネクタ。
【請求項９】
制御プログラムに従って車載機器を制御する制御装置と、該制御装置に通信可能に接続されており、前記制御プログラムを書換える書換プログラムを出力するプログラム出力装置とを用い、前記プログラム出力装置が出力した書換プログラムにて前記制御装置の制御プログラムを書換えるプログラム書換方法において、
車輌の動作状態を示す情報を蓄積するステップと、
蓄積した情報に基づいて、前記車輌の動作状態に関する所定条件に従って規定される複数の動作パターンのうちのいずれかを特定するステップと、
特定した動作パターンの識別情報を前記プログラム出力装置へ送信するステップと、
前記プログラム出力装置が、送信された識別情報を受信するステップと、
前記プログラム出力装置が、受信した識別情報に対応する書換プログラムを前記制御装置へ送信するステップと
を含むことを特徴とするプログラム書換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載機器を制御する制御装置における制御プログラムを書換えるプログラム書換システム、制御装置、プログラム出力装置、蓄積装置、コネクタ、及びプログラム書換方法に関する。
【背景技術】
【０００２】
近年、自動車の分野において、車輌の高機能化が益々進んでおり、多種多様な機器が車輌に搭載され、これら車載機器を制御するための制御装置、所謂ＥＣＵ（Electronic Control Unit）が多数搭載されている。例えば、乗員によるスイッチ操作等に応じて車内照明やヘッドライトの点灯／消灯、及び警報器の吹鳴等の制御を行うボディ系ＥＣＵ、運転席近傍に配設されるメータ類の動作を制御するメータ系ＥＣＵ、並びにカーナビゲーション装置等の制御を行うナビ系ＥＣＵ等の種々のＥＣＵが車輌に搭載されている。
【０００３】
一般的にＥＣＵは、マイクロコンピュータ等の演算処理装置によって構成されており、ＥＣＵ内に記憶された制御プログラムを実行することにより、車載機器の制御を行っている。制御プログラムは、同じ車種でも、車輌が運用される仕向け地や搭載機能によって異なることがあり、仕向け地や搭載機能に合わせて制御プログラムを書換えたり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新たなバージョンの制御プログラムに書換えたりする必要がある。
【０００４】
例えば、特許文献１では、車種又は仕向け地に適した制御を行うＥＣＵが提案されている。特許文献１に開示されたＥＣＵでは、不揮発性のＲＯＭの記憶領域が、プログラム領域、通常データ領域、メモリバックアップ領域として利用され、車種又は仕向け地が選択されるまでは、全ての車種又は仕向け地用のデータがメモリバックアップ領域に記憶されている。そして車種又は仕向け地が選択されると、選択された車種又は仕向け地用のデータがメモリバックアップ領域から通常データ領域へ複製され、通常データ領域のデータに基づく制御が行われる。
【０００５】
また、特許文献２では、ＥＣＵ内のマイコンの識別コードに基づき書換え用のプログラムが選択され、選択されたプログラムを用いて制御プログラムが書換えられる書換方法が提案されている。特許文献２に開示された技術では、ＥＣＵは、ＥＣＵ内部に記憶してある識別コードを外部装置へ出力し、識別コードに基づき外部装置から送られてくる書換え用のプログラムによって制御プログラムを書換える。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０２５７８１号公報
【特許文献２】特開２００６−２２１２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、車種、仕向け地、及びＥＣＵ内部に記憶された識別コードは、車輌に対して予め決められた情報であり、上述した技術によれば、予め決められた情報に応じた制御が可能なＥＣＵを実現できるにすぎない。従って、例えば販売後（使用開始後）の車輌の走行状態、使用状態等の動作状態に適した制御を行うＥＣＵを実現することはできない。
【０００８】
本発明は、斯かる事情に鑑みてなされたものである。そして、その目的とするところは、車輌の動作パターンに基づき制御装置（ＥＣＵ）の制御プログラムを書換えることが可能なプログラム書換システム、制御装置、プログラム出力装置、蓄積装置、コネクタ、及びプログラム書換方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係るプログラム書換システムは、制御プログラムに従って車載機器を制御する制御装置と、前記制御プログラムを書換える書換プログラムを出力するプログラム出力装置とが通信可能に接続されており、前記プログラム出力装置が出力した書換プログラムにて前記制御装置の制御プログラムを書換えるプログラム書換システムにおいて、車輌に搭載され、該車輌の動作状態を示す情報を蓄積する蓄積部と、該蓄積部が蓄積した情報に基づいて、前記車輌の動作状態に関する所定条件に従って規定される複数の動作パターンのうちのいずれかを特定する特定部と、該特定部が特定した動作パターンの識別情報を前記プログラム出力装置へ送信する識別情報送信部とを備え、前記プログラム出力装置は、前記動作パターンの識別情報及び書換プログラムを対応付けて記憶する記憶部と、前記識別情報送信部によって送信された識別情報を受信する受信部と、該受信部が受信した識別情報に対応する書換プログラムを前記記憶部から読み出して前記制御装置へ送信するプログラム送信部とを有することを特徴とする。
【００１０】
本発明に係るプログラム書換システムは、前記蓄積部、前記特定部及び前記識別情報送信部は、前記制御装置に設けてあることを特徴とする。
【００１１】
本発明に係るプログラム書換システムは、前記車輌に搭載され、前記蓄積部、前記特定部及び前記識別情報送信部を有する蓄積装置を備えることを特徴とする。
【００１２】
本発明に係るプログラム書換システムは、前記プログラム出力装置からのアクセスを受け付ける受付部を備え、前記特定部は、前記受付部が前記アクセスを受け付けた時点から所定期間前までの期間に前記蓄積部が蓄積した情報に基づいて、前記動作パターンを特定するようにしてあることを特徴とする。
【００１３】
本発明に係る制御装置は、制御プログラムに従って車載機器を制御する制御装置において、車輌の動作状態を示す情報を蓄積する蓄積部と、該蓄積部が蓄積した情報に基づいて、前記車輌の動作状態に関する所定条件に従って規定される複数の動作パターンのうちのいずれかを特定する特定部と、該特定部が特定した動作パターンの識別情報を前記プログラム出力装置へ送信する識別情報送信部と、該識別情報送信部が送信した識別情報に対応する書換プログラムを受信する受信部と、該受信部が受信した書換プログラムにて前記制御プログラムを書換える書換部とを有することを特徴とする。
【００１４】
本発明に係るプログラム出力装置は、制御プログラムを書換える書換プログラムを外部装置へ出力するプログラム出力装置において、複数の動作パターンの識別情報及び書換プログラムを対応付けて記憶する記憶部と、前記動作パターンのいずれかの識別情報を外部から受信する受信部と、該受信部が受信した識別情報に対応する書換プログラムを前記記憶部から読み出して前記外部装置へ送信するプログラム送信部とを備えることを特徴とする。
【００１５】
本発明に係る蓄積装置は、車輌に搭載されており、該車輌の動作状態を示す情報を蓄積する蓄積部と、該蓄積部が蓄積した情報に基づいて、前記車輌の動作状態に関する所定条件に従って規定される複数の動作パターンのうちのいずれかを特定する特定部と、該特定部が特定した動作パターンの識別情報を前記プログラム出力装置へ送信する識別情報送信部とを備えることを特徴とする。
【００１６】
本発明に係るコネクタは、上述の蓄積装置を備え、前記蓄積部に蓄積される情報に係る信号を伝達する信号線に接続可能であることを特徴とする。
【００１７】
本発明に係るプログラム書換方法は、制御プログラムに従って車載機器を制御する制御装置と、該制御装置に通信可能に接続されており、前記制御プログラムを書換える書換プログラムを出力するプログラム出力装置とを用い、前記プログラム出力装置が出力した書換プログラムにて前記制御装置の制御プログラムを書換えるプログラム書換方法において、車輌の動作状態を示す情報を蓄積するステップと、蓄積した情報に基づいて、前記車輌の動作状態に関する所定条件に従って規定される複数の動作パターンのうちのいずれかを特定するステップと、特定した動作パターンの識別情報を前記プログラム出力装置へ送信するステップと、前記プログラム出力装置が、送信された識別情報を受信するステップと、前記プログラム出力装置が、受信した識別情報に対応する書換プログラムを前記制御装置へ送信するステップとを含むことを特徴とする。
【００１８】
本発明によれば、車載機器を制御する制御装置と、書換プログラムを出力するプログラム出力装置とが通信可能に接続されている。プログラム書換システムは、車輌の動作状態を示す情報を蓄積し、蓄積した情報に基づいて複数の動作パターンのいずれかを特定し、特定した動作パターンの識別情報をプログラム出力装置へ送信する。プログラム出力装置は、動作パターンの識別情報と書換プログラムとを対応付けて記憶しており、動作パターンの識別情報を受信した場合、受信した識別情報に対応する書換プログラムを読み出して制御装置へ送信する。制御装置は、プログラム出力装置から送信された書換プログラムを受信し、自装置の制御プログラムを書換える。これにより、車輌の動作パターンに応じた書換プログラムによって制御プログラムの書換えが可能となり、書換え後の制御プログラムに従った制御を行うことにより、動作パターンに応じた制御が可能となる。
【００１９】
本発明によれば、制御装置が、車輌の動作状態を示す情報を蓄積し、蓄積した情報に基づいて動作パターンを特定し、プログラム出力装置へ送信する処理を行う。よって、例えば複数の制御装置が車輌に搭載されている場合に、１つの制御装置にて車輌の動作状態を示す情報の蓄積、蓄積した情報に基づく動作パターンの特定及び送信を行えばよい。なお、他の制御装置は、プログラム出力装置から送信されてくる書換プログラムに従って制御プログラムの書換処理のみを行えばよい。また、複数の制御装置が車輌に搭載されている場合に、それぞれの制御装置にて上述した処理を行ってもよく、制御装置毎に蓄積する情報を異ならせた場合には、制御装置毎に、それぞれ蓄積した情報に基づく動作パターンに応じた制御プログラムへの書換えが可能となる。
【００２０】
本発明によれば、車輌の動作状態を示す情報を蓄積する蓄積装置を更に設け、蓄積装置が、自装置で蓄積した情報に基づいて動作パターンを特定し、特定した動作パターンの識別情報をプログラム出力装置へ送信する。よって、車輌の動作状態を示す情報を蓄積装置にて一括管理できる。そして、例えば複数の制御装置が車輌に搭載されている場合に、蓄積装置にて一括管理されている情報に基づいて、各制御装置の制御プログラムの書換えが可能となる。なお、蓄積装置は、信号線に接続されるコネクタに設けてもよく、この場合、信号線を介して送受信される信号に基づいて、車輌の動作状態を示す情報を効率よく取得できる。
【００２１】
本発明によれば、プログラム出力装置がアクセスしてきた時点から所定期間前までの期間において蓄積された情報に基づいて動作パターンが特定される。よって、制御プログラムを書換える際に、直近に蓄積された情報に基づいて動作パターンを特定することにより、直近の動作パターンに応じた制御プログラムへの書換えが可能となる。
【発明の効果】
【００２２】
本発明では、車輌の動作パターンに応じた書換プログラムによって制御装置の制御プログラムが書換えられるので、制御装置は、車輌の動作パターンに応じた制御を行うことができる。よって、動作パターンに応じて制御装置が最大限効率よく動作するような制御プログラムに書換えることにより、車輌の性能向上が可能となる。
【図面の簡単な説明】
【００２３】
【図１】実施形態１に係るプログラム書換システムの構成例を示すブロック図である。
【図２】ＥＣＵ−Ａの構成例を示すブロック図である。
【図３】蓄電池への充電電流の検知処理を説明するためのブロック図である。
【図４】ＥＣＵ−Ｂの構成例を示すブロック図である。
【図５】外部装置の構成例を示すブロック図である。
【図６】プログラム管理テーブルの一例を示す図表である。
【図７】外部装置における書換処理の手順を示すフローチャートである。
【図８】ＥＣＵ−Ａにおける書換処理の手順を示すフローチャートである。
【図９】ＥＣＵ−Ａにおける車輌の動作パターンの特定処理の手順を示すフローチャートである。
【図１０】ＥＣＵ−Ａにおける車輌の動作パターンの特定処理の手順を示すフローチャートである。
【図１１】プログラム管理テーブルのその他の例を示す図表である。
【図１２】実施形態２に係るプログラム書換システムの構成例を示すブロック図である。
【図１３】動作管理装置の構成例を示すブロック図である。
【図１４】実施形態３に係るプログラム書換システムの構成例を示すブロック図である。
【図１５】コネクタの構成例を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下に、本発明に係るプログラム書換システム、制御装置、プログラム出力装置、蓄積装置、コネクタ、及びプログラム書換方法を、その実施形態を示す図面に基づいて具体的に説明する。
【００２５】
（実施形態１）
以下に、本実施形態１のプログラム書換システムについて説明する。図１は、実施形態１に係るプログラム書換システムの構成例を示すブロック図である。本実施形態１のプログラム書換システム１００は、車輌１０１に搭載される車載制御装置であるＥＣＵ−Ａ１、ＥＣＵ−Ｂ２等の複数のＥＣＵと、ＬＡＮインタフェース（以下、ＬＡＮ  Ｉ／Ｆと表記する）４によって車載ＬＡＮに接続され、ＥＣＵへ書換プログラムを出力する外部装置（プログラム出力装置）３とを備える。
本実施形態１では、ＥＣＵ−Ａ１は、車内照明７１、警報器７２、及びヘッドライト７３（図２参照）等の車載機器を制御し、ＥＣＵ−Ｂ２は、カーナビゲーション装置７４、テレビジョン装置（以下、ＴＶ装置と表記する）７５、及びラジオ装置７６（図４参照）等の車載機器を制御する。またＥＣＵ−Ａ１及びＥＣＵ−Ｂ２等の複数のＥＣＵは、車載ＬＡＮによって接続されており、相互に通信接続してデータを交換することができる。
【００２６】
図２は、ＥＣＵ−Ａ１の構成例を示すブロック図である。
ＥＣＵ−Ａ１は、ＣＰＵ（Central Processor Unit）１０、ＲＡＭ（Random Access Memory）１１、記憶部１２、通信インタフェース（以下、通信Ｉ／Ｆと表記する）１３及び入出力インタフェース（以下、入出力Ｉ／Ｆと表記する）１４等を備えている。車内照明７１、警報器７２、及びヘッドライト７３等の車載機器は、ＥＣＵ−Ａ１の入出力Ｉ／Ｆ１４にケーブル等を介して接続されている。入出力Ｉ／Ｆ１４は、これらの車載機器との間で信号の入出力を行うことができ、ＣＰＵ１０から与えられた動作命令等を各車載機器へ出力すると共に、各車載機器から入力された情報をＣＰＵ１０へ与える。
【００２７】
車内照明７１に関して、例えば、乗員によって操作される操作スイッチのオン／オフ信号、及びドアの開閉信号等がＥＣＵ−Ａ１に入力され、これらの信号に基づいて、ＥＣＵ−Ａ１が車内照明７１を点灯／消灯する車内照明機能に関する制御を行う。警報器７２に関しては、例えば、盗難防止等の警報機能を搭載する場合、ＥＣＵ−Ａ１は、キーに拠らずにドアが開になったりエンジンがかけられたりする事象が発生するか否かを、各種センサからの情報により判定し、該事象が発生したときに警報器７２を吹鳴させる制御を行う。また、ヘッドライト７３に関しては、自動点灯機能を搭載する場合、車輌外部の光量を検出する光センサからの情報に基づいてヘッドライト７３を自動で点灯／消灯する制御を行う。
【００２８】
ＣＰＵ１０は、記憶部１２に予め記憶された制御プログラム６０を読み出して実行することにより、入出力Ｉ／Ｆ１４に接続された車載機器に対して上述のような制御処理を行う。また、ＣＰＵ１０は、制御処理を行う過程の演算等において発生した一時的なデータをＲＡＭ１１に記憶しながら処理を進める。ＲＡＭ１１は、ＳＲＡＭ（Static RAM）又はＤＲＡＭ（Dynamic RAM）等のメモリ素子で構成されており、ＣＰＵ１０の処理過程で発生する種々のデータ等を一時的に記憶する。記憶部１２は、例えばＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）又はフラッシュメモリ等の書換え可能な不揮発性のメモリ素子で構成される。記憶部１２には、制御プログラム６０、制御プログラム６０を書換える際の制御処理を行う書換処理プログラムＡ６１、車輌１０１の動作状態を示す情報が蓄積される動作履歴テーブル（蓄積部）６２が記憶されている。
【００２９】
動作履歴テーブル６２に蓄積される車輌１０１の動作状態を示す情報には、例えば、イグニッションスイッチのオン／オフ、ブレーキ操作の実行／解除、車輌１０１の走行速度、ハンドルの回転角度（舵角）等、車輌１０１の走行状態（使用状態）を示す情報が含まれる。また、車輌１０１に搭載されている発電機８０（図３参照）にて発電された電力を蓄電池８１（図３参照）に充電するために発電機８０から蓄電池８１へ流れる充電電流の発生（有無）を示す情報も車輌１０１の動作状態を示す情報に含まれる。
【００３０】
図３は、蓄電池８１への充電電流の検知処理を説明するためのブロック図である。車輌１０１には、発電機８０、蓄電池８１、バッテリ８２が搭載されており、蓄電池８１及びバッテリ８２は、車載ＬＡＮに接続されている電源系ＥＣＵ８に接続されている。電源系ＥＣＵ８は、電源や電源切替リレー等の電源系の機器を制御するＥＣＵであり、例えば車輌１０１の状態に応じて、負荷８３（車載機器）に与える電力を、蓄電池８１又はバッテリ８２からの電力のいずれかに切り替える。本実施形態１では、発電機８０から蓄電池８１へ流れる充電電流を検出する電流センサ８４が車輌１０１に搭載されており、電流センサ８４は車載ＬＡＮに接続されている。電流センサ８４は、発電機８０から蓄電池８１への充電電流の有無（発生）を検出するだけでなく、発生した充電電流の電流量も検出してもよい。なお、図３では、発電機８０から蓄電池８１への充電電流を太線矢符で模式的に示している。
【００３１】
ＥＣＵ−Ａ１のＣＰＵ１０は、車載ＬＡＮを介して、上述したような情報（車輌１０１の動作状態を示す情報）に関する信号を受信する。具体的には、ＣＰＵ１０は、車載ＬＡＮを介して適宜受信する信号に基づいて、車輌１０１の現在の動作状態を監視しており、上述したような情報に関する信号を受信した場合、受信した情報を、例えば絶対時刻、又は車輌１０１の動作開始からの経過時間に対応付けて動作履歴テーブル６２に逐次蓄積する。なお、ＣＰＵ１０は、上述した情報に関する信号として、例えば、イグニッションセンサ、ブレーキセンサ、車速センサ、ハンドル舵角センサ（共に図示せず）、及び電流センサ８４からの出力信号を取得する。またＣＰＵ１０は、上述した情報に関する信号を、車載ＬＡＮを介してではなく、直接接続された信号線を介して取得してもよい。
【００３２】
書換処理プログラムＡ６１は、外部装置３からアクセスされた場合に、ＣＰＵ１０にて実行されるプログラムである。ＣＰＵ１０は、書換処理プログラムＡ６１を実行した場合、動作履歴テーブル６２に蓄積された情報に基づいて、該情報が示す動作パターンを特定する処理、特定した動作パターンを外部装置３へ通知する処理、外部装置３から送られてくる書換プログラムをＲＡＭ１１に書き込む処理、ＲＡＭ１１に書き込んだ書換プログラムに従って制御プログラム６０を書換える処理等を行う。なお、動作履歴テーブル６２に蓄積された情報に基づいて動作パターンを特定する処理は、予め設定された判定基準に従って行われる。
【００３３】
通信Ｉ／Ｆ１３は、車輌１０１に搭載された他のＥＣＵに車載ＬＡＮを介して接続されており、ＣＡＮ（Controller Area Network）等のプロトコルに従って他のＥＣＵとデータの送受信を行う。通信Ｉ／Ｆ１３は、ＣＰＵ１０から与えられたデータを送信し、他のＥＣＵから受信したデータをＣＰＵ１０へ与える。これによりＥＣＵ−Ａ１は、他のＥＣＵに接続された車載機器から得られる情報を通信Ｉ／Ｆ１３の通信によって取得することができると共に、他のＥＣＵに接続された車載機器への動作命令等を送信して制御することができる。
【００３４】
図４は、ＥＣＵ−Ｂ２の構成例を示すブロック図である。
ＥＣＵ−Ｂ２は、ＣＰＵ２０、ＲＡＭ２１、記憶部２２、通信Ｉ／Ｆ２３及び入出力Ｉ／Ｆ２４等を備えている。カーナビゲーション装置７４、ＴＶ装置７５、及びラジオ装置７６等の車載機器は、ＥＣＵ−Ｂ２の入出力Ｉ／Ｆ２４にケーブル等を介して接続されている。入出力Ｉ／Ｆ２４は、これらの車載機器との間で信号の入出力を行うことができ、ＣＰＵ２０から与えられた動作命令等を各車載機器へ出力すると共に、各車載機器から入力された情報をＣＰＵ２０へ与える。
【００３５】
ＥＣＵ−Ｂ２は、例えば液晶タッチパネル等による操作表示部（図示せず）を有し、操作表示部において乗員により操作された操作信号を受け付け、ＣＰＵ２０は、該操作信号に基づいて、カーナビゲーション装置７４、ＴＶ装置７５、及びラジオ装置７６に関する各操作画面を適宜切り替えて操作表示部に表示する制御処理を行い、スピーカー（図示せず）への音声出力を切り替える制御処理等を行う。なお、カーナビゲーション装置７４、ＴＶ装置７５、及びラジオ装置７６夫々の機能自体は公知であり、簡便のため説明を省略する。
【００３６】
ＣＰＵ２０は、記憶部２２に予め記憶された制御プログラム６３を読み出して実行することにより、入出力Ｉ／Ｆ２４に接続された車載機器に対して上述のような制御処理を行う。また、ＣＰＵ２０は、制御処理を行う過程の演算等において発生した一時的なデータをＲＡＭ２１に記憶しながら処理を進める。ＲＡＭ２１は、ＳＲＡＭ又はＤＲＡＭ等のメモリ素子で構成されており、ＣＰＵ２０の処理過程で発生する種々のデータ等を一時的に記憶する。記憶部２２は、例えばＥＥＰＲＯＭ又はフラッシュメモリ等の書換え可能な不揮発性のメモリ素子で構成される。記憶部２２には、制御プログラム６３、制御プログラム６３を書換える際の制御処理を行う書換処理プログラムＢ６４が予め記憶されている。
【００３７】
書換処理プログラムＢ６４は、外部装置３からアクセスされた場合に、ＣＰＵ２０にて実行されるプログラムである。ＣＰＵ２０は、書換処理プログラムＢ６４を実行した場合、外部装置３から送られてくる書換プログラムをＲＡＭ２１に書き込む処理、ＲＡＭ２１に書き込んだ書換プログラムに従って制御プログラム６３を書換える処理等を行う。
なお、通信Ｉ／Ｆ２３は、ＥＣＵ−Ａ１が有する通信Ｉ／Ｆ１３と同等であるため説明を省略する。
【００３８】
図５は、外部装置３の構成例を示すブロック図である。
外部装置３は、ＣＰＵ３０、ＲＡＭ３１、ＲＯＭ３２、記憶装置３３、操作表示部３４、及び通信Ｉ／Ｆ３５等を備えている。外部装置３は、ＥＣＵの制御プログラムを書換えるときに通信Ｉ／Ｆ３５によりＬＡＮ  Ｉ／Ｆ４に接続され、ＣＡＮ等のプロトコルに従って車輌１０１に搭載された複数のＥＣＵとの間でデータの送受信を行う。
【００３９】
ＣＰＵ３０は、ＲＯＭ３２に予め記憶された制御プログラム６５を読み出して実行することにより、ＥＣＵ−Ａ１から車輌１０１の動作パターンを取得し、車輌１０１に搭載された複数のＥＣＵに対して、各ＥＣＵの制御プログラムを書換える書換プログラムを送信する。また、ＣＰＵ３０は、制御処理を行う過程の演算等において発生した一時的なデータをＲＡＭ３１に記憶しながら処理を進める。ＲＡＭ３１は、ＳＲＡＭ又はＤＲＡＭ等のメモリ素子で構成されており、ＣＰＵ３０の処理過程で発生する種々のデータ等を一時的に記憶する。ＲＯＭ３２は、例えばＥＥＰＲＯＭ等の書換え可能な不揮発性のメモリ素子で構成される。
【００４０】
記憶装置３３は、例えばＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disk）−ＲＯＭ、ＳＤ（Secure Digital）メモリ、ＵＳＢ（Universal Serial Bus）メモリ等であり、プログラム管理テーブル６６、書換プログラムファイルデータベース（以下、書換プログラムファイルＤＢと表記する）６７を記憶している。図６は、プログラム管理テーブル６６の一例を示す図表である。プログラム管理テーブル６６は、動作パターンのパターンＩＤに対応する各ＥＣＵの書換プログラムファイル名を記述したテーブルである。例えば、パターンＩＤが「１」の動作パターンは、高速走行が主体のパターンであり、ＥＣＵ−Ａ１の制御プログラム６０を書換えるための書換プログラムは書換プログラムファイル（＃１１１）であり、ＥＣＵ−Ｂ２の制御プログラム６３を書換えるための書換プログラムは書換プログラムファイル（＃２１１）である。
【００４１】
書換プログラムファイルＤＢ６７は、プログラム管理テーブル６６に記述された書換プログラムファイルを格納したデータベースである。具体的には、ＥＣＵ−Ａ１用の書換プログラムファイル（＃１１１）等、及びＥＣＵ−Ｂ２用の書換プログラムファイル（＃２１１）等が書換プログラムファイルＤＢ６７に格納されている。
【００４２】
操作表示部３４は、例えば液晶タッチパネルであり、画面上に操作画面を表示し、作業員による操作入力信号を受け付ける。例えば、操作表示部３４は、通信Ｉ／Ｆ３５がＬＡＮ  Ｉ／Ｆ４に接続された後、車輌１０１に搭載されたＥＣＵと通信可能状態になったこと、及び書換え作業の開始ボタンを表示し、作業員による開始ボタンへのタッチを受け付け、書換え作業の進捗状況等を表示する。
【００４３】
通信Ｉ／Ｆ３５は、ＬＡＮ  Ｉ／Ｆ４に接続可能であり、ＬＡＮ  Ｉ／Ｆ４及び車載ＬＡＮを介して、車輌１０１に搭載されたＥＣＵとの間で、ＣＡＮ等のプロトコルに従ったデータの送受信を行う。通信Ｉ／Ｆ３５は、ＣＰＵ３０から与えられたデータを送信し、車載ＬＡＮを介して受信したデータをＣＰＵ３０へ与える。なお、通信Ｉ／Ｆ３５は、ケーブル等を介してＬＡＮ  Ｉ／Ｆ４に有線接続される構成でもよいし、無線通信にて車載ＬＡＮに無線接続される構成でもよい。
【００４４】
次に、プログラム書換システム１００による各ＥＣＵの制御プログラムを書換える書換処理について説明する。図７は、外部装置３における書換処理の手順を示すフローチャートであり、図８は、ＥＣＵ−Ａ１における書換処理の手順を示すフローチャートである。外部装置３のＣＰＵ３０は、以下に説明する一連の書換処理を制御プログラム６５により実行する。ＣＰＵ３０は、通信Ｉ／Ｆ３５がＬＡＮ  Ｉ／Ｆ４に接続され、車輌１０１に搭載されたＥＣＵと通信可能状態になった後、車輌１０１の動作パターンのパターンＩＤ（識別情報）を要求するパターンＩＤ要求を通信Ｉ／Ｆ３５からＥＣＵ−Ａ１へ送信する（Ｓ１１）。外部装置３は、パターンＩＤ要求に対してＥＣＵ−Ａ１から送信されるパターンＩＤを通信Ｉ／Ｆ（受信部）３５により受信する（Ｓ１２）。
【００４５】
受信したパターンＩＤは、ＲＡＭ３１に書き込まれ、ＣＰＵ３０は、ＲＡＭ３１に書き込まれたパターンＩＤを読み出し、パターンＩＤに対応する書換プログラムをプログラム管理テーブル６６から抽出する（Ｓ１３）。例えば、ＣＰＵ３０は、パターンＩＤが「２」である場合、ＥＣＵ−Ａ１用として書換プログラムファイル（＃１２１）を抽出し、ＥＣＵ−Ｂ２用として書換プログラムファイル（＃２２１）を抽出する（図６参照）。外部装置３のＣＰＵ３０は、抽出した書換プログラムを書換プログラムファイルＤＢ６７から読み出し、通信Ｉ／Ｆ（プログラム送信部）３５からＥＣＵ−Ａ１及びＥＣＵ−Ｂ２へ送信する（Ｓ１４）。上述の例では、外部装置３は、ＥＣＵ−Ａ１へ書換プログラムファイル（＃１２１）を送信し、ＥＣＵ−Ｂ２へ書換プログラムファイル（＃２２１）を送信する。
【００４６】
一方、ＥＣＵ−Ａ１は、書換処理プログラムＡ６１による処理に基づき一連の書換処理を実行する。ＥＣＵ−Ａ１のＣＰＵ１０は、ステップＳ１１にて外部装置３が送信したパターンＩＤ要求を通信Ｉ／Ｆ１３によって受信する（Ｓ２１）。即ち、ＥＣＵ−Ａ１のＣＰＵ１０は、車載ＬＡＮを介して外部装置３からのアクセスを通信Ｉ／Ｆ（受付部）１３にて受け付ける。外部装置３からのアクセスを受け付けた場合、ＣＰＵ（特定部）１０は、動作履歴テーブル６２に蓄積してある情報に基づいて、車輌１０１の動作パターンを特定する処理を行う（Ｓ２２）。なお、車輌１０１の動作パターンを特定する処理の詳細については、図９及び図１０に示すフローチャートに基づいて後述する。
【００４７】
ＥＣＵ−Ａ１のＣＰＵ１０は、車輌１０１の動作パターンの特定処理を行った後、特定した動作パターンのパターンＩＤを通信Ｉ／Ｆ（識別情報送信部）１３から外部装置３へ送信する（Ｓ２３）。ＥＣＵ−Ａ１は、送信したパターンＩＤに基づいて外部装置３がステップＳ１４にて送信した書換プログラムを通信Ｉ／Ｆ（受信部）１３により受信し、ＲＡＭ１１に記憶する（Ｓ２４）。上述の例では、外部装置３から送信される書換プログラムファイル（＃１２１）をＲＡＭ１１に記憶することになる。書換処理プログラムＡ６１は、ＲＡＭ１１に記憶した書換プログラムに処理を渡し、ＣＰＵ（書換部）１０は、ＲＡＭ１１に記憶した書換プログラムを実行することにより、制御プログラム６０を書換える（Ｓ２５）。
【００４８】
なお、ＥＣＵ−Ｂ２では、書換処理プログラムＢ６４による処理に基づき一連の書換処理を実行するが、ＥＣＵ−Ｂ２における処理は、図８に示す手順のうちステップＳ２１〜ステップＳ２３が省略され、ステップＳ２４及びステップＳ２５を実行するものである。即ち、ＥＣＵ−Ｂ２は、ＥＣＵ−Ａ１が送信したパターンＩＤに基づいて外部装置３がステップＳ１４にて送信した書換プログラムを通信Ｉ／Ｆ２３により受信し、ＲＡＭ２１に書き込んで記憶する（Ｓ２４）。上述の例では、外部装置３から送信される書換プログラムファイル（＃２２１）をＲＡＭ２１に記憶することになる。書換処理プログラムＢ６４は、ＲＡＭ２１に記憶した書換プログラムに処理を渡し、ＣＰＵ２０は、ＲＡＭ２１に記憶した書換プログラムを実行することにより、制御プログラム６３を書換える（Ｓ２５）。
【００４９】
図９及び図１０は、ＥＣＵ−Ａ１における車輌１０１の動作パターンの特定処理の手順を示すフローチャートである。ＥＣＵ−Ａ１のＣＰＵ１０は、動作履歴テーブル６２に蓄積してある情報に基づいて、ブレーキ操作の頻度を算出する（Ｓ３１）。動作履歴テーブル６２には、ブレーキ操作に関する信号が、絶対時刻又は車輌１０１の動作開始からの経過時間に対応付けて蓄積されており、ＣＰＵ１０は、例えば、車輌１０１の総動作時間及びブレーキ操作の総実行回数に基づいて、所定時間（例えば、数時間）におけるブレーキ操作の回数（頻度）を算出する。なお、このような算出方法以外の方法でブレーキ操作の頻度を算出してもよい。例えば、ＣＰＵ１０は、動作パターンの特定処理を行う時点から所定期間前までの期間におけるブレーキ操作の頻度、車輌１０１のイグニッションキーがオンされてからオフされるまでの間におけるブレーキ操作の頻度、所定速度以上での走行中におけるブレーキ操作の頻度等を算出してもよい。
【００５０】
ＣＰＵ１０は、算出した頻度が所定値以上であるか否かを判断し（Ｓ３２）、所定値以上であると判断した場合（Ｓ３２：ＹＥＳ）、車輌１０１の動作パターンを、パターンＩＤが「２」の動作パターン（図６では「ブレーキングが高頻度」の動作パターン）に特定する（Ｓ３３）。算出した頻度が所定値以上でないと判断した場合（Ｓ３２：ＮＯ）、ＣＰＵ１０は、連続走行時間を算出する（Ｓ３４）。動作履歴テーブル６２には、イグニッションスイッチのオン／オフに関する信号が、絶対時刻又は車輌１０１の動作開始からの経過時間に対応付けて蓄積されており、ＣＰＵ１０は、イグニッションスイッチがオンされてからオフされるまでの時間（連続走行時間）をそれぞれ算出する。なお、ＣＰＵ１０は、例えば、車輌１０１が走行を開始したタイミングを、車輌１０１の走行速度が０である状態から０でなくなった時点とし、車輌１０１が停止したタイミングを、車輌１０１の走行速度が０でない状態から０となった時点として、その間の時間を連続走行時間として算出してもよい。
【００５１】
ＣＰＵ１０は、算出した連続走行時間の総数（個数）に対する、所定時間以上の連続走行時間の数の割合を算出する（Ｓ３５）。例えば、１００個の連続走行時間を算出し、そのうちで、所定時間（例えば２時間）以上の連続走行時間を１０個算出していた場合、ＣＰＵ１０は、１０％を算出する。
ＣＰＵ１０は、算出した割合が所定値以上であるか否かを判断し（Ｓ３６）、所定値以上であると判断した場合（Ｓ３６：ＹＥＳ）、車輌１０１の動作パターンを、パターンＩＤが「３」の動作パターン（図６では「長時間連続走行が主体」の動作パターン）に特定する（Ｓ３７）。算出した割合が所定値以上でないと判断した場合（Ｓ３６：ＮＯ）、ＣＰＵ１０は、走行速度が所定速度以上である時間（高速走行時間）を算出する（Ｓ３８）。動作履歴テーブル６２には、車輌１０１の走行速度に関する信号が、絶対時刻又は車輌１０１の動作開始からの経過時間に対応付けて蓄積されており、ＣＰＵ１０は、車輌１０１の走行速度が所定速度（例えば時速８０ｋｍ）以上である時間を算出する。またＣＰＵ１０は、車輌１０１の総動作時間（総走行時間）に対する高速走行時間の割合を算出する（Ｓ３９）。
【００５２】
ＣＰＵ１０は、算出した割合が所定値以上であるか否かを判断し（Ｓ４０）、所定値以上であると判断した場合（Ｓ４０：ＹＥＳ）、車輌１０１の動作パターンを、パターンＩＤが「１」の動作パターン（図６では「高速走行が主体」の動作パターン）に特定する（Ｓ４１）。算出した割合が所定値以上でないと判断した場合（Ｓ４０：ＮＯ）、ＣＰＵ１０は、充電電流の発生頻度を算出する（Ｓ４２）。動作履歴テーブル６２には、充電電流の発生に関する信号が、絶対時刻又は車輌１０１の動作開始からの経過時間に対応付けて蓄積されており、ＣＰＵ１０は、例えば、車輌１０１の総動作時間及び充電電流が発生した総時間に基づいて、総動作時間（総走行時間）に対する充電電流の発生時間の割合を、充電電流の発生頻度として算出する。また例えば、ＣＰＵ１０は、動作パターンの特定処理を行う時点から所定期間前までの期間に対する充電電流の発生時間の割合、車輌１０１のイグニッションキーがオンされてからオフされるまでの時間に対する充電電流の発生時間の割合等を、充電電流の発生頻度として算出してもよい。更に、ＣＰＵ１０は、充電電流の電流量を積算し、車輌１０１の総動作時間及び充電電流の総電流量に基づいて、所定時間（例えば、数時間）における充電電流量を、充電電流の発生頻度として算出してもよい。また、ＣＰＵ１０は、動作パターンの特定処理を行う時点から所定期間前までの期間における充電電流量、車輌１０１のイグニッションキーがオンされてからオフされるまでの間における充電電流量等を、充電電流の発生頻度として算出してもよい。
【００５３】
ＣＰＵ１０は、算出した充電電流の発生頻度が所定値以上であるか否かを判断し（Ｓ４３）、所定値以上であると判断した場合（Ｓ４３：ＹＥＳ）、車輌１０１の動作パターンを、パターンＩＤが「４」の動作パターン（図６では「充電電流の検出が高頻度」の動作パターン）に特定する（Ｓ４４）。算出した充電電流の発生頻度が所定値以上でないと判断した場合（Ｓ４３：ＮＯ）、ＣＰＵ１０は、車輌１０１の動作パターンを、パターンＩＤが「５」の動作パターン（図６では「上記以外」の動作パターン）に特定する（Ｓ４５）。車輌１０１の動作パターンのパターンＩＤを特定した場合、ＣＰＵ１０は、図８のフローチャート中のステップＳ２３に処理を移行する。
【００５４】
本実施形態１において、ＥＣＵ−Ａ１が、動作履歴テーブル６２に蓄積された情報に基づいて、車輌１０１の動作パターンを特定する処理は、上述した処理に限らず、図９及び図１０に示した処理は一例である。また、特定する動作パターンの数も５つに限らない。ＥＣＵ−Ａ１が、動作履歴テーブル６２に蓄積された車輌１０１の動作状態に係る情報に基づいて、車輌１０１の動作状態に関する所定条件に従って規定される複数の動作パターンのうちからいずれかを特定できる処理であれば、どのような処理でもよい。なお、ＥＣＵ−Ａ１で特定された動作パターンに応じて、各ＥＣＵの制御プログラムが更新されるので、各ＥＣＵが最大限効率よく動作できるような制御プログラムへの書換えが可能となるように動作パターンを設定することが望ましい。
【００５５】
本実施形態１では、車輌１０１の動作パターンに応じた書換プログラムにて各ＥＣＵの制御プログラムが書換えられるので、各ＥＣＵは動作パターンに応じて最適な制御を行うことができ、車輌性能を向上させることができる。
なお、各ＥＣＵの制御プログラムは、必ずしも書換えられる必要はない。図１１は、プログラム管理テーブル６６のその他の例を示す図表である。図１１に示す例では、パターンＩＤが「１」の動作パターンのときはＥＣＵ−Ａ１に対する書換プログラムがなく、パターンＩＤが「３」の動作パターンのときはＥＣＵ−Ｂ２に対する書換プログラムがない場合を想定している。このようなプログラム管理テーブル６６を用いる場合、車輌１０１の動作パターンにパターンＩＤが「１」の動作パターンが特定された場合、外部装置３からＥＣＵ−Ａ１への書換プログラムの送信は行われない。これにより、制御プログラムの書換えが必要なＥＣＵへのみ書換プログラムが送信されるので、通信負荷を軽減できる。
【００５６】
本実施形態１では、各ＥＣＵは、外部装置３から取得した書換プログラムにて制御プログラムを書換えるので、複数の書換プログラムを各ＥＣＵ内に保持しておく必要がなく、余分なデータ記憶領域を設けなくてもよい。
また、車輌１０１の動作状態を示す情報の蓄積、蓄積された情報に基づく車輌１０１の動作パターンの特定は、車輌１０１に搭載された１つのＥＣＵ（本実施形態１ではＥＣＵ−Ａ１）にて行われる。よって、その他のＥＣＵは、動作履歴テーブル６２を記憶しておく必要がなく、余分なデータ記憶領域を設けなくてもよい。また、他のＥＣＵは、動作パターンの特定処理を行う必要がないので、処理負荷を軽減できる。
更に、車輌１０１の動作パターンのパターンＩＤは、外部装置３と１つのＥＣＵとの間で１度だけ送受信すればよく、通信効率がよい。
【００５７】
本実施形態１では、動作履歴テーブル６２の情報に基づいて車輌１０１の動作パターンを特定する処理は、外部装置３が車載ＬＡＮに接続され、車輌１０１に搭載されたＥＣＵと通信可能となった後に、ＥＣＵ−Ａ１にて行われていた。このほかに、ＥＣＵ−Ａ１は、車輌１０１の動作時間（走行時間）が所定時間（例えば１００時間）以上となった場合、走行距離が所定距離（例えば１００ｋｍ）以上となった場合等の所定のタイミングで、車輌１０１の動作パターンを特定してもよい。また、動作パターンは特定せずに、動作パターンを特定する際に用いる各種情報、例えば、ブレーキ操作の頻度、連続走行時間、高速走行時間、充電電流の発生頻度を、上述した所定のタイミングで算出しておいてもよい。この場合、ＥＣＵ−Ａ１は、外部装置３と通信可能となった場合に、既に特定した動作パターンのパターンＩＤ、又は既に算出した情報に基づいて動作パターンを特定し、特定した動作パターンのパターンＩＤを外部装置３へ送信すればよい。
【００５８】
本実施形態１では、ＥＣＵ−Ａ１が、車輌１０１の動作状態を示す情報の蓄積、蓄積された情報に基づく車輌１０１の動作パターンの特定等を行っていたが、これらの処理は、他のＥＣＵ（例えばＥＣＵ−Ｂ２）が行ってもよい。また、上述した処理を全てのＥＣＵが個別に行ってもよい。各ＥＣＵが個別に上述の処理を行う場合、各ＥＣＵで動作履歴テーブル６２に蓄積される情報を異ならせてもよい。この場合、各ＥＣＵにおいて、それぞれ蓄積された情報に基づく動作パターンに応じた制御プログラムへの書換えが可能となり、ＥＣＵのそれぞれに適した制御プログラムへの書換えが可能となる。
【００５９】
（実施形態２）
以下に、実施形態２のプログラム書換システムについて説明する。図１２は、実施形態２に係るプログラム書換システム１００の構成例を示すブロック図である。本実施形態２のプログラム書換システム１００は、ＥＣＵ−Ａ１、ＥＣＵ−Ｂ２等の複数のＥＣＵ及び外部装置３のほかに、動作管理装置（蓄積装置）５を備える。本実施形態２におけるＥＣＵ−Ａ１は、記憶部１２に動作履歴テーブル６２を記憶しておらず、さらに書換処理プログラムＡ６１の代わりに書換処理プログラムＢ６４を記憶している点で、上述の実施形態１におけるＥＣＵ−Ａ１と相違する。ただし、ＥＣＵ−Ａ１は、車載機器の制御する機能に関しては、上述の実施形態１におけるＥＣＵ−Ａ１と同様に車内照明７１、警報器７２、及びヘッドライト７３等を制御する（図２参照）。本実施形態２におけるＥＣＵ−Ｂ２は、上述の実施形態１におけるＥＣＵ−Ｂ２と同等である。
【００６０】
図１３は、動作管理装置５の構成例を示すブロック図である。
動作管理装置５は、上述の実施形態１においてＥＣＵ−Ａ１が記憶していた動作履歴テーブル６２をＥＣＵ−Ａ１に代わって記憶する装置である。動作管理装置５は、ＣＰＵ５０、ＲＡＭ５１、記憶部５２、通信Ｉ／Ｆ５３を備えている。ＣＰＵ５０は、記憶部５２に予め記憶された制御プログラム６８を読み出して実行することにより、各ＥＣＵの制御プログラムの書換処理を行う。また、ＣＰＵ５０は演算処理等において発生した一時的なデータをＲＡＭ５１に記憶しながら処理を進める。ＲＡＭ５１は、ＳＲＡＭ又はＤＲＡＭ等のメモリ素子で構成されており、ＣＰＵ５０の処理過程で発生する種々のデータ等を一時的に記憶する。
【００６１】
記憶部５２は、例えばＥＥＰＲＯＭ又はフラッシュメモリ等の書換え可能な不揮発性のメモリ素子で構成される。記憶部５２には、制御プログラム６８、車輌１０１の動作状態を示す情報が蓄積される動作履歴テーブル６２が記憶されている。
動作管理装置５のＣＰＵ５０は、上述の実施形態１におけるＥＣＵ−Ａ１のＣＰＵ１０と同様に、車載ＬＡＮを介して、車輌１０１の動作状態を示す情報に関する信号を受信する。具体的には、ＣＰＵ５０は、イグニッションセンサ、ブレーキセンサ、車速センサ、ハンドル舵角センサ、及び電流センサ８４からの出力信号を取得する。そして、ＣＰＵ５０は、受信した情報を、例えば絶対時刻、又は車輌１０１の動作開始からの経過時間に対応付けて動作履歴テーブル６２に逐次蓄積する。なお、ＣＰＵ５０は、上述した信号を、車載ＬＡＮを介してではなく、直接接続された信号線を介して取得してもよい。
【００６２】
通信Ｉ／Ｆ５３は、ＥＣＵ−Ａ１が有する通信Ｉ／Ｆ１３及びＥＣＵ−Ｂ２が有する通信Ｉ／Ｆ２３と同等である。
【００６３】
次に、本実施形態２のプログラム書換システム１００によって各ＥＣＵの制御プログラムを書換える書換処理について、図７及び図８に基づいて説明する。外部装置３のＣＰＵ３０は、以下に説明する一連の書換処理を制御プログラム６５により実行する。ＣＰＵ３０は、通信Ｉ／Ｆ３５がＬＡＮ  Ｉ／Ｆ４に接続され、車輌１０１に搭載されたＥＣＵと通信可能状態になった後、車輌１０１の動作パターンのパターンＩＤを要求するパターンＩＤ要求を通信Ｉ／Ｆ３５から動作管理装置５へ送信する（Ｓ１１）。外部装置３は、パターンＩＤ要求に対して動作管理装置５から送信されるパターンＩＤを通信Ｉ／Ｆ３５により受信する（Ｓ１２）。
【００６４】
受信したパターンＩＤは、ＲＡＭ３１に書き込まれ、ＣＰＵ３０は、ＲＡＭ３１に書き込まれたパターンＩＤを読み出し、パターンＩＤに対応する書換プログラムをプログラム管理テーブル６６から抽出する（Ｓ１３）。例えば、ＣＰＵ３０は、パターンＩＤが「２」である場合、ＥＣＵ−Ａ１用として書換プログラムファイル（＃１２１）を抽出し、ＥＣＵ−Ｂ２用として書換プログラムファイル（＃２２１）を抽出する（図６参照）。外部装置３のＣＰＵ３０は、抽出した書換プログラムを書換プログラムファイルＤＢ６７から読み出し、通信Ｉ／Ｆ３５からＥＣＵ−Ａ１及びＥＣＵ−Ｂ２へ送信する（Ｓ１４）。上述の例では、外部装置３は、ＥＣＵ−Ａ１へ書換プログラムファイル（＃１２１）を送信し、ＥＣＵ−Ｂ２へ書換プログラムファイル（＃２２１）を送信する。
【００６５】
動作管理装置５は、制御プログラム６８による処理に基づき書換処理を実行するが、動作管理装置５における処理は、図８に示す手順のうちステップＳ２４及びステップＳ２５が省略され、ステップＳ２１〜ステップＳ２３を実行するものである。即ち、動作管理装置５のＣＰＵ５０は、ステップＳ１１にて外部装置３が送信したパターンＩＤ要求を通信Ｉ／Ｆ５３によって受信した場合（Ｓ２１）、動作履歴テーブル６２に蓄積してある情報に基づいて、車輌１０１の動作パターンを特定する処理を行う（Ｓ２２）。なお、ＣＰＵ５０は、上述の実施形態１において図９及び図１０を用いて説明した処理と同様の処理を行い、車輌１０１の動作パターンを特定する。
動作管理装置５のＣＰＵ５０は、車輌１０１の動作パターンの特定処理を行った後、特定した動作パターンのパターンＩＤを通信Ｉ／Ｆ（識別情報送信部）５３から外部装置３へ送信する（Ｓ２３）。
【００６６】
ＥＣＵ−Ａ１は、記憶部１２に記憶した書換処理プログラムＢ６４による処理に基づき一連の書換処理を実行するが、ＥＣＵ−Ａ１における処理は、図８に示す手順のうちステップＳ２１〜ステップＳ２３が省略され、ステップＳ２４及びステップＳ２５を実行するものである。即ち、ＥＣＵ−Ａ１は、動作管理装置５が送信したパターンＩＤに基づいて外部装置３がステップＳ１４にて送信した書換プログラムを通信Ｉ／Ｆ１３により受信し、ＲＡＭ１１に記憶する（Ｓ２４）。上述の例では、外部装置３から送信される書換プログラムファイル（＃１２１）をＲＡＭ１１に記憶することになる。書換処理プログラムＢ６４は、ＲＡＭ１１に記憶した書換プログラムに処理を渡し、ＣＰＵ１０は、ＲＡＭ１１に記憶した書換プログラムを実行することにより、制御プログラム６０を書換える（Ｓ２５）。なお、ＥＣＵ−Ｂ２についても、ＥＣＵ−Ａ１と同様の処理手順となるので、簡便のため説明を省略する。
【００６７】
本実施形態２においても、車輌１０１の動作パターンに応じた書換プログラムにて各ＥＣＵの制御プログラムが書換えられるので、各ＥＣＵは動作パターンに応じて最適な制御を行うことができ、車輌性能を向上させることができる。また、各ＥＣＵは、外部装置３から取得した書換プログラムにて制御プログラムを書換えるので、複数の書換プログラムを各ＥＣＵ内に保持しておく必要がなく、余分なデータ記憶領域を設けなくてもよい。
【００６８】
本実施形態２では、車輌１０１の動作状態を示す情報の蓄積、蓄積された情報に基づく車輌１０１の動作パターンの特定は、車輌１０１に搭載された動作管理装置５にて行われる。よって、動作管理装置５が車輌１０１の動作状態を一括して管理できると共に、各ＥＣＵは、動作履歴テーブル６２を記憶しておく必要がないので余分なデータ記憶領域を設けなくてもよく、動作パターンの特定処理を行う必要がないので処理負荷を軽減できる。また本実施形態２においても、車輌１０１の動作パターンのパターンＩＤは、外部装置３と動作管理装置５との間で１度だけ送受信すればよく、通信効率がよい。
【００６９】
また本実施形態２においても、動作管理装置５は、車輌１０１の動作時間（走行時間）が所定時間（例えば１００時間）以上となった場合、走行距離が所定距離（例えば１００ｋｍ）以上となった場合等の所定のタイミングで、車輌１０１の動作パターンを特定してもよい。また、動作管理装置５は、動作パターンを特定する際に用いる各種情報、例えば、ブレーキ操作の頻度、連続走行時間、高速走行時間、充電電流の発生頻度を、上述した所定のタイミングで算出しておいてもよい。
【００７０】
（実施形態３）
以下に実施形態３のプログラム書換システムについて説明する。図１４は、実施形態３に係るプログラム書換システム１００の構成例を示すブロック図である。本実施形態３のプログラム書換システム１００は、ＥＣＵ−Ａ１、ＥＣＵ−Ｂ２等の複数のＥＣＵと、外部装置３と、上述の実施形態２における動作管理装置５の機能を有するコネクタ９とを備える。本実施形態３におけるＥＣＵ−Ａ１、ＥＣＵ−Ｂ２及び外部装置３は、上述の実施形態２におけるＥＣＵ−Ａ１、ＥＣＵ−Ｂ２及び外部装置３と同等である。
【００７１】
図１５は、コネクタ９の構成例を示すブロック図である。
コネクタ９は、上述の実施形態２における動作管理装置５の各構成部５０〜５３と、信号線接続部９０とを備える。信号線接続部９０は、蓄電池８１又はバッテリ８２からの電力が供給される電源線、イグニッションセンサ、ブレーキセンサ、車速センサ、ハンドル舵角センサ、及び電流センサ８４等の各種センサからの出力信号が送信される信号線等との接続を行うインタフェースである。本実施形態３のコネクタ９は、車輌１０１内の電気的配線の一部を構成しており、車載ＬＡＮと信号線とを中継する機能を有しているが、このような構成に限らない。例えば、信号線と信号線とを中継する機能、車載ＬＡＮと車載ＬＡＮとを中継する機能を備えたコネクタに、実施形態２における動作管理装置５の機能を設けてもよい。
【００７２】
本実施形態３のプログラム書換システム１００において、ＥＣＵ−Ａ１、ＥＣＵ−Ｂ２及び外部装置３は、上述の実施形態２におけるＥＣＵ−Ａ１、ＥＣＵ−Ｂ２及び外部装置３と同一の処理を行う。従って、ＥＣＵ−Ａ１、ＥＣＵ−Ｂ２及び外部装置３がそれぞれ行う処理については説明を省略する。
【００７３】
また本実施形態３のプログラム書換システム１００において、コネクタ９は、上述の実施形態２における動作管理装置５と同一の処理を行う。即ち、コネクタ９は、記憶部５２に記憶してある制御プログラム６８に基づき書換処理を実行し、図８に示す手順のうちステップＳ２１〜ステップＳ２３を実行する。具体的には、コネクタ９のＣＰＵ５０は、外部装置３が送信したパターンＩＤ要求を通信Ｉ／Ｆ５３によって受信した場合（Ｓ２１）、動作履歴テーブル６２に蓄積してある情報に基づいて、車輌１０１の動作パターンを特定する処理を行う（Ｓ２２）。なおここでも、ＣＰＵ５０は、上述の実施形態１において図９及び図１０を用いて説明した処理と同様の処理を行い、車輌１０１の動作パターンを特定する。そして、コネクタ９のＣＰＵ５０は、車輌１０１の動作パターンを特定した後、特定した動作パターンのパターンＩＤを通信Ｉ／Ｆ（識別情報送信部）５３から外部装置３へ送信する（Ｓ２３）。
【００７４】
本実施形態３においても、車輌１０１の動作パターンに応じた書換プログラムにて各ＥＣＵの制御プログラムが書換えられるので、各ＥＣＵは動作パターンに応じて最適な制御を行うことができ、車輌性能を向上させることができる。また、各ＥＣＵは、外部装置３から取得した書換プログラムにて制御プログラムを書換えるので、複数の書換プログラムを各ＥＣＵ内に保持しておく必要がなく、余分なデータ記憶領域を設けなくてもよい。
【００７５】
本実施形態３では、車輌１０１の動作状態を示す情報の蓄積、蓄積された情報に基づく車輌１０１の動作パターンの特定は、車輌１０１に搭載されたコネクタ９にて行われる。よって、コネクタ９が車輌１０１の動作状態を一括して管理できると共に、各ＥＣＵは、動作履歴テーブル６２を記憶しておく必要がないので余分なデータ記憶領域を設けなくてもよく、動作パターンの特定処理を行う必要がないので処理負荷を軽減できる。また本実施形態３では、各種の信号線が接続されるコネクタ９にて、車輌１０１の動作状態を示す情報が蓄積されるので、蓄積すべき情報（信号）を効率よく収集できる。
【００７６】
また本実施形態３においても、コネクタ９は、車輌１０１の動作時間（走行時間）が所定時間（例えば１００時間）以上となった場合、走行距離が所定距離（例えば１００ｋｍ）以上となった場合等の所定のタイミングで、車輌１０１の動作パターンを特定してもよい。また、コネクタ９は、動作パターンを特定する際に用いる各種情報、例えば、ブレーキ操作の頻度、連続走行時間、高速走行時間、充電電流の発生頻度を、上述した所定のタイミングで算出しておいてもよい。
【００７７】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７８】
１  ＥＣＵ−Ａ（制御装置）
２  ＥＣＵ−Ｂ（制御装置）
３  外部装置（プログラム出力装置）
５  動作管理装置（蓄積装置）
９  コネクタ
１０  ＣＰＵ（書換部、特定部）
１３  通信Ｉ／Ｆ（識別情報送信部、受付部、受信部）
３３  記憶装置（記憶部）
３５  通信Ｉ／Ｆ（受信部、プログラム送信部）
６０  制御プログラム
６２  動作履歴テーブル（蓄積部）
６３  制御プログラム
【図１】
2015041231.tif 000003
【図２】
2015041231.tif 000004
【図３】
2015041231.tif 000005
【図４】
2015041231.tif 000006
【図５】
2015041231.tif 000007
【図６】
2015041231.tif 000008
【図７】
2015041231.tif 000009
【図８】
2015041231.tif 000010
【図９】
2015041231.tif 000011
【図１０】
2015041231.tif 000012
【図１１】
2015041231.tif 000013
【図１２】
2015041231.tif 000014
【図１３】
2015041231.tif 000015
【図１４】
2015041231.tif 000016
【図１５】
2015041231.tif 000017