(57)【要約】【課題】外部クロックの断に対応し、高品質なクロックを供給し続けることができるクロック供給回路を実現する。【解決手段】内部クロック生成部は、外部クロックをもとに、外部クロックが正常なとき外部クロックのハイレベル期間に包含されるハイレベル期間を持つ内部クロックを生成し、外部クロックが異常なとき外部クロックの位相に対応する内部クロックを生成する。ＯＲ回路７０は、外部クロックと、内部クロック生成部により生成された内部クロックの論理和信号を出力する。内部クロック生成部は、外部クロックに異常が検出されたとき、その検出終了時点から、本来の外部クロックの位相の一部を復元した内部クロックを生成し、次の周期から外部クロックの位相の全てを復元した内部クロックを生成することができる。【選択図】図１
2014170453.tif 000002
【特許請求の範囲】
【請求項１】
外部クロックをもとに、前記外部クロックが正常なとき前記外部クロックのハイレベル期間に包含されるハイレベル期間を持つ内部クロックを生成し、前記外部クロックが異常なとき前記外部クロックの位相に対応する内部クロックを生成する内部クロック生成部と、
前記外部クロックと、前記内部クロック生成部により生成された内部クロックの論理和信号を出力するＯＲ回路と、
を備えることを特徴とするクロック供給回路。
【請求項２】
前記内部クロック生成部は、前記外部クロックに異常が検出されたとき、その検出終了時点から、本来の外部クロックの位相の一部を復元した内部クロックを生成し、次の周期から前記外部クロックの位相の全てを復元した内部クロックを生成することを特徴とする請求項１に記載のクロック供給回路。
【請求項３】
前記内部クロック生成部は、
前記外部クロックの立ち上がりエッジを検出するエッジ検出回路と、
エッジ検出用のウインドウ内に前記立ち上がりエッジが存在する場合は前記外部クロックを正常と判定し、存在しない場合は異常と判定する判定回路と、
前記エッジ検出回路から出力されるエッジ信号を、当該信号に含まれるエッジが前記ウインドウの外に出るよう遅延させて、内部の基準クロックを生成する基準クロック生成回路と、
前記外部クロックが正常なとき前記基準クロックに含まれるエッジをもとに、前記ウインドウの終了位置から前記外部クロックのハイレベル期間の終了位置までのハイレベル期間を持つ内部クロックを生成し、前記外部クロックが異常なとき前記ウインドウ内の所定の位置から、前記外部クロックの位相に対応する内部クロックを生成する内部クロック生成回路と、
を含むことを特徴とする請求項１または２に記載のクロック供給回路。
【請求項４】
前記基準クロック生成回路は、前記エッジ信号の各周期のエッジ間隔の履歴を保持するメモリを含み、前記エッジ信号にエッジが含まれていない場合、前記メモリから読み出した各エッジ間隔をもとに前記基準クロックを生成することを特徴とする請求項３に記載のクロック供給回路。
【請求項５】
前記ＯＲ回路の後段に位相同期発振器を、さらに備えることを特徴とする請求項１から４のいずれかに記載のクロック供給回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像伝送装置などに搭載されるクロック供給回路に関する。
【背景技術】
【０００２】
リアルタイムに映像を配信する映像伝送装置などのネットワーク上の装置において、以下の要求を満たす装置が求められている。外部クロックに同期して動作する。ジッタを抑える。外部クロックが断した場合でも内部の自走クロックに切り替えて動作できる。この切り替え時における位相のずれを抑える。
【０００３】
正常時は外部クロックに同期して動作し、異常時は内部の発振器で生成される自走クロックで動作する装置において、その切り替え時の位相変化を極力抑えたい場合、通常以下の２方式が考えられる。
【０００４】
第１方式は、装置内の発振器で生成される自走クロックの周波数を外部クロックの周波数の１００〜１００００倍以上に設定し、常時、外部クロックのエッジを検出することにより自走クロックの位相を修正し続ける方式である。この方式では、装置内で外部クロックから自走クロックに一度乗り換える構成となるため、外部クロックの揺らぎや周波数の差により、装置内で使用するクロックにジッタが付加されやすくなる。
【０００５】
第２方式は、装置内の発振器で生成される自走クロックの周波数を外部クロックの周波数と同じとし、外部クロックの断を検出したら装置内で使用するクロックを自走クロックに切り替える方式である。この方式では、装置内の発振器で自走クロックの位相を外部クロックの位相に合わせることができないため、切り替え時に位相変動が発生しやすくなる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−０３２５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明はこうした状況に鑑みてなされたものであり、その目的は、外部クロックを受けて装置内部にクロックを供給するクロック供給回路において、外部クロックの断にも対応し、高品質なクロックを供給し続ける技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様のクロック供給回路は、外部クロックをもとに、外部クロックが正常なとき外部クロックのハイレベル期間に包含されるハイレベル期間を持つ内部クロックを生成し、外部クロックが異常なとき外部クロックの位相に対応する内部クロックを生成する内部クロック生成部と、外部クロックと、内部クロック生成部により生成された内部クロックの論理和信号を出力するＯＲ回路と、を備える。内部クロック生成部は、外部クロックに異常が検出されたとき、その検出終了時点から、本来の外部クロックの位相の一部を復元した内部クロックを生成し、次の周期から外部クロックの位相の全てを復元した内部クロックを生成する。
【発明の効果】
【０００９】
本発明によれば、外部クロックの断にも対応し、高品質なクロックを供給し続けるクロック供給回路を実現できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係るクロック供給回路を示すブロック図である。
【図２】図１のクロック供給回路の動作例を説明するためのタイミングチャートである（その１）。
【図３】図１のクロック供給回路の動作例を説明するためのタイミングチャートである（その２）。
【図４】実施の形態２に係るクロック供給回路の、自走クロック基準信号生成回路の構成例を示すブロック図である。
【図５】実施の形態２に係るクロック供給回路の動作例を説明するためのタイミングチャートである（その１）。
【図６】実施の形態２に係るクロック供給回路の動作例を説明するためのタイミングチャートである（その２）。
【発明を実施するための形態】
【００１１】
図１は、本発明の実施の形態１に係るクロック供給回路１００を示すブロック図である。クロック供給回路１００は、ネットワークに接続される装置（例えば、通信装置、映像伝送装置）に搭載される。特にネットワーク上に接続された装置間において、ジッタ規定が厳格であり高精度な同期が必要な装置への搭載に適している。
【００１２】
クロック供給回路１００は、発振器１０、エッジ検出回路２０、自走クロック基準信号生成回路３０、ウインドウ生成回路４０、比較回路５０、自走クロック生成回路６０、ＯＲ回路７０、同期位相発振器（ＰＬＯ；Phase Locked Oscillator）８０を備える。以下、発振器１０、エッジ検出回路２０、自走クロック基準信号生成回路３０、ウインドウ生成回路４０、比較回路５０、自走クロック生成回路６０を総称して内部クロック生成部という。
【００１３】
内部クロック生成部（以下、自走クロック生成部という）は、外部から入力される入力クロックの立ち上がりエッジ／立ち下がりエッジをもとに決定された位相を持つ自走クロックを生成し、ＯＲ回路７０に出力する。自走クロック生成部は、生成する自走クロックの周波数が、入力クロックの周波数（公称値）に合うように設計されている。
【００１４】
自走クロック生成部は、入力クロックが正常なとき、入力クロックのハイレベル期間に包含されるハイレベル期間を持つ自走クロックを生成する。一方、入力クロックが異常なとき自走クロック生成部は基本的に、入力クロックと位相が対応または等しい自走クロックを生成する。
【００１５】
ただし、外部クロックに異常が検出された周期では、本来の外部クロックの位相を全て復元することはできない。自走クロック生成部は、外部クロックの異常検出終了時点から、本来の外部クロックの位相の一部を復元または近似した内部クロックを生成する。次の周期から外部クロックの位相の全てを復元または近似した内部クロックを生成する。
【００１６】
ＯＲ回路７０には、外部から入力クロックが入力され、自走クロック生成部から自走クロックが入力される。ＯＲ回路７０は入力クロックと自走クロックの論理和信号を出力する。位相同期発振器８０は、ＯＲ回路７０から出力されるクロックをもとに、フィードバックループにより位相がロックされた出力クロックを生成する。当該出力クロックは、クロック供給回路１００が搭載される装置内の基準クロックとして使用される。
【００１７】
以下、自走クロック生成部を具体的に説明する。発振器１０は水晶振動子を用いた、クロック供給回路１００の内部に搭載される発振器である。発振器１０は、入力クロックの１００倍〜１０００倍の周波数で発振する。例えば、入力クロックの周波数が１００ｋＨｚのとき、発振器１０の発振周波数を５００ＭＨｚに設計する。発振器１０により生成されるクロックＣＬＫは、エッジ検出回路２０、自走クロック基準信号生成回路３０、ウインドウ生成回路４０、比較回路５０、自走クロック生成回路６０にそれぞれ供給される。
【００１８】
エッジ検出回路２０は、入力クロックの立ち上がりエッジを検出し、その立ち上がりエッジをもとにエッジ信号を生成する。エッジ検出回路２０は、生成したエッジ信号を自走クロック基準信号生成回路３０及び比較回路５０にそれぞれ出力する。
【００１９】
ウインドウ生成回路４０は、自走クロック基準信号生成回路３０により生成される自走クロック基準信号をもとにエッジ検出用のウインドウ信号を生成し、比較回路５０に出力する。ウインドウ信号は、入力クロックの立ち上がりエッジが存在すべき位置を中心とするウインドウを規定した信号である。
【００２０】
比較回路５０は、ウインドウ生成回路４０から入力されるウインドウ信号と、エッジ検出回路２０から入力されるエッジ信号を比較し、ウインドウ内にエッジが存在するか否か判定する。ウインドウ内にエッジが存在する場合は入力クロックを正常と判定し、存在しない場合は異常と判定する。比較回路５０は、入力クロックの正常／異常を示す正常／異常信号を自走クロック基準信号生成回路３０及び自走クロック生成回路６０にそれぞれ出力する。また比較回路５０は入力クロックを異常と判定したとき、クロック供給回路１００より上位の図示しない制御回路に、異常発生を示すアラート信号を通知する。
【００２１】
自走クロック基準信号生成回路３０は、エッジ検出回路２０から入力されるエッジ信号を、当該信号に含まれるエッジがウインドウの外に出るようを遅延させて、自走クロック基準信号を生成する。具体的にはエッジを、ウインドウの終了位置の直後まで移動させる。自走クロック基準信号生成回路３０は、生成した自走クロック基準信号を自走クロック生成回路６０に出力する。
【００２２】
また自走クロック基準信号生成回路３０は、生成した自走クロック基準信号をウインドウ生成回路４０にも出力する。ウインドウ生成回路４０は入力される自走クロック基準信号のエッジ位置をもとに、ウインドウ位置を設定する。また自走クロック生成回路６０は、比較回路５０から異常信号が入力されると、入力クロックに対応する自走クロックを生成する。
【００２３】
自走クロック生成回路６０は、入力クロックが正常なとき自走クロック基準信号に含まれるエッジをもとに、ウインドウの終了位置から、入力クロックのハイレベル期間の終了位置までのハイレベル期間を持つ自走クロックを生成する。また入力クロックが異常なときウインドウ内の所定の位置（例えば、中心位置）から、入力クロックの位相に対応する自走クロックを生成する。
【００２４】
自走クロック生成回路６０は通常、自走クロックの立ち上がりエッジを、ウインドウの直後に設定する。入力クロックのエッジが正常に存在するか否かは、ウインドウの終了位置を経過した時点で確定するため、自走クロックの立ち上がりエッジは、最短でウインドウの直後に設定することになる。
【００２５】
ウインドウ内に入力クロックの立ち上がりエッジが現れず、入力クロックが異常と判定される場合、次の周期で自走クロックの立ち上がりエッジをウインドウ内に設定する。ウインドウが、検出すべきエッジを中心に左右対称に設計されている場合、ウインドウ内の中心位置に、自走クロックの立ち上がりエッジを設定する。これにより本来の外部クロックの立ち上がりエッジ位置と、自走クロックの立ち上がりエッジ位置を合せることができる。
【００２６】
入力クロックが正常なとき、入力クロックのＯＲ回路７０通過時に、自走クロックにより変更されないため、ＯＲ回路７０から入力クロックがそのまま出力される。一方、入力クロックが断すると、ＯＲ回路７０からは自走クロックがそのまま出力される。比較回路５０が入力クロックの異常を検出すると、次の周期から自走クロック生成回路６０は、入力クロックの位相に対応する自走クロックを生成する。さらに後段の位相同期発振器８０でも位相変動が緩和されるため、入力クロックから自走クロックへの切替時の位相変動の影響を大幅に軽減できる。
【００２７】
以下、図１に示した実施の形態１に係るクロック供給回路１００の動作を具体例を挙げながら説明する。図２、図３は、図１のクロック供給回路１００の動作例を説明するためのタイミングチャートである。まず以下の説明で使用するパラメータを定義する。ｍはウインドウ幅を決めるパラメータである。ウインドウ幅は（ｍ＊２＋１）で定義される。これは発振器１０のクロックで（ｍ＊２＋１）周期幅であることを示す（以下同様）。本動作例ではｍ＝２と設定する。従ってウインドウ幅は５である。ｎは公称のクロック周期である。本動作例ではｎ＝１６に設定する。また本動作例では、エッジ検出回路２０、自走クロック生成回路６０、ウインドウ生成回路４０のそれぞれの内部にカウンタを設ける。
【００２８】
図２、図３において、エッジ検出回路２０は入力クロックの立ち上がりエッジを検出すると、発振器１０から供給される次のクロックＣＬＫでエッジを立てる。比較回路５０はウインドウ信号のウインドウ内に、エッジ信号のエッジが含まれる場合は正常／異常信号をハイレベルに設定し、含まない場合は正常／異常信号をローレベルに設定する。図２、図３では５番目のウインドウ内にエッジが出現しなくなるため、５番目のウインドウの終了位置から正常／異常信号をローレベルに設定する。
【００２９】
自走クロック基準信号生成回路３０は正常／異常信号がハイレベルのとき、エッジ信号を、（ｍ＋１）クロックＣＬＫ、遅延して自走クロック基準信号を生成する。本動作例ではエッジ信号を３クロック遅延して自走クロック基準信号を生成する。正常／異常信号がローレベルのとき、自走クロック基準信号生成回路３０は自走クロック基準信号を常時、ローレベルに設定する。
【００３０】
自走クロック生成回路６０は、自走クロック基準信号がハイレベルになると、その次のクロックＣＬＫで内部のカウンタを１に設定する。当該カウンタはクロックＣＬＫに同期してインクリメントし、ｎ（＝１６）で１に自己リセットする。正常／異常信号がハイレベルの場合にて自走クロック生成回路６０は、当該カウンタのカウント値が１〜（ｍ＋１）、（ｎ／２＋２ｍ＋４）〜ｎの値のとき、自走クロックをハイレベルに設定する。カウント値がそれ以外の値のとき自走クロックをローレベルに設定する。具体的にはカウント値が１〜３、１６のときハイレベルに設定し、４〜１５のときローレベルに設定する。
【００３１】
正常／異常信号がローレベルの場合にて自走クロック生成回路６０は、当該カウンタのカウント値が１〜（ｍ＋１）、（ｎ／２＋ｍ＋２）〜ｎの値のとき、自走クロックをハイレベルに設定する。カウント値がそれ以外の値のとき自走クロックをローレベルに設定する。具体的にはカウント値が１〜３、１２〜１６のときハイレベルに設定し、４〜１１のときローレベルに設定する。
【００３２】
ウインドウ生成回路４０は、自走クロック基準信号がハイレベルになると、その次のクロックＣＬＫで内部のカウンタを１に設定する。当該カウンタはクロックＣＬＫに同期してインクリメントし、ｎ（＝１６）で１に自己リセットする。ウインドウ生成回路４０は、当該カウンタのカウント値が（ｎ−２ｍ−１）〜（ｎ−１）の値のとき、ウインドウ信号をハイレベルに設定する。カウント値がそれ以外の値のときウインドウ信号をローレベルに設定する。具体的にはカウント値が１１〜１５のときハイレベルに設定し、１〜１０、１６のときローレベルに設定する。
【００３３】
ＯＲ回路７０は入力クロックと自走クロックの論理和を出力する。ＯＲ回路７０の出力クロック信号は、入力クロックに異常が検出された周期のハイレベル期間は短くなるが、クロックが立ち上がらない空白期間が長く続くことを回避している。また次のクロック周期ではハイレベル期間が、入力クロックのハイレベル期間と等しくなり、位相変動を最小限に抑えながら、入力クロックから自走クロックへ切り替えられていることが分かる。
【００３４】
以上説明したように実施の形態１では、入力クロックが正常なとき、ウインドウ幅に応じてハイレベル期間の前半部分が立ち下がっている自走クロックを生成し、入力クロックが異常なとき、本来の入力クロックと同じ位相の自走クロックを生成する。これにより、外部クロックの断にも対応し、高品質なクロックを供給し続けるクロック供給回路を実現できる。
【００３５】
外部クロックが正常なとき、外部クロックが自走クロックの影響を受けずに出力されるため、外部クロックの位相に忠実なクロックが出力されることなる。外部クロックに異常が発生したとき、その周期のクロックのハイレベル期間の前半が欠けるだけで、その後は、外部クロックの位相に近似された自走クロックが出力される。このように外部クロックから自走クロックに切り替える際の位相変動が最低限に抑えられる。
【００３６】
実施の形態１では入力クロックが異常なとき、自走クロック生成回路６０は、発振器１０から供給されるクロックＣＬＫをもとに自走クロックを生成する例を挙げた。入力クロックと、分周後のクロックＣＬＫに周波数偏差がある場合、クロック切り替えにより周波数が変化する。これは、クロック供給回路１００からクロックが供給されるターゲット装置の動作を乱す原因となる。そこで入力クロックと自走クロックの周波数をより正確に近似させる方式が望まれる。実施の形態２では、実施の形態１に係る自走クロック基準信号生成回路３０を改良して、周波数の近似精度を向上させたクロック供給回路１００を説明する。
【００３７】
図４は、実施の形態２に係るクロック供給回路１００の、自走クロック基準信号生成回路３０の構成例を示すブロック図である。実施の形態２に係るクロック供給回路１００の全体構成は、図１に示したクロック供給回路１００と同じである。実施の形態２では自走クロック基準信号生成回路３０の構成が異なる。実施の形態２では自走クロック基準信号生成回路３０は、エッジ信号の各周期のエッジ間隔の履歴を保持するメモリ３４を含み、エッジ検出回路２０から入力されるエッジ信号にエッジが含まれていない場合、メモリ３４から読み出した各エッジ間隔をもとに自走クロック基準信号を生成する。以下、より具体的に説明する。
【００３８】
実施の形態２に係る自走クロック基準信号生成回路３０は、第１クロックカウンタ３１、ラッチ回路３２、第１周期カウンタ３３、メモリ３４、第２クロックカウンタ３５、第２周期カウンタ３６、出力制御回路３７を備える。
【００３９】
第１クロックカウンタ３１は、エッジ信号の各周期のエッジ間隔をカウントアップする。ラッチ回路３２は、第１クロックカウンタ３１から入力される周期データをラッチし、エッジ信号がハイレベルのとき、保持している周期データをメモリ３４に出力する。第１周期カウンタ３３は、エッジ信号の周期数をカウントアップする。第１周期カウンタ３３は、保持している周期数を書込アドレスとしてメモリ３４に出力する。
【００４０】
メモリ３４はｋワードの領域を有する。各ワードは１つのポートから書き込み、１つのポートから読み出しが随時可能な構成である。第２クロックカウンタ３５は、出力制御回路３７から設定されるデフォルト値またはメモリ３４から読み出した周期データの値を初期として、１までカウントダウンする。１に到達すると出力制御回路３７に通知する。第２周期カウンタ３６は、出力制御回路３７からの指示に応じてカウントアップする。第２周期カウンタ３６は、保持している値を読出アドレスとしてメモリ３４に出力する。
【００４１】
出力制御回路３７は入力クロックが正常なとき、エッジ信号を遅延させて自走クロック基準信号として自走クロック生成回路６０に出力する。入力クロックが異常なとき、メモリ３４に格納された周期データをもとに生成した自走クロック基準信号を出力する。
【００４２】
実施の形態２に係るクロック供給回路１００の動作を具体例を挙げながら説明する。図５、図６は、実施の形態２に係るクロック供給回路１００の動作例を説明するためのタイミングチャートである。まず以下の説明で使用するパラメータを定義する。ｍはウインドウ幅を決めるパラメータである。ウインドウ幅は（ｍ＊２＋１）で定義される。本動作例ではｍ＝２と設定する。従ってウインドウ幅は５である。ｎは公称のクロック周期である。本動作例ではｎ＝１６に設定する。ｋはメモリ３４のワード数である。
【００４３】
図５、図６において、エッジ検出回路２０は入力クロックの立ち上がりエッジを検出すると、発振器１０から供給される次のクロックＣＬＫでエッジを立てる。比較回路５０はウインドウ信号のウインドウ内に、エッジ信号のエッジが含まれる場合は正常／異常信号をハイレベルに設定し、含まない場合は正常／異常信号をローレベルに設定する。
【００４４】
第１クロックカウンタ３１はエッジ信号がローレベルのとき、クロックＣＬＫに同期して１カウントアップ（インクリメント）する。エッジ信号がハイレベルになると、クロックＣＬＫに同期してカウント値を１にリセットする。第１クロックカウンタ３１は、リセットする時点で保持しているカウント値を、周期データとしてラッチ回路３２に出力する。
【００４５】
ラッチ回路３２は、第１クロックカウンタ３１から入力されるカウント値を、次に第１クロックカウンタ３１からカウント値が入力されるまで保持する。ラッチ回路３２は、エッジ信号がハイレベルのとき、保持しているカウント値を周期データ（ＷＲＩＴＥ  ＤＡＴＡ）としてメモリ３４に出力する。
【００４６】
第１周期カウンタ３３は、１〜ｋ（＝３４）までカウント可能なアップカウンタである。第１周期カウンタ３３は、エッジ信号がローレベルのとき前値を保持する。エッジ信号がハイレベルのとき、クロックＣＬＫに同期して１カウントアップ（インクリメント）する。オーバフローした場合はカウント値を１にリセットする。第１周期カウンタ３３はカウント値を、書込アドレス（ＷＲＩＴＥ  ＡＤＲ）を示すエッジナンバーとしてメモリ３４に出力する。
【００４７】
第２クロックカウンタ３５は、出力制御回路３７から入力されるカウントダウン信号がハイレベルのとき、クロックＣＬＫに同期して１カウントダウン（デクリメント）する。また出力制御回路３７から入力されるラッチ信号がハイレベルのとき、メモリ３４から読み出した周期データの値を、クロックＣＬＫに同期してカウント値に設定する。また出力制御回路３７から入力されるデフォルト信号がハイレベルのとき、クロックＣＬＫに同期してデフォルト値をカウント値に設定する。デフォルト値は、公称のクロック周期の２倍の値が設定される。本動作例では３２である。
【００４８】
第２クロックカウンタ３５は、カウント値が１のとき、カウンタ値＝１を示す信号（以下、カウント終了信号という）をハイレベルに設定し、カウント値が１以外のとき、カウント終了信号をローレベルに設定する。第２クロックカウンタ３５はカウント終了信号を出力制御回路３７に出力する。
【００４９】
第２周期カウンタ３６は、１〜ｋ（＝３４）までカウント可能なアップカウンタである。第２周期カウンタ３６は、出力制御回路３７から入力されるカウントアップ信号がローレベルのとき前値を保持する。カウントアップ信号がハイレベルのとき、クロックＣＬＫに同期して１カウントアップ（インクリメント）する。オーバフローした場合はカウント値を１にリセットする。第２周期カウンタ３６はカウント値を、読出アドレス（ＲＥＡＤ  ＡＤＲ）を示すエッジナンバーとしてメモリ３４に出力する。
【００５０】
出力制御回路３７は、正常／異常信号がハイレベルのとき、エッジ信号を（ｍ＋１）クロック、遅延して自走クロック基準信号を生成する。本動作例ではエッジ信号を３クロック遅延して自走クロック基準信号を生成する。正常／異常信号がローレベルのとき、出力制御回路３７はカウント終了信号を（ｍ＋１）クロック、遅延して自走クロック基準信号を生成する。
【００５１】
出力制御回路３７は、正常／異常信号がハイレベルで且つエッジ信号がハイレベルのとき、デフォルト信号をハイレベルに設定し、第２クロックカウンタ３５に出力する。その条件を満たさない場合、出力制御回路３７はデフォルト信号をローレベルに設定し、第２クロックカウンタ３５に出力する。
【００５２】
出力制御回路３７は、正常／異常信号がローレベルで且つカウント終了信号がハイレベルのとき、ラッチ信号をハイレベルに設定し、第２クロックカウンタ３５に出力する。その条件を満たさない場合、出力制御回路３７はラッチ信号をローレベルに設定し、第２クロックカウンタ３５に出力する。
【００５３】
出力制御回路３７は、エッジ信号がローレベルのとき、カウントダウン信号をハイレベルに設定し、第２クロックカウンタ３５に出力する。エッジ信号がハイレベルのとき、カウントダウン信号をローレベルに設定し、第２クロックカウンタ３５に出力する。出力制御回路３７は、カウント終了信号がハイレベルのとき、カウントアップ信号をハイレベルに設定し、第２周期カウンタ３６に出力する。カウント終了信号がローレベルのとき、カウントアップ信号をローレベルに設定し、第２周期カウンタ３６に出力する。
【００５４】
書込信号（ＷＲ信号）となるエッジ検出信号がハイレベルのとき、ラッチ回路３２から入力される周期データ（ＷＲＩＴＥ  ＤＡＴＡ）が、第１周期カウンタ３３から入力される書込アドレス（ＷＲＩＴＥ  ＡＤＲ）に書き込まれる。第２周期カウンタ３６から指定される読出アドレス（ＲＥＡＤ  ＡＤＲ）に格納された周期データ（ＲＥＡＤ  ＤＡＴＡ）は、第２クロックカウンタ３５に読み出される。
【００５５】
自走クロック生成回路６０は、自走クロック基準信号がハイレベルになると、その次のクロックＣＬＫで内部のカウンタを１に設定する。当該カウンタはクロックＣＬＫに同期してインクリメントし、ｎ（＝１６）で１に自己リセットする。正常／異常信号がハイレベルの場合にて自走クロック生成回路６０は、当該カウンタのカウント値が１〜（ｍ＋１）、（ｎ／２＋２ｍ＋４）〜ｎの値のとき、自走クロックをハイレベルに設定する。カウント値がそれ以外の値のとき自走クロックをローレベルに設定する。正常／異常信号がローレベルの場合にて自走クロック生成回路６０は、当該カウンタのカウント値が１〜（ｍ＋１）、（ｎ／２＋ｍ＋２）〜ｎの値のとき、自走クロックをハイレベルに設定する。カウント値がそれ以外の値のとき自走クロックをローレベルに設定する。
【００５６】
ウインドウ生成回路４０は、自走クロック基準信号がハイレベルになると、その次のクロックＣＬＫで内部のカウンタを１に設定する。当該カウンタはクロックＣＬＫに同期してインクリメントし、ｎ（＝１６）で１に自己リセットする。ウインドウ生成回路４０は、当該カウンタのカウント値が（ｎ−２ｍ−１）〜（ｎ−１）の値のとき、ウインドウ信号をハイレベルに設定する。カウント値がそれ以外の値のときウインドウ信号をローレベルに設定する。具体的にはカウント値が１１〜１５のときハイレベルに設定し、１〜１０、１６のときローレベルに設定する。ＯＲ回路７０は入力クロックと自走クロックの論理和を出力する。
【００５７】
以上説明したように実施の形態２によれば、過去のエッジ間隔を記録し、入力クロックの異常発生時に当該エッジ間隔を用いて自走クロックを生成することにより、入力クロックの周波数ずれに適応できる。自走クロック生成回路は入力クロックの立ち上がりエッジに合わせて立ち上がりエッジを出力するが、入力クロックと発振器１０のクロックに周波数差がある場合、立ち上がりエッジの間隔は通常の間隔よりも＋１または−1される。これに対し、エッジ間隔を例えば、１０００周期分保持し、異常時にそれに従って自走クロックを生成すれば、発振器１０の１０００倍の精度で周波数を合わせることが可能となる。例えば、入力クロック＝１００ｋＨｚ、発振器１０のクロック＝５００ＭＨｚ、エッジ間隔の記録数＝１０００の場合、クロック切り替え時の周波数偏差を０．２ｐｐｍ（１００ｋＨｚ／（５００ＭＨｚ＊１０００）＝２×１０＾−７＝０．２ｐｐｍ）以下にすることが可能となる。
【００５８】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５９】
上述の実施の形態では入力クロックの立ち上がりエッジをもとに、自走クロックを生成する例を説明した。この点、入力クロックの立ち下がりエッジをもとに、自走クロックを生成してもよい。この場合、図２、図３のタイミングチャートにおいてエッジ信号、正常／異常信号、自走クロック基準信号、ウインドウ信号の位相が１８０度ずれる。自走クロック生成回路６０は自走クロック基準信号をもとに、外部クロックの正常時において、外部クロックのローレベル期間にハイレベルに遷移しない自走クロックを生成する。この外部クロックは当業者が適宜、設計可能である。
【符号の説明】
【００６０】
１００  クロック供給回路、  １０  発振器、  ２０  エッジ検出回路、  ３０  自走クロック基準信号生成回路、  ３１  第１クロックカウンタ、  ３２  ラッチ回路、  ３３  第１周期カウンタ、  ３４  メモリ、  ３５  第２クロックカウンタ、  ３６  第２周期カウンタ、  ３７  出力制御回路、  ４０  ウインドウ生成回路、  ５０  比較回路、  ６０  自走クロック生成回路、  ７０  ＯＲ回路、  ８０  位相同期発振器。
【図１】
2014170453.tif 000003
【図２】
2014170453.tif 000004
【図３】
2014170453.tif 000005
【図４】
2014170453.tif 000006
【図５】
2014170453.tif 000007
【図６】
2014170453.tif 000008