(57)【特許請求の範囲】
【請求項１】
車両に搭載された車載装置を制御するコンピュータを含む車両用制御装置において、
前記車載装置を作動させるための処理を実行する主処理部と、
前記主処理部による処理に応じて作動する前記車載装置の危険状態を検知すると共に該車載装置を安全状態にする安全機能処理を実行する安全機能処理部とを備え、
前記安全機能処理部は、前記安全機能処理が実行される際に該安全機能処理の実行順序の正否を監視する実行順序監視手段を有し、
前記実行順序監視手段は、実行されるべき安全機能処理のＲＯＭにおけるアドレスと、実際に呼び出された処理のアドレスとが一致するか否かを判定し、
前記ＲＯＭにおけるアドレスと実際に呼び出された処理のアドレスとが一致している場合、前記安全機能処理部は、前記実行されるべき安全機能処理を実行し、
前記ＲＯＭにおけるアドレスと実際に呼び出された処理のアドレスとが一致していない場合、前記コンピュータのリセット処理を実行することを特徴とする車両用制御装置。
【請求項２】
請求項１に記載の車両用制御装置において、
前記実行順序監視手段は、
実行対象である安全機能処理のＲＯＭにおけるアドレスを変数に格納して前記実行されるべき安全機能処理を定義する定義手段と、
実際に呼び出された処理のアドレスと前記変数に格納されたアドレスとが一致するか否かを判定する判定手段と、
を含むことを特徴とする車両用制御装置。
【請求項３】
請求項１または２に記載の車両用制御装置において、
前記実行順序監視手段は、
前記安全機能処理が分岐処理を含む場合に、分岐後に実行されるべき分岐後処理を定義する分岐後処理定義手段と、
前記分岐後処理定義手段により定義された分岐後処理が実行されるか否かを判定する分岐判定手段と、
を含むことを特徴とする車両用制御装置。
【請求項４】
請求項１から３の何れか一項に記載の車両用制御装置において、
前記安全機能処理部は、
前記安全機能処理が所定周期で繰り返し実行される繰り返し処理である場合に、前記安全機能処理の実行周期が正常範囲内に含まれるか否かを該安全機能処理の実行とは独立に監視する実行周期監視手段を更に有することを特徴とする車両用制御装置。
【請求項５】
請求項１から４の何れか一項に記載の車両用制御装置において、
前記車載装置は、原動機からの動力を前記車両の駆動輪に伝達する動力伝達装置であることを特徴とする車両用制御装置。
【請求項６】
車両に搭載された車載装置を制御するコンピュータを用いた車両用制御方法において、
前記車載装置を作動させるための主処理と、前記主処理に応じて作動する前記車載装置の危険状態を検知すると共に該車載装置を安全状態にする安全機能処理とを実行すると共に、前記安全機能処理が実行される際にのみ、実行されるべき安全機能処理のＲＯＭにおけるアドレスと実際に呼び出された処理のアドレスとが一致するか否かを判定することにより前記安全機能処理の実行順序の正否を監視し、前記ＲＯＭにおけるアドレスと実際に呼び出された処理のアドレスとが一致している場合、前記実行されるべき安全機能処理を実行し、前記ＲＯＭにおけるアドレスと実際に呼び出された処理のアドレスとが一致していない場合、前記コンピュータのリセット処理を実行する車両用制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された車載装置を制御するコンピュータを含む車両用制御装置および当該コンピュータを用いた車両用制御方法に関する。
【背景技術】
【０００２】
従来、プログラムの暴走を検出可能な演算装置として、プログラムを実行する演算部の基準クロックを計数すると共に、所定値毎に演算部に割込要求を行なうものが知られている（例えば、特許文献１参照）。この演算装置は、割込処理時に、プログラムの実行アドレスが所定範囲に存在するか否かを判定し、プログラムの実行アドレスが所定範囲に存在しないときにプログラムが暴走状態であると判定する。また、プログラムに従って処理を実行する命令処理部を備えると共に当該命令処理部におけるプログラム実行の暴走を検出する半導体回路装置として、命令処理部がアクセスするプログラム空間のアドレスを判定すると共に命令処理部が非実装空間のアドレスにアクセスしたと判定したことに応答して復帰処理を実行し、非実装空間への暴走を止めるものも知られている（例えば、特許文献２参照）。更に、プログラムを複数のタスクプログラムに分割し、各タスクプログラムを所定の順序で実行させるようにしたマルチタスクプログラムの暴走を検出する装置として、タスクプログラムを記憶する複数のタスクプログラム記憶手段と、これらタスクプログラム記憶手段に記憶されたタスクプログラムを指令手段から指定されたタスクプログラムに切り替える切替手段と、実行していたタスクプログラムに基づいたプログラム番地が、指定されていたタスクプログラムのプログラム番地の範囲内に在るか否かを判定し、範囲内にないと判定した場合には暴走とする判定手段とを備えたものも知られている（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２３６６００号公報
【特許文献２】特開２００６−０７９２３０号公報
【特許文献３】特開平０８−１０６４０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来のプログラムの暴走検出技術は、基本的に現在実行されている処理が予め定められたアドレス（プログラム番地）に含まれているかどうか監視するだけのものであり、本来実行されるべき処理が実行されているかを監視可能なものではない。従って、上記従来のプログラムの暴走検出技術は、車載装置を制御するコンピュータを含む車両用制御装置に対し、車両の安全性を確保する観点から装備するものとしては不十分である。一方、車両用制御装置においては、車載装置を作動させるための制御自体が複雑化していることもあり、すべての処理の実行状態を監視すると、演算負荷が増加してしまい却って様々の処理の円滑な実行に支障をきたしてしまうおそれもある。
【０００５】
そこで、本発明は、演算負荷の増加を抑制しつつ、車両の安全性が確保されるように車載装置をより適正に制御可能な車両用制御装置および方法の提供を主目的とする。
【課題を解決するための手段】
【０００６】
本発明による車両用制御装置および車両用制御方法は、上記主目的を達成するために以下の手段を採っている。
【０００７】
本発明による車両用制御装置は、
車両に搭載された車載装置を制御するコンピュータを含む車両用制御装置において、
前記車載装置を作動させるための処理を実行する主処理部と、
前記主処理部による処理に応じて作動する前記車載装置の危険状態を検知すると共に該車載装置を安全状態にする安全機能処理を実行する安全機能処理部とを備え、
前記安全機能処理部は、前記安全機能処理が実行される際に該安全機能処理の実行順序の正否を監視する実行順序監視手段を有することを特徴とする。
【０００８】
この車両制御装置は、車載装置を作動させるための処理を実行する主処理部と、当該主処理部による処理に応じて作動する車載装置の危険状態を検知すると共に車載装置を安全状態にする安全機能処理を実行する安全機能処理部とを備える。そして、安全機能処理部は、安全機能処理が実行される際に当該安全機能処理の実行順序の正否を監視する実行順序監視手段を有する。このように、安全機能処理部に実行順序監視手段を設け、車載装置の制御に際して実行される様々な処理のうち、安全機能を確保するための安全機能処理について実行順序の正否を監視すれば、安全機能処理が本来の実行順序とは異なる順序で実行されてしまうのを抑制し、主処理部により実行される処理の実行状態を監視することなく、車両の安全性を良好に確保することが可能となる。これにより、演算負荷の増加を抑制しつつ、車両の安全性が確保されるように車載装置をより適正に制御することが可能となる。なお、実行順序の正否の監視対象とされる安全機能処理は、それ自体で１つのタスクであってもよく、あるタスクの実行に際して呼び出される処理（サブルーチン、関数等）であってもよい。
【０００９】
また、前記実行順序監視手段は、実行されるべき安全機能処理を定義する定義手段と、前記定義手段により定義された前記安全機能処理が実行されるか否かを判定する判定手段とを含むものであってもよい。これにより、安全機能処理の実行順序の正否をより適正に監視することが可能となる。
【００１０】
更に、前記実行順序監視手段は、前記安全機能処理が分岐処理を含む場合に、分岐後に実行されるべき分岐後処理を定義する分岐後処理定義手段と、前記分岐後処理定義手段により定義された分岐後処理が実行されるか否かを判定する分岐判定手段とを含むものであってもよい。これにより、分岐処理を含む安全機能処理が実行される際に、分岐後処理の実行順序の正否をより適正に監視することが可能となる。
【００１１】
また、前記安全機能処理部は、前記安全機能処理が所定周期で繰り返し実行される繰り返し処理である場合に、前記安全機能処理の実行周期が正常範囲内に含まれるか否かを該安全機能処理の実行とは独立に監視する実行周期監視手段を更に有してもよい。このように、繰り返し処理である安全機能処理の実行周期を監視することで、当該安全機能処理が本来の実行周期とは異なる周期で実行されてしまうのを抑制し、車両の安全性をより良好に確保することが可能となる。なお、このような実行周期の監視は、１つのタスク内の安全機能処理（繰り返し処理）とは独立した関数等により実行されてもよく、繰り返し処理を含むタスクとは別のタスクで実行されてもよく、主処理部や安全機能処理部が構築されるコンピュータとは別のコンピュータにより実行されてもよい。
【００１２】
そして、前記車載装置は、原動機からの動力を前記車両の駆動輪に伝達する動力伝達装置であってもよい。
【００１３】
本発明による車両用制御方法は、
車両に搭載された車載装置を制御するコンピュータを用いた車両用制御方法において、
前記車載装置を作動させるための主処理と、前記主処理に応じて作動する前記車載装置の危険状態を検知すると共に該車載装置を安全状態にする安全機能処理とを実行すると共に、前記安全機能処理が実行される際にのみ、該安全機能処理の実行順序の正否を監視するものである。
【００１４】
この方法によれば、演算負荷の増加を抑制しつつ、車両の安全性が確保されるように車載装置をより適正に制御することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明による車両用制御装置を含む車両である自動車１０の概略構成図である。
【図２】本発明による車両用制御装置の制御ブロック図である。
【図３】安全機能処理の実行周期の監視手順の一例を示すフローチャートである。
【図４】安全機能処理の実行手順の一例を示すフローチャートである。
【図５】安全機能処理の実行手順の他の例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
次に、本発明を実施するための形態を実施例を用いて説明する。
【実施例】
【００１７】
図１は、本発明による車両用制御装置を含む車両である自動車１０の概略構成図である。同図に示す自動車１０は、ガソリンや軽油といった炭化水素系の燃料と空気との混合気の爆発燃焼により動力を出力する内燃機関である原動機としてのエンジン１２や、エンジン１２を制御するエンジン用電子制御ユニット（以下、「エンジンＥＣＵ」という）１４、図示しない電子制御式油圧ブレーキユニットを制御するブレーキ用電子制御ユニット（以下、「ブレーキＥＣＵ」という）１６、エンジン１２のクランクシャフトに接続されると共にエンジン１２からの動力を左右の駆動輪ＤＷに伝達する車載装置としての動力伝達装置２０、動力伝達装置２０を制御する本発明による車両用制御装置としての変速用電子制御ユニット（以下、「変速ＥＣＵ」という）２１等を含む。
【００１８】
エンジンＥＣＵ１４は、図示しないＣＰＵを中心とするマイクロコンピュータとして構成されており、ＣＰＵの他に、各種プログラムを記憶するＲＯＭ、データを一時的に記憶するＲＡＭ、入出力ポートおよび通信ポート（何れも図示せず）等を含む。図１に示すように、エンジンＥＣＵ１４には、アクセルペダル９１の踏み込み量（操作量）を検出するアクセルペダルポジションセンサ９２からのアクセル開度Ａｃｃや車速センサ９７からの車速Ｖ、クランクシャフトの回転位置を検出する図示しないクランクシャフトポジションセンサといった各種センサ等からの信号、ブレーキＥＣＵ１６や変速ＥＣＵ２１からの信号等が入力され、エンジンＥＣＵ１４は、これらの信号に基づいて何れも図示しない電子制御式のスロットルバルブや燃料噴射弁、点火プラグ等を制御する。
【００１９】
ブレーキＥＣＵ１６も図示しないＣＰＵを中心とするマイクロコンピュータとして構成されており、ＣＰＵの他に、各種プログラムを記憶するＲＯＭ、データを一時的に記憶するＲＡＭ、入出力ポートおよび通信ポート（何れも図示せず）等を含む。図１に示すように、ブレーキＥＣＵ１６には、ブレーキペダル９３が踏み込まれたときにマスタシリンダ圧センサ９４により検出されるマスタシリンダ圧や車速センサ９７からの車速Ｖ、図示しない各種センサ等からの信号、エンジンＥＣＵ１４や変速ＥＣＵ２１からの信号等が入力され、ブレーキＥＣＵ１６は、これらの信号に基づいて図示しないブレーキアクチュエータ（油圧アクチュエータ）等を制御する。
【００２０】
動力伝達装置２０は、トランスミッションケース２２の内部に収容されるトルクコンバータ（流体伝動装置）２３や、オイルポンプ２４、例えば有段式の自動変速機である変速機２５、ギヤ機構２６、差動機構（デファレンシャルギヤ）２７、油圧制御装置３０等を含む。トルクコンバータ２３は、エンジン１２のクランクシャフトに接続される入力側のポンプインペラや、変速機２５の入力軸（入力部材）に接続された出力側のタービンランナ、ステータ、ロックアップクラッチ、ダンパ機構等（何れも図示省略）を含むものである。なお、トルクコンバータ２３の代わりに、ステータを有さない流体継手が用いられてもよい。オイルポンプ２４は、ポンプボディとポンプカバーとからなるポンプアッセンブリと、ハブを介してトルクコンバータ２３のポンプインペラａに接続された外歯ギヤとを備えるギヤポンプとして構成され、エンジン１２からの動力により図示しないオイルパンに貯留されている作動油（ＡＴＦ）を吸引して油圧制御装置３０へと圧送する。
【００２１】
変速機２５は、変速段を複数段階に変更しながら入力軸に伝達された動力を出力軸に伝達可能なものであり、複数の遊星歯車機構や、入力軸から出力軸までの動力伝達経路を変更するための複数のクラッチ、ブレーキ、ワンウェイクラッチ等を含む。変速機２５の出力軸は、ギヤ機構２６および差動機構２７を介して駆動輪ＤＷに連結される。また、複数のクラッチやブレーキは、油圧制御装置３０からの油圧により係合または解放される。なお、変速機２５は、ベルト式あるいは他の形式の無段変速機として構成されてもよい。油圧制御装置３０は、バルブボディ内に配置された複数のソレノイドバルブやリレーバルブ等を有し、トルクコンバータ２３や変速機２５により要求される油圧を発生すると共に、各種軸受などの潤滑部分に作動油を供給する。
【００２２】
動力伝達装置２０の制御装置である変速ＥＣＵ２１は、図２に示すように、メインコンピュータ２１０と、監視コンピュータ（サブコンピュータ）２２０と、車速センサ９７や回転数センサ９８、油温センサ９９といった各種センサからの信号を処理する処理回路２３０と、油圧制御装置３０を駆動制御する駆動回路２４０とを含む、メインコンピュータ２１０と、監視コンピュータ２２０とは、何れも図示しないＣＰＵを中心とするマイクロコンピュータとして構成されており、ＣＰＵの他に、各種プログラムを記憶するＲＯＭ、データを一時的に記憶するＲＡＭ、入出力ポートおよび通信ポート（何れも図示せず）等を含む。図１に示すように、変速ＥＣＵ２１には、アクセルペダルポジションセンサ９２からのアクセル開度Ａｃｃや車速センサ９７からの車速Ｖ、複数のシフトレンジの中から所望のシフトレンジを選択するためのシフトレバー９５の操作位置を検出するシフトレンジセンサ９６からのシフトレンジＳＲ、変速機２５の入力回転数を検出する回転数センサ９８、油圧制御装置３０における油温を検出する油温センサ９９といった様々なセンサ等からの信号、エンジンＥＣＵ１４やブレーキＥＣＵ１６からの信号等が入力され、変速ＥＣＵ２１は、これらの信号に基づいてトルクコンバータ２３や変速機２５、すなわち油圧制御装置３０を制御する。
【００２３】
そして、変速ＥＣＵ２１を構成するメインコンピュータ２１０には、図２に示すように、ＣＰＵやＲＯＭ，ＲＡＭといったハードウェアと、ＲＯＭにインストールされたプログラムといったソフトウェアとの協働により、主処理部２１１と、安全機能処理部２１２と、監視部２１５とが機能ブロックとして構築される。主処理部２１１は、トルクコンバータ２３や変速機２５を作動させるための様々な処理（主処理）、すなわち油圧制御装置３０の制御全般を実行するものである。安全機能処理部２１２は、トルクコンバータ２３や変速機２５、油圧制御装置３０等を含む動力伝達装置２０の危険状態を検知すると共に動力伝達装置２０を安全状態にする様々なタスク、サブルーチン、マクロ、関数等である安全機能処理を実行するものである。監視部２１５は、変速ＥＣＵ２１自体（ハードウェア）の異常の有無を監視コンピュータ２２０と共に相互に監視するものである。図示するように、監視コンピュータ２２０にも、ＣＰＵやＲＯＭ，ＲＡＭといったハードウェアと、ＲＯＭにインストールされたプログラムといったソフトウェアとの協働により、メインコンピュータ２１０の監視部２１５と同様の処理を実行する監視部２２５が構築される。
【００２４】
メインコンピュータ２１０の主処理部２１１には、図２に示すように、アクセルペダルポジションセンサ９２、車速センサ９７、回転数センサ９８、油温センサ９９といった様々なセンサからの信号が処理回路２３０を介して入力される。主処理部２１１は、処理回路２３０を介して入力した各種センサからの信号やエンジンＥＣＵ１４やブレーキＥＣＵ１６からの信号に基づいて指令信号を生成し、当該指令信号を駆動回路２４０に送信する。そして、駆動回路２４０は、主処理部２１１からの指令信号に従って油圧制御装置３０を駆動制御する。また、変速ＥＣＵ２１の安全機能処理部２１２には、アクセルペダルポジションセンサ９２、車速センサ９７、回転数センサ９８、油温センサ９９といった様々なセンサからの信号が処理回路２３０を介して入力されると共に、駆動回路２４０からの信号等が入力される。そして、安全機能処理部２１２は、入力信号に基づいてトルクコンバータ２３や変速機２５、油圧制御装置３０等を含む動力伝達装置２０の危険状態を検知すると共に動力伝達装置２０を安全状態にするための処理である安全機能処理を実行して指令信号を生成し、当該指令信号を駆動回路２４０に送信する。更に、メインコンピュータ２１０の監視部２１５は、メインコンピュータ２１０のＣＰＵやＲＡＭ、ＲＯＭ等のチェックを行うことでハードウェアの異常の有無を監視する。また、監視コンピュータ２２０の監視部２２５は、主処理部２１１の出力信号や、処理回路２３０を介して各種センサからの信号を入力し、入力した信号に基づいてハードウェアの異常の有無を監視する。なお、実施例において、安全機能処理部２１２に入力される各種センサからの信号は、例えば国際規格に基づいて予めハードウェアやソフトウェアを構成することで、国際規格に合致するように確からしさをより高めた信号である。
【００２５】
ここで、「危険状態」とは、例えば、変速機２５において予め定められた変速線図に従って設定される変速段よりもギヤ比の大きい変速段が形成される状態や、予め定められたエンジン１２のトルクアップ量よりも大きいトルクアップ量が変速ＥＣＵ２１からエンジンＥＣＵ１４に対して指令される状態といったような運転者が意図しない加速を自動車１０に発生させてしまう状態や、変速機２５の変速段ごとに予め係合することが定められたクラッチやブレーキ以外のクラッチ等が係合された状態といったような運転者が意図しない減速を自動車１０に発生させてしまう状態をいう。また、「安全状態」とは、例えば、変速機２５における動力伝達を不能にするために変速機２５をニュートラルにした状態や、油圧制御装置３０の全ソレノイドバルブへの電力供給を遮断して変速機２５に所定の変速段を形成させる状態（いわゆるリンプホーム状態）をいう。
【００２６】
次に、図３〜図５を参照しながら、変速ＥＣＵ２１の安全機能処理部２１２による安全機能処理の実行手順について説明する。
【００２７】
図３は、安全機能処理部２１２により繰り返し処理である安全機能処理が実行される際に、当該安全機能処理の実行周期を監視すべく安全機能処理部２１２によって繰り返し実行される一連の処理を例示するフローチャートである。図３に示す一連の処理は、例えば、１つのタスク内の安全機能処理（繰り返し処理）とは独立した関数等により実行されたり、対象となる安全機能処理（繰り返し処理）を含むタスクとは別のタスクで実行されたりするものである。
【００２８】
図３の一連の処理は、所定周期（例えば、１００ｍＳｅｃ）ごとに実行されるものであり、まず、予め定められた変数から対象となる安全機能処理の呼び出し時刻（システム時間）が取得される（ステップＳ１００）。なお、安全機能処理の呼び出し時刻は、プログラムの実行により当該安全機能処理が呼び出されるたびに上記変数に格納される。次いで、ステップＳ１００にて取得された呼び出し時刻に基づいて対象となる安全機能処理の実行周期が算出される（ステップＳ１１０）。ステップＳ１１０では、ステップＳ１００にて入力された呼び出し時刻と対象となる安全機能処理の最初の呼び出し時刻あるいはステップＳ１００の前回実行時に取得された呼び出し時刻との差分が実行周期として算出される。実行周期が算出されると、算出された実行周期が予め定められた正常範囲外のものであるか否かが判定される（ステップＳ１２０）。そして、ステップＳ１１０にて算出された実行周期が正常範囲内に含まれる場合には、その段階で図３の一連の処理が一旦終了させられる。これに対して、ステップＳ１１０にて算出された実行周期が正常範囲外のものである場合には、メインコンピュータ２１０に異常が発生しているとみなされて当該メインコンピュータ２１０のリセット処理が実行され（ステップＳ１３０）、リセット処理が完了すると、その段階で図３の一連の処理が一旦終了させられる。ここで、リセット処理には、メインコンピュータにおける安全機能処理を中止する処理や、メインコンピュータからの出力信号をキャンセル（無効）にする処理等が含まれる。
【００２９】
このように、繰り返し実行される安全機能処理の実行周期を監視することで、安全機能処理が本来の実行周期とは異なる周期で実行されてしまうのを抑制し、自動車１０の安全性をより良好に確保することが可能となる。なお、図３における一連の処理は、主処理部２１１や安全機能処理部２１２が構築されるメインコンピュータ２１０とは別のコンピュータである監視コンピュータ２２０により実行されてもよい。
【００３０】
図４は、安全機能処理部２１２による安全機能処理の実行手順の一例を示すフローチャートである。ここで、図４の一連の処理は、それ自体で１つのタスクである安全機能処理に適用されてもよく、あるタスクの実行に際して呼び出される安全機能処理（サブルーチン、マクロ、関数等）であってもよい。
【００３１】
図４に示すように、安全機能処理の実行に際しては、まず、実行対象である安全機能処理のメインコンピュータ２１０のＲＯＭにおけるアドレスが取得されると共に予め定められた変数に格納され（ステップＳ２００）、これにより、実行されるべき安全機能処理が定義される。ステップＳ２００の処理の後、実行対象である安全機能処理が呼び出されてＲＡＭに格納される（ステップＳ２１０）。更に、ステップＳ２１０にて呼び出された処理のアドレスと上記変数に格納されたアドレスとが比較される（ステップＳ２２０）。なお、ステップＳ２１０にて呼び出された処理のＲＯＭにおけるアドレスは、当該処理のプログラムコードに記述されている。そして、ステップＳ２１０にて呼び出された処理のアドレスと上記変数に格納されたアドレスとが一致している場合には（ステップＳ２３０のＹｅｓ）、ステップＳ２１０にて呼び出された処理すなわちステップＳ２００にて定義された安全機能処理がそのまま実行され（ステップＳ２４０）、安全機能処理の実行が完了した段階で図４の一連の処理が終了させられる。これに対して、ステップＳ２１０にて呼び出された処理のアドレスと上記変数に格納されたアドレスとが一致していない場合には（ステップＳ２３０のＮｏ）、メインコンピュータ２１０のリセット処理が実行され（ステップＳ２５０）、リセット処理が完了すると、その段階で図４の一連の処理が終了させられる。
【００３２】
このように、実行対象である安全機能処理のメインコンピュータ２１０のＲＯＭにおけるアドレスを変数に格納して実行されるべき安全機能処理を定義した上で（ステップＳ２００）、実際に呼び出された処理のアドレスと当該変数に格納されたアドレスとを比較して定義された安全機能処理が実行されるか否かを判定することで（ステップＳ２２０，Ｓ２３０）、安全機能処理の実行順序の正否をより適正に監視することができる。従って、例えばＣＰＵの異常等によりプログラムが暴走したような場合であっても、リセット処理により当該暴走を止め、自動車１０の安全性が確保されるように動力伝達装置２０をより適正に制御することが可能となる。
【００３３】
図５は、安全機能処理部２１２による安全機能処理の実行手順の他の例を示すフローチャートである。図５の一連の処理は、実行対象である安全機能処理が分岐処理を含むものである場合に実行される。
【００３４】
図５に示すように、分岐処理を含む安全機能処理の実行に際しては、まず、いわゆるｉｆ文やｗｈｉｌｅ文、ｓｗｉｔｃｈ文等による分岐処理の後に実行されるべき分岐後処理の仮想アドレスが予め定められた変数に格納され（ステップＳ３００）、これにより、実行されるべき分岐後処理が定義される。ここで、図４に関連して説明したような安全機能処理（サブルーチン、マクロ、関数等）自体を呼び出す場合に比べて、分岐後処理のＲＯＭにおけるアドレス（実アドレス）を取得することは容易ではない。このため、実施例において、分岐処理を含む安全機能処理に関連したプログラムでは、分岐後に実行される分岐後処理の仮想アドレスが定数として定義されており、ステップＳ３００では、分岐結果に応じた分岐後処理の仮想アドレスが上記変数に格納される。次いで、ステップＳ３００の処理の後、分岐後に実際に実行される処理のアドレスと上記変数に格納された仮想アドレスとが比較される（ステップＳ３１０）。そして、分岐後に実際に実行される処理の仮想アドレスと上記変数に格納された仮想アドレスとが一致している場合には（ステップＳ３２０のＹｅｓ）、当該処理すなわちステップＳ３００にて定義された分岐後処理がそのまま実行され（ステップＳ３３０）、分岐後処理の実行が完了した段階で図５の一連の処理が終了させられる。これに対して、分岐後に実際に実行される処理の仮想アドレスと上記変数に格納された仮想アドレスとが一致していない場合には（ステップＳ３２０のＮｏ）、メインコンピュータ２１０のリセット処理が実行され（ステップＳ３４０）、リセット処理が完了すると、その段階で図５の一連の処理が終了させられる。
【００３５】
このように、実行対象である安全機能処理が分岐処理を含む場合には、仮想アドレスを変数に格納して分岐後に実行されるべき分岐後処理を定義した上で（ステップＳ３００）、分岐後に実際に実行される処理の仮想アドレスと当該変数に格納されたアドレスとを比較して定義された分岐後処理が実行されるか否かを判定することで（ステップＳ３１０，Ｓ３２０）、分岐後処理の実行順序の正否をより適正に監視することが可能となる。
【００３６】
以上説明したように、車両制御装置としての変速ＥＣＵ２１のメインコンピュータ２１０には、車載装置としての動力伝達装置２０を作動させるための複数の処理を実行する主処理部２１１と、動力伝達装置２０の危険状態を検知して当該動力伝達装置２０を安全状態にするための複数の安全機能処理を実行する安全機能処理部２１２とが構築される。そして、安全機能処理部２１２は、安全機能処理が実行される際に図３や図４に示す手順に従って当該安全機能処理の実行順序の正否を監視する。このように、動力伝達装置２０の制御に際して実行される様々な処理のうち、安全機能を確保するための安全機能処理について実行順序の正否を監視すれば、安全機能処理が本来の実行順序とは異なる順序で実行されてしまうのを抑制し、主処理部２１１により実行される処理の実行状態を監視することなく、自動車１０の安全性を良好に確保することが可能となる。これにより、主処理部２１１における演算負荷の増加を抑制しつつ、自動車１０の安全性が確保されるように動力伝達装置２０をより適正に制御することが可能となる。なお、上記実施例の変速ＥＣＵ２１は、メインコンピュータ２１０と監視コンピュータ（サブコンピュータ）２２０とを含むものであるが、変速ＥＣＵ２１から監視コンピュータ２２０を省略してもよい。
【００３７】
ここで、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。すなわち、上記実施例では、自動車１０に搭載された車載装置としての動力伝達装置２０を制御するメインコンピュータ２１０を含む変速ＥＣＵ２１が「車両用制御装置」に相当し、動力伝達装置２０を作動させるための様々な処理を実行する主処理部２１１が「主処理部」に相当し、動力伝達装置２０の危険状態を検知して動力伝達装置２０を安全状態にするための安全機能処理を実行する安全機能処理部２１２が「安全機能処理部」に相当し、安全機能処理が実行される際に当該安全機能処理の実行順序の正否を監視する図４のステップＳ２００〜Ｓ２３０や図５のステップＳ３００〜Ｓ３２０が「実行順序監視手段」に相当する。また、図４のステップＳ２００が、実行されるべき安全機能処理を定義する「定義手段」に相当し、図４のステップＳ２２０，Ｓ２３０が、定義手段により定義された安全機能処理が実行されるか否かを判定する「判定手段」に相当し、図５のステップＳ３００が、分岐後に実行されるべき分岐後処理を定義する「分岐後処理定義手段」に相当し、図５のステップＳ３１０，Ｓ３２０が、定義された分岐後処理が実行されるか否かを判定する「分岐判定手段」に相当し、図３のステップＳ１００〜Ｓ１２０が、安全機能処理が所定周期で繰り返し実行される繰り返し処理である場合に当該安全機能処理の実行周期が正常範囲内に含まれるか否かを安全機能処理の実行とは独立に監視する「実行周期監視手段」に相当する。
【００３８】
ただし、実施例の主要な要素と課題を解決するための手段の欄に記載された発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載された発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。すなわち、実施例はあくまで課題を解決するための手段の欄に記載された発明の具体的な一例に過ぎず、課題を解決するための手段の欄に記載された発明の解釈は、その欄の記載に基づいて行なわれるべきものである。
【００３９】
以上、実施例を用いて本発明の実施の形態について説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において様々な変更をなし得ることはいうまでもない。
【産業上の利用可能性】
【００４０】
本発明は、車両や車載装置の製造産業において利用可能である。
【符号の説明】
【００４１】
１０  自動車、１２  エンジン、１４  エンジン用電子制御ユニット（エンジンＥＣＵ）、１６  ブレーキ用電子制御ユニット（ブレーキＥＣＵ）、２０  動力伝達装置、２１  変速用電子制御ユニット（変速ＥＣＵ）、２２  トランスミッションケース、２３  トルクコンバータ、２４  オイルポンプ、２５  変速機、２６  ギヤ機構、２７  差動機構、３０  油圧制御装置、９１  アクセルペダル、９２  アクセルペダルポジションセンサ、９３  ブレーキペダル、９４  マスタシリンダ圧センサ、９５  シフトレバー、９６  シフトレンジセンサ、９７  車速センサ、９８  回転数センサ、９９  油温センサ、２１０  メインコンピュータ、２１１  主処理部、２１２  安全機能処理部、２１５，２２５  監視部、２２０  監視コンピュータ、２３０  処理回路、２４０  駆動回路。
【図１】
0005853691.tif 000002
【図２】
0005853691.tif 000003
【図３】
0005853691.tif 000004
【図４】
0005853691.tif 000005
【図５】
0005853691.tif 000006