(57)【特許請求の範囲】
【請求項１】
参照クロックに同期したクロック信号を生成し、前記参照クロックの周波数を計測し、前記計測した参照クロックの周波数データに基づいて出力するクロック信号の周波数を生成して前記クロック信号を出力し、前記計測した参照クロックの周波数データを記憶し、異常な参照クロックが入力された場合に、前記記憶されている過去の周波数データを取り出し、前記異常な参照クロックに代えて取り出した周波数データによりクロック信号を生成することを特徴とするクロック生成方法。
【請求項２】
参照クロックに異常が発生した場合、参照クロックを基準に周波数調整を行うモードから前記記憶した周波数データを用いて周波数調整を行うモードに自動的に移行し、参照クロックが正常に戻った場合は、前記記憶した周波数データを用いて周波数調整を行うモードから参照クロックを基準に周波数調整を行うモードに移行することを特徴とする請求項１記載のクロック生成方法。
【請求項３】
前記記憶した周波数データは、前記計測した参照クロックの周波数と所定の基準周波数との差分であることを特徴とする請求項１または２記載のクロック生成方法。
【請求項４】
前記記憶した周波数データは、前記差分を複数回合算したものであることを特徴とする請求項３記載のクロック生成方法。
【請求項５】
前記記憶した周波数データのうち、使用する周波数データの記憶領域をプログラマブルに設定可能としたことを特徴とする請求項１から４のいずれかに記載のクロック生成方法。
【請求項６】
参照クロックに同期したクロック信号を生成するクロック生成器であって、参照クロックの周波数を計測する周波数計測部と、前記周波数計測部にて計測した周波数情報に基づいて出力するクロック信号の周波数を生成し、前記クロック信号を出力する周波数調整部と、前記周波数計測部において計測した値を記憶するための周波数記憶部を備え、前記周波数調整部は、参照クロックが停止した場合または異常な参照クロックが入力された場合に、前記周波数記憶部に記憶されている過去の周波数データを取り出し、参照クロックに代えて取り出した周波数データにより、クロック信号を生成することを特徴とするクロック生成器。
【請求項７】
前記周波数調整部は、参照クロックに異常が発生した場合、参照クロックを基準に周波数調整を行うモードから前記周波数記憶手段に記憶されている値を用いて周波数調整を行うモードに自動的に移行し、参照クロックが正常に戻った場合は、前記周波数記憶手段に記憶されている値を用いて周波数調整を行うモードから参照クロックを基準に周波数調整を行うモードに移行することを特徴とする請求項６記載のクロック生成器。
【請求項８】
前記周波数計測部は計測した周波数値と基準値との差分を算出し、前記周波数記憶部に記憶することを特徴とする請求項６または７記載のクロック生成器。
【請求項９】
前記周波数計測部は計測した周波数値と基準値との差分を算出し、その周波数の差分を複数回合算して前記周波数記憶部に記憶することを特徴とする請求項８記載のクロック生成器。
【請求項１０】
前記周波数記憶部が記憶している過去の周波数データのうち、前記周波数調整部が使用する周波数データの記憶領域をプログラマブルに設定可能としたことを特徴とする請求項６から９のいずれかに記載のクロック生成器。
【請求項１１】
前記周波数調整部が使用する周波数データの記憶領域は、エラー検出時点のメモリ番地から所定番地戻ったメモリ番地から所定区間であることを特徴とする請求項１０記載のクロック生成器。
【請求項１２】
請求項６から１１のいずれかに記載のクロック生成器を有する通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マスター／スレーブ関係において通信を行う装置において、基準となるクロックを参照して、そのクロックの位相または周波数に同期したクロックを生成するクロック生成方法及びクロック生成器に関する。
【０００２】
【従来の技術】
従来、クロック生成方法において、生成するクロックを基準となるクロックに同期させる場合、参照クロックの位相に、生成クロックの位相を合わせていた。このため、複数の参照クロックが存在し、それらを切り替えて参照する場合、それぞれ参照クロックの位相は必ずしも同期していないため、参照クロック切り替え時に生成クロックは切り替わった参照クロックの位相に追従していた。
【０００３】
上記のように従来の参照クロックの位相に追従する方法では、参照クロックが切り替わる度に生成クロックの位相が遷移し、複数回繰り返した場合、元の位相と比較して１クロック以上の位相が移動している可能性があった。
【０００４】
以下に従来のクロック同期方法による参照クロックと生成クロックの動作について説明する。図６は、従来のクロック生成器の構成図であり、図７は、従来のクロック同期方法を表す信号波形図であり、図８は、従来の同期説明図である。
【０００５】
図６において、１はクロックを生成する際の基準となる参照クロック、２は生成クロックであり、３は生成クロック２と参照クロック１の位相を比較する位相比較器、４は位相比較器において比較した結果によって生成クロックの位相を調整する位相調整器である。
【０００６】
図７において、５はクロックを生成する際の基準となる参照クロック、６は参照クロックに同期する前の生成クロックであり、７は参照クロックに同期した生成クロックである。
【０００７】
図８において、１０〜１４は、それぞれ位相の異なる参照クロックであり、１５は参照クロック１０に同期した生成クロック、１６は生成クロック１５に同期したデータ、１７は参照クロック１１に同期した生成クロック、１８は生成クロック１７に同期したデータ、１９は参照クロック１２に同期した生成クロック、２０は生成クロック１９に同期したデータ、２１は参照クロック１３に同期した生成クロック、２２は生成クロック２１に同期したデータ、２３は参照クロック１４に同期した生成クロック、２４は生成クロック２３に同期したデータである。
【０００８】
ただし、データ１６、１８、２０、２２、２４はフレームを表しており、１つ以上のビットの集まりを表している。
【０００９】
以上のような構成図およびタイミングを表す信号波形図を用いて、以下その動作を説明する。
【００１０】
初めにクロック同期方法を説明する。
【００１１】
図７の５のようなタイミングの参照クロックと６のようなタイミングの生成クロックがある場合、図６の位相調整器３によって位相の比較を行う。その結果は生成クロック６の位相を参照クロックの位相に合わせるため、図７の（８）または（９）の位相に合わせるように、図６の位相調整器４へ調整値を送る。その調整値により図６の位相調整器４は、たとえば図７の（９）の方へ生成クロック６の位相を移動させる。
【００１２】
この際の調整量は、このクロック生成器にて生成したクロックを用いる後段の動作に影響を与えないように、ある一定の範囲以内に限られている。そのため、この動作を繰り返すことにより、位相調整器４はその出力である生成クロック２を図７の生成クロック７のようなタイミングになるまで調整を行い、参照クロック５に同期したクロックを出力する。
【００１３】
次に複数の参照クロックから一つを選択しクロックを生成する場合のタイミングの変化を以下に説明する。
【００１４】
図８の１０〜１４のような位相の異なる５つの参照クロックがあり、クロック生成装置はこの中の１つを基準としクロックを生成する。
【００１５】
初めは参照クロック１０を基準にクロックを生成しているとする。このときの生成されるのが生成クロック１５である。また、データ通信は生成クロックを基準に行われており、生成クロック１５を基準にデータ通信を行っているときのデータのタイミングがデータ１６である。
【００１６】
何等かの理由により基準となる参照クロックを参照クロック１０から参照クロック１１へ切り替えた場合、生成クロックは参照クロック１１の位相に追従するため、生成クロックのタイミングは生成クロック１５から少しずれた生成クロック１７のようなタイミングとなる。
【００１７】
同様に、参照クロックを参照クロック１１から参照クロック１２へ切り替えた場合、生成クロック１７から少しタイミングがずれた生成クロック１９のようなタイミングとなる。
【００１８】
このように参照クロックを参照クロック１０から参照クロック１４まで順次切り替えていくと、生成クロックは生成クロック１５から生成クロック２３まで少しずつ位相をずらしながらタイミングを変えていく。
【００１９】
ここで、最初のタイミングである生成クロック１５の位相と、最後のタイミングである生成クロック２３の位相を見比べると、位相が１クロック以上遷移している。
【００２０】
このように従来のクロック生成方法では、参照クロックを切り替えていくと、生成クロックの位相が１クロック以上遷移してしまうことがあった。
【００２１】
【発明が解決しようとする課題】
上記のように従来の参照クロックの位相に追従する方法では、参照クロックの切り替えを複数回行うと、生成クロックの位相が初めの位相に対して１クロック以上遷移している場合があるので、この生成クロックを基準にデータ通信を行っている通信においては、データのスリップが発生する可能性があるという課題があった。
【００２２】
本発明は、上記従来の問題点を解決するもので、参照クロックを複数回切り替えても生成クロックの位相の遷移が発生することのないクロック生成方法及びクロック生成器を提供することを目的としている。
【００２３】
【課題を解決するための手段】
本発明は、参照クロックに同期したクロック信号を生成し、前記参照クロックの周波数を計測し、前記計測した参照クロックの周波数データに基づいて出力するクロック信号の周波数を生成して前記クロック信号を出力し、前記計測した参照クロックの周波数データを記憶し、異常な参照クロックが入力された場合に、前記記憶されている過去の周波数データを取り出し、前記異常な参照クロックに代えて取り出した周波数データによりクロック信号を生成することを特徴とするクロック生成方法である。
また本発明は、参照クロックに同期したクロック信号を生成するクロック生成器であって、参照クロックの周波数を計測する周波数計測部と、周波数計測部にて計測した周波数情報に基づいて出力するクロック信号の周波数を生成し、そのクロック信号を出力する周波数調整部と、周波数計測部において計測した値を記憶するための周波数記憶部を備え、周波数調整部は、参照クロックが停止した場合または異常な参照クロックが入力された場合に、周波数記憶部に記憶されている過去の周波数データを取り出し、参照クロックに代えて取り出した周波数データにより、クロック信号を生成することを特徴とするクロック生成器である。
【００２４】
本発明によれば、ある理由により参照クロックを切り替える場合においても、シームレスな通信を継続することが可能となる。
【００２５】
【発明の実施の形態】
本発明の請求項１に記載の発明は、参照クロックに同期したクロック信号を生成し、前記参照クロックの周波数を計測し、前記計測した参照クロックの周波数データに基づいて出力するクロック信号の周波数を生成して前記クロック信号を出力し、前記計測した参照クロックの周波数データを記憶し、異常な参照クロックが入力された場合に、前記記憶されている過去の周波数データを取り出し、前記異常な参照クロックに代えて取り出した周波数データによりクロック信号を生成することを特徴とするクロック生成方法であり、これにより参照クロックの位相にかかわらず参照クロックに同期することができ、参照クロックが切り替わっても生成クロックの位相が移動しないという作用を有し、参照クロックに異常が発生した際に、そのまま異常なクロックに追従する場合または追従を停止して自走する場合に比べて精度良く出力クロックの調整が行えるという作用を有する。
【００２７】
本発明の請求項２に記載の発明は、参照クロックに異常が発生した場合、参照クロック基準に周波数調整を行うモードから、記憶した周波数データを用いて周波数調整を行うモードに自動的に移行し、参照クロックが正常に戻った場合は、記憶した周波数データを用いて周波数調整を行うモードから参照クロックを基準に周波数調整を行うモードに移行することを特徴とするクロック生成方法であり、異常が発生した参照クロックが正常に戻るまでの期間または正常な参照クロックに切り替えるまでの期間に生成クロックの周波数調整を行い、参照クロックに異常が発生している間も継続してデータ通信が行えるという作用を有する。
【００２８】
本発明の請求項３に記載の発明は、記憶した周波数データが、計測した参照クロックの周波数と所定の基準周波数との差分であることを特徴とする請求項１または２記載のクロック生成方法であり、周波数記憶部の容量を少なくすることが可能となる、または、同じ容量において長期間記憶することが可能となるという作用を有する。
【００２９】
本発明の請求項４に記載の発明は、記憶した周波数データが、計測した参照クロックの周波数と所定の基準周波数との差分を複数回合算したものであることを特徴とする請求項３記載のクロック生成方法であり、周波数記憶部の容量を少なくすることが可能となる、または、同じ容量において長期間記憶することが可能となるという作用を有する。
【００３０】
本発明の請求項５に記載の発明は、記憶した周波数データのうち、使用する周波数データの記憶領域をプログラマブルに設定可能としたことを特徴とする請求項１から４のいずれかに記載のクロック生成方法であり、参照クロックの異常発生時に記憶した信頼性の低い計測値を除いて周波数調整に用いることにより、周波数調整の信頼性を高めるという作用を有する。
【００３１】
本発明の請求項６に記載の発明は、参照クロックに同期したクロック信号を生成するクロック生成器であって、参照クロックの周波数を計測する周波数計測部と、周波数計測部にて計測した周波数情報に基づいて出力するクロック信号の周波数を生成し、該クロック信号を出力する周波数調整部と、周波数計測部において計測した値を記憶するための周波数記憶部を備え、周波数調整部は、参照クロックが停止した場合または異常な参照クロックが入力された場合に、周波数記憶部に記憶されている過去の周波数データを取り出し、参照クロックに代えて取り出した周波数データにより、クロック信号を生成することを特徴とするものであり、これにより参照クロックの位相にかかわらず参照クロックに同期することができ、参照クロックが切り替わっても生成クロックの位相が移動しないという作用を有し、参照クロックに異常が発生した際に、そのまま異常なクロックに追従する場合または追従を停止して自走する場合に比べて精度良く出力クロックの調整が行えるという作用を有する。
【００３４】
本発明の請求項７に記載の発明は、請求項６に記載のクロック生成器であって、周波数調整部は、参照クロックに異常が発生した場合、参照クロックを基準に周波数調整を行うモードから周波数記憶手段に記憶されている値を用いて周波数調整を行うモードに自動的に移行し、参照クロックが正常に戻った場合は、周波数記憶手段に記憶されている値を用いて周波数調整を行うモードから参照クロックを基準に周波数調整を行うモードに移行する構成としたものであり、精度良く出力クロックの調整が行えるという作用を有する。
【００３５】
本発明の請求項８に記載の発明は、請求項６または７に記載のクロック生成器であって、周波数計測部は計測した周波数値と基準値との差分を算出し、周波数記憶部に記憶する構成としたのであり、周波数記憶部の容量を少なくすることが可能となる、または、同じ容量において長期間記憶することが可能となるという作用を有する。
【００３６】
本発明の請求項９に記載の発明は、請求項８に記載のクロック生成器であって、周波数計測部は計測した周波数値と基準値との差分を算出し、その周波数の差分を複数回合算して周波数記憶部に記憶する構成としたものであり、周波数記憶部の容量を少なくすることが可能となる、または、同じ容量において長期間記憶することが可能となるという作用を有する。
【００３７】
本発明の請求項１０に記載の発明は、請求項６から９のいずれかに記載のクロック生成器であって、周波数記憶部が記憶している過去の周波数データのうち、周波数調整部が使用する周波数データの記憶領域をプログラマブルに設定可能とした構成としたものであり、参照クロックの異常発生時に記憶した信頼性の低い計測値を除いて周波数調整に用いることにより、周波数調整の信頼性を高めるという作用を有する。
【００３８】
本発明の請求項１１に記載の発明は、請求項１０に記載のクロック生成器であって、周波数調整部が使用する周波数データの記憶領域は、エラー検出時点のメモリ番地から所定番地戻ったメモリ番地から所定区間である構成としたものであり、参照クロックの異常発生時に記憶した信頼性の低い計測値を除いて周波数調整に用いることができ、周波数調整の信頼性を高めるという作用を有する。
【００３９】
本発明の請求項１２に記載の発明は、請求項６から１１のいずれかに記載のクロック生成器を有する通信装置であり、参照クロックの位相にかかわらず参照クロックに同期することができ、参照クロックが切り替わっても生成クロックの位相が移動しないという作用を有する。
【００４０】
以下、本発明の実施の形態について、図１から図５を用いて説明する。
【００４１】
（実施の形態１）
図１（ａ）は本発明の実施の形態１を示すクロック生成器の構成図、図１（ｂ）は同クロック生成器における生成クロックカウントの例を示す信号波形図を示し、２５と２６は従来の構成と同様、それぞれ参照クロック、生成クロックであり、２７は参照クロックの周波数を計測する周波数計測部、２８は周波数計測の結果より生成クロックを調整する周波数調整部である。
【００４２】
本クロック生成器の周波数計測部２７に入力された参照クロック２５は、その周波数計測部２７においてクロック生成器の基本クロックにより、相対的な周波数が測定（以下、「第１の測定値」とする）される。その後、生成クロック２６の周波数を調整するために制御情報として出力する。このときの調整用制御情報は、調整後の生成クロック２６を用いて通信を行っている後段の動作に影響を与えないように、ある一定の範囲以内（たとえば、8kHz±488ppm）に限定する。
【００４３】
ここで、具体的な例を説明すると、基本クロックが131.072MHz、参照クロックが7.9999kHzである場合、参照クロックは基本クロック16384サイクル分（8.000kHz）として測定される。測定された参照クロックの測定値は、生成クロックの周波数を調整するために制御情報として周波数調整部２８に出力され、生成クロックがその制御情報（基本クロック16384サイクル分）に基づき、131.072MHzの基本クロックを使用して生成され、8.000kHzのクロックが出力される。
【００４４】
なお、7.9999kHzである参照クロックに同期する場合、すこしずつ位相がずれるため、このような位相ずれが問題となるケースもある。このような場合、周波数調整部から出力される生成クロックを周波数計測部へフィードバックして位相ずれを調整することができる。具体的には、周波数計測部においてフィードバックした生成クロックのある一つの立下がり時に基本クロックカウンタ（基本クロックのクロック数を計数するカウンタ）を初期化（カウンタ値＝０）し、以降の生成クロックの立下り時における基本クロックカウンタの値を読込み、立下り間の値（以下、第２の測定値）を逐次記憶しておき、上述の第１の測定値と比較して同じでない場合には、この第２の測定値を使用することにより、位相ずれを修正することができる。図１（ｂ）を参照して、7.9999kHz（125001．5625・・ｎｓｅｃ）の参照クロックを131.072MHz（7.629・・ｎｓｅｃ）の基本クロックで計測を開始し、参照クロックの立下り時間を順次連続して計測すると、16384サイクル、16384サイクル、16384サイクル、16385サイクル、16384サイクル、・・というように約４回に１回基本クロック16385サイクルとして計測され、16385サイクルを測定した場合、第１の測定値（8.000kHz）とは異なるため、この第２の測定値が周波数調整部２８に送られ、生成クロック２６の周波数をその制御信号に基づいて調整し出力される。
【００４５】
また、基本クロックカウンタの初期化と第１の計測値の計測開始を同時に行い、第１の計測値の計測の累積値と生成クロックの基本クロックカウンタ値とを比較するようにしてもよい。
【００４６】
なお、生成クロックをフィードバックするのではなく、参照クロックのある一つの立下がり時に基本クロックカウンタを初期化し、以降の生成クロックの立下り時の基本クロックカウンタにおける値を読込み、立下り間の値を逐次記憶しておき、上述の第１の測定値と比較してもよい。
【００４７】
次に複数の参照クロックが存在し、クロック異常等の理由により参照クロックを切り替えて運用する場合の説明を行う。
【００４８】
周波数計測部２７は入力される参照クロックの周波数成分だけを計測している。このため位相の異なる参照クロックが入力された場合でも位相に対する制御を行っていないので、生成クロックの位相が遷移していくことはなく、最初に確定したタイミングの近傍にて生成クロックの位相は保持される。また、周波数計測部２７からの調整用制御情報は、ある一定の範囲以内に限定しているので、参照クロック切り替え時に、異常な周波数を測定してしまった場合でも、調整後の生成クロック２６を用いて通信を行っている後段の動作に影響を与えることがない。
【００４９】
このため、参照クロックを切り替えて運用を行った場合でも、データのスリップの発生しないクロックを生成することが可能となる。
【００５０】
（実施の形態２）
図２は、本発明の実施の形態２を示すクロック生成器の構成図を示す。図２において、参照クロック、生成クロック、周波数計測部、および周波数調整部は実施の形態１において用いた図１と同じものであるので、同じ符号を付す。２９は周波数計測部２７において測定した結果を記憶する周波数記憶部、３０は参照クロック２５が正常な場合と異常な場合で周波数調整部２８に送る周波数調整値を切り替えるセレクタである。また、３１は周波数計測部にて計測した計測値、３２は周波数記憶部より取り出した過去の計測値、３３は計測値３１と過去の計測値３２より選択し周波数調整部にて用いる調整値であり、３４は周波数記憶部２９の状態を書き込み状態から読み出し状態へ切り替えたり、セレクタ３０の出力を切り替えるための信号を出力する制御部である。
【００５１】
以上のように構成されたクロック生成器において、以下にその動作を説明する。
【００５２】
参照クロックが正常に入力されているときは、実施の形態１と同様に周波数計測部２７にて参照クロックの周波数を計測し、その結果を周波数調整部２８にて送って周波数の調整を行う。このときセレクタ３０は計測値３１を選択している。また同時に、計測値３１は周波数記憶部２９にて記憶されている。ここで周波数記憶部２９はある程度の容量を持っており、過去のある程度の時間の結果を記憶できるようになっている。
【００５３】
参照クロック２５に異常が発生した場合、制御部３４からの制御信号によって、周波数記憶部２９はそれまで行ってきた計測値３１の記憶を停止し、それまでに記憶した値を過去の計測値３２へ出力する。また、セレクタ３０は、それまで選択していた計測値３１を周波数記憶部２９より出力される過去の計測値３２に切り替え、過去の計測値３２を調整値３３として出力する。周波数調整部２８は、この過去の計測値３２を用いて生成クロックの調整を行う。
【００５４】
このように過去の計測値を用いて出力クロックの調整を行うことにより、異常な参照クロックに追従し続けた場合のクロック生成、またはクロック生成器の自走によるクロック生成に比べて、より精度の高いクロックを生成することが可能となる。
【００５５】
（実施の形態３）
図３は、本発明の実施の形態３を示すクロック生成器の構成図を示す。図３において、参照クロック２５から制御部３４までは実施の形態２において用いた図２と同じものであるので、同じ符号を付す。３５は参照クロックを常に監視し異常を検出するための異常検出部である。
【００５６】
以上のように構成されたクロック生成器において、以下にその動作を説明する。
【００５７】
参照クロック２５が正常に入力されているときは、実施の形態１および２と同様に周波数計測部２７にて参照クロック２５の周波数を計測し、その結果を周波数調整部２８にて用いて周波数の調整を行う。このときセレクタ３０は計測値３１を選択している。また同時に、計測値３１は周波数記憶部２９にて記憶されている。
【００５８】
参照クロック２５に異常が発生した場合、参照クロック２５を監視している異常検出部３５によりクロック異常が発見され、その情報は制御部３４へ届けられる。このとき、制御部３４は周波数記憶部２９およびセレクタ３０への制御信号を自動的に切り替え、通常の周波数調整モード（以下、通常モード）から周波数記憶手段に記憶されている値を用いて周波数調整を行うモード（以下、ホールドオーバーモード）に切り替える。また、参照クロック２５が復旧した場合や参照クロックが複数存在して他の参照クロックに切り替え、入力される参照クロックが正常になった場合、異常検出部３５は参照クロックが正常に戻ったことを検知し、制御部３４へその情報を通知する。これにより制御部３４は、自動的にホールドオーバーモードから通常モードへクロック生成器の動作モードを切り替える。
【００５９】
このように参照クロックの状態を監視することによって、自動的にクロック生成器の動作モードを変更することができる。
【００６０】
（実施の形態４）
たとえば131.072MHzの分解能で８kHzを記憶する場合、１４ビット必要となる。
【００６１】
このようにクロック生成器を動作させる基本クロックが131.072MHzであり、参照クロックが8kHzである場合のクロック生成装置を例に用いてその動作を説明する。
【００６２】
131.072MHzの分解能で８kHzを記憶する場合、１４ビット必要となるが、実際に用いる数値は限られていて、0〜8kHzすべての範囲で参照クロックと生成クロックの周波数の差を用いる訳ではない。
【００６３】
一般的に参照クロックと用いるディジタル回線のクロック精度は±３ｐｐｍ程度、またクロック生成器を動作させる基本クロックの発信器等は±3ppm〜±100ppm程度であることを考えると、クロック生成器に必要な相対精度は500ppm程度で十分であり、その範囲外の参照クロックが入力されたときは参照クロックエラーもしくはクロック生成器の動作エラーとして処理することが可能となる。
【００６４】
これをふまえると、131.072MHzの分解能で8kHzの±500ppm近傍で、計算が簡易な範囲は±488ppmとなり、8kHzの±488ppmの範囲は、約7.996kHz〜8.004kHzとなる。これは131.072MHzで８個分の期間である。
【００６５】
上記ように、8kHzを基準にその差を記録するには−8〜0〜＋8を表現できるビット数である５ビットで十分となる。
【００６６】
このように、基準周波数との差分のみを記憶することにより、記憶するための容量を減らすことが可能となる。
【００６７】
（実施の形態５）
実施の形態４の実施例に続けて説明を行う。
【００６８】
１回の計測結果を表現するためには５ビット必要である。これを１６回分を合計すると８０ビット必要となる。しかし、１６回分を合算して保存することを考えると、−128〜＋128まで記録できなければならない。このためには９ビットで十分となり、８０ビットを９ビットに圧縮することが可能となり、記憶するための容量を減らすことが可能となる。
【００６９】
（実施の形態６）
図４は本発明の実施の形態６における周波数記憶部の状態説明図を示す。３６は周波数記憶部全体を表し、左から右へ順に記憶されていくものとする。３７は参照クロックエラーが発生した時のタイミング、３８はそのエラーを検出した時のタイミング、３９は通常モードからホールドオーバーモードへクロック生成器の動作モードを切り替えたタイミングを表す。
【００７０】
以上のように表された周波数記憶部について、以下にその動作を説明する。
【００７１】
通常モードでは周波数記憶部３６は書き込みモードとなり、順に書き込まれていく。最後まで書き込みが終わると最初から書き込まれ以前のデータは上書きされていく。
【００７２】
あるタイミングによってエラーが発生すると（３７）、本クロック生成器もしくは、本クロック生成器が搭載されているシステムはエラーを検出し（３８）、自動もしくはホストプロセッサによる手動によって動作モードを通常モードからホールドオーバーモードへ切り替える（３９）。この時周波数記憶部は動作モード切り替えと同時に書き込みモードから読み出しモードに切り替わり、周波数記憶部に記憶されている情報を利用して本クロック生成器は仮想的に周波数調整を行う。
【００７３】
しかし、エラー発生（３７）から動作モード切替（３９）までの間は、まだ書き込みモードであり、その期間に記録された計測値はエラーを含んだ参照クロックを基準に周波数計測を行った結果であり、その結果は信頼できるものではない。
【００７４】
そのためその不確定部分（４０）以外の部分を用いて周波数調整を行うことにより、周波数調整の精度を高めることが可能となる。
【００７５】
しかし、エラー発生タイミング（３７）が実際どの時点で発生しているか分からない。そこで、以下のようにして不確定領域以外の読み出しを行う。
【００７６】
図５は、本発明の実施の形態６における周波数記憶部のタイミングと読み出し番地の例を示す説明図である。この図を用いて以下説明を行う。
【００７７】
３６は周波数記憶部全体を表し、３７、３９，４０はそれぞれエラー発生タイミング、動作モード切り替えタイミング、不確定部分を表す。これらは図４と同じものであるので同じ符号を付す。また、この実施の形態では、周波数記憶部は０番地から２５５番地までとし、昇順にて書き込み／読み出しを行うものとし、実際には任意に決めることが可能である。
【００７８】
本発明では、読み出し開始の戻り区間と読み出し区間が任意に設定できる。この例では読み出し開始の戻り区間を２３０、読み出し区間を１８０とする。
【００７９】
あるタイミングにて参照クロックにエラーが発生し（３７）、動作モードの切り替え（３９）が１５０番地に書き込み中に発生したとすると、１５０番地を一時的に記憶しておく。次に予め設定しておいた読み出し開始戻り区間が２３０なので、読み出し開始番地は動作モード切り替え地点から２３０番地戻った番地となる。１５０から２３０を差し引くと負になるので、その分は周波数記憶部の最大番地の２５５から差し引き１７５番地が読み出し開始番地となる。読み出し区間は１８０に設定しているので、１７５に１８０を加えて（これも同様に２５５を越える分は０に戻って）１００番地が読み出し区間の最終番地となる。このようにして、ホールドオーバーモード時の読み出し区間は１７５番地から２５５番地、０番地を経由して１００番地までとなり、１００番地まで読み終えると１７５番地から読み出し始める。
【００８０】
このようにして、１５０番地近辺の不確定部分の読み出しをさけることができる。
【００８１】
なお、本実施の形態では読み出す部分を指定したが、読み出しを行わない部分を指定することによって実現することも可能である。
【００８２】
このように、動作モード切り替え時の周波数記憶部のアドレスを記憶させ、読み出しを行う部分を決めることができるようにする、または、読み出しを行わない部分を決めることができるようにすることによりプログラマブルに読み出し領域を設定することが可能となる。
【００８３】
なお、本発明の説明上、実施の形態として６つに区切って説明したが、それぞれを組み合わせることを妨げるものではない。
【００８４】
【発明の効果】
以上の説明より明らかなように本発明によれば、参照クロックに同期したクロックを出力するクロック生成方法及びクロック生成器において、出力するクロックを参照クロックの周波数に同期させることにより、複数の参照クロックが存在し、それらを切り替えて参照できる場合、生成したクロックを基準に行っているデータ通信にてデータのスリップが発生しなくなるという効果がある。
【００８５】
また、参照クロックの周波数の計測とともに、参照クロックの一つの変化点から次の変化点毎の時間を基準クロックに基づいて算出することにより、参照クロックと生成クロックの相対的に位相ずれが発生する状況を補正することができるという効果がある。
【００８６】
また、参照クロックの周波数情報を記録しておき、参照クロックに異常が発生した場合に、参照クロックが正常に復旧するまでの間、または他の参照クロックに切り替えるまでの間、その記録しておいた情報を用いてクロック生成を行うことにより、精度の高いクロック生成を行うことが可能となり、シームレスなデータ通信を行うことができるという効果がある。
【００８７】
また、参照クロックに異常が発生した場合、参照クロックの計測値を用いてクロック生成を行うモードから、参照クロックが正常なときに記録しておいた情報を用いてクロック生成を行うモードに自動的に切り替えることにより、このクロック生成器を制御するプロセッサの負荷を軽減することができるという効果がある。
【００８８】
また、周波数計測部において計測した値を記録する際に、基準となる値との差分のみを記録することにより、１回あたりのデータ量が少なくなり、同じ記憶容量でより長時間データを記録することが可能となり、記憶した情報を用いてクロック生成を行う場合に、より精度の高いクロック生成を行うことができるという効果がある。
【００８９】
また、周波数計測部において計測した値を記録する際に、複数回合算して記憶することにより、同じ記憶容量に記憶できる時間が長くなり、記憶した情報を用いてクロック生成を行う場合に、より精度の高いクロック生成を行うことができるという効果がある。また、参照クロックのゆらぎを吸収する効果があり、出力されるクロックのジッタが減少するという効果がある。
【００９０】
また、周波数記憶部の値を読み出す場合に読み出す領域をプログラマブルに設定することにより、参照クロックにエラーが発生して動作モードを切り替えるまでの信頼性の低い計測値を除いて使用することができ、より精度の高いクロック生成を行うことができるという効果がある。
【図面の簡単な説明】
【図１】（ａ）本発明の実施の形態１を示すクロック生成器の構成図
（ｂ）同クロック生成器における生成クロックカウントの例を示す信号波形図
【図２】本発明の実施の形態２を示すクロック生成器の構成図
【図３】本発明の実施の形態３を示すクロック生成器の構成図
【図４】本発明の実施の形態６における周波数記憶部の状態説明図
【図５】本発明の実施の形態６における周波数記憶部のタイミングと読み出し番地の例を示す説明図
【図６】従来のクロック生成器の構成図
【図７】従来のクロック同期方法を表す信号波形図
【図８】従来の同期説明図
【符号の説明】
１  参照クロック
２  生成クロック
３  位相比較器
４  位相調整器
５  参照クロック
６  位相同期前の生成クロック
７  位相同期後の生成クロック
８  位相同期前のクロックの位相が同期をとる方向
９  位相同期前のクロックの位相が同期をとる方向
１０〜１４  参照クロック
１５  参照クロック１０に同期した生成クロック
１６  生成クロック１５に同期したデータ
１７  参照クロック１１に同期した生成クロック
１８  生成クロック１７に同期したデータ
１９  参照クロック１２に同期した生成クロック
２０  生成クロック１９に同期したデータ
２１  参照クロック１３に同期した生成クロック
２２  生成クロック２１に同期したデータ
２３  参照クロック１４に同期した生成クロック
２４  生成クロック２３に同期したデータ
２５  参照クロック
２６  生成クロック
２７  周波数計測部
２８  周波数調整部
２９  周波数記憶部
３０  セレクタ
３１  周波数計測部によって計測された計測値
３２  周波数記憶部に記憶され、読み出された過去の計測値
３３  セレクタによって選択した調整値
３４  クロック生成器を制御する制御部
３５  参照クロックの状態を監視する異常検出部
３６  周波数記憶部全体
３７  エラー発生タイミング
３８  エラー検出タイミング
３９  動作モード切り替えタイミング
４０  不確定部分
【図１】
0003843831.tif 000002
【図２】
0003843831.tif 000003
【図３】
0003843831.tif 000004
【図４】
0003843831.tif 000005
【図５】
0003843831.tif 000006
【図６】
0003843831.tif 000007
【図７】
0003843831.tif 000008
【図８】
0003843831.tif 000009