(57)【特許請求の範囲】
【請求項１】
クロック信号を発信する発信器と、
前記クロック信号に応じてパルス信号を生成する信号生成器と、
前記パルス信号をアナログ電圧に変換する変換回路と、
前記アナログ電圧と所定の基準電圧とを比較し、比較結果に基づいて前記クロック信号の異常を診断する異常診断器と、
前記発信器、前記信号生成器、前記変換回路、及び前記異常診断器を制御し、１つのＣＰＵで構成されている制御部を備え、
前記制御部は、
前記所定の基準電圧を設定し、
前記クロック信号が異常であると診断した場合に、設定された前記基準電圧と前記比較結果に基づいて前記クロック信号の周波数を測定し、
前記クロック信号の異常時の周波数と正常時の周波数とのずれ量を演算し、
前記ずれ量が所定値より小さい場合には、異常を通知して車両の走行を続行するモードを選択し、
前記ずれ量が前記所定値以上である場合には、前記車両を停止させるモードを選択する異常診断装置。
【請求項２】
放電抵抗及び第１スイッチを有する放電回路を備え、
前記変換回路は、コンデンサ、及び、前記パルス信号の入力端子と前記コンデンサとの間に接続された第２スイッチを有し、
前記第１スイッチは、前記コンデンサと前記放電抵抗との間に接続されている
請求項１記載の異常診断装置。
【請求項３】
前記異常診断器は、前記比較結果が前記クロック信号の異常を示す場合に異常信号を送信し、前記異常信号をカウントし、カウントされた値に応じて前記クロック信号の異常を診断し、
前記制御部は、前記コンデンサが前記パルス信号により充電された状態で、診断許可信号の送信タイミングとスイッチング信号の送信タイミングとを同期させて、スイッチング信号を前記第１スイッチに出力し前記診断許可信号を前記異常診断器に出力し、
前記スイッチング信号は前記第２スイッチをオン状態にする信号であり、
前記診断許可信号は前記クロック信号の異常診断を許可する信号である
請求項２記載の異常診断装置。
【請求項４】
発信器、信号生成器、変換回路、及び異常診断器を制御し、１つのＣＰＵで構成されている制御部を含む異常診断装置により、クロック信号の異常を診断する異常診断方法であって、
前記発信器を用いてクロック信号を発信し、
前記信号生成器を用いて前記クロック信号に応じてパルス信号を生成し、
前記変換回路を用いて前記パルス信号をアナログ電圧に変換し、
前記アナログ電圧と所定の基準電圧とを比較し、
前記アナログ電圧が正常な範囲内にある場合には前記クロック信号は正常であると診断し、
前記アナログ電圧が正常な範囲外にある場合には前記クロック信号は異常であると診断し、
前記クロック信号が異常であると診断した場合に、設定された所定の基準電圧、及び、前記アナログ電圧と前記所定の基準電圧との比較結果に基づいて、前記クロック信号の周波数を測定し、
前記クロック信号の異常時の周波数と正常時の周波数とのずれ量を演算し、
前記ずれ量が所定値より小さい場合には、異常を通知して車両の走行を続行するモードを選択し、
前記ずれ量が前記所定値以上である場合には、前記車両を停止させるモードを選択する異常診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常診断装置及び異常診断方法に関するものである。
【背景技術】
【０００２】
従来より、複数の制御ユニットを多重通信ラインを介して接続してなる車両制御システムの異常監視装置が知られている（特許文献１）。この異常監視装置は、制御データとは関わらない送信回数のカウンタ値を通信データ内に挿入して第１の制御ユニットから第２の制御ユニットに送信する。第３の制御ユニットは、上記カウンタ値を監視し、カウンタ値が連続的に更新されないとき、第１の制御ユニットが異常であると判断する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１５６６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の異常監視装置は、異常診断のために使用されるＣＰＵの数が多いという問題があった。
【０００５】
本発明が解決しようとする課題は、ＣＰＵの数を削減できる異常診断装置、及び異常診断方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、発信器によりクロック信号を発信し、信号生成器によりクロック信号に応じてパルス信号を生成し、変換回路によりパルス信号をアナログ電圧に変換し、アナログ電圧と所定の基準電圧とを比較し、比較結果に基づいてクロック信号の異常を診断することによって上記課題を解決する。
【発明の効果】
【０００７】
本発明によれば、ＣＰＵの数を削減できるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態に係る異常診断装置のブロック図である
【図２Ａ】図２Ａは、図１の異常診断装置の制御フローを示すフローチャートである。
【図２Ｂ】図２Ｂは、図１の異常診断装置の制御フローを示すフローチャートである。
【図３Ａ】図３Ａは、クロック信号、アナログ電圧、スイッチ（ＳＷ１）、スイッチ（ＳＷ２）、診断許可信号、異常信号、異常カウンタの値、及び正常カウンタの値の各シーケンスをそれぞれ示したグラフである。
【図３Ｂ】図３Ｂは、クロック信号、アナログ電圧、スイッチ（ＳＷ１）、スイッチ（ＳＷ２）、診断許可信号、異常信号、異常カウンタの値、及び正常カウンタの値の各シーケンスをそれぞれ示したグラフである。
【図４Ａ】図４Ａは、クロック信号、アナログ電圧、スイッチ（ＳＷ１）、スイッチ（ＳＷ２）、診断許可信号の各シーケンスをそれぞれ示したグラフである。
【図４Ｂ】図４Ｂは、クロック信号、アナログ電圧、スイッチ（ＳＷ１）、スイッチ（ＳＷ２）、診断許可信号の各シーケンスをそれぞれ示したグラフである。
【発明を実施するための形態】
【０００９】
本発明の実施形態を図面に基づいて説明する。本実施形態に係る異常診断装置は、発信器を備えたシステムに設けられ、当該発信器の異常を診断する。例えば、車両の駆動システムは、発信器から発信されるクロック信号を用いて、制御信号を生成しつつ、制御対象となる機器に対して制御信号を送信する。発信器が何らかの原因で正常に動作しない場合には、各種機器の制御に影響を及ぼす可能性がある。そのため、異常診断装置がクロック信号の異常を診断することで、駆動システムの安全性を高めることができる。なお、以下の説明では、異常診断装置を駆動システムに適用した例を説明するが、異常診断装置は、車両の駆動システムに限らず、発信器を備えた他のシステムに適用されてもよい。
【００１０】
図１は、本実施形態に係る異常診断装置のブロック図である。図１に示すように、異常診断装置は、ＣＰＵ１０、発信器２０、信号生成器３０、変換回路４０、放電回路５０、及び異常診断器１００を備えている。
【００１１】
ＣＰＵ１０は、発信器の異常を診断するために演算処理を行う。ＣＰＵ１０は、異常診断装置の全体を制御する制御回路を有している。ＣＰＵ１０は、異常判定部１１、基準電圧設定部１２、及びタイミング設定部１３を有している。異常判定部１１は、異常診断器１００の診断結果から発信器２０の状態を判定する。基準電圧設定部１２は、可変電圧源１１１を制御することで、基準電圧（Ｖｍａｘ、Ｖｍｉｎ）を任意の値に設定する。
【００１２】
タイミング設定部１３は、コンデンサ４２を充電するタイミング、コンデンサ４２の電圧を測定するタイミング、コンデンサ４２を放電するタイミングをそれぞれ設定する。タイミング設定部１３は、スイッチ４１、５１に対して、オン、オフを切り替えるスイッチング信号を送信する。また、タイミング設定部１３は、エラーカウンタ１２０に対して、診断許可フラグを送信する。タイミング設定部１３は、スイッチ４１、５１及び異常診断器１００をそれぞれ制御する。
【００１３】
ＣＰＵ１０は、タイミング設定部１３によりスイッチ４１、５１及び異常診断器１００を制御しつつ、発信器２０のクロック信号の異常診断を行う。また、クロック信号に異常が発生している場合には、ＣＰＵ１０は、基準電圧設定部１２により基準電圧を設定し、クロック信号の周波数のずれ量を測定する。
【００１４】
発信器２０はクロック信号を発信する。発信器２０は、水晶振動子等を有している。信号生成器３０は、発信器２０からクロック信号を受信し、クロック信号に応じたパルス信号を生成する。パルス信号は、クロック信号と同じ信号でもよく、あるいは、クロック信号の周波数を整数倍した周波数の信号としてもよい。なお、信号生成器３０は、ＣＰＵ１０のポートに組み込まれてもよい。当該ポートはパルス波形を出力可能なポートである。信号生成器３０は、生成されたパルス信号を、抵抗Ｒ１を介して変換回路４０に出力する。
【００１５】
変換回路４０は、パルス信号の信号電圧をアナログ電圧に変換する。変換回路４０は、スイッチ４１とコンデンサ４２を有している。変換回路４０は、信号生成器３０と放電回路５０との間に接続されている。スイッチ４１は、変換回路４０の入力端子と出力端子とをつなぐ配線に、接続されている。コンデンサ４２の一端は、スイッチ４１と変換回路４０の出力端子との間の配線に接続されている。コンデンサ４２の他端はアースに接地されている。スイッチ４１がオン状態であり、かつ、スイッチ５１がオフ状態である場合には、パルス信号が充電用の抵抗Ｒ１を介してコンデンサ４２に入力されることで、コンデンサ４２が充電される。コンデンサの充電電圧がアナログ電圧になる。すなわち、アナログ電圧は、パルス信号のハイレベルの期間の長さと対応している。なお、アナログ電圧は、１パルスのハイレベル期間に限らず、複数のパルスのハイレベル期間の合計と対応してもよい。
【００１６】
放電回路５０は、コンデンサ４２に充電された電荷を放電する。放電回路５０は、スイッチ５１、放電抵抗５２、及び抵抗５３を有している。放電回路５０は、変換回路４０と異常診断器１００との間に接続されている。スイッチ５１は放電抵抗５２に直列に接続されている。スイッチ５１の一端は、放電回路５０の入力端子と出力端子とをつなぐ配線に接続されている。放電抵抗５２の一端はスイッチ５１に接続され、放電抵抗５２の他端はアースに接地されている。抵抗５３は、放電回路５０の入力端子と出力端子とをつなぐ配線に接続されている。スイッチ４１とスイッチ５１がオフ状態である場合には、コンデンサ４２の充電電圧が、抵抗５３を介して、放電回路５０から出力される。スイッチ４１がオフ状態で、スイッチ５１がオン状態になると、コンデンサ４２に充電された電荷が放電される。なお、コンデンサ４２と異常診断器１００の入力との間には、抵抗５３が接続されているため、コンデンサ４２の電圧と、異常診断器１００への入力電圧は異なっているが、説明を容易にするために、コンデンサ４２の充電電圧（Ｖｃ）を、異常診断器１００への入力電圧とする。すなわち、変換回路４０で変換されたアナログ電圧（Ｖｃ）は、コンデンサ４２の充電電圧であり、異常診断器１００への入力電圧である。
【００１７】
異常診断器１００は、変換回路４０に変換されたアナログ電圧と所定の基準電圧（Ｖｍаｘ、Ｖｍｉｎ）とを比較し、比較結果に基づいて発信器２０のクロック信号の異常を診断する。異常診断器１００は、電圧判定部１１０及びエラーカウンタ１２０を有している。
【００１８】
電圧判定部１１０は、アナログ電圧（Ｖ）が基準電圧（Ｖｍаｘ）より大きいか否かを比較し、比較結果に応じて信号を、エラーカウンタ１２０に出力する。また電圧判定部１１０は、アナログ電圧（Ｖ）が基準電圧（Ｖｍｉｎ）より小さいか否かを比較し、比較結果に応じて信号を、エラーカウンタ１２０に出力する。電圧判定部１１０は、可変電圧源１１１と比較器１１２、１１３を有している。可変電圧源１１１は、基準電圧設定部１２から送信される電圧指令値に基づき、２種類の電圧値を任意に変更可能な回路である。可変電圧源１１１は、定電圧回路等を有している。可変電圧源１１１は、２つの出力電圧のうち高い方の電圧を基準電圧（Ｖｍａｘ）として比較器１１２に出力する。また可変電圧源１１１は、２つの出力電圧のうち低い方の電圧を基準電圧（Ｖｍｉｎ）として比較器１１３に出力する。
【００１９】
比較器１１２は、電圧判定部１１０の入力電圧と基準電圧（Ｖｍаｘ）とを比較し、入力電圧が基準電圧（Ｖｍаｘ）以上である場合には、異常を示す異常信号（異常フラグ信号）をエラーカウンタ１２０に出力する。比較器１１２は、入力電圧が基準電圧（Ｖｍаｘ）未満である場合には、異常信号をエラーカウンタ１２０に出力しない。比較器１１３は、電圧判定部１１０の入力電圧と基準電圧（Ｖｍｉｎ）とを比較し、入力電圧が基準電圧（Ｖｍｉｎ）以下である場合には、異常を示す異常信号をエラーカウンタ１２０に出力する。比較器１１３は、入力電圧が基準電圧（Ｖｍｉｎ）より大きい場合には、異常信号をエラーカウンタ１２０に出力しない。
【００２０】
エラーカウンタ１２０は、異常信号をカウントする電子回路であって、カウントされた値に応じて、発信器２０のクロック信号の異常を診断する。エラーカウンタ１２０は、タイミング設定部１３から診断許可信号を受信したタイミングで、クロック信号の異常診断を実行し、診断結果を示す信号をＣＰＵ１０に出力する。診断許可信号は、異常診断器１００による診断を許可する旨を示す指令である。エラーカウンタ１２０は、受信部１２１、カウンタ１２２、及びフラグ生成部１２３を有している。
【００２１】
受信部１２１は、比較器１１２、１１３の出力信号を受信する。受信部１２１は、比較器１１２、１１３から出力された２つの出力信号のうち、少なくとも一方の信号が異常信号であるには、異常信号をカウンタ１２２に出力する。一方、２つの出力信号が異常信号ではない場合には、受信部１２１は、異常信号をカウンタ１２２に出力しない。すなわち、アナログ電圧（Ｖｃ）が正常電圧範囲内（Ｖｍｉｎ＜Ｖｃ＜Ｖｍаｘ）である場合には異常信号はカウンタ１２２に入力されず、アナログ電圧（Ｖｃ）が正常電圧範囲外（Ｖｍｉｎ≧Ｖｃ又はＶｍаｘ≦Ｖｃ）である場合には、異常信号がカウンタ１２２に入力される。
【００２２】
カウンタ１２２は、診断許可信号のフラグがオンの状態で、受信部１２１から異常信号を受信した場合には、異常カウンタ（ｂ）をインクリメントする（ｂ＝ｂ＋１）。一方、カウンタ１２２は、診断許可信号のフラグがオンの状態で、受信部１２１から異常信号を受信しない場合には、正常カウンタ（а）をインクリメントする（а＝а＋１）。
【００２３】
フラグ生成部１２３は、カウンタ１２２のカウンタ値を管理しており、カウンタ値に応じてフェールセーフモード信号（以下、ＦＳ信号とも称す）を、ＣＰＵ１０に出力する。ＦＳ信号は、クロック信号の異常発生を示す信号であって、ＣＰＵ１０に対して、駆動システムの安全制御を実行させるための信号である。
【００２４】
フラグ生成部１２３は、異常カウンタ（ｂ）が所定値以上の場合には、フラグをオンにしたＦＳ信号をＣＰＵ１０に出力する。フラグ生成部１２３は、正常カウンタ（а）が所定値以上の場合には、クロック信号が正常であると判定しつつ、正常カウンタ（а）及び異常カウンタ（ｂ）をそれぞれリセットする。
【００２５】
次に、ＣＰＵ１０によるスイッチング信号の送信タイミングと、ＣＰＵ１０による診断許可信号の送信タイミングについて、説明する。ＣＰＵ１０のタイミング設定部１３は、クロック信号と同期させつつ、コンデンサ４２を充電する充電期間、コンデンサ４２の電圧を測定する測定期間、コンデンサ４２を放電する放電期間に合わせて、スイッチ４１、５２のオン、オフを切り替えている。また、タイミング設定部１３は、クロック信号の異常診断機期間と、測定期間が対応するように、診断許可信号をエラーカウンタ１２０に出力する。充電期間の長さ、測定期間の長さ、及び放電期間の長さは、クロック信号の半周期の長さに設定されている。
【００２６】
タイミング設定部１３は、充電期間の開始のタイミングで、スイッチ４１をオンにしスイッチ５１をオフにするスイッチング信号を、スイッチ４１、５１に出力する。コンデンサ４２の充電が終わり、充電期間が経過すると、測定期間が開始する。充電期間中、診断許可信号のフラグはオフである。
【００２７】
タイミング設定部１３は、測定期間の開始のタイミングで、スイッチ４１をオフにしスイッチ５１をオフにするスイッチング信号（スイッチ４１をオンからオフに切り換えつつ、スイッチ５１のオフ状態を維持させるための信号）を、スイッチ４１、５１に出力する。また、タイミング設定部１３は、スイッチ４１をオフにしスイッチ５１をオフにするスイッチング信号の送信タイミングと、診断許可信号（フラグＯＮ）の送信タイミングとを同期させている。スイッチ４１、５１がオフ状態になると、電圧判定部１１０がコンデンサ４２の電圧を測定する。また、エラーカウンタ１２０は、診断許可信号のフラグがオンの時に、カウンタ１２２を動作させる。測定期間が経過すると、放電期間は開始する。
【００２８】
タイミング設定部１３は、放電期間の開始のタイミングで、スイッチ４１をオフにしスイッチ５１をオンにするスイッチング信号（スイッチ４１のオン状態を維持しつつ、スイッチ４２をオフからオンに切り換えるための信号）を、スイッチ４１、５１に出力する。また、タイミング設定部１３は、放電期間の開始のタイミングで、診断許可信号のフラグをオフにする。コンデンサ４２の放電が終わり、放電期間が経過した後に、充電期間が再び開始する。
【００２９】
すなわち、異常診断装置は、充電期間、測定期間、及び放電期間の順番で、コンデンサ４２の充電、電圧測定（異常診断）、及び放電を、繰り返し行っている。また、タイミング設定部１３は、クロック信号を用いて、スイッチ４１、５２のスイッチング動作と、診断許可信号のフラグの切り換えとを同期させている。
【００３０】
次に図２Ａ、図２Ｂを用いて、異常診断装置による異常診断方法を説明する。図２Ａ及び図２Ｂは異常診断方法のフローチャートである。異常診断装置は、最初に自己診断を実行し、自己診断が正常な場合に、クロック信号の異常診断を実行する。また、クロック信号に異常が生じていると判定した場合には、異常診断装置は、クロック信号の周波数を測定する。
【００３１】
ステップＳ１にて、ＣＰＵ１０は、初期診断として自己診断を実行する。ＣＰＵ１０は、例えば以下の方法で自己診断を行う。ＣＰＵ１０は、メインスイッチ（図示しない）のオン動作時のシーケンスを検知する。メインスイッチは、駆動システムのオン、オフを切り替えるスイッチであって、車室内に設けられている。シーケンスが立ち上がった場合には、ＣＰＵ１０は正常であると診断する。シーケンスが立ち上がらない場合には、ＣＰＵは初期診断に異常があると判定する。例えば、ＣＰＵ１０自体に異常が生じている場合、発信器２０が発信しない場合、又は、クロック信号のレベルが上限又は下限にはりついている場合には、異常が立ち上がりのシーケンスに表れる。なお、ＣＰＵ１０による自己診断の方法は、メインスイッチの動作時の立ち上がりシーケンスを用いる方法に限らず、他の方法であってもよい。
【００３２】
初期診断に異常がある場合には、制御フローはステップＳ２６に進む。初期診断に異常がない場合には、制御フローはステップＳ２に進み、クロック信号の異常診断フローが実行される。すなわち、クロック信号の異常診断フローは、初期診断の正常時のみに実行される。
【００３３】
ステップＳ２にて、信号生成器３０は発信器２０のクロック信号からパルス信号を生成し、パルス信号を出力する。ステップＳ３にて、タイミング設定部１３は、クロック信号と同期させつつ、スイッチ４１をオンにスイッチ５１をオフにするスイッチング信号をスイッチ４１、５２に出力する。スイッチング信号を送信するタイミングは、クロック信号の立ち上がりのタイミングである。
【００３４】
ステップＳ４にて、コンデンサ４２は、パルス信号の電圧により充電される。このとき、パルス信号の１パルスの時間分の電圧がコンデンサ４２に充電され、コンデンサ４２の充電電圧がアナログ電圧となる。
【００３５】
ステップＳ５にて、タイミング設定部１３は、クロック信号の立ち下がりのタイミングで、スイッチング信号及び診断許可信号を送信する。スイッチング信号は、スイッチ４１をオフ状態に、スイッチ５１をオフ状態にする信号であり、診断許可信号のフラグはオンになっている。
【００３６】
ステップＳ６にて、電圧判定部１１０は、アナログ電圧（Ｖｃ）と基準電圧（Ｖｍｉｎ、Ｖｍаｘ）とを比較し、アナログ電圧（Ｖｃ）が正常範囲内（Ｖｍｉｎ＜Ｖｃ＜Ｖｍаｘ）であるか否かを判定する。アナログ電圧（Ｖｃ）が正常範囲内（Ｖｍｉｎ＜Ｖｃ＜Ｖｍаｘ）である場合には、制御フローはステップＳ８に進む。
【００３７】
アナログ電圧（Ｖｃ）が正常範囲外である場合には、ステップＳ８にて、カウンタ１２２は受信部１２１から異常信号を受信しているか否かを判定する。
【００３８】
異常信号を受信していない場合には、ステップＳ９にて、カウンタ１２２は正常カウンタの値をインクリメントする。異常信号を受信した場合には、ステップＳ１０にて、カウンタ１２２は異常カウンタの値をインクリメントする。
【００３９】
ステップＳ１１にて、フラグ生成部１２３は、カウンタ１２２の正常カウンタの値（а）が所定値（５）以上であるか否かを判定する。正常カウンタの値（а）が５未満である場合には、制御フローはステップＳ１４に進む。
【００４０】
正常カウンタの値（а）が５以上である場合には、ステップＳ１２にて、フラグ生成部１２３は、正常状態が続いていると判定する。ステップＳ１３にて、フラグ生成部１２３は、カウンタ１２２のカウンタ値（а、ｂ）をリセットする。
【００４１】
正常カウンタの値（а）が５未満である場合には、ステップＳ１４にて、フラグ生成部１２３は、カウンタ１２２の異常カウンタの値（ｂ）が所定値（３）以上であるか否かを判定する。異常カウンタの値（ｂ）が３以上である場合には、制御フローはステップＳ１８に進む。
【００４２】
異常カウンタの値（ｂ）が所定値（３）未満である場合、又は、ステップＳ１３においてカウンタをリセットした後、ステップＳ１５にて、タイミング設定部１３は、クロック信号の立ち上がりのタイミングで、スイッチング信号及び診断許可信号を送信する。スイッチング信号は、スイッチ４１をオフ状態に、スイッチ５１をオン状態にする信号であり、診断許可信号のフラグはオフになっている。
【００４３】
ステップＳ１６にて、コンデンサ４２は放電される。ステップＳ１７にて、ＣＰＵ１０は、メインスイッチがオフ状態になっているか否か判定する。メインスイッチがオン状態になっている場合には、制御フローはステップＳ２に戻り、上記の制御フローが繰り返し実行される。一方、メインスイッチがオフ状態になっている場合には、制御フローは終了する。
【００４４】
ステップＳ１４に戻り、異常カウンタの値（ｂ）が所定値（３）以上である場合には、ステップＳ１８にて、フラグ生成部１２３は、クロック信号が異常な状態であると判定する。
【００４５】
図２Ｂに示すように、ステップＳ１９にて、フラグ生成部１２３はＦＳ信号を異常判定部１１に出力する。異常判定部１１は、ＦＳ信号の受信を確認することで、クロック信号は異常であると判定する。
【００４６】
ＣＰＵ１０は、異常判定部１１によりクロック信号は異常であると判定した場合には、以下の方法にて、クロック信号の周波数のずれ量を測定する。
【００４７】
ステップＳ２０にて、基準電圧設定部１２は、クロック信号の周波数を演算する。基準電圧設定部１２には、クロック信号の周波数と基準電圧（Ｖｍаｘ、Ｖｍｉｎ）との対応関係を示したテーブルを予め記憶している。そして、基準電圧設定部１２は、当該テーブルを参照しつつ、クロック信号の周波数を演算する。アナログ電圧（Ｖｃ）が基準電圧（Ｖｍаｘ）より高い場合と、アナログ電圧（Ｖｃ）が基準電圧（Ｖｍｉｎ）より低い場合で、周波数が異なるように、基準電圧設定部１２は、クロック信号の周波数を予測する。アナログ電圧（Ｖｃ）が基準電圧（Ｖｍаｘ）より高い場合には、周波数が前回演算した周波数より低くなるように、基準電圧設定部１２は周波数を演算し、また基準電圧（Ｖｍаｘ、Ｖｍｉｎ）が前回設定した基準電圧（Ｖｍаｘ、Ｖｍｉｎ）より高くなるように、基準電圧設定部１２は基準電圧（Ｖｍаｘ、Ｖｍｉｎ）を演算する。また、アナログ電圧（Ｖｃ）が基準電圧（Ｖｍｉｎ）より低い場合には、周波数が前回演算した周波数より低くなるように、基準電圧設定部１２は周波数を演算し、また基準電圧（Ｖｍаｘ、Ｖｍｉｎ）が前回設定した基準電圧（Ｖｍаｘ、Ｖｍｉｎ）より低くなるように、基準電圧設定部１２は基準電圧（Ｖｍаｘ、Ｖｍｉｎ）を演算する。
【００４８】
ステップＳ２１にて、基準電圧設定部１２は、演算された基準電圧（Ｖｍаｘ、Ｖｍｉｎ）の指令値を、可変電圧源１１１に出力する。可変電圧源１１１は、指令値の電圧になるように、基準電圧（Ｖｍаｘ、Ｖｍｉｎ）を設定する。
【００４９】
ステップＳ２２にて、電圧判定部１１０は、アナログ電圧（Ｖｃ）と基準電圧（Ｖｍｉｎ、Ｖｍаｘ）とを比較し、アナログ電圧（Ｖｃ）が設定された電圧範囲内（Ｖｍｉｎ＜Ｖｃ＜Ｖｍаｘ）であるか否かを判定する。アナログ電圧（Ｖｃ）が電圧範囲外である場合には、制御フローはステップＳ２０に戻る。このとき、エラーカウンタ１２０は、上記のようなカウンタ１２２を用いたカウントアップをすることなく、ＣＰＵ１０に対して判定信号を送信する。判定信号は、アナログ電圧（Ｖｃ）が電圧範囲内（Ｖｍｉｎ＜Ｖｃ＜Ｖｍаｘ）であるか、アナログ電圧（Ｖｃ）が基準電圧（Ｖｍаｘ）より高いか、アナログ電圧（Ｖｃ）が基準電圧（Ｖｍｉｎ）より低いかを示している。
【００５０】
ステップＳ２０に戻り、ステップＳ２０からステップＳ２２までの制御フローを繰り返すことで、基準電圧（Ｖｍаｘ、Ｖｍｉｎ）が段階的に変更され、クロック信号の異常時のアナログ電圧（Ｖｃ）が測定される。
【００５１】
アナログ電圧（Ｖｃ）が設定された電圧範囲内（Ｖｍｉｎ＜Ｖｃ＜Ｖｍаｘ）である場合には、ステップＳ２３にて、異常判定部１１は周波数のずれ量を測定する。異常時のアナログ電圧（Ｖｃ）の大きさは、クロック信号の周期と対応している。そのため、異常判定部１１は、異常時のアナログ電圧（Ｖｃ）の大きさから、異常時の周波数を演算する。すなわち、異常判定部１１は、異常時のアナログ電圧（Ｖｃ）が高いほど周波数が低くなるように、異常時の周波数を演算する。また、異常判定部１１は、異常時のアナログ電圧（Ｖｃ）が低いほど周波数が高くなるように、異常時の周波数を演算する。そして、異常判定部１１は、本来の正常時の周波数と演算された周波数との差分を演算することで、周波数のずれ量を測定する。なお、異常判定部１１は、基準電圧（Ｖｍｉｎ、Ｖｍаｘ）のずれ量から、周波数のずれ量を測定してもよい。
【００５２】
ステップＳ２４にて、異常判定部１１は、周波数のずれ量に応じて、フェールセーフの制御モード（以下、ＦＳモードとも称する）を選択する。例えば、ずれ量が所定値より小さい場合には、ＦＳモードは、警告灯を点灯しつつ車両の通常走行を続行するモードとなる。ずれ量が所定値より大きい場合には、ＦＳモードは、警告灯を点灯させた後に、車両を停止させるモードとなる。
【００５３】
ステップＳ２５にて、ＣＰＵ１０は、選択されたＦＳモードに応じて、フェールセーフ処理を実行し、制御フローが終了する。
【００５４】
ステップＳ１において、初期診断に異常がある場合には、ステップＳ２６にて、ＣＰＵは異常が生じていると判定する。ステップＳ２７にて、ＣＰＵ１０は、フェールセーフ処理を実行し、制御フローが終了する。
【００５５】
次に、図３Ａ及び図３Ｂを用いて、上記の制御フローと、クロック信号等のシーケンスとの関係を説明する。図３Ａ、図３Ｂは、クロック信号、アナログ電圧、スイッチ４１（ＳＷ１）、スイッチ５１（ＳＷ２）、診断許可信号、異常信号、異常カウンタの値、及び正常カウンタの値の各シーケンスをそれぞれ示したグラフである。図３Ａは、クロック信号が正常な場合のシーケンスである。図３Ｂは、時間ｔ５の時点で、一時的にクロック信号の異常が生じた場合のシーケンスである。
【００５６】
図３Ａに示すように、クロック信号が時間ｔ１で立ち上がると、ステップＳ３の制御フローが実行され、スイッチ４１がオン状態になり、スイッチ５１がオフ状態になる。時間ｔ１から時間ｔ２の間で、コンデンサ４２の充電により、アナログ電圧（Ｖｃ）が上昇する。
【００５７】
クロック信号が時間ｔ２で立ち下がると、ステップＳ５の制御フローが実行され、スイッチ４１がオフ状態になり、スイッチ５１はオフ状態を維持し、診断許可信号（フラグ：Ｏｎ）が送信される。時間ｔ１から時間ｔ２の間に、ステップＳ６からステップＳ１４までの制御フローが実行される。時間ｔ１から時間ｔ２の間で、アナログ電圧（Ｖｃ）は電圧範囲内（Ｖｍｉｎ＜Ｖｃ＜Ｖｍаｘ）であるため、正常カウンタのカウンタ値（а）が０から１になる。
【００５８】
クロック信号が時間ｔ３で立ち上がると、ステップＳ１５の制御フローが実行され、スイッチ４１はオフ状態を維持し、スイッチ５１はオン状態になり、診断許可信号（フラグ：Ｏｆｆ）が送信される。時間ｔ３から時間ｔ４の間で、コンデンサ４２の放電に伴い、アナログ電圧（Ｖｃ）が下降する。そして、時間ｔ４以降のシーケンスは、時間ｔ１から時間ｔ４までのシーケンスの繰り返しとなる。
【００５９】
図３Ｂに示すように、時間ｔ１から時間ｔ４までは、クロック信号が正常であるため、時間ｔ１から時間ｔ４までのシーケンスは、図３Ａに示す時間ｔ１から時間ｔ４までのシーケンスと同様である。
【００６０】
時間ｔ５の時点で立ち上がると、ステップＳ３の制御フローが実行され、スイッチ４１がオン状態になり、スイッチ５１がオフ状態になる。時間ｔ５から時間ｔ６の間で、コンデンサ４２の充電により、アナログ電圧（Ｖｃ）が上昇する。このとき、クロック信号が異常状態であるため、クロック信号のハイレベルの期間が、時間ｔ１から時間ｔ２までの期間と比較して長くなる。そのため、コンデンサ４２の充電期間が長くなり、アナログ電圧（Ｖｃ）の最大値は、時間ｔ２の時の電圧値と比較して高くなる。
【００６１】
クロック信号が時間ｔ６で立ち下がると、ステップＳ５の制御フローが実行される。そして、時間ｔ６から時間ｔ７の間に、ステップＳ６からステップＳ１４までの制御フローが実行される。時間ｔ６から時間ｔ７の間で、アナログ電圧（Ｖｃ）は電圧範囲内外（Ｖｃ＞Ｖｍаｘ）であるため、異常カウンタのカウンタ値（ｂ）が０から１になる。
【００６２】
時間ｔ８以降、一時的なクロック信号の異常が頻発して発生した場合には、異常カウンタのカウンタ値（ｂ）は、発生回数と対応するように、インクリメントされる。これにより、本実施形態に係る異常診断装置は、クロック信号の周波数のずれが微小な場合でも、クロック信号の異常を診断することができる。
【００６３】
次に、図４Ａ、図４Ｂを用いて、クロック信号の周波数の大きさと、基準電圧（Ｖｍｉｎ、Ｖｍаｘ）との関係を説明する。図４Ａは、クロック信号の周波数が低いときの、クロック信号、アナログ電圧、スイッチ４１（ＳＷ１）、スイッチ５１（ＳＷ２）、診断許可信号の各シーケンスをそれぞれ示したグラフである。図４Ｂは、クロック信号の周波数が高いときの、クロック信号、アナログ電圧、スイッチ４１（ＳＷ１）、スイッチ５１（ＳＷ２）、診断許可信号の各シーケンスをそれぞれ示したグラフである。図４Ａ、図４Ｂの時間ｔ１、ｔ２、ｔ３で実行される制御フローは、図３Ａ、図３Ｂの時間ｔ１、ｔ２、ｔ３で実行される制御フローと同様である。
【００６４】
図４Ａに示すように、クロック信号に異常が生じて、周波数が低くなると、コンデンサ４２の充電期間が長くなり、時間ｔ２のアナログ電圧（Ｖｃ）は大きくなる。一方、図４Ｂに示すように、クロック信号に異常が生じて、周波数が高くなると、コンデンサ４２の充電期間が短くなり、時間ｔ２のアナログ電圧（Ｖｃ）は小さくなる。そのため、基準電圧の範囲（Ｖｍｉｎ＜Ｖｃ＜Ｖｍаｘ）がアナログ電圧（Ｖｃ）を含むように、基準電圧（Ｖｍｉｎ、Ｖｍаｘ）を設定することで、基準電圧（Ｖｍｉｎ、Ｖｍаｘ）の大きさから、異常発生時のクロック信号の周波数を測定できる。
【００６５】
上記のように、本実施形態では、発信器２０によりクロック信号を発信し、信号生成器３０によりクロック信号に応じてパルス信号を生成し、変換回路４０によりパルス信号をアナログ電圧に変換し、アナログ電圧と所定の基準電圧とを比較し、比較結果に基づいてクロック信号の異常を診断する。これにより、多くのＣＰＵを用いることなく、クロック信号の異常を診断できる。
【００６６】
ところで、発信器２０の異常を検知する装置として、２つのＣＰＵを相互通信ラインで接続し、２つのＣＰＵの間でＰＲＵＮ信号の送受信を相互に繰り返すことで、発信器２０の異常を検知する装置（以下、異常検知装置と称す）が知られている。この装置では、各ＣＰＵ内のＰＵＲＮ信号の生成部でＰＲＵＮ信号を生成する。そのため、ＰＲＵＮ信号は、内部処理のタイミングによって予め決められた周波数のパルス波形となる。クロック信号の不発信、クロック信号のはりつき、周波数異常が発生した場合には、ＰＲＵＮ信号も同様な波形となる。一方のＣＰＵは、他方のＣＰＵからＰＲＵＮ信号を受信し、受信されたＰＲＵＮ信号の波形を診断することで、他方のＣＰＵ内の発信器の異常を診断する。このような診断を双方向で行い、ＰＲＵＮ信号の電圧張り付きや周波数をモニタすることでＣＰＵ又はクロック信号の異常を検知する。
【００６７】
上記のような異常検知装置では、少なくともＣＰＵを２つ必要とするため、ＣＰＵの配置スペースが広くなり、コストも高くなってしまう。一方、本実施形態に係る異常診断装置は、１つのＣＰＵでクロック信号の異常を診断することができるため、ＣＰＵの配置スペースを狭くでき、コストも抑制できる。
【００６８】
また上記のような異常検知装置では、ＰＲＵＮ信号が内部処理のタイミングで生成されており、ＰＲＵＮ信号の周期はクロック信号より長い。クロック信号の周波数ずれが微小な場合には、ＰＲＵＮ信号の周波数の変動量も小さくなる、そのため、周波数ずれによるクロック信号の異常を適切に検知できない。また、微小な周波数のずれを検知できるように、異常検知装置を設計した場合には、異常検知の閾値を厳しくする必要があり、かえって異常の検知制度が落ちてしまう。本実施形態に係る異常診断装置は、ＣＰＵ内で生成されたＰＲＵＮ信号を用いて、クロック信号の異常を診断するような構成とっていないため、微小な周波数のずれを、クロック信号の異常として診断することができる。
【００６９】
また本実施形態では、変換回路４０は、コンデンサ４２、及び、パルス信号の入力端子とコンデンサ４２との間に接続されたスイッチ４２（第２スイッチ）を有し、放電回路５０は、放電抵抗５２と、コンデンサ４２と放電抵抗５２との間に接続されたスイッチ５１（第１スイッチ）を有する。これにより、任意のパルス（クロック）数をアナログ電圧に変換できるため、アナログ電圧とパルス（クロック数）から、クロック信号の周波数を測定できる。
【００７０】
また本実施形態では、異常診断器１００は、比較器１１２、１１３による比較結果に応じて異常信号をカウントし、カウントされた値に応じてクロック信号の異常を診断する。また、ＣＰＵ１０は、コンデンサ４２がパルス信号により充電された状態で、診断許可信号の送信タイミングとスイッチング信号の送信タイミングとを同期させて、スイッチング信号をスイッチ４１に出力し、フラグをオンにした診断許可信号を異常診断器１００に出力する。これにより、ノイズによる誤って診断することを抑制できる。
【００７１】
また本実施形態では、ＣＰＵ１０は、基準電圧を任意の値に設定できるように、基準電圧設定部１２を有している。これにより、基準電圧を制御することで、診断対象となるクロック信号の周波数を任意に設定できる。
【００７２】
また本実施形態では、クロック信号が異常であると診断した場合に、設定された基準電圧と比較器１１２、１１３による比較結果に基づいてクロック信号の周波数を測定する。これにより、周波数の異常が生じた場合に、周波数の正常値からのずれ量を把握できる。
【符号の説明】
【００７３】
１０…ＣＰＵ（制御部）
１１…異常判定部
１２…基準電圧設定部
１３…タイミング設定部
２０…発信器
３０…信号生成器
４０…変換回路
４１…コンデンサ
４２…スイッチ
５０…放電回路
５１…スイッチ
５２…放電抵抗
５３…抵抗
１００…異常診断器
１１０…電圧判定部
１１１…可変電圧源
１１２…比較器
１１３…比較器
１２０…エラーカウンタ
１２１…受信部
１２２…カウンタ
１２３…フラグ生成部
【図１】
0006733349.tif 000002
【図２Ａ】
0006733349.tif 000003
【図２Ｂ】
0006733349.tif 000004
【図３Ａ】
0006733349.tif 000005
【図３Ｂ】
0006733349.tif 000006
【図４Ａ】
0006733349.tif 000007
【図４Ｂ】
0006733349.tif 000008