(57)【要約】  【課題】複数のシステムを単一のＥＣＵに実装した場合に、他システム要件で起動した場合でも、誤動作しない車両制御用プログラム及び車両用電子制御装置を提供する。  【解決手段】電源ＩＣ４は、タイマ１６、バッテリ２、プッシュＳＷ、ブレーキスイッチ（ＳＴＰ）、ＩＧＳＷ、ＡＣＣ、通信ＩＣ１５等からの信号に基づいて、電源状態や起動要件をＣＰＵ１１に入力し、また、通信ＩＣ１５は、ＣＡＮバス３を介して他のＥＣＵと相互通信を行い、タイマ１６は時間を計時し、例えば、３時間毎に電源ＩＣ１４にウェイクアップ信号を出力する。動作要件判定部３４は、電源状態検知部３１、起動要件検知部３２から入力された電源状態及び起動要件に基づいて電源マネージメント２１、プッシュスタート２２、エコラン２３、始動・充電２４等の各アプリケーションの動作要件の判定を行い、動作要件を満足したアプリケーションのみを起動する。  【選択図】図８
2006327217.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアに依存するプログラムであるプラットフォームと、コンピュータに車両の制御機能を実現させるためのプログラムである複数のアプリケーションとを含む車両制御用プログラムであって、
上記プラットフォームが、上記各アプリケーションに対して制御装置の電源状態及び／又は起動要件を通知する機能を実現させるためのプログラムを含み、
上記各アプリケーションが、上記プラットフォームから通知された電源状態及び／又は起動要件に基づいて起動を行うか否かを判定する機能を実現させるためのプログラムを含むことを特徴とする車両制御用プログラム。
【請求項２】
ハードウェアに依存するプログラムであるプラットフォームと、コンピュータに車両の制御機能を実現させるためのプログラムである複数のアプリケーションとを含む車両制御用プログラムであって、
上記プラットフォームが、上記各アプリケーションに対して制御装置の電源状態及び／又は起動要件を通知する機能を実現させるためのプログラムを含み、
上記各アプリケーションが、上記プラットフォームからの電源状態及び／又は起動要件の通知時に起動するとともに、上記プラットフォームから通知された電源状態及び／又は起動要件が自アプリケーションの動作要件に該当しない場合、所定の制御動作を禁止する機能を実現させるためのプログラムを含むことを特徴とする車両制御用プログラム。
【請求項３】
ハードウェアに依存するプログラムであるプラットフォームと、コンピュータに車両の制御機能を実現させるためのプログラムである複数のアプリケーションとを含む車両制御用プログラムであって、
上記プラットフォームが、制御装置の電源状態及び／又は起動要件に基づいて各アプリケーションの動作要件の判定を行い、必要なアプリケーションについてのみ起動する機能を実現させるためのプログラムを含むことを特徴とする車両制御用プログラム。
【請求項４】
ハードウェアに依存するプログラムであるプラットフォームと、コンピュータに車両の制御機能を実現させるためのプログラムである複数のアプリケーションとを含む車両制御用プログラムであって、
上記プラットフォームが、制御装置の電源状態及び／又は起動要件に基づいて全てのアプリケーションの起動を行うとともに、制御装置の電源状態及び／又は起動要件に基づいて各アプリケーションの動作要件の判定を行い、動作要件に該当しないアプリケーションに対して、所定の制御動作を禁止させる機能を実現させるためのプログラムを含むことを特徴とする車両制御用プログラム。
【請求項５】
請求項１又は請求項３に記載された車両制御用プログラムにおいて、
上記アプリケーション又は上記プラットフォームが、動作要件に該当しないアプリケーションが他アプリケーションに公開する変数を所定の固定値に設定する機能を実現させるためのプログラムを含むことを特徴とする車両制御用プログラム。
【請求項６】
請求項１又は請求項３に記載された車両制御用プログラムにおいて、
上記アプリケーション又は上記プラットフォームが、動作要件に該当しないアプリケーションの動作が停止された場合、その旨を他の車両用電子制御装置に通知し、他の車両用電子制御装置側にて動作要件に該当しないアプリケーションのデータを参照し、異常検出を行っている処理をマスクさせる機能を実現させるためのプログラムを含むことを特徴とする車両制御用プログラム。
【請求項７】
請求項１〜請求項４のいずれかに記載された車両制御用プログラムにおいて、
上記アプリケーション又は上記プラットフォームが、動作要件に該当しないアプリケーションが出力するコネクタ端子の異常検出処理を禁止する機能を実現させるためのプログラムを含むことを特徴とする車両制御用プログラム。
【請求項８】
請求項１〜請求項６のいずれかに記載された車両制御用プログラムにおいて、
上記電源状態が、イグニッションスイッチ操作もしくは電源制御装置操作により設定される、電源オフ、アクセサリ電源オン、イグニッションオン等の状態であることを特徴とする車両制御用プログラム。
【請求項９】
請求項１〜請求項６のいずれかに記載された車両制御用プログラムにおいて、
上記起動要件が、他の車両用電子制御装置からの通信によるウェイクアップ、または、所定のスイッチ操作、あるいは、内部タイマによる定時毎のウェイクアップ等の条件であることを特徴とする車両制御用プログラム。
【請求項１０】
請求項１〜９のいずれかに記載された車両制御用プログラムに基づいて当該請求項における機能を実現するコンピュータを備えたことを特徴とする車両用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェアに依存するプログラムであるプラットフォームと、コンピュータに車両の制御機能を実現させるためのプログラムである複数のアプリケーションとを含む車両制御用プログラム及びこの車両制御用プログラムを実行するコンピュータを備えた車両用電子制御装置に関する。
【背景技術】
【０００２】
車両の電子制御装置（以下、ＥＣＵという）は、車両の制御機構との間で信号のやり取りを行って車両の電子制御を行うものであり、例えば、エンジン制御ＥＣＵには車両に装備されているセンサ群で検出された、車速、エンジン回転数、空気流入量等の情報が入力され、エンジン制御ＥＣＵはこれらの情報に基づいて所定の演算処理を行い、その演算結果（例えば、燃料噴射量やバイパス空気量などを制御するための信号）を車両に装備された、電動スロットルやスタータ噴射弁等の制御機構へ送出し、燃料の噴射量や流入空気量の制御などを行っている。
【０００３】
車両にはこのような電子制御装置が多数、例えば、上記のようなエンジン制御ＥＣＵ、所定の条件成立時にエンジン自動停止再始動制御を行うエコランＥＣＵ、ランプやドアなどの制御を行うボディＥＣＵ、自動変速（ＡＴ）制御ＥＣＵ、エアバッグＥＣＵ、セキュリティＥＣＵ等が搭載されており、これらの各ＥＣＵは、担当する制御対象について、単体で独自に制御しているが、他のＥＣＵとの情報授受が必要な場合もある。
このため、車両に搭載する複数のＥＣＵを関連付けして各種制御を行うために、その複数のＥＣＵを共通のバスラインに接続するとともに、代表的標準ネットワークプロトコルであるントロールエリアネットワーク（Controller Area Network、以下ＣＡＮという）プロトコルを使用して相互通信制御を行っている。
【０００４】
一方、車両用電子制御装置は組み込み型のマイクロコンピュータ（以下、マイコンという）を備えており、このマイコン上で動作するソフトウェアは、一般的に、ハードウェアに依存するプログラムであるプラットフォームプログラムと、車両用の制御に依存するプログラムであるアプリケーションプログラムとに分けて構成されている（例えば、特許文献１参照）。
【特許文献１】特開２０００−９７１０２号公報
【０００５】
プラットフォームプログラムは、ハードウェアデバイスからデータを入力して、その入力したデータに基づくデータを、例えばＡＰＩ（Application Program Interface）のようなインターフェースを介して、アプリケーションプログラムによる処理に対して提供したり、アプリケーションプログラムによる処理によって得られたデータをハードウェアデバイスに対して出力したりする処理をコンピュータに実行させるためのプログラムである。
また、アプリケーションプログラムは、このプラットフォームプログラムから入力されたデータを用いた処理や、このプラットフォームプログラムを介して出力するデータを生成する処理をコンピュータに実行させるためのプログラムである。
【０００６】
このように、プラットフォームプログラムは、ハードウェアデバイスに対するアクセスを行うプログラムを含む一方、アプリケーションプログラムは、直接ハードウェアデバイスへのアクセスを行うプログラムを含まず、プラットフォームインターフェースを介して、プラットフォームプログラムによる処理にハードウェアデバイスとの入出力をさせている。こうすることにより、アプリケーションプログラムの開発者は、ハードウェアの詳細構成や制御方法を意識することなくアプリケーションプログラムを作成することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のような車両用電子制御装置のアプリケーションには、大きく分けてパワトレ系アプリケーションとボディ系アプリケーションがある。パワトレ系アプリケーションは、イグニッションオンにて動作するアプリケーション群であり、例えば、エンジン制御やトランスミッション制御などが含まれ、以後、ＩＧシステムという。また、ボディ系アプリケーションは、常時もしくは通信によるウェイクアップ時に動作するアプリケーション群であり、例えば、プッシュスタートやドアカーテシなどが含まれ、バッテリ接続状態で常時動作するため、＋Ｂシステムともいう。
【０００８】
現状では、パワトレ系アプリケーションとボディ系アプリケーションは別個のＥＣＵで動作させているが、今後パワトレ系アプリケーションとボディ系アプリケーションが一つのＥＣＵに実装されることが予想される。
このように、パワトレ系アプリケーションとボディ系アプリケーションが同じＥＣＵやマイコンに実装されたり、複数のボディ系アプリケーションが一つのＥＣＵに実装されたりすると、自アプリケーションの動作要件以外の要件で起動されることがあるため、以下のような問題が発生する恐れがある。
（１）他アプリケーションの起動要件でＥＣＵやマイコンが起動されるため、自アプリケーションが駆動するアクチュエータ等を本来動作させるべきでないタイミングで動作させてしまう誤動作の発生
（２）ダイアグ・故障の誤検出
【０００９】
本発明は、上記の問題に鑑みてなされたもので、複数のシステム（アプリケーション）を単一のＥＣＵに実装した場合に、他システム要件で起動した場合でも、誤動作しない車両制御用プログラム及び車両用電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の目的を達成するため、本発明に係る車両制御用プログラム（１）は、
ハードウェアに依存するプログラムであるプラットフォームと、コンピュータに車両の制御機能を実現させるためのプログラムである複数のアプリケーションとを含む車両制御用プログラムであって、
上記プラットフォームが、上記各アプリケーションに対して制御装置の電源状態及び／又は起動要件を通知する機能を実現させるためのプログラムを含み、
上記各アプリケーションが、上記プラットフォームから通知された電源状態及び／又は起動要件に基づいて起動を行うか否かを判定する機能を実現させるためのプログラムを含むことを特徴とする。
【００１１】
また、本発明に係る車両制御用プログラム（２）は、
ハードウェアに依存するプログラムであるプラットフォームと、コンピュータに車両の制御機能を実現させるためのプログラムである複数のアプリケーションとを含む車両制御用プログラムであって、
上記プラットフォームが、上記各アプリケーションに対して制御装置の電源状態及び／又は起動要件を通知する機能を実現させるためのプログラムを含み、
上記各アプリケーションが、上記プラットフォームからの電源状態及び／又は起動要件の通知時に起動するとともに、上記プラットフォームから通知された電源状態及び／又は起動要件が自アプリケーションの動作要件に該当しない場合、所定の制御動作を禁止する機能を実現させるためのプログラムを含むことを特徴とする。
【００１２】
さらに、本発明に係る車両制御用プログラム（３）は、
ハードウェアに依存するプログラムであるプラットフォームと、コンピュータに車両の制御機能を実現させるためのプログラムである複数のアプリケーションとを含む車両制御用プログラムであって、
上記プラットフォームが、制御装置の電源状態及び／又は起動要件に基づいて各アプリケーションの動作要件の判定を行い、必要なアプリケーションについてのみ起動する機能を実現させるためのプログラムを含むことを特徴とする。
【００１３】
また、本発明に係る車両制御用プログラム（４）は、
ハードウェアに依存するプログラムであるプラットフォームと、コンピュータに車両の制御機能を実現させるためのプログラムである複数のアプリケーションとを含む車両制御用プログラムであって、
上記プラットフォームが、制御装置の電源状態及び／又は起動要件に基づいて全てのアプリケーションの起動を行うとともに、制御装置の電源状態及び／又は起動要件に基づいて各アプリケーションの動作要件の判定を行い、動作要件に該当しないアプリケーションに対して、所定の制御動作を禁止させる機能を実現させるためのプログラムを含むことを特徴とする。
【００１４】
さらに、本発明に係る車両制御用プログラム（５）は、車両制御用プログラム（１）又は車両制御用プログラム（３）において、
上記アプリケーション又は上記プラットフォームが、動作要件に該当しないアプリケーションが他アプリケーションに公開する変数を所定の固定値に設定する機能を実現させるためのプログラムを含むことを特徴とし、
本発明に係る車両制御用プログラム（６）は、車両制御用プログラム（１）又は車両制御用プログラム（３）において、
上記アプリケーション又は上記プラットフォームが、動作要件に該当しないアプリケーションの動作が停止された場合、その旨を他の車両用電子制御装置に通知し、他の車両用電子制御装置側にて動作要件に該当しないアプリケーションのデータを参照し、異常検出を行っている処理をマスクさせる機能を実現させるためのプログラムを含むことを特徴とする。
【００１５】
また、本発明に係る車両制御用プログラム（７）は、車両制御用プログラム（１）〜車両制御用プログラム（４）のいずれかにおいて、
上記アプリケーション又は上記プラットフォームが、動作要件に該当しないアプリケーションが出力するコネクタ端子の異常検出処理を禁止する機能を実現させるためのプログラムを含むことを特徴とする。
【００１６】
さらに、本発明に係る車両制御用プログラム（８）は、車両制御用プログラム（１）〜車両制御用プログラム（６）のいずれかにおいて、
上記電源状態が、イグニッションスイッチ操作もしくは電源制御装置操作により設定される、電源オフ、アクセサリ電源オン、イグニッションオン等の状態であることを特徴とし、
本発明に係る車両制御用プログラム（９）は、車両制御用プログラム（１）〜車両制御用プログラム（６）のいずれかにおいて、
上記起動要件が、他の車両用電子制御装置からの通信によるウェイクアップ、または、所定のスイッチ操作、あるいは、内部タイマによる定時毎のウェイクアップ等の条件であることを特徴とする。
【００１７】
また、本発明に係る車両用電子制御装置（１）は、
車両制御用プログラム（１）〜車両制御用プログラム（９）のいずれかの車両制御用プログラムに基づいて当該機能を実現するコンピュータを備えたことを特徴とする。
【発明の効果】
【００１８】
本発明に係る車両制御用プログラム（１）によれば、プラットフォームが各アプリケーションに対して制御装置の電源状態及び／又は起動要件を通知し、各アプリケーションは、プラットフォームから通知された電源状態及び／又は起動要件に基づいて動作を行うか否かを判定し、自アプリケーションの動作要件に該当しないときは動作しないので、誤動作を防止することができる。
また、本発明に係る車両制御用プログラム（２）によれば、各アプリケーションが、プラットフォームからの電源状態及び／又は起動要件の通知時に起動するとともに、プラットフォームから通知された電源状態及び／又は起動要件が自アプリケーションの動作要件に該当しない場合、所定の制御動作を禁止するので、同様に誤動作を防止することができる。
【００１９】
さらに、本発明に係る車両制御用プログラム（３）によれば、プラットフォームが制御装置の電源状態及び／又は起動要件に基づいて各アプリケーションの動作要件の判定を行い、必要なアプリケーションについてのみ動作させるので、誤動作を防止することができる。
また、本発明に係る車両制御用プログラム（４）によれば、プラットフォームが制御装置の電源状態及び／又は起動要件に基づいて全てのアプリケーションの起動を行うとともに、制御装置の電源状態及び／又は起動要件に基づいて各アプリケーションの動作要件の判定を行い、動作要件に該当しないアプリケーションに対して、所定の制御動作を禁止させるので、同様に、誤動作を防止することができる。
【００２０】
さらに、本発明に係る車両制御用プログラム（５）によれば、動作要件に該当しないアプリケーションが他アプリケーションに公開する変数が所定の固定値に設定され、本発明に係る車両制御用プログラム（６）によれば、動作要件に該当しないアプリケーションの動作が停止された場合、その旨を他の車両用電子制御装置に通知し、他の車両用電子制御装置側にて動作要件に該当しないアプリケーションのデータを参照し、異常検出を行っている処理がマスクされるので、誤動作を防止することができる。
また、本発明に係る車両制御用プログラム（７）によれば、動作要件に該当しないアプリケーションが出力するコネクタ端子の異常検出処理が禁止されるので、誤ダイアグを防止することができる。
【実施例１】
【００２１】
以下、本発明の車両制御用プログラムの実施例について、図面を用いて説明する。図１は本発明の車両用制御プログラムを実装したＥＣＵの実施例を示すブロック図であり、図に示すように、このＥＣＵ１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、電源ＩＣ１４、通信ＩＣ１５、タイマ１６とこれらを接続するバスライン等から構成されている。ＣＰＵ１１はＥＣＵ１のハードウェア各部を制御するとともに、ＲＯＭ１２に記憶されたプログラムに基づいて様々なプログラムを実行する。また、ＲＡＭ１３はＳＲＡＭ等で構成され、プログラムの実行時に発生する一時的なデータを記憶する。
【００２２】
電源ＩＣ１４には、タイマ１６、バッテリ２、プッシュスイッチ（ＳＷ）、ブレーキスイッチ（ＳＴＰ）、イグニッションスイッチ（ＩＧＳＷ）、アクセサリスイッチ（ＡＣＣ）、通信ＩＣ１５等からの信号が入力され、電源状態や起動要件をＣＰＵ１１に入力する。また、通信ＩＣ１５は、ＣＡＮバス３を介して他のＥＣＵと相互通信を行い、タイマ１６は時間を計時し、例えば、３時間毎に電源ＩＣ１４にウェイクアップ信号を出力する。
【００２３】
なお、ＩＧＳＷ、ＡＣＣはキースイッチ（イグニッションキー）がイグニッション（ＩＧＮ）ポジション、アクセサリ（ＡＣＣ）ポジションにあるときにオンとなり、プッシュＳＷは、イグニッションキーの操作によらず、スイッチ操作でエンジンを始動するものであり、例えば、スイッチ釦を１回押すと、ＡＣＣスイッチが入り、２回押すとＩＧＳＷがオンとなり、３回押すとエンジンがスタートするというようなエンジン始動機能を実行させるものである。
【００２４】
一方、各種のアプリケーションをＣＰＵ１１に実行させるためにＲＯＭ１２に記憶されるプログラムは、図２に示すように、アプリケーションプログラムとプラットフォームプログラムとがリンクして構成されており、  アプリケーションプログラムは、＋Ｂシステムである電源マネージメント２１、プッシュスタート２２と、ＩＧシステムであるエコラン２３、始動・充電２４とからなる。
【００２５】
電源マネージメント２１は、電源接続等を起動要件として車載用電子機器等の電源制御を行い、プッシュスタート２２はプッシュＳＷの押下を起動要件として、ＡＣＣスイッチオン、イグニッションスイッチオン、エンジンスタート等のプッシュＳＷによるエンジン始動機能を実行する。
また、エコラン２３は、エンジンの駆動と停止を行いながら車両を走行させるエコラン（アイドリングストップ）機能を実行し、始動・充電２４は、エンジン始動及びオルタネータにより発電された電力によるバッテリの充電制御等を実行するものである。
【００２６】
図３はこれらのアプリケーションの起動条件を表にしたものであり、電源マネージメント２１は、タイマ１６からの３時間毎のウェイクアップ信号、ＣＡＮウェイクアップ、バッテリの接続、ＡＣＣオンのいずれかで起動し、プッシュスタート２２はプッシュＳＷ操作時、ブレーキ踏み込み時、ＣＡＮウェイクアップ時に起動し、エコラン２３と始動・充電２４はイグニッションＳＷオン時に起動する。
なお、ＣＡＮウェイクアップは他のＥＣＵからのウェイクアップ信号によりウェイクアップするものであり、図４に示すように、ＣＡＮ通信バス上にＥＣＵ−Ａがウェイクアップ信号を流すと、ＥＣＵ−Ｂはスリープ状態からウェイクアップ状態に移行する。
【００２７】
また、プラットフォームプログラムは、電源状態検知部３１、起動要件検知部３２及び動作要件通知部３３から構成されており、電源状態検知部３１、起動要件検知部３２は、それぞれ電源ＩＣ１４から入力される電源状態、起動要件を検知して動作要件通知部３３に入力する。動作要件通知部３３は、電源状態検知部３１、起動要件検知部３２から電源状態、起動要件が入力された場合、その電源状態、起動要件を各アプリケーションプログラム２１〜２４に通知する。
【００２８】
次に、動作要件通知部３３から電源状態、起動要件が通知された場合のＣＰＵ１１の作用について、図５のフローチャートにより説明する。
動作要件通知部３３から電源状態、起動要件が通知された場合、ＣＰＵ１１は、図５のフローチャートに示すアプリケーション毎の起動プログラムを開始し、通知された電源状態、起動要件より該当するアプリケーションの起動条件が成立するか否かを判定し（ステップ１０１）、該当するアプリケーションの起動条件が成立したと判定した場合、そのアプリケーションを起動し（ステップ１０２）、該当するアプリケーションの起動条件が成立していないと判定した場合、そのアプリケーションの起動プログラムを終了する。
【００２９】
以上のように、プラットフォームが各アプリケーションに対して制御装置の電源状態及び起動要件を通知し、各アプリケーションは、プラットフォームから通知された電源状態及び起動要件に基づいて動作を行うか否かを判定し、自アプリケーションの動作要件に該当しないときは起動しないので、誤動作を防止することができる。
【００３０】
なお、上記の実施例において、各アプリケーションが、動作要件に該当しないと判定した場合、自アプリケーションが他アプリケーションに公開する変数を所定の固定値に設定することにより、他アプリケーションの誤動作を防止することができる。
例えば、図６に示すように、エコランアプリケーション２３が動作要件に該当し、起動している場合には、エコランアプリケーション２３から始動要求信号が始動・充電アプリケーション２４に伝達されるが、エコランアプリケーション２３が動作要件に該当せず、動作を停止している場合には、エコランアプリケーション２３からの始動要求信号として常時オフ信号を始動・充電アプリケーション２４に伝達することにより、始動・充電アプリケーション２４の誤動作を防止することができる。
【００３１】
また、動作要件に該当しないアプリケーションの動作が停止された場合には、その旨を通信ＩＣ１５、ＣＡＮバス３を介して他のＥＣＵへ通知し、他ＥＣＵ側にて動作要件に該当しないアプリケーションのデータを参照し、異常検出を行っている処理をマスクするようにすれば、他ＥＣＵによる誤ダイアグを防止することができる。
【実施例２】
【００３２】
上記の実施例では、各アプリケーションが自アプリケーションの動作要件に該当するときのみ起動したが、プラットフォームからの電源状態及び起動要件の通知時にすべてのアプリケーションが起動するとともに、プラットフォームから通知された電源状態及び起動要件が動作要件に該当しないアプリケーションが、所定の制御動作を禁止することにより、誤動作を防止することもでき、以下、プラットフォームからの電源状態及び起動要件の通知時にすべてのアプリケーションが起動する場合の実施例について、図７のフローチャートにより説明する。
なお、ＥＣＵのハードウェア構成、ソフトウェア構造は図１、図２と同様であるので、詳細な説明を省略する。
【００３３】
動作要件通知部３３から電源状態、起動要件が通知された場合、ＣＰＵ１１は図７のフローチャートに示すアプリケーション毎の起動プログラムを開始し、通知された電源状態、起動要件より該当するアプリケーションの動作要件が成立するか否かを判定する（ステップ２０１）。該当するアプリケーションの動作要件が成立したと判定した場合、ＣＰＵ１１はそのアプリケーションを起動した（ステップ２０２）後、起動プログラムを終了する。
【００３４】
一方、ステップ２０１で自アプリケーションの動作要件が成立していないと判定した場合、ＣＰＵ１１はそのアプリケーションを起動した（ステップ２０３）後、該当するアプリケーションが出力・駆動するランプやアクチュエータを非駆動側に設定し、制御動作を禁止する（ステップ２０４）。次に、ＣＰＵ１１は、他のアプリケーションまたは他のＥＣＵに対して該当するアプリケーションが出力するコネクタ端子の異常検出（ダイアグ処理）を禁止した（ステップ２０５）後、起動プログラムを終了する。
なお、ＣＰＵ１１は上記の各アプリケーションの起動プログラムを順次に、または同時に実行する。
【００３５】
以上のように、プラットフォームからの電源状態及び起動要件の通知時にすべてのアプリケーションを起動しても、プラットフォームから通知された電源状態及び起動要件が自アプリケーションの動作要件に該当しない場合、所定の制御動作を禁止することにより、同様に誤動作を防止することができる。
【実施例３】
【００３６】
以上の実施例では、プラットフォームから通知された電源状態及び起動要件に基づいて各アプリケーションが動作要件に該当するか否かを判定したが、プラットフォームプログラムにより電源状態及び起動要件に基づいて各アプリケーションの動作要件の判定を行い、必要なアプリケーションについてのみ起動することもでき、以下、プラットフォームプログラムにより各アプリケーションの動作要件の判定を行う場合の実施例について説明する。
【００３７】
図８は、各種のアプリケーションをＣＰＵ１１に実行させるためにＲＯＭ１２に記憶されるソフトウェア構造を含むＥＣＵの構成を示すブロック図であり、図２のプラットフォームプログラムの動作要件通知部３３が動作要件判定部３４と置き換えられている点が相異するが、その他のＥＣＵのハードウェア構成、ソフトウェア構造は図１、図２と同様であるので、詳細な説明を省略する。
上記の動作要件判定部３４は、電源状態検知部３１、起動要件検知部３２から入力された電源状態及び起動要件に基づいて各アプリケーションの動作要件の判定を行うものであり、この動作要件判定部３４のプログラム実行時のＣＰＵ１１の作用を図９のフローチャートにより説明する。
【００３８】
ＣＰＵ１１は図９のフローチャートに示すアプリケーション動作要件判定プログラムを常時実行しており、このプログラムを開始すると、まず、ＣＰＵ１１は、タイマ１６から３時間毎のウェイクアップ信号を受けたか否かを判定し（ステップ３０１）、タイマ１６からウェイクアップ信号を受けたと判定した場合、電源マネージメントアプリケーション２１を起動し（ステップ３０２）、タイマ１６からウェイクアップ信号を受けていないと判定した場合、バッテリ２の接続があったか否かを判定する（ステップ３０３）。
【００３９】
バッテリ２の接続があったと判定した場合、ＣＰＵ１１は、電源マネージメントアプリケーション２１を起動し（ステップ３０２）、バッテリ２の接続がなかったと判定した場合、ＡＣＣがオンになったか否かを判定する（ステップ３０４）。そして、ＡＣＣがオンになったと判定した場合、ＣＰＵ１１は、電源マネージメントアプリケーション２１を起動し（ステップ３０２）、ＡＣＣがオンになっていないと判定した場合、ＣＡＮウェイクアップ信号を受信したか否かを判定し（ステップ３０５）、ＣＡＮウェイクアップ信号を受信したと判定した場合、電源マネージメントアプリケーション２１及びプッシュスタートアプリケーション２２を起動する（ステップ３０６）。
【００４０】
一方、ステップ３０５でＣＡＮウェイクアップ信号を受信していないと判定した場合、または、ステップ３０２で電源マネージメントアプリケーション２１を起動した後、ＣＰＵ１１は、プッシュスイッチ操作が有ったか否かを判定し（ステップ３０７）、プッシュスイッチ操作が有ったと判定した場合、プッシュスタートアプリケーション２２を起動する（ステップ３０８）。また、プッシュスイッチ操作がなかったと判定した場合、ＣＰＵ１１は、ＳＴＰの入力に基づいてブレーキの踏み込みがあったか否かを判定し（ステップ３０９）、ブレーキの踏み込みがあったと判定した場合、プッシュスタートアプリケーション２２を起動する（ステップ３０８）。
【００４１】
そして、ステップ３０６で電源マネージメントアプリケーション２１及びプッシュスタートアプリケーション２２を起動した場合、ステップ３０８でプッシュスタートアプリケーション２２を起動した場合、あるいは、ステップ３０９でブレーキの踏み込みがなかったと判定した場合、ＣＰＵ１１は、ＩＧＳＷの出力に基づいてイグニッションスイッチがオンになったか否かを判定し（ステップ３１０）、イグニッションスイッチがオンになったと判定した場合、エコランアプリケーション２３を起動した（ステップ３１１）後、始動・充電アプリケーション２４を起動する。一方、ステップ３１０でイグニッションスイッチがオンになっていないと判定した場合、ＣＰＵ１１はプログラムを終了する。
【００４２】
以上のように、プラットフォームプログラムが制御装置の電源状態及び起動要件に基づいて各アプリケーションの動作要件の判定を行い、必要なアプリケーションについてのみ動作させるので、上記と同様に誤動作を防止することができる。
【００４３】
この実施例では、動作要件を満足したアプリケーションのみを起動したが、上記の実施例２と同様に、プラットフォームプログラムが制御装置の電源状態及び起動要件に基づいて全てのアプリケーションの起動を行うとともに、制御装置の電源状態及び起動要件に基づいて各アプリケーションの動作要件の判定を行い、動作要件に該当しないアプリケーションに対して、所定の制御動作を禁止させるようにすることも可能である。
【００４４】
また、上記の実施例１と同様に、各アプリケーションが、動作要件に該当しないと判定した場合、各アプリケーションが他アプリケーションに公開する変数を所定の固定値に設定することにより、他アプリケーションの誤動作を防止することができる。
例えば、図１０に示すように、プラットフォームプログラムにおいて、エコランアプリケーション２３が動作要件に該当し、動作している場合には、エコランアプリケーション２３からの始動要求信号を始動・充電アプリケーション２４に伝達し、エコランアプリケーション２３が動作要件に該当せず、動作を停止している場合には、エコランアプリケーション２３からの始動要求信号として常時オフ信号を始動・充電アプリケーション２４に伝達することにより、始動・充電アプリケーション２４の誤動作を防止することができる。
【００４５】
さらに、動作要件に該当しないアプリケーションの動作が停止された場合には、プラットフォームのプログラムにより、上記と同様に、その旨を通信ＩＣ１５、ＣＡＮバス３を介して他のＥＣＵへ通知し、他ＥＣＵ側にて動作要件に該当しないアプリケーションのデータを参照し、異常検出を行っている処理をマスクさせることにより、他ＥＣＵによる誤ダイアグを防止することができる。
【００４６】
また、以上の実施例では、ＥＣＵのアプリケーションとして電源マネージメント、プッシュスタート、エコラン、始動・充電を例として説明したが、その他のアプリケーションを備えた車両用電子制御装置にも本発明を適用することが可能である。
【図面の簡単な説明】
【００４７】
【図１】本発明の車両用制御プログラムを実装したＥＣＵの実施例を示すブロック図である。
【図２】各種のアプリケーションを実行させるためにＲＯＭに記憶されるプログラムの構造を示す図である。
【図３】各アプリケーションの起動条件の一例を示す表である。
【図４】ＣＡＮウェイクアップを説明するための図である。
【図５】電源状態、起動要件が通知された場合の起動プログラムの作用を示すフローチャートである。
【図６】動作要件に該当しないと判定した場合に、自アプリケーションが他アプリケーションに公開する変数を所定の固定値に設定する場合のプログラム構造を示す図である。
【図７】電源状態、起動要件が通知された場合の起動プログラムの他の実施例の作用を示すフローチャートである。
【図８】各種のアプリケーションを実行させるためにＲＯＭに記憶されるソフトウェアの構造を含むＥＣＵの他の実施例の構成を示す図である。
【図９】電源状態及び起動要件に基づいて各アプリケーションの動作要件の判定を行う場合の作用を示すフローチャートである。
【図１０】動作要件に該当しないと判定した場合に、各アプリケーションが他アプリケーションに公開する変数を所定の固定値に設定する場合のプラットフォームのプログラム構造を示す図である。
【符号の説明】
【００４８】
１  ＥＣＵ
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  電源ＩＣ
１５  通信ＩＣ
１６  タイマ  
２  バッテリ
３  ＣＡＮバス
２１  電源マネージメントアプリケーション
２２  プッシュスタートアプリケーション
２３  エコランアプリケーション
２４  始動・充電アプリケーション
３１  電源状態検知部
３２  起動要件検知部
３３  動作要件通知部
３４  動作要件判定部
【図１】
2006327217.tif 000003
【図２】
2006327217.tif 000004
【図３】
2006327217.tif 000005
【図４】
2006327217.tif 000006
【図５】
2006327217.tif 000007
【図６】
2006327217.tif 000008
【図７】
2006327217.tif 000009
【図８】
2006327217.tif 000010
【図９】
2006327217.tif 000011
【図１０】
2006327217.tif 000012