ディジタル位相検出器およびPLL
【課題】従来のディジタル位相検出器は、遅延素子としてインバータ等の遅延時間を使用しているが、遅延素子の配置および配線の固定が必要であることからゲート・アレイやFPGA等ではインプリメントすることが難しい。遅延素子の遅延時間はデバイスの種類やプロセスばらつきにより変動するため位相検出の精度に影響が出る。
【解決手段】2つのクロックが整数比に近い周波数を有している場合において、第1のクロックを入力とするM/N逓倍する逓倍器と、逓倍器の出力クロックを用いて第2のクロックをラッチするF/Fと、F/Fの出力を微分する微分回路と、逓倍器の出力クロックを入力とするカウンタと、微分回路の出力に応じて前記カウンタの出力を保持するラッチ回路と、ラッチ回路の出力を加算する第1の加算器と、第1の加算器の出力を固定値から減算する第2の加算器と、第2の加算器の出力を順次積算する積算器と、を備えるよう構成する。
【解決手段】2つのクロックが整数比に近い周波数を有している場合において、第1のクロックを入力とするM/N逓倍する逓倍器と、逓倍器の出力クロックを用いて第2のクロックをラッチするF/Fと、F/Fの出力を微分する微分回路と、逓倍器の出力クロックを入力とするカウンタと、微分回路の出力に応じて前記カウンタの出力を保持するラッチ回路と、ラッチ回路の出力を加算する第1の加算器と、第1の加算器の出力を固定値から減算する第2の加算器と、第2の加算器の出力を順次積算する積算器と、を備えるよう構成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディジタル位相検出器およびPLLに係り、特に標準的なCMOSプロセスで製造されるディジタル位相検出器およびPLLに関する。
【背景技術】
【0002】
アナログ構成のPLL(Phase Locked Loop)回路は、基準クロックとVCO(Voltage Controlled Oscillator)出力クロックとの位相差を位相比較器にて出力パルスの幅として検出する。また、PLL回路は、位相比較器の出力を所望のPLL特性となるように構成されたループフィルタを経由して電圧変換する。PLL回路は、変換された電圧をVCOの制御電圧端子に印加して、VCO出力クロックの周波数を制御する。
【0003】
上述したアナログ構成のPLL回路では、所望のPLL特性を得るために構成されるループフィルタに抵抗素子や容量素子が必要である。しかし、これらの素子について、標準的なCMOSプロセスで構成することは、サイズや定数精度の点で困難である。このため、抵抗素子や容量素子は、デバイスのピンを経由して外部に搭載される場合が多い。したがって、プロセスが微細化されても回路の小型化のメリットを必ずしも享受していない。
【0004】
また、要求されるPLL特性が厳しい場合、外付けされる抵抗素子や容量素子のもつ定数の初期ばらつきや温度変動が問題となる。さらに、(1)複数の基準クロックを入力してそれらを切り替えるスイッチング機能、(2)基準クロックが断した場合にPLL回路の出力位相を一定期間保証する、いわゆるホールドオーバー機能、等の高機能化の要求も増えている。以上の結果、アナログ構成のPLL回路では所望の特性を実現が困難である場合も多い。
【0005】
そこで、近年、アナログ構成のPLL回路に代わり、位相比較器およびループフィルタをディジタル構成とするPLL回路が適用されている。ディジタル構成のPLL回路では、基準クロックとVCO出力クロック、2つのクロックの位相差をディジタル値として出力するディジタル位相検出器が必要となる。ディジタル位相検出器の位相差の検出精度は、PLLの特性を左右する重要な要素である。このため、ディジタル位相検出器は、検出精度の向上を図ることが重要である。
【0006】
この課題を解決するために、遅延素子であるインバータの遅延時間を利用して位相差を量子化して検出しディジタル値に変換するディジタル位相検出器が提案されている(特許文献1または特許文献2参照)。
【0007】
ここで、図1および図2を参照して、従来のディジタル位相検出器を説明する。ここで、図1はディジタル位相検出器のブロック図である。図2はディジタ位相検出器のタイムチャートである。
【0008】
図1においてディジタル位相検出器700は、遅延素子であるn台のインバータ701と、n台のフリップフロップ(以下F/Fと略す)702と、で構成される。クロックCLKi(internal clock signal)は、インバータ701をn個従属接続して遅延させるとともに、インバータ701の出力D(0)〜D(n−1)はF/F702にそれぞれ入力される。また、F/F702は、インバータ701の出力D(0)〜D(n−1)をそれぞれクロックCLKr(reference clock signal)にてラッチし、Q(0:n−1)を出力する。
【0009】
図2を参照して、ディジタル位相検出器700においてn=8とした場合のタイミングを説明する。図2において、横軸は時間、縦軸は上から順に、(a)CLKi、(b)D(0)、(c)D(1)、(d)D(2)、(e)D(3)、(f)D(4)、(g)D(5)、(h)D(6)、(i)D(7)、(j)CLKr、(k)、Q(0:7)である。D(0)〜D(7)は、クロックCLKiを、遅延素子となるインバータ701を介して遅延時間ΔTずつ遅延して生成される。図2のタイムチャートでは、クロックCLKrの立ち上がりエッジのタイミングで、上述のD(0)〜D(7)をそれぞれラッチすることにより、Q(0:7)=“11100000”を得ている。
【0010】
上述のようにして得られるQ(0:7)は、クロックCLKrに対してクロックCLKiがどの位相にいるかによって得られる値が変わるため、クロックCLKrとクロックCLKiの位相差を示すディジタル値を表している。したがって、ディジタル位相検出器700によれば、クロックCLKrとクロックCLKiの位相差をインバータ701の遅延時間ΔTの単位時間で量子化してディジタル値に変換することができる。また、ディジタル位相検出器700によれば、クロックCLKrとクロックCLKiの位相差は、インバータ701の遅延時間ΔTで量子化されるため、ΔTの精度で検出することができる。
【0011】
【特許文献1】特開2002−076886号公報
【特許文献2】特開2007−110370号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
ところが、上述したディジタル位相検出器には、次に示す課題がある。
第1に、ディジタル位相検出器700で使用されているインバータの遅延時間は、ディジタル位相検出器をインプリメントするCMOSデバイスによって変わってしまう。つまり、ディジタル位相検出器の位相差の検出精度がCMOSデバイスに依存する。このため、所望のPLL特性を実現可能かどうかインプリメントするCMOSデバイス毎に検証する必要がある。
【0013】
第2に、ディジタル位相検出器700で使用されているインバータ701の遅延時間は、プロセスばらつき、電源電圧および温度変動によりばらつきが生じる。この結果、位相差の検出精度に影響を与える。このため、所望の検出精度を確保するためにはこれらのばらつきを極力抑える必要がある。
【0014】
第3に、ディジタル位相検出器700の位相差の検出精度をΔTに保つためには、実際には遅延素子であるインバータの遅延時間だけでなく、インバータ701間の配線および各インバータ701から各F/F702までの配線の遅延時間も考慮する必要がある。このため、インバータおよびF/Fの配置および配線を固定することが必須である。
【0015】
ASSP(Application Specific Standard Product:特定用途向け汎用デバイス)では、所望のPLL回路の特性およびインプリメントするデバイスに特化して、インバータおよびF/Fの配置および配線を固定することは可能である。しかし、ゲート・アレイ、FPGA(Field Programmable Gate Array)等のユーザ論理をインプリメント可能なデバイスでは、ユーザ論理の設計作業毎にインバータ701およびF/Fの配置および配線を固定していると効率が悪い。このため、一般的にはデバイス・ベンダによって配置および配線を固定したハードマクロとして提供される必要がある。しかし、所望のPLL回路の特性はユーザの用途により異なるため、一般的にはハードマクロとして提供されることは少ない。
したがって、上述したディジタル位相検出器700を、ゲート・アレイ、FPGA等のユーザ論理をインプリメント可能なデバイスにおいて実現するのは難しかった。
【0016】
本発明は、上述の課題を解決するためになされたものであり、遅延素子を使わずに2つのクロックの位相差を精度よく量子化してディジタル値に変換でき、且つ、ゲート・アレイ、FPGA等にも容易にインプリメントすることができるディジタル位相検出器およびPLLを提供する。
【課題を解決するための手段】
【0017】
上述した課題は、第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、第1のクロックを入力してM/N逓倍する逓倍器と、逓倍器の出力クロックにより第2のクロックをラッチする第1のフリップフロップと、逓倍器の出力クロックにより動作するカウンタと、カウンタの出力に応じて第1のフリップフロップの出力をラッチする複数の第2のフリップフロップを含む論理回路と、を備えるディジタル位相検出器により、達成できる。
【0018】
また、第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、第1のクロックを入力してM/N逓倍する逓倍器と、逓倍器の出力クロックと第2のクロックとを入力して第2のクロックの1周期あたりのパルス数をカウントするパルス数カウント部と、パルス数カウント部の出力と固定値との差を出力する第1の加算器と、第1の加算器の出力を第2のクロック1周期毎に順次積算する積算器と、を備え、逓倍器の出力クロックは、位相が等間隔で異なるL個(L:2以上の正整数)のサブクロックで構成され、パルス数カウント部は、サブクロックを用いて第2のクロックをラッチするL個のフリップフロップと、フリップフロップの出力を微分するL個の微分回路と、微分回路の出力で初期化されカウント動作を行うL個のカウンタと、微分回路の出力でカウンタの出力をラッチするL個の第1のラッチ回路と、微分回路の出力で第1のラッチ回路または第2のラッチ回路の出力を順次ラッチするL・(N−1)個の第2のラッチ回路と、L個の第1のラッチ回路の出力とL・(N−1)個の第2のラッチ回路の出力とを加算する第2の加算器とを備えるディジタル位相検出器により、達成できる。
【発明の効果】
【0019】
本発明によれば、2つのクロックが整数比に近い周波数を有している場合において、ディジタル位相検出器は、インバータの遅延時間を利用せずに互いのクロックの位相差を精度よく量子化してディジタル値に変換することができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態について、実施例を用い図面を参照しながら説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【実施例1】
【0021】
図3ないし図6を参照して、実施例1を説明する。ここで、図3はディジタル位相検出器のブロック図である。図4はディジタ位相検出器のタイムチャートである。図5は論理回路のブロック図である。図6は論理回路の動作を説明するタイムチャートである。
【0022】
図3において、ディジタル位相検出器500Aは、クロックCLKrの周波数とクロックCLKiの周波数との比が整数Kに近いとする。ディジタル位相検出器500Aは、第1のクロックCLKrを入力とし、Kと互いに素となる適切な整数N、およびNと互いに素となる適当な整数M、によりM/N逓倍する逓倍器201と、逓倍器201の出力クロックCLKmにより第2のクロックCLKiをラッチするフリップフロップ(以下F/Fと記載)702と、逓倍器201の出力クロックCLKmにより動作するカウンタ202と、カウンタ202の出力に応じて所望のF/F702の出力をラッチして、位相差をディジタル値として出力する論理回路203と、を備える。
【0023】
ディジタル位相検出器500Aは、クロックCLKrの周波数をfr、クロックCLKiの周波数をfiとすると、上述した前提事項から式(1)を満たす。
【0024】
【数1】
式(1)において、αは、ディジタル位相検出器においてクロックCLKiに許容される、クロックCLKrをK分周したクロックの周波数からの偏差を表している。αは、1に対して十分小さい。αの具体的な値については後述する。
【0025】
また式(1)では、2つのクロックCLKrとCLKiの周波数の比は整数Kに近い場合とした。しかし、2つのクロックCLKrとCLKiとの周波数の比が有理数K1/K2(K1、K2は整数)に近い場合、すなわち式(2)を満たす場合においても、fi/K2をCLKiのクロック周波数と見なす。すなわちクロックCLKiをK2分周すれば、式(1)と等価となるため、2つのクロックCLKrとCLKiの周波数の比が有理数に近い場合においても、ディジタル位相検出器を構成することができる。
【0026】
【数2】
なお、以下の説明では、2つのクロックCLKrとCLKiの周波数の比は整数比Kに近いものとして説明する。
【0027】
次に、クロックCLKrと、逓倍器201にて生成されるクロックCLKm、との位相の関係について説明する。
クロックCLKrの周期をTr、クロックCLKmの周期をTmとする。逓倍器201の動作により、TmとTrの関係は式(3)のとおり表される。
【0028】
【数3】
クロックCLKrの周期TrのK倍の時間を単位時間Tと定義する。Tは、式(4)のように表される。
【0029】
【数4】
式(4)は、単位時間Tの時間内に、クロックCLKmが(K・M/N)回カウントされることを示している。ここで、整数K、M、Nについて、NはKと互いに素となる整数、MはNと互いに素となる整数、を選択する。すると、(K・M/N)は、整数にならないことは明らかである。したがって、Tを式(5)のとおり表すことができる。
【0030】
【数5】
式(5)において、(Tm・Y/N)は、単位時間T毎にクロックCLKmのクロックエッジが、クロックCLKrのK分周のクロックエッジに対してずれる時間を表している。したがって、任意の単位時間Tの時間区間において、クロックCLKmのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間をΔTmiと表すと、ΔTmiは式(6)のとおり表すことができる。
【0031】
【数6】
式(6)において、ΔTmi+N=ΔTmiであるため、ΔTmiの取り得る値はiは0〜(N−1)の整数の場合について考慮すればよい。
次に、ΔTmiが取り得る値について、Nが素数の場合と素数以外の場合にそれぞれ分けて説明する。
Nが素数の場合、((i・Y)modulo N)/Nは、Yは1〜(N−1)のある整数であることから、0、1/N、2/N、…、(N−1)/Nの異なる値を有する。理由を以下に述べる。もし、iが0〜(N−1)の整数で異なるi、例えばi1、i2で同じ値となるならば、式(7)が成立するはずである。
【0032】
【数7】
式(7)を変形すれば、式(8)が成立する。
【0033】
【数8】
しかし、(i1−i2)は−(N−1)〜(N−1)の整数であり、Yは1〜(N−1)のある整数であることから、式(8)が成立するのは、i1=i2のときだけであり、言い換えれば、iが異なる場合には((i・Y)modulo N)/Nは異なる値になる。したがって、Nが素数の場合、iが0〜(N−1)のN個の異なる整数をとるならば、ΔTmiはN個の異なる値、すなわち、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値を有する。
次に、Nが素数ではない場合について説明する。Nが素数ではない場合、((i・Y)modulo N)/Nは、必ずしもN個の異なる値を有するとは限らない。しかし、例えばN=9、Y=1の場合には、
0、1/9、2/9、…、8/9
の9個の異なる値を有する。したがって、Nが素数ではない場合でも、整数NおよびMを適切な値に選択することができれば、ΔTmiは、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値を有する場合がある。
【0034】
上述の説明により、クロックCLKmのクロックエッジが、クロックCLKrのK分周のクロックエッジに対してずれる時間ΔTmiは、整数M、Nについて、NはKと互いに素であり、しかも適切な(何でもよいわけではない)整数、MはNと互いに素となる適当な(何でもよい)整数を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値を有することが分かる。また、N個の異なる値の時間間隔は、式(9)で表されるΔTに等しい。
【0035】
【数9】
次に、図3による構成例において、CLKiの位相情報をΔTの検出精度で検出できることを説明する。
ある単位時間Tの時間区間をT(0)、T(0)の次の単位時間Tの時間区間をT(1)とし、任意の単位時間Tの時間区間をT(i)と表す。T(i)からT(i+N−1)までのN個の連続する時間区間では、クロックCLKmのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間はΔTmiに等しいため、整数M、Nについて、NはKと互いに素となる適切な整数、MはNと互いに素となる適当な整数、を選択すると、ΔTの時間間隔をもつN個の異なる値を有する。すなわち、N個の連続する時間区間では、クロックCLKrのK分周のクロックエッジに対して等価的にΔTずつずれるクロックCLKmが生成される。
【0036】
上述の説明に従えば、F/F702が、クロックCLKmによってクロックCLKiをラッチすることにより、ディジタル位相検出器500Aは、等価的にΔTの検出精度でサンプリングことができる。
【0037】
カウンタ202は、1〜(K・M)の範囲で巡回し、クロックCLKmのクロックエッジ毎にインクリメント動作を行う。論理回路203は、F/F702の出力とカウンタ202の出力とを入力し、カウンタ202の出力を参照してN個の連続する時間区間中に等価的にサンプリングされたF/F702の出力の中で所望の出力をラッチして保持する。論理回路203は、その順序を並び替えることで、クロックCLKrに対するクロックCLKiの位相差の情報を、ΔTで量子化されたディジタル値で出力する。論理回路203の構成については、図5を参照して後述する。
【0038】
次に、式(1)で示した、クロックCLKiに許容される、クロックCLKrをK分周したクロックの周波数からの偏差αの範囲について説明する。
【0039】
CLKiの位相情報を等価的にΔTの検出精度で検出するためには、上述のとおり、単位時間Tの時間区間を連続してN回分、すなわちN・Tr・Kの時間を要する。したがって、N・Tr・Kの時間内では、クロックCLKiの位相はΔTより十分小さい値しかずれないことが条件となる。このため、クロックCLKiに許容される周波数偏差αは、式(10)のとおり表すことができる。
【0040】
【数10】
なお、式(10)を満たすαの範囲を本明細書では、整数比Kに近い周波数と呼ぶ。
次に、図3によるディジタル位相検出器の構成について、具体的な数値を使ってより詳細に説明する。
【0041】
図4は、ディジタル位相検出器500Aにおいて、整数K、M、Nとして、それぞれK=24、N=5、M=6を選択した場合のタイムチャートである。図4では、横軸は時間であり、縦軸は上から順に、(a)CLKr、(b)CLKm、(c)CLKm(0)、(d)CLKm(1)、(e)CLKm(2)、(f)CLKm(3)、(g)CLKm(4)、(h)等価的なサンプルクロック、(i)CLKiである。なお、(c)〜(i)は、(b)と(c)との関係から分かるように、CLKiの立ち上がり前後のCLKm2サイクルの拡大図である。
【0042】
図4(a)に示すように、単位時間Tは、Tr・24である。単位時間Tは、逓倍器201の出力クロックCLKmの周期Tmに換算すると、(b)に示すようにTm・28.8である。また図4では、単位時間Tのある時間区間T(0)の開始時点でクロックCLKrと逓倍器201の出力クロックCLKmの立ち上がりエッジがそろっている、すなわちΔTm0=0として図示している。このとき、ΔTmiは式(6)により、式(11)のように表される。
【0043】
【数11】
図4(c)〜(g)によれば、連続する5個の時間区間において、単位時間T毎にΔT=Tm/5ずつずれたクロックCLKmが生成されていることが分かる。したがって、時間区間T(0)からT(4)までの連続する5個の時間区間において、クロックCLKiをクロックCLKmによりサンプリングすれば、等価的にΔTの検出精度で位相差を検出することができる。
【0044】
図5を参照して、上述したK=24、N=5、M=6を選択した場合の、ディジタル位相検出器の論理回路の構成を説明する。図5において、論理回路203は、F/F702とカウンタ202との出力を入力とし、8ビットのパラレル信号を出力する。論理回路203は、8台のラッチ回路402と、8台の比較器401とで構成される。比較器401は、カウンタ202の出力と固定値を比較して一致しているかどうかを判定する。ラッチ回路402は、比較器401の出力とF/F702の出力を入力とし、比較器401が一致を検出した場合にF/F702の出力をラッチする。論理回路203は、異なる固定値についてそれぞれ一致した場合にF/F702の出力をラッチするために、比較器401とラッチ回路402とを並列に8式備えている。
【0045】
論理回路203は、K・M=144であることから、カウンタ202は1〜144の範囲で巡回しクロックCLKmのクロックエッジ毎にインクリメント動作を行う。一方、カウンタ202の出力が8つの固定値、「88、59、30、1、116、87、58、29」に一致したかどうかを比較器401−0〜401−7にてそれぞれ判定し、一致した場合、F/F702の出力をラッチ回路(F/F)402にてラッチして出力する。なお、8つの固定値の根拠は、図6にて説明する。
【0046】
図6を参照して、論理回路の動作のタイムチャートを説明する。図6では、横軸は時間であり、縦軸は上から順に、(a)CLKi、(b)CLKm(0)とカウンタ、(c)CLKm(1)とカウンタ、(d)CLKm(2)とカウンタ、(e)CLKm(3)とカウンタ、(f)CLKm(4)とカウンタ、(g)Q(0)〜Q(7)、(h)Q(0:7)である。図6において、上述した8つの固定値は、等価的にΔTの時間間隔をもつサンプリングクロックにおいて、ΔTの時間間隔で連続する8つのクロックエッジに対応するようにカウンタの値を選択している。したがって、カウンタ202の出力が上述の固定値と一致した場合に、該当するF/F702の出力をラッチして、Q(0:7)を出力している。図6のタイムチャートでは、Q(0:7)=“11111000”を得ているが、このようにして得られるQ(0:7)は、クロックCLKrに対してクロックCLKiがどの位相にいるかによって得られる値が変わるため、クロックCLKrとクロックCLKiの位相差を示すディジタル値を表している。したがって、図3の構成によれば、クロックCLKrとクロックCLKiの位相差をΔTの単位時間で量子化してディジタル値に変換することができる。
【実施例2】
【0047】
図7ないし図9を参照して、実施例2を説明する。ここで、図7はディジタル位相検出器の他のブロック図である。図8はディジタル位相検出器の動作を説明するタイムチャートである。図9はディジタル位相検出器の効果を説明するグラフである。
【0048】
図7において、ディジタル位相検出器500B1は、第1のクロックCLKrを入力とし、Kと互いに素となる適切な整数N、およびNと互いに素となる適当な整数M、によりM/N逓倍する逓倍器201と、逓倍器201の出力クロックCLKmおよび第2のクロックCLKiを入力としクロックCLKi1周期あたりのパルス数をカウントするパルス数カウント部106と、パルス数カウント部106の出力と固定値との差を出力する加算器107と、加算器107の出力を第2のクロックCLKi1周期毎に順次積算する積算器108と、を備える。
【0049】
また、パルス数カウント部106は、逓倍器201の出力クロックCLKmを用いて第2のクロックCLKiをラッチするF/F702と、F/F702の出力を微分する微分回路101と、微分回路101の出力で初期化され、逓倍器201の出力クロックCLKmによりカウント動作を行うカウンタ102と、微分回路101の出力でカウンタ102の出力をラッチするラッチ回路103-1と、微分回路101の出力でラッチ回路103-1の出力を順次保持する(N−1)個のラッチ回路103−2〜103−Nと、ラッチ回路103の計N個の出力を加算する加算器105と、を備える。
【0050】
ディジタル位相検出器500B1は、パルス数カウント部106では、上述の実施例1のとおり、N個の連続する時間区間では等価的にΔTずつずれるクロックCLKmが生成されることを利用して、クロックCLKiの周期Tiを、逓倍器201の出力クロックCLKmによりカウントし、N個の連続する時間区間でのカウント結果をそれぞれ加算する動作を行う。
【0051】
図8を参照して、パルス数カウント部の動作を説明する。図8において、横軸は時間軸であり、縦軸は上から順に(a)CLKi、(b)CLKm、(c)微分回路101出力、(d)カウンタ出力、(e)ラッチ103−1出力、(f)ラッチ103−2出力、(g)ラッチ103−N−1出力、(h)ラッチ103−N出力、(i)パルス数カウント部106出力である。
【0052】
図8において、ディジタル位相検出器500B1は、M/N逓倍器201の出力クロックCLKmによりクロックCLKiをF/F702にてラッチする。ディジタル位相検出器500B1は、F/F702の出力を微分回路101にて微分することでクロックCLKiの立ち上がりエッジを検出し、立ち上がりエッジでカウンタ102を初期化する。カウンタ102は、クロックCLKiの次の立ち上がりエッジまでの間、すなわちクロックCLKi1周期の間、M/N逓倍器201の出力クロックCLKmを使ってパルス数をカウントする。カウンタ102は、クロックCLKiの次の立ち上がりエッジのタイミングで、カウント値をラッチ回路103にてラッチする。N個のラッチ回路103は、クロックCLKi1周期あたりのパルス数を、過去N周期前までそれぞれ保持する。加算器105は、ラッチ回路103出力を合計することにより、クロックCLKiの過去N周期分のパルス数を加算して出力する。
【0053】
上述の動作により、パルス数カウント部106は、クロックCLKiの周期を等価的にΔTの時間間隔でサンプリングしそのパルス数をカウントしているとみなすことができる。このため、パルス数カウント部106の出力は、クロックCLKiの周期を、ΔTを時間単位として量子化したディジタル値として示している。
【0054】
次に、パルス数カウント部106の出力を使用することにより、クロックCLKiとクロックCLKrの位相差の情報が得られることを説明する。
パルス数カウント部106の出力をC1とする。パルス数カウント部106の出力は、ΔTを時間単位として量子化したクロックCLKiの周期を表しているため、量子化されたクロックCLKiの周期Tidは、式(12)のように表される。
【0055】
【数12】
一方、クロックCLKiがクロックCLKrのK分周のクロックと周波数が等しい場合、クロックCLKiの周期はTr・Kであり、クロックCLKrのK分周のクロックと周波数が等しい場合を基準とすると、クロックCLKiの位相のずれは、クロックCLKi1周期あたり、(Tr・K−Tid)で表すことができる。このため、クロックCLKiの位相のずれtは、クロックCLKi1周期毎に(Tr・K−Tid)を積算した値であり、式(13)のように表される。
【0056】
【数13】
ディジタル位相検出器の出力Qを、ΔTを単位時間としたディジタル値で出力するとすれば、Qは式(13)を使って、式(14)のとおり表される。
【0057】
【数14】
実施例2によるディジタル位相検出器500B1は、式(14)を使って構成している。すなわち、加算器107は、固定値K・Mとパルス数カウント部106の出力の差を算出する。積算器108は、加算器107の出力をクロックCLKi1周期毎に積算する。この結果、クロックCLKiの位相のずれを、ΔTを単位時間としたディジタル値として出力する。
【0058】
なお、ディジタル位相検出器500B1は、積算器108を用いてクロックCLKiの位相のずれを算出している。このため、積算器108の初期値が0の場合、クロックCLKrとクロックCLKiの位相差が0ならば、ディジタル位相検出器500B1の出力は、クロックCLKrのクロックエッジとクロックCLKiの位相差を表している。しかし、積算器108の初期値が0の場合、クロックCLKrとクロックCLKiの位相がずれているならば、ディジタル位相検出器500B1の出力は、クロックCLKrのクロックエッジとクロックCLKiの位相差に対して上述の積算器108の初期値が0の場合の位相差に相当する固定値をオフセット値としてもつ。したがって、クロックCLKrとクロックCLKiの位相差について、クロックCLKrの位相を基準としてクロックCLKiの相対的な位相変動について着目する場合、ディジタル位相検出器500B1の出力をそのまま使用できる。しかし、クロックCLKrとクロックCLKiの位相差の絶対値について着目する場合には、ディジタル位相検出器500B1の出力から上述のオフセット値を差し引く必要がある。
【0059】
図9を参照して、実施例2によるディジタル位相検出器500B1の効果を説明する。図9において、横軸は時間(μs)、縦軸は理想位相からの位相差(ns)である。図9では、クロックCLKrの周波数を155.52MHz、K=24、N=5、M=6とし、クロックCLKiの周波数を6.48MHz(=155.52MHz/24)に対して−20ppmの周波数の偏差を有する場合について、出力Qの時間経過にΔTの単位時間を乗じてクロックCLKrとクロックCLKiの位相差として表したものである。また、比較のために、クロックCLKiの周波数が6.48MHzとした場合を基準として、クロックCLKiの理想位相からの位相差についても示している。
【0060】
上述の条件では、式(3)より位相差の検出精度ΔTは、1.08nsとなる。図9より、実施例2によるディジタル位相検出器500B1は、検出精度ΔT以内で位相のずれを正しく検出できていることが分かる。
【実施例3】
【0061】
実施例3を図10を参照して説明する。ここで、図10はディジタル位相検出器の他のブロック図である。図10において、ディジタル位相検出器500B2は、M/N逓倍器201Aと、2台のパルス数カウント部106と、2台の加算器105A、107と、積算器108とで構成される。M/N逓倍器201Aは、第1のクロックCLKrを入力とし、Kと互いに素となる適切な奇数N、およびNと互いに素となる適当な整数M、によりM/N逓倍し、且つ互いに180°ずれた2つのクロックを出力する。2台のパルス数カウント部106は、逓倍器201Aの位相が180°ずれた2つのクロックをそれぞれ入力とし、第2のクロックCLKi1周期あたりのパルス数をカウントする。加算器105Aは、2つのパルス数カウント部106の出力を加算する。加算器107は、加算器105Aの出力と固定値(2・K・M)との差を出力する。積算器108は、加算器107の出力を第2のクロックCLKi1周期毎に順次積算する。
【0062】
以下、図10の本実施例によるディジタル位相検出器について説明する。
【0063】
逓倍器201Aの出力のクロックCLKmに対して180°ずれたクロックをCLKwとする。クロックCLKwは、クロックCLKmと比較してTm/2だけ位相がずれている。また上述において、単位時間Tの任意の時間区間T(i)で、クロックCLKmのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTmiは、整数M、Nについて、NはKと互いに素となる適切な整数、MはNと互いに素となる適当な整数、を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値をとることを示した。
【0064】
したがって、単位時間Tの任意の時間区間T(i)で、クロックCLKwのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTwiは、式(15)のように表される。
【0065】
【数15】
ここで、Nを奇数とし、整数mを使ってN=(2・m+1)と表すと、ΔTwiは式(16)のとおり表すことができる。
【0066】
【数16】
iが0〜(N−1)のN個の異なる整数をとるならば、((i+m)modulo N)/Nは任意の整数mに対して、
0、1/N、2/N、…、(N−1)/N
のN個の異なる値を有することは明らかである。したがって、ΔTwiは、整数M、Nについて、NはKと互いに素となる適切な奇数、MはNと互いに素となる適切な整数、を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、
Tm/(2・N)、
Tm・1/N+Tm/(2・N)、
…
Tm・(N−1)/N+Tm/(2・N)
のN個の異なる値を有し、その時間間隔はΔTに等しい。また、ΔTwiがとるN個の異なる値は、ΔTmiがとるN個の異なる値に対してTm/(2・N)、すなわちΔT/2だけずれた値となる。
【0067】
このため、N個の連続する時間区間では、クロックCLKmおよびクロックCLKwの2つのクロックを使用した場合、それらのクロックエッジが、クロックCLKrのK分周のクロックエッジに対してずれる時間は、整数M、Nについて、NはKと互いに素となる適切な奇数、MはNと互いに素となる適切な整数、を選択すると、ΔT/2の時間間隔をもつ2・N個の異なる値となる。すなわち、N個の連続する時間区間では、等価的にΔT/2ずつずれるクロックが生成される。
【0068】
図10において、逓倍器201Aの出力クロックCLKmおよびCLKwの2つのクロックにより、クロックCLKiの周期TiをカウントしN個の連続する時間区間でのカウント結果をそれぞれ加算するパルス数カウント部106をそれぞれ設ける。また、2つのパルス数カウント部106の出力を加算器105Aにて加算して出力する。上述の動作により、クロックCLKiの周期を等価的にΔT/2の時間間隔でサンプリングしカウントしているとみなすことができる。このため、加算器105Aの出力は、クロックCLKiの周期を、ΔT/2を時間単位として量子化したディジタル値を示している。
【0069】
次に、加算器105Aの出力を使用することにより、クロックCLKiとクロックCLKrの位相差の情報が得られることを説明する。
加算器105Aの出力をC2とする。加算器105Aの出力は、ΔT/2を時間単位として量子化したクロックCLKiの周期を表しているため、量子化されたクロックCLKiの周期Tidは、式(17)のように表される。
【0070】
【数17】
一方、クロックCLKiがクロックCLKrのK分周のクロックと周波数が等しい場合、クロックCLKiの周期は、Tr・Kである。クロックCLKrのK分周のクロックと周波数が等しい場合を基準とすると、クロックCLKiの位相のずれは、クロックCLKi1周期あたり、(Tr・K−Tid)で表すことができる。このため、クロックCLKiの位相のずれtは、クロックCLKi1周期毎に(Tr・K−Tid)を積算した値であるため、式(18)のように表される。
【0071】
【数18】
ディジタル位相検出器の出力Qを、ΔT/2を単位時間としたディジタル値で出力するとすれば、Qは式(18)を使って、式(19)のとおり表される。
【0072】
【数19】
ディジタル位相検出器500B2は、式(19)を使って構成している。すなわち、加算器107は、固定値2・K・Mと加算器105Aの出力の差を算出する。積算器108は、加算器107の出力をクロックCLKi1周期毎に積算する。この結果、ディジタル位相検出器500B2は、クロックCLKiの位相のずれをΔT/2を単位時間としたディジタル値として出力する。
【実施例4】
【0073】
実施例4を図11を参照して説明する。ここで、図11はディジタル位相検出器の他のブロック図である。図11において、ディジタル位相検出器500B3は、M/N逓倍器201Bと、4台のパルス数カウント部106と、2台の加算器105B、107と、積算器108とで構成される。M/N逓倍器201Bは、第1のクロックCLKrを入力とし、Kと互いに素となる適切な奇数N、およびNと互いに素となる適切な整数M、によりM/N逓倍し、且つ互いに90°ずれた4つのクロックを出力する。4台のパルス数カウント部106は、逓倍器201Bの位相が90°ずれた4つのクロックをそれぞれ入力とし、第2のクロックCLKi1周期あたりのパルス数をカウントする。加算器105Bは、4台のパルス数カウント部106の出力を加算する。加算器107は、加算器105Bの出力と固定値(4・K・M)との差を出力する。積算器108は、加算器107の出力を第2のクロックCLKi1周期毎に順次積算する。
【0074】
図11において、逓倍器201BのクロックCLKmに対して90°および270°ずれたクロックをそれぞれCLKq1、CLKq2とする。クロックCLKq1は、クロックCLKmと比較してTm・1/4だけ位相がずれており、クロックCLKq2は、クロックCLKmと比較してTm・3/4だけ位相がずれている。また、単位時間Tの任意の時間区間T(i)で、クロックCLKmのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTmiは、整数M、Nについて、NはKと互いに素となる適切な整数、MはNと互いに素となる適切な整数、を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値をとることが示された。
【0075】
したがって、単位時間Tの任意の時間区間T(i)で、クロックCLKq1のクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTq1i、およびクロックCLKq2のクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTq2iは、式(20)および式(21)のように表される。
【0076】
【数20】
【0077】
【数21】
ここで、Nを奇数とし、整数mを使って表すと、N=(4・m+1)もしくはN=(4・m+3)のいずれかで表すことができる。したがって、ΔTq1i、ΔTq2iは、式(22)および式(23)のとおり表すことができる。
【0078】
【数22】
【0079】
【数23】
iが0〜(N−1)のN個の異なる整数をとるならば、((i+m)modulo N)/Nは任意の整数mに対して、
0、1/N、2/N、…、(N−1)/N
のN個の異なる値を有することは明らかである。したがって、ΔTq1iおよびΔTq2iは、整数M、Nについて、NはKと互いに素となる適切な奇数、MはNと互いに素となる適切な整数、を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、いずれか一方は、
Tm/(4・N)、
Tm・1/N+Tm/(4・N)、
…
Tm・(N−1)/N+Tm/(4・N)
のN個の異なる値を有し、他方は、
Tm・3/(4・N)、
Tm・1/N+Tm・3/(4・N)、
…
Tm・(N−1)/N+Tm・3/(4・N)
のN個の異なる値を有している。また、ΔTq1iおよびΔTq2iがとるN個の異なる値は、ΔTmiがとるN個の異なる値に対して、いずれが一方はTm/(4・N)、他方は3・Tm/(4・N)だけずれた値となる。
【0080】
このため、N個の連続する時間区間では、クロックCLKmおよびクロックCLKwに加えて、クロックCLKq1およびクロックCLKq2の、4つのクロックを使用した場合、それらのクロックエッジが、クロックCLKrのK分周のクロックエッジに対してずれる時間は、整数M、Nについて、NはKと互いに素となる適切な奇数、MはNと互いに素となる適切な整数、を選択すると、ΔT/4の時間間隔をもつ4・N個の異なる値となる。すなわち、N個の連続する時間区間では、等価的にΔT/4ずつずれるクロックが生成される。
【0081】
ディジタル位相検出器500B3は、N個の連続する時間区間では等価的にΔT/4ずつずれるクロックが生成されることを利用する。ディジタル位相検出器500B3は、逓倍器201Bの出力クロックCLKm、CLKw、CLKq1、CLKq2の各々のクロックにより、クロックCLKiの周期Tiをカウントする。ディジタル位相検出器500B3は、N個の連続する時間区間でのカウント結果をそれぞれ加算するパルス数カウント部106をそれぞれ設ける。ディジタル位相検出器500B3は、4つのパルス数カウント部106の出力を加算器105Bにて加算して出力する。ディジタル位相検出器500B3は、クロックCLKiの周期を等価的にΔT/4の時間間隔でサンプリングしカウントしているとみなすことができる。このため、加算器105Bの出力は、クロックCLKiの周期を、ΔT/4を時間単位として量子化したディジタル値を示している。
【0082】
次に、加算器105Bの出力を使用することにより、クロックCLKiとクロックCLKrの位相差の情報が得られることを説明する。
加算器105Bの出力をC4とする。加算器105Bの出力は、ΔT/4を時間単位として量子化したクロックCLKiの周期を表している。このため、量子化されたクロックCLKiの周期Tidは、式(24)のように表される。
【0083】
【数24】
一方、クロックCLKiがクロックCLKrのK分周のクロックと周波数が等しい場合、クロックCLKiの周期はTr・Kである。クロックCLKrのK分周のクロックと周波数が等しい場合を基準とすると、クロックCLKiの位相のずれは、クロックCLKi1周期あたり、(Tr・K−Tid)で表すことができる。このため、クロックCLKiの位相のずれtは、クロックCLKi1周期毎に(Tr・K−Tid)を積算した値であるため、式(25)のように表される。
【0084】
【数25】
ディジタル位相検出器の出力Qを、ΔT/4を単位時間としたディジタル値で出力するとすれば、Qは式(26)のとおり表される。
【0085】
【数26】
ディジタル位相検出器500B3は、式(26)を使って構成している。すなわち、加算器107では固定値4・K・Mと加算器105Bの出力の差を算出する。積算器108は、加算器107の出力をクロックCLKi1周期毎に積算する。この結果、ディジタル位相検出器500B3は、クロックCLKiの位相のずれをΔT/4を単位時間としたディジタル値として出力する。
【0086】
また、上述の実施例3および実施例4の説明と同様に、逓倍器の出力としてさらに多くの多相のクロックを設けることができれば、実施例4によるディジタル位相検出器の位相検出の精度を向上させることができる。
【0087】
実施例1ないし実施例4に係るディジタル位相検出器は、インバータの遅延時間を使用していないためにゲート・アレイやFPGA等のCMOSデバイスに容易にインプリメントすることができる。このため、ディジタルPLL回路を始めとして、PLLのロック判定回路やメモリのリードおよびライトアクセスの位相検出回路、伝送路クロックの監視回路等の様々な回路に対して幅広く適用することができる。
【実施例5】
【0088】
図12ないし図14を参照して実施例5を説明する。ここで、図12は光伝送システムのブロック図である。図13は多重送信装置のブロック図である。図14はPLLのブロック図である。
【0089】
図12において、光伝送システム1000は、2台の光多重伝送装置600と、2台の中継器800と、それらを接続する光ファイバ920とから構成される。なお、光多重伝送装置600は、図示しないクライアント装置と接続する光ファイバ910も接続される。光多重伝送装置600は、多重送信装置610と、分離受信装置660とから構成される。多重送信装置610は、複数(図示では4本)のクライアント信号を多重して、多重光信号を高次フレーム区間に送出する。分離受信装置660は、高次伝送フレーム区間からの多重光信号を分離して、複数(図示では4本)のクライアント信号を送信する。中継器800は、光アンプ810を双方向用に2台備え、多重光信号を光増幅する。
【0090】
図13において、多重送信装置610は、クライアント信号ごとのO/E変換部611とクロック・データ再生部(CDR:Clock Data Recovery)612とS/P変換部613とフレーム終端部614と、FIFO(First In First Out)メモリ615、高次フレーム生成部616と、P/S変換部617と、E/O変換部618と、クロック選択部619と、PLL620とから構成される。
【0091】
O/E611は、クライアント信号を光−電気変換する。CDR612は、電気信号からクロックを抽出しデータを再生する。CDR612は、フレーム終端部614、FIFOメモリ615、クロック選択部619に抽出したクロックを供給する。S/P613は、再生された直列電気信号を並列電気信号に変換する。フレーム終端部614は、クライアント信号のフレームを終端する。FIFOメモリ615は、フレーム終端部614からのデータをクライアント信号ごとのクロックで書き込み、PLLからのクロックで高次フレーム生成部616に読み出す。高次フレーム生成部616は、高次フレームを生成する。P/S617は、高次フレームをP/S変換する。E/O618は、シリアル電気信号を光信号に変換する。
【0092】
クライアント信号は、STM−16(2.4Gbit/s)であり、高次フレーム信号は、STM−64(10Gbit/s)である。クロック選択部619は、各クライアント信号から抽出された4クロックと、装置内基準クロックとを入力として、高次フレーム信号のクロック源をどのクロックにするか選択する。クライアント信号のいずれかのクロックを選択したとき、その回線の抽出クロックと従属同期する。PLL620は、10Gbit/sの生成するための基準クロック(622.08MHzまたは155.52MHz)を生成する。PLL620は、またジッタを抑圧するLPF(Low Pass Filter)としても、機能する。PLL620は、基準クロックを高次フレーム生成部616とP/S617とFIFOメモリ615に供給する。
【0093】
図14において、PLL620は、ディジタル位相検出器500と、ディジタルフィルタ622と、DAC(Data Analog Converter)623と、電圧制御水晶発振器(VCXO:Voltage Controlled CRYSTal Oscillator)624と、分周器625とから構成される。
【0094】
VCXO624は、印加する電圧(アナログ値)を変えることで、発振周波数を変える電圧制御型水晶発振器である。VCXO624は、1.65Vを印加することで155.52MHzを出力する。一方、VCXO624は、0Vを印加すると155.52MHz−200ppm、3.3Vを印加すると155.52MHz+200ppmを出力する。VCXO624は、上述したように印加電圧(アナログ値)にほぼ比例して発振周波数を変化させる。なお、VOXO624の発振周波数は、622.08MHz±150ppm等でもよい。
【0095】
DAC623は、ディジタルフィルタ622の演算結果(ディジタルデータ)を、VCXO624に印加するアナログ値に変換する。ディジタルフィルタ622は、ディジタル位相検出器500の出力結果を入力とし、PLL620に所望のPLL特性を実現するために、その特性を制御する。ディジタルフィルタ622は、PLL620のジッタを抑圧するためにローパスフィルタ(LPF)の役目を果たす。ディジタルフィルタ622は、そのLPFのカットオフ周波数や抑圧特性等の伝達特性を決める。しかし、必要以上にカットオフ周波数を下げると、ジッタは抑圧されるが、入力の変動になかなか追従しない遅いPLLになる。この結果、VCXO624のジッタ特性が要求されたり、引き込み時間が遅くなったりする弊害がある。したがって、装置仕様に応じてディジタルフィルタ622の特性を調整する。分周器625は、VCXO624の出力クロックを分周して、ディジタル位相検出器500にフィードバックする。
【0096】
PLL620は、基準クロックとVCXO出力クロックの位相がずれないように、フィードバック・ループで制御する。具体的には、入力クロックと分周されたVCXO出力クロックの位相差をディジタル位相検出器500で検出する。ディジタル位相検出器500の検出結果を、ディジタルフィルタ622と、DAC623とにより、電圧に変換する。この電圧を、VCXO624に印加して、VCXO624の発振周波数を調整する。この結果、VCXO出力クロックの位相が調整される。
【0097】
DAC623については、容易にFPGAやLSIにインプリメントできる回路が既に実現されている。また発振器もディジタル制御型のオンチップVCOがある。したがって、位相比較器をディジタル化することにより、発振器も含めた完全なディジタルPLLを提供できる。
【0098】
上述した実施例5に拠れば、ゲート・アレイ、FPGA等にも容易にインプリメントすることができるディジタルPLLを提供することができる。
【図面の簡単な説明】
【0099】
【図1】ディジタル位相検出器のブロック図である。
【図2】ディジタ位相検出器のタイムチャートである。
【図3】ディジタル位相検出器のブロック図である。
【図4】ディジタ位相検出器のタイムチャートである。
【図5】論理回路のブロック図である。
【図6】論理回路の動作を説明するタイムチャートである。
【図7】ディジタル位相検出器の他のブロック図である。
【図8】ディジタル位相検出器の動作を説明するタイムチャートである。
【図9】ディジタル位相検出器の効果を説明するグラフである。
【図10】ディジタル位相検出器の他のブロック図である。
【図11】ディジタル位相検出器の他のブロック図である。
【図12】光伝送システムのブロック図である。
【図13】多重送信装置のブロック図である。
【図14】PLLのブロック図である。
【符号の説明】
【0100】
101…微分回路、102…カウンタ、103…ラッチ回路、105…加算器、106…パルス数カウント部、107…加算器、108…積算器、201…逓倍器、202…カウンタ、203…論理回路部、401…比較器、402…ラッチ回路、500…ディジタル位相検出器、600…光多重伝送装置、610…多重送信装置、611…O/E変換部、612…クロック・データ再生部(CDR)、613…S/P変換部、614…フレーム終端部、615…FIFOメモリ、616…高次フレーム生成部、617…P/S変換部、618…E/O変換部、619…クロック選択部、620…PLL、622…ディジタルフィルタ、623…D/A変換部(DAC)、624…VCXO、625…分周器、660…分離受信装置、700…ディジタル位相検出器、701…インバータ、702…F/F、800…中継器、810…光増幅器、910…光ファイバ、920…光ファイバ、1000…光伝送システム。
【技術分野】
【0001】
本発明は、ディジタル位相検出器およびPLLに係り、特に標準的なCMOSプロセスで製造されるディジタル位相検出器およびPLLに関する。
【背景技術】
【0002】
アナログ構成のPLL(Phase Locked Loop)回路は、基準クロックとVCO(Voltage Controlled Oscillator)出力クロックとの位相差を位相比較器にて出力パルスの幅として検出する。また、PLL回路は、位相比較器の出力を所望のPLL特性となるように構成されたループフィルタを経由して電圧変換する。PLL回路は、変換された電圧をVCOの制御電圧端子に印加して、VCO出力クロックの周波数を制御する。
【0003】
上述したアナログ構成のPLL回路では、所望のPLL特性を得るために構成されるループフィルタに抵抗素子や容量素子が必要である。しかし、これらの素子について、標準的なCMOSプロセスで構成することは、サイズや定数精度の点で困難である。このため、抵抗素子や容量素子は、デバイスのピンを経由して外部に搭載される場合が多い。したがって、プロセスが微細化されても回路の小型化のメリットを必ずしも享受していない。
【0004】
また、要求されるPLL特性が厳しい場合、外付けされる抵抗素子や容量素子のもつ定数の初期ばらつきや温度変動が問題となる。さらに、(1)複数の基準クロックを入力してそれらを切り替えるスイッチング機能、(2)基準クロックが断した場合にPLL回路の出力位相を一定期間保証する、いわゆるホールドオーバー機能、等の高機能化の要求も増えている。以上の結果、アナログ構成のPLL回路では所望の特性を実現が困難である場合も多い。
【0005】
そこで、近年、アナログ構成のPLL回路に代わり、位相比較器およびループフィルタをディジタル構成とするPLL回路が適用されている。ディジタル構成のPLL回路では、基準クロックとVCO出力クロック、2つのクロックの位相差をディジタル値として出力するディジタル位相検出器が必要となる。ディジタル位相検出器の位相差の検出精度は、PLLの特性を左右する重要な要素である。このため、ディジタル位相検出器は、検出精度の向上を図ることが重要である。
【0006】
この課題を解決するために、遅延素子であるインバータの遅延時間を利用して位相差を量子化して検出しディジタル値に変換するディジタル位相検出器が提案されている(特許文献1または特許文献2参照)。
【0007】
ここで、図1および図2を参照して、従来のディジタル位相検出器を説明する。ここで、図1はディジタル位相検出器のブロック図である。図2はディジタ位相検出器のタイムチャートである。
【0008】
図1においてディジタル位相検出器700は、遅延素子であるn台のインバータ701と、n台のフリップフロップ(以下F/Fと略す)702と、で構成される。クロックCLKi(internal clock signal)は、インバータ701をn個従属接続して遅延させるとともに、インバータ701の出力D(0)〜D(n−1)はF/F702にそれぞれ入力される。また、F/F702は、インバータ701の出力D(0)〜D(n−1)をそれぞれクロックCLKr(reference clock signal)にてラッチし、Q(0:n−1)を出力する。
【0009】
図2を参照して、ディジタル位相検出器700においてn=8とした場合のタイミングを説明する。図2において、横軸は時間、縦軸は上から順に、(a)CLKi、(b)D(0)、(c)D(1)、(d)D(2)、(e)D(3)、(f)D(4)、(g)D(5)、(h)D(6)、(i)D(7)、(j)CLKr、(k)、Q(0:7)である。D(0)〜D(7)は、クロックCLKiを、遅延素子となるインバータ701を介して遅延時間ΔTずつ遅延して生成される。図2のタイムチャートでは、クロックCLKrの立ち上がりエッジのタイミングで、上述のD(0)〜D(7)をそれぞれラッチすることにより、Q(0:7)=“11100000”を得ている。
【0010】
上述のようにして得られるQ(0:7)は、クロックCLKrに対してクロックCLKiがどの位相にいるかによって得られる値が変わるため、クロックCLKrとクロックCLKiの位相差を示すディジタル値を表している。したがって、ディジタル位相検出器700によれば、クロックCLKrとクロックCLKiの位相差をインバータ701の遅延時間ΔTの単位時間で量子化してディジタル値に変換することができる。また、ディジタル位相検出器700によれば、クロックCLKrとクロックCLKiの位相差は、インバータ701の遅延時間ΔTで量子化されるため、ΔTの精度で検出することができる。
【0011】
【特許文献1】特開2002−076886号公報
【特許文献2】特開2007−110370号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
ところが、上述したディジタル位相検出器には、次に示す課題がある。
第1に、ディジタル位相検出器700で使用されているインバータの遅延時間は、ディジタル位相検出器をインプリメントするCMOSデバイスによって変わってしまう。つまり、ディジタル位相検出器の位相差の検出精度がCMOSデバイスに依存する。このため、所望のPLL特性を実現可能かどうかインプリメントするCMOSデバイス毎に検証する必要がある。
【0013】
第2に、ディジタル位相検出器700で使用されているインバータ701の遅延時間は、プロセスばらつき、電源電圧および温度変動によりばらつきが生じる。この結果、位相差の検出精度に影響を与える。このため、所望の検出精度を確保するためにはこれらのばらつきを極力抑える必要がある。
【0014】
第3に、ディジタル位相検出器700の位相差の検出精度をΔTに保つためには、実際には遅延素子であるインバータの遅延時間だけでなく、インバータ701間の配線および各インバータ701から各F/F702までの配線の遅延時間も考慮する必要がある。このため、インバータおよびF/Fの配置および配線を固定することが必須である。
【0015】
ASSP(Application Specific Standard Product:特定用途向け汎用デバイス)では、所望のPLL回路の特性およびインプリメントするデバイスに特化して、インバータおよびF/Fの配置および配線を固定することは可能である。しかし、ゲート・アレイ、FPGA(Field Programmable Gate Array)等のユーザ論理をインプリメント可能なデバイスでは、ユーザ論理の設計作業毎にインバータ701およびF/Fの配置および配線を固定していると効率が悪い。このため、一般的にはデバイス・ベンダによって配置および配線を固定したハードマクロとして提供される必要がある。しかし、所望のPLL回路の特性はユーザの用途により異なるため、一般的にはハードマクロとして提供されることは少ない。
したがって、上述したディジタル位相検出器700を、ゲート・アレイ、FPGA等のユーザ論理をインプリメント可能なデバイスにおいて実現するのは難しかった。
【0016】
本発明は、上述の課題を解決するためになされたものであり、遅延素子を使わずに2つのクロックの位相差を精度よく量子化してディジタル値に変換でき、且つ、ゲート・アレイ、FPGA等にも容易にインプリメントすることができるディジタル位相検出器およびPLLを提供する。
【課題を解決するための手段】
【0017】
上述した課題は、第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、第1のクロックを入力してM/N逓倍する逓倍器と、逓倍器の出力クロックにより第2のクロックをラッチする第1のフリップフロップと、逓倍器の出力クロックにより動作するカウンタと、カウンタの出力に応じて第1のフリップフロップの出力をラッチする複数の第2のフリップフロップを含む論理回路と、を備えるディジタル位相検出器により、達成できる。
【0018】
また、第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、第1のクロックを入力してM/N逓倍する逓倍器と、逓倍器の出力クロックと第2のクロックとを入力して第2のクロックの1周期あたりのパルス数をカウントするパルス数カウント部と、パルス数カウント部の出力と固定値との差を出力する第1の加算器と、第1の加算器の出力を第2のクロック1周期毎に順次積算する積算器と、を備え、逓倍器の出力クロックは、位相が等間隔で異なるL個(L:2以上の正整数)のサブクロックで構成され、パルス数カウント部は、サブクロックを用いて第2のクロックをラッチするL個のフリップフロップと、フリップフロップの出力を微分するL個の微分回路と、微分回路の出力で初期化されカウント動作を行うL個のカウンタと、微分回路の出力でカウンタの出力をラッチするL個の第1のラッチ回路と、微分回路の出力で第1のラッチ回路または第2のラッチ回路の出力を順次ラッチするL・(N−1)個の第2のラッチ回路と、L個の第1のラッチ回路の出力とL・(N−1)個の第2のラッチ回路の出力とを加算する第2の加算器とを備えるディジタル位相検出器により、達成できる。
【発明の効果】
【0019】
本発明によれば、2つのクロックが整数比に近い周波数を有している場合において、ディジタル位相検出器は、インバータの遅延時間を利用せずに互いのクロックの位相差を精度よく量子化してディジタル値に変換することができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態について、実施例を用い図面を参照しながら説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【実施例1】
【0021】
図3ないし図6を参照して、実施例1を説明する。ここで、図3はディジタル位相検出器のブロック図である。図4はディジタ位相検出器のタイムチャートである。図5は論理回路のブロック図である。図6は論理回路の動作を説明するタイムチャートである。
【0022】
図3において、ディジタル位相検出器500Aは、クロックCLKrの周波数とクロックCLKiの周波数との比が整数Kに近いとする。ディジタル位相検出器500Aは、第1のクロックCLKrを入力とし、Kと互いに素となる適切な整数N、およびNと互いに素となる適当な整数M、によりM/N逓倍する逓倍器201と、逓倍器201の出力クロックCLKmにより第2のクロックCLKiをラッチするフリップフロップ(以下F/Fと記載)702と、逓倍器201の出力クロックCLKmにより動作するカウンタ202と、カウンタ202の出力に応じて所望のF/F702の出力をラッチして、位相差をディジタル値として出力する論理回路203と、を備える。
【0023】
ディジタル位相検出器500Aは、クロックCLKrの周波数をfr、クロックCLKiの周波数をfiとすると、上述した前提事項から式(1)を満たす。
【0024】
【数1】
式(1)において、αは、ディジタル位相検出器においてクロックCLKiに許容される、クロックCLKrをK分周したクロックの周波数からの偏差を表している。αは、1に対して十分小さい。αの具体的な値については後述する。
【0025】
また式(1)では、2つのクロックCLKrとCLKiの周波数の比は整数Kに近い場合とした。しかし、2つのクロックCLKrとCLKiとの周波数の比が有理数K1/K2(K1、K2は整数)に近い場合、すなわち式(2)を満たす場合においても、fi/K2をCLKiのクロック周波数と見なす。すなわちクロックCLKiをK2分周すれば、式(1)と等価となるため、2つのクロックCLKrとCLKiの周波数の比が有理数に近い場合においても、ディジタル位相検出器を構成することができる。
【0026】
【数2】
なお、以下の説明では、2つのクロックCLKrとCLKiの周波数の比は整数比Kに近いものとして説明する。
【0027】
次に、クロックCLKrと、逓倍器201にて生成されるクロックCLKm、との位相の関係について説明する。
クロックCLKrの周期をTr、クロックCLKmの周期をTmとする。逓倍器201の動作により、TmとTrの関係は式(3)のとおり表される。
【0028】
【数3】
クロックCLKrの周期TrのK倍の時間を単位時間Tと定義する。Tは、式(4)のように表される。
【0029】
【数4】
式(4)は、単位時間Tの時間内に、クロックCLKmが(K・M/N)回カウントされることを示している。ここで、整数K、M、Nについて、NはKと互いに素となる整数、MはNと互いに素となる整数、を選択する。すると、(K・M/N)は、整数にならないことは明らかである。したがって、Tを式(5)のとおり表すことができる。
【0030】
【数5】
式(5)において、(Tm・Y/N)は、単位時間T毎にクロックCLKmのクロックエッジが、クロックCLKrのK分周のクロックエッジに対してずれる時間を表している。したがって、任意の単位時間Tの時間区間において、クロックCLKmのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間をΔTmiと表すと、ΔTmiは式(6)のとおり表すことができる。
【0031】
【数6】
式(6)において、ΔTmi+N=ΔTmiであるため、ΔTmiの取り得る値はiは0〜(N−1)の整数の場合について考慮すればよい。
次に、ΔTmiが取り得る値について、Nが素数の場合と素数以外の場合にそれぞれ分けて説明する。
Nが素数の場合、((i・Y)modulo N)/Nは、Yは1〜(N−1)のある整数であることから、0、1/N、2/N、…、(N−1)/Nの異なる値を有する。理由を以下に述べる。もし、iが0〜(N−1)の整数で異なるi、例えばi1、i2で同じ値となるならば、式(7)が成立するはずである。
【0032】
【数7】
式(7)を変形すれば、式(8)が成立する。
【0033】
【数8】
しかし、(i1−i2)は−(N−1)〜(N−1)の整数であり、Yは1〜(N−1)のある整数であることから、式(8)が成立するのは、i1=i2のときだけであり、言い換えれば、iが異なる場合には((i・Y)modulo N)/Nは異なる値になる。したがって、Nが素数の場合、iが0〜(N−1)のN個の異なる整数をとるならば、ΔTmiはN個の異なる値、すなわち、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値を有する。
次に、Nが素数ではない場合について説明する。Nが素数ではない場合、((i・Y)modulo N)/Nは、必ずしもN個の異なる値を有するとは限らない。しかし、例えばN=9、Y=1の場合には、
0、1/9、2/9、…、8/9
の9個の異なる値を有する。したがって、Nが素数ではない場合でも、整数NおよびMを適切な値に選択することができれば、ΔTmiは、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値を有する場合がある。
【0034】
上述の説明により、クロックCLKmのクロックエッジが、クロックCLKrのK分周のクロックエッジに対してずれる時間ΔTmiは、整数M、Nについて、NはKと互いに素であり、しかも適切な(何でもよいわけではない)整数、MはNと互いに素となる適当な(何でもよい)整数を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値を有することが分かる。また、N個の異なる値の時間間隔は、式(9)で表されるΔTに等しい。
【0035】
【数9】
次に、図3による構成例において、CLKiの位相情報をΔTの検出精度で検出できることを説明する。
ある単位時間Tの時間区間をT(0)、T(0)の次の単位時間Tの時間区間をT(1)とし、任意の単位時間Tの時間区間をT(i)と表す。T(i)からT(i+N−1)までのN個の連続する時間区間では、クロックCLKmのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間はΔTmiに等しいため、整数M、Nについて、NはKと互いに素となる適切な整数、MはNと互いに素となる適当な整数、を選択すると、ΔTの時間間隔をもつN個の異なる値を有する。すなわち、N個の連続する時間区間では、クロックCLKrのK分周のクロックエッジに対して等価的にΔTずつずれるクロックCLKmが生成される。
【0036】
上述の説明に従えば、F/F702が、クロックCLKmによってクロックCLKiをラッチすることにより、ディジタル位相検出器500Aは、等価的にΔTの検出精度でサンプリングことができる。
【0037】
カウンタ202は、1〜(K・M)の範囲で巡回し、クロックCLKmのクロックエッジ毎にインクリメント動作を行う。論理回路203は、F/F702の出力とカウンタ202の出力とを入力し、カウンタ202の出力を参照してN個の連続する時間区間中に等価的にサンプリングされたF/F702の出力の中で所望の出力をラッチして保持する。論理回路203は、その順序を並び替えることで、クロックCLKrに対するクロックCLKiの位相差の情報を、ΔTで量子化されたディジタル値で出力する。論理回路203の構成については、図5を参照して後述する。
【0038】
次に、式(1)で示した、クロックCLKiに許容される、クロックCLKrをK分周したクロックの周波数からの偏差αの範囲について説明する。
【0039】
CLKiの位相情報を等価的にΔTの検出精度で検出するためには、上述のとおり、単位時間Tの時間区間を連続してN回分、すなわちN・Tr・Kの時間を要する。したがって、N・Tr・Kの時間内では、クロックCLKiの位相はΔTより十分小さい値しかずれないことが条件となる。このため、クロックCLKiに許容される周波数偏差αは、式(10)のとおり表すことができる。
【0040】
【数10】
なお、式(10)を満たすαの範囲を本明細書では、整数比Kに近い周波数と呼ぶ。
次に、図3によるディジタル位相検出器の構成について、具体的な数値を使ってより詳細に説明する。
【0041】
図4は、ディジタル位相検出器500Aにおいて、整数K、M、Nとして、それぞれK=24、N=5、M=6を選択した場合のタイムチャートである。図4では、横軸は時間であり、縦軸は上から順に、(a)CLKr、(b)CLKm、(c)CLKm(0)、(d)CLKm(1)、(e)CLKm(2)、(f)CLKm(3)、(g)CLKm(4)、(h)等価的なサンプルクロック、(i)CLKiである。なお、(c)〜(i)は、(b)と(c)との関係から分かるように、CLKiの立ち上がり前後のCLKm2サイクルの拡大図である。
【0042】
図4(a)に示すように、単位時間Tは、Tr・24である。単位時間Tは、逓倍器201の出力クロックCLKmの周期Tmに換算すると、(b)に示すようにTm・28.8である。また図4では、単位時間Tのある時間区間T(0)の開始時点でクロックCLKrと逓倍器201の出力クロックCLKmの立ち上がりエッジがそろっている、すなわちΔTm0=0として図示している。このとき、ΔTmiは式(6)により、式(11)のように表される。
【0043】
【数11】
図4(c)〜(g)によれば、連続する5個の時間区間において、単位時間T毎にΔT=Tm/5ずつずれたクロックCLKmが生成されていることが分かる。したがって、時間区間T(0)からT(4)までの連続する5個の時間区間において、クロックCLKiをクロックCLKmによりサンプリングすれば、等価的にΔTの検出精度で位相差を検出することができる。
【0044】
図5を参照して、上述したK=24、N=5、M=6を選択した場合の、ディジタル位相検出器の論理回路の構成を説明する。図5において、論理回路203は、F/F702とカウンタ202との出力を入力とし、8ビットのパラレル信号を出力する。論理回路203は、8台のラッチ回路402と、8台の比較器401とで構成される。比較器401は、カウンタ202の出力と固定値を比較して一致しているかどうかを判定する。ラッチ回路402は、比較器401の出力とF/F702の出力を入力とし、比較器401が一致を検出した場合にF/F702の出力をラッチする。論理回路203は、異なる固定値についてそれぞれ一致した場合にF/F702の出力をラッチするために、比較器401とラッチ回路402とを並列に8式備えている。
【0045】
論理回路203は、K・M=144であることから、カウンタ202は1〜144の範囲で巡回しクロックCLKmのクロックエッジ毎にインクリメント動作を行う。一方、カウンタ202の出力が8つの固定値、「88、59、30、1、116、87、58、29」に一致したかどうかを比較器401−0〜401−7にてそれぞれ判定し、一致した場合、F/F702の出力をラッチ回路(F/F)402にてラッチして出力する。なお、8つの固定値の根拠は、図6にて説明する。
【0046】
図6を参照して、論理回路の動作のタイムチャートを説明する。図6では、横軸は時間であり、縦軸は上から順に、(a)CLKi、(b)CLKm(0)とカウンタ、(c)CLKm(1)とカウンタ、(d)CLKm(2)とカウンタ、(e)CLKm(3)とカウンタ、(f)CLKm(4)とカウンタ、(g)Q(0)〜Q(7)、(h)Q(0:7)である。図6において、上述した8つの固定値は、等価的にΔTの時間間隔をもつサンプリングクロックにおいて、ΔTの時間間隔で連続する8つのクロックエッジに対応するようにカウンタの値を選択している。したがって、カウンタ202の出力が上述の固定値と一致した場合に、該当するF/F702の出力をラッチして、Q(0:7)を出力している。図6のタイムチャートでは、Q(0:7)=“11111000”を得ているが、このようにして得られるQ(0:7)は、クロックCLKrに対してクロックCLKiがどの位相にいるかによって得られる値が変わるため、クロックCLKrとクロックCLKiの位相差を示すディジタル値を表している。したがって、図3の構成によれば、クロックCLKrとクロックCLKiの位相差をΔTの単位時間で量子化してディジタル値に変換することができる。
【実施例2】
【0047】
図7ないし図9を参照して、実施例2を説明する。ここで、図7はディジタル位相検出器の他のブロック図である。図8はディジタル位相検出器の動作を説明するタイムチャートである。図9はディジタル位相検出器の効果を説明するグラフである。
【0048】
図7において、ディジタル位相検出器500B1は、第1のクロックCLKrを入力とし、Kと互いに素となる適切な整数N、およびNと互いに素となる適当な整数M、によりM/N逓倍する逓倍器201と、逓倍器201の出力クロックCLKmおよび第2のクロックCLKiを入力としクロックCLKi1周期あたりのパルス数をカウントするパルス数カウント部106と、パルス数カウント部106の出力と固定値との差を出力する加算器107と、加算器107の出力を第2のクロックCLKi1周期毎に順次積算する積算器108と、を備える。
【0049】
また、パルス数カウント部106は、逓倍器201の出力クロックCLKmを用いて第2のクロックCLKiをラッチするF/F702と、F/F702の出力を微分する微分回路101と、微分回路101の出力で初期化され、逓倍器201の出力クロックCLKmによりカウント動作を行うカウンタ102と、微分回路101の出力でカウンタ102の出力をラッチするラッチ回路103-1と、微分回路101の出力でラッチ回路103-1の出力を順次保持する(N−1)個のラッチ回路103−2〜103−Nと、ラッチ回路103の計N個の出力を加算する加算器105と、を備える。
【0050】
ディジタル位相検出器500B1は、パルス数カウント部106では、上述の実施例1のとおり、N個の連続する時間区間では等価的にΔTずつずれるクロックCLKmが生成されることを利用して、クロックCLKiの周期Tiを、逓倍器201の出力クロックCLKmによりカウントし、N個の連続する時間区間でのカウント結果をそれぞれ加算する動作を行う。
【0051】
図8を参照して、パルス数カウント部の動作を説明する。図8において、横軸は時間軸であり、縦軸は上から順に(a)CLKi、(b)CLKm、(c)微分回路101出力、(d)カウンタ出力、(e)ラッチ103−1出力、(f)ラッチ103−2出力、(g)ラッチ103−N−1出力、(h)ラッチ103−N出力、(i)パルス数カウント部106出力である。
【0052】
図8において、ディジタル位相検出器500B1は、M/N逓倍器201の出力クロックCLKmによりクロックCLKiをF/F702にてラッチする。ディジタル位相検出器500B1は、F/F702の出力を微分回路101にて微分することでクロックCLKiの立ち上がりエッジを検出し、立ち上がりエッジでカウンタ102を初期化する。カウンタ102は、クロックCLKiの次の立ち上がりエッジまでの間、すなわちクロックCLKi1周期の間、M/N逓倍器201の出力クロックCLKmを使ってパルス数をカウントする。カウンタ102は、クロックCLKiの次の立ち上がりエッジのタイミングで、カウント値をラッチ回路103にてラッチする。N個のラッチ回路103は、クロックCLKi1周期あたりのパルス数を、過去N周期前までそれぞれ保持する。加算器105は、ラッチ回路103出力を合計することにより、クロックCLKiの過去N周期分のパルス数を加算して出力する。
【0053】
上述の動作により、パルス数カウント部106は、クロックCLKiの周期を等価的にΔTの時間間隔でサンプリングしそのパルス数をカウントしているとみなすことができる。このため、パルス数カウント部106の出力は、クロックCLKiの周期を、ΔTを時間単位として量子化したディジタル値として示している。
【0054】
次に、パルス数カウント部106の出力を使用することにより、クロックCLKiとクロックCLKrの位相差の情報が得られることを説明する。
パルス数カウント部106の出力をC1とする。パルス数カウント部106の出力は、ΔTを時間単位として量子化したクロックCLKiの周期を表しているため、量子化されたクロックCLKiの周期Tidは、式(12)のように表される。
【0055】
【数12】
一方、クロックCLKiがクロックCLKrのK分周のクロックと周波数が等しい場合、クロックCLKiの周期はTr・Kであり、クロックCLKrのK分周のクロックと周波数が等しい場合を基準とすると、クロックCLKiの位相のずれは、クロックCLKi1周期あたり、(Tr・K−Tid)で表すことができる。このため、クロックCLKiの位相のずれtは、クロックCLKi1周期毎に(Tr・K−Tid)を積算した値であり、式(13)のように表される。
【0056】
【数13】
ディジタル位相検出器の出力Qを、ΔTを単位時間としたディジタル値で出力するとすれば、Qは式(13)を使って、式(14)のとおり表される。
【0057】
【数14】
実施例2によるディジタル位相検出器500B1は、式(14)を使って構成している。すなわち、加算器107は、固定値K・Mとパルス数カウント部106の出力の差を算出する。積算器108は、加算器107の出力をクロックCLKi1周期毎に積算する。この結果、クロックCLKiの位相のずれを、ΔTを単位時間としたディジタル値として出力する。
【0058】
なお、ディジタル位相検出器500B1は、積算器108を用いてクロックCLKiの位相のずれを算出している。このため、積算器108の初期値が0の場合、クロックCLKrとクロックCLKiの位相差が0ならば、ディジタル位相検出器500B1の出力は、クロックCLKrのクロックエッジとクロックCLKiの位相差を表している。しかし、積算器108の初期値が0の場合、クロックCLKrとクロックCLKiの位相がずれているならば、ディジタル位相検出器500B1の出力は、クロックCLKrのクロックエッジとクロックCLKiの位相差に対して上述の積算器108の初期値が0の場合の位相差に相当する固定値をオフセット値としてもつ。したがって、クロックCLKrとクロックCLKiの位相差について、クロックCLKrの位相を基準としてクロックCLKiの相対的な位相変動について着目する場合、ディジタル位相検出器500B1の出力をそのまま使用できる。しかし、クロックCLKrとクロックCLKiの位相差の絶対値について着目する場合には、ディジタル位相検出器500B1の出力から上述のオフセット値を差し引く必要がある。
【0059】
図9を参照して、実施例2によるディジタル位相検出器500B1の効果を説明する。図9において、横軸は時間(μs)、縦軸は理想位相からの位相差(ns)である。図9では、クロックCLKrの周波数を155.52MHz、K=24、N=5、M=6とし、クロックCLKiの周波数を6.48MHz(=155.52MHz/24)に対して−20ppmの周波数の偏差を有する場合について、出力Qの時間経過にΔTの単位時間を乗じてクロックCLKrとクロックCLKiの位相差として表したものである。また、比較のために、クロックCLKiの周波数が6.48MHzとした場合を基準として、クロックCLKiの理想位相からの位相差についても示している。
【0060】
上述の条件では、式(3)より位相差の検出精度ΔTは、1.08nsとなる。図9より、実施例2によるディジタル位相検出器500B1は、検出精度ΔT以内で位相のずれを正しく検出できていることが分かる。
【実施例3】
【0061】
実施例3を図10を参照して説明する。ここで、図10はディジタル位相検出器の他のブロック図である。図10において、ディジタル位相検出器500B2は、M/N逓倍器201Aと、2台のパルス数カウント部106と、2台の加算器105A、107と、積算器108とで構成される。M/N逓倍器201Aは、第1のクロックCLKrを入力とし、Kと互いに素となる適切な奇数N、およびNと互いに素となる適当な整数M、によりM/N逓倍し、且つ互いに180°ずれた2つのクロックを出力する。2台のパルス数カウント部106は、逓倍器201Aの位相が180°ずれた2つのクロックをそれぞれ入力とし、第2のクロックCLKi1周期あたりのパルス数をカウントする。加算器105Aは、2つのパルス数カウント部106の出力を加算する。加算器107は、加算器105Aの出力と固定値(2・K・M)との差を出力する。積算器108は、加算器107の出力を第2のクロックCLKi1周期毎に順次積算する。
【0062】
以下、図10の本実施例によるディジタル位相検出器について説明する。
【0063】
逓倍器201Aの出力のクロックCLKmに対して180°ずれたクロックをCLKwとする。クロックCLKwは、クロックCLKmと比較してTm/2だけ位相がずれている。また上述において、単位時間Tの任意の時間区間T(i)で、クロックCLKmのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTmiは、整数M、Nについて、NはKと互いに素となる適切な整数、MはNと互いに素となる適当な整数、を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値をとることを示した。
【0064】
したがって、単位時間Tの任意の時間区間T(i)で、クロックCLKwのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTwiは、式(15)のように表される。
【0065】
【数15】
ここで、Nを奇数とし、整数mを使ってN=(2・m+1)と表すと、ΔTwiは式(16)のとおり表すことができる。
【0066】
【数16】
iが0〜(N−1)のN個の異なる整数をとるならば、((i+m)modulo N)/Nは任意の整数mに対して、
0、1/N、2/N、…、(N−1)/N
のN個の異なる値を有することは明らかである。したがって、ΔTwiは、整数M、Nについて、NはKと互いに素となる適切な奇数、MはNと互いに素となる適切な整数、を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、
Tm/(2・N)、
Tm・1/N+Tm/(2・N)、
…
Tm・(N−1)/N+Tm/(2・N)
のN個の異なる値を有し、その時間間隔はΔTに等しい。また、ΔTwiがとるN個の異なる値は、ΔTmiがとるN個の異なる値に対してTm/(2・N)、すなわちΔT/2だけずれた値となる。
【0067】
このため、N個の連続する時間区間では、クロックCLKmおよびクロックCLKwの2つのクロックを使用した場合、それらのクロックエッジが、クロックCLKrのK分周のクロックエッジに対してずれる時間は、整数M、Nについて、NはKと互いに素となる適切な奇数、MはNと互いに素となる適切な整数、を選択すると、ΔT/2の時間間隔をもつ2・N個の異なる値となる。すなわち、N個の連続する時間区間では、等価的にΔT/2ずつずれるクロックが生成される。
【0068】
図10において、逓倍器201Aの出力クロックCLKmおよびCLKwの2つのクロックにより、クロックCLKiの周期TiをカウントしN個の連続する時間区間でのカウント結果をそれぞれ加算するパルス数カウント部106をそれぞれ設ける。また、2つのパルス数カウント部106の出力を加算器105Aにて加算して出力する。上述の動作により、クロックCLKiの周期を等価的にΔT/2の時間間隔でサンプリングしカウントしているとみなすことができる。このため、加算器105Aの出力は、クロックCLKiの周期を、ΔT/2を時間単位として量子化したディジタル値を示している。
【0069】
次に、加算器105Aの出力を使用することにより、クロックCLKiとクロックCLKrの位相差の情報が得られることを説明する。
加算器105Aの出力をC2とする。加算器105Aの出力は、ΔT/2を時間単位として量子化したクロックCLKiの周期を表しているため、量子化されたクロックCLKiの周期Tidは、式(17)のように表される。
【0070】
【数17】
一方、クロックCLKiがクロックCLKrのK分周のクロックと周波数が等しい場合、クロックCLKiの周期は、Tr・Kである。クロックCLKrのK分周のクロックと周波数が等しい場合を基準とすると、クロックCLKiの位相のずれは、クロックCLKi1周期あたり、(Tr・K−Tid)で表すことができる。このため、クロックCLKiの位相のずれtは、クロックCLKi1周期毎に(Tr・K−Tid)を積算した値であるため、式(18)のように表される。
【0071】
【数18】
ディジタル位相検出器の出力Qを、ΔT/2を単位時間としたディジタル値で出力するとすれば、Qは式(18)を使って、式(19)のとおり表される。
【0072】
【数19】
ディジタル位相検出器500B2は、式(19)を使って構成している。すなわち、加算器107は、固定値2・K・Mと加算器105Aの出力の差を算出する。積算器108は、加算器107の出力をクロックCLKi1周期毎に積算する。この結果、ディジタル位相検出器500B2は、クロックCLKiの位相のずれをΔT/2を単位時間としたディジタル値として出力する。
【実施例4】
【0073】
実施例4を図11を参照して説明する。ここで、図11はディジタル位相検出器の他のブロック図である。図11において、ディジタル位相検出器500B3は、M/N逓倍器201Bと、4台のパルス数カウント部106と、2台の加算器105B、107と、積算器108とで構成される。M/N逓倍器201Bは、第1のクロックCLKrを入力とし、Kと互いに素となる適切な奇数N、およびNと互いに素となる適切な整数M、によりM/N逓倍し、且つ互いに90°ずれた4つのクロックを出力する。4台のパルス数カウント部106は、逓倍器201Bの位相が90°ずれた4つのクロックをそれぞれ入力とし、第2のクロックCLKi1周期あたりのパルス数をカウントする。加算器105Bは、4台のパルス数カウント部106の出力を加算する。加算器107は、加算器105Bの出力と固定値(4・K・M)との差を出力する。積算器108は、加算器107の出力を第2のクロックCLKi1周期毎に順次積算する。
【0074】
図11において、逓倍器201BのクロックCLKmに対して90°および270°ずれたクロックをそれぞれCLKq1、CLKq2とする。クロックCLKq1は、クロックCLKmと比較してTm・1/4だけ位相がずれており、クロックCLKq2は、クロックCLKmと比較してTm・3/4だけ位相がずれている。また、単位時間Tの任意の時間区間T(i)で、クロックCLKmのクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTmiは、整数M、Nについて、NはKと互いに素となる適切な整数、MはNと互いに素となる適切な整数、を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、
0、Tm・1/N、Tm・2/N、…、Tm・(N−1)/N
のN個の異なる値をとることが示された。
【0075】
したがって、単位時間Tの任意の時間区間T(i)で、クロックCLKq1のクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTq1i、およびクロックCLKq2のクロックエッジがクロックCLKrのK分周のクロックエッジに対してずれる時間ΔTq2iは、式(20)および式(21)のように表される。
【0076】
【数20】
【0077】
【数21】
ここで、Nを奇数とし、整数mを使って表すと、N=(4・m+1)もしくはN=(4・m+3)のいずれかで表すことができる。したがって、ΔTq1i、ΔTq2iは、式(22)および式(23)のとおり表すことができる。
【0078】
【数22】
【0079】
【数23】
iが0〜(N−1)のN個の異なる整数をとるならば、((i+m)modulo N)/Nは任意の整数mに対して、
0、1/N、2/N、…、(N−1)/N
のN個の異なる値を有することは明らかである。したがって、ΔTq1iおよびΔTq2iは、整数M、Nについて、NはKと互いに素となる適切な奇数、MはNと互いに素となる適切な整数、を選択すると、iが0〜(N−1)の異なるN個の整数をとれば、いずれか一方は、
Tm/(4・N)、
Tm・1/N+Tm/(4・N)、
…
Tm・(N−1)/N+Tm/(4・N)
のN個の異なる値を有し、他方は、
Tm・3/(4・N)、
Tm・1/N+Tm・3/(4・N)、
…
Tm・(N−1)/N+Tm・3/(4・N)
のN個の異なる値を有している。また、ΔTq1iおよびΔTq2iがとるN個の異なる値は、ΔTmiがとるN個の異なる値に対して、いずれが一方はTm/(4・N)、他方は3・Tm/(4・N)だけずれた値となる。
【0080】
このため、N個の連続する時間区間では、クロックCLKmおよびクロックCLKwに加えて、クロックCLKq1およびクロックCLKq2の、4つのクロックを使用した場合、それらのクロックエッジが、クロックCLKrのK分周のクロックエッジに対してずれる時間は、整数M、Nについて、NはKと互いに素となる適切な奇数、MはNと互いに素となる適切な整数、を選択すると、ΔT/4の時間間隔をもつ4・N個の異なる値となる。すなわち、N個の連続する時間区間では、等価的にΔT/4ずつずれるクロックが生成される。
【0081】
ディジタル位相検出器500B3は、N個の連続する時間区間では等価的にΔT/4ずつずれるクロックが生成されることを利用する。ディジタル位相検出器500B3は、逓倍器201Bの出力クロックCLKm、CLKw、CLKq1、CLKq2の各々のクロックにより、クロックCLKiの周期Tiをカウントする。ディジタル位相検出器500B3は、N個の連続する時間区間でのカウント結果をそれぞれ加算するパルス数カウント部106をそれぞれ設ける。ディジタル位相検出器500B3は、4つのパルス数カウント部106の出力を加算器105Bにて加算して出力する。ディジタル位相検出器500B3は、クロックCLKiの周期を等価的にΔT/4の時間間隔でサンプリングしカウントしているとみなすことができる。このため、加算器105Bの出力は、クロックCLKiの周期を、ΔT/4を時間単位として量子化したディジタル値を示している。
【0082】
次に、加算器105Bの出力を使用することにより、クロックCLKiとクロックCLKrの位相差の情報が得られることを説明する。
加算器105Bの出力をC4とする。加算器105Bの出力は、ΔT/4を時間単位として量子化したクロックCLKiの周期を表している。このため、量子化されたクロックCLKiの周期Tidは、式(24)のように表される。
【0083】
【数24】
一方、クロックCLKiがクロックCLKrのK分周のクロックと周波数が等しい場合、クロックCLKiの周期はTr・Kである。クロックCLKrのK分周のクロックと周波数が等しい場合を基準とすると、クロックCLKiの位相のずれは、クロックCLKi1周期あたり、(Tr・K−Tid)で表すことができる。このため、クロックCLKiの位相のずれtは、クロックCLKi1周期毎に(Tr・K−Tid)を積算した値であるため、式(25)のように表される。
【0084】
【数25】
ディジタル位相検出器の出力Qを、ΔT/4を単位時間としたディジタル値で出力するとすれば、Qは式(26)のとおり表される。
【0085】
【数26】
ディジタル位相検出器500B3は、式(26)を使って構成している。すなわち、加算器107では固定値4・K・Mと加算器105Bの出力の差を算出する。積算器108は、加算器107の出力をクロックCLKi1周期毎に積算する。この結果、ディジタル位相検出器500B3は、クロックCLKiの位相のずれをΔT/4を単位時間としたディジタル値として出力する。
【0086】
また、上述の実施例3および実施例4の説明と同様に、逓倍器の出力としてさらに多くの多相のクロックを設けることができれば、実施例4によるディジタル位相検出器の位相検出の精度を向上させることができる。
【0087】
実施例1ないし実施例4に係るディジタル位相検出器は、インバータの遅延時間を使用していないためにゲート・アレイやFPGA等のCMOSデバイスに容易にインプリメントすることができる。このため、ディジタルPLL回路を始めとして、PLLのロック判定回路やメモリのリードおよびライトアクセスの位相検出回路、伝送路クロックの監視回路等の様々な回路に対して幅広く適用することができる。
【実施例5】
【0088】
図12ないし図14を参照して実施例5を説明する。ここで、図12は光伝送システムのブロック図である。図13は多重送信装置のブロック図である。図14はPLLのブロック図である。
【0089】
図12において、光伝送システム1000は、2台の光多重伝送装置600と、2台の中継器800と、それらを接続する光ファイバ920とから構成される。なお、光多重伝送装置600は、図示しないクライアント装置と接続する光ファイバ910も接続される。光多重伝送装置600は、多重送信装置610と、分離受信装置660とから構成される。多重送信装置610は、複数(図示では4本)のクライアント信号を多重して、多重光信号を高次フレーム区間に送出する。分離受信装置660は、高次伝送フレーム区間からの多重光信号を分離して、複数(図示では4本)のクライアント信号を送信する。中継器800は、光アンプ810を双方向用に2台備え、多重光信号を光増幅する。
【0090】
図13において、多重送信装置610は、クライアント信号ごとのO/E変換部611とクロック・データ再生部(CDR:Clock Data Recovery)612とS/P変換部613とフレーム終端部614と、FIFO(First In First Out)メモリ615、高次フレーム生成部616と、P/S変換部617と、E/O変換部618と、クロック選択部619と、PLL620とから構成される。
【0091】
O/E611は、クライアント信号を光−電気変換する。CDR612は、電気信号からクロックを抽出しデータを再生する。CDR612は、フレーム終端部614、FIFOメモリ615、クロック選択部619に抽出したクロックを供給する。S/P613は、再生された直列電気信号を並列電気信号に変換する。フレーム終端部614は、クライアント信号のフレームを終端する。FIFOメモリ615は、フレーム終端部614からのデータをクライアント信号ごとのクロックで書き込み、PLLからのクロックで高次フレーム生成部616に読み出す。高次フレーム生成部616は、高次フレームを生成する。P/S617は、高次フレームをP/S変換する。E/O618は、シリアル電気信号を光信号に変換する。
【0092】
クライアント信号は、STM−16(2.4Gbit/s)であり、高次フレーム信号は、STM−64(10Gbit/s)である。クロック選択部619は、各クライアント信号から抽出された4クロックと、装置内基準クロックとを入力として、高次フレーム信号のクロック源をどのクロックにするか選択する。クライアント信号のいずれかのクロックを選択したとき、その回線の抽出クロックと従属同期する。PLL620は、10Gbit/sの生成するための基準クロック(622.08MHzまたは155.52MHz)を生成する。PLL620は、またジッタを抑圧するLPF(Low Pass Filter)としても、機能する。PLL620は、基準クロックを高次フレーム生成部616とP/S617とFIFOメモリ615に供給する。
【0093】
図14において、PLL620は、ディジタル位相検出器500と、ディジタルフィルタ622と、DAC(Data Analog Converter)623と、電圧制御水晶発振器(VCXO:Voltage Controlled CRYSTal Oscillator)624と、分周器625とから構成される。
【0094】
VCXO624は、印加する電圧(アナログ値)を変えることで、発振周波数を変える電圧制御型水晶発振器である。VCXO624は、1.65Vを印加することで155.52MHzを出力する。一方、VCXO624は、0Vを印加すると155.52MHz−200ppm、3.3Vを印加すると155.52MHz+200ppmを出力する。VCXO624は、上述したように印加電圧(アナログ値)にほぼ比例して発振周波数を変化させる。なお、VOXO624の発振周波数は、622.08MHz±150ppm等でもよい。
【0095】
DAC623は、ディジタルフィルタ622の演算結果(ディジタルデータ)を、VCXO624に印加するアナログ値に変換する。ディジタルフィルタ622は、ディジタル位相検出器500の出力結果を入力とし、PLL620に所望のPLL特性を実現するために、その特性を制御する。ディジタルフィルタ622は、PLL620のジッタを抑圧するためにローパスフィルタ(LPF)の役目を果たす。ディジタルフィルタ622は、そのLPFのカットオフ周波数や抑圧特性等の伝達特性を決める。しかし、必要以上にカットオフ周波数を下げると、ジッタは抑圧されるが、入力の変動になかなか追従しない遅いPLLになる。この結果、VCXO624のジッタ特性が要求されたり、引き込み時間が遅くなったりする弊害がある。したがって、装置仕様に応じてディジタルフィルタ622の特性を調整する。分周器625は、VCXO624の出力クロックを分周して、ディジタル位相検出器500にフィードバックする。
【0096】
PLL620は、基準クロックとVCXO出力クロックの位相がずれないように、フィードバック・ループで制御する。具体的には、入力クロックと分周されたVCXO出力クロックの位相差をディジタル位相検出器500で検出する。ディジタル位相検出器500の検出結果を、ディジタルフィルタ622と、DAC623とにより、電圧に変換する。この電圧を、VCXO624に印加して、VCXO624の発振周波数を調整する。この結果、VCXO出力クロックの位相が調整される。
【0097】
DAC623については、容易にFPGAやLSIにインプリメントできる回路が既に実現されている。また発振器もディジタル制御型のオンチップVCOがある。したがって、位相比較器をディジタル化することにより、発振器も含めた完全なディジタルPLLを提供できる。
【0098】
上述した実施例5に拠れば、ゲート・アレイ、FPGA等にも容易にインプリメントすることができるディジタルPLLを提供することができる。
【図面の簡単な説明】
【0099】
【図1】ディジタル位相検出器のブロック図である。
【図2】ディジタ位相検出器のタイムチャートである。
【図3】ディジタル位相検出器のブロック図である。
【図4】ディジタ位相検出器のタイムチャートである。
【図5】論理回路のブロック図である。
【図6】論理回路の動作を説明するタイムチャートである。
【図7】ディジタル位相検出器の他のブロック図である。
【図8】ディジタル位相検出器の動作を説明するタイムチャートである。
【図9】ディジタル位相検出器の効果を説明するグラフである。
【図10】ディジタル位相検出器の他のブロック図である。
【図11】ディジタル位相検出器の他のブロック図である。
【図12】光伝送システムのブロック図である。
【図13】多重送信装置のブロック図である。
【図14】PLLのブロック図である。
【符号の説明】
【0100】
101…微分回路、102…カウンタ、103…ラッチ回路、105…加算器、106…パルス数カウント部、107…加算器、108…積算器、201…逓倍器、202…カウンタ、203…論理回路部、401…比較器、402…ラッチ回路、500…ディジタル位相検出器、600…光多重伝送装置、610…多重送信装置、611…O/E変換部、612…クロック・データ再生部(CDR)、613…S/P変換部、614…フレーム終端部、615…FIFOメモリ、616…高次フレーム生成部、617…P/S変換部、618…E/O変換部、619…クロック選択部、620…PLL、622…ディジタルフィルタ、623…D/A変換部(DAC)、624…VCXO、625…分周器、660…分離受信装置、700…ディジタル位相検出器、701…インバータ、702…F/F、800…中継器、810…光増幅器、910…光ファイバ、920…光ファイバ、1000…光伝送システム。
【特許請求の範囲】
【請求項1】
第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、前記第1のクロックを入力してM/N逓倍する逓倍器と、前記逓倍器の出力クロックにより前記第2のクロックをラッチする第1のフリップフロップと、前記逓倍器の出力クロックにより動作するカウンタと、前記カウンタの出力に応じて前記第1のフリップフロップの出力をラッチする複数の第2のフリップフロップを含む論理回路と、を備えることを特徴とするディジタル位相検出器。
【請求項2】
第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、前記第1のクロックを入力してM/N逓倍する逓倍器と、前記逓倍器の出力クロックと前記第2のクロックとを入力して前記第2のクロックの1周期あたりのパルス数をカウントするパルス数カウント部と、該パルス数カウント部の出力と固定値との差を出力する第1の加算器と、該第1の加算器の出力を前記第2のクロック1周期毎に順次積算する積算器と、を備えるディジタル位相検出器であって、
前記パルス数カウント部は、前記逓倍器の出力クロックを用いて前記第2のクロックをラッチするフリップフロップと、前記フリップフロップの出力を微分する微分回路と、前記微分回路の出力で初期化されカウント動作を行うカウンタと、前記微分回路の出力で前記カウンタの出力をラッチする第1のラッチ回路と、前記微分回路の出力で前記第1のラッチ回路または第2のラッチ回路の出力を順次ラッチする(N−1)個の前記第2のラッチ回路と、前記第1のラッチ回路の出力と前記第2のラッチ回路の出力とを加算する第2の加算器とを備えることを特徴とするディジタル位相検出器。
【請求項3】
第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、前記第1のクロックを入力してM/N逓倍し、かつ互いに位相が180°異なる第3のクロックと第4のクロックを出力する逓倍器と、請求項2に記載の第1のパルス数カウント部と第2のパルス数カウント部と、前記第1のパルス数カウント部と前記第2のパルス数カウント部とを加算する第3の加算器と、を備えることを特徴とするディジタル位相検出器。
【請求項4】
第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、前記第1のクロックを入力してM/N逓倍する逓倍器と、前記逓倍器の出力クロックと前記第2のクロックとを入力して前記第2のクロックの1周期あたりのパルス数をカウントするパルス数カウント部と、該パルス数カウント部の出力と固定値との差を出力する第1の加算器と、該第1の加算器の出力を前記第2のクロック1周期毎に順次積算する積算器と、を備えるディジタル位相検出器であって、
前記逓倍器の出力クロックは、位相が等間隔で異なるL個(L:2以上の正整数)のサブクロックで構成され、
前記パルス数カウント部は、前記サブクロックを用いて前記第2のクロックをラッチするL個のフリップフロップと、前記フリップフロップの出力を微分するL個の微分回路と、前記微分回路の出力で初期化されカウント動作を行うL個のカウンタと、前記微分回路の出力で前記カウンタの出力をラッチするL個の第1のラッチ回路と、前記微分回路の出力で前記第1のラッチ回路または第2のラッチ回路の出力を順次ラッチするL・(N−1)個の前記第2のラッチ回路と、前記L個の第1のラッチ回路の出力と前記L・(N−1)個の第2のラッチ回路の出力とを加算する第2の加算器とを備えることを特徴とするディジタル位相検出器。
【請求項5】
直列に接続されたディジタル位相検出器とディジタルフィルタとDAコンバータと電圧制御型水晶発振器と、前記電圧制御型水晶発振器の出力を分周して前記ディジタル位相検出器の前記第1のクロックとする分周器とから構成され、前記ディジタル位相検出器は、請求項1ないし請求項5のいずれか一つに記載されたことを特徴とするPLL。
【請求項1】
第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、前記第1のクロックを入力してM/N逓倍する逓倍器と、前記逓倍器の出力クロックにより前記第2のクロックをラッチする第1のフリップフロップと、前記逓倍器の出力クロックにより動作するカウンタと、前記カウンタの出力に応じて前記第1のフリップフロップの出力をラッチする複数の第2のフリップフロップを含む論理回路と、を備えることを特徴とするディジタル位相検出器。
【請求項2】
第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、前記第1のクロックを入力してM/N逓倍する逓倍器と、前記逓倍器の出力クロックと前記第2のクロックとを入力して前記第2のクロックの1周期あたりのパルス数をカウントするパルス数カウント部と、該パルス数カウント部の出力と固定値との差を出力する第1の加算器と、該第1の加算器の出力を前記第2のクロック1周期毎に順次積算する積算器と、を備えるディジタル位相検出器であって、
前記パルス数カウント部は、前記逓倍器の出力クロックを用いて前記第2のクロックをラッチするフリップフロップと、前記フリップフロップの出力を微分する微分回路と、前記微分回路の出力で初期化されカウント動作を行うカウンタと、前記微分回路の出力で前記カウンタの出力をラッチする第1のラッチ回路と、前記微分回路の出力で前記第1のラッチ回路または第2のラッチ回路の出力を順次ラッチする(N−1)個の前記第2のラッチ回路と、前記第1のラッチ回路の出力と前記第2のラッチ回路の出力とを加算する第2の加算器とを備えることを特徴とするディジタル位相検出器。
【請求項3】
第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、前記第1のクロックを入力してM/N逓倍し、かつ互いに位相が180°異なる第3のクロックと第4のクロックを出力する逓倍器と、請求項2に記載の第1のパルス数カウント部と第2のパルス数カウント部と、前記第1のパルス数カウント部と前記第2のパルス数カウント部とを加算する第3の加算器と、を備えることを特徴とするディジタル位相検出器。
【請求項4】
第1のクロックの周波数と第2のクロックの周波数との比が整数Kに近く、整数Kと互いに素の整数をN、整数Nと互いに素の整数をMとして、前記第1のクロックを入力してM/N逓倍する逓倍器と、前記逓倍器の出力クロックと前記第2のクロックとを入力して前記第2のクロックの1周期あたりのパルス数をカウントするパルス数カウント部と、該パルス数カウント部の出力と固定値との差を出力する第1の加算器と、該第1の加算器の出力を前記第2のクロック1周期毎に順次積算する積算器と、を備えるディジタル位相検出器であって、
前記逓倍器の出力クロックは、位相が等間隔で異なるL個(L:2以上の正整数)のサブクロックで構成され、
前記パルス数カウント部は、前記サブクロックを用いて前記第2のクロックをラッチするL個のフリップフロップと、前記フリップフロップの出力を微分するL個の微分回路と、前記微分回路の出力で初期化されカウント動作を行うL個のカウンタと、前記微分回路の出力で前記カウンタの出力をラッチするL個の第1のラッチ回路と、前記微分回路の出力で前記第1のラッチ回路または第2のラッチ回路の出力を順次ラッチするL・(N−1)個の前記第2のラッチ回路と、前記L個の第1のラッチ回路の出力と前記L・(N−1)個の第2のラッチ回路の出力とを加算する第2の加算器とを備えることを特徴とするディジタル位相検出器。
【請求項5】
直列に接続されたディジタル位相検出器とディジタルフィルタとDAコンバータと電圧制御型水晶発振器と、前記電圧制御型水晶発振器の出力を分周して前記ディジタル位相検出器の前記第1のクロックとする分周器とから構成され、前記ディジタル位相検出器は、請求項1ないし請求項5のいずれか一つに記載されたことを特徴とするPLL。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2009−284053(P2009−284053A)
【公開日】平成21年12月3日(2009.12.3)
【国際特許分類】
【出願番号】特願2008−131751(P2008−131751)
【出願日】平成20年5月20日(2008.5.20)
【出願人】(000153465)株式会社日立コミュニケーションテクノロジー (770)
【Fターム(参考)】
【公開日】平成21年12月3日(2009.12.3)
【国際特許分類】
【出願日】平成20年5月20日(2008.5.20)
【出願人】(000153465)株式会社日立コミュニケーションテクノロジー (770)
【Fターム(参考)】
[ Back to top ]