(57)【要約】【課題】適用される法的規制等の異なる複数種類の車両に共通的に用いられる電子装置において、ソフトウェアの開発コストを増加させることなく、車両に応じた動作を適切に行う。【解決手段】処理装置と、処理装置が起動時に実行するブートプログラムが保存される共通記憶領域とブートプログラムの実行開始後に実行される制御プログラムが保存される個別記憶領域とを有する記憶装置と、を備え、処理装置は、共通記憶領域に保存されている属性情報に基づいて、個別記憶領域に保存されている制御プログラムのうち、属性情報に応じてその実行が許可されている機能を実行するプログラム部分を選択的に実行するよう構成されている。【選択図】図１
2019159369.tif 000002
【特許請求の範囲】
【請求項１】
電子装置であって、
処理装置と、
前記処理装置が起動時に実行するブートプログラムが保存される共通記憶領域と、ブートプログラムの実行開始後に実行される制御プログラムが保存される個別記憶領域と、を有する記憶装置と、
を備え、
前記処理装置は、前記共通記憶領域に保存されている属性情報に基づいて、前記個別記憶領域に保存されている制御プログラムのうち、前記属性情報に応じてその実行が許可されている機能を実行するプログラム部分を選択的に実行するよう構成されている、電子装置。
【請求項２】
前記処理装置は、前記属性情報に応じて使用することが規定されているパラメータを取得し、当該取得したパラメータを用いて前記プログラム部分を実行する、よう構成されている、請求項１に記載の電子装置。
【請求項３】
前記処理装置は、更新指示と共に前記制御プログラムの更新用プログラムを受信したときは、当該受信した前記更新用プログラムにより前記個別記憶領域に保存されている制御プログラムを更新するよう構成されている、
請求項１又は２に記載の電子装置。
【請求項４】
請求項１ないし３のいずれか一項に記載の電子装置を備える車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば車両の動作を制御する電子装置に関する。
【背景技術】
【０００２】
自動車等の車両においては、その走行能力等に応じた法的規制又は業界規定の範囲内でその車両が動作するように、制御装置が設計されている。一方で、設計を共通化して開発コストを低減する観点から、同様に設計された制御装置を複数の種類の車両において共通的に用いることが行われている。この場合、制御装置は、搭載される車両の種類毎に、一部の装置の制御態様や動作パラメータ等を変更することで、それぞれの種類の車両がそれぞれ準拠すべき異なる規制の下で動作するように調整される。
【０００３】
しかしながら、この場合には、制御装置の処理ソフトウェアを変更してバージョンアップを図ろうとすると、搭載されている車両の種類に応じて、それぞれ異なる更新ソフトウェアを作成しなければならない。このため、上記の手法においては、多くの更新ソフトウェアを準備することに起因して、ソフトウェアバージョンアップに係る開発コストや保守コストが高くなる。
【０００４】
従来、制御プログラムに基づいて動作する電子装置において、更新用プログラムに含まれる更新モジュールの中から仕向先に対応する更新モジュールを電子装置が自身で選択し、自動的に適正な更新処理を行えるようにすることが知られている（特許文献１）。この電子装置は、複数の仕向け先のそれぞれに対応する複数の更新モジュールで構成された更新用プログラムを受信する。そして、自装置に予め設定された仕向先の情報に基づき、当該仕向先に対応する更新モジュールを選定し、当該選定した更新モジュールを用いて上記制御プログラムを更新する。
【０００５】
しかしながら、上記従来の電子装置では、複数の仕向先のそれぞれに対応する制御プログラムを更新モジュールとして個々に網羅的に作成して、複数の制御プログラムの集合体としての更新用プログラムを作成しなければならない。このため、開発負荷の面からは、仕向先毎に更新プログラムを準備する従来の手法と実質的な差は少ない。すなわち、上記従来の電子装置は、ソフトウェアに係る開発コストやその更新に係るコストの面で改善の余地がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２４８０３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記背景より、複数種類の車両に共通的に用いられる制御装置において、ソフトウェアの開発コストや更新コストを増加させることなく、準拠すべき法的規制や業界規制の観点等から各車両に応じた動作を適切に行えるようにすることである。
【課題を解決するための手段】
【０００８】
本発明の一の態様は、電子装置であって、処理装置と、前記処理装置が起動時に実行するブートプログラムが保存される共通記憶領域とブートプログラムの実行開始後に実行される制御プログラムが保存される個別記憶領域とを有する記憶装置と、を備え、前記処理装置は、前記共通記憶領域に保存されている属性情報に基づいて、前記個別記憶領域に保存されている制御プログラムのうち、前記属性情報に応じてその実行が許可されている機能を実行するプログラム部分を選択的に実行するよう構成されている。
本発明の他の態様によると、前記処理装置は、前記属性情報に応じて使用することが規定されているパラメータを取得し、当該取得したパラメータを用いて前記プログラム部分を実行する、よう構成されている。
本発明の他の態様によると、前記処理装置は、更新指示と共に前記制御プログラムの更新用プログラムを受信したときは、当該受信した前記更新用プログラムにより前記個別記憶領域に保存されている制御プログラムを更新するよう構成されている。
本発明の他の態様は、上記いずれかの電子装置を備える車両である。
【発明の効果】
【０００９】
本発明によれば、複数種類の車両に共通的に用いられる制御装置において、ソフトウェアの開発コストや更新コストを増加させることなく、準拠すべき法的規制や業界規制の観点等から各車両に応じた動作を適切に行えるようにすることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る電子制御装置の構成を示す図である。
【図２】図１に示す記憶装置に保存されるプログラム等の構成を示す図である。
【図３】図１に示す記憶装置に保存される属性情報の一例を示す図である。
【図４】図１に示す記憶装置に保存されるジャンプテーブルの一例を示す図である。
【図５】図１に示す記憶装置に保存されるパラメータリストの一例を示す図である。
【図６】図１に示す電子制御装置における実行準備処理の手順を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明の電子装置の一実施形態に係る電子装置である電子制御装置１２０の構成を示す図である。本電子制御装置１２０は、例えば、ＨＥＶ（Ｈｉｂｒｉｄ  Ｅｌｅｃｔｒｉｃ  Ｖｅｈｉｃｌｅ）等の車両（以下、ホスト車両）１００に搭載されてホスト車両１００の各種装置を制御するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｄｅｖｉｃｅ）である。
【００１２】
電子制御装置１２０は、処理装置１２２と、記憶装置１２４と、通信インタフェース（通信Ｉ／Ｆ）１２６と、を備える。通信Ｉ／Ｆ１２６は、電子制御装置１２０が、車両内ネットワークを構成するバスを介して他の制御装置と通信するための通信インタフェースである。通信Ｉ／Ｆ１２６は、例えば、車両内ネットワークを構成するＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）バスに接続された、ＣＡＮ通信規格に準拠する送受信器で構成される。
【００１３】
記憶装置１２４は、揮発性及び不揮発性の半導体メモリ等で構成され、共通記憶領域１３０と、個別記憶領域１３２と、作業用記憶領域１３４と、を含む。
【００１４】
図２は、記憶装置１２４における共通記憶領域１３０、個別記憶領域１３２、及び作業用記憶領域１３４に保存されるプログラム及び又はデータの構成を示す図である。共通記憶領域１３０は、本実施形態では不揮発性メモリで構成されており、処理装置１２２が起動時に実行するブートプログラム２００と、属性情報２０２と、が保存されている。属性情報２０２は、電子制御装置１２０が搭載されたホスト車両１００の属性を示す情報である。本実施形態では、属性情報２０２は、特に、ホスト車両１００が準拠すべき法律上の及び又は業界の規制の範囲を直接又は間接に示す情報や、ホスト車両１００が備える装置やデバイスを直接又は間接に表す情報等を含む。
【００１５】
図３は、属性情報２０２の一例を示す図である。図示の例では、属性情報２０２は、共通記憶領域１３０内の所定のアドレスＡ１から開始する位置に保存されている。図３に示す属性情報２０２には、モデルイヤーと、仕向地コードと、Ｎ個の装置コードと、ｎ個のデバイスコードが含まれている。ここで、Ｎ及びｎは、任意の整数である。
【００１６】
モデルイヤーとは、例えば、ホスト車両１００の型式を当該ホスト車両１００のリリース時期（例えば、販売開始時期）を示す西暦年で示したコードである。また、仕向地コードは、ホスト車両１００の仕向地を示すコードである。モデルイヤー及び仕向地コードは、ホスト車両１００が準拠すべき、仕向地における法律上の及び又は業界の、規制の範囲を間接的に示す情報として用いることができる。
【００１７】
装置コードは、ホスト車両１００が備える装置のうち、電子制御装置１２０の制御対象となり得る装置又は当該制御に用いられ得る装置の型式等を示す。また、デバイスコードは、ホスト車両１００が備えるセンサやアクチュエータ等のデバイスのうち、電子制御装置１２０の制御対象となり得るデバイス又は当該制御に用いられ得るデバイスの型式等を示す。装置コード及びデバイスコードは、ホスト車両１００が備える装置やデバイスを直接又は間接に表す情報として用いることができる。
【００１８】
図２に戻り、個別記憶領域１３２は、本実施形態では不揮発性メモリで構成されている。個別記憶領域１３２には、ブートプログラム２００の実行開始後に処理装置１２２により実行される制御プログラム２１０が保存される。制御プログラム２１０は、制御動作のメインプロセスを実行するメインプログラム２１２を含む。また、制御プログラム２１０は、内燃機関１０２、伝達装置１０４等の個々の制御対象についての制御動作を実行するための、複数のプログラムモジュールを含む。これらのプログラムモジュールは、メインプログラム２１２が、例えばファンクションコール等により、その処理を移して実行するプログラム部分である。
【００１９】
本実施形態では、これらのプログラムモジュールは、その機能毎に、その動作を異にする複数のモジュールで構成されている。例えば、制御プログラム２１０には、内燃機関１０２の動作を制御する機能（Ａ機能と称する）を有するプログラムモジュールの集合であるＡ機能モジュール群２１４ａが含まれる。また、制御プログラム２１０には、回転電機１０６の動作を制御する機能（Ｂ機能と称する）を有するプログラムモジュールの集合であるＢ機能モジュール群２１４ｂが含まれる。
【００２０】
また、制御プログラム２１０には、内燃機関１０２、回転電機１０６、及び車輪（不図示）の間の相互における回転力の伝達を接続及び非接続に切り替える伝達装置１０４（例えばクラッチ）の動作を制御する機能（Ｃ機能と称する）を有するプログラムモジュールの集合であるＣ機能モジュール群２１４ｃが含まれる。
【００２１】
Ａ機能モジュール群２１４ａは、Ａ機能を実現するプログラムモジュールであってその動作の態様がそれぞれ異なる複数のモジュール２２０ａ−１、２２０ａ−２、２２０ａ−３で構成される。同様に、Ｂ機能モジュール群２１４ｂ及びＣ機能モジュール群２１４ｃは、それぞれ、Ｂ機能及びＣ機能を実現するプログラムモジュールであってその動作の態様がそれぞれ異なる複数のモジュール２２０ｂ−１、２２０ｂ−２、２２０ｂ−３及びモジュール２２０ｃ−１、２２０ｃ−２、２２０ｃ−３で構成される。以下、モジュール２２０ａ−１、２２０ａ−２、２２０ａ−３、２２０ｂ−１、２２０ｂ−２、２２０ｂ−３、２２０ｃ−１、２２０ｃ−２、２２０ｃ−３を総称するときは、モジュール２２０と表記する。
【００２２】
さらに、制御プログラム２１０には、当該制御プログラム２１０のうち属性情報２０２に応じて実行することが許可（又は許容）されるプログラム部分を規定する実行許可テーブル２１６が含まれている。上記実行することが許可されるプログラム部分には、属性情報２０２に応じて実行が許可される一つ又は複数のモジュール２２０のほか、制御プログラム２１０に含まれる条件分岐により処理が移される分岐先のプログラム部分の候補のうち属性情報２０２に応じて実行することが許可されるプログラム部分が含まれる。
【００２３】
例えば、実行許可テーブル２１６には、種々のモデルイヤー、仕向地、装置、及び又はデバイスに対応付けて、実行することが許可されるプログラム部分の、開始アドレス及びファンクション名やラベル等の識別コードが示されている。
【００２４】
また、制御プログラム２１０には、属性情報２０２に応じて、実行が許可されるプログラム部分を実行する際に用いるべきパラメータ又はパラメータ値（以下、単にパラメータ）を規定するパラメータテーブル２１８が含まれている。例えば、パラメータテーブル２１８には、種々のモデルイヤー、仕向地、装置、及び又はデバイスに対応付けて、それぞれ実行することが許可され得るプログラム部分の開始アドレス及び又は識別コードと、各プログラム部分に用いるべきパラメータが示されている。
【００２５】
作業用記憶領域１３４は、本実施形態では、揮発性メモリ及び不揮発性メモリで構成されている。また、作業用記憶領域１３４のうち不揮発性メモリで構成される部分には、ジャンプテーブル２３０とパラメータリスト２３２が保存される。ジャンプテーブル２３０及びパラメータリスト２３２については後述する。
【００２６】
図１に戻り、処理装置１２２は、ホスト車両１００に設けられた各種センサを含むセンサ群１０８からの信号に基づき、制御プログラム２１０の少なくとも一部を実行することにより、内燃機関１０２、回転電機１０６、伝達装置１０４、及び又は装置群１１０を構成する各種の装置の動作を制御する。装置群１１０には、例えば、電子制御装置１２０の制御対象となり得る操舵装置、制動装置、あるいは、エアコン、方向指示器、ハザードランプ等の電装品、等々が含まれる。また、センサ群１０８には、例えば、車速センサ、加速度センサ、気圧センサ、アクセルセンサ、ブレーキセンサ、内燃機関１０２の吸気センサ、クランク角センサ、回転電機１０６に設けられる回転速度センサ、等々が含まれる。
【００２７】
処理装置１２２は、具体的には、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサーを備えるコンピューターである。処理装置１２２は、プログラムが書き込まれたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）又はフラッシュ  メモリ等、データの一時記憶のためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を有する構成であってもよい。そして、処理装置１２２は、機能要素（又は機能ユニット）として、プログラム更新部１４０と、制御実行部１４２と、有する。また、制御実行部１４２は、機能要素である実行選択部１５０と、パラメータ選択部１５２と、プログラム実行部１５４と、で構成される。
【００２８】
処理装置１２２が備えるこれらの機能要素は、例えば、コンピューターである処理装置１２２が、ブートプログラム２００を実行することにより実現される。これに代えて、処理装置１２２が備える上記機能要素の全部又は一部を、それぞれ一つ以上の電子回路部品を含むハードウェアにより構成することもできる。
【００２９】
プログラム更新部１４０は、更新指示（例えば、更新指示コマンド）と共に制御プログラム２１０の更新用プログラム（すなわち、制御プログラム２１０に置き換えるべき新しい制御プログラム）を、例えば通信Ｉ／Ｆ１２６を介して受信する。そして、更新用プログラムを受信したときは、プログラム更新部１４０は、当該受信した更新用プログラムを、個別記憶領域１３２に保存されている制御プログラム２１０に上書きして、当該制御プログラム２１０を更新する。
【００３０】
制御実行部１４２は、センサ群１０８からの信号に基づき、内燃機関１０２、回転電機１０６、伝達装置１０４、及び又は装置群１１０を構成する一つ又は複数の装置を制御する。
【００３１】
制御実行部１４２の実行選択部１５０は、プログラム更新部１４０により制御プログラム２１０が更新されたときに制御実行部１４２が実行する実行準備処理（後述）において、記憶装置１２４の共通記憶領域１３０に保存されている属性情報２０２を取得する。そして、実行選択部１５０は、取得した属性情報２０２に基づき、個別記憶領域１３２に保存されている制御プログラム２１０に含まれる実行許可テーブル２１６を参照して、制御プログラム２１０のうち上記取得した属性情報２０２に応じてその実行が許可されているプログラム部分を特定する。
【００３２】
具体的には、例えば、実行選択部１５０は、属性情報２０２と実行許可テーブル２１６に基づき、属性情報２０２に応じてその実行が許可されているプログラム部分の、個別記憶領域１３２における開始アドレスをリストしたジャンプテーブル２３０を生成して、作業用記憶領域１３４に保存する。このジャンプテーブル２３０には、メインプログラム２１２がＡ機能、Ｂ機能、及び又はＣ機能を実現する際に実行されるべき（又は、実行が許可される）モジュール２２０の一つ又は複数の開始アドレス、及び又は、メインプログラム２１２に含まれる条件分岐において分岐先プログラムとして実行されるべきプログラム部分の開始アドレスが含まれる。
【００３３】
図４は、ジャンプテーブル２３０の一例を示す図である。図示の例では、ジャンプテーブル２３０は、作業用記憶領域１３４の所定のアドレスＢ１から始まる位置に保存されている。このジャンプテーブル２３０では、Ａ機能を表す所定のコードであるＡ機能コードに続けて、実行が許可されているＡ機能モジュール群２１４ａ内の一のモジュール２２０（例えば、モジュール２２０ａ−１）の開始アドレスであるアドレスｂ１が保存されている。
【００３４】
また、これに続いて、Ｂ機能表すＢ機能コードに続けて、実行が許可されているＢ機能モジュール群２１４ｂ内の一のモジュール２２０（例えば、モジュール２２０ｂ−１）の開始アドレスであるアドレスｂ２が保存されている。同様に、Ｃ機能を表すＣ機能コードに続けて、実行が許可されているＣ機能モジュール群２１４ｃ内の一のモジュール２２０（例えば、モジュール２２０ｃ−１）の開始アドレスであるアドレスｂ３が保存されている。
【００３５】
さらに、図示のジャンプテーブル２３０には、メインプログラム２１２内のｋ個（ｋは任意の整数）の条件分岐のそれぞれに付されたラベルである条件分岐ラベル１、２、…ｋのそれぞれに続けて、各条件分岐において分岐先プログラムとして実行が許可されているプログラム部分の開始アドレスであるアドレスｃ１、ｃ２、…、ｃｋが保存されている。
【００３６】
図１に戻り、制御実行部１４２のパラメータ選択部１５２は、プログラム更新部１４０により制御プログラム２１０が更新されたときに制御実行部１４２が実行する実行準備処理において、記憶装置１２４の共通記憶領域１３０に保存されている属性情報２０２を取得する。そして、パラメータ選択部１５２は、取得した属性情報２０２に基づき、個別記憶領域１３２に保存されている制御プログラム２１０に含まれるパラメータテーブル２１８を参照して、上記取得した属性情報２０２に応じて使用することが規定されているパラメータを取得する。
【００３７】
そして、パラメータ選択部１５２は、取得したパラメータを、当該パラメータを用いるべきプログラム部分に対応付けたパラメータリスト２３２を生成して、作業用記憶領域１３４に保存する。
【００３８】
図５は、パラメータリスト２３２の一例を示す図である。図示の例では、パラメータリスト２３２は、作業用記憶領域１３４の所定のアドレスＤ１から始まる位置に保存されている。このパラメータリスト２３２では、Ａ機能コード、Ｂ機能コード、Ｃ機能コード、及び、条件分岐ラベル１，２、…、ｋのそれぞれに続けて、作業用記憶領域１３４内のアドレスであるアドレスｄ１、ｄ２、ｄ３、ｅ１、ｅ２、…、ｅｋが保存されている。これらのアドレスｄ１、ｄ２、ｄ３、ｅ１、ｅ２、…、ｅｋは、それぞれ、Ａ機能モジュール、Ｂ機能モジュール、及びＣ機能モジュールとして実行が許可されているプログラム部分（すなわち、モジュール２２０の一つ又は複数）の実行に用いるパラメータ、及び各条件分岐ラベルに対応する分岐先として実行が許可されているプログラム部分の実行に用いるパラメータの、格納部分の開始アドレスを示している。これにより、パラメータリスト２３２内には、実行が許可されたプログラム部分に対応付けて、当該プログラム部分の実行に用いるべきパラメータが保存される。
【００３９】
図１に戻り、制御実行部１４２のプログラム実行部１５４は、制御プログラム２１０を実行する。また、プログラム実行部１５４は、制御プログラム２１０においてＡ機能等を実現するためのファンクションコールや条件分岐が発生したときに、ジャンプテーブル２３０を参照し、実行すべきプログラム部分の開始アドレスを特定する。そして、プログラム実行部１５４は、上記特定したプログラム部分の開始アドレスへ、制御プログラム２１０の処理を移すよう動作する。
【００４０】
より具体的には、プログラム実行部１５４は、例えば、制御プログラム２１０を実行するためのソフトウェアプラットフォーム（以下、単にプラットフォーム）を提供し、当該プラットフォーム上で制御プログラム２１０を実行する。制御プログラム２１０は、プラットフォームを介して、Ａ機能等を実現するためのファンクションをコールし、及び又は条件分岐の際に、当該プラットフォームに分岐先アドレスを問い合わせる。
【００４１】
プログラム実行部１５４が提供するプラットフォームは、制御プログラム２１０から、例えばＡ機能モジュールのコールを受け付けたときは、ジャンプテーブル２３０を参照し、Ａ機能モジュールとして実行が許可されているモジュール２２０（例えば、モジュール２２０ａ−１）の、個別記憶領域１３２内における開始アドレス（例えば、図４のアドレスｂ１）を取得する。そして、制御プログラム２１０の処理を、当該取得したアドレスから開始するモジュール２２０に移すことで、制御プログラム２１０にＡ機能を実現させる。
【００４２】
また、上記プラットフォームは、制御プログラム２１０から特定の条件分岐ラベルが付された条件分岐についての分岐先アドレスについての問合せを受信したときは、ジャンプテーブル２３０を参照し、対応する条件分岐ラベルに関連付けられたアドレスを制御プログラム２１０に返す。例えば、制御プログラム２１０から、条件分岐ラベル１が付された条件分岐についての分岐先の問合せを受信した場合、上記プラットフォームは、例えば図４に示すジャンプテーブル２３０を参照し、当該ラベルに対応付けられているアドレスｃ１を、制御プログラム２１０へ返す。これにより、制御プログラム２１０は、プラットフォームから返されたアドレスｃ１から始まるプログラム部分に処理を移すことができる。
【００４３】
これにより、処理装置１２２は、共通記憶領域１３０に保存されている属性情報２０２に基づいて、個別記憶領域１３２に保存されている制御プログラム２１０のうち、属性情報２０２に応じてその実行が許可されているプログラム部分を、選択的に実行するよう構成される。
【００４４】
同時に、プログラム実行部１５４が提供するプラットフォームは、例えば上記のシナリオにおいて、Ａ機能モジュールの実行に際して使用すべきパラメータを、パラメータリスト２３２において特定し、パラメータリスト２３２内における当該特定したパラメータのアドレス（例えば、図５におけるアドレスｄ１）を、制御プログラム２１０に渡す。これにより、制御プログラム２１０は、パラメータリスト２３２内の対応するパラメータを参照しつつ、Ａ機能モジュールとして実行が許可されているモジュール２２０（例えばモジュール２２０ａ−１）を実行することができる。
【００４５】
これにより、処理装置１２２は、属性情報２０２に応じて使用することが規定されているパラメータを取得し、当該取得したパラメータを用いて、上記実行が許可されたプログラム部分を実行するよう構成される。
【００４６】
次に、処理装置１２２の制御実行部１４２が行う実行準備処理の手順について、図６に示すフロー図に従って説明する。本処理は、プログラム更新部１４０により記憶装置１２４の個別記憶領域１３２に保存されている制御プログラム２１０が更新されたときに、開始する。
【００４７】
処理を開始すると、まず、処理装置１２２の制御実行部１４２を構成する実行選択部１５０は、記憶装置１２４の共通記憶領域１３０に保存されている属性情報２０２と、制御プログラム２１０内の実行許可テーブル２１６と、を参照する（Ｓ１００）。次に、実行選択部１５０は、属性情報２０２に応じて実行が許可されているプログラム部分を特定する（Ｓ１０２）。
【００４８】
例えば、実行選択部１５０は、属性情報２０２のうちモデルイヤーに応じて、Ａ機能モジュール、Ｂ機能モジュール、及びＣ機能モジュールのそれぞれについて、実行が許可されたモジュール２２０を特定する。これにより、当該モデルイヤーに相当する時期に適用が義務付けられていた法的規制及び又は業界規制に従う制御を実行するためのモジュール２２０の実行が許可され、ホスト車両１００においてそれら規制に準拠した動作が行われることとなる。
【００４９】
そして、実行選択部１５０は、上記特定したプログラム部分とその開始アドレスとを対応付けたジャンプテーブル２３０を作成して、記憶装置１２４の作業用記憶領域１３４内の所定のアドレス位置に書き込んで保存する（Ｓ１０４）。
【００５０】
続いて、処理装置１２２の制御実行部１４２を構成するパラメータ選択部１５２は、記憶装置１２４の共通記憶領域１３０に保存されている属性情報２０２と、制御プログラム２１０内のパラメータテーブル２１８と、を参照する（Ｓ１０６）。次に、パラメータ選択部１５２は、属性情報２０２に応じて、実行が許可されているプログラム部分の実行において用いるべきパラメータを、パラメータテーブル２１８から特定する（Ｓ１０８）。
【００５１】
例えば、パラメータ選択部１５２は、属性情報２０２のうち仕向地コードに応じて、実行が許可されたＡ機能モジュール、Ｂ機能モジュール、及びＣ機能モジュールのそれぞれにおいて用いるべきパラメータを特定する。これにより、仕向地の環境条件に応じたパラメータを用いて、それぞれ、実行が許可されたＡ機能モジュール、Ｂ機能モジュール、及びＣ機能モジュールが実行されることとなり、仕向地における関連規制に準拠した動作を確実に実行することができる。
【００５２】
そして、パラメータ選択部１５２は、実行が許可されているプログラム部分について特定したパラメータを、対応するプログラム部分の識別コードに対応付けてパラメータリスト２３２を作成し、記憶装置１２４内の作業用記憶領域１３４に保存する（Ｓ１１０）。その後、制御実行部１４２は、実行準備処理を終了する。
【００５３】
以上、説明したように、本実施形態に係る電子制御装置１２０は、処理装置１２２と、記憶装置１２４と、を備える。記憶装置１２４は、処理装置１２２が起動時に実行するブートプログラム２００が保存される共通記憶領域１３０と、ブートプログラム２００の実行開始後に実行される制御プログラム２１０が保存される個別記憶領域１３２と、を有する。そして、処理装置１２２は、共通記憶領域１３０に保存されている属性情報２０２に基づいて、個別記憶領域１３２に保存されている制御プログラム２１０のうち、属性情報２０２に応じてその実行が許可されている機能を実行するプログラム部分を選択的に実行するよう構成されている。
【００５４】
この構成によれば、各ホスト車両１００では、そのホスト車両１００の記憶装置１２４に保存された属性情報２０２に基づいて、制御プログラム２１０のうちそのホスト車両１００において実行すべきプログラム部分が選択的に実行される。このため、制御プログラム２１０を、型式の異なる複数の車両についての一つの共通的なプログラムとして作成することができる。また、属性情報２０２にホスト車両１００が準拠すべき規制の範囲を直接又は間接に示す情報を含ませておくことで、当該ホスト車両１００において、準拠すべき各規制に従った適切な動作を、自動的に行わせることができる。したがって、制御プログラム２１０に係るソフトウェアの開発コストや更新コストを増加させることなく、準拠すべき法的規制や業界規制の観点等から各ホスト車両１００に応じた動作を適切に行えるようにすることができる。
【００５５】
また、本実施形態の電子制御装置１２０では、処理装置１２２は、属性情報２０２に応じて使用することが規定されているパラメータを、例えば制御プログラム２１０から取得し、当該取得したパラメータを用いて上記実行が許可されたプログラム部分を実行するよう構成されている。この構成によれば、ホスト車両１００の動作を、準拠すべき規制等に合わせてより細かく制御することができる。
【００５６】
また、本実施形態の電子制御装置１２０では、処理装置１２２は、更新指示と共に前記制御プログラム２１０の更新用プログラムを受信したときは、当該受信した更新用プログラムにより、個別記憶領域１３２に保存されている制御プログラム２１０を更新するよう構成されている。この構成によれば、ソフトウェアの開発コストを増加させることなく、制御プログラム２１０のバージョンアップを適切に行うことができる。
【００５７】
また、本実施形態の電子制御装置１２０は、自動車等のホスト車両１００に搭載されている。この構成によれば、制御プログラム２１０に係るソフトウェアの開発コストを増加させることなく法的規制等に準拠した動作を適切に行い得る車両を実現することができる。
【００５８】
なお、本発明は上記実施形態の構成に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
【００５９】
例えば、上記実施形態では、制御プログラム２１０は、Ａ機能モジュール群２１４ａ、Ｂ機能モジュール群２１４ｂ、及びＣ機能モジュール群２１４ｃの３つの機能モジュール群を備えるものとしたが、これには限られない。例えば、属性情報２０２に基づいてその動作の態様等を変更し得る制御対象の数に応じて、任意の数の機能モジュール群を備えるものとすることができる。そのような制御対象には、内燃機関１０２、伝達装置１０４、回転電機１０６のほか、例えば、装置群１１０を構成する操舵装置、制動装置等が含まれ得る。この場合、処理装置１２２は、例えば、属性情報２０２に含まれる装置コードやデバイスコードに基づいて、実行許可テーブル２１６から、実行すべきプログラム部分としてのモジュール２２０の一つ又は複数を特定して、それらを選択的に動作させるものとすることができる。
【００６０】
また、上記実施形態では、Ａ機能モジュール群２１４ａ、Ｂ機能モジュール群２１４ｂ、及びＣ機能モジュール群２１４ｃは、それぞれ、３つのモジュール（２２０ａ−１、２２０ａ−２、２２０ａ−３等）で構成されるものとしたが、これには限られない。各機能モジュール群は、制御プログラム２１０が共通的に適用される車両の型式（種類）の数等に応じて、それぞれ異なる態様の動作を実現する任意の数のモジュールを含むものとすることができる。
【００６１】
また、上記実施形態では、処理装置１２２は、プログラム実行部１５４により制御プログラム２１０が動作するソフトウェアプラットフォームを提供するものとしたが、これには限られない。処理装置１２２が属性情報２０２に応じて制御プログラム２１０の特定のプログラム部分を選択的に実行し得る限りにおいて、他の手法を用いて制御プログラム２１０を実行するものとすることができる。そのような手法は、例えば、制御プログラム２１０をアプリケーションプログラムとして実行し得るオペレーティングシステム（ＯＳ、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、ＯＳと制御プログラム２１０との間で動作するミドルウェア、等を含むものとすることができる。
【００６２】
また、上記実施形態では、処理装置１２２は、属性情報２０２に応じて使用することが規定されているパラメータを、制御プログラム２１０に含まれるパラメータテーブル２１８から取得するものとしたが、これには限られない。例えば、属性情報２０２に応じて使用することが規定されているパラメータは、制御プログラム２１０とは別のデータ構造体として個別記憶領域１３２に保存されるものとしても良い。あるいは、属性情報２０２に応じて使用することが規定されているパラメータは、予め定められて、共通記憶領域１３０に保存されているものとしてもよい。
【００６３】
同様に、上記実施形態では、実行許可テーブル２１６は、制御プログラム２１０に含まれるものとしたが、これには限られない。例えば、実行許可テーブル２１６は、制御プログラム２１０とは別のデータ構造体として個別記憶領域１３２に保存されるものとしても良い。あるいは、実行許可テーブル２１６は、予め定められて共通記憶領域１３０に保存されているものとしてもよい。
【符号の説明】
【００６４】
１００…車両、１０２…内燃機関、１０４…伝達装置、１０６…回転電機、１０８…センサ群、１１０…装置群、１２０…電子制御装置、１２２…処理装置、１２４…記憶装置、１２６…通信インタフェース（通信Ｉ／Ｆ）、１３０…共通記憶領域、１３２…個別記憶領域、１３４…作業用記憶領域、１４０…プログラム更新部、１４２…制御実行部、１５０…実行選択部、１５２…パラメータ選択部、１５４…プログラム実行部、２００…ブートプログラム、２０２…属性情報、２１０…制御プログラム、２１２…メインプログラム、２１４ａ…Ａ機能モジュール群、２１４ｂ…Ｂ機能モジュール群、２１４ｃ…Ｃ機能モジュール群、２２０、２２０ａ−１、２２０ａ−２、２２０ａ−３、２２０ｂ−１、２２０ｂ−２、２２０ｂ−３、２２０ｃ−１、２２０ｃ−２、２２０ｃ−３…モジュール、２１６…実行許可テーブル、２１８…パラメータテーブル、２３０…ジャンプテーブル、２３２…パラメータリスト。
【図１】
2019159369.tif 000003
【図２】
2019159369.tif 000004
【図３】
2019159369.tif 000005
【図４】
2019159369.tif 000006
【図５】
2019159369.tif 000007
【図６】
2019159369.tif 000008