<実施の形態1>
本実施の形態は、V−F変換を利用したADコンバータであって、二本のVCOを有し、両VCOの周期差を利用して主VCOの周期未満のV−F変換値を求めることにより高精度にAD変換を行うものである。
図1は、本実施の形態に係るADコンバータの回路図である。図1に示すように、このADコンバータは、アナログ信号たる入力電圧Vinをデジタル信号に変換するADコンバータであって、周期Tbaseで発振するパルス信号を出力するBASE−VCO(Voltage Controlled Oscillator)1と、周期Tbaseとは異なる周期Tjawで発振するパルス信号を出力するJAW−VCO2とを備えている。
また、このADコンバータは、位相差判定回路3と、上位桁算出部たるカウンタ4および第1レジスタ5と、上下桁合成部6と、第2レジスタ7と、第1減算器8と、動作制御回路9と、下位桁算出部たる第3レジスタ10および第2および第3減算器11,12とを備えている。位相差判定回路3、上位桁算出部(カウンタ4および第1レジスタ5)、上下桁合成部6、第2レジスタ7、第1減算器8、動作制御回路9、並びに、下位桁算出部(第3レジスタ10、第2および第3減算器11,12)は、協同してデジタル値算出部として機能する。
まず、本発明の原理を説明する。本発明においても基本的には、上記非特許文献1のADコンバータと同様、BASE−VCO1から出力されるパルス信号のパルス数をカウンタ4にて計数することにより、デジタル信号を生成する。BASE−VCO1からの出力信号は、カウンタ4のクロック入力端Tに入力されており、カウンタ4はBASE−VCO1の発振回数を計数することができる。
すなわち、BASE−VCO1の電圧制御信号としてアナログ信号たる入力電圧VinがBASE−VCO1に与えられる。そして、入力電圧VinによりBASE−VCO1の周期Tbaseは制御される。
入力電圧Vinが高いほどBASE−VCO1が高速動作をするため、その周期Tbaseが小さくなる。周期Tbaseが小さければ、単位時間当たりにBASE−VCO1から出力されるパルス信号のパルス数は多くなる。一方、入力電圧Vinが低いほどBASE−VCO1が低速動作をするため、その周期Tbaseが大きくなる。周期Tbaseが大きければ、単位時間当たりにBASE−VCO1から出力されるパルス信号のパルス数は少なくなる。
よって、所定の期間(=1サンプリング周期)中にBASE−VCO1から出力されるパルス信号のパルス数をカウンタ4にて計数すれば、その計数値の大小がアナログ信号たる入力電圧Vinの大小を示し、計数値そのものがアナログ信号たる入力電圧Vinのデジタル信号への変換値に相当することになる。この計数値を出力すれば、V−F変換を利用したAD変換が実現できる。なお、ADコンバータの分解能はBASE−VCO1の発振周波数とサンプリング周波数とを用いて、AD分解能=log2 (BASE−VCO1の発振周波数/サンプリング周波数)として求められる。よって、例えばBASE−VCO1の発振周波数=50[MHz]、サンプリング周波数=44[kHz]の場合、分解能は10bitと算出される。
しかし、上記課題にて述べたように、BASE−VCO1のパルス信号をカウントするだけでは、パルス信号に含まれるパルス数がそもそも少ない場合等において、カウンタ4における計数値にほとんど変動が見られず、高精度なAD変換を行うことができない。
より具体的には、例えば入力電圧Vinが4[V]以上5[V]未満のときにBASE−VCO1から1サンプリング周期中に出力されるパルス信号のパルス数が4個であり、入力電圧Vinが3[V]以上4[V]未満のときには1サンプリング周期中のパルス数が3個であるとすれば、入力電圧Vinが4.2[V]であっても4.8[V]であっても、計数されるパルス数は4個とされるし、入力電圧Vinが3.5[V]であっても3.9[V]であっても、計数されるパルス数は3個とされる、ということである。
すなわち、パルス数を計数してAD変換を行う場合、計数するパルス数の小数部分まで区別することができないので、4.2[V]と4.8[V]のようにアナログ電圧において微小な相違を有するにも拘らず、いずれの場合も変換後のデジタル信号においては“4”との数値が出力されてしまうのである。もちろん、V−F変換の変換周波数を高める、すなわち、BASE−VCO1の発振周波数を高める(上記数値例の場合、例えば4[V]以上5[V]未満のときのパルス数を40〜49個のように高める)ことができれば、AD変換の高精度化は可能である(上記数値例の場合、例えば42個と48個のように区別可能である)。しかし、上述の如く、変換周波数を容易に高めることはできない。
そこで、本発明では、BASE−VCO1に対して周期差を有するJAW−VCO2を用意し、両VCO出力の位相差を計測してBASE−VCO1の周期Tbase未満のV−F変換値を求める。V−F変換を利用したAD変換において変換精度を高めるということは、BASE−VCO1から出力されるパルス信号のパルス数では計数しきれない、計数の小数部分を計測するということであり、このパルス数の小数部分計測のために、本願においてJAW−VCO2を採用するのである。
なお、アナログ信号たる入力電圧Vinは、JAW−VCO2の電圧制御信号としても機能する。そして、入力電圧VinによりJAW−VCO2の周期Tjawも制御される。ここで、周期Tbaseと周期Tjawとの比をA:B(A≠B)とすると、このA:Bの比を保ったまま、入力電圧Vinにより周期TbaseおよびTjawの各値は制御される。
本発明では、出力すべきデジタル信号の上位ビットについては、BASE−VCO1から1サンプリング周期中に出力されるパルス信号のパルス数に基づいて算出する。一方、デジタル信号の下位ビットについては、デジタル信号のサンプリング周期を示すサンプリング信号Psの活性化時点からBASE−VCO1のパルス信号の位相とJAW−VCO2のパルス信号の位相とが一致する時点までの間に含まれる、BASE−VCO1またはJAW−VCO2のパルス信号のパルス数に基づいて算出する。
周期TbaseおよびTjawを異なる値としておくと、BASE−VCO1およびJAW−VCO2の2つのVCOの発振出力の位相が一定間隔で一致する。この間隔をMとする。BASE−VCO1については、自走によりその出力パルス信号の発振を開始させる。一方、JAW−VCO2については、サンプリング信号Psの活性化に伴って発振開始させる。すなわち、このJAW−VCO2については、サンプリング信号Psの活性化と同時に発振を開始させ、サンプリング信号Psの活性化時点をJAW−VCO2の発振起点とする。
図2は、BASE−VCO1のパルス信号とJAW−VCO2のパルス信号との一例を示すタイミングチャートである。図2では、サンプリング信号Psの活性化時点(すなわちJAW−VCO2の発振起点)が、ちょうどBASE−VCO1のあるパルスの立ち上がりと同時であって、また、BASE−VCO1のパルス数9個に対してJAW−VCO2のパルス数が8個となる場合を示している。この場合、周期Tbaseと周期Tjawとの比A:Bは8:9である。
また、図3は、BASE−VCO1のパルス信号とJAW−VCO2のパルス信号との他の一例を示すタイミングチャートである。図3でも、サンプリング信号Psの活性化時点(すなわちJAW−VCO2の発振起点)が、ちょうどBASE−VCO1のあるパルスの立ち上がりと同時である場合を示しているが、図3では、BASE−VCO1のパルス数8個に対してJAW−VCO2のパルス数が9個となる場合を示している。この場合、周期Tbaseと周期Tjawとの比A:Bは9:8である。
本発明においては、BASE−VCO1とJAW−VCO2との間での周期差を、図2のようにJAW−VCO2の周期Tjawが大きくなるように設定しても良いし、図3のようにBASE−VCO1の周期Tbaseが大きくなるように設定しても良い。ただし、JAW−VCO2の周期TjawをBASE−VCO1の周期Tbaseよりも大きくする方が、両VCO出力の位相差の検出が容易となるので、以下では、図2のように、BASE−VCO1のパルス数9個に対してJAW−VCO2のパルス数が8個となる場合を例に採って、説明を行う。
図4は、BASE−VCO1とJAW−VCO2とを用いることで周期Tbase未満のV−F変換値が求められる原理を説明するタイミングチャートである。
V−F変換を利用したADコンバータで生成されるべきデジタル値は、サンプリング信号Psの1サンプリング周期内におけるBASE−VCO1からのパルス数の、整数及び小数を含めた総パルス数である。図4を参照すれば、サンプリング信号Psの第1番目におけるサンプリング周期内には、サンプリング信号Psの活性化時点(すなわちサンプリング周期内の初頭)からサンプリング周期内のBASE−VCO1の最初のパルス発生(BASE−VCO1の第“2”番目のパルスの立ち上がり時点)までの小数(丸1)、サンプリング周期内のBASE−VCO1の最初のパルス発生(BASE−VCO1の第“2”番目のパルスの立ち上がり時点)から次のサンプリング周期開始までのBASE−VCO1のパルス数(正の数、丸2)、および、サンプリング周期内のBASE−VCO1の最後のパルス発生(BASE−VCO1の第“5”番目のパルスの立ち上がり時点)から次のサンプリング周期開始までの小数(丸3)、という3部分が含まれていることが分かる。
図4のうち、正の数たる丸2の部分については従来技術と同様、BASE−VCO1のパルス数を計数することで求めることができる。一方、本発明では、従来技術では求められなかった図4の小数たる丸1および丸3の部分をも計数可能となる。
図4の丸1の部分は、周期Tbaseと周期Tjawとの周期差をTdiffとすると、例としてTdiff×5の期間となっている。また、丸3の部分は、例としてTdiff×7の期間となっている。なお、周期差Tdiffは、図2に示されているように、Tbase=A×Tdiff=8×Tdiff、および、Tjaw=B×Tdiff=9×Tdiffとの関係を満たしている。よって、図4の丸1の部分は、周期Tbaseの5/8の期間となっている。また、図4の丸3の部分は、Tdiff×7の期間、すなわち、周期Tbaseの7/8の期間となっている。
図4の丸1乃至丸3の部分を全て足せば、その値が1サンプリング周期内におけるBASE−VCO1からのパルス数の、整数及び小数を含めた総パルス数となる。すなわち、この値が、より高精度化されたAD変換値となる。図4における最初のサンプリング周期においては、丸1の部分=5/8、丸2の部分=3、丸3の部分=7/8であるので、丸1乃至丸3の総計は正の数4と小数4/8となる。同様に、図4における二回目のサンプリング周期においては、丸1の部分=1/8、丸2の部分=4、丸3の部分=4/8であるので、丸1乃至丸3の総計は正の数4と小数5/8となる。同様に、図4における三回目のサンプリング周期においては、丸1の部分=4/8、丸2の部分=4、丸3の部分=0/8であるので、丸1乃至丸3の総計は正の数4と小数4/8となる。
ここで、最初のサンプリング周期に示したように、丸1と丸3の部分が小数であっても、両者の合計に桁上がりが発生することがある。この場合、丸2の部分だけを用いてパルス数の判定を行うわけにはいかない。そこで、このような桁上がりも含めた計数方法が必要となる。以下に、その方法を説明する。
まず、N回目のサンプリングにおいて、丸1にあたる部分については、N−1回目のサンプリングにおける丸3の数値を用いて、(1−[丸3の数値])として計算できる。例えば、図4における最初のサンプリング周期においては、丸1の部分=1−3/8=5/8として計算でき、二回目のサンプリング周期においては、丸1の部分=1−7/8=1/8として、三回目のサンプリング周期においては、丸1の部分=1−4/8=4/8として、それぞれ計算できる。
そして、N回目のサンプリングにおいて、丸1乃至丸3の総計は、BASE−VCO1のN+1回目のサンプリングにおける計数値にN回目の丸3の部分の小数値を加えた値と、BASE−VCO1のN回目のサンプリングにおける計数値にN−1回目の丸3の部分の小数値を加えた値との差により計算することができる。
例えば、図4における最初のサンプリング周期においては、二回目のサンプリング開始時におけるBASE−VCO1の計数値“5”および最初のサンプリング周期における丸3の部分の小数値“7/8”の総計から、最初のサンプリング開始時におけるBASE−VCO1の計数値“1”およびその1つ前のサンプリング周期(最初のサンプリングの前なので存在しないが)における丸3の部分の小数値“3/8”の総計を差し引くことによって、(5+7/8)−(1+3/8)=4+4/8と計算できる。
同様にして、図4における二回目のサンプリング周期においては、三回目のサンプリング開始時におけるBASE−VCO1の計数値“10”および二回目のサンプリング周期における丸3の部分の小数値“4/8”の総計から、二回目のサンプリング開始時におけるBASE−VCO1の計数値“5”およびその前のサンプリング周期における丸3の部分の小数値“7/8”の総計を差し引くことによって、(10+4/8)−(5+7/8)=4+5/8と計算でき、三回目のサンプリング周期においては、四回目のサンプリング開始時におけるBASE−VCO1の計数値“15”および三回目のサンプリング周期における丸3の部分の小数値“0/8”の総計から、三回目のサンプリング開始時におけるBASE−VCO1の計数値“10”およびその前のサンプリング周期における丸3の部分の小数値“4/8”の総計を差し引くことによって、(15+0/8)−(10+4/8)=4+4/8と計算できる。
すなわち、1サンプリング周期ごとに、BASE−VCO1の計数値と丸3の部分の小数値とのペアを生成し、N+1回目のペアの値からN回目のペアの値を減じることで、高精度にAD変換されたデジタル値を生成することができる。そして、このように差分を計算することにより、ADコンバータが有する入力電圧に対するデジタル値の変換誤差を低減する効果もある。N+1回目のペアの有する誤差とN回目のペアの有する誤差とが同じ量であるので、減算により誤差が帳消しとなるからである。
次に、図4における丸3の数値の算出方法について述べる。図4のうち、小数たる丸3の部分を求めるには、サンプリング開始時の直前のBASE−VCO1の活性化時点と、サンプリング開始時点との間の位相差を計測すればよい。
例えば、図4におけるサンプリング信号Psの最初の活性化時点は、BASE−VCO1の第“1”番目のパルスの途中に存在する。すなわち、サンプリング信号Psの最初の活性化の直前のBASE−VCO1の活性化時点は、第“1”番目のパルスの発振時点であり、サンプリング信号Psの最初の活性化時点は、BASE−VCO1の第“1”番目のパルスの発振時点より周期Tbaseの3/8の期間だけ遅れた位置に存在する。この3/8との数値は、丸1の期間たる5/8の補数にあたる。
JAW−VCO2は、サンプリング信号Psの活性化と同時に発振を開始するので、サンプリング信号Psの最初の活性化時点において、JAW−VCO2も発振することとなる。図2を参照すると、BASE−VCO1の立ち上がりに対して、JAW−VCO2の立ち上がりが周期Tbaseの3/8の期間だけ遅れた位置に存在するのは、ズレ量“3”と示されたパルスP3である。
図2において、この、ズレ量“3”と示されたパルスP3の立ち上がりをJAW−VCO2の発振開始時点とみなせば、パルスP3から、両VCOのパルス信号の位相が一致する時点(ズレ量“8”または“0”と示された時点)までの間に含まれるパルス数は、BASE−VCO1およびJAW−VCO2のいずれにおいても、5個である。この数値は、最初のサンプリング周期における丸1の期間たる5/8の分子“5”に相当する。また、この5/8との数値は、その1つ前のサンプリング周期(最初のサンプリングの前なので存在しないが)における丸3の期間たる3/8の補数にあたる。
すなわち、サンプリング信号Psの活性化時点からBASE−VCO1およびJAW−VCO2のパルス信号の位相が一致する時点までの間に含まれるBASE−VCO1またはJAW−VCO2のパルス信号のパルス数に基づいて、N+1回目のサンプリングにおける丸1の期間、および、N回目のサンプリングにおける丸3の期間としての、周期Tbase未満の小数部分を計測することができる。
図4の最初のサンプリング周期における丸3の部分を求めるには、次の第2回目のサンプリング信号Psの活性化時点からBASE−VCO1およびJAW−VCO2のパルス信号の位相一致時点までの間に含まれるBASE−VCO1またはJAW−VCO2のパルス数を計数して、第2回目のサンプリング信号Psにおける小数たる丸1の部分を上記と同様に求め、1よりその値を差し引けばよい。
図4におけるサンプリング信号Psの第2回目の活性化時点は、BASE−VCO1の第“5”番目のパルスの途中に存在する。すなわち、サンプリング信号Psの第2回目の活性化時点は、BASE−VCO1の第“5”番目のパルスの発振時点より周期Tbaseの7/8の期間だけ遅れた位置に存在する。この7/8との数値は、第2回目のサンプリング周期の初頭に位置する小数の期間たる1/8の補数にあたる。
JAW−VCO2は、サンプリング信号Psの活性化と同時に発振を開始するので、サンプリング信号Psの第2回目の活性化時点において、JAW−VCO2も発振することとなる。図2を参照すると、BASE−VCO1の立ち上がりに対して、JAW−VCO2の立ち上がりが周期Tbaseの7/8の期間だけ遅れた位置に存在するのは、ズレ量“7”と示されたパルスP7である。
図2において、この、ズレ量“7”と示されたパルスP7から、両VCOのパルス信号の位相が一致する時点(ズレ量“8”または“0”と示された時点)までの間に含まれるパルス数は、BASE−VCO1およびJAW−VCO2のいずれにおいても、1個である。この数値は、第2回目のサンプリング周期における丸1の期間たる1/8の分子に相当する。また、この1/8との数値は、その1つ前のサンプリング周期(最初のサンプリング周期)における丸3の期間たる7/8の補数にあたる。
すなわち、サンプリング信号Psの活性化時点からBASE−VCO1およびJAW−VCO2のパルス信号の位相が一致する時点までの間に含まれるBASE−VCO1およびJAW−VCO2のパルス信号のパルス数を計数することにより、そのパルス数に基づいて、周期Tbase未満の小数部分(N+1回目のサンプリングにおける丸1の期間、および、N回目のサンプリングにおける丸3の期間)を計測することができる。
上記を一般的に説明すると、以下のようになる。Tbase:Tjaw=A:Bなので、Tjaw/Tbase=B/A、よってTjaw・A=Tbase・B=Mとなり、JAW−VCO2の出力パルス信号の周期TjawのA周に対して、BASE−VCO1の出力パルス信号の周期TbaseのB周目ごとに、2つのVCOの位相が一致する。
JAW−VCO2の出力パルス信号の発振開始が、その直前のBASE−VCO1の出力パルス信号の発振開始よりTdiff・Xだけ遅れた場合を考える。この遅延を伴って、JAW−VCO2の出力パルス信号がX回発振した時、図2を参照すれば、Tjaw・(A−X)+Tdiff・X = Tjaw・A−(Tjaw−Tdiff)・X=Tjaw・A−Tbase・X=Tbase・(B−X)と表せる。よって、両VCOの位相が一致するまでのパルス信号の計数値は、BASE−VCO1の出力パルス信号を用いての計数でB−X、JAW−VCO2の出力パルス信号を用いての計数でA−Xとなる。
なお、Tbase=Tdiff・Aより、Xの最大値XmaxはA−1である。X=AとなるとX=0の場合と区別できないからである。最大値Xmaxの値が大きいほど、AD変換の分解能は高くなる。また、TbaseやTjawの数値例としては例えば、Tbase=32[nsec]、Tdiff=2[nsec]、Tjaw=34[nsec]としたり、Tbase=16[nsec]、Tdiff=2[nsec]、Tjaw=18[nsec]とすればよい。前者の場合はA:B=16:17となり、後者の場合はA:B=8:9となる。
次に、図1のADコンバータの動作について、図5を用いて説明する。図5は、本実施の形態に係るADコンバータの動作を示すタイミングチャートである。まず、BASE−VCO1の出力パルス信号は自走により発振し、カウンタ4はその発振数を計数する。図5においては、カウンタ4の計数値が“8”〜“23”まで変化する様子が示されている。
JAW−VCO2には、サンプリング信号Psが入力される。そして、JAW−VCO2は、サンプリング信号Psの活性化に伴って発振を開始する。なお、BASE−VCO1の発振出力の周期TbaseとJAW−VCO2の発振出力の周期Tjawとの比A:Bは、図2の場合と同様、8:9とされている。
上位桁算出部たるカウンタ4および第1レジスタ5は、サンプリング信号Psのサンプリング周期ごとに、BASE−VCO1の出力パルス信号の発振の開始から現在のサンプリング信号Psの活性化時点までにおけるBASE−VCO1の出力パルス信号のパルス数を上位桁(図1では“上位ビット”と表示)として算出する。具体的には、第1レジスタ5のデータ入力端Dにはカウンタ4の出力が与えられ、第1レジスタ5のクロック入力端Tにはサンプリング信号Psが与えられており、サンプリング信号Psの活性化に伴って、第1レジスタ5はサンプリング信号Psの活性化時点におけるカウンタ4の出力値を保持する。
図5においては、カウンタ4の計数値が“10”のときにサンプリング信号Psが活性化しているので、第1レジスタ5には“10”の情報が保持される。すなわち、第1レジスタ5は、1サンプリング周期ごとにサンプリング信号Psの活性化時点におけるカウンタ4のパルス数を保持して、上位桁として出力する。
一方、下位桁算出部たる、第3レジスタ10並びに第2および第3減算器11,12は、サンプリング周期ごとに、現在のサンプリング信号Psの活性化時点からBASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点までの間に含まれる、BASE−VCO1の出力パルス信号のパルス数に基づいて、BASE−VCO1の出力パルス信号のサンプリング周期内の最後のパルスからサンプリング周期の終点までの位相差(すなわち図4の丸3の部分)を、下位桁(図1では“下位ビット”と表示)として算出する。
位相差判定回路3は、BASE−VCO1およびJAW−VCO2の出力パルス信号の立ち上がりの位相の一致を検出し、検出時にその出力を活性化させる回路である。位相差判定回路3は、一般的なS−R(Set-Reset)フリップフロップ回路にて構成される。また、動作制御回路9は、サンプリング信号Psの活性化に伴ってその出力S1を活性化し、位相差判定回路3におけるBASE−VCO1およびJAW−VCO2の出力パルス信号の位相一致検出に伴って、その出力S1を非活性化する回路である。動作制御回路9も、一般的なS−Rフリップフロップ回路にて構成される。
第3レジスタ10のデータ入力端Dにはカウンタ4の出力が与えられ、第3レジスタ10のクロック入力端TにはBASE−VCO1の出力パルス信号が与えられている。また、第3レジスタ10のイネーブル入力端enablには、動作制御回路9からの出力S1が与えられる。
第3レジスタ10は、イネーブル入力端enablにおける信号がHiからLowへと切り替わった時にワンショット的に動作可能となり、かつ、BASE−VCO1の出力パルス信号の発振に伴って、第3レジスタ10はBASE−VCO1の出力パルス信号の立ち上がり時点におけるカウンタ4の出力値を保持する。
図5においては、JAW−VCO2の出力パルス信号の発振開始が、その直前のBASE−VCO1の出力パルス信号の発振開始よりTdiff・Xだけ遅れたときの各場合(X=0〜7)を、Delay0〜Delay7として示している。
いま、X=4とすると、カウンタ4の計数値が“15”のときに、BASE−VCO1およびJAW−VCO2の出力パルス信号の立ち上がりの位相が一致する。よって、このときBASE−VCO1の出力パルス信号は立ち上がり、かつ、イネーブル入力端enablにおける信号S1がHiからLowへと切り替わるので、第3レジスタ10は、カウンタ4の出力するパルス数“15”を保持する。
下位桁算出部の他の構成要素たる第2減算器11は、第3レジスタ10に保持された計数値“15”から第1レジスタ5に保持された計数値“10”を差し引く。よって、第2減算器11の出力値は、この場合、15−10=“5”となる。なお、第2減算器11の出力値は、Delay0〜Delay7の各場合に応じて変動し、例えばDelay0の場合は第3レジスタ10での保持値が“19”となるため、その値は19−10=“9”となり、Delay7の場合は第3レジスタ10での保持値が“12”となるため、その値は12−10=“2”となる。
そして、下位桁算出部の他の構成要素たる第3減算器12は、所定の数値“9”(この“9”との数値は、比A:B=8:9の“9”からである)から第2減算器11で算出された値“5”を差し引く。よって、第3減算器12の出力値は、X=4の場合、9−5=“4”となる。この第3減算器12の出力値が、BASE−VCO1の出力パルス信号のサンプリング周期内の最後のパルスからサンプリング周期の終点までの位相差(すなわち図4の丸3の部分)、すなわち下位桁となる。
なお、第3減算器11の出力値は、Delay0〜Delay7の各場合に応じて変動し、例えばDelay0の場合は第2減算器11の値が“9”となるため、その値は9−9=“0”となり、Delay7の場合は第2減算器11の値が“2”となるため、その値は9−2=“7”となる。
上下桁合成部6は、第1レジスタ5から出力される上位桁の情報、および、第3減算器11から出力される下位桁の情報を合成して、合成値を生成する。具体的には、上下桁合成部6は例えばシフトレジスタで構成され、その下位ビット側に下位桁の情報を保持し、その上位ビット側に上位桁の情報を保持する。この下位ビット側が、図4の丸3の部分の小数値に相当し、上位ビット側が、図4のサンプリング信号Ps活性化時点でのBASE−VCO1の計数値に相当する。
上記図5においてX=4の場合、上位桁は“10”であり、下位桁は“4”であるため、上下桁合成部6における合成値は“10+4/8”となる。この合成値が、サンプリング信号Psの活性化時に第2レジスタ7に保持される。
第2レジスタ7のデータ入力端Dには上下桁合成部6の出力が与えられ、第2レジスタ7のクロック入力端Tにはサンプリング信号Psが与えられており、サンプリング信号Psの活性化に伴って、第2レジスタ7は、N回目のサンプリング時における合成値“10+4/8”を保持する。なお、合成値“10+4/8”の保持前は、第2レジスタ7にはN−1回目のサンプリング時における合成値として“5+7/8”の情報が保持されている。これらの値は、図4における二回目のサンプリング周期における各数値に対応している。
そして、第1減算器8は、現在より一つ前のサンプリング周期(N−1回目のサンプリング周期)における第2レジスタ7の保持値“5+7/8”と、現在の合成値“10+4/8”との差分値“4+5/8”を、上位ビットおよび下位ビットで構成されるデジタル信号として出力する。
本発明においては、A:Bの比を保ったまま、入力電圧VinによりBASE−VCO1の周期TbaseおよびJAW−VCO2の周期Tjawの各値が制御される。2つのVCOのアナログ入力電圧Vinに対する感度が例えば1次式であれば、両VCOの周期差Tdiffの感度もまた1次式である。そして、この周期差Tdiffが、下位ビットの最小分解能に相当する。アナログ入力電圧Vinに応じて周期Tbaseの幅は変化するが、周期差Tdiffの幅も同じ感度で変化するため、Tbase/Tdiffの値はアナログ入力電圧Vinの値に関わらず一定となり、下位ビットの分解能はアナログ入力電圧Vinに関わらず一定となる。
図6は、BASE−VCO1およびJAW−VCO2の詳細構成を示す回路図である。図6に示すとおり、BASE−VCO1は、二入力NAND回路G1a,G2aおよびインバータG3a〜G9aを備える。これらの二入力NAND回路G1a,G2aおよびインバータG3a〜G9aは、リング状に直列接続された奇数段の複数の反転回路として機能する。
また、JAW−VCO2も、二入力NAND回路G1b,G2bおよびインバータG3b〜G9bを備える。これらの二入力NAND回路G1b,G2bおよびインバータG3b〜G9bもまた、リング状に直列接続された奇数段の複数の反転回路として機能する。
BASE−VCO1の備える反転回路の数と、JAW−VCO2の備える反転回路の数とは同数である。また、インバータG3a〜G9a,G3b〜G9bのいずれにも、電圧制御信号として機能する入力電圧Vinが入力される。この入力電圧Vinは、インバータG3a〜G9a,G3b〜G9bを構成するCMOS回路(詳細構成は図示せず)の一端に電源電位として与えられる。なお、インバータG3a〜G9a,G3b〜G9bを構成するCMOS回路の他端は接地される。
JAW−VCO2内初段の反転回路として機能する二入力NAND回路G1bの二入力端には、最終段の反転回路として機能するインバータG9bの出力が共通して与えられる。JAW−VCO2内二段目の反転回路として機能する二入力NAND回路G2bの一方入力端には、二入力NAND回路G1bの出力が与えられ、その他方入力端にはサンプリング信号Psが与えられる。このサンプリング信号Psが活性化することにより、JAW−VCO2は発振を開始する。そして、二入力NAND回路G2bの出力は、JAW−VCO2内三段目の反転回路として機能するインバータG3bの入力端に与えられ、以降のインバータG4b〜G9bの各段においても同様に、前段の出力が後段の入力端に与えられる。そして、最終段のインバータG9bの出力は、位相差判定回路3に出力され、JAW−VCO2の出力パルス信号として機能する。
一方、BASE−VCO1内初段の反転回路として機能する二入力NAND回路G1aの一方入力端には、最終段の反転回路として機能するインバータG9aの出力が与えられるものの、その他方入力端には、最終段より偶数段手前の反転回路、より具体的には例えばインバータG7aの出力が与えられる。そして、BASE−VCO1内二段目の反転回路として機能する二入力NAND回路G2aの一方入力端には、二入力NAND回路G1aの出力が与えられ、その他方入力端には電源電位VDDが与えられる。この電源電位VDDが常に与えられることで、二入力NAND回路G2aは実質的にインバータとして機能する。そして、二入力NAND回路G2aの出力は、BASE−VCO1内三段目の反転回路として機能するインバータG3aの入力端に与えられ、以降のインバータG4a〜G9aの各段においても同様に、前段の出力が後段の入力端に与えられる。そして、最終段のインバータG9aの出力は、位相差判定回路3、カウンタ4および第3レジスタ10に出力され、BASE−VCO1の出力パルス信号として機能する。
なお、BASE−VCO1およびJAW−VCO2のいずれをも、二入力NAND回路およびインバータという同一・同数の構成要素で構成しているのは、両VCOにおけるゲート遅延特性をそろえるためである。
図7は、BASE−VCO1およびJAW−VCO2の動作を示すタイミングチャートである。図中、G1a〜G9aと示されているのは、BASE−VCO1内の各段の出力するパルス信号である。また、図中、G2bと示されているのは、JAW−VCO2内の二入力NAND回路G2bの出力するパルス信号である。
図7の最上段に示されたパルス信号G2a,G2bを例にとると、JAW−VCO2の出力たるパルス信号G2bにおいては、そのLow期間およびHigh期間がともに、JAW−VCO2の備える反転回路の段数たる9段分の遅延に相当する期間となっている。一方、BASE−VCO1の出力たるパルス信号G2aにおいては、そのLow期間は、BASE−VCO1の備える反転回路の段数たる9段分の遅延に相当する期間になっているものの、そのLow期間はBASE−VCO1の備える反転回路の段数たる9段分よりは二段分少ない7段分の遅延に相当する期間となっている。これにより、パルス信号G2aの周期とG2bの周期との比は、16:18=8:9となる。
このことについて、パルス信号G1aを用いて説明する。パルス信号G1aは8段目のインバータG8aのパルス信号G8aから二段分の遅延を経て活性化・非活性化する。図7においては、パルス信号G1aのパルス遷移としてHiからLowへ変動する様子が示されている。
この遷移は順次、後段の回路へと伝達される。そして、インバータG7aに遷移が伝達され、そのパルス信号G7aがHiからLowへと変動すると、二入力NAND回路G1aの一方入力端にインバータG7aの出力が与えられていることから、パルス信号G1aはLowからHiへと変動する。
その後、パルス信号G1aの遷移が順次、後段の回路へと伝達され、インバータG9aに到達する。すると、そのパルス信号G9aがLowからHiへと変動することに伴って、パルス信号G1aはHiからLowへと変動する。そして、以降も各段において同様の信号の遷移が生じる。
このようにすれば、図7のタイミングチャートに示されているように、JAW−VCO2の出力パルス信号を9段分の遅延に相当する周期としつつ、BASE−VCO1出力パルス信号を8段分の遅延に相当する周期とすることができる。すなわち、BASE−VCO1の発振出力の周期TbaseとJAW−VCO2の発振出力の周期Tjawとの比A:Bを、8:9と設定することができる。
なお、例えば図3のように、周期Tbaseと周期Tjawとの比A:Bを9:8に設定したい場合には、図6においてBASE−VCO1の回路構成とJAW−VCO2の回路構成とを入れ替えればよいし、また、比A:Bを8:9以外の他の比率(例えば6:9や4:9など)に設定したい場合には、最終段より偶数段手前の反転回路の出力を取り出す際の偶数段値を多めにとればよい。一方、比A:Bを7:9等、奇数の比としたい場合には、最終段のパルス信号を与える代わりに、BASE−VCO1の奇数段のパルス信号(例えばG7a)を初段の二入力NAND回路G1aの両入力端に単純に与えるだけでよい。また、二入力NAND回路G1a,G1bに代わって、二入力NOR回路を採用しても良い。その他にも、二入力NAND回路G1a,G1bに代わってインバータを採用し、インバータG7a,G9aをオープンコレクタあるいはオープンドレインとし、インバータG7a,G9aの出力を結合して、二入力NAND回路G1aの代わりに採用されたインバータの入力に与える、いわゆるワイアードORの構成を採っても良い。
すなわち、上述のように、二入力NAND回路G1a、または、その代わりに採用される二入力NOR回路の一方入力端に、最終段の反転回路G9aの出力を与え、二入力NAND回路G1a、または、その代わりに採用される二入力NOR回路の他方入力端に、最終段より偶数段手前の反転回路(例えばG7a)の出力を与えると、BASE−VCO1の出力パルス信号は、JAW−VCO2の出力パルス信号よりも所定段数(例えば1段)少ない偶数段(8段)の反転回路を含むVCOと同じ周期で発振する。よって、BASE−VCO1の反転回路を奇数段としてリング発振を確実に発生させつつ(偶数段の場合は、遅延段におけるHi,Lowの伝達が凍り付いてしまうことがある)、二入力NAND回路G1a、または、その代わりに採用される二入力NOR回路のの他方入力端に出力が与えられる反転回路を最終段寄りに選択することで、BASE−VCO1の周期TbaseとJAW−VCO2の周期Tjawとの差を目的の値に設定することができる。この周期Tbaseと周期Tjawとの差が、デジタル信号の下位ビットの最小分解能に相当するので、高精度にAD変換を行うことが可能となる。
なお、BASE−VCO1およびJAW−VCO2の構成方法は、必ずしも上記手法に限られるものではない。上記手法以外にも例えば、リング状に接続された同数のインバータでBASE−VCO1およびJAW−VCO2を構成しつつも、インバータを構成するCMOSトランジスタの面積比を両VCO間で8:9とする、等の手法を採用しても良い。
本実施の形態に係る発明によれば、デジタル値算出部(位相差判定回路3、上位桁算出部(カウンタ4および第1レジスタ5)、上下桁合成部6、第2レジスタ7、第1減算器8、動作制御回路9、並びに、下位桁算出部(第3レジスタ10、第2および第3減算器11,12))が、サンプリング周期内に含まれたBASE−VCO1の出力パルス信号のパルス数に基づいて、デジタル信号の上位ビットを算出し、かつ、サンプリング信号の活性化時点からBASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点までの間に含まれるBASE−VCO1の出力パルス信号のパルス数に基づいて、デジタル信号の下位ビットを算出する。周期Tbaseと周期Tjawとは異なるため、サンプリング信号Psの活性化時点から両VCOの出力パルス信号の位相が一致する時点までの間に含まれるBASE−VCO1の出力パルス信号のパルス数は、周期Tbase未満のV−F変換値となっており、高精度にAD変換を行うことが可能な、V−F変換を利用したADコンバータが得られる。
また、デジタル値算出部が、上位桁算出部(カウンタ4および第1レジスタ5)と、下位桁算出部(第3レジスタ10並びに第2および第3減算器11,12)と、上下桁合成部6と、第2レジスタ7と、第1減算器8とを備え、現在より一つ前のサンプリング周期における第2レジスタ7の保持値と、現在の合成値との差分値を、デジタル信号として出力する。よって、簡単な回路構成で本実施の形態に係る発明を構成可能である。
そして、上位桁算出部がカウンタ4と第1レジスタ5とを備え、下位桁算出部が第3レジスタ10を備え、下位桁算出部が、サンプリング周期ごとに、第3レジスタ10に保持されたパルス数と第1レジスタ5に保持されたパルス数との差に基づいて位相差を算出する。よって、簡単な回路構成で本実施の形態に係る発明を構成可能である。
なお、算出される下位ビット(下位桁)の最大値が、上記の“0”〜“7”のように二のべき乗値から一を差し引いた値であれば、下位ビットを二進法以外の進法に変換せずに出力することができ、回路構成が簡易となる。もし、下位ビットの最大値が二のべき乗値から一を差し引いた値でなければ、二進法以外の進法に変換する必要があり、その場合はlog2((出力ビット数)/A)の演算回路が必要となる。
<実施の形態2>
本実施の形態は、実施の形態1に係るADコンバータの変形例であって、実施の形態1における下位桁算出部を、第3レジスタ10、第2および第3減算器11,12で構成する代わりに、一つのダウンカウンタで構成するものである。
図8は、本実施の形態に係るADコンバータを示す図である。図8に示すように、本実施の形態においてはダウンカウンタ13が、第3レジスタ10、第2および第3減算器11,12に代わって採用されている。なお、図8においては、下位桁算出部がダウンカウンタ13で構成されている点以外、図1の装置構成と同じである。
ダウンカウンタ13は、サンプリング信号Psの活性化時点からBASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点までの間の、JAW−VCO2の出力パルス信号の発振に対応して計数する。より具体的には、ダウンカウンタ13のクロック入力端Tには、JAW−VCO2の出力パルス信号が与えられ、そのイネーブル入力端enablには、動作制御回路9からの出力S1が与えられる。また、リセット入力端clrには、サンプリング信号Psが与えられる。
ダウンカウンタ13は、イネーブル入力端enablにおける信号がLowからHiへと切り替わった時に計数が可能となり、クロック入力端TでのJAW−VCO2の出力パルス信号の発振に伴って、数値を減少させてゆく計数を行い、イネーブル入力端enablにおける信号がHiからLowへと切り替わった時に計数を停止する。
図9は、本実施の形態に係るADコンバータの動作を示すタイミングチャートである。このタイミングチャートも、図5に示したタイミングチャートと同様、カウンタ4の計数値が“8”〜“23”まで変化する様子を示し、第1減算器8が、現在より一つ前のサンプリング周期(N−1回目のサンプリング周期)における第2レジスタ7の保持値“5+7/8”と、現在の合成値“10+4/8”との差分値“4+5/8”を、上位ビットおよび下位ビットで構成されるデジタル信号として出力するケースを示している。
ダウンカウンタ13は、動作制御回路9からの出力S1がLowからHiへと切り替わった後、初めてのJAW−VCO2の出力パルス信号の発振(パルス立ち上がり)に伴ってその計数初期値を“7”とし、その後順次、JAW−VCO2の出力パルス信号の発振に伴って、計数値を“1”ずつ減少させてゆく。
いま、X=4とすると、カウンタ4の計数値が“11”のときに、初めてのJAW−VCO2の出力パルス信号の発振が現れれるので、ダウンカウンタ13は、その計数値を“7”とする。その後、カウンタ4の計数値が“15”のときに、BASE−VCO1およびJAW−VCO2の出力パルス信号の立ち上がりの位相が一致する。よって、このときイネーブル入力端enablにおける信号S1がHiからLowへと切り替わるので、ダウンカウンタ13は、その計数を停止する。この場合、ダウンカウンタ13の計数値は“4”で停止することとなる。
このダウンカウンタ13での計数停止時の値は、BASE−VCO1の出力パルス信号のサンプリング周期内の最後のパルスからサンプリング周期の終点までの位相差(すなわち図4の丸3の部分)、すなわち下位桁となっている。例えばDelay0の場合はダウンカウンタ13での計数停止時の値が“0”となるため、下位桁算出部から出力される下位桁の値は“0”となり、Delay7の場合はダウンカウンタ13での計数停止時の値が“7”となるため、下位桁算出部から出力される下位桁の値は“7”となる。そして、ダウンカウンタ13は、リセット入力端clrにおけるサンプリング信号PsがHiからLowへと切り替わった時に計数値をリセットする。
その他の点の動作については、実施の形態1に係るADコンバータと同様のため、説明を省略する。
このように、下位桁算出部を構成するダウンカウンタ13が、サンプリング周期ごとに、その計数値に基づいて、BASE−VCO1の出力パルス信号のサンプリング周期内の最後のパルスからサンプリング周期の終点までの位相差を算出するので、簡単な回路構成で本実施の形態に係る発明を構成可能である。
なお、本実施の形態においては、デジタル信号の下位ビットの算出を、実施の形態1のようにサンプリング信号の活性化時点からBASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点までの間に含まれるBASE−VCO1の出力パルス信号のパルス数に基づいてではなく、サンプリング信号の活性化時点からBASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点までの間に含まれるJAW−VCO2の出力パルス信号のパルス数に基づいて行っている。
このように、下位ビットの算出は、実施の形態1のように、BASE−VCO1の出力パルス信号のパルス数に基づいても行えるし、本実施の形態のように、JAW−VCO2の出力パルス信号のパルス数に基づいても行える。
なお、上記においては、下位桁算出部をダウンカウンタ13のみで構成していたが、必ずしもこのような構成をとる必要はなく、例えば下位桁算出部を、ダウンカウンタ13に加えて、同様の信号が入力されるクロック入力端T、イネーブル入力端enablおよびリセット入力端clrを有するアップカウンタ(図示せず)で構成してもよい。
そして、このアップカウンタを“1”〜“8”まで計数可能としておけば、ダウンカウンタ13の出力値については、N−1回目のサンプリング周期における図4の丸3の部分の小数値として利用でき、アップカウンタの出力値については、N回目のサンプリング周期における図4の丸1の部分の小数値として利用できる。この場合は、合成値生成部6、第2レジスタ7および第1減算器8の構成も変更して、1サンプリング周期における図4の丸1ないし丸3のいずれの部分の情報も保持可能として、1サンプリング周期における図4の丸1ないし丸3の各部分を加算可能としておけばよい。なお、丸2の部分は第1レジスタ5のサンプリング周期間での差分を演算することにより、容易に得られる。
<実施の形態3>
本実施の形態は、実施の形態2に係るADコンバータの変形例であって、実施の形態2において、周期Tbaseと周期Tjawとのキャリブレートが可能な周期調整回路を追加したものである。
図10は、本実施の形態に係るADコンバータを示す図である。図10に示すように、本実施の形態においては、周期調整回路14および加算器141が追加されている。なお、図10においては、周期調整回路14および加算器141が追加されている点以外、図8の装置構成と同じである。
図11は、周期調整回路14の必要性を示すタイミングチャートである。図11において、信号JAW_VCO(Fit)と信号JAW_VCO(ズレ)とが示されている。このうち前者は、周期Tbaseと周期Tjawとの比A:Bが設定値の8:9に保たれている場合のJAW−VCO2の出力パルス信号を示すものであり、後者は、周期Tbaseと周期Tjawとの比A:Bが設定値の8:9からずれてしまった場合のJAW−VCO2の出力パルス信号を示すものである。なお、信号JAW_VCO(Fit)と信号JAW_VCO(ズレ)のいずれとも、Delay0の場合の信号である。
信号JAW_VCO(Fit)の場合、周期Tbaseと周期Tjawとの比A:Bが設定値の8:9に保たれているので、信号JAW_VCO(Fit)の8周期分とBASE−VCO1の出力パルス信号の9周期分とが一致しており、その位相一致時点は“Correct”で示され、正しい個所となっている。一方、周期Tjawが若干、大きな値となっている信号JAW_VCO(ズレ)の場合は、“Correct”よりも早い“Error”と示された個所に位相一致時点がずれている。このようなずれが生じると、周期Tbase未満のV−F変換値を正しく検出できず、高精度なAD変換が行えなくなる。
そこで、本実施の形態においては、周期Tbaseと周期Tjawとの比A:Bが設定値の8:9からずれている場合には、周期調整回路14および加算器141により、正しい設定値となるように校正(キャリブレート)を行う。
図12は、周期調整回路14の詳細構成を示す図である。周期調整回路14は、PLL(Phase Locked Loop)シーケンサ14aと、BASE−VCO1の出力パルス信号の周期Tbaseに対応する周波数を、B(=9)で除することにより分周する1/9プリスケーラ14bと、JAW−VCO2の出力パルス信号の周期Tjawに対応する周波数を、A(=8)で除することにより分周する1/8プリスケーラ14cと、1/9プリスケーラ14bおよび1/8プリスケーラ14cの各出力の位相の比較を行う位相比較器14dと、位相比較器14dからの出力を受けるLPF(Low Pass Filter)14eと、LPF14eの出力を保持可能なサンプル&ホールド回路14fとを備える。
PLLシーケンサ14aは、サンプリング信号Psおよび位相差判定回路3の出力を受け、毎サンプリング周期のデジタル値生成後に自動的に周期調整モードに入り、周期調整動作を、次の測定動作時まで、すなわちサンプリング信号Ps活性化時まで続ける回路である。
1/9プリスケーラ14bはBASE−VCO1の出力パルス信号を受け、その周期Tbaseに対応する周波数を1/9に分周して位相比較器14dに出力する。また、1/8プリスケーラ14cはJAW−VCO2の出力パルス信号を受け、その周期Tjawに対応する周波数を1/8に分周して位相比較器14dに出力する。なお、1/9プリスケーラ14bおよび1/8プリスケーラ14cは、PLLシーケンサ14aからの信号S2aをそのリセット入力端clrに受けて、分周動作を停止する。
位相比較器14dは、両プリスケーラ14b,14cの出力信号の位相を比較し、両者の位相差に応じてその出力S2cの値をHiまたはLowとする。そして、出力S2cを受けたLPF14eは、出力S2cの積分値を出力し、サンプル&ホールド回路14fは、PLLシーケンサ14aからの信号S2aを受けて、LPF14eの出力をサンプルする。
サンプル&ホールド回路14fの出力は、信号S2として加算器141に与えられる。加算器141は、入力電圧Vinにサンプル&ホールド回路14fの出力値を加算して、JAW−VCO2の電圧制御信号とする。
そして、位相比較器14dは、両プリスケーラ14b,14cの出力信号の位相が一致したときに、一致信号S2bを出力する。PLLシーケンサ14aは、一致信号S2bを受けて信号S2aを活性化させ、それにより両プリスケーラ14b,14cの分周動作を停止させ、かつ、サンプル&ホールド回路14fにLPF14eの出力を保持させる。なお、位相比較器14dは、1/8プリスケーラ14cの出力信号の立ち上がりエッジが1/9プリスケーラ14bの出力信号の立ち上がりエッジより速い(JAW側が速い)場合、出力S2cとして“Low”を出力する。一方、1/9プリスケーラ14bの出力信号の立ち上がりエッジが1/8プリスケーラ14cの出力信号の立ち上がりエッジより速い(BASE側が速い)場合、位相比較器14dは出力S2cとして“Hi”を出力する。両プリスケーラ14b,14cの出力信号の位相が一致すると、位相比較器14dは出力S2cをハイインピーダンスとする。
すなわち、周期調整回路14においては、JAW−VCO2、1/8プリスケーラ14c、位相比較器14d、LPF14eが一種のPLL回路を構成しており、1/9プリスケーラ14bの出力信号および1/8プリスケーラ14cの出力信号の位相一致を検出するまで、サンプル&ホールド回路14fの出力値を変動させる。そして、両プリスケーラ14b,14cの出力信号の位相一致を検出したときには、周期Tbaseと周期Tjawとの比A:Bが設定値の8:9に一致したとして、その時点でのサンプル&ホールド回路14fの出力値を電圧補正値として入力電圧Vinに加えて、電圧制御信号とするのである。
本実施の形態に係る発明によれば、1/9プリスケーラ14bがBASE−VCO1の出力パルス信号の周期Tbaseに対応する周波数をBで除することにより分周し、1/8プリスケーラ14cがJAW−VCO2の出力パルス信号の周期Tjawに対応する周波数を、Aで除することにより分周する。そして、位相比較器14dは両プリスケーラ14b,14cの各出力の位相の比較を行い、位相比較器14dからの出力が、LPF14eを介して周期Tjawの制御に用いられる。よって、周期Tbaseと周期TjawとがA:Bの比を保つよう、フィードバックがかかり、周期TbaseおよびTjawのキャリブレートが可能である。
なお、上記においては、周期Tjawを入力電圧Vinに加えてLPF14eからの出力によっても制御する構成としたが、周期Tbaseの方をLPF14eからの出力によっても制御する構成とする、あるいは、周期TbaseおよびTjawの両方をLPF14eからの出力によっても制御する構成としてもよい。すなわち、加算器141によるサンプル&ホールド回路14fの出力の印加を、JAW−VCO2への入力電圧Vinにではなく、BASE−VCO1への入力電圧Vinに、あるいは、BASE−VCO1およびJAW−VCO2の双方への入力電圧Vinに行ってもよい。
また、BASE−VCO1およびJAW−VCO2の発振出力を取り出して、外部のPLL回路(図示せず)に与え、加算器141による外部PLL回路の出力の印加を行う構成としてもよい。
また、加算器141を介した入力電圧Vinの電圧増減という手法でなくとも、例えばBASE−VCO1およびJAW−VCO2を構成する、図6の各インバータ内のCMOSトランジスタのしきい値を基板バイアス効果により変更し、遅延量を制御するとの方法を採用してもよい。
<実施の形態4>
本実施の形態も、実施の形態2に係るADコンバータの変形例であって、実施の形態2において、BASE−VCO1の出力パルス信号に所定の遅延量を付加する遅延回路を追加したものである。
図13は、本実施の形態に係るADコンバータを示す図である。図13に示すように、本実施の形態においては、ディレイ追加回路15が追加されている。13また、BASE−VCO1に遅延調整入力信号が与えられ、第2レジスタ7のリセット入力端clrには遅延調整モード信号が与えられている。なお、図13においては、ディレイ追加回路15、遅延調整入力信号および遅延調整モード信号が追加されている点以外、図8の装置構成と同じである。
図14および図15は、ディレイ追加回路15の必要性を示すタイミングチャートである。まず、図14においては、動作制御回路9が、サンプリング信号Psの活性化に伴って即座にその出力S1を活性化し、それに伴ってDelay0の場合のJAW−VCO2の出力パルス信号が発振を正常に開始する場合を示している。
一方、図15においては、動作制御回路9が、サンプリング信号Psの活性化に伴って、遅延量D1だけ遅延してその出力S1を活性化した場合を示している。この場合、Delay0の場合のJAW−VCO2の出力パルス信号の発振開始が、遅延量D1だけ遅延するので、本来は8番目のJAW−VCO2の出力パルス信号の発振で位相一致するべきところが、5番目の発振で位相一致してしまい、誤った位相一致点を検出することとなる。
そこで、本実施の形態においては、サンプリング信号Psの活性化とJAW−VCO2の出力パルス信号の発振開始との間に生じる遅延量を予め計測しておき、その遅延量と同量の遅延をディレイ追加回路15にて発生させ、BASE−VCO1の出力パルス信号に遅延を付加する。BASE−VCO1の出力パルス信号に遅延を付加すれば、図15において、JAW−VCO2の出力パルス信号の発振開始が、遅延量D1だけ遅延していても、BASE−VCO1の出力パルス信号にも同量だけ遅延が生じているので、誤った位相一致点を検出することはない。
サンプリング信号Psの活性化とJAW−VCO2の出力パルス信号の発振開始との間に生じる遅延量の計測にあたっては、まずBASE−VCO1にEnable端子(遅延調整入力)を設けて(図6の二入力NAND回路G2aの電源電位VDDが与えられた他方入力端をEnable端子とする)、BASE−VCO1の出力パルス信号の位相とJAW−VCO2の出力パルス信号の位相とをそろえて発振開始できるようにする。
このEnable端子に与える遅延調整入力信号は、Hiイネーブルとし、通常動作時にはHi、すなわち電源電位VDDが与えられるようにする。一方、遅延調整モード時には、このEnable端子にサンプリング信号Psを入力する。さらに、生成した小数部の出力値をそのままADコンバータの出力とするため、第2レジスタ7のリセット入力端clrを遅延調整モード信号入力端として利用し、遅延調整モード時にリセット入力端clrをHiとすることで、第2レジスタ7の出力を強制的に0とする。
遅延調整モード時には、BASE−VCO1およびJAW−VCO2のいずれもが、サンプリング信号Psに基づいて発振を開始するので、BASE−VCO1の出力パルス信号の位相とJAW−VCO2の出力パルス信号の位相とが揃った状態で、発振を開始させることとなる。この状態で第1減算器8の出力値を検出すれば、サンプリング信号Psの活性化とJAW−VCO2の出力パルス信号の発振開始との間に生じる遅延量の計測が行える。なお、入力電圧Vinの値を変えて、入力電圧Vinの高い時も低い時も遅延値が同じになるように、ディレイ追加回路15の遅延量を調節する。
図16は、ディレイ追加回路15の詳細構成を示す図である。図16に示すように、ディレイ追加回路15は例えば、DAコンバータ15aと、インバータ15b,15cとで構成可能である。
インバータ15b,15cの電源電圧入力には、DAコンバータ15aの出力が与えられている。そして、インバータ15bの入力としてBASE−VCO1の出力パルス信号が与えられ、インバータ15cの入力としてインバータ15bの出力が与えられる。インバータ15cの出力は、カウンタ4および位相差判定回路3に与えられる。インバータ15b,15cは、電源電圧に応じてその動作速度が変化するため、DAコンバータ15aの出力値によって遅延量を制御可能である。
DAコンバータ15aの入力には、ADコンバータの出力を受ける制御CPUや制御シーケンサなど(図示せず)、ADコンバータの校正を司る回路からの信号S3を与えればよい。
本実施の形態に係る発明によれば、ディレイ追加回路15はBASE−VCO1の出力パルス信号に所定の遅延量を付加し、その所定の遅延量とは、予め計測された、サンプリング信号Psの活性化とJAW−VCO2の出力パルス信号の発振開始との間に生じる遅延量である。サンプリング信号Psの活性化後すぐにJAW−VCO2の出力パルス信号の発振が開始しない場合であっても、BASE−VCO1の出力パルス信号にその分の遅延量が付加されるので、サンプリング信号Psの活性化とJAW−VCO2の出力パルス信号の発振開始との間に生じる遅延を打ち消すことができ、BASE−VCO1およびJAW−VCO2の出力パルス信号の位相の一致をより高精度に検出することができる。
なお、ディレイ追加回路15を、上記のようにBASE−VCO1の出力パルス信号に遅延を付加する以外にも、JAW−VCO2の出力パルス信号にも独立して別個の遅延を付加するように構成してもよい。その他にも、ディレイ追加回路15を、上記のようにBASE−VCO1やJAW−VCO2の出力パルス信号に遅延を付加するタイプとする以外に、例えば図10の加算器141と同様にして、BASE−VCO1やJAW−VCO2への入力電圧Vinへの電圧加算で行うタイプとしてもよい。また、そのほかにも、例えばBASE−VCO1およびJAW−VCO2を構成する、図6の各インバータ内のCMOSトランジスタのしきい値を基板バイアス効果により変更し、遅延量を制御するとの方法を採用してもよい。
<実施の形態5>
本実施の形態は、実施の形態1および2に係るADコンバータの変形例であって、実施の形態1および2における位相差判定回路3および下位桁算出部(第3レジスタ10と第2および第3減算器11,12、または、ダウンカウンタ13)を、一体化した構成とするものである。
図17は、本実施の形態に係るADコンバータを示す図である。図17に示すように、本実施の形態においては、位相差検出回路3および下位桁算出部に代わって、1ビット8エントリシフトレジスタ16およびエンコーダ17が採用されている。また、動作制御回路9に代わって動作制御回路90が採用されている。なお、図17においては、1ビット8エントリシフトレジスタ16、エンコーダ17および動作制御回路90が採用されている点以外、図1および図8の装置構成と同じである。
本ADコンバータにおいては、2つのVCOの発振出力の位相の前後関係をも判定可能な位相差判定回路として、1ビット8エントリシフトレジスタ16およびエンコーダ17を使用する。本発明では、JAW−VCO2の出力パルス信号とBASE−VCO1の出力パルス信号との位相関係が変化する個所を正確に検出しなければならない。一般的なS−Rフリップフロップ方式の位相差判定回路では、2つのパルス間の位相距離を示すことは可能であるが、位相が一致した、あるいは追い越した個所、すなわち位相の先後を正確に検出するには不向きである。
2つのVCOの発振出力の位相差の変化を判定するには、判定する個所の前後のVCOの出力パルス信号における位相関係の時系列変化を記憶しておき、記憶した状態と新たな位相関係とを照らし合わせて、位相関係の変化点を検出すればよい。本実施の形態にて、1ビット8エントリシフトレジスタ16およびエンコーダ17を採用したのは、こうした理由からである。
図18は、本実施の形態に係るADコンバータの動作を示すタイミングチャートである。図18においては、動作制御回路90が、サンプリング信号Psの活性化に伴って出力S1aを活性化させる様子、および、Delay0〜Delay7の各場合のJAW−VCO2の出力パルス信号が発振を行う様子を示している。
図19は、動作制御回路90、1ビット8エントリシフトレジスタ16およびエンコーダ17の詳細構成を示す図である。動作制御回路90は、カウンタ90aを有している。1ビット8エントリシフトレジスタ16は、直列に接続されたレジスタ16a〜16hを有している。エンコーダ17は、二入力AND回路17a〜17hおよび8to3プライオリティエンコーダ17iを有している。
カウンタ90aはそのクロック入力端TにJAW−VCO2の出力パルス信号を受け、また、リセット入力端clrにサンプリング信号Psを受ける。カウンタ90aの出力S1aは、1ビット8エントリシフトレジスタ16内の全レジスタ16a〜16hの各イネーブル端子enablに与えられる。
1ビット8エントリシフトレジスタ16内の全レジスタ16a〜16hの各クロック入力端Tには、JAW−VCO2の出力パルス信号が与えられる。そして、初段のレジスタ16aの信号入力端DにはBASE−VCO1の出力パルス信号が与えられ、その出力は二段目のレジスタ16bの信号入力端Dに与えられる。以降のレジスタ16b〜16hの各段においても同様に、前段の出力が後段の入力端Dに与えられる。
エンコーダ17内の二入力AND回路17aの一方入力端には初段レジスタ16aの出力が与えられ、他方入力端には二段目のレジスタ16bの出力が反転して与えられる。二入力AND回路17bの一方入力端には二段目のレジスタ16bの出力が与えられ、他方入力端には三段目のレジスタ16cの出力が反転して与えられる。以降、同様にして二入力AND回路17c〜17hにおいては、対応する段のレジスタ16c〜16hの出力がその一方入力端に与えられ、他方入力端には一段後のレジスタ16d〜16h(二入力AND回路17hについては初段に戻ってレジスタ16a)の出力が反転して与えられる。そして、8to3プライオリティエンコーダ17iは、二入力AND回路17a〜17hの出力(いずれか一つの回路のみがHiを出力する8ビット信号を形成する)を受け、“0”〜“7”の3ビットの下位ビット出力に変換する。
図20は、動作制御回路90、1ビット8エントリシフトレジスタ16およびエンコーダ17の動作を示すタイミングチャートである。まず、動作制御回路90内のカウンタ90aは、1ビット8エントリシフトレジスタ16のエントリ数たる8回分の計数を、JAW−VCO2の出力パルス信号の立下りエッジに伴って行う。
1ビット8エントリシフトレジスタ16内のレジスタ16aは、JAW−VCO2の出力パルス信号の発振に伴って順次、BASE−VCO1の出力パルス信号のHiまたはLowの値を保持(サンプリング)してゆく。そして、保持した情報を、後段のレジスタ16b〜16hに移行させてゆく。この情報の移行は、カウンタ90aの計数分たる8回分行われる。
すると、カウンタ90aが8回計数した時点での、1ビット8エントリシフトレジスタ16内のレジスタ16a〜16hに保持された情報は、図20のSFRパターン0〜SFRパターン7に示すように、図18におけるDelay0〜Delay7の各場合に対応した、特有のHi,Lowのパターンを示すこととなる。すなわち、図18におけるDelay0の場合を例にとれば、レジスタ16aが、JAW−VCO2の出力パルス信号の発振に伴って順次、BASE−VCO1の出力パルス信号のHiまたはLowの値をサンプリングしてゆくと、図18に示す“Hi”,“Hi”,“Hi”,“Low”,“Low”,“Low”,“Low”,“Hi”のパターンとなる。このパターンは、図20のSFRパターン0に相当し、その他の図18のDelay1〜Delay7の各場合についても、それぞれ図20のSFRパターン1〜SFRパターン7に相当することとなる。
そして、エンコーダ17内の二入力AND回路17a〜17hは、SFRパターン0〜SFRパターン7の各場合に応じて、いずれか一つの回路のみがHiを出力し、他はLowを出力する8ビット信号を生成する。例えばSFRパターン0の場合、二入力AND回路17a〜17hは、“Low”,“Low”,“Hi”,“Low”,“Low”,“Low”,“Low”,“Low”のパターンの8ビット信号を生成する。
そして、8to3プライオリティエンコーダ17iは、この8ビット信号を、予め決められた対応値(すなわち、SFRパターン0のパターンの場合は遅延量“0”、SFRパターン1のパターンの場合は遅延量“1”、…、SFRパターン7のパターンの場合は遅延量“7”)に変換し、下位ビットの情報として出力するのである。
図20のSFRパターン0〜SFRパターン7の各パターンのうち、信号がLowからHiに変化している部分は、図18のDelay0〜Delay7の各場合の位相一致個所に対応しており、SFRパターン0〜SFRパターン7の各パターンから、位相一致時点を判定すれば、その判定結果は信頼のおけるものとなる。両VCOの出力パルス信号の位相距離から位相一致を判定するのではなく、JAW−VCO2の出力パルス信号の発振をサンプリングタイミングとした、BASE−VCO1の出力パルス信号のパターンから位相一致を判定し、位相の先後が判定可能だからである。
すなわち、本実施の形態においては、BASE−VCO1の出力パルス信号を1ビット8エントリシフトレジスタ16の信号入力とし、JAW−VCO2の出力パルス信号を1ビット8エントリシフトレジスタ16のクロック入力として、エンコーダ17に、1ビット8エントリシフトレジスタ16の出力パターンに対応した数値を位相差として出力させる、下位桁算出部の構成を採っている。
1ビット8エントリシフトレジスタ16の出力パターンは、BASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点に応じて異なることから、エンコーダ17における出力数値を1ビット8エントリシフトレジスタ16の出力パターンの各場合の位相差と対応させておくことで、適切な位相差を出力可能である。よって、簡単な回路構成で本発明に係るADコンバータを構成可能である。
なお、1ビット8エントリシフトレジスタ16の代わりに、8出力マルチプレクサと8個のレジスタとを設け、動作制御回路90の信号S1aの数値に応じて、8出力マルチプレクサが対応する8個のレジスタのいずれかに順次、サンプリング値を記憶させてゆく構成を採用してもよい。
<実施の形態6>
本実施の形態は、実施の形態1〜5に係るADコンバータの変形例であって、実施の形態1〜5における、カウンタ4および第1レジスタ5で構成していた上位桁算出部を、カウンタ4およびシフトレジスタにて構成し、下位桁算出部により算出された位相差に基づいて、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定する構成としたものである。
図21は、本実施の形態の上位桁算出部の必要性を示すタイミングチャートである。図21においては、図1および図8における第1レジスタ5が、カウンタ4の計数値を捉えるタイミングに問題が生じる場合を示している。
サンプリング信号Psの活性化時点がBASE−VCO1の活性化時点に近接する場合、カウンタ4におけるBASE−VCO1のパルス数取り込みが、図21における丸1のタイミングで行われるのか、それとも、丸2のタイミングで行われるのかに応じて、第1レジスタ5に保持されるカウント値が異なってくる(図21では“1あるいは2”と表示)。このようなカウンタ4における取り込みタイミングのずれは、BASE−VCO1の発振タイミングへのジッター混入や、サンプリング信号Psへのジッター混入等により、起こりうる。
また、上記のようなジッター混入があれば、カウンタ4におけるパルス数取り込みのみならず、図21における丸3および丸4に示すように、両VCOの出力パルス信号の位相差の検出においても、位相一致時点が異なってくる(図21では“7/8あるいは0/8”と表示)。そして、図21における丸1および丸2に、丸3および丸4が組み合わさると、“2+7/8”と“1+0/8”のように、その検出値に大きな乖離が生じてしまう。
そこで、本実施の形態においては、ジッターへの耐性の強いADコンバータを実現する。図22は、本実施の形態に係るADコンバータを示す図である。図22に示すように、本実施の形態においては、実施の形態5における第1レジスタ5に代わって、18ビット8エントリシフトレジスタ18、BASE選択マルチプレクサ19、並びに、第3および第4減算器12,20が採用されている。なお、図22においては、18ビット8エントリシフトレジスタ18、BASE選択マルチプレクサ19、並びに、第3および第4減算器12および20が採用されている点以外、図17の装置構成と同じである。
本ADコンバータにおいては、18ビット8エントリシフトレジスタ18がJAW−VCO2の出力パルス信号の立下りタイミングで、カウンタ4の計数値の時系列変化を保持し(なお、“18ビット”とは、カウンタ4の出力が18ビット信号である場合を想定している。もちろん、カウンタ4の出力ビット数に応じた他のビット値であっても構わない)、BASE選択マルチプレクサ19が、下位桁算出部により算出された位相差に基づいて、サンプリング周期ごとに、18ビット8エントリシフトレジスタ18に記憶されたカウンタ4の計数値のうちパルス信号の位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を選択する。そして、演算部を構成する第3および第4減算器12,20が、BASE選択マルチプレクサ19により選択されたカウンタ4の計数値、および、下位桁算出部により算出された位相差に基づいて、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定する。
これはすなわち、18ビット8エントリシフトレジスタ18が、サンプリング周期ごとに、パルス信号の位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を少なくとも保持し、上位桁算出部が、サンプリング周期ごとに、18ビット8エントリシフトレジスタ18に保持された計数値、および、下位桁算出部により算出された位相差に基づいて、サンプリング信号の活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定することを意味する。
図23は、動作制御回路90、18ビット8エントリシフトレジスタ18およびBASE選択マルチプレクサ19、の詳細構成を示す図である。動作制御回路90は、図19に示したのと同様のカウンタ90aを有している。18ビット8エントリシフトレジスタ18は、直列に接続されたレジスタ18a〜18hを18ビット分(図23では1ビット分のみ示す)、有している。
カウンタ90aはそのクロック入力端TにJAW−VCO2の出力パルス信号を受け、また、リセット入力端clrにサンプリング信号Psを受ける。カウンタ90aは、1ビット8エントリシフトレジスタ16、および、18ビット8エントリシフトレジスタ18のエントリ数たる8回分の計数を、JAW−VCO2の出力パルス信号の立下りエッジに伴って行う。カウンタ90aの出力S1aは、18ビット8エントリシフトレジスタ18内の1ビット分の全レジスタ18a〜18hの各イネーブル端子enabl、並びに、他の各ビット分の全レジスタ(図示せず)の各イネーブル端子に与えられる。
18ビット8エントリシフトレジスタ18内の1ビット分の全レジスタ18a〜18hの各クロック入力端T、並びに、他の各ビット分の全レジスタ(図示せず)の各クロック入力端には、JAW−VCO2の出力パルス信号が与えられる。そして、初段のレジスタ18aの信号入力端Dには、カウンタ4の計数値の18ビットのうち1ビット分の信号が与えられ、その出力は二段目のレジスタ18bの信号入力端Dに与えられる。以降のレジスタ18b〜18hの各段においても同様に、前段の出力が後段の入力端Dに与えられる。また、図示せぬ他の各ビット分の全レジスタにおいても同様に、初段のレジスタの信号入力端に、カウンタ4の計数値の18ビットのうち対応するビットの信号が与えられ、以降のレジスタ各段においても同様に、前段の出力が後段の入力端に与えられる。
なお、18ビット8エントリシフトレジスタ18は、JAW−VCO2の出力パルス信号の発振のうち立下りエッジに伴って順次、カウンタ4の値を保持(サンプリング)してゆく。そして、保持した情報を、後段の18ビット分の各段のレジスタに移行させてゆく。この情報の移行は、カウンタ90aの計数分たる8回分行われる。
BASE選択マルチプレクサ19には、1ビット分の初段レジスタ18aの出力および他の17ビット分に対応する各初段レジスタ(図示せず)の出力をひとまとめにした、18ビット信号D0が与えられる。同様に、二段目のレジスタ18bおよび他の17ビット分に対応する各二段目レジスタ(図示せず)の出力をひとまとめにした、18ビット信号D1がBASE選択マルチプレクサ19に与えられ、以降の各段においても、同様の18ビット信号D2〜D7がBASE選択マルチプレクサ19に与えられる。
図24は、本実施の形態に係るADコンバータの動作を示すタイミングチャートである。図24においては、動作制御回路90が、サンプリング信号Psの活性化に伴って出力S1aを活性化させ、その出力S1aをJAW−VCO2の出力パルス信号に同期して所定回数だけ発振し、それに伴って18ビット8エントリシフトレジスタ18がカウンタ4の値の時系列変化を保持してゆく。
図24の上半分においては、BASE−VCO1およびJAW−VCO2の出力パルス信号がDelay=0の位相関係の場合を示し、1ビット8エントリシフトレジスタ16が、図20のSFRパターン0を出力することが示されている。1ビット8エントリシフトレジスタ16がSFRパターン0を出力することにより、エンコーダ17は下位ビットの値として“0”を出力する。
エンコーダ17が下位ビットの値として“0”を出力すると、BASE選択マルチプレクサ19は、その値を受けて18ビット信号D0〜D7のうち対応する情報を、第4減算器20に出力する。この場合は、18ビット8エントリシフトレジスタ18内の最も新しい情報たる、18ビット信号D0の情報(カウンタ4の値“11”の情報)がBASE選択マルチプレクサ19により選択される。図24においては、このことがレジスタ8thとして表されている。
なお、エンコーダ17が下位ビットの値として“1”を出力した場合には、BASE選択マルチプレクサ19は18ビット信号D1を、エンコーダ17が下位ビットの値として“2”を出力した場合には、BASE選択マルチプレクサ19は18ビット信号D2を、…、エンコーダ17が下位ビットの値として“7”を出力した場合には、BASE選択マルチプレクサ19は18ビット信号D7を、それぞれ出力する。
BASE選択マルチプレクサ19からの出力値からは、第3減算器12を介して“9”からエンコーダ17の出力値が減算された計算結果が、第4減算器20にて減算される。すなわち、エンコーダ17が下位ビットの値として“0”を出力した場合、第3減算器12は“9”−“0”=“9”を出力し、第4減算器20は“11”−“9”=“2”を出力する。そして、この“2”と、下位ビットたる“0/8”との合成値“2+0/8”が、第2レジスタ7にて保持される。
第2レジスタ7にて保持された値は、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を示しており、エンコーダ17の出力する下位ビットが“0”の場合、図24に示すとおりサンプリング信号Psの活性化時点におけるBASE−VCO1のパルス数は“2”となっている。
なお、図24の下半分において、BASE選択マルチプレクサ19により18ビット信号D0の情報が選択される場合(レジスタ8th)に加えて、仮定的に、位相差“0”でありながら、18ビット信号D1〜D7の情報が選択される場合をレジスタ7th〜レジスタ1stとして示している。
レジスタ8th〜レジスタ1stを見れば分かるとおり、18ビット8エントリシフトレジスタ18が、JAW−VCO2のパルス信号の立下りエッジに伴ってカウンタ4の値をサンプリングするので、レジスタ8thの場合は、カウンタ4が“11”の値を出力し始めて、次に“12”の値を出力するまでのちょうど中間時点に、そのサンプリングタイミングが位置することとなる。
ところが、レジスタ4thの場合は、カウンタ4が“6”の値を出力し終わるか、または、“7”の値を出力し始める時点に、そのサンプリングタイミングが位置することとなる。この場合は、図21に示したような、カウント値が“1”繰り上がるか、そうでないかとの問題が生じる。図24においては、このような18ビット8エントリシフトレジスタ18におけるサンプリング値不定を“XX”にて示している。
すなわち、レジスタ8thの場合は、18ビット8エントリシフトレジスタ18が、位相一致時点から最も遠い時点、すなわち周期Tjawの半周期ずれた時点にてカウンタ4の値をサンプリングしているのに対し、レジスタ4thの場合は、位相一致時点と同時もしくはその近傍にてカウンタ4の値をサンプリングすることとなるのである。
よって、本実施の形態においては、エンコーダ17の出力する下位ビットの値“0”〜“7”と、BASE選択マルチプレクサ19の選択する18ビット信号D0〜D7とを、適切に対応付けておくことにより、下位ビットの値が“0”〜“7”のいずれであっても、18ビット8エントリシフトレジスタ18に、位相一致時点から最も遠い時点、すなわち周期Tjawの半周期ずれた時点にてカウンタ4の値をサンプリングさせ、図21のようなサンプリングタイミングのずれによるカウンタ4の値の不確定を防止することができる。
なお、図24のレジスタ8thにおいて、JAW−VCO2の出力パルス信号にジッターが発生し、SFRパターン0の8thの値Hiが例えば1クロック分遅延して、後ろにずれたとすると、図20のエンコーディング規則により、エンコーダ17はSFRパターン7、すなわち、Delay=7としてエンコーディングを行う。この場合、BASE選択マルチプレクサ19は、レジスタ1st(値“3”)、第3減算器12は“9”−“7”=値“2”、第4減算器20(上位ビット)は“3”−“2”=値“1”を出力する。すなわち、このように1クロック分程度の遅延がある場合であっても、そのときに第2レジスタ7に保持されるデータは“1+7/8”となる。この値は、正しい値“2+0/8”に対して、1クロック分の遅延しか有しておらず、図21の場合のように、大きく値が異なってしまうことはない。
本実施の形態に係る発明によれば、上位桁算出部は、サンプリング周期ごとに、18ビット8エントリシフトレジスタ18に保持された、BASE−VCO1およびJAW−VCO2の出力パルス信号の位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値、および、下位桁算出部により算出された位相差に基づいて、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定する。
図21の場合のように、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を、サンプリング信号Psの活性化に基づいて特定する場合は、BASE−VCO1の出力パルス信号の活性化とサンプリング信号Psの活性化とが近接するときに、上位桁算出部において算出誤差が生じやすいが、18ビット8エントリシフトレジスタ18に保持された、位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値、および、下位桁算出部により算出された位相差に基づいてパルス数を特定するので、上位桁算出部において算出誤差が生じない。
また、本実施の形態に係る発明によれば、18ビット8エントリシフトレジスタ18は、カウンタ4の計数値を受けて、サンプリング周期ごとに、BASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を少なくとも保持可能であり、上位桁算出部が、位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を選択するBASE選択マルチプレクサ19と、BASE選択マルチプレクサ19により選択されたカウンタ4の計数値(18ビット信号D0〜D7)、および、下位桁算出部により算出された位相差に基づいて、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定する演算部(第3および第4減算器12,20)とをさらに備える。よって、簡単な回路構成で本実施の形態に係る発明を構成可能である。
なお、18ビット8エントリシフトレジスタ18の代わりに、8出力マルチプレクサと8個のレジスタとを18ビット分、設け、動作制御回路90の信号S1aの数値に応じて、各ビットにおいて、8出力マルチプレクサが対応する8個のレジスタのいずれかに順次、サンプリング値を記憶させてゆく構成を採用してもよい。
<実施の形態7>
本実施の形態は、実施の形態2および6に係るADコンバータの変形例であって、実施の形態6における18ビット8エントリシフトレジスタ18、1ビット8エントリシフトレジスタ16、エンコーダ17および動作制御回路90に代わって、実施の形態2に示した第1レジスタ5およびダウンカウンタ13、並びに、本実施の形態にて初出の、BASE−VCO1およびJAW−VCO2の出力パルス信号の位相一致時点を検出したときに、第1レジスタ5に位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を保持させる検出部を設けたものである。
図25は、本実施の形態に係るADコンバータを示す図である。図25に示すように、本実施の形態においては、実施の形態6における18ビット8エントリシフトレジスタ18、1ビット8エントリシフトレジスタ16、エンコーダ17および動作制御回路90に代わって、第1レジスタ5、ダウンカウンタ13、第4レジスタ21、および、立ち上がり検出ステートマシン22が採用されている。なお、第4レジスタ21および立ち上がり検出ステートマシン22が、本実施の形態における検出部を構成する。図25においては、第1レジスタ5、ダウンカウンタ13、第4レジスタ21、および、立ち上がり検出ステートマシン22が採用されている点以外、図22の装置構成と同じである。
本ADコンバータにおいては、第4レジスタ21が、図19の1ビット8エントリシフトレジスタ16内のレジスタ16aと同様に、JAW−VCO2の出力パルス信号の発振に伴って順次、BASE−VCO1の出力パルス信号のHiまたはLowの値を保持(サンプリング)してゆく。
そして、立ち上がり検出ステートマシン22は、第4レジスタ21に保持された内容を参照することにより、図20のSFRパターン0〜SFRパターン7の各パターンのうち、信号がLowからHiに変化している部分(この部分は、上述の通り図18のDelay0〜Delay7の各場合の位相一致個所に対応している)の検出を行う。この部分の検出を行えば、図20の説明にて述べたとおり、JAW−VCO2の出力パルス信号の発振をサンプリングタイミングとした位相一致判定が行え、位相の先後が判定可能で、その判定結果は信頼のおけるものとなる。
図26は、立ち上がり検出ステートマシン22における状態遷移図である。また、図27および図28は、本実施の形態に係るADコンバータの動作を示すタイミングチャートである。以下ではまず、図26の状態遷移図および図27のタイミングチャート(Delay=0の場合)に基づいて、立ち上がり検出ステートマシン22の動作の説明を行う。
まず、立ち上がり検出ステートマシン22は、サンプリング信号Psが非活性化状態にあるときは動作を行わず、“IDLE”状態ST1にてサンプリング信号Psが活性化状態になるまで待機する。
次に、サンプリング信号Psの信号値(これをFSとする)が活性化してHiとなった場合には、立ち上がり検出ステートマシン22は、ダウンカウンタ13に対するイネーブル信号cnt_enを活性化(=Hi)して、“JAW_1ST”状態ST2に移行する。ダウンカウンタ13は、これにより計数を開始する。そして、この状態時に、第1レジスタ5に対するイネーブル信号base_captを活性化(=Hi)して、第1レジスタ5に、JAW_1STのパルス立ち上がり時点から周期Tjawの半周期ずれた時点(すなわちJAW_1STのパルス立下り時点)におけるカウンタ4の計数値を保持させる(図27においては、値“11”が第1レジスタ5に保持されている)。
“JAW_1ST”状態ST2においては、第4レジスタ21に保持された値pfd_edgeがHiであるのか、それともLowであるのかを判断する。第4レジスタ21は、JAW−VCO2の出力パルス信号の立ち上がり時点でBASE−VCO1の出力パルス信号の値のサンプリングを行うので、図27のJAW_1STのパルス立ち上がり時点では、pfd_edgeの値はHiとなる。
pfd_edgeの値がHiと検出されれば、立ち上がり検出ステートマシン22は、“FIND_LO”状態ST3に移行して、pfd_edgeの値がLowとなるまで待機する。そして、pfd_edgeの値がLowに変化すれば、立ち上がり検出ステートマシン22は“FIND_HI”状態ST4に移行する。図27の場合、JAW_1STのパルスから3パルス経過後にpfd_edgeの値がLowに変化するので、立ち上がり検出ステートマシン22は、その次のJAW−VCO2のパルスの立ち上がりで“FIND_LO”状態ST3から“FIND_HI”状態ST4に移行する。なお、“JAW_1ST”状態ST2においてpfd_edgeの値がLowと検出されたときにも、立ち上がり検出ステートマシン22は“FIND_HI”状態ST4に移行する。
“FIND_HI”状態ST4においては、今度はpfd_edgeの値がHiとなるまで、または、ダウンカウンタ13の出力値countが“0”となるまで待機する。図27の場合、pfd_edgeの値がLowに変化してから4パルス経過後に、再びHiに戻る(この時点で位相が一致する)ので、立ち上がり検出ステートマシン22は、第1レジスタ5に対するイネーブル信号base_captを活性化(=Hi)して、第1レジスタ5に、位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を保持させる(図27においては、値“19”が第1レジスタ5に保持されている)。また、このとき、立ち上がり検出ステートマシン22は、ダウンカウンタ13に対するイネーブル信号cnt_enを非活性化(=Low)させる。そして、立ち上がり検出ステートマシン22は“PFD_END”状態ST5に移行し、位相一致時点の検出を終了する。
図27においては、Delay=0の場合であるので、この時点でのダウンカウンタの計数値は“0”に達しており、第3減算器12は“9”−“0”=“9”の値を出力する。第1レジスタ5には値“19”が保持されているため、第4減算器20は“19”−“9”=“10”の値を出力する。この“10”との値は、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を示しており、このように、第3および第4減算器12,20は実施の形態6におけると同様、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定する演算部として機能する。
その後、立ち上がり検出ステートマシン22は“WAIT_FS_LO”状態ST6に移行し、サンプリング信号Psの信号値FSがLowとなるまで待機する。そして、信号値FSがLowとなった後に、立ち上がり検出ステートマシン22は再び“IDLE”状態ST1に移行して、次にサンプリング信号Psが活性化状態になるまで待機する。
また、図28のタイミングチャートは、Delay=7の場合のものである。この場合は、立ち上がり検出ステートマシン22は、サンプリング信号Psの活性化に伴って“IDLE”状態ST1から“JAW_1ST”状態ST2に移行する。このとき、ダウンカウンタ13は計数を開始する。
“JAW_1ST”状態ST2にて、立ち上がり検出ステートマシン22は、第1レジスタ5に対するイネーブル信号base_captを活性化(=Hi)して、第1レジスタ5に、JAW_1STのパルス立下り時点におけるカウンタ4の計数値を保持させる(図28においては、値“12”が第1レジスタ5に保持されている)。
“JAW_1ST”状態ST2においては、第4レジスタ21に保持された値pfd_edgeがHiであるので、立ち上がり検出ステートマシン22は、“FIND_LO”状態ST3に移行して、pfd_edgeの値がLowとなるまで待機する。そして、pfd_edgeの値がLowに変化すれば、立ち上がり検出ステートマシン22は“FIND_HI”状態ST4に移行する。図28の場合、JAW_1STのパルスから4パルス経過後にpfd_edgeの値がLowに変化するので、立ち上がり検出ステートマシン22は、その次のJAW−VCO2のパルスの立ち上がりで“FIND_LO”状態ST3から“FIND_HI”状態ST4に移行する。
図28の場合、pfd_edgeの値がLowに変化後は、pfd_edgeの値がHiとならずに、先にダウンカウンタ13の出力値countが“0”となる。この場合は、第1レジスタ5に対するイネーブル信号base_captは活性化されることなく、立ち上がり検出ステートマシン22は“PFD_END”状態ST5に移行し、位相一致時点の検出を終了する。なお、ダウンカウンタ13は、その出力値countが“0”となった後は再度、初期値“7”に戻るよう設定しておく。
図28においては、Delay=7の場合であるので、この時点でのダウンカウンタの計数値は“0”から初期値の“7”に戻っており、第3減算器12は“9”−“7”=“2”の値を出力する。第1レジスタ5には値“12”が保持されているため、第4減算器20は“12”−“2”=“10”の値を出力する。この“10”との値は、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を示している。
ここで、図28においてサンプリング信号Psが1/8の位相だけ遅れて活性化した場合を考えると、JAW−VCO2の出力パルス全体が、図28において1/8の位相だけ遅れることとなる。この場合、“FIND_HI”状態ST4に入るまでは、第1レジスタ5に保持される値が“11”ではなく“12”である点以外は、図27の場合と同様となる。
そして、この場合は“FIND_HI”状態ST4において、pfd_edgeの値がLowに変化してから4パルス経過後に、再びHiに戻る(この時点で位相が一致する)ので、立ち上がり検出ステートマシン22は、第1レジスタ5に対するイネーブル信号base_captを活性化(=Hi)して、第1レジスタ5に、位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を保持させる(図28の場合は、値“20”が第1レジスタ5に保持されることになる)。
このときは、ダウンカウンタの計数値は“0”に達しており、第3減算器12は“9”−“0”=“9”の値を出力する。第1レジスタ5には値“20”が保持されているため、第4減算器20は“20”−“9”=“11”の値を出力する。
図28においてジッターがない場合の上下桁合成部6の出力値は“10+7/8”であり、このサンプリング信号Psが1/8の位相だけ遅れて活性化した場合の上下桁合成部6の出力値は“11+0/8”である。よって、ジッターが生じた場合であっても、その検出値に大きな乖離が生じてしまうことはない。
本実施の形態に係る発明によれば、第1レジスタ5が、サンプリング周期ごとに、BASE−VCO1およびJAW−VCO2の出力パルス信号の位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を保持し、上位桁算出部が、サンプリング周期ごとに、第1レジスタ5に保持された計数値、および、下位桁算出部により算出された位相差に基づいて、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定する。
図21の場合のように、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を、サンプリング信号Psの活性化に基づいて特定する場合は、BASE−VCO1の出力パルス信号の活性化とサンプリング信号Psの活性化とが近接するときに、上位桁算出部において算出誤差が生じやすいが、第1レジスタ5に保持された、位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値、および、下位桁算出部により算出された位相差に基づいてパルス数を特定するので、上位桁算出部において算出誤差が生じない。
また、本実施の形態に係る発明によれば、上位桁算出部が検出部(第4レジスタ21および立ち上がり検出ステートマシン22)と演算部(第3および第4減算器12,20)とを備え、検出部は、BASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点を検出したときに、第1レジスタ5に位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を保持させ、演算部は、第1レジスタ5により保持されたカウンタ4の計数値、および、下位桁算出部により算出された位相差に基づいて、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定する。よって、回路規模の大きなシフトレジスタを用いることなく、小規模な回路構成で本発明を構成可能である。
なお、立ち上がり検出ステートマシン22は、上記の図26の状態遷移図の手順を実現する回路であれば、いかなるものでもよい。また、図26の状態遷移図の手順に限定されるものではなく、pfd_edgeの値がLowからHiに立ち上がる時点を特定できる構成であればよい。
また、ダウンカウンタ13と第3減算器12との組み合わせでなくとも、“2”〜“9”まで計数可能なアップカウンタを代わりに採用してもよい。また、第4レジスタ21もレジスタに限るものではなく、サンプル&ホールド回路等、BASE−VCO1の出力値を保持可能なものであればよい。
<実施の形態8>
本実施の形態は、実施の形態1〜7に係るADコンバータの変形例であって、実施の形態1〜7において、周期Tbaseおよび周期Tjawが予め判明していない場合であっても、主VCOの周期未満のV−F変換値を求めることが可能なADコンバータである。
実施の形態1における下位桁の算出では、第3減算器12にて、予め値“9”を入れておく必要があった。また、実施の形態2〜4,7ではダウンカウンタ13を“7”〜“0”に計数可能としておく必要があった。また、実施の形態5および6では、1ビット8エントリシフトレジスタ16および18ビット8エントリシフトレジスタ18のエントリ数を“8”に設定しておかねばならなかった。
これらはみな、周期Tbaseおよび周期Tjawの比A:B(図2および図4では8:9)が事前に判明しており、その数値に従った回路設計が可能な状況において実現できるものであった。しかしながら、BASE−VCO1およびJAW−VCO2として、必ずしも周期Tbaseおよび周期Tjawの値が判明していない2つのVCOを用いねばならない場合もある。本実施の形態は、このような周期Tbaseおよび周期Tjawの値が判明していない2つのVCOを用いる場合であっても対応可能なADコンバータを実現するものである。なお、もちろん、この場合もA≠Bとして両VCOに周期差だけは存在しなければならない。周期差がないVCOでは、位相差の検出に基づく遅延量の判定が行えないからである。
図29は、本実施の形態に係るADコンバータを示す図である。図29に示すように、本実施の形態は、一例として実施の形態7に係るADコンバータに基づいており、実施の形態7における立ち上がり検出ステートマシン22に代わって、立ち上がり検出ステートマシン22aが採用されている。また、ダウンカウンタ13および第3減算器12に代わって、ゲージカウンタ23、幅カウンタ24、下位ビット演算部25、および、マルチプレクサ26が採用されている。なお、第4レジスタ21および立ち上がり検出ステートマシン22aが、本実施の形態における検出部を構成し、下位ビット演算部25が本実施の形態における下位桁算出部の演算部を構成する。また、第4減算器20およびマルチプレクサ26が、本実施の形態における上位桁算出部の演算部を構成する。図29においては、ゲージカウンタ23、幅カウンタ24、下位ビット演算部25、および、マルチプレクサ26が採用されている点以外、図25の装置構成と同じである。
本ADコンバータにおいては、立ち上がり検出ステートマシン22aが、第4レジスタ21に保持された内容を参照することにより、BASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点および両パルス信号の位相が互いに反転して一致する時点を検出し、ゲージカウンタ23が、サンプリング信号Psの活性化時点から立ち上がり検出ステートマシン22aで検出された位相一致時点までの間のJAW−VCO2の出力パルス信号の発振に対応して計数を行う。また、幅カウンタ24は、立ち上がり検出ステートマシン22aで検出されたBASE−VCO1およびJAW−VCO2の位相一致時点から、次に立ち上がり検出ステートマシン22aで検出されるBASE−VCO1およびJAW−VCO2の位相一致時点までの間のJAW−VCO2の出力パルス信号の発振、または、立ち上がり検出ステートマシン22aで検出されたBASE−VCO1およびJAW−VCO2の出力パルス信号の位相が互いに反転して一致した時点から、次に両パルス信号の位相が互いに反転して一致する時点までの間のJAW−VCO2の出力パルス信号の発振に対応して計数を行う。そして、下位ビット演算部25で構成される演算部が、サンプリング周期ごとに、ゲージカウンタ23の計数値を幅カウンタ24の計数値で除することにより、位相差を算出する。
図30は、下位ビット演算部25の詳細構成を示す図である。図30に示すように、下位ビット演算部25は、減算器25a、マルチプレクサ25bおよび除算器25cを有している。減算器25a、マルチプレクサ25bおよび除算器25cの各部への信号入力については後述する。
図31は、立ち上がり検出ステートマシン22aにおける状態遷移図である。また、図32〜図34は、本実施の形態に係るADコンバータの動作を示すタイミングチャートである。以下ではまず、図31の状態遷移図および図32のタイミングチャート(Delay=0の場合)に基づいて、立ち上がり検出ステートマシン22aの動作の説明を行う。
まず、立ち上がり検出ステートマシン22aは、サンプリング信号Psが非活性化状態にあるときは動作を行わず、“IDLE”状態ST11にてサンプリング信号Psが活性化状態になるまで待機する。
次に、サンプリング信号Psの信号値(これをFSとする)が活性化してHiとなった場合には、立ち上がり検出ステートマシン22aは、ゲージカウンタ23に対するイネーブル信号gauge_enを活性化(=Hi)して、“JAW_1ST”状態ST12に移行する。ゲージカウンタ23は、これにより計数(アップカウント)を開始する。
“JAW_1ST”状態ST12においては、第4レジスタ21に保持された値pfd_edgeがHiであるのか、それともLowであるのかを判断する。第4レジスタ21は、JAW−VCO2の出力パルス信号の立ち上がり時点でBASE−VCO1の出力パルス信号の値のサンプリングを行うので、図32のJAW_1STのパルス立ち上がり時点では、pfd_edgeの値はHiとなる。なお、“JAW_1ST”状態ST12においてpfd_edgeの値がLowと検出されたときには、立ち上がり検出ステートマシン22aは“FIND_H3”状態ST17に移行する。この場合については図34の説明にて行う。
pfd_edgeの値がHiと検出されれば、立ち上がり検出ステートマシン22aは、“FIND_L0”状態ST13に移行して、pfd_edgeの値がLowとなるまで待機する。そして、pfd_edgeの値がLowに変化すれば、幅カウンタ24に対するイネーブル信号width_enを活性化(=Hi)して、立ち上がり検出ステートマシン22aは“FIND_H1”状態ST14に移行する。幅カウンタ24は、これにより計数(アップカウント)を開始する。図32の場合、JAW_1STのパルスから3パルス経過後にpfd_edgeの値がLowに変化するので、立ち上がり検出ステートマシン22aは、その次のJAW−VCO2のパルスの立ち上がりで“FIND_L0”状態ST13から“FIND_H1”状態ST14に移行する。
“FIND_H1”状態ST14においては、今度はpfd_edgeの値がHiとなるまで、待機する。図32の場合、pfd_edgeの値がLowに変化してから4パルス経過後に、再びHiに戻る(この時点で位相が一致する)ので、立ち上がり検出ステートマシン22aは、pfd_edgeの値をHiと検出して、第1レジスタ5に対するイネーブル信号base_captを活性化(=Hi)し、第1レジスタ5に、位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を保持させる(図32においては、値“19”が第1レジスタ5に保持されている)。また、このとき、立ち上がり検出ステートマシン22aは、ゲージカウンタ23に対するイネーブル信号gauge_enを非活性化(=Low)させる。そして、立ち上がり検出ステートマシン22aは“FIND_L2”状態ST15に移行する。
“FIND_L2”状態ST15においては、今度はpfd_edgeの値がLowとなるまで、待機する。図32の場合、pfd_edgeの値がHiに変化してから4パルス経過後に、再びLowに戻るので、このとき、立ち上がり検出ステートマシン22aは、幅カウンタ24に対するイネーブル信号width_enを非活性化(=Low)させる。そして、立ち上がり検出ステートマシン22aは“PFD_END”状態ST16に移行する。
図32においては、Delay=0の場合であるので、この時点でのゲージカウンタ23の計数値は“9”に達しており、また、幅カウンタ24の計数値は“8”に達している。下位ビット演算部25内の減算器25aは、ゲージカウンタ23からの計数値の出力Gの値と、幅カウンタ24からの計数値の出力Wに“+1”した値W+1とを受けて、W+1の値からGの値を差し引いた値を出力する。なお、減算器25aは、W+1の値からGの値を差し引いた値がマイナス値となれば、信号maxを活性化させる。図32の場合、減算器25aは“8+1”−“9”=“0”の値を出力する。
下位ビット演算部25内のマルチプレクサ25bは、減算器25aの出力値を入力信号0として受け、また、幅カウンタ24からの計数値の出力Wに“−1”した値W−1とを入力信号1として受けて、減算器25aの出力値がマイナスの場合は入力信号1を、減算器25aの出力値が0以上の場合は入力信号0を、選択的に出力する。図32の場合、減算器25aは“0”の値を出力するので、マルチプレクサ25bは入力信号0を選択し、その内容たる値“0”を出力する。
下位ビット演算部25内の除算器25cは、マルチプレクサ25bの出力値と幅カウンタ24からの計数値の出力Wとを受けて、マルチプレクサ25bの出力値を値Wで除算した値を出力する。図32の場合、除算器25cは“0”÷“8”=“0/8”の値を出力する。この除算器25cの出力が、下位桁(図32では“下位ビット”と表示)となる。
また、マルチプレクサ26は、ゲージカウンタ23の計数値の出力Gの値を入力信号0として受け、また、ゲージカウンタ23からの計数値の出力Gに“+1”した値G+1を入力信号1として受けて、減算器25aの出力する信号maxが活性化している場合には入力信号1を、信号maxが非活性化している場合には入力信号0を、選択的に出力する。図32の場合、減算器25aは“0”の値を出力し、マイナス値ではないので、信号maxが非活性化している。よって、マルチプレクサ26は、ゲージカウンタ23の計数値の出力Gの値“9”を第4減算器20へと出力する。
第1レジスタ5には値“19”が保持されているため、第4減算器20は“19”−“9”=“10”の値を出力する。このとき、上下桁合成部6からの出力値は、“10+0/8”となる。この“10”との値は、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を示しており、このように、マルチプレクサ26および第4減算器20は、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定する演算部として機能する。
その後、立ち上がり検出ステートマシン22aは“WAIT_FS_LO”状態ST20に移行し、サンプリング信号Psの信号値FSがLowとなるまで待機する。そして、信号値FSがLowとなった後に、立ち上がり検出ステートマシン22aは再び“IDLE”状態ST11に移行して、次にサンプリング信号Psが活性化状態になるまで待機する。
また、図33のタイミングチャートは、Delay=7の場合のものである。この場合は、立ち上がり検出ステートマシン22aは、サンプリング信号Psの活性化(=Hi)に伴って“IDLE”状態ST11から“JAW_1ST”状態ST12に移行する。このとき、立ち上がり検出ステートマシン22aは、ゲージカウンタ23に対するイネーブル信号gauge_enを活性化(=Hi)し、ゲージカウンタ23は、これにより計数(アップカウント)を開始する。
“JAW_1ST”状態ST12においては、第4レジスタ21に保持された値pfd_edgeがHiであるのか、それともLowであるのかを判断する。図33のJAW_1STのパルス立ち上がり時点では、pfd_edgeの値はHiとなるので、立ち上がり検出ステートマシン22aは、“FIND_L0”状態ST13に移行して、pfd_edgeの値がLowとなるまで待機する。そして、pfd_edgeの値がLowに変化すれば、幅カウンタ24に対するイネーブル信号width_enを活性化(=Hi)して、立ち上がり検出ステートマシン22aは“FIND_H1”状態ST14に移行する。幅カウンタ24は、これにより計数(アップカウント)を開始する。図33の場合、JAW_1STのパルスから4パルス経過後にpfd_edgeの値がLowに変化するので、立ち上がり検出ステートマシン22aは、その次のJAW−VCO2のパルスの立ち上がりで“FIND_L0”状態ST13から“FIND_H1”状態ST14に移行する。
“FIND_H1”状態ST14においては、今度はpfd_edgeの値がHiとなるまで、待機する。図33の場合、pfd_edgeの値がLowに変化してから4パルス経過後に、再びHiに戻る(この時点で位相が一致する)ので、立ち上がり検出ステートマシン22aは、pfd_edgeの値をHiと検出して、第1レジスタ5に対するイネーブル信号base_captを活性化(=Hi)し、第1レジスタ5に、位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を保持させる(図33においては、値“21”が第1レジスタ5に保持されている)。また、このとき、立ち上がり検出ステートマシン22aは、ゲージカウンタ23に対するイネーブル信号gauge_enを非活性化(=Low)させる。そして、立ち上がり検出ステートマシン22aは“FIND_L2”状態ST15に移行する。
“FIND_L2”状態ST15においては、今度はpfd_edgeの値がLowとなるまで、待機する。図33の場合、pfd_edgeの値がHiに変化してから4パルス経過後に、再びLowに戻るので、このとき、立ち上がり検出ステートマシン22aは、幅カウンタ24に対するイネーブル信号width_enを非活性化(=Low)させる。そして、立ち上がり検出ステートマシン22aは“PFD_END”状態ST16に移行する。
図33においては、Delay=7の場合であるので、この時点でのゲージカウンタ23の計数値Gは“10”に達しており、また、幅カウンタ24の計数値Wは“8”に達している。よって、図33の場合、減算器25aは“8+1”−“10”=“−1”のマイナス値を出力する。よって、この場合、減算器25aは信号maxを活性化させる。
また、減算器25aがマイナス値を出力するので、下位ビット演算部25内のマルチプレクサ25bは、値W−1(=“8”−1=“7”)を除算器25cに出力する。そして、除算器25cは、“7”÷“8”=“7/8”の値を出力する。この除算器25cの出力が、下位桁となる。
また、マルチプレクサ26は、減算器25aからの信号maxが活性化しているので、ゲージカウンタ23の計数値の出力Gの値“10”に“+1”した値“11”を第4減算器20へと出力する。第1レジスタ5には値“21”が保持されているため、第4減算器20は“21”−“11”=“10”の値を出力する。このとき、上下桁合成部6からの出力値は、“10+7/8”となる。この“10”との値は、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を示している。
その後、立ち上がり検出ステートマシン22aは“WAIT_FS_LO”状態ST20に移行し、サンプリング信号Psの信号値FSがLowとなるまで待機する。そして、信号値FSがLowとなった後に、立ち上がり検出ステートマシン22aは再び“IDLE”状態ST11に移行して、次にサンプリング信号Psが活性化状態になるまで待機する。
また、図34のタイミングチャートは、Delay=3の場合のものである。この場合は、立ち上がり検出ステートマシン22aは、サンプリング信号Psの活性化(=Hi)に伴って“IDLE”状態ST11から“JAW_1ST”状態ST12に移行する。このとき、立ち上がり検出ステートマシン22aは、ゲージカウンタ23に対するイネーブル信号gauge_enを活性化(=Hi)し、ゲージカウンタ23は、これにより計数(アップカウント)を開始する。
“JAW_1ST”状態ST12においては、第4レジスタ21に保持された値pfd_edgeがHiであるのか、それともLowであるのかを判断する。図34のJAW_1STのパルス立ち上がり時点では、pfd_edgeの値はLowとなるので、立ち上がり検出ステートマシン22aは、“FIND_H3”状態ST17に移行して、pfd_edgeの値がHiとなる(この時点で位相が一致する)まで待機する。そして、pfd_edgeの値がHiに変化すれば、幅カウンタ24に対するイネーブル信号width_enを活性化(=Hi)し、また、第1レジスタ5に対するイネーブル信号base_captを活性化(=Hi)し、第1レジスタ5に、位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を保持させる(図34においては、値“16”が第1レジスタ5に保持されている)。また、このとき、立ち上がり検出ステートマシン22aは、ゲージカウンタ23に対するイネーブル信号gauge_enを非活性化(=Low)させる。そして、立ち上がり検出ステートマシン22aは“FIND_L4”状態ST18に移行する。
“FIND_L4”状態ST18においては、今度はpfd_edgeの値がLowとなるまで、待機する。図34の場合、pfd_edgeの値がHiに変化してから4パルス経過後に、再びLowに戻るので、立ち上がり検出ステートマシン22aは“FIND_H5”状態ST19に移行する。
“FIND_H5”状態ST19においては、今度はpfd_edgeの値がHiとなるまで、待機する。図34の場合、pfd_edgeの値がLowに変化してから4パルス経過後に、再びHiに戻るので、このとき、立ち上がり検出ステートマシン22aは、幅カウンタ24に対するイネーブル信号width_enを非活性化(=Low)させる。そして、立ち上がり検出ステートマシン22aは“PFD_END”状態ST16に移行する。
図34においては、Delay=3の場合であるので、この時点でのゲージカウンタ23の計数値Gは“6”に達しており、また、幅カウンタ24の計数値Wは“8”に達している。よって、図34の場合、減算器25aは“8+1”−“6”=“3”の値を出力する。よって、この場合、減算器25aは信号maxを非活性化させる。
また、減算器25aがマイナス値を出力しないので、下位ビット演算部25内のマルチプレクサ25bは、減算器25aの出力値W+1−G(=“3”)を除算器25cに出力する。そして、除算器25cは、“3”÷“8”=“3/8”の値を出力する。この除算器25cの出力が、下位桁となる。
また、マルチプレクサ26は、減算器25aからの信号maxが非活性化しているので、ゲージカウンタ23の計数値の出力Gの値“6”を第4減算器20へと出力する。第1レジスタ5には値“16”が保持されているため、第4減算器20は“16”−“6”=“10”の値を出力する。このとき、上下桁合成部6からの出力値は、“10+3/8”となる。この“10”との値は、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を示している。
その後、立ち上がり検出ステートマシン22aは“WAIT_FS_LO”状態ST20に移行し、サンプリング信号Psの信号値FSがLowとなるまで待機する。そして、信号値FSがLowとなった後に、立ち上がり検出ステートマシン22aは再び“IDLE”状態ST11に移行して、次にサンプリング信号Psが活性化状態になるまで待機する。
上記において、ゲージカウンタ23の出力Gに“+1”を行ったり、幅カウンタ24の出力Wに“+1”や“−1”を行ったりしているのは、Delay=0〜Delay=7の各場合において、算出値が正常な値となるように補正するためである。そして、ゲージカウンタ23の計数値Gは、サンプリング信号Psの活性化時点から立ち上がり検出ステートマシン22aで検出された位相一致時点までの間のJAW−VCO2の出力パルス信号の発振に対応して計数が行われた値となっている。また、幅カウンタ22の計数値Wは、立ち上がり検出ステートマシン22aで検出されたBASE−VCO1およびJAW−VCO2の出力パルス信号の位相一致時点から、次に両パルス信号の位相一致時点までの間のJAW−VCO2の出力パルス信号の発振、または、立ち上がり検出ステートマシン22aで検出されたBASE−VCO1およびJAW−VCO2の出力パルス信号の位相が互いに反転して一致した時点から、次に両パルス信号の位相が互いに反転して一致する時点までの間のJAW−VCO2の出力パルス信号の発振に対応して計数が行われた値となっている。
幅カウンタ22について具体的には、図32および図33の場合のように“FIND_L0”状態ST13から、幅カウンタ22を動作させる場合には、pfd_edgeの立下りから次の立下りまでの期間が、最も早く周期比A:BのAの値を発見することができる。このAの値が、小数部分の分母となる。また、図34の場合のように“FIND_H3”状態ST17から、幅カウンタ22を動作させる場合には、pfd_edgeの立上りから次の立上りまでの期間が、最も早く周期比A:BのAの値を発見することができる。
ここで、例えば図33においてサンプリング信号Psが1/8の位相だけ遅れて活性化した場合を考えると、JAW−VCO2の出力パルス全体が、図33において1/8の位相だけ遅れることとなる。この場合、位相一致する時点は、図33のJAW_8THのパルスに早まり、イネーブル信号base_captの位置が周期Tjawだけ早まって、第1レジスタ5に保持される値が“21”ではなく“20”となる。また、ゲージカウンタ23に保持される値が“10”ではなく“9”となる。そのため、下位ビットの算出値は、図32の場合と同様、“0/8”となる。
また、第1レジスタ5には値“20”が保持されているため、第4減算器20は“20”−“9”=“11”の値を出力する。
図33においてジッターがない場合の上下桁合成部6の出力値は“10+7/8”であり、このサンプリング信号Psが1/8の位相だけ遅れて活性化した場合の上下桁合成部6の出力値は“11+0/8”である。よって、ジッターが生じた場合であっても、その検出値に大きな乖離が生じてしまうことはない。
本実施の形態に係る発明によれば、下位桁算出部は、検出部(第4レジスタ21および立ち上がり検出ステートマシン22a)、ゲージカウンタ23および幅カウンタ24、並びに、下位ビット演算部25を備え、下位ビット演算部25は、サンプリング周期ごとに、ゲージカウンタ23の計数値Gを幅カウンタ24の計数値Wで除することにより、位相差を算出する。ゲージカウンタ23の計数値Gを幅カウンタ24の計数値Wで除した値は、周期Tbase未満のV−F変換値に相当するため、BASE−VCO1の周期TbaseとJAW−VCO2の周期Tjawとがそれぞれどのような値であっても、正しく位相差を算出することができる。
また、本実施の形態に係る発明によれば、上位桁算出部が検出部(第4レジスタ21および立ち上がり検出ステートマシン22a)と演算部(マルチプレクサ26および第4減算器20)とを備え、検出部は、BASE−VCO1およびJAW−VCO2の出力パルス信号の位相が一致する時点を検出したときに、第1レジスタ5に位相一致時点から周期Tjawの半周期ずれた時点におけるカウンタ4の計数値を保持させ、演算部は、第1レジスタ5により保持されたカウンタ4の計数値、および、下位桁算出部により算出された位相差に基づいて、サンプリング信号Psの活性化時点におけるBASE−VCO1の出力パルス信号のパルス数を特定する。よって、回路規模の大きなシフトレジスタを用いることなく、小規模な回路構成で本発明を構成可能である。
なお、立ち上がり検出ステートマシン22aは、上記の図31の状態遷移図の手順を実現する回路であれば、いかなるものでもよい。また、図31の状態遷移図の手順に限定されるものではなく、pfd_edgeの値がLowからHiに立ち上がる時点を特定できる構成であればよい。
また、第4レジスタ21もレジスタに限るものではなく、サンプル&ホールド回路等、BASE−VCO1の出力値を保持可能なものであればよい。
なお、本実施の形態では、周期Tbaseの値および周期差Tdiffの値は任意の値でかまわないが、算出される下位ビット(下位桁)の最大値が二のべき乗から遠ざかるほど、算術エラーが発生しやすくなる。また、Aの値が正の整数ではない場合、周期Tbase内が均等に計測されていないことになり、下位ビットの出力値に偏りが発生する。
実施の形態4に係る発明におけるディレイ追加装置等により偏りを少なくすることはできるが、消去させることはできない。しかしながら、これら2つの誤差は下位ビットのビット数を増加させる、すなわちAの値を大きくするほど、減少する。
本実施の形態に係る発明を適用する場合には、本実施の形態に係る発明が持つこれらの本質的な誤差が、必要な出力ビット精度以下になるようにAの大きさを決定しなくてはならない。