(57)【要約】【課題】受信データの同期データと処理クロックとの位相差をディジタル回路により求めることを可能にする。【解決手段】入力された通信データからリカバリデータとリカバリクロックとを分離して出力するリカバリ部と、生成された処理クロックとリカバリクロックとの位相差が零になるタイミングを検出する位相差零検出部と、記リカバリクロックを用いてリカバリデータに含まれる同期コードを検出する同期コード検出部と、位相差零検出部により検出された位相差が零になる第１のタイミングから次に位相差が零になる第２のタイミングまでの処理クロックの第１のクロック発生回数に対する、第１のタイミングから前記同期コード検出部で同期コードが検出される第３のタイミングまでの処理クロックの第２のクロック発生回数との比を用いて、同期コードと処理クロックの位相差を求める位相差計算部と、を備える。【選択図】図３
2018067824.tif 000002
【特許請求の範囲】
【請求項１】
入力された通信データからリカバリデータとリカバリクロックとを分離して出力するリカバリ部と、
生成された処理クロックと前記リカバリクロックとの位相差が零になるタイミングを検出する位相差零検出部と、
前記リカバリクロックを用いて前記リカバリデータに含まれる同期コードを検出する同期コード検出部と、
前記位相差零検出部により検出された位相差が零になる第１のタイミングから次に位相差が零になる第２のタイミングまでの前記処理クロックの第１のクロック発生回数に対する、前記第１のタイミングから前記同期コード検出部で同期コードが検出される第３のタイミングまでの前記処理クロックの第２のクロック発生回数との比を用いて、前記同期コードと前記処理クロックの位相差を求める位相差計算部と、を備えた位相差推定装置。
【請求項２】
前記第１のタイミングから前記処理クロックの立ち上がり回数又は立ち下り回数をカウントするカウンタと、前記同期コード検出部からの同期コード検出信号に基づいて、前記第１のタイミングから前記第３のタイミングまでの前記カウンタのカウント値を出力する第１のラッチ回路と、前記第１のタイミングから前記第２のタイミングまでの前記カウンタのカウント値を出力する第２のラッチ回路と、を有し、
前記第２のクロック発生回数は前記第１のラッチ回路から出力されるカウント値、前記第１のクロック発生回数は前記第２のラッチ回路から出力されるカウント値に対応する請求項１に記載の位相差推定装置。
【請求項３】
前記位相差計算部は、前記同期コードと前記処理クロックの位相差を、前記処理クロックの周波数が前記リカバリクロックの周波数より高い場合は、前記第１のラッチ回路の出力値を前記第２のラッチ回路の出力値で割ることで求める請求項２に記載の位相差推定装置。
【請求項４】
前記位相差計算部は、前記同期コードと前記処理クロックの位相差を、前記処理クロックの周波数が前記リカバリクロックの周波数より低い場合は、前記第１のラッチ回路の出力値を前記第２のラッチ回路の出力値で割った値を１から引くことで求める請求項２に記載の位相差推定装置。
【請求項５】
前記第２のラッチ回路と前記位相差計算部との間に、前記位相差が零となるタイミングの間隔の平均値をとるフィルタを設けた請求項２から４のいずれかの請求項に記載の位相差推定装置。
【請求項６】
請求項１から請求項５のいずれか１項に記載の位相差推定装置と、前記処理クロックを生成する第１の発振器と、前記第１の発振器の周波数と一定幅周波数をずらした周波数のクロックを生成する第２の発振器とを備え、
前記第２の発振器のクロックを用いて送信用通信データを信号処理する通信機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された通信データに含まれる同期コードと処理クロックとの位相差を求める位相差推定装置及び通信機器に関する。
【背景技術】
【０００２】
従来より、マスター機器とスレーブ機器との同期をとる方法が提案されている。しかしながら、スレーブ機器がマスター機器から受信した通信データと、スレーブ機器の処理クロックとの間には位相差があり、これがマスター機器とスレーブ機器との同期の誤差となる。
位相差によるマスター機器とスレーブ機器との同期の誤差を解消する技術としては、例えば、特許文献１には、通信機器間の時刻同期を行うシステムの記載がある。具体的には、マスター機器から通信路を経由してスレーブ機器へ時刻同期のための通信データを送信する。スレーブ機器で、当該時刻同期のための通信データがスレーブ機器内のクロックドメイン境界を通過する際に、ＣＤＲ（Ｃlock Ｄata Ｒecovery）により、通信データの位相と移動先クロックドメインのクロック信号の位相の位相差が測定される。そうすることで、スレーブ機器は、測定された位相差によりスレーブ機器の時刻の補正を行なうことができる。
【０００３】
本発明に関連する技術を開示するものとしては、他に特許文献２がある。
特許文献２には、時間測定回路についての記載がある。具体的には、２つの発振器１０と２０によって周期差ΔＴのクロック信号ＣＬＫ１とＣＬＫ２を生成し、当該クロック信号ＣＬＫ１に応じて送信パルスＳＰを出力する。送信パルスＳＰに応じた反射波を受信し、受信パルスＲＰを出力する。そして、位相比較器３０はクロック信号ＣＬＫ１とＣＬＫ２の位相を比較し、同相信号Ｐ１を出力し、位相比較器４０は受信パルスＲＰとクロック信号ＣＬＫ２の位相を比較し、同相信号Ｐ２を出力する。カウンタ回路５０は同相信号Ｐ１が出力されてから、同相信号Ｐ２が出力される間クロック信号ＣＬＫ１をカウントし、そのカウント値Ｎとクロック信号ＣＬＫ１とＣＬＫ２の周期差ΔＴに基づき送信パルスＳＰと受信パルスＲＰとの時間差τを測定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１１９５４８号公報
【特許文献２】特開２００２−１９６０８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１には位相差情報をＣＤＲ（clock data recovery）から得ることが記載されている（特許文献１の図８のＣＤＲ２７等参照）。ユニットの通信や同期等用のＡＳＩＣ（Application Specific Integrated Circuit）を作成する場合、ＣＤＲはＡＳＩＣベンダのＩＰコアとして用意されており、位相差情報が得られるかどうかは、そのＣＤＲ次第となる。また、あるＣＤＲから位相差情報を得られたとしても、そのＣＤＲがネックとなり、同じＡＳＩＣを別テクノロジや別ＡＳＩＣベンダで作れるとは限らず、移植性は低くなる場合がある。
別手段として位相差情報をＤＬＬ（delay-locked loop）等のアナログ回路を用いて、入手することも考えられるが、同様に移植性は低い。
【０００６】
また、特許文献２ではデジタル回路のみで受信パルスとＣＬＫ1の位相差を求めているが、毎クロック受信するパルスのため、位相差を求めることが可能であるが、毎クロック現れない同期用の通信データにこれを適用することはできない。
【０００７】
そこで本発明の目的は受信データの同期データと処理クロックとの位相差をディジタル回路により求めることを可能にする位相差推定装置を備えた通信機器を提供することにある。
【課題を解決するための手段】
【０００８】
（１）  本発明に係る位相差推定装置は、入力された通信データからリカバリデータとリカバリクロックとを分離して出力するリカバリ部と、生成された処理クロックと前記リカバリクロックとの位相差が零になるタイミングを検出する位相差零検出部と、前記リカバリクロックを用いて前記リカバリデータに含まれる同期コードを検出する同期コード検出部と、前記位相差零検出部により検出された位相差が零になる第１のタイミングから次に位相差が零になる第２のタイミングまでの前記処理クロックの第１のクロック発生回数に対する、前記第１のタイミングから前記同期コード検出部で同期コードが検出される第３のタイミングまでの前記処理クロックの第２のクロック発生回数との比を用いて、前記同期コードと前記処理クロックの位相差を求める位相差計算部と、を備えた位相差推定装置である。
【０００９】
（２）  上記（１）の位相差推定装置において、前記第１のタイミングから前記処理クロックの立ち上がり回数又は立ち下り回数をカウントするカウンタと、前記同期コード検出部からの同期コード検出信号に基づいて、前記第１のタイミングから前記第３のタイミングまでの前記カウンタのカウント値を出力する第１のラッチ回路と、前記第１のタイミングから前記第２のタイミングまでの前記カウンタのカウント値を出力する第２のラッチ回路と、を有し、
前記第２のクロック発生回数は前記第１のラッチ回路から出力されるカウント値、前記第１のクロック発生回数は前記第２のラッチ回路から出力されるカウント値に対応することが望ましい。
【００１０】
（３）  上記（２）の位相差推定装置において、前記位相差計算部は、前記同期コードと前記処理クロックの位相差を、前記処理クロックの周波数が前記リカバリクロックの周波数より高い場合は、前記第１のラッチ回路の出力値を前記第２のラッチ回路の出力値で割ることで求めることが望ましい。
【００１１】
（４）  上記（２）の位相差推定装置において、前記位相差計算部は、前記同期コードと前記処理クロックの位相差を、前記処理クロックの周波数が前記リカバリクロックの周波数より低い場合は、前記第１のラッチ回路の出力値を前記第２のラッチ回路の出力値で割った値を１から引くことで求めることが望ましい。
【００１２】
（５）  上記（２）から（４）のいずれかの位相差推定装置において、前記第２のラッチ回路と前記位相差計算部との間に、前記位相差が零となるタイミングの間隔の平均値をとるフィルタを設けたことが望ましい。
【００１３】
（６）  本発明に係る通信機器は、上記（１）から（５）のいずれかの位相差推定装置と、前記処理クロックを生成する第１の発振器と、前記第１の発振器の周波数と一定幅周波数をずらした周波数のクロックを生成する第２の発振器とを備え、
前記第２の発振器のクロックを用いて送信用通信データを信号処理する通信機器である。
【発明の効果】
【００１４】
本発明によれば、受信データの同期データと処理クロックとの位相差をディジタル回路により求めることを可能にする。
【図面の簡単な説明】
【００１５】
【図１】マスターと複数のスレーブとを備えた通信システムを示す構成図である。
【図２】マスターから受信した通信データと、スレーブの処理部で処理を行うクロックで同期した通信データとの位相差を示す図である。
【図３】本発明の第１の実施形態の位相差推定装置となる位相差推定回路の構成を示すブロック図である。
【図４】位相差推定回路の動作を示すタイミングチャートである。
【図５】位相差０検出回路の構成を示すブロック図、及び処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が低い場合のタイミングチャートである。
【図６】処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が高い場合のタイミングチャートである。
【図７】同期コード検出回路の構成を示すブロック図である。
【図８】位相差計算部における、リカバリクロックより処理クロックの方が、周波数が高い場合の計算式を説明するためのタイミングチャートである。
【図９】位相差計算部における、リカバリクロックより処理クロックの方が、周波数が低い場合の計算式を説明するためのタイミングチャートである。
【図１０】本発明の第２の実施形態の位相差推定装置となる位相差推定回路の構成を示すブロック図である。
【図１１】本発明の第３の実施形態の位相差推定装置となる位相差推定回路の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について図面を用いて説明する。
まず、通信機器としてマスターと複数のスレーブとを備えた通信システムの構成について説明する。
図１はマスターと複数のスレーブとを備えた通信システムを示す構成図である。図１の通信システムはマスター１１とｎ個（ｎは正の整数）のスレーブ２１〜２ｎを備えている。図１ではスレーブの数は４個以上（ｎ＞３）として示している。
【００１７】
マスター１１は隣のスレーブ２１に通信遅延時間測定信号ａを送信する。スレーブ２１は信号ａを受信すると、信号ｂをマスター１１に送信する。マスター１１は信号ａを送信してから信号ｂを受信するまでの時間から、スレーブ２１が信号ａを受信してから信号ｂを送信するまでの時間を引いた値を２で割ったものを、マスター１１とスレーブ２１との間の通信遅延時間ｔｄとする。そして、マスター１１はスレーブ２１にその通信遅延時間ｔｄと送信時の時刻Ｔ１のデータとを送信し、スレーブ２１は受信したマスター１１の時刻Ｔ１に通信遅延時間ｔｄを足したものを現在の時刻Ｔ２（＝Ｔ１＋ｔｄ）とし、同期が完了する。
【００１８】
スレーブ２１とスレーブ２２との同期は、マスター１１とスレーブ２１との同期と同様にして行われ、このときスレーブ２１はマスターとなる。スレーブ２３〜２ｎのスレーブ間の同期もマスター１１とスレーブ２１との同期と同様にして行われる。
ところで、図２に示すように、スレーブ２１の受信部がマスター１１から受信した通信データと、処理クロックにより処理される通信データとの間には位相差αがあり、これがマスター１１とスレーブ２１との同期の誤差となる。位相差αは最大で一処理クロックとなる。同期を同様に、スレーブ２１〜２２ｎのスレーブ間で行った場合、マスターとスレーブ２ｎとの同期誤差は最大ｎ×処理クロックとなってしまう。したがって、この同期誤差を解消するために位相差を推定する回路が求められる。
【００１９】
以下、受信データのクロックとスレーブの処理クロックとの位相差をディジタル回路により求める位相差推定装置について説明する。
【００２０】
（第１の実施形態）
図３は本発明の第１の実施形態の位相差推定装置となる位相差推定回路の構成を示すブロック図である。図４は位相差推定回路の動作を示すタイミングチャートである。位相差推定回路２１−２はＡＳＩＣであり、位相差推定回路２１−２と水晶発振器２１−１とは図１のスレーブ２１に含まれる。水晶発振器１１−１と送信回路１１１は図１のマスター１１に含まれる。
本実施形態の位相差推定回路２１−２は、図３に示すように、リカバリ部となるＣＤＲ（clock data recovery）２１１、位相差零検出部となる位相差０検出回路２１２、カウンタ２１３、同期コード検出部となる同期コード検出回路２１４、２つのラッチ回路２１５，２１６、及び位相差計算部２１７を備えている。また、水晶発振器２１−１により生成される処理クロックＳｃｌｋを用いてスレーブ２２へ通信データを送信する送信回路２１８を備えている。
【００２１】
ＣＤＲ２１１はマスター１１から送られてくる通信データから、ＡＳＩＣである位相差推定回路２１−２で使えるように、図４に示すリカバリデータＲｄａｔａとそれを叩けるリカバリクロックＲｃｌｋを出力する回路であり、ＡＳＩＣベンダのＩＰコアとして用意されている。リカバリクロックとリカバリデータはＣＤＲの基本要素であり、どのようなＣＤＲでも出力している。
【００２２】
位相差０検出回路２１２は、ＣＤＲ２１１から出力されるリカバリクロックＲｃｌｋと水晶発振器２１−１から出力される処理クロックＳｃｌｋとの位相差が０のときに、位相差０信号としてパルスＰｚｅｒｏをカウンタ２１３とラッチ回路２１６に出力する。また２つのクロックＲｃｌｋ、Ｓｃｌｋのどちらが早いのかを位相差方向信号として位相差計算部２１７に出力する。位相差０検出回路２１２の具体的な処理内容は後述する。
【００２３】
同期コード検出回路２１４は、図４に示すように、リカバリデータＲｄａｔａの中に同期コードを検出するとパルスＳｙｎｃをラッチ回路２１５のラッチ端子（ｌａｔｃｈ端子）に出力する。リカバリデータＲｄａｔａの中の通常データの間に同期コードが挿入されている。
【００２４】
カウンタ２１３はクリア端子（ｃｌｒ端子）にパルスＰｚｅｒｏが入力すると出力Ｄ１が０になり、クロック端子（ｃｌｋ端子）の信号立ち上がり毎に出力Ｄ１が＋１される。出力Ｄ１はラッチ回路２１５，２１６のデータ端子（ｄａｔａ端子）に出力される。カウンタ２１３によって位相差が０のタイミングからの処理クロックＳｃｌｋの信号立ち上がりの数がカウントされていく。カウンタ２１３は処理クロックＳｃｌｋの信号立ち下がりの数をカウントしてもよい。
【００２５】
ラッチ回路２１５、２１６はそれぞれラッチ端子（ｌａｔｃｈ端子）に入力される信号レベルが“１”のときのデータ端子（ｄａｔａ端子）に入力されるカウント値を保持し、出力Ｄ３、Ｄ２を位相差計算部２１７に出力する。
【００２６】
位相差計算部２１７は処理クロックＳｃｌｋと同期コードの位相差を計算する回路である。位相差計算部２１７の具体的な処理内容は後述する。
【００２７】
図５は位相差０検出回路の構成を示すブロック図、及び処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が低い場合のタイミングチャートを示す。図６は処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が高い場合のタイミングチャートを示す。
位相差０検出回路２１２はカウンタ２１２１、位相差処理部２１２２、オア回路２１２３及び位相差方向検出部２１２４を備えている。
【００２８】
まず、カウンタ２１２１について説明する。
リカバリクロックＲｃｌｋは、ＣＤＲ２１１に入力する通信データを送信するマスターの処理クロックとほぼ一致する。リカバリクロックＲｃｌｋとスレーブ２１の処理クロックＳｃｌｋとの周波数は同じになるように設定されるが、実際には水晶発振器の個体差により、微妙に周波数は異なり、時間がたつと位相がずれてくる。
通常、カウンタ２１２１でリカバリクロックＲｃｌｋの立ち上がり回数を処理クロックＳｃｌｋでカウントすると、立ち上がり回数は１となる。ただし、位相差が０のタイミングでは、カウンタ２１２１でリカバリクロックＲｃｌｋの立ち上がり回数を処理クロックＳｃｌｋでカウントすると、処理クロックが１進む間に、リカバリクロックの立ち上がり回数は０か２となる。
【００２９】
図５のタイミングチャートに示すように処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が低い場合は、リカバリクロックＲｃｌｋの立ち上がり回数を処理クロックＳｃｌｋでカウントすると、リカバリクロックＲｃｌｋの立ち上がり回数は２となる。
一方、図６のタイミングチャートに示すように、処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が高い場合は、リカバリクロックＲｃｌｋの立ち上がり回数を処理クロックＳｃｌｋでカウントすると、リカバリクロックＲｃｌｋの立ち上がり回数は０となる。
【００３０】
このように、位相差０のタイミングでカウンタ２１２１の出力は０か２となり、それ以外のタイミングではカウンタ２１２１の出力は１となるため、位相差０のタイミングが分かる。カウンタ２１２１の出力は位相差処理部２１２２に出力される。
【００３１】
位相差処理部２１２２はカウンタ２１２１から入力されるカウンタ値が０の場合には、信号レベル“１”の信号をオア回路２１２３の一方の入力端子及び位相差方向検出部２１２４のａ端子に出力し、カウンタ値が２の場合には信号レベル“１”の信号をオア回路２１２３の他方の入力端子及び位相差方向検出部２１２４のｂ端子に出力する。
なお、ここでは位相差０検出回路２１２のカウンタ２１２１がリカバリクロックＲｃｌｋの立ち上がり回数を処理クロックＳｃｌｋでカウントしているが、リカバリクロックＲｃｌｋの立ち下がり回数を処理クロックＳｃｌｋでカウントしてもよい。
【００３２】
オア回路２１２３からはカウンタ値が０か２の場合に信号レベル“１”が出力される。位相差方向検出部２１２４からはａ端子に信号レベル“１”の信号が入力された場合は信号レベル“０”の信号が出力され、ｂ端子に信号レベル“１”の信号が入力された場合は信号レベル“１”の信号が出力され、ａ端子、ｂ端子に信号レベル“１”の信号が入力されない場合はラッチされる。位相差方向検出部２１２４の出力により、処理クロックＳｃｌｋの位相がどちらの方向にずれていくのか分かる。位相差方向検出部２１２４から信号レベル“０”の信号が出力された場合（カウント値が０の場合）は処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が高く、信号レベル“１”の信号が出力された場合（カウント値が２の場合）は処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が低いことになる。
【００３３】
次に同期コード検出回路について、図７を参照しながら説明する。図７は同期コード検出回路の構成を示すブロック図である。同期コードは通常の通信データでは出力されないコードデータを使用する。同期コード検出回路２１４は例えば８ｂｉｔ同期コードであれば、８個のフリップフロップ２１４１〜２１４８を設けて、リカバリデータＲｄａｔａを８回叩く。そして、同期コード検出回路２１４は、あらかじめ比較回路２１４９に登録されたデータと、フリップフロップ２１４１〜２１４８のそれぞれからの出力とが一致した場合に、同期コードが検出されたものとして、信号レベル“１”の信号を出力Ｓｙｎｃとして出力する。
【００３４】
最後に位相差計算部２１７について図３を参照しながら説明する。
位相差計算部２１７には、前述したように、ラッチ回路２１５の出力Ｄ３、ラッチ回路２１６の出力Ｄ２、及び位相差方向検出部２１２４の位相差方向出力が入力される。
ここで、ラッチ回路２１５の出力Ｄ３は、処理クロックＳｃｌｋとリカバリクロックＲｃｌｋの位相差０から同期コードを検出するまでの処理クロックＳｃｌｋの立ち上がり回数を示す。同様に、ラッチ回路２１６の出力Ｄ２は、処理クロックＳｃｌｋとリカバリクロックＲｃｌｋの位相差０から、次の処理クロックＳｃｌｋとリカバリクロックＲｃｌｋの位相差０までの処理クロックＳｃｌｋの立ち上がり回数を示す。また、位相差方向検出部２１２４の出力の位相差方向信号は処理クロックＳｃｌｋとリカバリクロックＲｃｌｋのどちらが周波数が高いかの情報である。
【００３５】
ラッチ回路２１６の出力Ｄ２の立ち上がり回数は、位相差０検出回路２１２により検出された、処理クロックＳｃｌｋとリカバリクロックＲｃｌｋの位相差０のタイミング（第１のタイミングとなる）から、次の処理クロックＳｃｌｋとリカバリクロックＲｃｌｋの位相差０のタイミング（第２のタイミングとなる）までの処理クロックＳｃｌｋのクロック発生回数（第１のクロック発生回数となる）に対応する。
ラッチ回路２１５の出力Ｄ３の立ち上がり回数は、位相差０検出回路２１２により検出された、処理クロックＳｃｌｋとリカバリクロックＲｃｌｋの位相差０のタイミング（第１のタイミングとなる）から、同期コード検出回路２１４で同期コードが検出されるタイミング（第３のタイミングとなる）までの処理クロックＳｃｌｋのクロック発生回数（第２のクロック発生回数となる）に対応する。
本実施形態では第１及び第２のクロック発生回数をカウンタ２１３、ラッチ回路２１５、２１６を用いて求めているが、他の回路構成により求めてもよい。
【００３６】
位相差計算部２１７は、ラッチ回路２１５の出力Ｄ３、ラッチ回路２１６の出力Ｄ２、及び位相差０検出回路２１２の位相差方向出力に基づいて、同期コードと処理クロックの位相差を以下のように計算する。
同期コードの処理クロックＳｃｌｋに対する位相遅れβは、処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が高い場合は、数式１（数１として示す）で求められ、処理クロックＳｃｌｋの方がリカバリクロックＲｃｌｋより周波数が低い場合は、数式２（数２として示す）で求められる。
【数１】
2018067824.tif 000003
【数２】
2018067824.tif 000004
【００３７】
数式１、数式２について図８、図９を用いて説明する。図８は、リカバリクロックより処理クロックの方が、周波数が高い場合のタイミングチャートである。図９は、リカバリクロックより処理クロックの方が、周波数が低い場合のタイミングチャートである。
【００３８】
リカバリクロックＲｃｌｋより処理クロックＳｃｌｋの方が周波数が高い場合、図８のタイミングチャートに示すように、処理クロックＳｃｌｋのラッチ回路２１６の出力回数でリカバリクロックＲｃｌｋは１処理クロック遅れるため、処理クロックＳｃｌｋの１ｃｌｋ毎に１／（ラッチ回路２１６の出力回数ｍ）分だけ処理クロックＳｃｌｋより遅れる。ラッチ回路２１５の出力が処理クロックＳｃｌｋとリカバリクロックＲｃｌｋの位相差０から同期コードを検出するまでの処理クロックＳｃｌｋの立ち上がり回数であることから、同期コードの処理クロックＳｃｌｋに対する位相遅れβを数式１により求めることができる。
【００３９】
逆に、リカバリクロックＲｃｌｋより処理クロックＳｃｌｋの方が周波数が低い場合は、図９のタイミングチャートに示すように、処理クロックＳｃｌｋの１ｃｌｋ毎に１／ｍ分だけ処理クロックより早まることから、同期コードの処理クロックＳｃｌｋに対する位相遅れβを数式２により求めることができる。
【００４０】
以上のように、本実施形態では、受信データのクロックとスレーブの処理クロックとの位相差をディジタル回路により求めることができ、これにより、移植性が高く同期性能の高いＡＳＩＣの作成が可能となる。
【００４１】
（第２の実施形態）
図１０は本発明の第２の実施形態の位相差推定装置となる位相差推定回路の構成を示すブロック図である。位相差推定回路２１−３はＡＳＩＣであり、位相差推定回路２１−３と水晶発振器２１−１とは図１のスレーブ２１に含まれる。通信データは図１のマスター１１から送信される。図１０において、図３の位相差推定回路２１−２と同一構成部材について同一符号を付して説明を省略する。
【００４２】
図１０に示す本第２の実施形態の位相差推定回路２１−３と図３に示す第１の実施形態の位相差推定回路２１−２との違いは、ラッチ回路２１６と位相差計算部２１７との間にＩＩＲ（Infinite Impulse Response）フィルタ等のフィルタ２１９を入れて、位相差０の間隔の平均を取っていることである。ラッチ回路２１６では、処理クロックＳｃｌｋとリカバリクロックＲｃｌｋの位相差０から、次の処理クロックＳｃｌｋとリカバリクロックＲｃｌｋの位相差０までの処理クロックＳｃｌｋの立ち上がり回数を求めているが、水晶発振器１１−１、２１−１との発振周波数が変動し、位相差０の間隔が変動する場合がある。
【００４３】
本実施形態では、位相差０の間隔の平均を取り位相差の計算を行うことで、位相差０の間隔の変動による影響を抑制することができる。
【００４４】
（第３の実施形態）
図１１は本発明の第３の実施形態の位相差推定装置となる位相差推定回路の構成を示すブロック図である。位相差推定回路２１−４はＡＳＩＣであり、位相差推定回路２１−４と水晶発振器２１−１と水晶発振器２１−５は図１のスレーブ２１に含まれる。通信データは図１のマスター１１から送信される。図１１において、図３の位相差推定回路２１−２と同一構成部材について同一符号を付して説明を省略する。
【００４５】
第１の実施形態の位相差推定回路では、マスター１１の水晶発振器１１−１とスレーブ２１の水晶発振器２１−１との周波数偏差がとても小さい場合、カウンタ２１３がオーバーフローしてしまい、位相差が分からなくなる。
スレーブ２１において、例えば１００ＭＨｚ±１００ｐｐｍの水晶発振器２１−１を用いる場合、実際の周波数は９９．９９ＭＨｚ〜１００．０１ＭＨｚの周波数となる。マスター１１側の送信回路１１１の駆動用として９９．９６ＭＨｚ±１００ｐｐｍの周波数の水晶発振器１１−２を用意したとき、この周波数はおよそ９９．９５ＭＨｚ〜９９．９７ＭＨｚとなるため、水晶発振器２１−１の周波数とは重ならない。
【００４６】
このようにマスター１１において、水晶発振器１１−２を水晶発振器１１−１とは別に用意して送信回路１１１に使用する。スレーブ２１の処理クロックを生じさせる水晶発振器２１−１としてマスター１１の水晶発振器１１−１と同じ発信周波数のものが用いられていても、確実に送信先となるスレーブ２１のカウンタのオーバーフローを防ぎ位相差を求めることができる。
同様に、スレーブ２２において、１００ＭＨｚ±１００ｐｐｍの水晶発振器が処理クロック用として用いられていても、スレーブ２１で、９９．９６ＭＨｚ±１００ｐｐｍの周波数の水晶発振器２１−５を送信回路２１８の駆動用として用いれば、確実に送信先となるスレーブ２２のカウンタのオーバーフローを防ぎ位相差を求めることができる。
【００４７】
以上説明した各実施形態において、位相差推定回路はＡＳＩＣ（Application Specific Integrated Circuit）で構成されるとしたが、ＡＳＳＰ(Application Specific Standard Product)、ＦＰＧＡ(Field Programmable Gate Array)等の他の集積回路（ＩＣ）で構成することもできる。位相差推定回路の機能の全部又は一部をハードウェア、ソフトウェア又はこれらの組み合わせにより実現することもできる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００４８】
以上、本発明の代表的な実施形態について説明したが、本発明は、本願の請求の範囲によって規定される、その精神または主要な特徴から逸脱することなく、他の種々の形で実施することができる。そのため、前述した各実施形態は単なる例示にすぎず、限定的に解釈されるべきではない。本発明の範囲は特許請求の範囲によって示すものであって、明細書や要約書の記載には拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更はすべて本発明の範囲内のものである。
【符号の説明】
【００４９】
１１  マスター
２１〜２ｎ  スレーブ
１１−１、２１−１  水晶発振器
１１１、２１８  送信回路
２１１  ＣＤＲ
２１２  位相差０検出回路
２１３  カウンタ
２１４  同期コード検出回路
２１５、２１６  ラッチ回路
２１７  位相差計算部
【図１】
2018067824.tif 000005
【図２】
2018067824.tif 000006
【図３】
2018067824.tif 000007
【図４】
2018067824.tif 000008
【図５】
2018067824.tif 000009
【図６】
2018067824.tif 000010
【図７】
2018067824.tif 000011
【図８】
2018067824.tif 000012
【図９】
2018067824.tif 000013
【図１０】
2018067824.tif 000014
【図１１】
2018067824.tif 000015