(57)【特許請求の範囲】
【請求項１】
第１タイマ及び第２タイマを有するマイクロコンピュータを含む車両用電子制御装置であって、
前記第１タイマ及び前記第２タイマは、
基準クロックの入力数を計数するタイマカウンタと、外部からのパルス信号のエッジを検出するエッジ検出回路と、前記エッジの入力に応じてタイマカウンタの値をエッジ検出時刻の情報として取り込むキャプチャレジスタとを含み、
前記マイクロコンピュータは、
外部からの基準パルス信号を前記第１タイマのエッジ検出回路に入力させ、前記基準パルス信号のエッジ検出時刻の情報を前記第１タイマのキャプチャレジスタに格納させ、
定周期処理にて、前記第１タイマのキャプチャレジスタに格納されている前記基準パルス信号のエッジ検出時刻の情報を取り込んで前記基準パルス信号の周期を算出し、
算出した周期が所定範囲に含まれるときに前記第１タイマが正常であると判定し、
前記第１タイマが正常であると判定したとき、定周期処理にて前記第２タイマのタイマカウンタの値を取り込み、
取り込んだ前記第２タイマのタイマカウンタの値が、前記第２タイマのタイマカウンタの値の取り込みを実施した定周期処理の実行周期に応じて変化しているか否かに基づき、前記第２タイマの異常の有無を判定する、
車両用電子制御装置。
【請求項２】
請求項１記載の車両用電子制御装置であって、
前記マイクロコンピュータは、
前記第１タイマのキャプチャレジスタに格納された前記基準パルス信号のエッジ検出時刻の情報に基づき算出した前記基準パルス信号の周期が、前記所定範囲から外れるとき、前記第１タイマの異常を判定し、
前記第１タイマの異常を判定したとき、前記基準パルス信号を前記第２タイマのエッジ検出回路に入力させて、前記基準パルス信号のエッジ検出時刻の情報を前記第２タイマのキャプチャレジスタに格納させ、
定周期処理にて、前記第２タイマのキャプチャレジスタに格納されている前記基準パルス信号のエッジ検出時刻の情報を取り込んで前記基準パルス信号の周期を算出し、
算出した周期が前記所定範囲に含まれるときに前記第２タイマが正常であると判定し、
算出した周期が前記所定範囲から外れるときに前記第２タイマが異常であると判定する、
車両用電子制御装置。
【請求項３】
請求項２記載の車両用電子制御装置であって、
前記マイクロコンピュータは、
前記第２タイマによる前記基準パルス信号のエッジ検出時刻の情報に基づき、前記第２タイマの異常を判定したときに、制御出力を停止する、
車両用電子制御装置。
【請求項４】
車両用電子制御装置を構成するマイクロコンピュータが備えるタイマを診断するタイマ診断方法であって、
前記タイマは、第１タイマ及び第２タイマを含み、
前記第１タイマ及び前記第２タイマは、
基準クロックの入力数を計数するタイマカウンタと、外部からのパルス信号のエッジを検出するエッジ検出回路と、前記エッジの入力に応じてタイマカウンタの値をエッジ検出時刻の情報として取り込むキャプチャレジスタとを含み、
外部からの基準パルス信号を前記第１タイマのエッジ検出回路に入力させて、前記基準パルス信号のエッジ検出時刻の情報を前記第１タイマのキャプチャレジスタに格納させるステップと、
定周期処理にて、前記第１タイマのキャプチャレジスタに格納されている前記基準パルス信号のエッジ検出時刻の情報を取り込んで前記基準パルス信号の周期を算出するステップと、
算出した周期が所定範囲に含まれるときに前記第１タイマが正常であると判定するステップと、
前記第１タイマが正常であると判定したとき、定周期処理にて前記第２タイマのタイマカウンタの値を取り込むステップと、
取り込んだ前記第２タイマのタイマカウンタの値が、前記第２タイマのタイマカウンタの値の取り込みを実施した定周期処理の実行周期に応じて変化しているか否かに基づき、前記第２タイマの異常の有無を判定するステップと、
を含む、タイマ診断方法。
【請求項５】
請求項４記載のタイマ診断方法であって、
前記第１タイマのキャプチャレジスタに格納された前記基準パルス信号のエッジ検出時刻の情報に基づき算出した前記基準パルス信号の周期が、前記所定範囲から外れるとき、前記第１タイマの異常を判定するステップと、
前記第１タイマの異常を判定したとき、前記基準パルス信号を前記第２タイマのエッジ検出回路に入力させて、前記基準パルス信号のエッジ検出時刻の情報を前記第２タイマのキャプチャレジスタに格納させるステップと、
定周期処理にて、前記第２タイマのキャプチャレジスタに格納されている前記基準パルス信号のエッジ検出時刻の情報を取り込んで前記基準パルス信号の周期を算出するステップと、
算出した周期が前記所定範囲に含まれるときに前記第２タイマが正常であると判定するステップと、
算出した周期が前記所定範囲から外れるときに前記第２タイマが異常であると判定するステップと、
を更に含む、タイマ診断方法。
【請求項６】
請求項５記載のタイマ診断方法であって、
前記第２タイマによる前記基準パルス信号のエッジ検出時刻の情報に基づき、前記第２タイマの異常を判定したときに、制御出力を停止するステップ、
を更に含む、タイマ診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用電子制御装置及びタイマ診断方法に関し、詳しくは、複数のタイマを備えた車両用電子制御装置においてタイマの異常の有無を検出するための技術に関する。
【背景技術】
【０００２】
特許文献１には、マイコンの外部の監視回路に所定周期のパルス信号を発生するパルス信号発生源を設け、マイコン側で前記パルス信号の周期を計測し、計測された周期が所定範囲外となったときにタイマ機能の異常を診断する、車両用電子制御システムの故障検出装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−０８９３３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、外部から入力したパルス信号の周期計測を行う機能などを有する複数のタイマを備えたマイクロコンピュータを含む車両用電子制御装置において、外部から入力した基準パルス信号の周期計測を複数のタイマそれぞれで行わせ、係る周期計測値が基準パルス信号の設定周期に一致するか否かを検出することで、それぞれのタイマが正常であるか否かを検出することが可能である。
しかし、各タイマで基準パルス信号の周期計測を行わせるためには、マイクロコンピュータの複数の入力端子を、基準パルス信号を入力するために割り当てる必要が生じ、これによって、診断時には制御用として割り当てることができる入力端子が減り、車両の制御機能が損なわれる可能性があった。
【０００５】
本発明は上記問題点に鑑みなされたものであり、複数のタイマを有するマイクロコンピュータを含む車両用電子制御装置において、制御用として割り当てることができる入力端子（ハードウェア資源）がタイマ診断時に減ることを抑制しつつ、複数のタイマそれぞれについて異常の有無を診断できる、車両用電子制御装置及びタイマ診断方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そのため、本願発明に係る車両用電子制御装置は、第１タイマ及び第２タイマを有するマイクロコンピュータを含む車両用電子制御装置であって、前記第１タイマ及び前記第２タイマは、基準クロックの入力数を計数するタイマカウンタと、外部からのパルス信号のエッジを検出するエッジ検出回路と、前記エッジの入力に応じてタイマカウンタの値をエッジ検出時刻の情報として取り込むキャプチャレジスタとを含み、前記マイクロコンピュータは、外部からの基準パルス信号を前記第１タイマのエッジ検出回路に入力させ、前記基準パルス信号のエッジ検出時刻の情報を前記第１タイマのキャプチャレジスタに格納させ、定周期処理にて、前記第１タイマのキャプチャレジスタに格納されている前記基準パルス信号のエッジ検出時刻の情報を取り込んで前記基準パルス信号の周期を算出し、算出した周期が所定範囲に含まれるときに前記第１タイマが正常であると判定し、前記第１タイマが正常であると判定したとき、定周期処理にて前記第２タイマのタイマカウンタの値を取り込み、取り込んだ前記第２タイマのタイマカウンタの値が、前記第２タイマのタイマカウンタの値の取り込みを実施した定周期処理の実行周期に応じて変化しているか否かに基づき、前記第２タイマの異常の有無を判定する。
【０００７】
また、本願発明に係る車両用電子制御装置のタイマ診断方法は、車両用電子制御装置を構成するマイクロコンピュータが備えるタイマを診断するタイマ診断方法であって、前記タイマは、第１タイマ及び第２タイマを含み、前記第１タイマ及び前記第２タイマは、基準クロックの入力数を計数するタイマカウンタと、外部からのパルス信号のエッジを検出するエッジ検出回路と、前記エッジの入力に応じてタイマカウンタの値をエッジ検出時刻の情報として取り込むキャプチャレジスタとを含み、外部からの基準パルス信号を前記第１タイマのエッジ検出回路に入力させて、前記基準パルス信号のエッジ検出時刻の情報を前記第１タイマのキャプチャレジスタに格納させるステップと、定周期処理にて、前記第１タイマのキャプチャレジスタに格納されている前記基準パルス信号のエッジ検出時刻の情報を取り込んで前記基準パルス信号の周期を算出するステップと、算出した周期が所定範囲に含まれるときに前記第１タイマが正常であると判定するステップと、前記第１タイマが正常であると判定したとき、定周期処理にて前記第２タイマのタイマカウンタの値を取り込むステップと、取り込んだ前記第２タイマのタイマカウンタの値が、前記第２タイマのタイマカウンタの値の取り込みを実施した定周期処理の実行周期に応じて変化しているか否かに基づき、前記第２タイマの異常の有無を判定するステップと、を含む。
【発明の効果】
【０００８】
上記発明によると、制御用として割り当てることができる入力端子（ハードウェア資源）がタイマ診断時に減ることを抑制しつつ、複数のタイマそれぞれについて異常の有無を診断できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における車両用電子制御装置の構成ブロック図である。
【図２】本発明の実施形態におけるハードウェアタイマの構成ブロック図である。
【図３】本発明の実施形態におけるタイマ診断処理の概要を示すフローチャートである。
【図４】本発明の実施形態における第１タイマの診断処理を示すフローチャートである。
【図５】本発明の実施形態における第２タイマの診断処理を示すフローチャートである。
【図６】本発明の実施形態における時間周期ＴＩとタイマ割込み周期との相関を示す図である。
【図７】本発明の実施形態におけるタイマ異常発生時における時間周期ＴＩとタイマ割込み周期との相関を示す図である。
【図８】本発明の実施形態における第２タイマの診断処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に本発明の実施の形態を説明する。
図１は、本発明に係る車両用電子制御装置の一態様を示すブロック図である。
図１の車両用電子制御装置１００は、各種センサからの信号を入力し、車両に搭載されるエンジンなどの制御対象に操作量を出力する装置である。
【００１１】
車両用電子制御装置１００は、マイクロコンピュータ（主マイコン）２００と、監視回路３００とを含んで構成される。
マイクロコンピュータ２００は、ＣＰＵ，ＲＡＭ，ＲＯＭ，インターフェースなどを含んで構成され、更に、各種センサなどの外部機器から入力端子２１３Ａ−２１３Ｃに入力されるパルス信号の周期計測などに用いる複数のハードウェアタイマ２１０Ａ−２１０Ｃを内蔵する。
【００１２】
タイマ２１０Ａ−２１０Ｃは、その一態様として、図２に示すような回路構成のものであり、内部又は外部の基準クロックの入力数を計数するタイマカウンタ２１１、タイマカウンタ２１１のカウント周期を調整するためにクロックを分周する分周器２１２、マイクロコンピュータ２００の入力端子２１３Ａ−２１３Ｃに入力される外部からのパルス信号のエッジ（立ち上がり及び／又は立ち下がり）を検出するエッジ検出回路２１４、外部からのエッジ入力に応じてタイマカウンタ２１１の値を取り込むキャプチャレジスタ２１５などを含んで構成される。
【００１３】
マイクロコンピュータ２００の外部回路である監視回路（ウォッチドッグタイマ）３００は、マイクロコンピュータ２００の監視機能を有するマイクロコンピュータ（副マイコン）又はＩＣにより構成される。
監視回路３００は、マイクロコンピュータ２００がソフトウェア処理によって生成して出力するプログラムラン信号P-RUNを入力し、プログラムラン信号P-RUNが正常であるか否かをチェックし、プログラムラン信号P-RUNに異常が発生したときにマイクロコンピュータ２００にリセット信号を出力する機能を有する。
【００１４】
また、監視回路３００は、予め決められた周期の基準パルス信号ＳＰを発生するパルス信号発生源３１０を備え、このパルス信号発生源３１０が発生した基準パルス信号ＳＰをマイクロコンピュータ２００に出力する。
前記基準パルス信号ＳＰは、マイクロコンピュータ２００におけるタイマ機能の診断に用いられ、マイクロコンピュータ２００は、タイマ２１０Ａ−２１０Ｃの異常の有無を検出する機能（診断手段２２０）をソフトウェアとして備えている。
【００１５】
以下では、マイクロコンピュータ２００（診断手段２２０）によるタイマ機能の診断処理を詳細に説明する。
図３のフローチャートは、マイクロコンピュータ２００（診断手段２２０）によるタイマ機能の診断処理の手順を概略的に示す図である。
【００１６】
マイクロコンピュータ２００は、ステップＳ５００で、第１タイマ２１０Ａ（メインタイマ）の機能診断、つまり、第１タイマ２１０Ａが正常であるか異常であるかを判別する処理を行う。
第１タイマ２１０Ａの機能診断において、マイクロコンピュータ２００は、第１タイマ２１０Ａのエッジ検出回路に入力端子２１３Ａを経由して基準パルス信号ＳＰを入力させ、基準パルス信号ＳＰのエッジ検出時刻の情報をキャプチャレジスタに格納させる。
【００１７】
そして、マイクロコンピュータ２００は、図示しないインターバルタイマにより起動される定周期処理（タイマ割込み処理）にて、第１タイマ２１０Ａのキャプチャレジスタに格納されている基準パルス信号ＳＰのエッジ検出時刻の情報を取り込んで、基準パルス信号ＳＰの周期を算出し、係る第１タイマ２１０Ａによる周期計測値と所定範囲（正常範囲）とを比較する。
【００１８】
次いで、マイクロコンピュータ２００は、ステップＳ６００に進み、第１タイマ２１０Ａによる基準パルス信号ＳＰの周期計測値が所定範囲内であって第１タイマ２１０Ａの正常状態が検出されたか否かを判別する。
第１タイマ２１０Ａの正常状態であることを検出したとき、マイクロコンピュータ２００は、ステップＳ７００に進み、定周期処理にて第２タイマ２１０Ｂ及び第３タイマ２１０Ｃによる計測時刻を監視して、第２タイマ２１０Ｂ及び第３タイマ２１０Ｃの異常の有無を検出する。
【００１９】
つまり、マイクロコンピュータ２００は、第１タイマ２１０Ａの機能診断においては、第１タイマ２１０Ａで基準パルス信号ＳＰの周期計測を行わせるが、他のタイマ２１０Ｂ，２１０Ｃについては、基準パルス信号ＳＰの周期計測を行わせず（基準パルス信号ＳＰを入力させず）、定周期処理の実行周期が保証されているものとして、係る定周期処理の実行周期と他のタイマ２１０Ｂ，２１０Ｃによる計測時刻との相関に基づき、第２タイマ２１０Ｂ及び第３タイマ２１０Ｃの異常の有無をそれぞれに検出する。
【００２０】
第１タイマ２１０Ａによる基準パルス信号ＳＰの周期計測値が正常値を示したということは、第１タイマ２１０Ａの各構成回路（タイマカウンタ２１１、分周器２１２など）が正常であると共に基準クロックが正常であることになり、更に、定周期処理の実行周期は、監視回路３００によるプログラムラン信号P-RUNの監視で保証されることになり、定周期処理の実行周期は設定周期に一致しているものと見做すことができる。
したがって、定周期処理の実行周期毎の第２タイマ２１０Ｂ，第３タイマ２１０Ｃによる計測時刻が、定周期処理の実行周期に対応して変化しない場合は、基準クロックは正常であるものの、第２タイマ２１０Ｂ，第３タイマ２１０Ｃを構成する回路のいずれかに異常が発生していることになる。
【００２１】
一方、第１タイマ２１０Ａを用いた基準パルス信号ＳＰの周期計測値が所定範囲外であって第１タイマ２１０Ａの異常状態を検出したとき、マイクロコンピュータ２００は、ステップＳ８００に進み、第１タイマ２１０Ａの異常を検知したときの異常時処理を実施する。
前記異常時処理として、マイクロコンピュータ２００は、第１タイマ２１０Ａの異常状態を示すフラグを立てるなどして第１タイマ２１０Ａの異常状態を記憶保持する一方、第２タイマ２１０Ｂ及び第３タイマ２１０Ｃの機能診断を行うことができる。
【００２２】
具体的には、第２タイマ２１０Ｂ及び第３タイマ２１０Ｃの診断において、マイクロコンピュータ２００は、基準パルス信号ＳＰを第２タイマ２１０Ｂに入力させて基準パルス信号ＳＰの周期計測を行わせることで第２タイマ２１０Ｂの診断を行い、第２タイマ２１０Ｂによる周期計測値が所定範囲内である場合（第２タイマ２１０Ｂ及びクロックが正常である場合）、定周期処理にて第３タイマ２１０Ｃの計測時刻を監視して、第３タイマ２１０Ｃの異常の有無を検出する。
なお、定周期処理にて第２タイマ２１０Ｂ，第３タイマ２１０Ｃの計測時刻を監視して異常の有無を検出する診断処理については、後で詳細に説明する。
【００２３】
一方、マイクロコンピュータ２００は、第１タイマ２１０Ａに続き、第２タイマ２１０Ｂについても周期計測値に基づき異常を検出すると、クロックの異常状態である可能性があるので、制御動作（制御出力）の停止などのフェイルセーフ動作を実施することができる。
また、第１タイマ２１０Ａによる周期計測値が異常であったときの異常時処理として、マイクロコンピュータ２００は、第２タイマ２１０Ｂ，第３タイマ２１０Ｃの診断を行うことなく、制御動作（制御出力）の停止、制御対象へのフェイルセーフ信号の出力、制御対象の電源リレーのオフ操作などのフェイルセーフ動作を実施することができる。
【００２４】
更に、マイクロコンピュータ２００は、第１タイマ２１０Ａ及びクロックが正常であるときに、第２タイマ２１０Ｂ及び／又は第３タイマ２１０Ｃの異常を検出した場合は、異常検出したタイマ２１０Ｂ，２１０Ｃを使用する制御を禁止し、正常なタイマを用いた制御を継続させることができる。
【００２５】
ここで、ステップＳ５００におけるマイクロコンピュータ２００による第１タイマ２１０Ａの診断処理を詳細に説明する。
マイクロコンピュータ２００は、第１タイマ２１０Ａの機能診断を実施するときに、第１タイマ２１０Ａに基準パルス信号ＳＰを入力させる。これにより、第１タイマ２１０Ａは、基準パルス信号ＳＰのエッジ入力時に、タイマカウンタ２１１の値（エッジ検出時刻）をキャプチャレジスタ２１５に格納し、その後、タイマカウンタ２１１をクリアする。
【００２６】
一方、マイクロコンピュータ２００は、図４のフローチャートに示した定周期処理（タイマ割込み処理）で、第１タイマ２１０Ａの診断を実行する。なお、図４のフローチャートに示した定周期処理は、図示しないインターバルタイマによって一定時間間隔で起動される。
マイクロコンピュータ２００は、ステップＳ５３１で、第１タイマ２１０Ａのキャプチャレジスタ２１５に格納されているタイマカウンタ２１１の値（エッジ検出時刻）を取得する。
【００２７】
ここで、タイマカウンタ２１１は、基準パルス信号ＳＰのエッジ入力時にクリアされるから、クリア直前でのタイマカウンタ２１１の値は、前回のエッジ入力時から今回のエッジ入力時までの時間を表すことになる。換言すれば、第１タイマ２１０Ａのキャプチャレジスタ２１５に格納されているタイマカウンタ２１１の値は、基準パルス信号ＳＰの周期計測値ＴＳＰに相当することになる。
【００２８】
次いで、マイクロコンピュータ２００は、ステップＳ５３２に進み、第１タイマ２１０Ａを用いて計測された周期計測値ＴＳＰが所定範囲内の値であるか否かを判別する。
なお、前記所定範囲は、既知である基準パルス信号ＳＰの周期を含む範囲であって、分周設定などに因る計測ばらつきの許容範囲を規定する下限値ＴＭＩＮ（最小周期計測値）と上限値ＴＭＡＸ（最大周期計測値）とで挟まれる範囲である。
【００２９】
つまり、前記所定範囲は、第１タイマ２１０Ａ及び基準クロックが正常状態であるときに、基準パルス信号ＳＰの周期計測値ＴＳＰが含まれる範囲であって、第１タイマ２１０Ａ及び／又は基準クロックが異常状態になって周期計測値ＴＳＰが所定以上の誤差が発生したときに基準パルス信号ＳＰの周期計測値ＴＳＰが外れる範囲である。
そして、マイクロコンピュータ２００は、ステップＳ５３２で、ＴＭＩＮ≦ＴＳＰ≦ＴＭＡＸが成立しているか否かを判別する。
【００３０】
ＴＭＩＮ≦ＴＳＰ≦ＴＭＡＸが成立している場合、第１タイマ２１０Ａは、基準パルス信号ＳＰの周期を正しく計測したことになるので、マイクロコンピュータ２００は、ステップＳ５３３に進み、第１タイマ２１０Ａの異常状態の検出回数を計数するための異常検知カウンタＣＴを零にリセットし、次のステップＳ５３４では、第１タイマ２１０Ａの正常状態を判定する。
【００３１】
一方、ＴＭＩＮ＞ＴＳＰ又はＴＳＰ＞ＴＭＡＸが成立する場合、第１タイマ２１０Ａは、基準パルス信号ＳＰの周期を正しく計測できなかったことになるので、マイクロコンピュータ２００は、ステップＳ５３５に進み、異常検知カウンタＣＴの値をインクリメントし、次のステップＳ５３６では、異常検知カウンタＣＴの値が閾値以上であるか否かを判別する。
異常検知カウンタＣＴの値が閾値未満であるときは、マイクロコンピュータ２００は、ステップＳ５３４に進み、第１タイマ２１０Ａの正常判定を維持する。
【００３２】
一方、異常検知カウンタＣＴの値が閾値以上であるとき、マイクロコンピュータ２００は、周期計測値ＴＳＰの異常が第１タイマ２１０Ａ及び／又は基準クロックの異常に因って発生したものと見做し、ステップＳ５３７に進み、第１タイマ２１０Ａの異常状態を判定する。
ここで、閾値≧２とすれば、マイクロコンピュータ２００は、複数回連続して周期計測値ＴＳＰの異常を検知したときに第１タイマ２１０Ａの異常を判定することになり、ノイズなどに因る一時的な周期計測値ＴＳＰの異常を第１タイマ２１０Ａの異常として誤検出することを抑制できる。
【００３３】
但し、閾値＝１として、マイクロコンピュータ２００は、周期計測値ＴＳＰの異常を検知したときに直ちに第１タイマ２１０Ａの異常を判定することができる。
なお、図４のフローチャートに示した定周期処理の起動は、監視回路３００によるプログラムラン信号P-RUNの監視などによって保証される。
【００３４】
また、第１タイマ２１０Ａのタイマカウンタ２１１がフリーランカウンタである場合、マイクロコンピュータ２００は、基準パルス信号ＳＰのエッジ検出に基づく割込み処理（外部割込み処理）で、第１タイマ２１０Ａのキャプチャレジスタ２１５に格納されているタイマカウンタ２１１の値を取得し、前回の割込み処理で取得したタイマカウンタ２１１の値と、今回の割込み処理で取得したタイマカウンタ２１１の値との差として、基準パルス信号ＳＰの周期計測値を求め、係る周期計測値と所定範囲とを比較して第１タイマ２１０Ａの異常の有無を診断することができる。
【００３５】
次に、図４のフローチャートのステップＳ７００における第２タイマ２１０Ｂの異常診断の手順を、図５のフローチャートにしたがって説明する。
図５のフローチャートに示すルーチンは、インターバルタイマによって一定時間間隔で起動される定周期処理（タイマ割込み処理）である。
【００３６】
マイクロコンピュータ２００は、ステップＳ７１１で、本ルーチンの前回の実行時に読んだ第２タイマ２１０Ｂのタイマカウンタ２１１の値ＣＬ２Ｎ（第２タイマ２１０Ｂによる計測時刻）を前回値ＣＬ２Ｏにセットし、次のステップＳ７１２では、今回の割込み起動時点における第２タイマ２１０Ｂのタイマカウンタ２１１の値（第２タイマ２１０Ｂによる計測時刻）を読んで今回値ＣＬ２Ｎにセットする。
なお、マイクロコンピュータ２００は、割込み処理プログラムの中でタイマカウンタ２１１の値をソフトウェア処理によって読み出すことができ、また、例えば、定周期処理の割込み要求パルスに基づきタイマカウンタ２１１の値をレジスタに格納させることができる。
【００３７】
そして、次のステップＳ７１３で、マイクロコンピュータ２００は、今回値ＣＬ２Ｎと前回値ＣＬ２Ｏとの差分を求めて、時間周期ＴＩ２にセットする。
ここで、図５のフローチャートに示すルーチンは定周期処理であり、基準クロックが正常でしかも定周期処理の実行周期が監視回路３００によるプログラムラン信号P-RUNの監視で保証されているので、図５のフローチャートに示すルーチンの起動周期の正確性は保証される。つまり、図５のフローチャートに示すルーチンは、設定時間間隔で正確に割込み実行されているものと見なすことができる。
【００３８】
したがって、第２タイマ２１０Ｂが正常であれば、第２タイマ２１０Ｂを用いて計測した時間周期ＴＩ２は、本ルーチンの割込み周期の設定値に相当する値になり（図６参照）、第２タイマ２１０Ｂを用いて計測した時間周期ＴＩ２が、本ルーチンの割込み周期の設定値に相当する値から許容される誤差以上にずれている場合は、第２タイマ２１０Ｂに何らかの異常が発生し、計時誤差が発生していることになる。
そこで、マイクロコンピュータ２００は、次のステップＳ７１４で、第２タイマ２１０Ｂを用いて計測した時間周期ＴＩ２が所定範囲（第２の所定範囲）内であるか否かを判別する。
【００３９】
ステップＳ７１４における所定範囲とは、本ルーチンの割込み周期の設定値に相当する値を含み、分周設定などに因る計測ばらつきの許容範囲を規定する下限値ＴＩ２ＭＩＮ（最小時間周期）と上限値ＴＩ２ＭＡＸ（最大時間周期）とで挟まれる範囲である。
マイクロコンピュータ２００は、ステップＳ７１４において、ＴＩ２ＭＩＮ≦ＴＩ２≦ＴＩ２ＭＡＸが成立するか否かを判別する。換言すれば、マイクロコンピュータ２００は、ステップＳ７１４にて、時間周期ＴＩ２と本ルーチンの割込み周期の設定値との差分が許容値以下であるか否かを判別する。
【００４０】
ここで、ＴＩ２ＭＩＮ≦ＴＩ２≦ＴＩ２ＭＡＸが成立する場合、第２タイマ２１０Ｂは、図５のフローチャートに示すルーチンの割込み周期（起動周期）を正しく計測したことになるので、マイクロコンピュータ２００は、ステップＳ７１５に進み、第２タイマ２１０Ｂの異常状態の検出回数を計数するための異常検知カウンタＣＴ２を零にリセットし、次のステップＳ７１６では、第２タイマ２１０Ｂの正常状態を判定する。
【００４１】
一方、ＴＩ２ＭＩＮ＞ＴＩ２又はＴＩ２＞ＴＩ２ＭＡＸが成立する場合、第２タイマ２１０Ｂは、図５のフローチャートに示すルーチンの割込み周期（起動周期）を誤って計測したことになるので、マイクロコンピュータ２００は、ステップＳ７１７に進み、異常検知カウンタＣＴ２の値をインクリメントし、次のステップＳ７１８では、異常検知カウンタＣＴ２の値が閾値（閾値≧１）以上であるか否かを判別する。
【００４２】
異常検知カウンタＣＴ２の値が閾値未満であるときは、マイクロコンピュータ２００は、ステップＳ７１６に進み、第２タイマ２１０Ｂの正常判定を維持する。
一方、異常検知カウンタＣＴ２の値が閾値以上になったとき、マイクロコンピュータ２００は、ステップＳ７１９に進み、第２タイマ２１０Ｂの異常状態を判定する。
【００４３】
第２タイマ２１０Ｂの異常としては、分周器２１２による分周後のクロックの周期異常や、タイマカウンタ２１１のカウンタ動作の停止などがある。
そして、図７に示すように、分周後のクロックの周期が設定よりも短くなると時間周期ＴＩ２は割込み周期よりも長くなり、分周後のクロックの周期が設定よりも長くなると時間周期ＴＩ２は割込み周期よりも短くなり、更に、カウンタ動作が停止すると時間周期ＴＩ２≠０になって、いずれの場合もマイクロコンピュータ２００は、第２タイマ２１０Ｂの異常を判定することになる。
【００４４】
次に、図３のフローチャートのステップＳ７００における第３タイマ２１０Ｃの異常診断の手順を、図８のフローチャートにしたがって説明する。
図８のフローチャートに示すルーチンは、インターバルタイマによって一定時間間隔で起動される定周期処理（タイマ割込み処理）であり、図５のフローチャートに示した第２タイマ２１０Ｂの異常診断の手順と同様にして、第３タイマ２１０Ｃの異常診断を行う。
【００４５】
マイクロコンピュータ２００は、ステップＳ７５１で、本ルーチンの前回の実行時に読んだ第３タイマ２１０Ｃのタイマカウンタ２１１の値ＣＬ３Ｎ（第３タイマ２１０Ｃによる計測時刻）を前回値ＣＬ３Ｏにセットし、次のステップＳ７５２では、今回の割込み起動時点における第３タイマ２１０Ｃのタイマカウンタ２１１の値（第３タイマ２１０Ｃによる計測時刻）を読んで今回値ＣＬ３Ｎにセットする。
そして、次のステップＳ７５３で、マイクロコンピュータ２００は、今回値ＣＬ３Ｎと前回値ＣＬ３Ｏとの差分を、時間周期ＴＩ３にセットする。
【００４６】
ここで、図８のフローチャートに示すルーチンは定周期処理であり、クロックが正常でしかも定周期処理の実行周期が監視回路３００によるプログラムラン信号P-RUNの監視で保証されているので、図８のフローチャートに示すルーチンの起動周期の正確性は保証される。つまり、図８のフローチャートに示すルーチンは、設定時間間隔で正確に割込み実行されているものと見なすことができる。
【００４７】
したがって、第３タイマ２１０Ｃが正常であれば、第３タイマ２１０Ｃを用いて計測した時間周期ＴＩ３は、本ルーチンの割込み周期の設定値に相当する値になり、第３タイマ２１０Ｃを用いて計測した時間周期ＴＩ３が、本ルーチンの割込み周期の設定値に相当する値から許容される誤差以上にずれている場合は、第３タイマ２１０Ｃに何らかの異常が発生し、計時誤差が発生していることになる。
【００４８】
そこで、マイクロコンピュータ２００は、次のステップＳ７５４で、第３タイマ２１０Ｃを用いて計測した時間周期ＴＩ３が所定範囲内であるか否かを判別する。
ステップＳ７５４における所定範囲とは、本ルーチンの割込み周期の設定値に相当する値を含み、分周設定などに因る計測ばらつきの許容範囲を規定する下限値ＴＩ３ＭＩＮ（最小時間周期）と上限値ＴＩ３ＭＡＸ（最大時間周期）とで挟まれる範囲である。
【００４９】
マイクロコンピュータ２００は、ステップＳ７５４において、ＴＩ３ＭＩＮ≦ＴＩ３≦ＴＩ３ＭＡＸが成立するか否かを判別する。換言すれば、マイクロコンピュータ２００は、ステップＳ７５４にて、時間周期ＴＩ３と本ルーチンの割込み周期の設定値との差分が許容値以下であるか否かを判別する。
ここで、ＴＩ３ＭＩＮ≦ＴＩ３≦ＴＩ３ＭＡＸが成立する場合、第３タイマ２１０Ｃは、図８のフローチャートに示すルーチンの割込み周期（起動周期）を正しく計測したことになるので、マイクロコンピュータ２００は、ステップＳ７５５に進み、第３タイマ２１０Ｃの異常状態の検出回数を計数するための異常検知カウンタＣＴ３を零にリセットし、次のステップＳ７５６では、第３タイマ２１０Ｃの正常状態を判定する。
【００５０】
一方、ＴＩ３ＭＩＮ＞ＴＩ３又はＴＩ３＞ＴＩ３ＭＡＸが成立する場合、第３タイマ２１０Ｃは、図８のフローチャートに示すルーチンの割込み周期（起動周期）を誤って計測したことになるので、マイクロコンピュータ２００は、ステップＳ７５７に進み、異常検知カウンタＣＴ３の値をインクリメントし、次のステップＳ７５８では、異常検知カウンタＣＴ３の値が閾値（閾値≧１）以上であるか否かを判別する。
【００５１】
異常検知カウンタＣＴ３の値が閾値未満であるときは、マイクロコンピュータ２００は、ステップＳ７５６に進み、第３タイマ２１０Ｃの正常判定を維持する。
一方、異常検知カウンタＣＴ３の値が閾値以上になったとき、マイクロコンピュータ２００は、ステップＳ７５９に進み、第３タイマ２１０Ｃの異常状態を判定する。
【００５２】
上記で説明した第１タイマ２１０Ａ−第３タイマ２１０Ｃの診断において、基準パルス信号ＳＰを入力させて周期計測させるのは第１タイマ２１０Ａに限定され、他の第２タイマ２１０Ｂ及び第３タイマ２１０Ｃについては、基準パルス信号ＳＰの周期計測は行わず、診断中もセンサからのパルス信号の周期計測などを第２タイマ２１０Ｂ及び第３タイマ２１０Ｃで行わせることができる。
【００５３】
このため、タイマ２１０Ａ−２１０Ｃの診断中に制御用として割り当てることができる入力端子が減ることを抑制でき、診断中における制御性の低下を抑制できる。
また、各タイマ２１０Ａ−２１０Ｃの診断処理は、定周期処理（タイマ割込み）で実施されるから、診断処理に伴って外部割込み処理が発生してマイクロコンピュータ２００の処理負荷が増えることを抑制できる。
【００５４】
以上、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば種々の変形態様を採り得ることは自明である。
例えば、上記実施形態では、診断対象とするタイマが３個であるが、タイマの数は３個に限定されないことは明らかである。
【００５５】
また、診断対象とするタイマがｎ個（ｎ≧３）以上であるときに、基準パルス信号ＳＰの周期計測を行わせて診断するタイマの数を２個以上ｎ個未満とすることができる。
また、基準パルス信号ＳＰの周期計測を行わせて診断するタイマの数を２個以上とするときに、基準パルス信号ＳＰの周期計測に基づき異常を検出したタイマが複数になったときに、定周期処理で計測時刻を監視しての他のタイマの異常診断をキャンセルし、基準パルス信号ＳＰの周期計測に基づき異常を検出したタイマと正常を検出したタイマとがあるときに、定周期処理で計測時刻を監視しての他のタイマの異常診断を実施する構成とすることができる。
【００５６】
ここで、上述した実施形態から把握し得る技術的思想について、以下に記載する。
車両用電子制御装置は、その一態様として、複数のタイマを有するマイクロコンピュータを含む車両用電子制御装置であって、前記マイクロコンピュータは、外部から入力した基準パルス信号の周期を前記複数のタイマのうちの一部を用いて計測し、周期計測値が所定範囲内であるときに、定周期処理にて他のタイマによる計測時刻を監視して前記他のタイマの異常の有無を検出する診断手段を備える。
【００５７】
前記車両用電子制御装置の好ましい態様において、前記診断手段は、定周期処理において前記他のタイマによる計測時刻を取得し、取得した計測時刻から定周期処理の時間間隔を求め、前記時間間隔が第２の所定範囲内であるときに前記他のタイマの正常状態を検出し、前記時間間隔が前記第２の所定範囲外であるときに前記他のタイマの異常状態を検出する。
別の好ましい態様では、前記複数のタイマは、外部から前記マイクロコンピュータの入力端子に入力されるパルス信号のエッジを検出するエッジ検出回路を含むハードウェアタイマである。
【００５８】
また、車両用電子制御装置のタイマ診断方法は、車両用電子制御装置を構成する複数のタイマを備えたマイクロコンピュータにおいて、外部から入力した基準パルス信号の周期を前記複数のタイマのうちの一部を用いて計測するステップと、前記基準パルス信号の周期計測値が所定範囲内であるか否かを検出するステップと、前記基準パルス信号の周期計測値が所定範囲内であるときに、定周期処理にて他のタイマによる計測時刻を監視するステップと、前記計測時刻に基づき前記他のタイマの異常の有無を検出するステップと、を含む。
【００５９】
前記タイマ診断方法の好ましい態様において、前記計測時刻を監視するステップは、定周期処理で前記他のタイマによる計測時刻を取得するステップと、前記取得した計測時刻について定周期処理の時間間隔を求めるステップと、を含む。
別の好ましい態様では、前記他のタイマの異常の有無を検出するステップは、前記時間間隔と第２の所定範囲とを比較するステップと、前記時間間隔が前記第２の所定範囲内であるときに前記他のタイマの正常状態を検出するステップと、前記時間間隔が前記第２の所定範囲外であるときに前記他のタイマの異常状態を検出するステップと、を含む。
【符号の説明】
【００６０】
１００…車両用電子制御装置、２００…マイクロコンピュータ、２１０Ａ…第１タイマ、２１０Ｂ…第２タイマ、２１０Ｃ…第３タイマ、２１１…タイマカウンタ、２１２…分周器、２２０…診断手段、３００…監視回路、３１０…パルス信号発生源
【図１】
0006757182.tif 000002
【図２】
0006757182.tif 000003
【図３】
0006757182.tif 000004
【図４】
0006757182.tif 000005
【図５】
0006757182.tif 000006
【図６】
0006757182.tif 000007
【図７】
0006757182.tif 000008
【図８】
0006757182.tif 000009