(57)【要約】【課題】  複数のスイッチ信号を組み合わせて入力情報を識別する演算処理装置において、スイッチの切り替わりタイミングにズレが発生しても、その入力情報を正確に識別することができるようにする。【解決手段】  本発明のエンジン制御装置によれば、ＥＣＵの各ポートから入力されるスイッチ信号に基づく組合せデータが所定のタイミングで複数回作成され、その組合せデータ全体としての一致が確認される（Ｓ１〜Ｓ５）。そして、その一致が継続した場合にその組合せデータ、つまりこれを構成する正確なスイッチデータを制御情報として確定する（Ｓ６，Ｓ７）。このため、スイッチの切り替わりのタイミングにズレが発生しても、そのズレが解消した後の正確な制御情報を得ることができる。【選択図】  図４
2007077845.tif 000002
【特許請求の範囲】
【請求項１】
入力された複数のスイッチ信号を組み合わせて入力情報を識別し、前記入力情報に基づいた演算処理を実行する演算処理装置において、
複数のポートにそれぞれ入力された各スイッチ信号の所定の組合せデータを、所定のタイミングで複数回作成し、その組合せデータが設定回数以上一致することをもって前記入力情報を確定する信号処理部と、
確定された前記入力情報に基づいた演算処理を実行可能な演算処理部と、
を備えたことを特徴とする演算処理装置。
【請求項２】
前記信号処理部は、前記設定回数を予め定める条件に基づいて設定変更することを特徴とする請求項１記載の演算処理装置。
【請求項３】
前記信号処理部は、
前記組合せデータとしてあり得ないパターン又はあり得るパターンを記憶し、
前記組合せデータがあり得ないパターンとなった場合に異常判定を行い、
前記異常判定が行われた組合せデータに基づく前記入力情報の確定は行わないこと、
を特徴とする請求項１記載の演算処理装置。
【請求項４】
前記信号処理部は、
複数回作成される前記組合せデータの前後であり得ない切り替わり又はあり得る切り替わりを記憶し、
前記組合せデータがあり得ない切り替わりをした場合に異常判定を行い、
前記異常判定が行われた組合せデータに基づく前記入力情報の確定は行わないこと、
を特徴とする請求項１記載の演算処理装置。
【請求項５】
前記信号処理部は、
前記異常判定を行った後に、前記設定回数が多くなるように設定変更して処理を継続し、
新たな設定回数の範囲で異常状態が解消された場合には、その異常状態解消後の組合せデータに基づいて前記入力情報を確定すること、
を特徴とする請求項３又は請求項４記載の演算処理装置。
【請求項６】
前記信号処理部は、前記異常判定を行った後に、前記入力情報を予め設定したデフォルト情報にて確定するフェイルセーフモードに移行することを特徴とする請求項３又は請求項４記載の演算処理装置。
【請求項７】
前記信号処理部は、前記フェイルセーフモードへの移行後に前記組合せデータの作成処理を継続し、前記あり得ないパターン又は前記あり得ない切り替わりが所定回数以上発生しない場合には通常モードに復帰して、そのときの前記組合せデータに基づいて前記入力情報を確定可能にすることを特徴とする請求項６記載の演算処理装置。
【請求項８】
前記信号処理部は、前記フェイルセーフモードへの移行後、前記複数のポートにそれぞれ入力された各スイッチ信号の全てが個々に変化し得ることを検出した場合には通常モードに復帰して、そのときの前記組合せデータに基づいて前記入力情報を確定可能にすることを特徴とする請求項６記載の演算処理装置。
【請求項９】
複数のスイッチ信号を組み合わせて入力情報を識別し、前記入力情報に基づいた演算処理を実行する演算処理方法において、
各スイッチ信号の所定の組合せデータを、所定のタイミングで複数回作成する組合せデータ作成ステップと、
順次作成された前記組合せデータが設定回数以上一致することをもって前記入力情報を確定する入力情報確定ステップと、
確定された前記入力情報に基づいた演算処理を実行する演算処理ステップと、
を備えたことを特徴とする演算処理方法。
【請求項１０】
エンジン制御のために入力された複数のスイッチ信号を組み合わせて制御情報を識別し、前記制御情報に基づいた制御処理を実行するエンジン制御装置において、
複数のポートにそれぞれ入力された各スイッチ信号の所定の組合せデータを、所定のタイミングで複数回作成し、その組合せデータが設定回数以上一致することをもって前記制御情報を確定する信号処理部と、
確定された前記制御情報に基づいた制御処理を実行可能なエンジン制御部と、
を備えたことを特徴とするエンジン制御装置。
【請求項１１】
複数のスイッチ信号を組み合わせて制御情報を識別し、前記制御情報に基づいたエンジン制御を実行するエンジン制御方法において、
各スイッチ信号の所定の組合せデータを、所定のタイミングで複数回作成する組合せデータ作成ステップと、
順次作成された組合せデータが設定回数以上一致することをもって前記制御情報を確定する制御情報確定ステップと、
確定された前記制御情報に基づいたエンジン制御を実行するエンジン制御ステップと、
を備えたことを特徴とするエンジン制御方法。
【請求項１２】
複数の入力信号を組み合わせて入力情報を識別し、前記入力情報に基づいた演算処理を実行する演算処理方法において、
各入力信号の所定の組み合わせデータを、所定のタイミングで複数回作成する組合せデータ作成ステップと、
順次作成された前記組合せデータが設定回数以上一致することをもって前記入力情報を確定する入力情報確定ステップと、
確定された前記入力情報に基づいた演算処理を実行する演算ステップと、
を備えたことを特徴とする演算処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のスイッチ信号を組み合わせて入力情報を識別して演算処理する演算処理装置及び演算処理方法、並びに、複数のスイッチ信号を組み合わせて制御情報を識別してエンジン制御を実行するエンジン制御装置及びエンジン制御方法に関する。
【背景技術】
【０００２】
車両のエンジン制御等に用いる入力情報には、運転者の操作に基づいて入力される複数のスイッチ信号の組合せによって、その制御情報が識別されてエンジン制御に反映されるものがある（例えば特許文献１参照）。
【０００３】
図８は、従来のエンジン制御装置におけるスイッチ信号の処理部の構成を表すブロック図である。図９は、スイッチの切り替わりのタイミングを表す説明図である。
図８に示すように、このエンジン制御装置は、プリント基板上にマイクロコンピュータ１０１を実装して構成された電子制御装置（Electronic Control Unit：以下「ＥＣＵ」という）１０２からなる。ＥＣＵ１０２の複数のポートＰ１１，Ｐ１２，Ｐ１３，Ｐ１４・・・には、エンジン制御のための複数のスイッチＳＷ１１，ＳＷ１２，ＳＷ１３，ＳＷ１４・・・が接続されている。各スイッチから入力されたスイッチ信号は、ＩＣ（Integrated Circuit）からなるハードフィルタＦ１１〜Ｆ１４によって信号レベルが調整されてマイクロコンピュータ１０１に入力される。
【０００４】
マイクロコンピュータ１０１には、これらのスイッチ信号のオン・オフを識別する入力処理部がそれぞれ設けられ、各入力処理部で処理されたデータ（ＳＷ１１データ〜ＳＷ１４データ）がエンジン制御のためのアプリケーションで使用される。例えば、スイッチＳＷ１１〜ＳＷ１４が変速機のシフトポジションスイッチであり、スイッチＳＷ１１がＰレンジ、スイッチＳＷ１２がＲレンジ、スイッチＳＷ１３がＮレンジ、スイッチＳＷ１４がＤレンジであるとする。このとき、例えばスイッチＳＷ１４のスイッチ信号がオンであり、他のスイッチＳＷ１１，ＳＷ１２，ＳＷ１３がオフである場合には、シフトポジションがＤレンジに設定されていることが検出される。そして、その状態から、例えばスイッチＳＷ１４がオフに切り替わり、スイッチＳＷ１３がオンに切り替わると、シフトポジションがＤレンジからＮレンジに切り替えられたことが検出される。つまり、複数のスイッチ信号の組合せによってシフトポジションが識別されてエンジン制御に反映される。
【特許文献１】特開２００４−８４８０７号公報（図２）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなスイッチ信号は、例えばハード的なバラツキなどの要因から完全に同期して切り替わることはなく、信号の切り替わりのタイミングにズレが発生する。すなわち、図９に示すように、例えばスイッチＳＷ１４よりもスイッチＳＷ１３の切り替わりが早く、両者の切り替わりのズレの区間の時間Ｔ１でスイッチ信号が取得された場合、両者がともにオンになるという予期しないスイッチ信号の組合せが検出され、エンジン制御に支障をきたすおそれがある。
【０００６】
なお、このような問題は、上述したシフトポジションスイッチに限られず、エンジン制御のための他のスイッチ、エンジン制御以外の車両の各種制御のためのスイッチ、あるいは車両以外に用いられるスイッチによる入力情報を演算処理する場合にも同様に発生し得るものである。
【０００７】
本発明はこのような点に鑑みてなされたものであり、複数のスイッチ信号を組み合わせて入力情報を識別する演算処理装置において、スイッチの切り替わりタイミングにズレが発生しても、その入力情報を正確に識別することができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記問題を解決するために、入力された複数のスイッチ信号を組み合わせて入力情報を識別し、前記入力情報に基づいた演算処理を実行する演算処理装置において、複数のポートにそれぞれ入力された各スイッチ信号の所定の組合せデータを、所定のタイミングで複数回作成し（複数回信号を検出し）、その組合せデータが設定回数以上一致することをもって前記入力情報（検出した入力信号）を確定する信号処理部と、確定された前記入力情報に基づいた演算処理を実行可能な演算処理部と、を備えたことを特徴とする演算処理装置が提供される。
【０００９】
このような演算処理装置においては、各ポートに入力されたスイッチ信号の組合せデータ（或いは、所定の順序で組み合わせられた組合せデータ）が作成（複数回信号を検出）される。この組合せデータの作成は所定のタイミングで複数回行われ、各組合せデータが一致するか否かが判定される。そして、その組合せデータの一致が設定回数継続するなど、その組合せデータが設定回数以上一致することにより入力情報（検出した入力信号）が確定され、その入力情報に基づいた演算処理が実行可能となる。
【００１０】
また、本発明では、エンジン制御のために入力された複数のスイッチ信号を組み合わせて制御情報を識別し、前記制御情報に基づいた制御処理を実行するエンジン制御装置において、複数のポートにそれぞれ入力された各スイッチ信号の所定の組合せデータを、所定のタイミングで複数回作成し、その組合せデータが設定回数以上一致することをもって前記制御情報を確定する信号処理部と、確定された前記制御情報に基づいた制御処理を実行可能なエンジン制御部と、を備えたことを特徴とするエンジン制御装置が提供される。
【００１１】
このようなエンジン制御装置においては、各ポートに入力されたスイッチ信号が所定の順序で組み合わせられて組合せデータが作成される。この組合せデータの作成は所定のタイミングで複数回行われ、各組合せデータが一致するか否かが判定される。そして、その組合せデータの一致が設定回数継続するなど、その組合せデータが設定回数以上一致することにより制御情報が確定され、その制御情報に基づいた制御処理が実行可能となる。
【発明の効果】
【００１２】
本発明の演算処理装置及び演算処理方法によれば、スイッチ信号の組合せデータが複数回作成され、その組合せデータの複数回の（或いは全体の、又は取得データの最後の数回の、又は数回の継続の、又は多数決による、又は所定回数以上のカウントによる）一致をもって入力情報が確定されるため、正確な入力情報が得られる。このため、スイッチの入力による入力情報に基づく正確な演算処理が実行される。
【００１３】
また、本発明のエンジン制御装置及びエンジン制御方法によれば、スイッチ信号の組合せデータが複数回作成され、その組合せデータ全体の一致をもって制御情報が確定されるため、正確な制御情報が得られる。このため、スイッチの入力による制御情報に基づく正確なエンジン制御が実行される。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して説明する。
［第１の実施の形態］
本実施の形態は、本発明の信号処理装置を、車両のエンジンを制御するエンジン制御装置（「演算処理装置」に該当する）に適用したものである。図１は、第１の実施の形態のエンジン制御装置の構成及びその入出力を表すブロック図である。
【００１５】
このエンジン制御装置は、マイクロコンピュータを中心に構成された独立した電子制御装置（ＥＣＵ）１からなる。このＥＣＵ１は、自動変速機を制御するＥＣＵ，ブレーキ装置を制御するＥＣＵなど他のＥＣＵに所定の通信ラインを介して通信可能に接続され、その通信を介して車両全体の最適な制御が実現されているが、ここでは他のＥＣＵの説明については省略する。
【００１６】
ＥＣＵ１は、各種演算処理を実行するＣＰＵ(Central Processing Unit)２、各種の制御演算プログラムやデータを格納したＲＯＭ(Read Only Memory)３、演算過程の数値やフラグが所定領域に格納されるＲＡＭ(Random Access Memory)４、演算処理の結果などが格納される不揮発性の記憶装置であるＥＥＰＲＯＭ(Electronically Erasable and Programmable Read Only Memory)５、入力されたアナログ信号をデジタル信号に変換するＡ／Ｄ(Analog/Digital)コンバータ６、各種デジタル信号が入出力される入出力インタフェース７、計時用タイマ８及びこれら各機器がそれぞれ接続されるバスライン９などを備えている。
【００１７】
このＥＣＵ１には、エンジンのクランク軸の回転角度やエンジン回転数を検出するためのクランク角センサ１１、吸気管への吸入空気の流量を検出するエアフローメータ１２、スロットルバルブの開度を検出するスロットルセンサ１３、エンジンの冷却水温を検出する水温センサ１４、排気中の酸素濃度を検出する酸素センサ１５、イグニッションスイッチ１６、シフトポジションスイッチ１７等のセンサ・スイッチ類が接続されている。また、ＥＣＵ１には、エンジンの気筒毎に設けられたインジェクタ２１、点火用高電圧を発生するイグナイタ２２、燃料タンクから燃料を汲み上げインジェクタに供給する燃料ポンプ２３、エンジンの吸気管に設けられたスロットルバルブを開閉するためのスロットル駆動モータ２４、エンジンをクランキングさせるスタータモータ２５等の各種アクチュエータが接続されている。ＥＣＵ１は、ＲＯＭ３に格納された制御用のアプリケーションプログラムにしたがって、エンジンの燃料噴射制御や点火時期制御等の所定のエンジン制御処理を行う。
【００１８】
次に、本実施の形態のエンジン制御の過程で実行される信号処理の主要部を、シフトポジションスイッチ１７から入力されるスイッチ信号の処理を例に説明する。図２は、エンジン制御装置におけるスイッチ信号の処理部の構成を表すブロック図である。図３は、スイッチ信号により作成される組合せデータのデータ構造を表す説明図である。
【００１９】
図２に示すように、ＥＣＵ１のマイクロコンピュータ３０には、各種スイッチから入力されたスイッチ信号を処理して制御情報（「入力情報」に該当する）を確定する信号処理部３１と、確定された制御情報に基づいて各スイッチ信号に対応したスイッチデータを格納するデータ格納部３２と、このスイッチデータを用いてエンジン制御のためのアプリケーションプログラムを実行するエンジン制御部３３が設けられている。
【００２０】
各種スイッチからＥＣＵ１の複数のポートにそれぞれ入力されたスイッチ信号は、対応するハードフィルタによりその信号レベルが調整されてマイクロコンピュータ３０に入力される。ここでは、信号処理部３１に対し、シフトポジションスイッチ１７のＰレンジスイッチＳＷ１によるスイッチ信号がポートＰ１及びハードフィルタＦ１を介して入力され、ＲレンジスイッチＳＷ２によるスイッチ信号がポートＰ２及びハードフィルタＦ２を介して入力され、ＮレンジスイッチＳＷ３によるスイッチ信号がポートＰ３及びハードフィルタＦ３を介して入力され、ＤレンジスイッチＳＷ４によるスイッチ信号がポートＰ４及びハードフィルタＦ４を介して入力され、２レンジスイッチＳＷ５によるスイッチ信号がポートＰ５及びハードフィルタＦ５を介して入力され、さらに、ＬレンジスイッチＳＷ６によるスイッチ信号がポートＰ６及びハードフィルタＦ６を介して入力されている例が示されている。
【００２１】
信号処理部３１では、図３に示すように、これらのスイッチ信号に基づいて制御情報を正確に識別するための８ビット（１バイト）の組合せデータが作成される。この組合せデータは、その下位６ビットにＰレンジスイッチＳＷ１のスイッチ信号に基づくスイッチデータｂ０（オンなら「１」、オフなら「０」：以下同様）、ＲレンジスイッチＳＷ２のスイッチ信号に基づくスイッチデータｂ１、ＮレンジスイッチＳＷ３のスイッチ信号に基づくスイッチデータｂ２、ＤレンジスイッチＳＷ４のスイッチ信号に基づくスイッチデータｂ３、２レンジスイッチＳＷ５のスイッチ信号に基づくスイッチデータｂ４、ＬレンジスイッチＳＷ６のスイッチ信号に基づくスイッチデータｂ５が順次設定され、上位２ビットは０に固定されている。したがって、この組合せデータが例えば「００００１０００」ならばシフトポジションがＤレンジであり、「０００００１００」ならばシフトポジションがＮレンジであることが検出されることになる。
【００２２】
本実施の形態では、この組合せデータが所定の時間間隔で複数回作成される。そして、その組合せデータが継続的に一致することによって各スイッチデータが正確であると判定される。つまり、ここでは個々のスイッチ信号毎に制御情報を判別するのではなく、一つの制御情報を特定する複数のスイッチ信号を組み合わせた組合せデータ全体によって、そのスイッチデータの正否と制御情報の内容を判別するようにしている。このため、各スイッチ信号の切り替えにズレが発生した場合には、組合せデータの不一致あるいは矛盾などによってこれが検出される。そして、ズレが解消されて順次作成される組合せデータが継続的に一致することによって真の組合せデータ、つまり組合せデータを構成する個々のスイッチデータを正確に確定する。その結果、エンジン制御部３３は、このとき確定されたスイッチデータから正確な制御情報を取得し、アプリケーションプログラムの実行に使用することができる。なお、組合せデータが継続的に一致することは、予め一致継続の時間（一致回数に対応する）を設定して評価してもよいし、一致継続の回数を設定して評価してもよい。また、その設定時間又は設定回数を、スイッチの種類，取り付け位置，ハーネスの引き回しの程度や、異常の検出などのスイッチに影響を与える要因によって適宜設定変更できるようにしてもよい。
【００２３】
次に、本実施の形態の具体的な信号処理の流れについて説明する。図４〜図６は、ＥＣＵ１が実行する信号処理の流れを表すフローチャートである。なお、この処理は、エンジンが始動を開始してから停止するまで４ｍｓ毎に繰り返し実行される。以下、この処理の流れを、ステップ番号（以下「Ｓ」で表記する）を用いて説明する。
【００２４】
図４に示すように、ＥＣＵ１は、まず各スイッチによって入力されたスイッチ信号の信号レベルを取得し、上述した組合せデータを作成する（Ｓ１）。そして、前回作成した組合せデータと今回作成した組合せデータとを比較する（Ｓ２）。なお、最初の処理では前回の組合せデータがないため、このＳ２の処理は省略される。
【００２５】
そして、前回作成した組合せデータと今回作成した組合せデータとが一致した場合には（Ｓ３：ＹＥＳ）、一致継続カウンタをカウントアップする（Ｓ４）。この一致継続カウンタは、ＲＡＭ４の所定の領域に予め設定されている。続いて、このときの一致継続カウンタのカウント値を判定レベルＸと比較する（Ｓ５）。この判定レベルＸは、組合せデータの正否を判定する基準となる一致回数であり、実験等を通じて予め適切な値が決められ、ＥＥＰＲＯＭ５の所定の領域に設定されている。
【００２６】
そして、このカウント値が判定レベルＸ以下である場合には（Ｓ６：ＹＥＳ）、その組合せデータは未だ正確と断定できないため、前回確定された組合せデータを保持して処理を終了する。この場合には、前回確定された組合せデータに基づく各スイッチデータを用いたエンジン制御が行われる。
【００２７】
一方、Ｓ６において、カウント値が判定レベルＸよりも大きい場合には（Ｓ６：ＮＯ）、その組合せデータが正確である可能性が高いため、その組合せデータから得られるスイッチデータをアプリケーションに公開するための後述する公開データ更新処理を実行する（Ｓ７）。そして、一致継続カウンタをクリアして処理を終了する（Ｓ９）。このとき、公開データ更新処理により更新された各スイッチデータを用いたエンジン制御が行われる。
【００２８】
また、Ｓ３において、前回作成した組合せデータと今回作成した組合せデータとが一致しなかった場合には（Ｓ３：ＮＯ）、今回作成した組合せデータに更新する（Ｓ８）。そして、一致継続カウンタをクリアして処理を終了する（Ｓ９）。
【００２９】
次に、図５に基づいて上述した公開データ更新処理について説明する。
上述のように、一致継続カウンタのカウント値が判定レベルＸを超えたため、今回の組合せデータで確定する（Ｓ１１）。そして、現在の処理状態が、後述するフェイルセーフモードではない通常モードであるか否かを判断する（Ｓ１２）。
【００３０】
このとき、通常モードであると判断されると（Ｓ１２：ＹＥＳ）、続いて、確定した組合せデータとあり得ないパターンとを比較する（Ｓ１３）。このあり得ないパターンとは、スイッチ信号の組合せとして制御上とり得ない組合せデータのパターンを意味する。上述したシフトポジションスイッチ１７のスイッチ信号を例に挙げると、例えば組合せデータが「００００１１００」のように作成されると、Ｄレンジ及びＮレンジが同時に設定されていることになり、実際にはあり得ない。このようなあり得ないパターンを予めＥＥＰＲＯＭ５などに記憶しておき、作成された組合せデータと比較する。そして、作成された組合せデータがこのあり得ないパターンに一致すると、スイッチ信号の検出が誤りであり、該当するスイッチの故障等の可能性を判断することができる。
【００３１】
このとき、確定した組合せデータとあり得ないパターンとが不一致である場合には（Ｓ１４：ＹＥＳ）、確定した組合せデータのパターンそれ自体は正常であるため、続いて、組合せデータの切り替わりが正常に行われているか否かを判断する。
【００３２】
すなわち、前回の組合せデータから変化することがあり得ないパターンをＲＡＭ４の所定の領域に設定する（Ｓ１５）。上述したシフトポジションスイッチ１７のスイッチ信号を例に挙げると、例えば前回の組合せデータが「０００００１００」であり、今回の組合せデータが「００１０００００」である場合、ＮレンジからＬレンジに切り替わったことになり、サンプリング間隔である４００ｍｓの間には制御上あり得ない場合などがこれに該当する。したがって、この場合には、「０００００１００」に対するあり得ないパターンの一つとして「００１０００００」が設定される。この他にも、種々の理由から変化することがあり得ないパターンが設定される。この変化することがあり得ないパターンは、各組合せデータに対応して予めＥＥＰＲＯＭ５などに記憶されており、Ｓ１５においては、前回の組合せデータに対応したあり得ないパターンが読み込まれてＲＡＭ４に設定される。このように、今回設定された組合せデータがあり得ないパターンに一致すると、スイッチ信号の検出が誤りであり、該当するスイッチの故障等の可能性を判断することができる。
【００３３】
そして、Ｓ１１にて確定した組合せデータと、このとき設定されたパターンとを比較する（Ｓ１６）。このとき、確定した組合せデータと設定されたパターンとが不一致であれば（Ｓ１７：ＹＥＳ）、確定した組合せデータは正常な切り替わりによって得られたものであるため、この確定した組合せデータに基づく各スイッチデータを公開データとしてＥＥＰＲＯＭ５などに更新する。したがって、アプリケーションプログラムの実行時には、この公開データに基づく各スイッチデータが使用される。
【００３４】
一方、Ｓ１７にて確定した組合せデータと設定されたパターンとが一致した場合や（Ｓ１７：ＮＯ）、Ｓ１４にて確定した組合せデータとあり得ないパターンとが一致した場合には（Ｓ１４：ＮＯ）、まず、上述した判定レベルＸを一致回数αの加算により長めに変更する（Ｓ１９）。つまり、判定レベルＸが短すぎるために正常な判定が行えていない場合を考慮し、判定レベルＸを長くして再度の判定を行えるようにする。ただし、信号処理の過度な遅延を防止するために、判定レベルＸに上限値Ｘmaxを設けておく。すなわち、このときの判定レベルＸがＸmaxよりも小さい場合には（Ｓ２０：ＹＥＳ）、Ｓ９に移行するが、判定レベルＸがＸmax以上となった場合には（Ｓ２０：ＮＯ）、制御を安全に保つためのフェイルセーフモードに移行し（Ｓ２１）、後述するフェイルセーフ処理を実行する（Ｓ２２）。
【００３５】
次に、図６に基づいて上述したフェイルセーフ処理について説明する。
上述のように、組合せデータがあり得ないパターンになったり、あり得ない切り替わりをした状態が続いた場合には、各スイッチデータの公開データを予め設定したデフォルト値に固定する（Ｓ３１）。このデフォルト値は、演算処理の都合により適宜設定されるが、上述したシフトポジションスイッチ１７のスイッチ信号を例に挙げると、例えば車両の走行の安定性を考慮して、Ｄレンジを示す組合せデータ「００００１０００」に基づくスイッチデータを設定する。したがって、アプリケーションプログラムの実行時には、現在算出される組合せデータの内容によらず、このデフォルト値に設定された公開データに基づく各スイッチデータが使用される。
【００３６】
そして、これとは別にスイッチ信号の信号処理は継続されているため、Ｓ１１にて再度確定した組合せデータと上記あり得ないパターンとを比較する（Ｓ３２）。このとき、確定した組合せデータとあり得ないパターンとが不一致である場合には（Ｓ３３：ＹＥＳ）、続いて、前回の組合せデータから変化することがあり得ないパターンをＲＡＭ４の所定の領域に設定する（Ｓ３４）。
【００３７】
そして、確定した組合せデータと、このとき設定されたパターンとを比較する（Ｓ３５）。このとき、確定した組合せデータと設定されたパターンとが不一致であれば（Ｓ３６：ＹＥＳ）、確定した組合せデータは正常と判断できるため、ＲＡＭ４の所定の領域に設定した復帰カウンタをカウントアップする（Ｓ３７）。続いて、このときの復帰カウンタのカウント値を予め設定した復帰判定レベルＹと比較する（Ｓ３８）。この復帰判定レベルＹは、フェイルセーフモードから通常モードへの復帰の可否を判定する基準となる設定値であり、実験等を通じて予め適切な値が決められ、ＥＥＰＲＯＭ５の所定の領域に設定されている。
【００３８】
そして、このカウント値が復帰判定レベルＹ以下である場合には（Ｓ３９：ＹＥＳ）、公開データをデフォルト値に保持したままＳ９に移行する。
一方、Ｓ３９において、カウント値が復帰判定レベルＹよりも大きい場合には（Ｓ３９：ＮＯ）、正常になったと判断されるため、通常モードへ移行する（Ｓ４０）。そして、復帰カウンタをクリアしてＳ９に移行する（Ｓ４１）。
【００３９】
一方、Ｓ３３にて確定した組合せデータとあり得ないパターンとが一致した場合（Ｓ３３：ＮＯ）、及びＳ３６にて確定した組合せデータと設定されたパターンとが一致した場合には（Ｓ３６：ＮＯ）、復帰カウンタをクリアしてＳ９に移行する（Ｓ４１）。
【００４０】
以上に説明したように、本実施の形態のエンジン制御装置によれば、ＥＣＵ１の各ポートから入力されるスイッチ信号に基づく組合せデータが所定のタイミングで複数回作成され、その組合せデータ全体としての一致が確認される。そして、その一致が継続した場合にその組合せデータ、つまりこれを構成する正確なスイッチデータを制御情報として確定する。このため、スイッチの切り替わりのタイミングにズレが発生しても、そのズレが解消した後の正確な制御情報を得ることができる。そして、この制御情報は公開データとしてアプリケーションに公開されるため、アプリケーションプログラムの実行の際に正確な演算処理がなされ、安定したエンジン制御を実現することができる。
【００４１】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。なお、本実施の形態は、フェイルセーフ処理の部分が異なる以外は、上記第１の実施の形態と同様である。このため、第１の実施の形態と同様の部分についてはその説明を省略する。図７は、第２の実施の形態に係るフェイルセーフ処理の流れを表すフローチャートである。なお、このフェイルセーフ処理については、上述したシフトポジションスイッチ１７のスイッチ信号を例に説明する。
【００４２】
図５に示したように、組合せデータがあり得ないパターンになったり、あり得ない切り替わりをした状態が続いた場合には、各スイッチデータの公開データを予め設定したデフォルト値に固定する（Ｓ５１）。なお、デフォルト値については、図６の説明で述べたとおりである。
【００４３】
そして、これとは別にスイッチ信号の信号処理は継続されているため、前回作成した組合せデータと今回作成した組合せデータとを比較する（Ｓ５２）。
そして、上述した組合せデータのスイッチデータｂ０が不変である場合には（Ｓ５３：ＹＥＳ）、Ｓ５５へ移行し、スイッチデータｂ０が変化した場合には（Ｓ５３：ＮＯ）、ＲＡＭ４の所定の領域に予め設定したＰレンジスイッチＳＷ１の変化履歴フラグをオンにしてＳ５５へ移行する（Ｓ５４）。
【００４４】
続いて、スイッチデータｂ１が不変である場合には（Ｓ５５：ＹＥＳ）、Ｓ５７へ移行し、スイッチデータｂ１が変化した場合には（Ｓ５５：ＮＯ）、ＲＡＭ４の所定の領域に予め設定したＲレンジスイッチＳＷ２の変化履歴フラグをオンにしてＳ５７へ移行する（Ｓ５６）。
【００４５】
続いて、スイッチデータｂ２が不変である場合には（Ｓ５７：ＹＥＳ）、Ｓ５９へ移行し、スイッチデータｂ２が変化した場合には（Ｓ５７：ＮＯ）、ＲＡＭ４の所定の領域に予め設定したＮレンジスイッチＳＷ３の変化履歴フラグをオンにしてＳ５９へ移行する（Ｓ５８）。
【００４６】
続いて、スイッチデータｂ３が不変である場合には（Ｓ５９：ＹＥＳ）、Ｓ６１へ移行し、スイッチデータｂ３が変化した場合には（Ｓ５９：ＮＯ）、ＲＡＭ４の所定の領域に予め設定したＤレンジスイッチＳＷ４の変化履歴フラグをオンにしてＳ６１へ移行する（Ｓ６０）。
【００４７】
続いて、スイッチデータｂ４が不変である場合には（Ｓ６１：ＹＥＳ）、Ｓ６３へ移行し、スイッチデータｂ４が変化した場合には（Ｓ６１：ＮＯ）、ＲＡＭ４の所定の領域に予め設定した２レンジスイッチＳＷ５の変化履歴フラグをオンにしてＳ６３へ移行する（Ｓ６２）。
【００４８】
続いて、スイッチデータｂ５が不変である場合には（Ｓ６３：ＹＥＳ）、Ｓ６５へ移行し、スイッチデータｂ５が変化した場合には（Ｓ６３：ＮＯ）、ＲＡＭ４の所定の領域に予め設定したＬレンジスイッチＳＷ６の変化履歴フラグをオンにしてＳ６５へ移行する（Ｓ６４）。
【００４９】
そして、全てのスイッチの変化履歴がオンになっていれば（Ｓ６５：ＹＥＳ）、スイッチの固着などの故障は発生していないと判断できるため、全てのスイッチの変化履歴フラグをクリアし（Ｓ６６）、通常モードに復帰してＳ９へ移行する（Ｓ６７）。
【００５０】
一方、Ｓ６５にて、全てのスイッチの変化履歴がオンになっていなければ（Ｓ６５：ＮＯ）、Ｓ９へ移行する。
すなわち、本実施の形態では、全てのスイッチが固着しておらず、変化し得ることを確認した場合に、フェイルセーフモードから通常モードへの復帰が許容される。なお、ここで通常モードへの復帰が行われても、再度異常が検出された場合には、再度フェイルセーフモードに移行することは言うまでもない。
【００５１】
以上に説明したように、本実施の形態によれば、スイッチの変化履歴を記憶することでスイッチの固着等の故障が発生した場合にはフェイルセーフ処理を継続する。このため、第１の実施の形態と同様の効果に加え、さらに安定したエンジン制御を実現することができる。
【００５２】
なお、上記各実施の形態では、本発明のスイッチ信号の演算処理を、エンジン制御におけるシフトポジションスイッチに対する信号処理に適用した例を示したが、複数のスイッチ信号或いは入力信号により制御処理が特定されるものであれば、シフトポジションスイッチ以外のスイッチ入力等に対する信号処理に適用することもできる。また、エンジン制御のみならず、車両の他の制御の信号処理にも適用できる。さらに、車両以外であっても、複数のスイッチ信号或いは入力信号を組み合わせた入力情報に基づいた演算処理を実行する対象物であれば適用することができる。また、組合せデータのデータ構造の一例を図３に示したが、それ以外のデータ構造をとってもよいことはもちろんである。
【００５３】
また、図５及び図６のフローチャートに示した処理においては、組合せデータとしてその内容及び切り替わりがあり得ないパターンを予め設定しておき、確定した組合せデータとそのあり得ないパターンとが一致した場合に異常と判断した。しかし、これとは逆に、組合せデータとしてその内容及び切り替わりがあり得るパターンを予め設定しておき、確定した組合せデータとそのあり得るパターンとが一致しない場合に異常と判断するようにしてもよい。
【００５４】
また、組合せデータの一致は、設定回数の継続以外にも、（継続しない組合せデータを含む）所定回数以上のカウント、あるカウント数のうちの多数決の一致により入力情報を確定してもよい。
【００５５】
さらに、上記各実施の形態では、ＥＣＵ１が独立して構成され、自動変速機を制御するＥＣＵ，ブレーキ装置を制御するＥＣＵなど他のＥＣＵに所定の通信ラインを介して通信可能に接続されているとしたが、他のＥＣＵの少なくともいずれかと一体に構成されていてもよい。
【図面の簡単な説明】
【００５６】
【図１】第１の実施の形態のエンジン制御装置の構成及びその入出力を表すブロック図である。
【図２】エンジン制御装置におけるスイッチ信号の処理部の構成を表すブロック図である。
【図３】スイッチ信号により作成される組合せデータのデータ構造を表す説明図である。
【図４】ＥＣＵが実行する信号処理の流れを表すフローチャートである。
【図５】ＥＣＵが実行する信号処理の流れを表すフローチャートである。
【図６】ＥＣＵが実行する信号処理の流れを表すフローチャートである。
【図７】第２の実施の形態に係るフェイルセーフ処理の流れを表すフローチャートである。
【図８】従来のエンジン制御装置におけるスイッチ信号の処理部の構成を表すブロック図である。
【図９】スイッチの切り替わりのタイミングを表す説明図である。
【符号の説明】
【００５７】
１  ＥＣＵ
３０  マイクロコンピュータ
３１  信号処理部
３２  データ格納部
３３  エンジン制御部
Ｆ１，Ｆ２，Ｆ３，Ｆ４，Ｆ５，Ｆ６  ハードフィルタ
Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６  ポート
ＳＷ１  Ｐレンジスイッチ
ＳＷ２  Ｒレンジスイッチ
ＳＷ３  Ｎレンジスイッチ
ＳＷ４  Ｄレンジスイッチ
ＳＷ５  ２レンジスイッチ
ＳＷ６  Ｌレンジスイッチ
【図１】
2007077845.tif 000003
【図２】
2007077845.tif 000004
【図３】
2007077845.tif 000005
【図４】
2007077845.tif 000006
【図５】
2007077845.tif 000007
【図６】
2007077845.tif 000008
【図７】
2007077845.tif 000009
【図８】
2007077845.tif 000010
【図９】
2007077845.tif 000011