(57)【特許請求の範囲】
【請求項１】
対象クロックを分周して対象分周クロックを出力する分周部と、
対象クロックと同期関係にある監視クロックの立ち上がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第１の時間幅測定部と、
前記監視クロックの立ち下がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第２の時間幅測定部と、
第１の時間幅測定部で測定されたHレベルもしくはLレベルの時間幅に異常が検出され、かつ、第２の時間幅測定部で測定されたHレベルもしくはLレベルの時間幅に異常が検出されたときに対象クロックが異常であると判定する異常判定部と、
を備えることを特徴とするクロック異常検出回路。
【請求項２】
対象クロックの周期が正常値から所定の時間幅以上ずれた場合に異常であると定義する場合において、前記監視クロックとして前記所定の時間幅の２倍の周期のクロックを使用することを特徴とする請求項１に記載のクロック異常検出回路。
【請求項３】
第１の時間幅測定部と第２の時間幅測定部のそれぞれが、前記Hレベルの時間幅としてHレベルの期間における監視クロックの個数をカウントするHレベルカウンタと、前記Lレベルの時間幅としてLレベルの期間における監視クロックの個数をカウントするLレベルカウンタを備えることを特徴とする請求項１に記載のクロック異常検出回路。
【請求項４】
前記異常検出部は、第１の時間幅測定部のHレベルカウンタに接続される第１のカウント値異常検出部、第１の時間幅測定部のLレベルカウンタに接続される第２のカウント値異常検出部、第２の時間幅測定部のHレベルカウンタに接続される第３のカウント値異常検出部、第２の時間幅測定部のLレベルカウンタに接続される第４のカウント値異常検出部を備え、
カウント値異常検出部のそれぞれが、対象クロックの周期が伸びる場合のカウント値の異常を検出する周期伸張検出部と、対象クロックの周期が縮む場合のカウント値の異常を検出する周期短縮検出部とを備えることを特徴とする請求項３に記載のクロック異常検出回路。
【請求項５】
対象クロックを分周して対象分周クロックを出力する分周ステップと、
対象クロックと同期関係にある監視クロックの立ち上がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第１の時間幅測定ステップと、
前記監視クロックの立ち下がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第２の時間幅測定ステップと、
第１の時間幅測定ステップで測定されたHレベルもしくはLレベルの時間幅に異常が検出され、かつ、第２の時間幅測定ステップで測定されたHレベルもしくはLレベルの時間幅に異常が検出されたときに対象クロックが異常であると判定する異常判定ステップと、
を備えることを特徴とするクロック異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部発振器から与えられるクロックで動作するデジタル回路において、クロックの擾乱等の異常状態を検出する技術に関するものである。
【背景技術】
【０００２】
クロックの異常を検出する従来技術として、例えば図１に示す方法がある。この方法は、予め定めた監視周期内でのクロックエッジの有無を監視し、監視周期内でクロックエッジが１つも検出されなかった場合にクロック断と判断し、アラームを出力し、監視周期内に１つでもクロックエッジが検出された場合にアラームを解除する方法である。
【０００３】
このクロック異常検出方法を実現する回路の例を図２に示す。また、この回路の動作タイムチャートを図３に示す。この回路は、ＦＦ（フリップフロップ）１、ＦＦ２、ＦＦ３、及びＯＲ回路４を含む。ＦＦ１のＣＬ端子に断検出対象クロックが入力され、ＦＦ２のＣＬ端子に断検出対象クロックの反転が入力される。ＦＦ１、ＦＦ２のＤ端子には常にＨレベルが入力され、ＣＫ端子には監視タイマー信号が入力される。
【０００４】
図３に示すように、断検出対象クロックが正常であれば、ＦＦ１、ＦＦ２の出力値は常にクリアされるので、監視タイマーがＨになってもＦＦ１、及びＦＦ２の出力はLとなる。断検出対象クロックが断になった（Ａ点）後、ＦＦ１、及びＦＦ２の出力は断検出対象クロックによりクリアされなくなるので、監視タイマーがＨになると、Ｈを保持する。また、Ｂの時点で監視タイマーがＨになると、ＦＦ３の出力がＨとなり、アラームが出力される。その後、断検出対象クロックが回復すると、ＦＦ１、ＦＦ２の出力はＬとなり、次の監視タイマーＨのタイミングでＦＦ３の出力はＬとなり、アラーム出力が停止する。このような動作によりクロック断検出が可能となっている。
【０００５】
なお、クロックの異常検出に関する先行技術文献の例として特許文献１、特許文献２がある。
【特許文献１】特開平０９−２４４７６１号公報
【特許文献１】特開平１１−３５５１１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の従来技術では監視周期内で全くクロックエッジが検出されない場合の異常しか検出することができず、より短期間内のクロック断やクロック周期が不安定な状態であるクロックの擾乱を検出することはできない。従って、従来技術でクロックの擾乱等に起因する異常が発生した場合に、クロック系の問題かどうかを特定するのに時間を要する等の問題あった。
【０００７】
本発明は上記の点に鑑みてなされたものであり、従来のクロック系の異常監視を行う断検出回路よりも高精度にクロックの異常検出を行うことが可能なクロック異常検出回路を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、上記の課題は、対象クロックを分周して対象分周クロックを出力する分周部と、対象クロックと同期関係にある監視クロックの立ち上がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第１の時間幅測定部と、前記監視クロックの立ち下がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第２の時間幅測定部と、第１の時間幅測定部で測定されたHレベルもしくはLレベルの時間幅に異常が検出され、かつ、第２の時間幅測定部で測定されたHレベルもしくはLレベルの時間幅に異常が検出されたときに対象クロックが異常であると判定する異常判定部と、を備えることを特徴とするクロック異常検出回路により解決できる。
【発明の効果】
【０００９】
本発明によれば、従来のクロック系の異常監視を行う断検出回路よりも高精度にクロックの異常検出を行うことが可能となる。特に、立ち上がり、立ち下がりの両エッジを用いて対象クロックのHレベルもしくはLレベルの時間幅を測定するので、対象クロック取り込み時の不定状態の影響を回避できる。また、対象クロックを分周した対象分周クロックを監視するので、Ｄｕｔｙ幅変動の影響を回避できる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施の形態について説明する。
【００１１】
（概要構成）
図４に本発明の実施の形態におけるクロック異常検出回路１０の概要構成を示す。図４に示すように、本発明の実施の形態におけるクロック異常検出回路は、１／２分周部１１、立ち上がりエッジ使用時間幅測定部１２、立ち下がりエッジ使用時間幅測定部１３、及び対象クロック異常検出部１４を備えている。立ち上がりエッジ使用時間幅測定部１２は、対象クロックデータ取得部１５、対象クロックＨレベル幅測定部１６、及び対象クロックＬレベル幅測定部１７を有し、立ち下がりエッジ使用時間幅測定部１３は、対象クロックデータ取得部１８、対象クロックＨレベル幅測定部１９、及び対象クロックＬレベル幅測定部２０を有している。
【００１２】
本実施の形態では、異常監視対象クロック（以下、単に対象クロックという）の周波数を38.88MHzとする。また、異常を監視するための77.76MHzの監視クロックが１／２分周部１１を除く各回路に供給されている。
【００１３】
１／２分周部１１には対象クロックが入力され、１／２分周部１１は対象クロックを１／２分周して出力する。なお、対象クロックが１／２分周された後のクロックを対象分周クロックと呼ぶことにする。
【００１４】
対象クロックデータ取得部１５は、監視クロックの立ち上がりエッジを利用することにより、入力された対象分周クロックの値（Ｈｉｇｈ（Ｈ）又はＬｏｗ（Ｌ））を取得し、出力する。対象クロックデータ取得部１８は、監視クロックの立ち下がりエッジを利用することにより、入力された対象分周クロックの値を取得し、出力する。
【００１５】
対象クロックＨレベル幅測定部１６は、対象クロックデータ取得部１５から入力される値におけるＨレベルの時間幅を測定する。対象クロックＬレベル幅測定部１７は、対象クロックデータ取得部１５から入力される値におけるＬレベルの時間幅を測定する。対象クロックＨレベル幅測定部１９は、対象クロックデータ取得部１８から入力される値におけるＨレベルの時間幅を測定する。対象クロックＬレベル幅測定部２０は、対象クロックデータ取得部１８から入力される値におけるＬレベルの時間幅を測定する。
【００１６】
クロック異常検出部１４は、上記の対象クロックＨレベル幅測定部１６、１９、及び対象クロックＬレベル幅測定部１７、２０から出力される時間幅のデータを所定の監視クロック分の時間幅で監視し、異常があればアラームを出力する。
【００１７】
（動作原理）
次に、図４の構成を有するクロック異常検出回路１０の動作原理を説明する。なお、本実施の形態では、38.88MHzクロックにおいて±6.43ns以上の周期変動があった場合に異常（擾乱やクロック断）であると定義している。従って、±6.43nsの周期変動を監視可能なクロックである77.76MHzの監視クロックを使用している。また、対象クロックと監視クロックは、同期(位相関係が流れない）関係にあることを前提としている。
【００１８】
まず、クロック異常検出回路１０の最も基本的な動作を図５のタイムチャートを参照して説明する。
【００１９】
図５におけるａは分周される前の対象クロックであり、ｂは１／２分周された対象分周クロックであり、ｃは監視クロックである。本実施の形態では、監視クロックの立ち上がりエッジもしくは立ち下がりエッジを用いて取り込んだ対象分周クロックの値（ｄ）におけるＨレベルの時間幅、及びＬレベルの時間幅を監視し、時間幅の異常を検知することによりクロックの擾乱を検出するのが基本である。
【００２０】
本実施の形態では対象クロックを１／２分周しているが、その理由は以下の通りである。図６に示す対象クロックの場合のように、対象クロックの周期変動は無いが、Ｄｕｔｙ幅が変動している場合がある。このケースで対象クロックを分周しないで直接監視すると、監視クロックの隣接するエッジ間に対象クロックの隣接するエッジ（図６の（ｘ)の部分）が存在してしまい、この（ｘ)の部分を検出することができなくなる。これにより、周期変動がないのに周期変動であると判定したりする等の誤判定をする可能性がある。そこで、本実施の形態では、対象クロックを１／２分周し、Ｄｕｔｙ幅の変動を消去したクロックを対象に異常監視を行うことにより、対象クロックの周期は正常でＤｕｔｙ幅のみが変動する状態に対して擾乱と見なさないことが可能となっている。
【００２１】
また、対象クロックが如何なる速度であっても、監視クロックの両エッジで異常検出できる速度まで分周することにより、擾乱等を検出できる。このような点からも対象クロックを分周することの意味がある。
【００２２】
さて、図７に示すように監視クロックのエッジで対象分周クロックの値を取り込む場合、図７のｄに示すように、一方のエッジ（図７の例では立ち上がりエッジ（Positive側））により、Ｈを取り込むか、Ｌを取り込むか定まらない不定状態（メタステーブル状態）が発生する場合がある。従って、一方のエッジで取り込んだ値のみを監視すると、誤判定になる可能性がある。
【００２３】
そこで、本実施の形態では、監視クロックの立ち上がりエッジで取得した値に加えて、図７のｅに示すように、監視クロックの立ち下がりエッジ（Negative側）で取得した値も用いている。一方のエッジではメタステーブルが発生する場合でも、もう一方のエッジでは確実に値を取得できるからである。つまり、本実施の形態ではｄ（立ち上がりエッジ使用）とｅ（立ち下がりエッジ使用）のそれぞれにおけるＨレベルの時間幅、及びＬレベルの時間幅を監視し、時間幅の異常を検知することによりクロックの擾乱を検出する。なお、時間幅は、HレベルもしくはLレベルにおける監視クロックの個数をカウントし、そのカウント値で判定している。
【００２４】
以下、対象クロックの周期が伸びる場合と、周期が縮まる場合の異常検出の方法を説明する。
【００２５】
まず、図８のタイムチャートを参照して対象クロックの周期が伸びる場合について説明する。
【００２６】
図８は、対象クロックの周期が、正常な対象クロックの１周期である25.72nsよりも伸びて一時的に(25.72+12.86)ns以上になった場合を示している。
【００２７】
また、対象分周クロックと監視クロックのエッジにおいて楕円で囲まれた部分は不定状態が発生する部分を示し、図８では、取得した各値がＨになった場合（ケース１）、及びＬになった場合（ケース２）を示している。
【００２８】
ｆはケース１における立ち上がりエッジを使用して取得した対象分周クロックの値を示す。ｇはケース１におけるｆで示す取得値のＨレベルの時間幅を監視クロックを用いてカウントした値を示している。
【００２９】
ｈはケース２における立ち上がりエッジを使用して取得した対象分周クロックの値を示す。ｉはケース２におけるｈで示す取得値のＬレベルの時間幅を監視クロックを用いてカウントした値を示している。
【００３０】
ｊは立ち下がりエッジを使用して取得した対象分周クロックの値を示す。ｋはｉで示す取得値のＨレベルの時間幅を監視クロックを用いてカウントした値を示している。
【００３１】
なお、本実施の形態では、立ち上がりエッジで取得した値のＨレベルの時間幅とＬレベルの時間幅、及び立ち下がりエッジで取得した値のＨレベルの時間幅とＬレベルの時間幅の全てを測定しているが、図８では周期が伸びる場合の検出例を説明するために必要なもののみを示している。
【００３２】
本実施の形態では、立ち上がりエッジで取得した値（Ｈレベル又はＬレベル）の時間幅と、立ち下がりエッジで取得した値（Ｈレベル又はＬレベル）の時間幅の両方に異常があった場合に異常が発生したと判定する。
【００３３】
より詳細には、対象分周クロックのＨレベル及びＬレベルの時間幅は、それぞれ監視クロックの２周期分となるのが正常であることから、監視クロックを用いたＨレベル又はＬレベルの時間幅のカウント値に"３"が出現したら周期が伸びていると判断する。この判定は、例えば、監視クロックの５クロック分（５周期のクロック分）を常時監視し、そのウィンドウ幅の中で、立ち上がりエッジで取得した値（Ｈレベル又はＬレベル）の時間幅と、立ち下がりエッジで取得した値（Ｈレベル又はＬレベル）の時間幅の両方に"３"が出現するか否かを監視することにより行う。図８の例では、５クロック内に、立ち上がりエッジ側と立ち下がりエッジ側の両方に"３"が出現しているので、周期が伸びるクロック擾乱が発生したと判定できる。
【００３４】
次に、図９のタイムチャートを参照して対象クロックの周期が縮まる場合について説明する。
【００３５】
図９は、対象クロックの周期が、正常な対象クロックの１周期である25.72nsから縮まり一時的に(25.72-12.86)ns以下になった場合を示している。
【００３６】
また、対象分周クロックと監視クロックのエッジにおいて楕円で囲まれた部分は不定状態が発生する部分を示し、図９でも、取得した各値がＨの場合（ケース１）と、Ｌの場合（ケース２）を示している。
【００３７】
ｌはケース１における立ち上がりエッジを使用して取得した対象分周クロックの値を示す。ｍはケース１におけるｌで示す取得値のＨレベルの時間幅を監視クロックを用いてカウントした値を示している。ｎはケース１におけるｌで示す取得値のＬレベルの時間幅を監視クロックを用いてカウントした値を示している。
【００３８】
ｏはケース２における立ち上がりエッジを使用して取得した対象分周クロックの値を示す。ｐはケース２におけるｏで示す取得値のＨレベルの時間幅を監視クロックを用いてカウントした値を示している。ｑはケース２におけるｏで示す取得値のＬレベルの時間幅を監視クロックを用いてカウントした値を示している。
【００３９】
ｒは立ち下がりエッジを使用して取得した対象分周クロックの値を示す。ｓはｒで示す取得値のＨレベルの時間幅を監視クロックを用いてカウントした値を示している。ｔはｒで示す取得値のＬレベルの時間幅を監視クロックを用いてカウントした値を示している。
【００４０】
周期が縮まる場合に関して、対象分周クロックのＨレベル及びＬレベルの時間幅は、それぞれ監視クロックの２周期分となるのが正常であり、正常な場合はクロック値が"０"→"１"→"２"→"０"となることから、Ｈレベル又はＬレベルの時間幅のカウント値が"１"→"０"となったら異常である。また、"０"→"０"→"０"→"０"、つまり０が４つ連続する場合も異常である。
【００４１】
そして、例えば、監視クロックの４クロック分を常時監視し、そのウィンドウ幅の中で、立ち上がりエッジで取得した値（Ｈレベル又はＬレベル）と、立ち下がりエッジで取得した値（Ｈレベル又はＬレベル）の両方に上記の異常のいずれかが出現するか否かを監視し、両方に異常が発生している場合に周期が縮まる異常が発生したと判断でき、アラームを出力する。図９の例では、４クロック内に、立ち上がりエッジ側と立ち下がりエッジ側の両方に異常が出現しているので、このときにクロック擾乱が発生したと判定できる。
【００４２】
上記の例では、38.88MHzの対象クロックにおける±6.43ns以上の周期変動を検出するために77.76MHzの監視クロックを用いている。ここで、6.43nsは77.76MHzの半周期（隣接する立ち上がりエッジと立ち下りエッジ間の時間長さ）に相当する。つまり、監視クロックとして、異常を判定したい変動幅の２倍の周期のクロックを用いればよい。
【００４３】
より短い周期変動を検出するためにはより周波数の高い監視クロックを用いればよいので、例えば、77.76MHz の２倍の周波数（155.5MHz）の監視クロックを用いることにより、6.43nsの半分の周期変動を検出できる。ただし、この場合は、異常であると判定するためのカウント値が上記の例と異なる。77.76MHz の２倍の周波数の監視クロックを用いる場合、対象分周クロックのＨレベル及びＬレベルの時間幅は、それぞれ監視クロックの４周期分となるのが正常であることに基づき、異常と判断すべきカウント値を決めればよい。例えば、対象クロックの周期が伸びる場合に関しては、カウント値に"５"が出現したら異常であると判断する。また、対象クロックの周期が縮む場合に関しては、例えば、カウント値が"３"→"０"となったら異常であると判断できる。
【００４４】
（クロック異常検出回路詳細構成）
次に、本実施の形態におけるクロック異常検出回路１０の詳細構成例を図１０〜図１２を参照して説明する。図１０は、図４と比較して特にクロック異常検出部１４を詳細に示している。
【００４５】
１／２分周部１１、立ち上がりエッジ使用時間幅測定部１２、立ち下がりエッジ使用時間幅測定部１３については図４と同様である。立ち上がりエッジ使用時間幅測定部１２、及び立ち下がりエッジ使用時間幅測定部１３内の各対象クロックデータ取得部は、フリップフロップ回路等を用いて実現できる。対象クロックＨレベル幅測定部１６、１９は監視クロックのエッジを用いてカウントを行うカウンタ回路を用いて実現できる。また、対象クロックＬレベル幅測定部１７、２０は、反転回路とカウンタ回路を用いて実現できる。以下、対象クロックＨレベル幅測定部をＨカウンタ、対象クロックＬレベル幅測定部をＬカウンタと呼ぶ。
【００４６】
図１０に示すように、Ｈカウンタ１６、１９、Ｌカウンタ１７、２０の各々にカウント値監視部Ａとカウント値監視部Ｂが接続されている。カウント値監視部Ａは、Ｈレベル幅もしくはＬレベル幅が正常値より延びる場合を検出するための回路であり、本実施の形態ではＨカウンタ１６、１９もしくはＬカウンタ１７、２０から出力されるカウント値に"３"が出現するかどうかを監視する。
【００４７】
カウント値監視部Ｂは、Ｈレベル幅もしくはＬレベル幅が正常値より縮む場合を検出するための回路であり、本実施の形態ではＨカウンタ１６、１９もしくはＬカウンタ１７、２０から出力されるカウント値が"１"→"０"、もしくは"０"→"０"→"０"→"０"になるかどうかを監視する。
【００４８】
対象クロックデータ取得部１５に接続されているＨカウンタ１６とＬカウンタ１７に接続されている２つのカウント値監視部Ａ（３１、３３）はＯＲ回路４１に接続され、２つのカウント値監視部Ｂ（３２、３４）はＯＲ回路４２に接続される。対象クロックデータ取得部１８に接続されているＨカウンタ１９とＬカウンタ２０に接続されている２つのカウント値監視部Ａ（３５、３７）はＯＲ回路４３に接続され、２つのカウント値監視部Ｂ（３６、３８）はＯＲ回路４４に接続される。立ち上がりエッジ使用監視側のＯＲ回路４１と、立ち下がりエッジ使用監視側のＯＲ回路４３がＡＮＤ回路５１で接続され、立ち上がりエッジ使用監視側のＯＲ回路４２と、立ち下がりエッジ使用監視側のＯＲ回路４４がＡＮＤ回路５２で接続される。そして、ＡＮＤ回路５１とＡＮＤ回路５２がＯＲ回路６１に接続される。
【００４９】
このような回路構成により、立ち上がりエッジ使用側のＨ側のカウント値監視部Ａ（３１）とＬ側のカウント値監視部Ａ（３３）のいずれかで異常が検出され、なおかつ、立ち下がりエッジ使用側のＨ側のカウント値監視部Ａ（３５）とＬ側のカウント値監視部Ａ（３７）のいずれかで異常が検出された場合に擾乱検出アラームが出力される。この場合のアラームは対象クロックの周期が伸びたことが検出されたことを意味する。また、立ち上がりエッジ使用側のＨ側のカウント値監視部Ｂ（３２）とＬ側のカウント値監視部Ｂ（３４）のいずれかで異常が検出され、なおかつ、立ち下がりエッジ使用側のＨ側のカウント値監視部Ｂ（３６）とＬ側のカウント値監視部Ｂ（３８）のいずれかで異常が検出された場合にも擾乱検出アラームが出力される。この場合のアラームは対象クロックの周期が縮まったことが検出されたことを意味する。
【００５０】
図１１に、カウント値監視部Ａの詳細構成例を示す。図１１に示すように、カウント値を保持する５つのレジスタ７１〜７４が接続され、それぞれのレジスタの出力に、レジスタ値が"３"かどうかを判定する"３"判定部８１〜８５が接続され、各"３"判定部はＯＲ回路８６に接続される。カウント値は、監視クロックに同期して次のレジスタにシフトする。これにより、カウント値監視部Ａは常に５クロック分のカウント値を監視でき、いずれかのレジスタ値が"３"である場合に異常を示す信号を出力する。
【００５１】
図１２に、カウント値監視部Ｂの詳細構成例を示す。図１２に示すように、カウント値を保持する４つのレジスタ９１〜９４が接続される。また、レジスタ９１にはカウント値が"０"かどうかを判定する"０"判定部１０１が接続され、レジスタ９２〜９４の各々にはカウント値が"１"であるかどうかを判定する"１"判定部とカウント値が"０"かどうかを判定する"０"判定部が接続されている。
【００５２】
隣接するレジスタに対応する"０"判定部と"１"判定部はＡＮＤ回路（１１１〜１１３）で接続され、また、４つの"０"判定部はＡＮＤ回路１１４で接続され、それぞれのＡＮＤ回路はＯＲ回路１１５に接続される。
【００５３】
このような回路構成により、カウント値監視部Ｂは常に４クロック分のカウント値を監視し、４クロック分のどこかで"１"→"０"が発生するかどうか、また、４クロックが全て"０"であるかどうかを監視し、いずれかの場合が発生した場合に異常を示す信号を出力する。
【００５４】
なお、図１０の回路で擾乱検出アラームが発生されると、全てのカウント値監視部Ａのレジスタの値は全て"０"に同期リセットされ、全てのカウント値監視部Ｂのレジスタの値は全て"１"に同期セットされる。  
また、カウント値を保持するレジスタの数をもっと多くしてもよい。これにより、より長い時間幅で監視を行うことができ、より確実にクロック異常を検出できる。
【００５５】
（動作例）
以下、本実施の形態におけるクロック異常検出回路の動作例を図１３〜図２５のタイムチャートに示す。各タイムチャートにおいて、ケース１は不定状態においてＨを取得した場合を示し、ケース２は不定状態においてＬを取得した場合を示している。
【００５６】
図１３は、対象クロックが正常であり、なおかつクロック値取り込み時に不定状態が発生しない場合のタイムチャートである。図１３に示すとおり、立ち上がりエッジ使用側と立ち下がり使用側ともに規則的なカウント値（"０"→"１"→"２"→"０"）が得られている。
【００５７】
図１４は、対象クロックは正常であるが、クロック値取り込み時に不定状態が発生する場合のタイムチャートである。不定状態が発生している立ち上がりエッジ使用側で"３"が発生するが、立ち下がりエッジ使用側では異常値は発生しないので、擾乱検出アラームは発生しない。
【００５８】
図１５は、対象クロックの周期は正常であるが、Ｄｕｔｙ幅が変動する場合のタイムチャートである。この場合、対象クロックを１／２分周することにより、Ｄｕｔｙ幅の変動を解消しているので、カウント値の異常は発生しない。
【００５９】
図１６は、対象クロックの周期が伸びるが、その伸びが検出可能な伸び（6.43ns）未満である場合のタイムチャートである。この場合、立ち上がりエッジ使用側でカウント値"３"が発生するが、立ち下がりエッジ使用側で異常値は検出されず、クロック擾乱検出アラームは発生しない。
【００６０】
図１７は、対象クロックの周期の伸びが6.43nsである場合のタイムチャートである。この場合、立ち上がりエッジ使用側のケース１、ケース２、及び立ち下がりエッジ使用側のケース１、ケース２の中でのいずれの組み合わせにおいても所定クロック分の監視の中で立ち上がりエッジ使用側と立ち下がりエッジ使用側の両方に"３"が発生している。従って、この場合はクロック擾乱検出アラームが発生する。
【００６１】
図１８は、対象クロックの周期の伸びが6.43ns以上12.86ns未満である場合のタイムチャートである。この場合も所定クロック分監視の中で立ち上がりエッジ使用側と立ち下がりエッジ使用側の両方に"３"が発生している。従って、クロック擾乱検出アラームが発生する。
【００６２】
図１９は、対象クロックの周期の伸びが12.86nsである場合のタイムチャートである。この場合も立ち上がりエッジ使用側と立ち下がりエッジ使用側の両方に"３"が発生している。従って、クロック擾乱検出アラームが発生する。
【００６３】
図２０は、対象クロックの周期の伸びが12.86ns以上である場合のタイムチャートである。この場合も立ち上がりエッジ使用側と立ち下がりエッジ使用側の両方に"３"が発生している。従って、クロック擾乱検出アラームが発生する。
【００６４】
図２１は、対象クロックの周期が縮むが、その縮みが検出可能な縮み（6.43ns）未満である場合のタイムチャートである。この場合、立ち上がりエッジ使用側でカウント値"１"→"０"が発生するが、立ち下がりエッジ使用側で異常値は検出されず、クロック擾乱検出アラームは発生しない。
【００６５】
図２２は、対象クロックの周期の縮みが6.43nsである場合のタイムチャートである。この場合、立ち上がりエッジ使用側のケース１、ケース２、及び立ち下がりエッジ使用側のケース１、ケース２の中でのいずれの組み合わせにおいても所定クロック分の監視の中で立ち上がりエッジ使用側と立ち下がりエッジ使用側の両方に"１"→"０"等が発生していることから、クロック擾乱検出アラームが発生する。
【００６６】
図２３は、対象クロックの周期の縮みが6.43ns以上12.86ns未満である場合のタイムチャートである。この場合も立ち上がりエッジ使用側と立ち下がりエッジ使用側の両方に"１"→"０"が発生していることから、クロック擾乱検出アラームが発生する。
【００６７】
図２４は、対象クロックの周期の縮みが12.86nsである場合のタイムチャートである。この場合、立ち上がりエッジ使用側と立ち下がりエッジ使用側の両方に"１"→"０"もしくは"０"→"０"→"０"→"０"が発生していることから、クロック擾乱検出アラームが発生する。
【００６８】
図２５は、対象クロックの周期の縮みが12.86ns以上である場合のタイムチャートである。この場合も立ち上がりエッジ使用側と立ち下がりエッジ使用側の両方に"１"→"０"もしくは"０"→"０"→"０"→"０"が発生していることから、クロック擾乱検出アラームが発生する。
【００６９】
以上説明したように、本実施の形態におけるクロック擾乱検出回路により高精度にクロック異常を検出できる。
【００７０】
また、例えば、対象クロック発生手段を備えた現用系回路と、対象クロック発生手段を備えた予備系回路を備える機器において、本実施の形態におけるクロック擾乱検出回路により現用系回路の対象クロック発生手段から発生するクロックの異常を検出した場合に、予備系回路に切り替える手段を備えることにより、クロック障害に強い高品質の機器を提供することが可能となる。
【００７１】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
（付記１）  
対象クロックを分周して対象分周クロックを出力する分周部と、
対象クロックと同期関係にある監視クロックの立ち上がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第１の時間幅測定部と、
前記監視クロックの立ち下がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第２の時間幅測定部と、
第１の時間幅測定部で測定されたHレベルもしくはLレベルの時間幅に異常が検出され、かつ、第２の時間幅測定部で測定されたHレベルもしくはLレベルの時間幅に異常が検出されたときに対象クロックが異常であると判定する異常判定部と、
を備えることを特徴とするクロック異常検出回路。
（付記２）  
対象クロックの周期が正常値から所定の時間幅以上ずれた場合に異常であると定義する場合において、前記監視クロックとして前記所定の時間幅の２倍の周期のクロックを使用することを特徴とする付記１に記載のクロック異常検出回路。
（付記３）  
第１の時間幅測定部と第２の時間幅測定部のそれぞれが、前記Hレベルの時間幅としてHレベルの期間における監視クロックの個数をカウントするHレベルカウンタと、前記Lレベルの時間幅としてLレベルの期間における監視クロックの個数をカウントするLレベルカウンタを備えることを特徴とする付記１に記載のクロック異常検出回路。
（付記４）
前記異常検出部は、第１の時間幅測定部のHレベルカウンタに接続される第１のカウント値異常検出部、第１の時間幅測定部のLレベルカウンタに接続される第２のカウント値異常検出部、第２の時間幅測定部のHレベルカウンタに接続される第３のカウント値異常検出部、第２の時間幅測定部のLレベルカウンタに接続される第４のカウント値異常検出部を備え、
カウント値異常検出部のそれぞれが、対象クロックの周期が伸びる場合のカウント値の異常を検出する周期伸張検出部と、対象クロックの周期が縮む場合のカウント値の異常を検出する周期短縮検出部とを備えることを特徴とする付記３に記載のクロック異常検出回路。
（付記５）  
対象クロックを分周して対象分周クロックを出力する分周ステップと、
対象クロックと同期関係にある監視クロックの立ち上がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第１の時間幅測定ステップと、
前記監視クロックの立ち下がりエッジを使用して対象分周クロックの値を取得し、Hレベルの時間幅とLレベルの時間幅を測定する第２の時間幅測定ステップと、
第１の時間幅測定ステップで測定されたHレベルもしくはLレベルの時間幅に異常が検出され、かつ、第２の時間幅測定ステップで測定されたHレベルもしくはLレベルの時間幅に異常が検出されたときに対象クロックが異常であると判定する異常判定ステップと、
を備えることを特徴とするクロック異常検出方法。
（付記６）  
対象クロックの周期が正常値から所定の時間幅以上ずれた場合に異常であると定義する場合において、前記監視クロックとして前記所定の時間幅の２倍の周期のクロックを使用することを特徴とする付記５に記載のクロック異常検出方法。
（付記７）
第１の時間幅測定ステップと第２の時間幅測定ステップのそれぞれにおいて、前記Hレベルの時間幅としてHレベルの期間における監視クロックの個数をカウントし、前記Lレベルの時間幅としてLレベルの期間における監視クロックの個数をカウントすることを特徴とする付記５に記載のクロック異常検出方法。
（付記８）
前記異常検出ステップにおいて、
第１の時間幅測定ステップにおけるHレベル及びLレベルのそれぞれについて、対象クロックの周期が伸びる場合のカウント値の異常と、対象クロックの周期が縮む場合のカウント値の異常を監視し、
第２の時間幅測定ステップにおけるHレベル及びLレベルのそれぞれについて、対象クロックの周期が伸びる場合のカウント値の異常と、対象クロックの周期が縮む場合のカウント値の異常を監視することを特徴とする付記７に記載のクロック異常検出回路。
【図面の簡単な説明】
【００７２】
【図１】クロックの異常を検出する従来技術の例を説明するための図である。
【図２】従来技術におけるクロック異常検出回路の構成図である。
【図３】図２に示すクロック異常検出回路の動作を説明するための図である。
【図４】本発明の実施の形態におけるクロック異常検出回路１０の概要構成図である。
【図５】クロック異常検出回路１０の基本的な動作を説明するためのタイムチャートである。
【図６】対象クロックのＤｕｔｙ幅変動がある場合のタイムチャートである。
【図７】不定状態を説明するための図である。
【図８】対象クロックの周期が伸びる場合の異常検出を説明するためにタイムチャートである。
【図９】対象クロックの周期が縮む場合の異常検出を説明するためにタイムチャートである。
【図１０】本発明の実施の形態におけるクロック異常検出回路１０の詳細構成例を示す図である。
【図１１】カウント値監視部Ａの詳細構成図である。
【図１２】カウント値監視部Ｂの詳細構成図である。
【図１３】対象クロックが正常であり、クロック値取り込み時に不定状態が発生しない場合のタイムチャートである。
【図１４】対象クロックは正常であるが、クロック値取り込み時に不定状態が発生する場合のタイムチャートである。
【図１５】対象クロックの周期は正常であるが、Ｄｕｔｙ幅が変動する場合のタイムチャートである。
【図１６】対象クロックの周期が伸びるが、その伸びが検出可能な伸び（6.43ns）未満である場合のタイムチャートである。
【図１７】対象クロックの周期の伸びが6.43nsである場合のタイムチャートである。
【図１８】対象クロックの周期の伸びが6.43ns以上12.86ns未満である場合のタイムチャートである。
【図１９】対象クロックの周期の伸びが12.86nsである場合のタイムチャートである。
【図２０】対象クロックの周期の伸びが12.86ns以上である場合のタイムチャートである。
【図２１】対象クロックの周期が縮むが、その縮みが検出可能な縮み（6.43ns）未満である場合のタイムチャートである。
【図２２】対象クロックの周期の縮みが6.43nsである場合のタイムチャートである。
【図２３】対象クロックの周期の縮みが6.43ns以上12.86ns未満である場合のタイムチャートである。
【図２４】対象クロックの周期の縮みが12.86nsである場合のタイムチャートである。
【図２５】対象クロックの周期の縮みが12.86ns以上である場合のタイムチャートである。
【符号の説明】
【００７３】
１１  １／２分周部
１２  立ち上がりエッジ使用時間幅測定部
１３  立ち下がりエッジ使用時間幅測定部
１４  対象クロック異常検出部
１５、１８  対象クロックデータ取得部
１６、１９  対象クロックＨレベル幅測定部（Ｈカウンタ）
１７、２０  対象クロックＬレベル幅測定部（Ｌカウンタ）
３１、３３、３５、３７  カウント値監視部Ａ
３２、３４、３６、３８  カウント値監視部Ｂ
４１〜４４、６１、８６、１１５  ＯＲ回路
５１、５２、１１１〜１１４  ＡＮＤ回路
７１〜７５、９１〜９４  レジスタ
８１〜８５  "３"判定部
１０１、１０３、１０５、１０７  "０"判定部
１０２、１０４、１０６  "１"判定部
【図１】
0004653008.tif 000002
【図２】
0004653008.tif 000003
【図３】
0004653008.tif 000004
【図４】
0004653008.tif 000005
【図５】
0004653008.tif 000006
【図６】
0004653008.tif 000007
【図７】
0004653008.tif 000008
【図８】
0004653008.tif 000009
【図９】
0004653008.tif 000010
【図１０】
0004653008.tif 000011
【図１１】
0004653008.tif 000012
【図１２】
0004653008.tif 000013
【図１３】
0004653008.tif 000014
【図１４】
0004653008.tif 000015
【図１５】
0004653008.tif 000016
【図１６】
0004653008.tif 000017
【図１７】
0004653008.tif 000018
【図１８】
0004653008.tif 000019
【図１９】
0004653008.tif 000020
【図２０】
0004653008.tif 000021
【図２１】
0004653008.tif 000022
【図２２】
0004653008.tif 000023
【図２３】
0004653008.tif 000024
【図２４】
0004653008.tif 000025
【図２５】
0004653008.tif 000026