(57)【特許請求の範囲】
【請求項１】
アナログ信号入力又はデジタル信号入力の何れかであることが予め割当てられたアナデジ兼用入力端子と、
前記アナデジ兼用入力端子を通じてアナログ信号を入力しデジタル変換するＡＤ変換ブロックと、
前記アナデジ兼用入力端子を通じてデジタル信号を入力しＨ／Ｌ判別閾値と比較する比較手段の比較結果として論理レベルを取得するデジタル信号処理ブロックと、
所定の入力信号を、前記アナデジ兼用入力端子を通じて前記ＡＤ変換ブロックに入力させた状態で得られる前記ＡＤ変換ブロックの変換結果、および、前記所定の入力信号と同一の入力信号を、前記アナデジ兼用入力端子を通じて前記デジタル信号処理ブロックに入力させた状態で得られる前記デジタル信号処理ブロックの処理結果に基づいて、前記ＡＤ変換ブロック又は前記デジタル信号処理ブロックの異常を推定する推定手段と、を備えたことを特徴とするマイクロコンピュータ。
【請求項２】
前記アナデジ兼用入力端子がアナログ信号入力であることが予め割当てられている場合、
前記アナデジ兼用入力端子の入力信号を前記ＡＤ変換ブロック側に通電切換えする切換スイッチを備えると共に、前記比較手段は前記アナデジ兼用入力端子の入力信号を直接入力して構成され、
前記推定手段は、前記アナデジ兼用入力端子の入力信号について、
前記ＡＤ変換ブロックの変換結果が正常出力範囲外で且つ前記ＡＤ変換ブロックの非動作時側の値であり、且つ、前記ＡＤ変換ブロックの非動作時の値を仮定的に前記比較手段に入力しＨ／Ｌ判別閾値と比較した結果の論理レベルが、前記デジタル信号処理ブロックの出力論理レベルとは逆であることを条件として、
前記切換スイッチのオープン異常であると推定することを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
前記アナデジ兼用入力端子がデジタル信号入力であることが予め割当てられている場合、
前記推定手段は、前記アナデジ兼用入力端子の入力信号について、
前記ＡＤ変換ブロックの変換結果が、前記デジタル信号処理ブロックのハイ（Ｈ）出力を保証する最低レベル（ＨＨ）以上であり、且つ、前記デジタル信号処理ブロックの出力がロウ（Ｌ）であるか、又は、
前記ＡＤ変換ブロックの変換結果が、前記デジタル信号処理ブロックのロウ（Ｌ）出力を保証する最高レベル（ＬＬ）以下であり、且つ、前記デジタル信号処理ブロックの出力がハイ（Ｈ）である、ことを条件として、
前記デジタル信号処理ブロックの異常と推定することを特徴とする請求項１または２記載のマイクロコンピュータ。
【請求項４】
前記アナデジ兼用入力端子がアナログ信号入力であることが予め割当てられている場合、
前記ＡＤ変換ブロックが複数のチャンネルに１つ割り当てられているときに、前記アナデジ兼用入力端子の入力信号を前記ＡＤ変換ブロック側にオンオフ切換えするアナログスイッチを複数のチャンネル毎に備え、
前記推定手段は、前記複数のチャンネルのアナログスイッチを順次切換えて全ての入力信号について前記ＡＤ変換ブロックの変換結果が誤差範囲内に収まっていることを条件として、前記ＡＤ変換ブロックの異常であると推定することを特徴とする請求項１〜３の何れかに記載のマイクロコンピュータ。
【請求項５】
前記アナデジ兼用入力端子がアナログ信号入力であることが予め割当てられている場合、
前記アナデジ兼用入力端子の入力信号を安定化して入力させる入力回路を備え、
前記推定手段は、前記ＡＤ変換ブロックが正常に動作していると推定し、且つ、前記ＡＤ変換ブロックの変換結果がアナログ信号の正常出力範囲を逸脱しているときには、前記入力回路又は入力信号源の異常と推定することを特徴とする請求項１〜４の何れかに記載のマイクロコンピュータ。
【請求項６】
前記アナデジ兼用入力端子がデジタル信号入力であることが予め割当てられている場合、
前記推定手段が前記デジタル信号処理ブロックに異常が生じていると推定したときには、前記ＡＤ変換ブロックのＡＤ変換値を用いて前記論理レベルを取得することを特徴とする請求項１〜５の何れかに記載のマイクロコンピュータ。
【請求項７】
前記推定手段により推定された異常原因を不揮発的に記憶する記憶手段を備えたことを特徴とする請求項１〜６の何れかに記載のマイクロコンピュータ。
【請求項８】
請求項１〜７の何れかに記載のマイクロコンピュータを搭載したことを特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＤ変換ブロック、デジタル処理ブロックの兼用入力端子を備えたマイクロコンピュータ、および、このマイクロコンピュータを搭載する電子制御装置に関する。
【背景技術】
【０００２】
例えばエンジン制御用のマイクロコンピュータ（以下、マイコンと略す）を搭載する電子制御装置（エンジンＥＣＵ）は、インジェクタ、イグナイタ等の各種アクチュエータを駆動するが、この駆動時の異常を検出し、当該検出異常に応じてフェールセーフ処理を行う。この種の異常検出技術が様々提供されている（例えば、特許文献１参照）。
【０００３】
特許文献１記載の技術は、複数のアナログ入力を備えたマルチプレクサと、バイナリーコード出力のＡＤコンバータを備え、ＡＤ入力となるマルチプレクサの２つのアナログ入力をそれぞれ電源電圧Ｖｃｃとグランドとに接続し、マルチプレクサを切換えてその出力をＡ−Ｄコンバータに入力させている。これによりビット「０」「１」の固着を検出できる。この特許文献１記載の技術ではＡＤ変換器の出力異常を検出できる。
【０００４】
しかしながら、この特許文献１記載の技術では、マルチプレクサは、センサ信号入力と電源電圧Ｖｃｃとグランドとの間でコントロール信号に応じて信号を選択しているため、例えば電源電圧Ｖｃｃを選択するスイッチは正常動作するのに対し、信号入力端子への切換異常が生じた場合などには、マルチプレクサのスイッチ不具合によるオープン（開放）異常を検出できない。電源電圧Ｖｃｃ、グランドの入力端子が必要となるため、制御に使用可能な有効端子数も減少してしまう。
【０００５】
また、エンジンＥＣＵは、水温センサや電子スロットル開度センサなどのアナログ信号、イグニッションスイッチ信号やシフトレンジスイッチ信号（Ｐ，Ｒ，Ｄ，Ｎ，２，Ｌ等）などのオン／オフのデジタル信号を入力するが、アナログ信号とデジタル信号の入力数は例えば車種等で異なる。ここで、エンジンＥＣＵに搭載しているマイコンは、一般的にアナログ信号入力数とデジタル信号入力数がマイコン品種毎に決まっている。そのため、アナログまたはデジタルの入力数が不足する場合は、入力数の多い別のマイコンに変更しなければならず、マイコンおよびＥＣＵのコストアップにもつながる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−３３０９５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、アナログ信号およびデジタル信号を入力する端子を一部兼用とし、車種が異なっても同じマイコンを使用できるように複数機能の兼用端子化を進めている。従来より、デジタル入力端子、アナログ入力端子を兼用するとアナログ信号の精度悪化の懸念を生じていたが、昨今のマイコンにおいては、半導体ウェハ内でのアイソレーション技術の進歩に応じて、デジアナ兼用の入力端子も搭載されるようになってきている。
【０００８】
本発明の目的は、ＡＤ変換ブロック、および、デジタル信号処理ブロックのデジアナ兼用の入力端子を設けた場合に内部異常を検出できるようにしたマイクロコンピュータと、このマイクロコンピュータを搭載した電子制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１記載の発明によれば、アナデジ兼用入力端子は、アナログ信号入力又はデジタル信号入力の何れかであることが予め割当てられている。ＡＤ変換ブロックはアナデジ兼用入力端子を通じてアナログ信号を入力しデジタル変換する。デジタル信号処理ブロックは、アナデジ兼用入力端子を通じてデジタル信号を入力しＨ／Ｌ判別閾値と比較手段により比較し当該比較結果としてデジタル信号を取得する。
【００１０】
そして、推定手段は、所定の入力信号を、アナデジ兼用入力端子を通じてＡＤ変換ブロックに入力させた状態で得られるＡＤ変換ブロックの変換結果、および、所定の入力信号と同一の入力信号を、アナデジ兼用入力端子を通じてデジタル信号処理ブロックに入力させた状態で得られるデジタル信号処理ブロックの処理結果に基づいて、ＡＤ変換ブロック又はデジタル信号処理ブロックの異常を推定する。同一入力信号を用いて得られるＡＤ変換ブロックの変換結果とデジタル信号処理ブロックの処理結果に相互の矛盾を生じるときには、ＡＤ変換ブロック又はデジタル信号処理ブロックの異常を推定できる。
【００１１】
請求項２に係る発明によれば、ＡＤ変換ブロックの変換結果が正常出力範囲外で且つＡＤ変換ブロックの非動作時側の値であるときには、アナログ信号入力がＡＤ変換ブロックの非動作時の異常出力範囲に変換されていることを把握できる。また、推定手段は、ＡＤ変換ブロックの非動作時の値を仮定的に比較手段に入力しＨ／Ｌ判別閾値と比較した結果である論理レベルを取得し、この論理レベルがデジタル信号処理ブロックのデジタル信号の論理レベルと逆の関係であるか否かを推定している。
【００１２】
一例として、アナデジ兼用入力端子にＨレベルに近いアナログ信号が入力される場合について説明する。切換スイッチが正常動作しているときには、アナデジ兼用入力端子からアナログ信号がＡＤ変換ブロック側に正常に通電される。したがって、ＡＤ変換ブロックはＨレベルに近いアナログ信号に対応したデジタル値を出力する。しかし、切換スイッチが開放異常であるときには、アナデジ兼用入力端子からアナログ信号がＡＤ変換ブロック側に通電しないので、非動作時の値（例えば入力初期値となる≒０）がＡＤ変換ブロックに入力される。
【００１３】
他方、比較手段は、アナデジ兼用入力端子の入力信号を直接入力しているため、比較手段はＨ／Ｌ判別閾値と比較したＨレベルをデジタル信号処理ブロックの出力デジタル信号の論理レベルとして出力する。推定手段は、ＡＤ変換ブロックの非動作時の値を仮定的に比較手段に入力した結果を得ることによってＬレベルを取得する。したがって、推定手段は、出力デジタル信号の論理レベル（Ｈレベル）と仮定的に得られた論理レベル（Ｌレベル）とを比較しこれらが逆の関係であるため、切換スイッチの開放異常であると推定できる。論理レベルが逆の場合も同様であるが説明は省略する。
【００１４】
請求項３に係る発明によれば、デジアナ兼用入力端子の入力信号のＡＤ変換結果がハイ（Ｈ）出力を保証する最低レベル（ＨＨ）以上であるにも関わらず、デジタル信号処理ブロックがロウ（Ｌ）であれば、デジタル信号処理ブロックが誤動作していると推定できる。逆もまた同様であり、デジアナ兼用入力端子の入力信号のＡＤ変換結果がロウ（Ｌ）出力を保証する最高レベル（ＬＬ）以下であるにも関わらず、デジタル信号処理ブロックの出力がハイ（Ｈ）であれば、デジタル信号処理ブロックが誤動作していると推定できる。
【００１５】
請求項４記載の発明によれば、ＡＤ変換ブロックが異常状態である場合、複数のチャンネルの切換スイッチが順次切換えられ複数のチャンネルの入力信号を順次入力したとしても、複数のチャンネル毎のＡＤ変換結果がほぼ同様の値になるときにはＡＤ変換ブロックの異常であると推定できる。
【００１６】
請求項５記載の発明によれば、ＡＤ変換ブロックが正常動作しているにも関わらず、ＡＤ変換結果が正常出力範囲を逸脱している場合には入力回路又は入力信号源の異常であると推定できる。
【００１７】
請求項６記載の発明によれば、推定手段がデジタル信号処理ブロックに異常が生じていると推定したときに、ＡＤ変換ブロックのＡＤ変換値を用いて論理レベルを取得するため、デジタル信号処理ブロックに異常を生じたとしてもＡＤ変換ブロックを用いて処理を継続できる。
【００１８】
請求項７記載の発明のように、推定された異常原因を不揮発的に記憶する記憶手段を備えていれば、当該記憶手段の記憶内容を後に解析処理を行うときに役立てることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係る電気的構成を概略的に示すブロック図
【図２】マイコンの信号入力部分の電気的構成を示すブロック図（センサ信号の入力数が多数の場合）
【図３】マイコンの信号入力部分の電気的構成を示すブロック図（スイッチ信号の入力数が多数の場合）
【図４】マイコンの信号入力部分の電気的構成を示すブロック図（センサ信号、スイッチ信号の入力数が同数の場合）
【図５】マイコンの信号入力部分の詳細回路の一例を示す図
【図６】全体的な処理の流れを示すフローチャート
【図７】ＡＤ変換ブロックの異常検出処理の流れを示すフローチャート
【図８】ＡＤ変換ブロックの異常検出処理の説明図
【図９】デジタル信号処理ブロックの異常検出処理の流れを示すフローチャート
【図１０】異常判別処理の流れを示すフローチャート
【図１１】異常モードと異常検出内容を示す説明図（その１）
【図１２】異常モードと異常検出内容を示す説明図（その２）
【図１３】異常モードと異常検出内容を示す説明図（その３）
【図１４】異常モードと異常検出内容を示す説明図（その４）
【発明を実施するための形態】
【００２０】
以下、本発明の一実施形態について図面を参照しながら説明する。図１に示すように、エンジンＥＣＵ１は、水温センサＳ１，電子スロットル開度センサＳ２、などの各種センサのセンサ信号Ｓをアナログ入力端子ＡＩａ，ＡＩｂ…を通じて入力すると共に、イグニッションスイッチＳＷ１、シフトポジションスイッチＳＷ２、などの各種スイッチ信号ＳＷをデジタル入力端子ＤＩａ，ＤＩｂ…を通じて入力する。なお、センサ信号Ｓは、アクセルペダルセンサ、吸入空気量センサ、油温センサなどの各種センサの信号を用いても良い。また、スイッチ信号ＳＷはスタータスイッチ、ブレーキスイッチ、エアコンスイッチ、などの各種スイッチの信号を用いても良い。
【００２１】
イグニッションスイッチＳＷ１は、ＯＦＦ（エンジンオフ），ＯＮ（エンジンオン）等の切換えを示す。シフトポジションスイッチＳＷ２は、Ｐ（パーキング），Ｒ（リバース），Ｄ（ドライブ），Ｎ（ニュートラル），２（セカンド），Ｌ（ロウ）等の切換え状態を示す。
【００２２】
エンジンＥＣＵ１には、マイクロコンピュータ（以下、マイコン）２が搭載されると共に、マイコン２の周辺Ｉ／Ｏ回路が実装されている。マイコン２の周辺Ｉ／Ｏ回路は、センサ信号Ｓの入力回路ＣＩＮａ、スイッチ信号ＳＷの入力回路ＣＩＮｂ、バッファ回路Ｂ１，Ｂ２、出力ドライバＤＲ１，ＤＲ２などである。
【００２３】
センサ信号Ｓは、入力回路ＣＩＮａを通じてマイコン２に入力される。このマイコン２は、通常のＣＰＵ（推定手段）１００と共に複数のＡＤ変換器３とポート入力回路４などを内蔵し、ＡＤ変換器３のＡＤ変換値と、ポート入力回路４のポート入力値とを用いてエンジン制御のための演算処理を行い、噴射、点火、電子スロットル開度制御、ダイアグノーシス処理などを実行し、これらの演算処理結果、制御処理結果に基づいてインジェクタＯ１、Ｏ２、などのアクチュエータを駆動する。
【００２４】
図２〜図４はマイコンの信号入力部の詳細構成例を示す。図２〜図４に示すように、マイコン２内にはバス５が構成されている。このバス５には、複数のＡＤ変換器３、複数のポート入力回路４がそれぞれ接続されている。説明の便宜上、複数のＡＤ変換器３にそれぞれ符号３ａ，３ｂを付し、複数のポート入力回路４にそれぞれ符号４ａ〜４ｄ，４ｅ〜４ｈを付して説明を行う。
【００２５】
ＡＤ変換器３ａのアナログ入力にはマルチプレクサ６ａが接続されている。このマルチプレクサ６ａは、センサＳ１〜Ｓ４のセンサ信号Ｓａについて、アナログ入力端子ＡＩ０〜ＡＩ３および入力回路を通じて入力し、これらのセンサ信号Ｓａのうち何れか１のセンサ信号を選択しＡＤ変換器３ａに出力する。ＡＤ変換器３ａはこのセンサ信号をＡＤ変換する。
【００２６】
ポート入力回路４ａ〜４ｄは、それぞれポートレジスタ（図示せず）を内蔵し、スイッチＳＷ１〜ＳＷ４のスイッチ信号ＳＷについて、デジタル入力端子ＤＩ０〜ＤＩ３および入力回路を通じて入力し、これらのスイッチ信号ＳＷをそれぞれ比較器（後述参照）と比較してデジタル信号とし、ポート入力値として保持する。
【００２７】
ＡＤ変換器３ｂのアナログ入力にはマルチプレクサ（切換スイッチ相当）６ｂが接続されている。このマルチプレクサ６ｂは、ＥＣＵコネクタにおけるアナデジ兼用入力端子ＡＤI0〜ＡＤI3およびマイコン入力端子ＡＤIN0〜ＡＤIN3を通じてセンサＳ５〜Ｓ８のセンサ信号Ｓｂが入力されると、これらのセンサ信号Ｓｂのうち何れか１のセンサ信号を選択しＡＤ変換器３ｂに出力する。
【００２８】
ポート入力回路４ｅ〜４ｈは、それぞれポートレジスタ（図５のボートレジスタ１５０〜１５３参照）を内蔵し、それぞれアナデジ兼用入力端子ＡＤI0〜ＡＤI3への入力信号が入力される。マルチプレクサ６ｂおよびＡＤ変換器３ｂがＡＤ変換ブロックＡＢを構成し、ポート入力回路４ｅ〜４ｈがデジタル信号処理ブロックＤＢを構成する。
【００２９】
マイコン入力端子ＡＤIN0〜ＡＤIN3は、アナログ信号、デジタル信号の双方を入力可能なアナデジ兼用入力端子になっている。マイコン入力端子ＡＤIN0〜ＡＤIN3にはセンサ、スイッチの何れを接続しても良い。したがって、図３に示すように、マイコン入力端子ＡＤIN0〜ＡＤIN3に対し、センサＳ５〜Ｓ６に代えてスイッチＳＷ５〜ＳＷ８を接続しても良い。これらのスイッチＳＷ５〜ＳＷ８からスイッチ信号ＳＷｂが入力されると、ポート入力回路４ｅ〜４ｈのポートレジスタ１５０〜１５３（図５参照）にスイッチ信号ＳＷｂの情報を記憶保持できる。
【００３０】
また、図４に示すように、例えばセンサＳ５，Ｓ６、スイッチＳＷ５，ＳＷ６を接続しても良い。すなわち、これらのマイコン入力端子ＡＤIN0〜ＡＤIN3の用途の割当を例えば車種毎、自動車のグレード毎に変更することで、該当種別間でマイコン２を共用しながら、センサＳ５〜Ｓ８又はスイッチＳＷ５〜ＳＷ８を選択して接続できる。
【００３１】
図５に詳細な回路構成例を示す。各マイコン入力端子ＡＤIN0〜ＡＤIN3には、それぞれ、ダイオードを組み合わせた入力保護回路７０〜７３が接続されている。この入力保護回路７０〜７３の後段にはアナログスイッチ８０〜８３がそれぞれ接続されている。
【００３２】
図２〜図４に示すマルチプレクサ６ｂはこのアナログスイッチ８０〜８３を組み合わせて構成され、これらのアナログスイッチ８０〜８３の出力は互いに共通接続されている。この共通接続ノードは寄生容量９を通じてバッファ１０に与えられている。寄生容量９はアナログスイッチ８０〜８３等に生じる寄生容量成分であり、図１に図示される入力回路ＣＩＮａのコンデンサ容量よりもはるかに小さい。
【００３３】
このバッファ１０の出力は、スイッチ１１を通じてサンプルホールド回路１２に与えられ、このサンプルホールド回路１２がホールドしたデータをＡＤコンバータ１３がＡＤ変換処理する。寄生容量９の両端には当該蓄積電荷を放電するための初期化スイッチ１４が設けられている。本実施形態において寄生容量９はこの初期化スイッチ１４によって一般にグランド電位に初期化される。なお回路構成を変更することで電源ＶＤＤ側の電位に初期化するように構成しても良い。
【００３４】
ポート入力回路４ｅ〜４ｈは、それぞれ比較器（比較手段）１４０〜１４３を備え、入力端子ＡＤIN0〜ＡＤIN3に入力した信号を閾値電圧Ｖｔｈ（例えば電源電圧ＶＤＤの１／２＝２．５Ｖ）と比較し、これらの比較データをそれぞれポートレジスタ１５０〜１５３に保持する。また、マイコン２には、ＡＤ異常カウンタ１６０〜１６３、ポート異常カウンタ１７０〜１７３が搭載されている。
【００３５】
ＡＤ異常カウンタ１６０〜１６３は、センサ信号Ｓが正常範囲内に収まっていない状態をカウントするため、チャンネルch10〜ch13毎に予め設けられたカウンタである。また、ポート異常カウンタ１７０〜１７３は、スイッチ信号ＳＷを正常に検出不能な状態をカウントするため、チャンネルch10〜ch13毎に予め設けられたカウンタである。ここでは、４チャンネルの例を示したが、１６チャンネルなどでも同様に実行でき、チャンネル数は各実施形態の内容に限定されるものではない。
【００３６】
以下、動作説明を行う。ＣＰＵ１００は例えば４ｍｓのタイマ割込みを利用し、図６に示す信号入力処理を実行する。このとき、マイコン２内でＣＰＵ１００は、まずポート入力回路４ｅ〜４ｈのポートレジスタ１５０〜１５３の保持値をリードする（Ｓ１）。また、ＡＤ変換器３ｂを用いて、マルチプレクサ６ｂを通じて入力したアナログ信号のＡＤ変換値を取得する（Ｓ２）。この際、マルチプレクサ６ｂの入力を切換え、全ての入力（ＡＤ１０〜ＡＤ１３）のＡＤ変換処理が終了するまで繰り返す（Ｓ３）。
【００３７】
そして、ＣＰＵ１００は、この結果を用いて異常検出処理（その１：Ｓ４）、異常検出処理（その２：Ｓ５）、異常推定処理（Ｓ６）、入力ポート値、ＡＤ変換値を用いたアプリケーション制御を行う（Ｓ７）。このアプリケーション制御では、噴射、点火、電子スロットル開度制御などを行う。
【００３８】
ステップＳ４の異常検出処理（その１）では図７に示す処理を実行する。この図７に示す処理は、チャンネル（ch10〜ch13）毎に実行される処理である。この処理では、各チャンネルに異常があるか否かを判定している。
【００３９】
まず、ＣＰＵ１００は、対象となるチャンネルch1* (*は0〜3の何れか)がアナログ信号入力又はデジタル信号入力の何れに割当てられているか確認する（Ｔ１）。なお、この割当状態は、前述したように車種、グレードなどのエンジンシステムに応じて変化するもので予め定められている。
【００４０】
マイコン２は、チャンネルch1*がアナログ信号入力に割当てられていると判定したときには（Ｔ１：ＹＥＳ）、このアナログ入力値のＡＤ変換値が、所定の低閾値Ｌ以上で且つ高閾値Ｈ以下の正常入力範囲であるか否かを判定する（Ｔ２）。ここで、低閾値Ｌがアナログ入力値０．５Ｖに対応したデジタル値に設定され、高閾値Ｈがアナログ入力値４．５Ｖに対応したデジタル値に設定されていると、センサ信号Ｓが入力正常範囲０．５Ｖ〜４．５Ｖ内の信号となっているか否かを判定できる。
【００４１】
センサ信号Ｓの正常入力範囲は、回路の動作電源電圧（ＶＤＤ）付近の電圧範囲（例えば４．５１Ｖ〜５Ｖ）、又は、グランド（ＧＮＤ）付近の電圧範囲（例えば０〜０．４９Ｖ）を除いた範囲（例えば０．５〜４．５Ｖ）に設定されている。ＣＰＵ１００は、正常入力範囲内であると判定したときには（Ｔ２：ＹＥＳ）、チャンネルch1*のＡＤ異常カウンタ１６*をクリアし（Ｔ３）、異常検出処理（その１）を終了する。
【００４２】
マイコン２は、センサ信号Ｓの値が正常入力範囲内ではないと判定したときには（Ｔ２：ＮＯ）、チャンネルch1*のＡＤ異常カウンタ１６*をカウントアップする（Ｔ４）。そして、ＡＤ異常カウンタ１６*が異常判定値（例えば１０）を上回ったときに（Ｔ５：ＹＥＳ）、何らかの異常を生じていると判定する。そしてＣＰＵ１００は異常内容の判別処理を行う。まず、チャンネルch1*のＡＤ変換値が低閾値Ｌを下回り、且つ、チャンネルch1*のポートレジスタ値がＨレベルであるか否かを判定する（Ｔ６）。
【００４３】
すなわち、図５に示す回路で説明すると、比較器１４*（*=0〜3）の比較対象の閾値電圧Ｖｔｈが２．５Ｖに設定されているときには、正常時にＡＤ変換値が０．５Ｖであるときには、ポートレジスタ１５*（*=0〜3）には本来Ｌレベルに対応したデジタル値が保持される。しかし、ＡＤ変換値が０．５Ｖ未満に対応したデジタル値であるにも関わらず、チャンネルch1*のポートレジスタ値がＨレベルに対応したデジタル値となる場合には、チャンネルch1*のアナログスイッチ８*(*=0〜3)がオープン異常を生じていると推定できる。したがって、ＣＰＵ１００はステップＴ６の条件を満たす（Ｔ６：ＹＥＳ）ときに、マルチプレクサ６ｂ（特にチャンネルch1*のアナログスイッチ８*）にオープン異常を生じていると推定する（Ｔ７）。このとき、ＣＰＵ１００はアナログスイッチ異常フラグをオンする。
【００４４】
また、全てのチャンネルch10〜ch13のＡＤ変換値の互いの最大値（ＭＡＸ値）−最小値（ＭＩＮ値）が閾値Ｄ（例えば０．５Ｖ）未満であるときには（Ｔ８：ＹＥＳ）、ＡＤ変換ブロックＡＢのうちの出力側回路（アナログスイッチ８*の後段回路：ＡＤ変換器３ｂ）に異常があると推定する（Ｔ９）。
【００４５】
ＡＤ変換ブロックＡＢの出力側回路に異常を生じるときには、例えば図５に示すバッファ１０の内部異常、電源短絡異常、グランド短絡異常や、ＡＤ変換値格納レジスタのｂｉｔ固着などが原因として考えられる。このような場合、図８に示すように、全てのチャンネルch10〜ch13でほぼ同じＡＤ変換値が得られることが多い。したがって、これらの値のＭＡＸ値とＭＩＮ値の差分が、ある微小範囲（図８に示す例では０．５Ｖ未満）に収まっているか否かを判定し、ＡＤ変換器３ｂ等に異常を生じているか否かを判断すると良い。
【００４６】
ここで、閾値Ｄを例えば０．５Ｖに設定している理由は、グランド短絡、電源短絡、など正常入力範囲外で一定となることが多いためであり、電源オフセット、リーク電流オフセットなどの判定マージンが０．５Ｖであることから、このマージン値に基づいて０．５Ｖに設定する。ステップＴ８において、当該条件を満たしているときには（Ｔ８：ＹＥＳ）、ＡＤ変換器の異常であると推定し（Ｔ９）、ＡＤ出力異常フラグをオンする。一方、当該条件を満たしていないと判定したときには（Ｔ８：ＮＯ）、チャンネルch1*の入力回路ＣＩＮ*又は入力信号源の異常であると推定し（Ｔ１０）、入力回路異常フラグをオンする。
【００４７】
マイコン２は、図７の異常検出処理（その１）を終了した後、異常検出処理（その２）を実行する（Ｓ５）。図９に示す異常検出処理（その２）では、ポート入力回路４ｅ〜４ｈの異常検出処理を行っている。マイコン２は、チャンネルch1*がポート入力に割当てられているか否かを判定し（Ｕ１）、割当てられていないときには処理を抜ける。
【００４８】
マイコン２は、チャンネルch1*がポート入力に割当てられていると判断すると、チャンネルch1*のＡＤ変換値が高閾値ＨＨを上回っているか否か（Ｕ２）、低閾値ＬＬを下回っているか否か（Ｕ３）を判定する。例えば、高閾値ＨＨは３．５Ｖに対応するデジタル値、低閾値ＬＬは１．５Ｖに対応するデジタル値に設定されている。これらの高閾値ＨＨ及び低閾値ＬＬは、マイコン２のポート入力のＤＣスペックの電気的特性に基づいて設定されている。高閾値ＨＨはポート入力（ポートレジスタ値）が必ずＨレベルとなる入力電圧の最小値（ＭＩＮ値）を示すものであり、低閾値ＬＬはポート入力が必ずＬレベルとなる入力電圧の最大値（ＭＡＸ値）を示すものである。
【００４９】
マイコン２は、ステップＵ２，Ｕ３の何れの条件も満たしていないと判断すると（Ｕ２，Ｕ３でＮＯ）処理を抜けるが、例えばチャンネルch1*のＡＤ変換値が高閾値ＨＨを上回っていると判断すると（Ｕ２：ＹＥＳ）、チャンネルch1*のポートレジスタ１５*の保持レベルがＨレベルであるか否かを判定する（Ｕ４）。そして、ポートレジスタ１５*の保持レベルがＨレベルである（Ｕ４：ＹＥＳ）ときには、ポート異常カウンタ１７*をクリアして（Ｕ５）処理を抜ける。
【００５０】
しかし、ポートレジスタ１５*の保持レベルがＨレベルではないときには（Ｕ４：ＮＯ）、チャンネルch1*のポート異常カウンタ１７*をカウントアップし（Ｕ６）、チャンネルch1*のポート異常カウンタ１７*が異常判定値（例えば１０）を超えたときに（Ｕ７：ＹＥＳ）、チャンネルch1*のポート入力回路を異常であると判断（推定）し（Ｕ８）、ポート入力回路異常フラグをオンする。
【００５１】
すなわち、チャンネルch1*がポート入力に割当てられている条件下において、ＡＤ変換値が高閾値ＨＨを超えるもののポートレジスタ１５*の保持値がＨレベルになっていないときに、ポート異常カウンタ１７*がカウントアップされ、このポート異常カウンタ１７*の保持値が異常判定値を超えると、チャンネルch1*のポート入力回路が異常と判断されるようになる。
【００５２】
他方、ＣＰＵ１００はステップＵ３においてチャンネルch1*のポートレジスタ１５*の保持レベルがＬレベルであるか否かを判定するが、ポートレジスタ１５*の保持レベルがＬレベルであるときには正常動作していると判断し、ポート異常カウンタ１７*をクリアして（Ｕ１０）処理を抜ける。しかし、ポートレジスタ１５*の保持レベルがＬレベルではないときには、前述のステップＵ６〜Ｕ８の処理を行う。
【００５３】
すなわち、チャンネルch1*がポート入力に割当てられている条件下で、ＡＤ変換値が低閾値ＬＬを下回るもののポートレジスタ１５*の保持値がＬレベルになっていないときに、ポート異常カウンタ１７*がカウントアップされ、このポート異常カウンタ１７*の保持値が異常判定値を超えると、チャンネルch1*のポート入力回路が異常と判断されるようになる。
【００５４】
ＣＰＵ１００は、図６に示すように、異常検出処理（その２）を終了した後、異常判別処理を実行する（Ｓ６）。図１０に示す異常判別処理では異常原因の判別を行うと共に、この判別された異常原因に対応したダイアグノーシスによる異常信号の出力およびフェールセーフ処理（又はフェールソフト処理）を行う。
【００５５】
ＣＰＵ１００は、ＡＤ変換ブロックＡＢの出力側回路すなわちＡＤ変換器３ｂに異常があることでＡＤ出力異常フラグがオンとなっているか（Ｖ１）、入力回路ＣＩＮ*又は入力信号源に異常があることで入力回路異常フラグがオンとなっているか（Ｖ２）、マルチプレクサ６ｂ（アナログスイッチ８*）に異常があることでアナログスイッチ異常フラグがオンとなっているか（Ｖ３）、ポート入力回路に異常があることでポート入力回路異常フラグがオンとなっているか（Ｖ４）の異常内容の判別を行う。
【００５６】
マイコン２は、これらの異常内容に応じたダイアグノーシスによる異常信号（ダイアグ信号）を出力し（Ｖ５〜Ｖ８）、また、これらの異常内容に対応したフェールセーフ処理又はフェールソフト処理を行う（Ｖ９〜Ｖ１２）。ＡＤ変換器３ｂに異常が存在することを判断したときには、センサ信号Ｓが入力不能になるため、ステップＶ９においてエンジンを安全に停止させるための処理を実行する。
【００５７】
また、入力回路ＣＩＮ*又は入力信号源の異常、アナログスイッチ８*の異常の場合には、該当チャンネルch1*の異常状態（センサおよびアナログスイッチを含む入力回路の異常）をユーザに報知し、その他のセンサ信号Ｓおよびスイッチ信号ＳＷを用いてエンジン制御を行うように処理を実行する。異常処理の該当チャンネルch1*が、電子スロットル開度センサＳ２などの重要なセンサに割当てられているときには、退避走行モードなどのモードに移行し、安全に走行を持続して安全停止するための処理を行う。
【００５８】
他方、チャンネルch1*のポート入力回路に異常が発生していることでポート入力回路異常フラグがオンとなっているとき（Ｖ４：ＹＥＳ）には、ダイアグ信号を出力した（Ｖ８）上で、ポート入力回路の異常時の代用処理を行う（Ｖ１２）。すなわち、該当チャンネルch1*のＡＤ変換値を電源電圧ＶＤＤの１／２に対応したデジタル値と比較し（Ｖ１２ａ）、論理レベル（Ｈ／Ｌ）を判定しポート入力値として代用する（Ｖ１２ｂ，Ｖ１２ｃ）。
【００５９】
つまり、ポート入力回路４ｅ〜４ｈに異常を生じたとしてもＡＤ変換値を利用してデジタル値を取得できる。この場合、エンジン制御は通常通り継続できるため退避走行モードなどのモードに移行することなく、フェールソフトすることで通常通りの走行制御を持続できる。
【００６０】
このような異常モードと異常検出内容をまとめると図１１〜図１４に示すようになる。図１１はデジタル信号処理ブロックＤＢ（ポート入力回路）の異常内容を示す。また図１２および図１３はＡＤ変換ブロックＡＢの異常内容を示し、特に図１２はマルチプレクサ６ｂ（アナログスイッチ８*）のグランド短絡、電源短絡、オペアンプ１０の入力短絡、の各条件における異常出力値等を示す。図１３はマルチプレクサ６ｂ（アナログスイッチ８*）のオープン異常の内容を示す。図１４はマイコン入力端子ＡＤIN0〜ＡＤIN3より前段における電源ＶＤＤ短絡、グランドＧＮＤ短絡の場合の検出状態を示している。このような条件に沿って異常を判別すれば、ＡＤ変換ブロックＡＢのＡＤ変換値およびポートレジスタ１５*の保持値の双方を参照することで、どの部分に異常を生じているかを判別できる。
【００６１】
本実施形態によれば、同一入力信号を入力端子ＡＤIN0〜ＡＤIN3に入力させた状態で得られるＡＤ変換ブロックＡＢの変換結果、デジタル信号処理ブロックＤＢの処理結果に基づいて、ＡＤ変換ブロックＡＢ又はデジタル信号処理ブロックＤＢ内の異常を推定できる。
【００６２】
特に、チャンネルch1*がアナログ信号入力に割当てられている場合、チャンネルch1*のＡＤ変換値が低閾値Ｌを下回り且つチャンネルch1*のポートレジスタ値＝Ｈであることを条件としてマルチプレクサ６ｂのオープン異常であると推定している。
【００６３】
また、チャンネルch1*がアナログ信号入力に割当てられている場合、マルチプレクサ６ｂ（アナログスイッチ８*）を切換え全てのチャンネルch1*のＡＤ変換ブロックＡＢの変換結果が誤差範囲内に収まっていることを条件としてＡＤ変換ブロックＡＢの異常であると推定している。
【００６４】
また、チャンネルch1*がアナログ信号入力に割当てられている場合、ＡＤ変換ブロックＡＢが正常に動作していると判定でき、且つ、ＡＤ変換ブロックＡＢの変換結果が正常出力範囲を逸脱しているときには、入力回路ＣＩＮ*又は入力信号源の異常と推定している。
【００６５】
また、チャンネルch1*がデジタル信号入力に割当てられている場合、ＡＤ変換ブロックＡＢの変換結果がデジタル信号処理ブロックＤＢのＨ出力を保証する高閾値ＨＨ以上であり、且つ、デジタル信号処理ブロックＤＢの出力がＬレベルであることを条件としてデジタル信号処理ブロックＤＢの異常と推定している。
【００６６】
また、チャンネルch1*がデジタル信号入力に割当てられている場合、ＡＤ変換ブロックＡＢの変換結果がデジタル信号処理ブロックＤＢのＬ出力を保証する低閾値ＬＬ以下であり、且つ、デジタル信号処理ブロックＤＢの出力がＨであることを条件としてデジタル信号処理ブロックＤＢの異常と推定している。これらの処理に応じて、異常原因が何れのブロックに存在するか詳細に判別できる。
【００６７】
また、チャンネルch1*がデジタル信号入力に割当てられている場合、デジタル信号処理ブロックＤＢに異常が生じていると推定したときには、ＡＤ変換ブロックＡＢのＡＤ変換値を用いてポート入力値の論理レベルを取得することでフェールソフト処理している。このため処理を継続できる。
【００６８】
なお、制御信頼性が必要な入力信号（センサ信号Ｓ、スイッチ信号ＳＷ）については、アナログ入力の専用端子ＡＩ０〜ＡＩ３、デジタル入力の専用端子ＤＩ０〜ＤＩ３に割当てることなく、アナデジ兼用入力端子ＡＤIN0〜ＡＤIN3に割当てると良い。
【００６９】
エンジンＥＣＵ１等が前述のように推定、断定された異常原因を不揮発的に記憶する不揮発性メモリ（記憶手段）を備えるように構成しても良い。すると例えばディーラーなどが異常原因を後に解析する際に容易に分析できる。
アナデジ兼用入力端子ＡＤＩＮ０〜ＡＤＩＮ３を車種毎に切替えることで複数車種においてマイクロコンピュータ２を共用できマイコン２の品種を削減できる。
【符号の説明】
【００７０】
図面中、１はエンジンＥＣＵ（電子制御装置）、２はマイクロコンピュータ、６ｂはマルチプレクサ（切換スイッチ）、８*（８０〜８３）はアナログスイッチ、１００はＣＰＵ（推定手段）、１４*（１４０〜１４３）は比較器（比較手段）、ＡＢはＡＤ変換ブロック、ＤＢはデジタル信号処理ブロック、ＡＤＩＮ０〜ＡＤＩＮ３はアナデジ兼用入力端子を示す。
【図１】
0005761120.tif 000002
【図２】
0005761120.tif 000003
【図３】
0005761120.tif 000004
【図４】
0005761120.tif 000005
【図５】
0005761120.tif 000006
【図６】
0005761120.tif 000007
【図７】
0005761120.tif 000008
【図８】
0005761120.tif 000009
【図９】
0005761120.tif 000010
【図１０】
0005761120.tif 000011
【図１１】
0005761120.tif 000012
【図１２】
0005761120.tif 000013
【図１３】
0005761120.tif 000014
【図１４】
0005761120.tif 000015