(57)【要約】【課題】電子制御装置において、矩形波を出力する回転角度センサの出力信号を処理する割り込み処理よりも優先度の高い割り込み処理が発生しても、制御対象への影響を軽減する。【解決手段】電子制御装置４０は、矩形波を出力する回転角度センサ５０の出力信号を第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２に分割して読み込む。また、電子制御装置４０は、第１の系統ＭＡＳ１の出力信号に応じて矩形波のローレベル時間を計測すると共に、第２の系統ＭＡＳ２の出力信号に応じて矩形波の周期を計測する。そして、電子制御装置４０は、ローレベル時間と周期とに応じて、回転角度センサ５０の検出対象である電動モータのデューティ比を演算する。【選択図】図３
2020153305.tif 000002
【特許請求の範囲】
【請求項１】
矩形波を出力する回転角度センサの出力信号を第１の系統及び第２の系統に分割して読み込み、前記第１の系統の出力信号に応じて前記矩形波の第１の変化特性を計測し、前記第２の系統の出力信号に応じて前記矩形波の前記第１の変化特性とは異なる第２の変化特性を計測し、前記第１の変化特性と前記第２の変化特性とに応じて制御対象を制御する、
電子制御装置。
【請求項２】
前記第１の変化特性は、前記矩形波がローレベル又はハイレベルとなっている時間であり、
前記第２の変化特性は、前記矩形波が変化する周期である、
請求項１に記載の電子制御装置。
【請求項３】
前記第１の系統において、前記矩形波がローレベルからハイレベルに変化するか又はハイレベルからローレベルに変化したときに割り込み要求レジスタをセットし、
前記第２の系統において、前記割り込み要求レジスタのセットにより発生した割り込みジョブに応答して、前記第１の変化特性と前記第２の変化特性とに応じて制御対象を制御してから前記割り込み要求レジスタをリセットする、
請求項１又は請求項２に記載の電子制御装置。
【請求項４】
前記割り込みジョブの発生の有無、前記割り込み要求レジスタの状態、前記第１の変化特性の更新の有無、前記第１の変化特性が第１の所定範囲内であるか否か、及び、前記第２の変化特性が第２の所定範囲内であるか否かに応じて、前記第１の系統及び前記第２の系統の故障を診断する、
請求項３に記載の電子制御装置。
【請求項５】
前記第１の系統及び前記第２の系統の一方が故障していると診断されたとき、前記第１の系統及び前記第２の系統の他方により前記制御対象を制御する、
請求項４に記載の電子制御装置。
【請求項６】
前記第１の系統及び前記第２の系統の両方が故障していると診断されたとき、フェイルセイフ処理に移行して前記制御対象を制御する、
請求項４に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車などに搭載される電子制御装置に関する。
【背景技術】
【０００２】
自動車などに搭載される電子制御装置は、割り込み処理によって、回転角度センサから出力される矩形波信号を読み取って処理する。このような電子制御装置について、特開２０１６−２１７７１３号公報（特許文献１）に記載されるように、１つの出力信号を２つに分割し、分割した２つの信号が最終的に一致しているか否かで故障を検知する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２１７７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、回転角度センサの矩形波信号を処理する割り込み処理よりも優先度が高い割り込み処理が発生すると、電子制御装置が優先度の高い割り込み処理を優先して実行することとなる。この場合、その割り込み処理が実行されている間には、回転角度センサの矩形信号を処理する割り込み処理の実行が禁止されてしまう。従来の故障検知方法は、割り込み処理の実行が前提となっているため故障を検知できず、制御対象を制御することが困難となってしまうおそれがある。
【０００５】
そこで、本発明は、矩形波を出力する回転角度センサの出力信号を処理する割り込み処理よりも優先度の高い割り込み処理が発生しても、制御対象への影響を軽減した電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
このため、電子制御装置は、矩形波を出力する回転角度センサの出力信号を第１の系統及び第２の系統に分割して読み込み、第１の系統の出力信号に応じて矩形波の第１の変化特性を計測し、第２の系統の出力信号に応じて矩形波の第１の変化特性とは異なる第２の変化特性を計測する。そして、電子制御装置は、第１の変化特性と第２の変化特性とに応じて制御対象を制御する。
【発明の効果】
【０００７】
本発明によれば、電子制御装置において、矩形波を出力する回転角度センサの出力信号を処理する割り込み処理よりも優先度の高い割り込み処理が発生しても、制御対象への影響を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】自動車用エンジンシステムの概要図である。
【図２】可変バルブタイミング機構（ＶＴＣ）の詳細を示す斜視図である。
【図３】電子制御装置に対する回転角度センサの出力信号の入力構造を示す説明図である。
【図４】ＶＴＣの電動モータのデューティ比を演算するタイミングチャートである。
【図５】第１系統処理の一例を示すフローチャートである。
【図６】第２系統処理の一例を示すフローチャートである。
【図７】矩形波の立ち下がりから立ち上がりまで割り込み禁止となった場合の動作を説明するタイミングチャートである。
【図８】矩形波の立ち上がりから立ち下がりまで割り込み禁止となった場合の動作を説明するタイミングチャートである。
【図９】矩形波の立ち下がりから次の立ち下がりまで割り込み禁止となった場合の動作を説明するタイミングチャートである。
【図１０】矩形波の立ち上がりから次の立ち上がりまで割り込み禁止となった場合の動作を説明するフローチャートである。
【図１１】故障判定処理の一例を示すフローチャートである。
【図１２】故障判定処理の一例を示すフローチャートである。
【図１３】故障判定処理の一例を示すフローチャートである。
【図１４】故障判定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
図１は、本実施形態に係る電子制御装置が適用される、自動車用エンジンのシステム構成を示している。
【００１０】
エンジン１０は、例えば、直列４気筒ガソリンエンジンであり、各気筒に吸気（吸入空気）を導入するための吸気管１２には、エンジン１０の負荷の一例としての吸気流量Ｑを検出する吸気流量センサ１４が取り付けられている。吸気流量センサ１４としては、例えば、エアフローメータなどの熱線式流量計を使用することができる。なお、エンジン１０の負荷としては、吸気流量Ｑに限らず、例えば、吸気負圧、過給圧力、スロットル開度、アクセル開度など、トルクと密接に関連する状態量を使用することができる。
【００１１】
各気筒の燃焼室１６に吸気を導入する吸気ポート１８には、その開口を開閉する吸気弁２０が配設されている。吸気弁２０の吸気上流に位置する吸気管１２には、吸気ポート１８に向けて燃料を噴射する燃料噴射弁２２が取り付けられている。燃料噴射弁２２は、電磁コイルへの通電によって磁気吸引力が発生すると、スプリングによって閉弁方向に付勢されている弁体がリフトして開弁して燃料を噴射する、電磁式の噴射弁である。燃料噴射弁２２には、その開弁時間に比例した燃料が噴射されるように、所定圧力に調圧された燃料が供給されている。
【００１２】
燃料噴射弁２２から噴射された燃料は、吸気ポート１８と吸気弁２０との隙間を介して燃焼室１６に吸気と共に導入され、点火プラグ２４の火花点火によって着火燃焼し、その燃焼による圧力がピストン２６をクランクシャフト（図示省略）に向けて押し下げることで、クランクシャフトを回転駆動させる。
【００１３】
また、燃焼室１６から排気を導出する排気ポート２８には、その開口を開閉する排気弁３０が配設され、排気弁３０が開弁することで、排気ポート２８と排気弁３０との隙間を介して、排気が排気管３２へと排出される。排気管３２には、触媒コンバータ３４が配設されており、排気中の有害物質は、触媒コンバータ３４によって無害成分に浄化された後、排気管３２の終端開口から大気中に放出される。ここで、触媒コンバータ３４としては、例えば、排気中のＣＯ（一酸化炭素），ＨＣ（炭化水素）及びＮＯｘ（窒素酸化物）を同時に浄化する三元触媒を使用することができる。
【００１４】
吸気弁２０を開閉駆動する吸気カムシャフト３６の端部には、クランクシャフトに対する吸気カムシャフト３６の回転位相を変化させることで、吸気弁２０のバルブタイミングを変更するＶＴＣ３８が取り付けられている。ＶＴＣ３８は、図２に示すように、クランクシャフトの回転駆動力を伝達するカムチェーン（図示省略）が巻き回されるカムスプロケット３８Ａと一体化され、減速機が内蔵された電動モータ３８Ｂ（電動アクチュエータ）により、カムスプロケット３８Ａに対して吸気カムシャフト３６を相対回転させることで、バルブタイミングを進角又は遅角させる。ここで、図２において符号３８Ｃで示すものは、電動モータ３８Ｂへ電力を供給するハーネスを接続するためのコネクタである。
【００１５】
なお、ＶＴＣ３８としては、図２に示す構成のものに限らず、油圧モータなどの各種アクチュエータによりバルブタイミングを変更可能であれば如何なる構成をなしていてもよい。また、ＶＴＣ３８は、吸気弁２０に限らず、吸気弁２０及び排気弁３０の少なくとも一方に備え付けられていればよい。
【００１６】
燃料噴射弁２２，点火プラグ２４及びＶＴＣ３８は、マイクロコンピュータを内蔵した電子制御装置４０によって制御される。電子制御装置４０は、各種センサからの信号を入力し、予め記憶された制御プログラムに従って、燃料噴射弁２２，点火プラグ２４及びＶＴＣ３８の各操作量を決定して出力する。燃料噴射弁２２による燃料噴射制御においては、例えば、各気筒の吸気行程に合わせて個別の燃料噴射を行う、いわゆる「シーケンシャル噴射制御」が行われる。なお、ＶＴＣ３８の制御は、電子制御装置４０とは異なる別体の電子制御装置で行うようにしてもよい。
【００１７】
電子制御装置４０には、吸気流量センサ１４の出力信号に加え、エンジン１０の冷却水温度（水温）Ｔｗを検出する水温センサ４２、エンジン１０の回転速度Ｎｅを検出する回転速度センサ４４、クランクシャフトの回転角度（基準位置からの角度）θＣＲＫを検出するクランク角度センサ４６、吸気カムシャフト３６の回転角度θＣＡＭを検出するカム角度センサ４８の各出力信号が入力されている。
【００１８】
ＶＴＣ３８の電動モータ３８Ｂには、その出力軸が所定角度回転するたびにローレベル又はハイレベルに変化する矩形波を出力する回転角度センサ５０が取り付けられており、その出力信号が電子制御装置４０に入力されている。従って、回転角度センサ５０は、減速機で減速される前の電動モータ３８Ｂの出力軸の回転角度θＶＴＣを検出し、電子制御装置４０が減速比などを考慮して回転角度θＶＴＣからバルブタイミングの変更角度を高精度に演算することができる。回転角度センサ５０の出力信号は、図３に示すように、電子制御装置４０の内部において第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２に分割し、マイクロコンピュータに読み込まれる。なお、回転角度センサ５０の出力信号は、電子制御装置４０に導かれる前に途中で分割されて、電子制御装置４０の異なる入力ポートに入力されていてもよい。
【００１９】
また、電子制御装置４０には、スタータスイッチのＯＮ／ＯＦＦ信号を入力可能なように、例えば、ＣＡＮ（Controller Area Network）などの車載ネットワークを介して、エンジン１０を電子制御するエンジン制御装置５２と接続されている。なお、エンジン１０の制御で使用する、吸気流量Ｑ、水温Ｔｗ、回転速度Ｎｅ、クランクシャフトの回転角度θＣＲＫ及び吸気カムシャフト３６の回転角度θＣＡＭは、各センサから読み込む代わりに、エンジン制御装置５２から読み込むようにしてもよい。
【００２０】
電子制御装置４０は、ＶＴＣ３８の制御に加え、次のように、燃料噴射弁２２及び点火プラグ２４を制御する。即ち、電子制御装置４０は、吸気流量センサ１４及び回転速度センサ４４から吸気流量Ｑ及び回転速度Ｎｅを夫々読み込み、これらに基づいてエンジン運転状態に応じた基本燃料噴射量を演算する。また、電子制御装置４０は、水温センサ４２から水温Ｔｗを読み込み、基本燃料噴射量を水温Ｔｗなどで補正した燃料噴射量を演算する。そして、電子制御装置４０は、エンジン運転状態に応じたタイミングで、燃料噴射量に応じた燃料を燃料噴射弁２２から噴射し、点火プラグ２４を適宜作動させて燃料と吸気との混合気を着火燃焼させる。このとき、電子制御装置４０は、図示省略の空燃比センサから空燃比を読み込み、排気中の空燃比が理想空燃比に近づくように、燃料噴射弁２２をフィードバック制御する。
【００２１】
図４は、電子制御装置４０が起動されたことを契機として、電子制御装置４０（具体的には、そのマイクロコンピュータ）が実行する制御対象の制御の一例として、ＶＴＣ３８の電動モータ３８Ｂのデューティ比を演算するタイミングチャートを示している。本実施形態では、電動モータ３８Ｂのデューティ比として、回転角度センサ５０から出力された矩形波の１周期におけるローレベルの割合を演算しているが、１周期におけるハイレベルの割合を演算してもよい。また、本実施形態では、第１の系統ＭＡＳ１の出力信号の処理が、第２の系統ＭＡＳ２の出力信号の処理より先に実行されることを前提としている。なお、図面においては、表現を簡潔にするため、回転角度センサ５０を「ＭＡＳ（Motor Angle Sensor）」と表すものとする。
【００２２】
電子制御装置４０は、矩形波を出力する回転角度センサ５０の出力信号を第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２に分割して読み込んで監視する。電子制御装置４０は、矩形波がローレベルからハイレベルに立ち上がったことを契機とする割り込み処理によって、第１の系統ＭＡＳ１において、例えば、タイマ機能により測定した前周期のローレベル時間をタイマレジスタ（ＭＡＳ１レジスタ）に格納して更新すると共に、割り込み要求レジスタをセットする。割り込み要求レジスタをセットすると、これより優先度が低い割り込み処理が禁止されると共に、割り込みジョブが発生する。ここで、ＭＡＳ１レジスタは、初期状態では０に初期化され、起動後の最初の周期では不定（ｘ）となっている。従って、電子制御装置４０は、起動後の２回目の周期以降において、その前周期のローレベル時間を測定して更新することができる。なお、ローレベル時間は、矩形波のローレベル時間を保持する変数にコピーして使用してもよい。
【００２３】
電子制御装置４０は、矩形波がローレベルからハイレベルに立ち上がったことを契機とする割り込み処理によって、第２の系統ＭＡＳ２において、例えば、タイマ機能により測定した前周期の周期をタイマレジスタ（ＭＡＳ２レジスタ）に格納して更新する。また、電子制御装置４０は、周期の更新後、割り込み要求レジスタのセットにより発生した割り込みジョブに応答して、前周期のローレベル時間と周期とに応じてデューティ比を演算する。その後、電子制御装置４０は、割り込み要求レジスタをリセット（クリア）する。ここで、ＭＡＳ２レジスタは、初期状態では０に初期化され、起動後の最初の周期では不定（ｘ）となっている。従って、電子制御装置４０は、起動後の２回目の周期以降において、その前周期の周期を測定して更新することができる。なお、周期は、矩形波の周期を保持する変数にコピーして使用してもよい。
【００２４】
このようなデューティ比の演算は、次のようにして実現することができる。
図５は、回転角度センサ５０から出力された矩形波がローレベルからハイレベルに立ち上がったことを契機とした割り込み処理によって、電子制御装置４０のマイクロコンピュータが実行する、第１の系統ＭＡＳ１の出力信号を処理する第１系統処理の一例を示している。
【００２５】
ステップ１（図では「Ｓ１」と略記する。以下同様。）では、電子制御装置４０のマイクロコンピュータが、タイマ機能によって計測した前周期のローレベル時間をＭＡＳ１レジスタに格納して更新する。ここで、電子制御装置４０のマイクロコンピュータは、起動直後の場合、前周期のローレベル時間が計測されていないので、ＭＡＳ１レジスタに０又は不定であることを示すデータを格納することができる。電子制御装置４０のマイクロコンピュータは、ＭＡＳ１レジスタのローレベル時間を更新すると、これを参照することで任意のタイミングでローレベル時間を取得することができる。
【００２６】
ステップ２では、電子制御装置４０のマイクロコンピュータが、割り込み要求レジスタをセットする。その後、電子制御装置４０のマイクロコンピュータは、第１系統処理を終了させる。
【００２７】
図６は、回転角度センサ５０から出力された矩形波がローレベルからハイレベルに立ち上がったことを契機とした割り込み処理によって、電子制御装置４０のマイクロコンピュータが実行する、第２の系統ＭＡＳ２の出力信号を処理する第２系統処理の一例を示している。
【００２８】
ステップ１１では、電子制御装置４０のマイクロコンピュータが、タイマ機能によって計測した前周期の周期をＭＡＳ２レジスタに格納して更新する。ここで、電子制御装置４０のマイクロコンピュータは、起動直後の場合、前周期の周期が計測されていないので、ＭＡＳ２レジスタに０又は不定であることを示すデータを格納することができる。電子制御装置４０のマイクロコンピュータは、ＭＡＳ２レジスタの周期を更新すると、これを参照することで任意のタイミングで周期を取得することができる。
【００２９】
ステップ１２では、電子制御装置４０のマイクロコンピュータが、割り込みレジスタのセットにより発生した割り込みジョブに応答して、ＭＡＳ１レジスタ及びＭＡＳ２レジスタを参照し、前周期のローレベル時間及び周期に応じて、回転角度センサ５０の検出対象であるＶＴＣ３８の電動モータ３８Ｂのデューティ比を演算する。具体的には、電子制御装置４０のマイクロコンピュータは、「（周期−ローレベル時間）／周期」という演算式にローレベル時間及び周期を代入して、電動モータ３８Ｂのデューティ比を演算する。
【００３０】
ステップ１３では、電子制御装置４０のマイクロコンピュータが、電動モータ３８Ｂのデューティ比の演算が終了したので、割り込み要求レジスタをリセットする。その後、電子制御装置４０のマイクロコンピュータは、第２系統処理を終了させる。
【００３１】
このようにすれば、電子制御装置４０において、回転角度センサ５０の出力信号を処理する割り込み処理よりも優先度の高い割り込み処理が発生しても、電動モータ３８Ｂのデューティ比の演算への影響を軽減することができる。
【００３２】
具体的な事例を想定してこれを説明すると、回転角度センサ５０の出力信号を処理する割り込み処理が正常に実行される場合、図４に関して上述したように、ＶＴＣ３８の電動モータ３８Ｂのデューティ比が正常に演算される。
【００３３】
次に、第１の事例として、クランク角度センサ４６やカム角度センサ４８の出力信号を処理する割り込み処理によって、図７に示すように、矩形波の立ち下がりから立ち上がりまで、回転角度センサ５０の出力信号を処理する割り込み処理が禁止された場合を考察する。この場合、回転角度センサ５０の出力信号を受けるレジスタが１つであることから、矩形波がハイレベルからローレベルに変化したことを検知することができない。そして、割り込み処理の禁止が解除されると、矩形波のローレベルからハイレベルへの変化が検知されるので、多少の遅れを伴って第１系統処理及び第２系統処理が実行され、矩形波のローレベル時間及び周期が更新される。その後、割り込みジョブに応答して、ＶＴＣ３８の電動モータ３８Ｂのデューティ比が演算される。従って、ローレベル時間及び周期の更新並びにデューティ比の演算が多少の遅れをもって行われるものの、デューティ比の演算が問題なく行われるため、制御対象であるＶＴＣ３８への影響を軽減することができる。
【００３４】
第２の事例として、クランク角度センサ４６やカム角度センサ４８の出力信号を処理する割り込み処理によって、図８に示すように、矩形波の立ち上がりから立ち下がりまで、回転角度センサ５０の出力信号を処理する割り込み処理が禁止された場合を考察する。この場合、回転角度センサ５０の出力信号を受けるレジスタが１つであることから、矩形波がローレベルからハイレベルに変化したことを検知することができない。そして、割り込み処理の禁止が解除されると、矩形波のハイレベルからローレベルへの変化が検知されるので、第１の事例より大きな遅れを伴って第１系統処理及び第２系統処理が実行され、矩形波のローレベル時間及び周期が更新される。その後、割り込みジョブに応答して、ＶＴＣ３８の電動モータ３８Ｂのデューティ比が演算される。従って、第１の事例と同様に、ローレベル時間及び周期の更新並びにデューティ比の演算が遅れをもって行われるものの、デューティ比の演算が問題なく行われるため、制御対象であるＶＴＣ３８への影響を軽減することができる。
【００３５】
第３の事例として、クランク角度センサ４６やカム角度センサ４８の出力信号を処理する割り込み処理によって、図９に示すように、矩形波の立ち下がりから次の立ち下がりまで、回転角度センサ５０の出力信号を処理する割り込み処理が禁止された場合を考察する。この場合、回転角度センサ５０の出力信号を受けるレジスタが１つであることから、矩形波がハイレベルからローレベルに変化したこと、矩形波がローレベルからハイレベルに変化したことを検知することができない。そして、割り込み処理の禁止が解除されると、矩形波のハイレベルからローレベルへの変化が検知されるので、第２の事例と同等な遅れを伴って第１系統処理及び第２系統処理が実行され、矩形波のローレベル時間及び周期が更新される。その後、割り込みジョブに応答して、ＶＴＣ３８の電動モータ３８Ｂのデューティ比が演算される。従って、第２の事例と同様に、制御対象であるＶＴＣ３８への影響を軽減することができる。
【００３６】
第４の事例として、クランク角度センサ４６やカム角度センサ４８の出力信号を処理する割り込み処理によって、図１０に示すように、矩形波の立ち上がりから次の立ち上がりまで、回転角度センサ５０の出力信号を処理する割り込み処理が禁止された場合を考察する。この場合、回転角度センサ５０の出力信号を受けるレジスタが１つであることから、矩形波がローレベルからハイレベルに変化したこと、矩形波がハイレベルからローレベルに変化したことを検知することができない。このため、周期Ｔ２について、矩形波のローレベル時間及び周期の更新抜けが生じると共に、割り込みジョブが発生しないことからデューティ比の演算抜けが生じてしまう。しかし、割り込み処理の禁止が解除されると、矩形波のローレベルからハイレベルへの変化が検知されるので、多少の遅れを伴って第１系統処理及び第２系統処理が実行され、周期Ｔ３について矩形波のローレベル時間及び周期が更新される。その後、割り込みジョブに応答して、ＶＴＣ３８の電動モータ３８Ｂのデューティ比が演算される。従って、デューティ比の演算抜けが生じた間には、それ以前に演算されたデューティ比がそのまま使用されるので、制御対象であるＶＴＣ３８への影響を軽減することができる。
【００３７】
但し、設計段階において、回転角度センサ５０から出力される矩形波の１周期以上に亘って割り込み処理が禁止されないようにマイクロコンピュータの能力などを選定するため、実際の動作ではこのような現象が生じることは極めて稀である。なお、これは、矩形波の立ち上がりから次の立ち上がりの直前まで、割り込み処理が禁止される場合についても同様である。
【００３８】
上記第１の事例〜第４の事例から理解できるように、割り込み処理の禁止期間の許容限界が広くなり、エンジン１０の低回転域から処理負荷が高い高回転域まで、制御対象たるＶＴＣ３８への影響を軽減することができる。また、エンジン１０の負荷状態などに応じて、負荷優先の１入力（第１の系統ＭＡＳ１又は第２の系統ＭＡＳ２の一方）、又は、精度優先の２入力（第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方）を切り替えることもできる。
【００３９】
上記実施形態においては、第１の系統ＭＡＳ１の出力信号の処理が第２の系統ＭＡＳ２の出力信号の処理より先に実行されることを前提としたが、何らかの原因によって、第２の系統ＭＡＳ２の出力信号の処理が先になってしまうことが考えられる。これに対処するためには、割り込みジョブに応答するとき、割り込み要求レジスタを参照し、これがセットされていればデューティ比の演算及び割り込み要求レジスタのリセットを行うようにすればよい。
【００４０】
電子制御装置４０のマイクロコンピュータは、次のような故障判定処理を併せて実行することで、回転角度センサ５０から電子制御装置４０への信号伝達経路、即ち、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２に断線や固着などの故障が発生しているか否かを判定することができる。なお、故障判定処理は、第１系統処理及び第２系統処理とは異なるタイミングで繰り返し発生する割り込み処理によって実行することができる。
【００４１】
図１１〜図１４は、電子制御装置４０が起動されたことを契機として、電子制御装置４０のマイクロコンピュータが実行する故障判定処理の一例を示している。
【００４２】
ステップ２１では、電子制御装置４０のマイクロコンピュータが、割り込みジョブが発生しているか否かを判定する。そして、電子制御装置４０のマイクロコンピュータは、割り込みジョブが発生していると判定すると、処理をステップ２２へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、割り込みジョブが発生していないと判定すると、処理をステップ３９へと進める（Ｎｏ）。
【００４３】
ステップ２２では、電子制御装置４０のマイクロコンピュータが、ＭＡＳ１レジスタを参照し、ローレベル時間が更新されているか否かを判定する。ここで、電子制御装置４０のマイクロコンピュータは、例えば、以前のローレベル時間を一時的に揮発性メモリに格納しておき、これとＭＡＳ１レジスタに格納されたローレベル時間とを比較することで、ローレベル時間が更新されているか否かを判定することができる。そして、電子制御装置４０のマイクロコンピュータは、ローレベル時間が更新されていると判定すれば、処理をステップ２４へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、ローレベル時間が更新されていないと判定すれば、処理をステップ２３へと進める（Ｎｏ）。
【００４４】
ステップ２３では、電子制御装置４０のマイクロコンピュータが、割り込み要求レジスタがセットされているか否かを判定する。そして、電子制御装置４０のマイクロコンピュータは、割り込み要求レジスタがセットされていると判定すれば、処理をステップ２４へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、割り込み要求レジスタがセットされていないと判定すれば、処理をステップ３５へと進める（Ｎｏ）。
【００４５】
ステップ２４では、電子制御装置４０のマイクロコンピュータが、ＭＡＳ２レジスタを参照し、ここに格納されている周期が正常範囲内であるか否かを判定する。ここで、正常範囲としては、例えば、回転角度センサ５０の出力信号が正常であれば、これから求められる周期の最大値と最小値とから画定される最大範囲とすることができる。そして、電子制御装置４０のマイクロコンピュータは、周期が正常範囲内であると判定すれば、処理をステップ２５へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、周期が正常範囲内でない、要するに、周期が正常範囲を逸脱していると判定すれば、処理をステップ３１へと進める（Ｎｏ）。
【００４６】
ステップ２５では、電子制御装置４０のマイクロコンピュータが、ＭＡＳ１レジスタを参照し、ここに格納されているローレベル時間が正常範囲内であるか否かを判定する。ここで、正常範囲としては、例えば、回転角度センサ５０の出力信号が正常であれば、これから求められるローレベル時間の最大値と最小値とから画定される最大範囲とすることができる。そして、電子制御装置４０のマイクロコンピュータは、ローレベル時間が正常範囲内であると判定すれば、処理をステップ２６へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、ローレベル時間が正常範囲内でない、要するに、ローレベル時間が正常範囲を逸脱していると判定すれば、処理をステップ２７へと進める（Ｎｏ）。
【００４７】
ステップ２６では、電子制御装置４０のマイクロコンピュータが、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２が正常であると判定し、故障判定処理を終了させる。
【００４８】
ステップ２７では、電子制御装置４０のマイクロコンピュータが、少なくとも第１の系統ＭＡＳ１が故障していると判定し、回転角度センサ５０の出力信号を第２の系統ＭＡＳ２のみで受け取るように切り替える。第２の系統ＭＡＳ２のみに切り替えた後には、電子制御装置４０のマイクロコンピュータは、第２の系統ＭＡＳ２において第１系統処理を併せて実行する。なお、第２の系統ＭＡＳ２のみへの切り替えは、論理的に行うことができる。
【００４９】
ステップ２８では、電子制御装置４０のマイクロコンピュータが、第２の系統ＭＡＳ２のみに切り替えた結果、ローレベル時間が正常範囲内であるか否かを判定する。そして、電子制御装置４０のマイクロコンピュータは、ローレベル時間が正常範囲内であると判定すれば、処理をステップ２９へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、ローレベル時間が正常範囲内でないと判定すれば、処理をステップ３０へと進める（Ｎｏ）。
【００５０】
ステップ２９では、電子制御装置４０のマイクロコンピュータが、第１の系統ＭＡＳ１に故障が発生していると判定する。この場合、電子制御装置４０のマイクロコンピュータは、インストルメントパネルのＭＩＬ（Malfunction Indicator Lamp）を点灯させたり、不揮発性メモリに第１の系統ＭＡＳ１の故障情報を格納したりすることができる（以下同様）。その後、電子制御装置４０のマイクロコンピュータは、故障判定処理を終了させる。なお、第２の系統ＭＡＳ２が正常であることから、ＶＴＣ３８の制御は支障なく継続することができる。
【００５１】
ステップ３０では、電子制御装置４０のマイクロコンピュータが、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方に故障が発生していると判定する。この場合、電子制御装置４０のマイクロコンピュータは、ＭＩＬを点灯させたり、不揮発性メモリに第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の故障情報を格納したりすることができる（以下同様）。また、電子制御装置４０のマイクロコンピュータは、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２に故障が発生してることから、ＶＴＣ３８の制御をフェイルセイフ制御に移行してもよい。その後、電子制御装置４０のマイクロコンピュータは、故障判定処理を終了させる。なお、ＶＴＣ３８の制御がフェイルセイフ制御に移行した後、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の故障が検知できなくなった場合、フェイルセイフ制御から復帰するようにしてもよい（以下同様）。
【００５２】
ステップ３１では、電子制御装置４０のマイクロコンピュータが、少なくとも第２の系統ＭＡＳ２が故障していると判定し、回転角度センサ５０の出力信号を第１の系統ＭＡＳ１のみで受け取るように切り替える。第１の系統ＭＡＳ１のみに切り替えた後には、電子制御装置４０のマイクロコンピュータは、第１の系統ＭＡＳ１において第２系統処理を併せて実行する。なお、第１の系統ＭＡＳ１のみへの切り替えは、論理的に行うことができる。
【００５３】
ステップ３２では、電子制御装置４０のマイクロコンピュータが、ＭＡＳ２レジスタを参照し、そこに格納されている周期が正常範囲内であるか否かを判定する。そして、電子制御装置４０のマイクロコンピュータは、周期が正常範囲内であると判定すれば、処理をステップ３３へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、周期が正常範囲内でないと判定すれば、処理をステップ３４へと進める（Ｎｏ）。
【００５４】
ステップ３３では、電子制御装置４０のマイクロコンピュータが、第２の系統ＭＡＳ２に故障が発生していると判定する。この場合、電子制御装置４０のマイクロコンピュータは、ＭＩＬを点灯させたり、不揮発性メモリに第２の系統ＭＡＳ２の故障情報を格納したりすることができる（以下同様）。その後、電子制御装置４０のマイクロコンピュータは、故障判定処理を終了させる。なお、第１の系統ＭＡＳ１が正常であることから、ＶＴＣ３８の制御は支障なく継続することができる。
【００５５】
ステップ３４では、電子制御装置４０のマイクロコンピュータが、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方に故障が発生していると判定する。また、電子制御装置４０のマイクロコンピュータは、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２に故障が発生してることから、ＶＴＣ３８の制御をフェイルセイフ制御に移行してもよい。その後、電子制御装置４０のマイクロコンピュータは、故障判定処理を終了させる。
【００５６】
ステップ３５では、電子制御装置４０のマイクロコンピュータが、第１の系統ＭＡＳ１に断線や固着などの故障が発生していると判定する。
【００５７】
ステップ３６では、電子制御装置４０のマイクロコンピュータが、ＭＡＳ１レジスタを参照し、そこに格納されているローレベル時間が正常範囲内であるか否かを判定する。そして、電子制御装置４０のマイクロコンピュータは、ローレベル時間が正常範囲内であると判定すれば、処理をステップ３７へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、ローレベル時間が正常範囲内でないと判定すれば、処理をステップ３８へと進める（Ｎｏ）。
【００５８】
ステップ３７では、電子制御装置４０のマイクロコンピュータが、第１の系統ＭＡＳ１に断線や固着などの故障が発生していると判定したため、回転角度センサ５０の出力信号を第２の系統ＭＡＳ２のみで受け取るように切り替える。第２の系統ＭＡＳ２のみに切り替えた後には、電子制御装置４０のマイクロコンピュータは、第２の系統ＭＡＳ２において第１系統処理を併せて実行する。その後、電子制御装置４０のマイクロコンピュータは、故障判定処理を終了させる。
【００５９】
ステップ３８では、電子制御装置４０のマイクロコンピュータが、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方に故障が発生していると判定する。また、電子制御装置４０のマイクロコンピュータは、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２に故障が発生してることから、ＶＴＣ３８の制御をフェイルセイフ制御に移行してもよい。その後、電子制御装置４０のマイクロコンピュータは、故障判定処理を終了させる。
【００６０】
ステップ３９では、電子制御装置４０のマイクロコンピュータが、ステップ２２と同様に、ローレベル時間が更新されているか否かを判定する。そして、電子制御装置４０のマイクロコンピュータは、ローレベル時間が更新されていると判定すれば、処理をステップ４１へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、ローレベル時間が更新されていないと判定すれば、処理をステップ４２へと進める（Ｎｏ）。
【００６１】
ステップ４０では、電子制御装置４０のマイクロコンピュータが、割り込み要求レジスタがセットされているか否かを判定する。そして、電子制御装置４０のマイクロコンピュータは、割り込み要求レジスタがセットされていると判定すれば、処理をステップ４１へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、割り込み要求レジスタがセットされていないと判定すれば、処理をステップ４５へと進める（Ｎｏ）。
【００６２】
ステップ４１では、電子制御装置４０のマイクロコンピュータが、第２の系統ＭＡＳ２に断線や固着などの故障が発生していると判定する。
【００６３】
ステップ４２では、電子制御装置４０のマイクロコンピュータが、ＭＡＳ１レジスタを参照し、そこに格納されているローレベル時間が正常範囲内であるか否かを判定する。そして、電子制御装置４０のマイクロコンピュータは、ローレベル時間が正常範囲内であると判定すれば、処理をステップ４３へと進める（Ｙｅｓ）。一方、電子制御装置４０のマイクロコンピュータは、ローレベル時間が正常範囲内でないと判定すれば、処理をステップ４４へと進める（Ｎｏ）。
【００６４】
ステップ４３では、電子制御装置４０のマイクロコンピュータが、第２の系統ＭＡＳ２に故障が発生しているので、回転角度センサ５０の出力信号を第１の系統ＭＡＳ１のみで受け取るように切り替える。第１の系統ＭＡＳ１のみに切り替えた後には、電子制御装置４０のマイクロコンピュータは、第１の系統ＭＡＳ１において第２系統処理を併せて実行する。なお、第１の系統ＭＡＳ１のみへの切り替えは、論理的に行うことができる。その後、電子制御装置４０のマイクロコンピュータは、故障判定処理を終了させる。
【００６５】
ステップ４４では、電子制御装置４０のマイクロコンピュータが、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方に故障が発生していると判定する。また、電子制御装置４０のマイクロコンピュータは、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２に故障が発生してることから、ＶＴＣ３８の制御をフェイルセイフ制御に移行してもよい。その後、電子制御装置４０のマイクロコンピュータは、故障判定処理を終了させる。
【００６６】
ステップ４６では、電子制御装置４０のマイクロコンピュータが、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方に断線や固着などの故障が発生していると判定する。また、電子制御装置４０のマイクロコンピュータは、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２に故障が発生してることから、ＶＴＣ３８の制御をフェイルセイフ制御に移行してもよい。その後、電子制御装置４０のマイクロコンピュータは、故障判定処理を終了させる。
【００６７】
かかる故障判定処理によれば、割り込みジョブが発生し、ローレベル時間が更新されるか割り込み要求レジスタがセットされ、周期が正常範囲内かつローレベル時間が正常範囲内であれば、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方が正常であると判定する。
【００６８】
割り込みジョブが発生し、ローレベル時間が更新されるか割り込み要求レジスタがセットされ、周期が正常範囲内、かつ、ローレベル時間が正常範囲外であれば、第２の系統ＭＡＳ２のみに切り替える。そして、第２の系統ＭＡＳ２のみに切り替えた結果、ローレベル時間が正常範囲内にあれば、第１の系統ＭＡＳ１が故障していると判定する。このとき、第２の系統ＭＡＳ２のみに切り替えても、ローレベル時間が正常範囲外であれば、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方が故障していると判定する。
【００６９】
割り込みジョブが発生し、ローレベル時間が更新されるか割り込み要求レジスタがセットされ、周期が正常範囲外であれば、第１の系統ＭＡＳ１のみに切り替える。そして、第１の系統ＭＡＳ１のみに切り替えた結果、周期が正常範囲内にあれば、第２の系統ＭＡＳ２が故障していると判定する。このとき、第１の系統ＭＡＳ１のみに切り替えても、周期が正常範囲外であれば、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方が故障していると判定する。
【００７０】
割り込みジョブが発生し、ローレベル時間が更新されず、かつ、割り込み要求レジスタがリセットされていれば、第１の系統ＭＡＳ１に断線や固着などの故障が発生していると判定する。そして、上記条件に加えて、ローレベル時間が正常範囲外であれば、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方が故障していると判定する。
【００７１】
割り込みジョブが発生せず、周期が正常範囲内、かつ、ローレベル時間が更新されるか割り込み要求レジスタがセットされていれば、第２の系統ＭＡＳ２に断線や固着などの故障が発生していると判定する。そして、上記条件に加えて、ローレベル時間が正常範囲外であれば、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方が故障していると判定する。
【００７２】
割り込みジョブが発生せず、ローレベル時間が更新されず、かつ、割り込みレジスタがリセットされていれば、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方に断線や固着などの故障が発生していると判定する。
【００７３】
要するに、電子制御装置４０のマイクロコンピュータは、割り込みジョブの発生の有無、割り込み要求レジスタの状態、ローレベル時間の更新の有無、ローレベル時間が正常範囲内であるか否か、及び、周期が正常範囲内であるか否かに応じて、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の故障を診断する。
【００７４】
そして、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の一方に故障が発生していると判定された場合、それらの他方のみを使用してＶＴＣ３８の制御を継続する。この場合、電子制御装置４０のマイクロコンピュータに余裕がなければ、機能を限定してＶＴＣ３８の制御を継続すればよい（以下同様）。また、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方に故障が発生していると判定された場合、ＶＴＣ３８を正常に制御できないことから、その制御をフェイルセイフ制御へと移行する。従って、第１の系統ＭＡＳ１及び第２の系統ＭＡＳ２の両方に故障が発生しない限り、ＶＴＣ３８の制御に対する影響を軽減することができる。
【００７５】
なお、当業者であれば、様々な上記実施形態の技術的思想について、その一部を省略したり、その一部を適宜組み合わせたり、その一部を置換したりすることで、新たな実施形態を生み出せることを容易に理解できるであろう。
【符号の説明】
【００７６】
４０  電子制御装置
５０  回転角度センサ
ＭＡＳ１  第１の系統
ＭＡＳ２  第２の系統
【図１】
2020153305.tif 000003
【図２】
2020153305.tif 000004
【図３】
2020153305.tif 000005
【図４】
2020153305.tif 000006
【図５】
2020153305.tif 000007
【図６】
2020153305.tif 000008
【図７】
2020153305.tif 000009
【図８】
2020153305.tif 000010
【図９】
2020153305.tif 000011
【図１０】
2020153305.tif 000012
【図１１】
2020153305.tif 000013
【図１２】
2020153305.tif 000014
【図１３】
2020153305.tif 000015
【図１４】
2020153305.tif 000016