(57)【要約】【課題】クランクセンサの異常を誤診断することを極力避けるエンジン制御装置を提供する。【解決手段】エンジン制御装置は、２個のクランクセンサ診断部からそれぞれ、クランクセンサが異常であるか否かを示す異常フラグ１、２を取得し（Ｓ４６０、Ｓ４６２）、異常フラグが両方ともオンで等しい場合（Ｓ４６４：Ｙｅｓ）、２個のクランクセンサ診断部の診断は両方とも正常であり、クランクセンサは故障等の異常であると診断する（Ｓ４６６）。異常フラグが両方ともオフで等しい場合（Ｓ４６４：Ｎｏ、Ｓ４７０：Ｙｅｓ）、２個のクランクセンサ診断部の診断は両方とも正常であり、クランクセンサは正常であると診断する（Ｓ４７２）。２個の異常フラグの値が異なる場合（Ｓ４６４：Ｎｏ、Ｓ４７０：Ｎｏ）、クランクセンサ診断部３０、４０のどちらか一方は異常であるが、クランクセンサ４は正常であると診断する（Ｓ４７６）。【選択図】図６
2015098854.tif 000002
【特許請求の範囲】
【請求項１】
エンジン回転速度に基づいてエンジン制御を実行するエンジン制御装置（１０）であって、
クランクシャフトの所定の回転角度毎にクランクセンサ（４）が出力するクランク信号に基づいてエンジン回転速度を算出する第１速度算出手段（２０）と、
カムシャフトの所定の回転角度毎にカムセンサ（６）が出力するカム信号に基づいてエンジン回転速度を算出する第２速度算出手段（２２）と、
前記クランク信号に基づいて前記クランクセンサが異常であるか否かを判定する第１診断手段（３０、３２、３４、３６、Ｓ４００〜Ｓ４２６）と、
前記クランク信号に基づいて前記クランクセンサが異常であるか否かを判定する第２診断手段（４０、４２、４４、４６、４８、５０、Ｓ４３０〜Ｓ４３８、Ｓ４４０〜Ｓ４５０）と、
前記第１診断手段の診断結果と前記第２診断手段の診断結果とが正常で一致する場合、前記第１速度算出手段が算出するエンジン回転速度を選択し、前記第１診断手段の診断結果と前記第２診断手段の診断結果とが異常で一致する場合、前記第２速度算出手段が算出するエンジン回転速度を選択する選択手段（６０、６２、Ｓ４６０〜Ｓ４７８）と、
を備えることを特徴とするエンジン制御装置。
【請求項２】
前記選択手段（Ｓ４７６、Ｓ４７８）は、前記第１診断手段の診断結果と前記第２診断手段の診断結果とが異なる場合、前記第１速度算出手段が算出するエンジン回転速度を選択することを特徴とする請求項１に記載のエンジン制御装置。
【請求項３】
前記第１診断手段と前記第２診断手段とは、前記クランクセンサが異常であるか否かを異なる処理で判定することを特徴とする請求項１または２に記載のエンジン制御装置。
【請求項４】
前記クランクシャフトには、前記クランクシャフトとともに回転し前記クランクシャフトの回転方向に沿って等角度間隔に設置されたクランク歯（２ａ）と前記クランク歯が欠落した欠歯部（２ｂ）とを有するクランクロータ（２）が設置され、
前記クランクセンサは前記クランク歯を検出して前記クランク信号を出力し、
前記第１診断手段は、前記各クランク歯に対応した前記各クランク信号によりハードウェア割り込みを発生する歯割込部（３２）と、前記クランク歯と前記クランク歯との間の時間間隔をカウントするタイムカウンタ（３４）とを有し、前記歯割込部が発生する前記ハードウェア割り込み時に前記タイムカウンタの値に基づいて前記クランクセンサが異常であるか否かを判定し、
前記第２診断手段は、前記欠歯部を検出してハードウェア割り込みを発生する欠歯割込部（４４）と、前記各クランク歯に対応した前記各クランク信号により前記クランク歯の歯数をカウントする歯カウンタ（４２）とを有し、前記欠歯割込部が発生する前記ハードウェア割り込み時に前記歯カウンタの値に基づいて前記クランクセンサが異常であるか否かを判定する、
ことを特徴とする請求項１から３のいずれか一項に記載のエンジン制御装置。
【請求項５】
前記第１診断手段（Ｓ４１２）および前記第２診断手段（Ｓ４３４）は、前記クランクロータが１回転するときにカウントされる前記クランク歯の歯数が所定値であるか否かに基づいて前記クランクセンサが異常であるか否かを判定することを特徴とする請求項４に記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クランクセンサの異常を検出するエンジン制御装置に関する。
【背景技術】
【０００２】
従来、エンジン回転速度に基づいてエンジン運転状態を検出し、検出したエンジン運転状態に基づいて種々のエンジン制御を行うことが知られている。例えば、特許文献１には、エンジン回転速度に基づいてエンジンのトルクを推定する技術が開示されている。
【０００３】
エンジン回転速度は、通常、クランクシャフトの回転角度位置を検出するクランクセンサの出力信号であるクランク信号に基づいて算出される。クランクセンサの異常時には、クランク信号に代えて、カムシャフトの回転角度位置を検出するカムセンサの出力信号であるカム信号に基づいてエンジン回転速度が算出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表平１１−５０５５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
クランクセンサは、クランクセンサ自体が異常であるときに異常と診断されることはもちろんのこと、異常判定処理を行うマイクロコンピュータが異常であるときにも異常と診断される。クランクセンサが異常であると診断されると、クランク信号に代えてカム信号に基づいてエンジン回転速度が算出される。
【０００６】
通常、カム信号の信号数はクランク信号の信号数よりも少ないので、カム信号に基づいてエンジン回転速度を算出する精度はクランク信号よりも低い。したがって、マイクロコンピュータの異常のために、クランクセンサが正常であるにも関わらず異常であると誤診断し、クランク信号に代えてカム信号に基づいてエンジン回転速度を算出することは、極力避けたいことである。
【０００７】
本発明は上記課題を解決するためになされたものであり、クランクセンサの異常を誤診断することを極力避けるエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のエンジン制御装置は、第１速度算出手段と、第２速度算出手段と、第１診断手段と、第２診断手段と、選択手段とを備える。
第１速度算出手段は、クランクシャフトの所定の回転角度毎にクランクセンサが出力するクランク信号に基づいてエンジン回転速度を算出し、第２速度算出手段は、カムシャフトの所定の回転角度毎にカムセンサが出力するカム信号に基づいてエンジン回転速度を算出し、第１診断手段および第２診断手段は、それぞれクランク信号に基づいてクランクセンサが異常であるか否かを判定する。
【０００９】
第１診断手段および第２診断手段が両方とも異常である確率は１個の診断手段が異常である確率よりも低いので、両方の診断手段の診断結果が一致している場合、両方の診断手段は正しいと考えられる。
【００１０】
そこで、本発明のエンジン制御装置の選択手段は、第１診断手段の診断結果と第２診断手段の診断結果とが正常で一致する場合、第１速度算出手段が算出するエンジン回転速度を選択し、第１診断手段の診断結果と第２診断手段の診断結果とが異常で一致する場合、第２速度算出手段が算出するエンジン回転速度を選択する。
【００１１】
このように、２個の異なる診断手段により、クランクセンサが異常であるか否かをそれぞれ判定してその診断結果を比較することにより、クランクセンサが異常であると誤診断することを極力避けることができる。
【００１２】
また、第１診断手段の診断結果と第２診断手段の診断結果とが異なり、一方が正常で他方が異常の場合、第１診断手段または第２診断手段のどちらかが異常であると考えられる。第１診断手段または第２診断手段のどちらかが異常であり、さらにクランクセンサが異常である確率は、第１診断手段または第２診断手段のどちらかが異常であり、クランクセンサが正常である確率よりも低い。
【００１３】
したがって、選択手段は、第１診断手段の診断結果と第２診断手段の診断結果とが異なる場合、第１速度算出手段が算出するエンジン回転速度を選択することが望ましい。
【図面の簡単な説明】
【００１４】
【図１】本実施形態によるエンジン制御装置を示す機能ブロック図。
【図２】クランクセンサ診断部１、２を示す機能ブロック図。
【図３】クランクセンサ診断部１の診断処理を示すフローチャート。
【図４】クランクセンサ診断部２の歯数診断処理を示すフローチャート。
【図５】クランクセンサ診断部２の欠歯診断処理を示すフローチャート。
【図６】エンジン回転速度の切替処理を示すフローチャート。
【図７】異常時の診断処理を示すタイムチャート。
【図８】異常時の他の診断処理を示すタイムチャート。
【図９】比較例による異常時の診断処理を示すタイムチャート。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図に基づいて説明する。
図１に示すエンジン制御装置１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、フラッシュメモリ等を備えるマイクロコンピュータ（以下、「マイコン」とも言う。）により主に構成されている。エンジン制御装置１０は、エンジン回転速度算出部２０、２２、クランクセンサ診断部３０、４０、選択器６０、切替器６２、トルクモニタ７０、およびトルク制御器８０等を備えている。
【００１６】
エンジン回転速度算出部２０はクランクセンサ４が検出するクランク信号に基づいてエンジン回転速度を算出し、エンジン回転速度算出部２２はカムセンサ６が検出するカム信号に基づいてエンジン回転速度を算出する。
【００１７】
クランクセンサ４は、クランクシャフトとともに回転するクランクロータ２（図２参照）がクランクシャフトの回転方向に沿って等角度間隔に有するクランク歯２ａを検出し、クランクシャフトの回転に伴い所定の回転角度毎にパルス状のクランク信号を出力する（図７参照）。
【００１８】
尚、クランクロータ２には所定の回転角度位置にクランク歯２ａの欠落した欠歯部２ｂが形成されているので、クランクセンサ４は欠歯部２ｂの角度区間、クランク信号を出力しない。
【００１９】
カムセンサ６は、カムシャフトとともに回転する図示しないカムロータがカムシャフトの所定の回転角度位置に有するカム歯を検出してカム信号を出力する（図７参照）。カム歯はクランク歯２ａよりも回転方向の角度幅が広く、カム歯の歯数はクランク歯２ａの歯数よりも少ない。
【００２０】
クランクセンサ診断部３０、４０は、クランクセンサ４が出力するクランク信号に基づいて、それぞれ異なる処理でクランクセンサ４が異常であるか否かを判定する。クランクセンサ診断部３０、４０の詳細については後述する。
【００２１】
選択器６０は、エンジン回転速度算出部２０、２２が算出するエンジン回転速度のいずれかを、切替器６２の切替信号に応じて選択する。
切替器６２は、クランクセンサ診断部３０、４０の診断結果に基づいて、エンジン回転速度算出部２０、２２が算出するエンジン回転速度のいずれを選択するかを指令する切替信号を選択器６０に出力する。切替器６２の切替処理の詳細については後述する。
【００２２】
トルクモニタ７０は、トルク推定部７２、要求トルク算出部７４および比較器７６を有している。
トルク推定部７２は、エンジン回転速度の変動量に基づいて、エンジンの出力トルクをマップまたは数式等から推定する。要求トルク算出部７４は、アクセルセンサ８が出力するアクセル開度に基づいて、ドライバが要求するトルクをマップまたは数式等から算出する。比較器７６は、トルク推定部７２が出力する推定トルクと、要求トルク算出部７４が出力する要求トルクとを比較し、推定トルクが要求トルクよりも所定値以上大きい場合、インジェクタを駆動する噴射駆動装置９０に噴射禁止信号を出力する。
【００２３】
トルク制御器８０は、アクセルセンサ８が出力するアクセル開度に基づいて、噴射駆動装置９０に噴射指令信号を出力する。
（クランクセンサ診断部３０、４０）
図２に示すように、クランクセンサ診断部３０は、歯割込部３２、タイムカウンタ３４、および診断部３６を有している。クランクセンサ診断部４０は、歯カウンタ４２、欠歯割込部４４、歯数診断部４６、欠歯診断部４８、およびＯＲ回路５０を有している。
【００２４】
クランクセンサ診断部３０の歯割込部３２およびタイムカウンタ３４、ならびにクランクセンサ診断部４０の歯カウンタ４２、欠歯割込部４４、およびＯＲ回路５０は、回路によるハードウェア処理を行う。
【００２５】
クランクセンサ診断部３０の診断部３６、ならびにクランクセンサ診断部４０の歯数診断部４６および欠歯診断部４８は、共通のＣＰＵがＲＯＭ等に記憶された異なる制御プログラムを実行することによりソフトウェア処理を行う。クランクセンサ診断部３０とクランクセンサ診断部４０とで異なるＣＰＵを使用してもよい。
【００２６】
クランクセンサ診断部３０の歯割込部３２は、クランク歯２ａに対応するクランク信号毎に診断部３６にハードウェア割り込みを発生させる。タイムカウンタ３４は、クロック信号毎またはクロック信号の分周信号毎にカウントするハードウェアカウンタである。
【００２７】
診断部３６は、歯割込部３２によりクランク信号毎に発生させられたハードウェア割り込みにより、ＲＯＭ等に記憶された制御プログラムに基づいてクランクセンサ４に対する診断処理を実行する。診断部３６は、クランクセンサ４が異常の場合、異常フラグ１をオンに設定し、クランクセンサ４が正常の場合、異常フラグ１をオフに設定する。
【００２８】
クランクセンサ診断部４０の歯カウンタ４２は、クランク信号毎にカウントするハードウェアカウンタであり、クランク歯２ａの歯数をカウントする。欠歯割込部４４は、クランク信号からクランクロータ２の欠歯部２ｂを検出し、歯数診断部４６にハードウェア割り込みを発生させる。
【００２９】
歯数診断部４６は、欠歯割込部４４により欠歯部２ｂ毎に発生させられたハードウェア割り込みにより、ＲＯＭ等に記憶された制御プログラムに基づいて欠歯部２ｂ毎に歯数診断処理を実行する。歯数診断部４６は、歯数診断処理において、クランク信号によりクランク歯２ａの歯数が正常にカウントされているか否かを判定することによりクランクセンサ４が異常であるか否かを診断する。
【００３０】
欠歯診断部４８は、所定の時間間隔で発生するタイマ割り込みにより、ＲＯＭ等に記憶された制御プログラムに基づいて欠歯診断処理を実行する。欠歯診断部４８は、欠歯診断処理において、クランク信号により欠歯部２ｂが正常に検出されているか否かを判定することによりクランクセンサ４が異常であるか否かを診断する。
【００３１】
ＯＲ回路５０の出力は異常フラグ２として使用される。異常フラグ２は、歯数診断部４６および欠歯診断部４８の少なくともいずれかが、クランクセンサ４は異常であると診断するとオンになり、歯数診断部４６および欠歯診断部４８の両方がクランクセンサ４は正常であると診断するとオフになる。
【００３２】
（診断処理）
図３に、クランクセンサ診断部３０の診断部３６が実行する診断処理を示す。図３、および後述する図４〜図６のフローチャートにおいて、「Ｓ」はステップを表わしている。
【００３３】
図３の診断処理は、クランク歯２ａに対応したクランク信号毎に発生するハードウェア割り込みにより実行される。診断部３６は、ソフトウェア処理によりクランク信号毎にクランク歯カウンタをカウントアップする（Ｓ４００）。クランク歯カウンタは、後述するＳ４０８において欠歯部２ｂ後のクランク信号による割り込みであると判定されると、Ｓ４１８においてクリアされる。
【００３４】
診断部３６は、タイムカウンタ３４から現在時刻として現在のカウンタ値を取得し（Ｓ４０２）、次式（１）から、クランク信号毎に発生する割り込みの時間間隔を算出する（Ｓ４０４）。
【００３５】
割込間隔＝今回割込時刻−前回割込時刻      ・・（１）
式（１）において、今回割込時刻は今回の診断処理でタイムカウンタ３４から取得したカウンタ値であり、前回割込時刻は前回の診断処理でタイムカウンタ３４から取得したカウンタ値である。
【００３６】
今回が欠歯部２ｂ直後のクランク歯２ａによる割り込みであり、今回と前回との割り込みの間に欠歯部２ｂが存在する場合、欠歯部２ｂが存在しない場合よりも割込間隔が長くなる。そこで、診断部３６は、次式（２）から割込間隔比を算出し（Ｓ４０６）、割込間隔比が所定値１より大きいか否かを判定する（Ｓ４０８）。所定値１は、欠歯部２ｂが間に存在するときのクランク歯２ａの角度間隔と欠歯部２ｂがないときのクランク歯２ａの角度間隔とに基づいて設定される。
【００３７】
割込間隔比＝今回割込間隔／前回割込間隔    ・・・（２）
割込間隔比が所定値１より大きい場合（Ｓ４０８：Ｙｅｓ）、診断部３６は今回と前回との割り込みの間に欠歯部２ｂが存在していると判定し（Ｓ４１０）、Ｓ４００でカウントアップしたクランク歯カウンタのカウンタ値が所定値２であるか否かを判定する（Ｓ４１２）。所定値２は、クランクロータ２が有するクランク歯２ａの合計歯数である。
【００３８】
カウンタ値が示す歯数が所定値２と等しい場合（Ｓ４１２：Ｙｅｓ）、診断部３６は、今回の欠歯部２ｂ直後のクランク歯２ａによる割り込みと前回の欠歯部２ｂ直後のクランク歯２ａによる割り込みとの間でクランク歯２ａの歯数を正常にカウントできたので、クランクセンサ４は正常であると診断して異常フラグ１をオフに設定し（Ｓ４１４）、Ｓ４１８に処理を移行する。
【００３９】
カウンタ値が所定値２と異なる場合（Ｓ４１２：Ｎｏ）、診断部３６は、今回の欠歯部２ｂによる割り込みと前回の欠歯部２ｂによる割り込みとの間でクランク歯２ａが正常にカウントされていない歯数異常であると診断して異常フラグ１をオンに設定する（Ｓ４１６）。
【００４０】
Ｓ４１８において診断部３６は、クランク歯カウンタをクリアし（Ｓ４１８）、本処理を終了する。
割込間隔比が所定値１以下の場合（Ｓ４０８：Ｎｏ）、診断部３６は今回と前回との割り込みの間に欠歯部２ｂが存在していないと判定し（Ｓ４２０）、クランク歯カウンタのカウンタ値が所定値２より小さいか否かを判定する（Ｓ４２２）。
【００４１】
今回と前回との割り込みの間に欠歯部２ｂが存在していないのであれば、Ｓ４００でカウントアップしたクランク歯カウンタの値は、所定値２よりも小さい筈である。
カウンタ値が所定値２よりも小さい場合（Ｓ４２２：Ｙｅｓ）、診断部３６は、今回と前回との割り込みの間でクランク歯２ａの歯数を正常にカウントしているので、クランクセンサ４は正常であると診断して異常フラグ２をオフに設定し（Ｓ４２４）、本処理を終了する。
【００４２】
カウンタ値が所定値２以上の場合（Ｓ４２２：Ｎｏ）、診断部３６は、欠歯部２ｂが検出されていないか、クランク信号の信号数が多すぎる異常であると診断して異常フラグ２をオンに設定し（Ｓ４２６）、本処理を終了する。
【００４３】
（歯数診断処理）
図４に、クランクセンサ診断部４０の歯数診断部４６が実行する歯数診断処理を示す。図４の歯数診断処理は、欠歯割込部４４が欠歯部２ｂを検出することにより発生するハードウェア割り込みにより実行される。
【００４４】
歯数診断部４６は、クランク信号毎にカウントする歯カウンタ４２のカウンタ値を取得し（Ｓ４３０）、次式（３）から、クランク歯２ａの歯数を算出する（Ｓ４３２）。式（３）において、前回カウンタ値は前回の歯数診断処理で歯カウンタ４２から取得したカウンタ値である。
【００４５】
歯数＝今回カウンタ値−前回カウンタ値      ・・（３）
図４の歯数診断処理は欠歯部２ｂが検出される毎に実行されるので、クランクセンサ４が正常にクランク歯２ａを検出しているのであれば、式（３）から算出される歯数は所定値２と等しい筈である。所定値２は、図３の診断処理で使用した所定値２と同じ値である。
【００４６】
そこで、歯数診断部４６は式（３）で算出した歯数が所定値２と等しいか否かを判定する（Ｓ４３４）。歯数が所定値２と等しい場合（Ｓ４３４：Ｙｅｓ）、歯数診断部４６は、クランクセンサ４は正常であると診断して歯数異常フラグをオフに設定し（Ｓ４３６）、本処理を終了する。
【００４７】
歯数が所定値２と異なる場合（Ｓ４３４：Ｎｏ）、歯数診断部４６は、クランクセンサ４は異常であると診断して歯数異常フラグをオンに設定し（Ｓ４３８）、本処理を終了する。
【００４８】
（欠歯診断処理）
図５に、クランクセンサ診断部４０の欠歯診断部４８が実行する欠歯診断処理を示す。図５の欠歯診断処理は、所定時間間隔のタイマ割り込みにより実行される。
【００４９】
欠歯診断部４８は、クランク信号毎にカウントする歯カウンタ４２のカウンタ値を取得し（Ｓ４４０）、図４の歯数診断処理のＳ４３０において取得した歯カウンタ４２のカウンタ値を歯数診断時カウンタ値として歯数診断部４６から取得する（Ｓ４４２）。そして、式（４）から、Ｓ４４０で取得したカウンタ値と、Ｓ４４２で歯数診断部４６から取得した歯数診断時カウンタ値との差を歯数の差として算出する。
【００５０】
歯数の差＝カウンタ値−歯数診断時カウンタ値      ・・（４）
式（４）における歯数診断時カウンタ値は、欠歯部２ｂによる割り込みにより実行される図４の歯数診断処理における歯カウンタ４２のカウンタ値であるから、クランクセンサ４が正常であれば所定値２ずつ増加する値である。所定値２は、図３の診断処理で使用した所定値２と同じ値である。
【００５１】
ただし、歯数診断部４６から取得する歯数診断時カウンタ値は、欠歯部２ｂが検出されず図４の歯数診断処理が実行されていない期間、一定値であり増加しない。
タイマ割り込みによりＳ４４０で取得する歯カウンタ４２のカウンタ値は、欠歯部２ｂが検出されていない間にもクランク信号毎にカウントアップされている値である。したがって、クランクセンサ４が正常であれば、式（４）から算出される歯数の差は、所定値２以下になる筈である。
【００５２】
そこで、欠歯診断部４８は式（４）で算出した歯数の差が所定値２以下であるか否かを判定する（Ｓ４４６）。歯数の差が所定値２以下の場合（Ｓ４４６：Ｙｅｓ）、欠歯診断部４８は、クランクセンサ４は正常であると診断して欠歯異常フラグをオフに設定し（Ｓ４４８）、本処理を終了する。
【００５３】
歯数の差が所定値より大きい場合（Ｓ４４６：Ｎｏ）、欠歯診断部４８は、クランクセンサ４は異常であると判断して欠歯異常フラグをオンに設定し（Ｓ４５０）、本処理を終了する。
【００５４】
（異常フラグ２設定処理）
ＯＲ回路５０は、図４の歯数診断処理で設定された歯数異常フラグおよび図５の欠歯診断処理で設定された欠歯異常フラグの少なくともいずれか一方がオンであれば異常フラグ２としてオン信号を出力し、歯数異常フラグおよび欠歯異常フラグの両方がオフであれば異常フラグ２としてオフ信号を出力する。
【００５５】
（切替処理）
図６に、切替器６２が実行する切替処理を示す。切替器６２が実行する切替処理は回路によるハードウェア処理である。
【００５６】
切替器６２は、クランクセンサ診断部３０から診断結果として異常フラグ１の値を取得し（Ｓ４６０）、クランクセンサ診断部４０から診断結果として異常フラグ２の値を取得する（Ｓ４６２）。
【００５７】
図７において、異常フラグ１の点線および異常フラグ２の点線が示すように異常フラグ１および異常フラグ２が両方ともオンで等しい場合（Ｓ４６４：Ｙｅｓ）、クランクセンサ診断部３０、４０の診断は正常であり、クランクセンサ４は故障等の異常であると診断する（Ｓ４６６）。
【００５８】
クランクセンサ４が異常の場合、図７の切替信号の点線で示すように、切替器６２は、選択器６０に指令してカムセンサ６の出力信号に基づくエンジン回転速度算出部２２の算出結果をエンジン回転速度として選択する（Ｓ４６８）。カムセンサ６の信号数はクランクセンサ４の信号数よりも少ないので、エンジン回転速度算出部２２が算出するエンジン回転速度は、エンジン回転速度算出部２０が算出するエンジン回転速度よりも精度が低い。
【００５９】
したがって、エンジン回転速度算出部２２の算出結果をエンジン回転速度として選択すると、エンジン回転速度算出部２０の算出結果をエンジン回転速度として選択する場合に比べ、エンジン回転速度の変動量に基づいてトルク推定部７２が推定するエンジントルクの変動が図７の点線に示すように大きくなる。しかしながら、クランクセンサ４が異常である場合には、カムセンサ６の出力信号に基づいてエンジン回転速度を算出せざるを得ない。
【００６０】
図７において、異常フラグ１の実線および異常フラグ２の実線が示すように異常フラグ１および異常フラグ２が両方ともオフで等しい場合（Ｓ４６４：Ｎｏ、Ｓ４７０：Ｙｅｓ）、クランクセンサ診断部３０、４０の診断は正常であり、クランクセンサ４は正常であると診断する（Ｓ４７２）。
【００６１】
クランクセンサ４が正常の場合、図７の切替信号の実線で示すように、切替器６２は、選択器６０に指令してクランクセンサ４の出力信号に基づくエンジン回転速度算出部２０の算出結果をエンジン回転速度として選択する（Ｓ４７４）。
【００６２】
また、図８において、異常フラグ１の実線および異常フラグ２の実線、あるいは異常フラグ１の点線および異常フラグ２の点線が示すように、異常フラグ１と異常フラグ２との値が異なる場合（Ｓ４６４：Ｎｏ、Ｓ４７０：Ｎｏ）、クランクセンサ診断部３０、４０のどちらか一方は異常である。
【００６３】
しかし、クランクセンサ４が異常で、クランクセンサ診断部３０、４０のどちらか一方も異常である確率は低い。したがって、異常フラグ１と異常フラグ２との値が異なる場合（Ｓ４６４：Ｎｏ、Ｓ４７０：Ｎｏ）、クランクセンサ診断部３０、４０のどちらかの診断は異常であり、クランクセンサ４は正常であると診断する（Ｓ４７６）。
【００６４】
例えば、クランクセンサ診断部４０が異常になるのは、図８に示すように、クランクセンサ診断部４０の歯カウンタ４２が故障し、カウントアップされない異常が発生したときである。
【００６５】
そして、図８の切替信号の実線で示すように、切替器６２は、選択器６０に指令してクランクセンサ４の出力信号に基づくエンジン回転速度算出部２０の算出結果をエンジン回転速度として選択する（Ｓ４７８）。
【００６６】
本実施形態に対し、クランクセンサ診断部が１個しかない比較例においては、クランクセンサ４が正常であってもクランクセンサ診断部が異常の場合、図９に示すように、クランクセンサ４が異常であるか否かを示す異常フラグがオンになる。その結果、カムセンサ６の出力信号に基づいて算出されるエンジン回転速度が選択される。
【００６７】
カムセンサ６の出力信号に基づいてエンジン回転速度を算出すると、前述したように、クランクセンサ４の出力信号に基づいてエンジン回転速度を算出よりも推定トルクが変動する。クランクセンサ４が実際に異常である場合には、前述したように、カムセンサ６の出力信号に基づいてエンジン回転速度を算出せざるを得ない。
【００６８】
しかしながら、クランクセンサ４は正常であるにもかかわらず、クランクセンサ診断部の異常のために、クランクセンサ４に代えてカムセンサ６の出力信号に基づいてエンジン回転速度を算出することは極力避けたい。
【００６９】
本実施形態では、クランクセンサ４が異常であるか否かを、クランクセンサ診断部３０、４０の両方で診断し、両方の診断結果が正常で一致するか、診断結果が異なれば、クランクセンサ４は正常であると判断し、両方の診断結果が異常で一致すればクランクセンサ４は異常であると判断する。
【００７０】
このように、２個の異なるクランクセンサ診断部３０、４０でクランクセンサ４が異常であるか否かを判定することにより、クランクセンサ４が異常であるか否かを高精度に診断し、クランクセンサ４が異常であると誤診断することを極力避けることができる。
【００７１】
［他の実施形態］
上記実施形態では、クランクセンサ診断部３０、４０を異なるハードウェア構成とし、それぞれ異なる診断処理を行った。これに対し、クランクセンサ診断部３０、４０を同じハードウェア構成とし、同じ診断処理を行ってもよい。
【００７２】
上記実施形態では、エンジン回転速度から推定したエンジントルクに基づいて、噴射駆動装置９０を制御するエンジン制御を行った。エンジントルクに限らず、エンジン回転速度からどのようなパラメータを推定または算出し、そのパラメータに基づいてどのようなエンジン制御を行ってもよい。
【００７３】
本発明のエンジン制御装置は、車両に搭載されるエンジン制御装置に限らず、どのような分野に適用されるエンジン制御装置であってもよい。
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【００７４】
２：クランクロータ、２ａ：クランク歯、２ｂ：欠歯部、４：クランクセンサ、６：カムセンサ、１０：エンジン制御装置（第１速度算出手段、第２速度算出手段、第１診断手段、第２診断手段、選択手段）、２０：エンジン回転速度算出部（第１速度算出手段）、２２：エンジン回転速度算出部（第２速度算出手段）、３０：クランクセンサ診断部（第１診断手段）、４０：クランクセンサ診断部（第２診断手段）、６０：選択器（選択手段）、６２：切替器（選択手段）
【図１】
2015098854.tif 000003
【図２】
2015098854.tif 000004
【図３】
2015098854.tif 000005
【図４】
2015098854.tif 000006
【図５】
2015098854.tif 000007
【図６】
2015098854.tif 000008
【図７】
2015098854.tif 000009
【図８】
2015098854.tif 000010
【図９】
2015098854.tif 000011