(57)【要約】【課題】自動的にクロックを監視する周波数自動監視回路、電子装置、周波数自動監視方法および周波数自動監視プログラムを提供する。【解決手段】本発明の周波数自動監視回路は、（１）検出期間にわたるエッジ検出を、サンプリング回数分だけ繰り返す。そして、サンプリング回数分だけ検出されたエッジ検出回数をサンプリング回数で平均する。また、前述の平均と設定値とに応じて求められるエッジ検出回数の最大値と最小値とを算出して記憶しておく。（２）次に、監視期間にわたるエッジ検出を行う。そして、検出されたエッジ検出回数が、上記（１）で算出されたエッジ検出回数の最大値と最小値との間の範囲に収まるか否かを検証し、（３）この検証結果が否定である場合に、クロックの周波数が異常であることを通知する。【選択図】        図１
2008158568.tif 000002
【特許請求の範囲】
【請求項１】
自装置の動作にかかるクロックの周波数を自動監視する周波数自動監視回路であって、
所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出部と、
前記周波数検出部により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該監視対象クロックの周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視部と
を有することを特徴とする周波数自動監視回路。
【請求項２】
前記周波数監視部は、前記周波数検出部によって前回に検出された前記監視対象クロックの第１の検出周波数と、該周波数検出部によって今回に検出された該監視対象クロックの第２の検出周波数との差分または比率が所定閾値を超えた場合にのみ、前記所定の契機が検出されたとして、前記所定時間にわたって前記監視対象クロックの周波数が該第２の検出周波数に基づく所定変動範囲に収まるか否かを監視することを特徴とする請求項１に記載の周波数自動監視回路。
【請求項３】
前記周波数監視部は、前記周波数検出部によって前回に検出された前記監視対象クロックの第１の検出周波数と、該周波数検出部によって今回に検出された該監視対象クロックの第２の検出周波数との差分または比率が所定範囲内である場合、前記所定時間にわたって前記監視対象クロックの周波数が該第１の検出周波数に基づく所定変動範囲に収まるか否かを継続して監視することを特徴とする請求項１または２に記載の周波数自動監視回路。
【請求項４】
前記周波数検出部は、該周波数検出部によって前記監視対象クロックの周波数が検出された後に前記所定の契機が検出された場合に、該監視対象クロックの検出周波数の再検出を行うか否かの再検出設定に応じて該監視対象クロックの検出周波数の検出を行うまたは行わないことを特徴とする請求項１〜３のいずれか一つに記載の周波数自動監視回路。
【請求項５】
前記所定時間と、前記所定回数と、前記所定変動範囲と、前記所定閾値と、前記再検出設定とを書き換え可能に記憶する記憶部をさらに有し、
前記記憶部に記憶される前記所定時間と、前記所定回数と、前記所定変動範囲と、前記所定閾値と、前記再検出設定とが、前記周波数検出部による前記監視対象クロックの検出周波数の検出中または前記周波数監視部による前記監視対象クロックの周波数の監視中であっても、外部からの指示によって書き換え可能であることを特徴とする請求項４に記載の周波数自動監視回路。
【請求項６】
自装置の動作にかかるクロックの周波数を自動監視する電子装置であって、
所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出手段と、
前記周波数検出手段により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視手段と
を有することを特徴とする電子装置。
【請求項７】
自装置の動作にかかるクロックの周波数を自動監視する周波数自動監視方法であって、
所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出工程と、
前記周波数検出工程により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視工程と
を含んだことを特徴とする周波数自動監視方法。
【請求項８】
自装置の動作にかかるクロックの周波数を自動監視する周波数自動監視手順を制御装置に実行させる周波数自動監視プログラムであって、
所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出手順と、
前記周波数検出手順により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視手順と
を前記制御装置に実行させることを特徴とする周波数自動監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自装置の動作にかかるクロックの周波数を監視する周波数自動監視回路、電子装置、周波数自動監視方法および周波数自動監視プログラムに関し、特に、自装置の性能向上のために該クロックの周波数が引き上げられたとき、あるいはクロック監視開始後にクロックを異常と判定するための閾値の変更を行いたいとき、クロック異常検出のための構成を変更する必要がない周波数自動監視回路、電子装置、周波数自動監視方法および周波数自動監視プログラムに関する。
【背景技術】
【０００２】
近年の電子機器は、デバイス種別に応じて、多様なクロックに基づいて稼働する。このクロックの監視は、電子機器の稼働の信頼性、可用性、保守性を維持するＲＡＳ（Reliability、Availability、Serviceability）機能としてより重要性を増してきている。
【０００３】
例えば、特許文献１には、監視対象のクロックの周波数が、あらかじめ定められた範囲内に収まるか否かを判定するクロック異常検出器が開示されている。このクロック異常検出器によれば、クロック異常を早期に検出することが可能となる。
【０００４】
また、特許文献２には、外部クロックに従属同期する内部クロックの周波数異常を検出するために、外部クロックと内部クロックとの位相差を検出した検出回数があらかじめ定められた所定値以上となった場合に異常として通知する外部クロック異常検出回路が開示されている。
【０００５】
【特許文献１】特開平４−３０６９３０号公報
【特許文献２】特開平４−２３３３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１および２に代表される従来技術では、監視対象のクロックが外部から供給されるものである場合で、電子機器の性能向上のために該クロックの周波数が引き上げられたとき、自装置の構成に変更がなくてもクロック異常検出のための構成を変更しなければならなかった。
【０００７】
また、クロックを異常と判定するための閾値があらかじめ固定で設定されているために、クロック監視開始後に該閾値の変更を行いたい場合も、同様に、クロック異常検出のための構成を変更しなければならなかった。
【０００８】
本発明は、上記問題点（課題）を解消するためになされたものであって、監視対象のクロックが外部から供給されるものである場合で、電子機器の性能向上のために該クロックの周波数が引き上げられたとき、あるいはクロック監視開始後にクロックを異常と判定するための閾値の変更を行いたいとき、クロック異常検出のための構成を変更することなく、自動的にクロックを監視する周波数自動監視回路、電子装置、周波数自動監視方法および周波数自動監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した問題を解決し、目的を達成するため、本発明は、自装置の動作にかかるクロックの周波数を自動監視する周波数自動監視回路であって、所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出部と、前記周波数検出部により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該監視対象クロックの周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視部とを有することを特徴とする。
【００１０】
また、本発明は、上記発明において、前記周波数監視部は、前記周波数検出部によって前回に検出された前記監視対象クロックの第１の検出周波数と、該周波数検出部によって今回に検出された該監視対象クロックの第２の検出周波数との差分または比率が所定閾値を超えた場合にのみ、前記所定の契機が検出されたとして、前記所定時間にわたって前記監視対象クロックの周波数が該第２の検出周波数に基づく所定変動範囲に収まるか否かを監視することを特徴とする。
【００１１】
また、本発明は、上記発明において、前記周波数監視部は、前記周波数検出部によって前回に検出された前記監視対象クロックの第１の検出周波数と、該周波数検出部によって今回に検出された該監視対象クロックの第２の検出周波数との差分または比率が所定範囲内である場合、前記所定時間にわたって前記監視対象クロックの周波数が該第１の検出周波数に基づく所定変動範囲に収まるか否かを継続して監視することを特徴とする。
【００１２】
また、本発明は、上記発明において、前記周波数検出部は、該周波数検出部によって前記監視対象クロックの周波数が検出された後に前記所定の契機が検出された場合に、該監視対象クロックの検出周波数の再検出を行うか否かの再検出設定に応じて該監視対象クロックの検出周波数の検出を行うまたは行わないことを特徴とする。
【００１３】
また、本発明は、上記発明において、前記所定時間と、前記所定回数と、前記所定変動範囲と、前記所定閾値と、前記再検出設定とを書き換え可能に記憶する記憶部をさらに有し、前記記憶部に記憶される前記所定時間と、前記所定回数と、前記所定変動範囲と、前記所定閾値と、前記再検出設定とが、前記周波数検出部による前記監視対象クロックの検出周波数の検出中または前記周波数監視部による前記監視対象クロックの周波数の監視中であっても、外部からの指示によって書き換え可能であることを特徴とする。
【００１４】
また、本発明は、自装置の動作にかかるクロックの周波数を自動監視する電子装置であって、所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出手段と、前記周波数検出手段により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視手段とを有することを特徴とする。
【００１５】
また、本発明は、自装置の動作にかかるクロックの周波数を自動監視する周波数自動監視方法であって、所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出工程と、前記周波数検出工程により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視工程とを含んだことを特徴とする。
【００１６】
また、本発明は、上記発明において、自装置の動作にかかるクロックの周波数を自動監視する周波数自動監視手順を制御装置に実行させる周波数自動監視プログラムであって、所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出手順と、前記周波数検出手順により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視手順とを前記制御装置に実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、監視対象クロックの検出周波数が検出されると、所定時間にわたって該周波数が検出周波数に基づく所定変動範囲に収まるか否かを監視するので、検出周波数に追随してきまる所定変動範囲を定めて、監視対象のクロックの周波数を自動監視することが可能になるという効果を奏する。
【００１８】
また、本発明によれば、前回の検出周波数と今回の検出周波数との差分または比率が所定閾値を超えた場合にのみ、所定の契機が検出されたとして、所定時間にわたって監視対象クロックの周波数が今回の検出周波数に基づく所定変動範囲に収まるか否かを監視するので、検出周波数の変化を自動的に検出し、変化した検出周波数に基づいて監視対象のクロックの周波数を自動監視することが可能になるという効果を奏する。
【００１９】
また、本発明によれば、前回の検出周波数と今回の検出周波数との差分または比率が所定範囲内である場合、所定時間にわたって監視対象クロックの周波数が前回の検出周波数に基づく所定変動範囲に収まるか否かを監視するので、検出周波数の変化がなかったと判定される場合には、該所定範囲を変更することがないので、一貫した基準に基づいて監視対象のクロックの周波数を自動監視することが可能になるという効果を奏する。
【００２０】
また、本発明によれば、周波数検出部によって監視対象クロックの周波数が検出された後に所定の契機が検出された場合に、該監視対象クロックの検出周波数の再検出を行うか否かの再検出設定に応じて該監視対象クロックの検出周波数の検出を行うまたは行わないので、設定によって該所定範囲をいたずらに変更することがなく、一貫した基準に基づいて監視対象のクロックの周波数を自動監視することが可能になるという効果を奏する。
【００２１】
また、本発明によれば、記憶部に記憶される所定時間と、所定回数と、所定変動範囲と、所定閾値と、再検出設定とが、周波数検出部による監視対象クロックの検出周波数の検出中または周波数監視部による監視対象クロックの周波数の監視中であっても、外部からの指示によって書き換え可能であるので、自動監視中に自由に設定変更して運用の柔軟性を高めることが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照し、本発明の周波数自動監視回路、電子装置、周波数自動監視方法および周波数自動監視プログラムにかかる実施例を詳細に説明する。なお、以下の実施例に示す周波数自動監視回路、周波数自動監視方法および周波数自動監視プログラムは、クロック動作する制御回路を備えた電子機器に広く適用して実装可能である。また、周波数自動監視回路、周波数自動監視方法および周波数自動監視プログラムは、クロック監視対象の電子機器に接続または内蔵される周波数自動監視装置に実装されてもよい。
【００２３】
実施例の説明に先立ち、本発明の概要と特徴を説明する。図１は、本発明の概要と特徴を説明するための説明図である。基準となるクロックである基準クロックに基づいて生成される監視期間クロックのパルスの立ち上がりから立ち下がりまで、もしくはパルスの立ち下がりから立ち上がりまでを、１つの監視期間（または検出期間）とよぶ。監視期間とは、監視対象クロックのパルスの立ち上がり（エッジ）の回数を監視する期間であり、検出期間とは、監視対象クロックのパルスの立ち上がり回数（エッジ検出回数）を検出する期間である。監視期間および検出期間の時間の長さは一致する。具体的には、検出期間に検出されたパルスの立ち上がり回数をもとに、監視期間において検出されるパルスの立ち上がり回数を監視する。
【００２４】
なお、以下の実施例では、所定時間当たりのエッジ数（パルスの立ち上がり回数）が所定範囲内に収まるか否かを監視するとするが、検出期間を単位時間とした場合は、周波数に一致する。すなわち、所定時間当たりのエッジ数は周波数と等価である。
【００２５】
図１に示すように、（１）先ず、検出期間にわたるエッジ検出を、サンプリング回数分だけ繰り返す。そして、サンプリング回数分だけ検出されたエッジ検出回数をサンプリング回数で平均する。また、前述の平均と設定値とに応じて求められるエッジ検出回数の最大値と最小値とを算出して記憶しておく。
【００２６】
（２）次に、監視期間にわたるエッジ検出を行う。そして、検出されたエッジ検出回数が、上記（１）で算出されたエッジ検出回数の最大値と最小値との間の範囲に収まるか否かを検証し、（３）この検証結果が否定である場合に、クロックの周波数が異常であることを通知する。
【００２７】
このように、本発明は、自動で検出した監視対象クロックの検出期間内のエッジ検出回数をもとに正常と見なしうるエッジ検出回数の範囲を定め、この範囲に従って、監視対象クロックの監視期間内のエッジ検出回数が正常と見なしうるか否かを検証することによって、監視対象クロックの周波数変更が行われたとしても、自動的に追従するので、なんらクロック監視回路の構成や設定を変更することなく、継続して監視対象のクロックを監視することが可能となる。
【実施例】
【００２８】
以下に図２〜図８を参照して、本発明にかかる実施例を説明する。先ず、実施例にかかる周波数自動監視回路の構成について説明する。図２は、実施例にかかる周波数自動監視回路の構成を示す機能ブロック図である。同図に示すように、周波数自動監視回路１００は、監視周期信号生成部１０１と、パルスの反転を行うトグル部１０２と、周波数異常検出部１０３と、レジスタである記憶部１０４と、エッジ検出部１０５と、自動周波数検出部１０６とを有する。
【００２９】
監視周期信号生成部１０１は、記憶部１０４から“監視時間設定”を読み出し、トグル部１０２とともに基準クロックに基づき監視期間を定める監視周期信号を生成する。この監視周期信号は、周波数異常検出部１０３および自動周波数検出部１０６へと受け渡される。
【００３０】
エッジ検出部１０５は、基準クロックおよび監視対象クロックに基づき、監視対象クロックのエッジパルスの生成を開始する。この監視対象クロックのエッジパルスは、周波数異常検出部１０３および自動周波数検出部１０６へと受け渡される。
【００３１】
自動周波数検出部１０６は、まず、記憶部１０４の“検出時間内検出回数”に記憶される値と、記憶部１０４の“監視時間内検出回数”に記憶される値との比率を算出し、その比率が記憶部１０４の“エンハンス検出閾値（百分率）”以上である場合に、監視対象クロックのエンハンス（クロックアップ）があったと判定し、継続して以下の処理を行う。前述の比率が記憶部１０４の“エンハンス検出閾値（百分率）”未満である場合には、監視対象クロックのエンハンスはなかったと判定し、以下の処理はすべてキャンセルする。
【００３２】
このように、記憶部１０４の“検出時間内検出回数”に記憶される値と、記憶部１０４の“監視時間内検出回数”に記憶される値との比率が記憶部１０４のエンハンス検出閾値（百分率）以上である場合に、監視対象クロックのエンハンス（クロックアップ）があったと判定することによって、エンハンスを自動検出し、これに対応して自動的に検出時間内検出回数を更新し、周波数自動監視を継続することが可能となる。
【００３３】
例えば、“エンハンス検出閾値（百分率）”が“200％”であって、“検出時間内検出回数”が“200”、“監視時間内検出回数”が“400”である場合、“監視時間内検出回数”／“検出時間内検出回数”×100＝200％であり、“エンハンス検出閾値（百分率）”以上となるので、エンハンスがあったと見なすこととする。
【００３４】
なお、エンハンスを自動検出することとせず、周波数自動監視回路１００は、外部からの指示に基づいて、エンハンスを認識することとしてもよい。この場合は、記憶部１０４の“エンハンス検出閾値”の項目は、省略可能である。
【００３５】
続いて、自動周波数検出部１０６は、記憶部１０４の“自動検出有無設定”の記憶内容に従い、自動周波数検出を行うか否かの判定を行う。自動周波数検出を行う場合は、記憶部１０４の“監視時間設定”に記憶されている監視時間内に検出したエッジパルス信号の立ち上がりの検出回数を計数し、この計数を、記憶部１０４のサンプリング回数に記憶されている回数分だけ行う。そして、エッジパルス信号の立ち上がりの検出回数をサンプリング回数で平均化し、これを監視単位時間当たりのエッジ検出回数（周波数に相当する）として、記憶部１０４の“検出時間内検出回数ワークエリア”に記憶させる。
【００３６】
続いて、自動周波数検出部１０６は、記憶部１０４の“検出時間内検出回数ワークエリア”に記憶される値と、記憶部１０４の“検出時間内検出回数”に記憶される値との比率を算出し、その比率が記憶部１０４の“検出時間内検出回数誤差範囲最小設定（百分率）”と“検出時間内検出回数誤差範囲最大設定（百分率）”とで定まる範囲内である場合には、監視単位時間当たりのエッジ検出回数に変化がなかったと見なし、“検出時間内検出回数ワークエリア”に記憶される値での“検出時間内検出回数”に記憶される値の更新は行わない。
【００３７】
一方で、前述の比率が記憶部１０４の“検出時間内検出回数誤差範囲最小設定（百分率）”と“検出時間内検出回数誤差範囲最大設定（百分率）”とで定まる範囲外である場合には、監視単位時間当たりのエッジ検出回数に変化があったと見なし、“検出時間内検出回数ワークエリア”に記憶される値で“検出時間内検出回数”に記憶される値を更新する。
【００３８】
例えば、“検出時間内検出回数誤差範囲最小設定（百分率）”が“1％”であって、“検出時間内検出回数誤差範囲最大設定（百分率）”が“1”、“監視時間内検出回数”が“200”である場合、“監視時間内検出回数”−（“監視時間内検出回数”×“検出時間内検出回数誤差範囲最小設定（百分率）”＝198（回）あり、“監視時間内検出回数”＋（“監視時間内検出回数”×“検出時間内検出回数誤差範囲最大設定（百分率）”＝202（回）となる。“検出時間内検出回数ワークエリア”に記憶される値と、記憶部１０４の“検出時間内検出回数”に記憶される値との比率が、この“198”〜“202”の範囲内である場合には、監視単位時間当たりのエッジ検出回数に変化がなかったと見なされ、該範囲外であった場合には、監視単位時間当たりのエッジ検出回数に変化があったと見なされる。
【００３９】
このように、監視単位時間当たりのエッジ検出回数に変化がなかったと見なしうる場合に、“検出時間内検出回数”を更新しないとすると、周波数監視の基準を誤差のためにいたずらに変更することがないので、該基準の一貫性を保つことができ、延いては自動周波数監視の信頼性を高めることができる。
【００４０】
なお、“検出時間内検出回数誤差範囲最小設定”および“検出時間内検出回数誤差範囲最大設定”の値は、百分率に限らず、回数を示す値であってもよい。この場合、自動周波数検出部１０６は、記憶部１０４の“検出時間内検出回数ワークエリア”に記憶される値と、記憶部１０４の“検出時間内検出回数”に記憶される値との差を算出し、その差が記憶部１０４の“検出時間内検出回数誤差範囲最小設定”と“検出時間内検出回数誤差範囲最大設定”とで定まる範囲内であるか否かを判定することによって、監視単位時間当たりのエッジ検出回数に変化があったか否かを判定することとなる。
【００４１】
また、自動周波数検出部１０６は、記憶部１０４の“検出時間内検出回数”に記憶される値が更新されたならば、記憶部１０４の検出時間内最小設定（百分率）に監視単位時間当たりのエッジ検出回数を乗じて監視時間内検出回数最小値を算出し、これを記憶部１０４の“監視時間内検出回数最小値”に記憶させる。また、自動周波数検出部１０６は、“記憶部１０４の検出時間内最大設定（百分率）”に監視単位時間当たりのエッジ検出回数を乗じて監視時間内検出回数最大値を算出し、これを記憶部１０４の“監視時間内検出回数最大値”に記憶させる。
【００４２】
この際、自動周波数検出部１０６は、記憶部１０４の“自動検出後再設定”の記憶内容に基づき自動検出後再設定ありか否かを判定し、自動検出後再設定なしの場合は、記憶部１０４の自動検出有無設定を“なし”に設定する。これ以降、再び自動検出が行われることはなく、初回に検出した検出時間内検出回数が継続して有効となる。
【００４３】
続いて、自動周波数検出部１０６は、記憶部１０４の“自動検出有無設定”を“なし”に設定するまでの処理を実行したならば、周波数異常検出部１０３に対して周波数監視開始を指示する。この指示を受けた周波数異常検出部１０３は、監視対象のクロックの監視を開始することとなる。
【００４４】
次に、図２に示した記憶部の記憶内容について説明する。図３は、図２に示した記憶部の記憶内容を示す図である。同図に示すレジスタ番号“１”の“監視時間設定”は、読み書き可能項目であり、監視時間を基準クロックの周期で割った値が記憶されている。この“監視時間設定”の設定値を大きくすることによって、周波数異常検出の精度が向上する。
【００４５】
レジスタ番号“２”の“自動検出有無設定”は、読み書き可能項目であり、フラグ情報である。この“自動検出有無設定”は、自動検出の有無を規定する。レジスタ番号“３”の“自動検出後再設定”は、読み書き可能項目であり、フラグ情報である。この“自動検出後再設定”は、初回の自動検出後、次回も自動検出を行うか否かを規定する。
【００４６】
レジスタ番号“４”の“再起動指示設定”は、読み書き可能項目であり、外部から記憶部１０４の記憶内容が書き換えられた場合に、周波数自動監視回路の再起動の指示を行うための情報である。
【００４７】
レジスタ番号“５”の“サンプリング回数”は、読み書き可能項目であり、自動検出時のサンプリング回数を示す。サンプリング回数を大きくすることによって、周波数異常検出制度が向上する。
【００４８】
レジスタ番号“６”の“監視時間内最小設定（百分率）”は、読み書き可能項目であり、周波数監視時に許容される監視時間内検出回数の差分の比率の下限を百分率で示す。この値は、外部からのみ設定変更される。また、レジスタ番号“７”の“監視時間内最大設定（百分率）”は、読み書き可能項目であり、周波数監視時に許容される監視時間内検出回数の差分の比率の上限を百分率で示す。この値も、外部からのみ設定変更される。
【００４９】
レジスタ番号“８”の“検出時間内検出回数”は、読み書き可能項目であり、後述の“検出時間内検出回数ワークエリア”に記憶されている値が、所定条件を満たすことによって複写されたものであり、周波数自動検出によって検出された監視単位時間当たりのエッジ検出回数が記憶される。また、レジスタ番号“９”の“検出時間内検出回数ワークエリア”は、読み書き可能項目であり、今回の周波数自動検出によって検出された監視単位時間当たりのエッジ検出回数が記憶される。
【００５０】
レジスタ番号“１０”の“検出時間内検出回数誤差範囲最小設定（百分率）”は、読み書き可能項目であり、自動周波数検出時に誤差の範囲と見なされる検出時間内検出回数の差分の比率の下限を百分率で示す。この値は、外部からのみ設定変更される。また、レジスタ番号“１１”の“検出時間内検出回数誤差範囲最大設定（百分率）”は、読み書き可能項目であり、自動周波数検出時に誤差の範囲と見なされる検出時間内検出回数の差分の比率の上限を百分率で示す。この値も、外部からのみ設定変更される。
【００５１】
レジスタ番号“１２”の“エンハンス検出閾値（百分率）”は、読み書き可能項目であり、自動周波数検出時にエンハンスがあったと見なされるエッジ検出回数の閾値を百分率で示す。「“検出時間内検出回数”に記憶される値」に対する「“監視時間内検出回数”に記憶される値」の比率が、この閾値以上となった場合に、エンハンスがあったと見なされ、周波数自動検出が行われることとなる。すなわち、監視期間中であっても、エンハンスを自動検出し、周波数自動検出を行うことが可能である。
【００５２】
レジスタ番号“１３”の“監視時間内検出回数最小値”は、読み書き可能項目であり、“検出時間内検出回数”の値から“検出時間内検出回数”に“検出時間内最小設定（百分率）”を乗じた値が減算されたものが記憶される。この値は、自動周波数検出部１０６によって書き換えられるのみならず、外部からも設定変更可能である。また、レジスタ番号“１４”の“監視時間内検出回数最大値”は、読み書き可能項目であり、“検出時間内検出回数”の値から“検出時間内検出回数”に“検出時間内最大設定（百分率）”を乗じた値が減算されたものが記憶される。この値も、自動周波数検出部１０６によって書き換えられるのみならず、外部からも設定変更可能である。
【００５３】
レジスタ番号“１５”の“監視時間内検出回数”は、読み書き可能項目であり、周波数監視によって検出された監視単位時間当たりのエッジ検出回数が記憶される。この値によって、周波数異常があったときのエッジ検出回数（周波数）を把握することが可能となる。
【００５４】
次に、図２に示した周波数自動監視回路で実行される周波数監視処理について説明する。図４〜図７は、図２に示した周波数自動監視回路で実行される周波数監視処理を示すタイムチャートである。図４は、初回のみ自動検出を行う場合のタイムチャートである。先ず、周波数自動監視回路１００は、周波数自動検出開始トリガを検出する（ステップＳ１０１）。続いて、周波数自動監視回路１００のエッジ検出部１０５は、エッジ検出パルスの生成を開始し（ステップＳ１０２）、監視周期信号生成部１０１およびトグル部１０２は、監視周期信号の生成を開始し（ステップＳ１０３）、自動周波数検出部１０６は、自動周波数検出有無判定を行う（ステップＳ１０４）。
【００５５】
続いて、エッジ検出部１０５は、監視対象クロックを発生する対向装置３００から監視対象クロックを検知し（ステップＳ１０５）、これに応じて生成したエッジ検出パルスを監視周期信号生成部１０１およびトグル部１０２へ出力する（ステップＳ１０６）。
【００５６】
エッジ検出部１０５からエッジ検出パルスを受信した監視周期信号生成部１０１およびトグル部１０２は、これに応じて、自動周波数検出部１０６に対して、監視周期信号を出力する（ステップＳ１０７）。監視周期信号生成部１０１およびトグル部１０２から監視周期信号を入力された自動周波数検出部１０６は、自動周波数検出処理を行う（ステップＳ１０８）。この処理によって、“検出時間内検出回数”、“監視時間内検出回数最小値”および“監視時間内検出回数最大値”が決定される。
【００５７】
続いて、ステップＳ１０８で決定された“監視時間内検出回数最小値”および“監視時間内検出回数最大値”と、“自動検出有無設定”＝“なし”の値が、記憶部１０４に出力される（ステップＳ１０９）。そして、記憶部１０４は、これらの値を所定領域に記憶する（レジスタ（記憶部１０４）変更、ステップＳ１１０）。続いて、自動周波数検出部１０６は、周波数異常検出部１０３に対して、監視開始指示を出力する（ステップＳ１１１）。
【００５８】
続いて、周波数自動監視回路１００は、周波数異常監視を開始する（ステップＳ１１２）。この後、周波数異常検出部１０３は、周波数監視処理を行う（ステップＳ１１３）。そして、周波数異常検出部１０３は、周波数監視処理結果であるエッジ検出回数を、記憶部１０４へ出力する（ステップＳ１１４）。そして、記憶部１０４は、エッジ検出回数を所定領域に記憶する（レジスタ（記憶部１０４）変更、ステップＳ１１５）。
【００５９】
この記憶部１０４の所定領域に記憶された周波数監視処理結果であるエッジ検出回数は、外部装置のソフトウェア部２００から参照される（ステップＳ１１６）。そして、ソフトウェア部２００は、周波数確認を行う（ステップＳ１１７）。続いて、周波数自動監視回路１００は、自動検出開始トリガを再度検出するが（ステップＳ１１８）、引き続き周波数異常監視を開始する（ステップＳ１１９）。
【００６０】
なお、図４に示す周波数自動監視処理の前提として、基準クロックが100MHzで、監視対象クロックが20MHzの場合、記憶部１０４の“監視時間設定”を“1000”とすると、実際の監視時間は、10マイクロ秒である。また、“自動検出有無設定”を“あり”、“自動検出後再設定”を“なし”、“再起動指示設定”を“なし”（ただし、“自動検出有無設定”＝“あり”の場合は“再起動指示設定”は意味のない値となる）、“サンプリング回数”を“５”とする。また、“監視時間内最小設定（百分率）”を“10％”、“監視時間内最大設定（百分率）”を“10％”と設定していた場合に、自動周波数検出処理によるエッジ検出回数が“200”であったとき、“監視時間内検出回数最小値”は“180”、“監視時間内検出回数最大値”は“220”となる。周波数自動監視回路１００は、周波数監視処理結果であるエッジ検出回数が、この“180”〜“220”の範囲内に収まれば、周波数は異常でないとし、収まらなければ、周波数は異常であるとする。
【００６１】
図５は、毎回自動検出を行う場合のタイムチャートである。図５では、ステップＳ１０９において、ステップＳ１０８で決定された“監視時間内検出回数最小値”および“監視時間内検出回数最大値”と、“自動検出有無設定”＝“あり”の値が、記憶部１０４に出力される。また、ステップＳ１１８の後に、ステップＳ１０２〜ステップＳ１１１を再度実行した後に、ステップＳ１１９を実行する点が、図４に示したタイムチャートと異なる。これら以外は、図４に示したタイムチャートと同じである。
【００６２】
なお、図５に示す周波数自動監視処理の前提として、基準クロックが100MHzで、監視対象クロックが20MHzの場合、記憶部１０４の“監視時間設定”を“1000”とすると、実際の監視時間は、10マイクロ秒である。また、“自動検出有無設定”を“あり”、“自動検出後再設定”を“あり”、“再起動指示設定”を“なし”（ただし、“自動検出有無設定”＝“あり”の場合は“再起動指示設定”は意味のない値となる）、“サンプリング回数”を“５”とする。また、“監視時間内最小設定（百分率）”を“10％”、“監視時間内最大設定（百分率）”を“10％”と設定していた場合に、自動周波数検出処理によるエッジ検出回数が“200”であったとき、“監視時間内検出回数最小値”は“180”、“監視時間内検出回数最大値”は“220”となる。周波数自動監視回路１００は、周波数監視処理結果であるエッジ検出回数が、この“180”〜“220”の範囲内に収まれば、周波数は異常でないとし、収まらなければ、周波数は異常であるとする。
【００６３】
図６は、周波数自動監視中に記憶部１０４の設定内容を変更する場合のタイムチャートである。図６では、ソフトウェア部２００が、記憶部１０４に対して、周波数自動監視中に記憶部１０４の設定内容（“監視時間”、“サンプリング回数”、“自動検出有無設定”、“監視時間内最小設定（百分率）”または“監視時間内最大設定（百分率）”）の変更指示を出力し（ステップＳ９８）、周波数自動監視回路１００の再起動指示を出力する（ステップＳ９９）。これに応じて周波数自動監視回路１００は、自装置の再起動を行い（ステップＳ１００）、その後、図４および図５に示したものと同様のステップＳ１０２〜ステップＳ１１５の処理が行われる。
【００６４】
このように、実施例の周波数自動監視回路１００は、周波数自動監視中に記憶部１０４の設定内容が変更可能であり、該設定内容が変更された場合は自装置を再起動して、通常と同様に周波数異常監視を行うことが可能である。
【００６５】
なお、図６に示す周波数自動監視処理の前提として、基準クロックが100MHzで、監視対象クロックが20MHzの場合、記憶部１０４の“監視時間設定”を“2000”へと引き上げると、実際の監視時間は、20マイクロ秒となる。また、“自動検出有無設定”を“あり”、“自動検出後再設定”を“なし”、“再起動指示設定”を“あり”、“サンプリング回数”を“５”とする。また、“監視時間内最小設定（百分率）”を“10％”、“監視時間内最大設定（百分率）”を“10％”と設定していた場合に、自動周波数検出処理によるエッジ検出回数が“400”であったとき、“監視時間内検出回数最小値”は“360”、“監視時間内検出回数最大値”は“440”となる。周波数自動監視回路１００は、周波数監視処理結果であるエッジ検出回数が、この“360”〜“440”の範囲内に収まれば、周波数は異常でないとし、収まらなければ、周波数は異常であるとする。
【００６６】
図７は、従来どおり、対向装置３００のＯＳＣ（Oscillator）データシート内のクロック周波数制度より算出した値に基づき周波数異常監視を行う場合のタイムチャートである。図７では、ソフトウェア部２００が、記憶部１０４に対して、“自動検出有無設定”を“なし”に設定し、監視時間検出回数最小値および監視時間検出回数最大値を、対向装置３００のＯＳＣデータシートより求めた値で設定し（ステップＳ９７）、周波数自動監視回路１００の再起動指示を出力する（ステップＳ９９）。これに応じて周波数自動監視回路１００は、自装置の再起動を行い（ステップＳ１００）、その後、図４、図５および図６に示したものと同様のステップＳ１０２〜ステップＳ１０７、続いてステップＳ１１１〜ステップＳ１１５の処理が行われる。
【００６７】
このように、実施例の周波数自動監視回路１００は、従来どおり、対向装置３００のＯＳＣ（Oscillator）データシート内のクロック周波数制度より算出した値に基づき周波数異常監視を行うことが可能である。
【００６８】
なお、図７に示す周波数自動監視処理の前提として、“再起動指示設定”を“あり”とする。また、対向装置３００のＯＳＣデータシートの情報に基づき、“監視時間内最小設定（百分率）”を“5％”、“監視時間内最大設定（百分率）”を“10％”と設定し、自動周波数検出処理によるエッジ検出回数は、20MHz×10マイクロ秒＝“200”と計算されるので、“監視時間内検出回数最小値”は“190”、“監視時間内検出回数最大値”は“220”となる。周波数自動監視回路１００は、周波数監視処理結果であるエッジ検出回数が、この“190”〜“220”の範囲内に収まれば、周波数は異常でないとし、収まらなければ、周波数は異常であるとする。
【００６９】
次に、図２に示した周波数自動監視回路１００で実行される周波数自動監視処理について説明する。図８は、図２に示した周波数自動監視回路１００で実行される周波数自動監視処理手順を示すフローチャートである。同図に示すように、先ず、自動周波数検出部１０６は、自動検出開始トリガを検出したか否かを判定する（ステップＳ１２１）。ここでの自動検出開始トリガは、対向装置３００のクロックアップなどのエンハンス、電源リセット、起動などである。自動周波数検出部１０６が自動検出開始トリガを検出した場合（ステップＳ１２１肯定）、ステップＳ１２２へ移り、自動周波数検出部１０６が自動検出開始トリガを検出しなかった場合（ステップＳ１２１否定）、ステップＳ１２８へ移る。
【００７０】
ステップＳ１２２では、自動周波数検出部１０６は、自動検出有無設定は“あり”か否かを判定する。自動検出有無設定が“あり”の場合（ステップＳ１２２肯定）、ステップＳ１２３へ移り、自動検出有無設定が“あり”でない場合（ステップＳ１２２否定）、ステップＳ１２８へ移る。
【００７１】
ステップＳ１２３では、自動周波数検出部１０６は、周波数自動検出を行った回数はサンプリング回数に達したか否かを判定する。周波数自動検出を行った回数がサンプリング回数に達した場合（ステップＳ１２３肯定）、ステップＳ１２４へ移り、周波数自動検出を行った回数がサンプリング回数に達していない場合（ステップＳ１２３否定）、自動周波数検出部１０６は、検出期間内のエッジ検出回数、最大エッジ検出回数および最小エッジ検出回数を検出する（ステップＳ１２５）。
【００７２】
ステップＳ１２４では、自動周波数検出部１０６は、サンプリング回数分の全てのエッジ検出回数を、該サンプリング回数で除して、エッジ検出回数の平均を算出する。続いて、自動周波数検出部１０６は、ステップＳ１２４で算出された今回のエッジ検出回数が、記憶部１０４の“検出時間内検出回数”に記憶される前回のエッジ検出回数と比べて、記憶部１０４の“検出時間内検出回数誤差範囲最小設定（百分率）”および“検出時間内検出回数誤差範囲最大設定（百分率）”で定められる誤差の範囲内にあるか否かを判定する（ステップＳ１２６）。誤差の範囲内の場合（ステップＳ１２６肯定）、ステップＳ１２８へ移り、誤差の範囲内でない場合（ステップＳ１２６否定）、記憶部１０４に記憶される“検出時間内検出回数ワークエリア”の情報で“検出時間内検出回数”を更新するとともに、該“検出時間内検出回数”に基づいて、“監視時間内検出回数最小値”および“監視時間内検出回数最大値”を更新する（ステップＳ１２７）。
【００７３】
ステップＳ１２８では、周波数異常検出部１０３は、周波数監視期間内のエッジ検出回数を検出し、監視対象の周波数を監視する。続いて、周波数異常検出部１０３は、監視期間内のエッジ検出回数は、記憶部１０４に記憶される“監視時間内検出回数最小値”および“監視時間内検出回数最大値”で定められる範囲内に収まるか否かを判定する（ステップＳ１２９）。監視期間内のエッジ検出回数が“監視時間内検出回数最小値”および“監視時間内検出回数最大値”で定められる範囲内に収まる場合（ステップＳ１２９肯定）、ステップＳ１３１へ移り、監視期間内のエッジ検出回数が“監視時間内検出回数最小値”および“監視時間内検出回数最大値”で定められる範囲内に収まらない場合（ステップＳ１２９否定）、周波数異常検出部１０３は、クロック異常を、外部装置（特にソフトウェア部２００）に対して通知する（ステップＳ１３０）。
【００７４】
ステップＳ１３１では、周波数異常検出部１０３は、クロック監視を終了するか否かを判定し、終了する場合は（ステップＳ１３１肯定）、周波数自動監視処理を終了し、終了しない場合は（ステップＳ１３１否定）、ステップＳ１２１へ移る。
【００７５】
以上、本発明の実施例を説明したが、本発明は、これに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施例で実施されてもよいものである。また、実施例に記載した効果は、これに限定されるものではない。
【００７６】
また、上記実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記実施例で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、実施例中の百分率は、２つの値の比率を示すものであっても、２つの値の差分の比率を示すものであっても、いずれでもよい。
【００７７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７８】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central Processing Unit）（またはＭＰＵ（Micro Processing Unit）、ＭＣＵ（Micro Controller Unit）などのマイクロ・コンピュータ）および当該ＣＰＵ（またはＭＰＵ、ＭＣＵなどのマイクロ・コンピュータ）にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されてもよい。
【００７９】
（付記１）自装置の動作にかかるクロックの周波数を自動監視する周波数自動監視回路であって、
所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出部と、
前記周波数検出部により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該監視対象クロックの周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視部と
を有することを特徴とする周波数自動監視回路。
【００８０】
（付記２）前記周波数監視部は、前記周波数検出部によって前回に検出された前記監視対象クロックの第１の検出周波数と、該周波数検出部によって今回に検出された該監視対象クロックの第２の検出周波数との差分または比率が所定閾値を超えた場合にのみ、前記所定の契機が検出されたとして、前記所定時間にわたって前記監視対象クロックの周波数が該第２の検出周波数に基づく所定変動範囲に収まるか否かを監視することを特徴とする付記１に記載の周波数自動監視回路。
【００８１】
（付記３）前記周波数監視部は、前記周波数検出部によって前回に検出された前記監視対象クロックの第１の検出周波数と、該周波数検出部によって今回に検出された該監視対象クロックの第２の検出周波数との差分または比率が所定範囲内である場合、前記所定時間にわたって前記監視対象クロックの周波数が該第１の検出周波数に基づく所定変動範囲に収まるか否かを継続して監視することを特徴とする付記１または２に記載の周波数自動監視回路。
【００８２】
（付記４）前記周波数検出部は、該周波数検出部によって前記監視対象クロックの周波数が検出された後に前記所定の契機が検出された場合に、該監視対象クロックの検出周波数の再検出を行うか否かの再検出設定に応じて該監視対象クロックの検出周波数の検出を行うまたは行わないことを特徴とする付記１〜３のいずれか一つに記載の周波数自動監視回路。
【００８３】
（付記５）前記所定時間と、前記所定回数と、前記所定変動範囲と、前記所定閾値と、前記再検出設定とを書き換え可能に記憶する記憶部をさらに有し、
前記記憶部に記憶される前記所定時間と、前記所定回数と、前記所定変動範囲と、前記所定閾値と、前記再検出設定とが、前記周波数検出部による前記監視対象クロックの検出周波数の検出中または前記周波数監視部による前記監視対象クロックの周波数の監視中であっても、外部からの指示によって書き換え可能であることを特徴とする付記４に記載の周波数自動監視回路。
【００８４】
（付記６）前記周波数監視部は、前記所定時間にわたって該監視対象クロックの周波数が前記所定変動範囲に収まらないことを検知すると、外部に警告信号を出力することを特徴とする付記１〜５のいずれか一つに記載の周波数自動監視回路。
【００８５】
（付記７）自装置の動作にかかるクロックの周波数を自動監視する電子装置であって、
所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出手段と、
前記周波数検出手段により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視手段と
を有することを特徴とする電子装置。
【００８６】
（付記８）自装置の動作にかかるクロックの周波数を自動監視する周波数自動監視方法であって、
所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出工程と、
前記周波数検出工程により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視工程と
を含んだことを特徴とする周波数自動監視方法。
【００８７】
（付記９）自装置の動作にかかるクロックの周波数を自動監視する周波数自動監視手順を制御装置に実行させる周波数自動監視プログラムであって、
所定の契機が検出されると、所定時間にわたる監視対象クロックの周波数の検出を所定回数だけ行い、該所定回数検出した該周波数の平均を該監視対象クロックの検出周波数とする周波数検出手順と、
前記周波数検出手順により前記監視対象クロックの検出周波数が検出されると、前記所定時間にわたって該周波数が前記検出周波数に基づく所定変動範囲に収まるか否かを監視する周波数監視手順と
を前記制御装置に実行させることを特徴とする周波数自動監視プログラム。
【産業上の利用可能性】
【００８８】
本発明は、クロック異常検出のための構成を変更することなく、自動的にクロックを監視したい場合に有用であり、自装置の性能向上のために該クロックの周波数が引き上げられたとき、あるいはクロック監視開始後にクロックを異常と判定するための閾値の変更を行いたいとき、クロック異常検出のための構成を変更する必要がなく、自動的にクロックを監視したい場合に有効である。
【図面の簡単な説明】
【００８９】
【図１】本発明の概要と特徴を説明するための説明図である。
【図２】実施例にかかる周波数自動監視回路の構成を示す機能ブロック図である。
【図３】記憶部の記憶内容を示す図である。
【図４】周波数自動監視処理を示すタイムチャート（その１）である。
【図５】周波数自動監視処理を示すタイムチャート（その２）である。
【図６】周波数自動監視処理を示すタイムチャート（その３）である。
【図７】周波数自動監視処理を示すタイムチャート（その４）である。
【図８】周波数自動監視処理手順を示すフローチャートである。
【符号の説明】
【００９０】
１００    周波数自動監視回路
１０１    監視周期信号生成部
１０２    トグル部
１０３    周波数異常検出部
１０４    記憶部
１０５    エッジ検出部
１０６    自動周波数検出部
２００    ソフトウェア部
３００    対向装置
【図１】
2008158568.tif 000003
【図２】
2008158568.tif 000004
【図３】
2008158568.tif 000005
【図４】
2008158568.tif 000006
【図５】
2008158568.tif 000007
【図６】
2008158568.tif 000008
【図７】
2008158568.tif 000009
【図８】
2008158568.tif 000010