(57)【特許請求の範囲】
【請求項１】
直列接続された第１から第ｎ（ただしｎは３以上の奇数）の論理反転手段と、直列接続された前記各論理反転手段の内で奇数番目となる各論理反転手段からの出力点を選択ポイントとしたうちで一の選択ポイントを選択し、第１の論理反転手段に供給して論理反転ループを形成する選択手段と、前記選択手段の選択ポイントの切換制御を行なうことによって論理反転ループでの発振周波数を可変する発振周波数可変制御手段とを備え、
前記発振周波数可変制御手段においては、前記選択手段における選択ポイントの１回の切換制御について、前記切換が実行されるまでの間に矛盾状態の伝ぱんがＺ段進むとし、各論理反転手段からの出力が同一論理状態となっている段数がＹ段であるとした場合、現在の選択ポイントからみて矛盾状態の伝ぱんの進む方向での切換ポイントに対する切換可能な段数ＸＦと、矛盾状態の伝ぱんの進む方向とは逆方向の切換ポイントに対する切換可能な段数ＸＲが、ＸＦ≦ＺおよびＸＲ≦Ｙ−Ｚによって制限されるように設定されていることを特徴とするリングオシレータ。
【請求項２】
前記発振周波数可変制御手段は、前記選択手段において選択すべき選択ポイントを所定ビット数の２進数で表現し、この２進数を選択制御信号にデコードして前記選択手段に供給する構成とされるとともに、前記２進数としては、表現する数値が１変化するときに１ビットのみが反転するグレイコードを用いるように構成されたことを特徴とする請求項１に記載のリングオシレータ。
【請求項３】
入力信号の位相誤差情報に応じて周波数可変発振回路部から出力される信号の周波数が制御されるＰＬＬ回路において、前記周波数可変発振回路部は、直列接続された第１から第ｎ（ただしｎは３以上の奇数）の論理反転手段と、直列接続された前記各論理反転手段の内で奇数番目となる各論理反転手段からの出力点を選択ポイントとしたうちで一の選択ポイントを選択し第１の論理反転手段に供給して論理反転ループを形成する選択手段と、入力信号の位相誤差情報に応じて前記選択手段の選択ポイントの切換制御を行なうことによって論理反転ループでの発振周波数を可変する発振周波数可変制御手段とを備え、
前記発振周波数可変制御手段は、前記選択手段において選択すべき選択ポイントを所定ビット数の２進数で表現し、この２進数を選択制御信号にデコードして前記選択手段に供給する構成とされるとともに、前記２進数としては、表現する数値が１変化するときに１ビットのみが反転するグレイコードを用いるように構成されて形成されるリングオシレータにより形成されていることを特徴とするＰＬＬ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は発振周波数を可変としたリングオシレータ及びそれを利用したＰＬＬ（フェイズ・ロックド・ループ）回路に関するものである。
【０００２】
【従来の技術】
例えば磁気テープや光磁気ディスクなどの記録媒体に記録したデジタルデータを再生する場合などには、記録媒体から読み出した情報から再生データを抽出するために、ビット抜き出しのための再生クロック（いわゆるビットクロック信号）が必要とされる。このような、読出情報に同期したクロックを生成するためには、一般にＰＬＬ回路が用いられる。
【０００３】
ＰＬＬ回路としては従来よりアナログ回路として形成されることが多かったが、近年ではＰＬＬ回路のデジタル化も進んでいる。デジタルＰＬＬ回路は、位相誤差検出部、誤差信号のフィルタリング処理部、クロック発振回路部をデジタル化することで実現される。
【０００４】
【発明が解決しようとする課題】
ところがＰＬＬ回路のデジタル化に際しては、発振回路部のデジタル化が困難となることがあり、その実現が難しいという問題があった。
【０００５】
例えば発生される再生クロックに対し十分高い周波数のマスタークロックを用意し、そのマスタークロックを適宜分周して再生クロックを作る発振回路がよく用いられるが、再生クロックの周波数が高くなるものでは、それに対応できるだけマスタークロックの周波数も高くしなければならない。通常、マスタークロックの周波数は再生クロックのそれに対して数倍から数１０倍が必要である。このため、再生クロックの周波数が高くなるとマスタークロックとして利用できる周波数の限界が来ることになり、これによりＰＬＬ回路のデジタル化が困難となる。
【０００６】
このような事情から、アナログＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｅｄ  Ｏｓｃｉｌａｔｏｒ  ）のような電圧で発振周波数を制御するものではなく、デジタルコードで発振周波数をコントロールできる発振器であって、マスタークロック分周によらないで発振出力を得ることのできるデジタル発振器が求められていた。
【０００７】
【課題を解決するための手段】
本発明はこのような事情に鑑みて、デジタル発振器として好適なリングオシレータ及びそのリングオシレータを用いたＰＬＬ回路を実現することを目的とする。
【０００８】
このためリングオシレータとして、直列接続された第１から第ｎ（ただしｎは３以上の奇数）の論理反転手段と、直列接続された前記各論理反転手段の内で奇数番目となる各論理反転手段からの出力点を選択ポイントとしたうちで一の選択ポイントを選択し、第１の論理反転手段に供給して論理反転ループを形成する選択手段と、前記選択手段の選択ポイントの切換制御を行なうことによって論理反転ループでの発振周波数を可変する発振周波数可変制御手段とを備え、前記発振周波数可変制御手段においては、前記選択手段における選択ポイントの１回の切換制御について、前記切換が実行されるまでの間に矛盾状態の伝ぱんがＺ段進むとし、各論理反転手段からの出力が同一論理状態となっている段数がＹ段であるとした場合、現在の選択ポイントからみて矛盾状態の伝ぱんの進む方向での切換ポイントに対する切換可能な段数ＸＦと、矛盾状態の伝ぱんの進む方向とは逆方向の切換ポイントに対する切換可能な段数ＸＲが、ＸＦ≦ＺおよびＸＲ≦Ｙ−Ｚによって制限されるように設定されている。
【０００９】
また、前記発振周波数可変制御手段は、前記選択手段において選択すべき選択ポイントを所定ビット数の２進数で表現し、この２進数を選択制御信号にデコードして前記選択手段に供給する構成とされるとともに、前記２進数としては、表現する数値が１変化するときに１ビットのみが反転するグレイコードを用いるように構成されている。
【００１０】
さらに、ＰＬＬ回路として、入力信号の位相誤差情報に応じて周波数可変発振回路部から出力される信号の周波数が制御されるＰＬＬ回路において、前記周波数可変発振回路部は、直列接続された第１から第ｎ（ただしｎは３以上の奇数）の論理反転手段と、直列接続された前記各論理反転手段の内で奇数番目となる各論理反転手段からの出力点を選択ポイントとしたうちで一の選択ポイントを選択し第１の論理反転手段に供給して論理反転ループを形成する選択手段と、入力信号の位相誤差情報に応じて前記選択手段の選択ポイントの切換制御を行なうことによって論理反転ループでの発振周波数を可変する発振周波数可変制御手段とを備え、前記発振周波数可変制御手段は、前記選択手段において選択すべき選択ポイントを所定ビット数の２進数で表現し、この２進数を選択制御信号にデコードして前記選択手段に供給する構成とされるとともに、前記２進数としては、表現する数値が１変化するときに１ビットのみが反転するグレイコードを用いるように構成されて形成されるリングオシレータにより形成されている。
【００１１】
【発明の実施の形態】
以下、次の順序のとおり、リングオシレータの原理を説明した後、本発明の実施の形態となるリングオシレータの各種例及びＰＬＬ回路例を説明していく。
１．リングオシレータの原理
２．発振周波数可変リングオシレータ
３．発振オン／オフ機能付の発振周波数可変リングオシレータ
４．発振周波数可変リングオシレータにおける切換段数制限の付加
５．グレイコードで周波数制御を行なう発振周波数可変リングオシレータ
６．発振周波数可変リングオシレータを用いたＰＬＬ回路
【００１２】
１．リングオシレータの原理
まず図１によりリングオシレータの原理を説明する。リングオシレータは基本的には奇数個のインバータがリング状に直列接続されて形成される。
図１（ａ）は５個のインバータＩＶ１〜ＩＶ５が直列接続されてループが形成されているリングオシレータの例を示している。
【００１３】
既知のとおりインバータは入出力が異なる論理状態（例えば入力が『Ｈ』で出力が『Ｌ』）で安定となるが、図１（ａ）のように奇数個のインバータが直列にループ接続された場合は、常にどこかのインバータで入出力が同じ論理状態とならざるを得ない。このような状態を本明細書では矛盾状態とよぶこととする。
【００１４】
あるインバータが矛盾状態となると、そのインバータは出力される論理状態を反転させることで安定となるが、これによって同時に、次に接続されたインバータが矛盾状態となる。リングオシレータとは、この動作により矛盾状態が順次推移していくことで、確実に発振が約束された回路である。
その発振周期は、１つのインバータの入力変化から出力変化までの時間遅延をτｉｎｖ  とすると、Ｎ段（図１の例は５段）のリングオシレータによる発振周期は２Ｎτｉｎｖ  となる。ただし、簡単のため、インバータの出力が『Ｈ』→『Ｌ』となるときの遅延時間とインバータの出力が『Ｌ』→『Ｈ』となるときの遅延時間は同じτｉｎｖ  となるとしている。
【００１５】
図１の例で説明する。各インバータＩＶ１〜ＩＶ５についての入出力▲１▼〜▲５▼の論理状態は図１（ｂ）に示される。
まずインバータＩＶ１に着目すると、インバータＩＶ１の入力▲１▼が『Ｌ』となっている時点ではインバータＩＶ１の出力▲２▼は『Ｈ』であり安定しているが、入力▲１▼が『Ｈ』となることでインバータＩＶ１が矛盾状態となる。
【００１６】
この矛盾状態はインバータＩＶ１の出力▲２▼が『Ｌ』となることで解消されるが、この反転のための遅延時間が図１（ｂ）に示すτｉｎｖ  となる。
インバータＩＶ１の出力▲２▼（＝インバータＩＶ２の入力▲２▼）が『Ｌ』となることでつづいてインバータＩＶ２が矛盾状態となるが、τｉｎｖ  後にインバータＩＶ２の出力▲３▼が反転され、インバータＩＶ２が安定する。そしてインバータＩＶ３が矛盾状態となる。
【００１７】
つまり▲１▼〜▲５▼の各点での論理状態は、矛盾状態の伝ぱんが一巡した時点で変化することになり、従って『Ｈ』又は『Ｌ』が継続する幅（時間）は、図１のように５段のインバータＩＶ１〜ＩＶ５による回路では５τｉｎｖ  となる。
例えば▲１▼の点から信号を取り出すと、図１（ｂ）の▲１▼の信号が得られ、つまり２×５τｉｎｖ  の周期の信号（クロック）を得ることができる。
【００１８】
このようなリングオシレータを用い、以下説明する実施の形態例では、ループに含まれるインバータの段数を変化させることで、可変周波数発生器を実現するものである。
即ち、１段のインバータによるループ、３段のインバータによるループ、５段のインバータによるループ、７段のインバータによるループなどのように、インバータのリング接続状態を変化させ、発生されるクロック信号の周期を、２×τｉｎｖ  、２×３τｉｎｖ  、２×５τｉｎｖ  、２×７τｉｎｖ  などに変化させることで、可変周波数発生器を実現する。
【００１９】
２．発振周波数可変リングオシレータ
本発明の実施の形態の１つとして図２に発振周波数を４段階に切り換えることのできるリングオシレータを示す。
【００２０】
図２のリングオシレータは、９個のインバータＩＶ１〜ＩＶ９が直列接続されている。なお説明上、インバータＩＶ２，ＩＶ３をインバータグループＧＰ２、インバータＩＶ４，ＩＶ５をインバータグループＧＰ３、インバータＩＶ６，ＩＶ７をインバータグループＧＰ４、インバータＩＶ８，ＩＶ９をインバータグループＧＰ５と呼ぶこととする。
各インバータＩＶ１〜ＩＶ９の入力変化から出力変化までの時間遅延はτｉｎｖ  とし、従って各インバータグループＧＰ２〜ＧＰ５についてみると、２つのインバータの論理反転が行なわれる時の遅延時間は２τｉｎｖ  となる。
【００２１】
各インバータグループＧＰ２〜ＧＰ５の出力点は、それぞれセレクタ１の各端子ａ，ｂ，ｃ，ｄに接続されている。セレクタ１は、セレクタ制御部２からの制御に基づいて、端子ａ，ｂ，ｃ，ｄの４つの選択ポイントの内の１つを選択し、その接続された端子をインバータＩＶ１の入力としている。
従って、端子ａが選択された場合は、インバータＩＶ１〜ＩＶ３による３個のインバータによるループが形成され、また端子ｂが選択された場合は、インバータＩＶ１〜ＩＶ５による５個のインバータによるループが形成される。端子ｃ，端子ｄが選択された場合は、それぞれ７個、９個のインバータによるループが形成される。
【００２２】
このリングオシレータにおいてインバータＩＶ１の出力を端子３からリングオシレータによる発振出力（クロック信号）ＳＯＳＣ  として取り出すとすると、セレクタ１の接続状態により、発振出力ＳＯＳＣ  としては図３（ａ）〜（ｄ）に示すような４種類の周波数のいずれかが得られることになる。
【００２３】
即ち、セレクタ１で端子ａが選択されているときは、インバータＩＶ１〜ＩＶ３によるループで発振が発生するため、２×３τｉｎｖ  の周期、即ち図３（ａ）のように６τｉｎｖ  の周期のクロック信号が発振出力ＳＯＳＣ  として得られる。
またセレクタ１で端子ｂが選択されているときは、インバータＩＶ１〜ＩＶ５によるループで発振が発生するため、図３（ｂ）のように１０τｉｎｖ  の周期のクロック信号が発振出力ＳＯＳＣ  として得られる。さらにセレクタ１で端子ｃが選択されているときは図３（ｃ）のように１４τｉｎｖ  の周期のクロック信号が、またセレクタ１で端子ｄが選択されているときは図３（ｄ）のように１８τｉｎｖ  の周期のクロック信号が、それぞれ発振出力ＳＯＳＣ  として得られることになる。
【００２４】
つまりこのリングオシレータでは、セレクタ制御部２がセレクタ１における接続端子を可変制御することで、出力されるクロック信号ＳＯＳＣ  の周波数を４段階に可変制御できることになる。
【００２５】
３．発振オン／オフ機能付の発振周波数可変リングオシレータ
次に、クロック信号ＳＯＳＣ  の周波数を６４段階に切り換えることのできるリングオシレータの例において、さらに発振動作のオン／オフ制御を可能とする例を図４、図５で説明する。また、この例では図２の例でセレクタ１及びセレクタ制御部２となる部位として、より具体的な回路例をあげる。
【００２６】
この場合、１２７個のインバータＩＶ１〜ＩＶ１２７が直列接続されている。この例でも、インバータＩＶ２以降の２個づつのインバータについて、インバータグループＧＰ２〜ＧＰ６４と呼ぶこととする。
インバータＩＶ１の前段にはオアゲートＯＲ１が配される。このオアゲートＯＲ１はセレクタ１の出力と、発振動作をオン／オフ制御するためのコントロール信号ＳＯＮ／ＯＦＦが供給され、その論理和出力をインバータＩＶ１に供給する。
【００２７】
インバータＩＶ１及びインバータグループＧＰ２〜ＧＰ６４の各出力点は、それぞれセレクタ１内のアンドゲートＡ１〜Ａ６４に接続される。
各アンドゲートＡ１〜Ａ６４の出力はオアゲートＯＲ２に供給され、オアゲートＯＲ２の出力はセレクタ１の出力としてオアゲートＯＲ１の一端に供給される。
【００２８】
各アンドゲートＡ１〜Ａ６４に対しては、それぞれデコーダ６からのセレクト信号ＳＬ１〜ＳＬ６４が供給されるように接続されており、このセレクト信号ＳＬ１〜ＳＬ６４としては、そのうちの１つのラインだけが『Ｈ』レベルとなり、他の６３個の信号は『Ｌ』レベルとなるものである。つまり、セレクト信号ＳＬ１〜ＳＬ６４のうちの１つの『Ｈ』レベルの信号により、アンドゲートＡ１〜Ａ６４の内の１つ、即ちインバータＩＶ１、インバータグループＧＰ２〜ＧＰ６４の各出力点のうちの１つが選択され、その選択された出力点（選択ポイント）の論理状態が、オアゲートＯＲ２を介してオアゲートＯＲ１に供給されることになる。
【００２９】
従ってセレクト信号ＳＬ１〜ＳＬ６４によりアンドゲートＡ１〜Ａ６４のうちの１つを選択することで、リングオシレータとしてのループ内に存在するインバータの数を１個、３個、５個・・・・・・１２５個、１２７個と、６４段階に切り換えることができる。
【００３０】
この例では、各インバータグループＧＰ２〜ＧＰ６４について、２つのインバータの論理反転が行なわれる時の遅延時間をτｉｎｖ  とし、またオアゲートＯＲ１及びインバータＩＶ１での論理反転の際の遅延時間をτｂｉａｓとする。
【００３１】
このリングオシレータにおいてはインバータＩＶ１の出力を端子３からリングオシレータによる発振出力（クロック信号）ＳＯＳＣ  として取り出すようにしている。
また、インバータＩＶ１の出力は、フリップフロップＦＦ１〜ＦＦ６に対するラッチクロックとしても用いられている。
【００３２】
セレクタ１では６４個のアンドゲートＡ１〜Ａ６４のうちの１つが選択されることにより、リングオシレータのループ内のインバータの数を６４段階に切り換えることができるが、この６４段階の内のどれを選択するかは、段数設定部５が設定する。この段数設定部５、フリップフロップＦＦ１〜ＦＦ６、デコーダ６が、図２の例におけるセレクタ制御部２に相当することになる。
【００３３】
段数設定部５は、６４段階の切換のうちで選択すべき段数（１〜６４）を、例えば６ビットのバイナリコード（００００００〜１１１１１１）で発生させる。この６ビットの各ビットデータは、それぞれフリップフロップＦＦ１〜ＦＦ６のＤ入力とされる。
フリップフロップＦＦ１〜ＦＦ６は、インバータＩＶ１の出力（つまりクロック信号ＳＯＳＣ  ）の立上りをトリガとして段数設定部５からの入力値をラッチし、デコーダ６に対して出力する。デコーダ６は入力された６ビット値に応じたセレクト信号ＳＬ１〜ＳＬ６４を発生させる。
【００３４】
例えば、リングオシレータの６４段階の切換における第１段目を選択させる場合は、段数設定部５は『００００００』というコードを出力する。この『００００００』のコードはクロック信号ＳＯＳＣ  の立上りをトリガとしてデコーダ６に供給されるが、デコーダ６は、これに応じて各セレクト信号ＳＬ１〜ＳＬ６４の値を、『１』『０』『０』『０』・・・・『０』とデコードして出力する。これによりアンドゲートＡ１が選択され、インバータＩＶ１の出力がセレクタ１を介してオアゲートＯＲ１に戻されることになる。つまり、この場合ループ内にインバータが１つとされたリングオシレータが形成される。
【００３５】
また、第２段目を選択させる場合は、段数設定部５は『０００００１』というコードを出力する。これに応じてデコーダ６は、各セレクト信号ＳＬ１〜ＳＬ６４の値を、『０』『１』『０』『０』・・・・『０』として出力する。これによりアンドゲートＡ２が選択され、インバータＩＶ３の出力がセレクタ１を介してオアゲートＯＲ１に戻されることになる。つまり、この場合ループ内にインバータが３つとされたリングオシレータが形成される。
さらに、段数設定部５が『１１１１１１』というコードを出力した場合は、デコーダ６は、各セレクト信号ＳＬ１〜ＳＬ６４の値を、『０』『０』『０』『０』・・・・『０』『１』とし、アンドゲートＡ６４を選択させる。この場合ループ内にインバータが１２７個とされたリングオシレータが形成される。
【００３６】
このようなリングオシレータでは、出力されるクロック信号ＳＯＳＣ  の周期Ｔは、６４段のうちのＮ段目が選択されているとき（つまりアンドゲートＡ（Ｎ）が選択されているとき）に、図５に示すように、２｛τｂｉａｓ＋（Ｎ−１）τｉｎｖ  ｝となる。
【００３７】
アンドゲートＡ１が選択されたとき（Ｎ＝１のとき）がクロック信号ＳＯＳＣ  の周期Ｔが最も短い周期Ｔｍｉｎ  となり、周期Ｔｍｉｎ  ＝２τｂｉａｓのクロック信号ＳＯＳＣ  が得られる。
また、アンドゲートＡ６４が選択されたとき（Ｎ＝６４のとき）がクロック信号ＳＯＳＣ  の周期Ｔが最も長い周期Ｔｍａｘ  となり、周期Ｔｍａｘ  ＝２（τｂｉａｓ＋６３τｉｎｖ  ）のクロック信号ＳＯＳＣ  が得られる。
即ちクロック信号ＳＯＳＣ  としては、周期Ｔｍｉｎ  から周期Ｔｍａｘ  までの６４段階の信号を得ることができ、このリングオシレータを出力されるクロック信号ＳＯＳＣ  として周波数を６４段階に切り換えることができることになる。
【００３８】
ここで本例の場合、オアゲートＯＲ１の一端には発振動作をオン／オフ制御するためのコントロール信号ＳＯＮ／ＯＦＦが供給されるように構成されている。
コントロール信号ＳＯＮ／ＯＦＦが『Ｌ』レベルとされているときは、オアゲートＯＲ１の出力はセレクタ１の出力の論理状態となる。従って、奇数個のインバータのループにおいて矛盾状態が伝ぱんすることで発振が行なわれるというリングオシレータの動作が実行されることになる。
【００３９】
ところが、コントロール信号ＳＯＮ／ＯＦＦが『Ｈ』レベルとなっている期間は、オアゲートＯＲ１の出力は常に『Ｈ』となり、インバータＩＶ１は常に『Ｈ』入力『Ｌ』出力の状態で安定していることになる。つまり奇数個のインバータのループにおいての矛盾状態の伝ぱんがオアゲートＯＲ１で遮断されてしまい、これによってリングオシレータとしての発振出力は停止される。このときクロック信号ＳＯＳＣ  は常に『Ｌ』レベルとなり、即ちクロック出力が停止された状態となる。
【００４０】
このように本例のリングオシレータでは、コントロール信号ＳＯＮ／ＯＦＦを与えることにより、クロック信号の出力の実行状態／停止状態を任意に設定することができるようにされているものである。
【００４１】
また、このように発振動作をオン／オフ制御できるということは、リングオシレータに安定した発振動作を実行させることができるという利点も生ずる。
図１で説明したリングオシレータの原理から理解されるように、リングオシレータでは奇数個のインバータのうちで１つの矛盾状態が伝ぱんすることにより安定した発振が得られるものである。ところが、矛盾状態となるインバータがループ内で奇数個発生しまうと、意図しない周期の一定でない奇数倍の周波数が出力されてしまう可能性がある。
【００４２】
多くの場合は、矛盾状態が複数個発生しても、各矛盾状態の伝ぱん速度に誤差があるため、或る時点で２つの矛盾状態がぶつかって１つの矛盾状態に収束することとなるが、安定して奇数個の矛盾状態が継続する危険性もある。また、仮に殆どの場合、自然に収束されるものとしても、それが１つの矛盾状態に収束されるまでは出力クロックが不安定な周波数状態であることにかわりわない。
このような奇数個の矛盾状態が存在することは、例えば電源投入時などにおこりやすい。
【００４３】
そこで本例のように発振のオン／オフ制御を可能とした場合は、一度発振を停止させて各インバータの入出力が安定した時点で発振をオンとするようにすれば、矛盾状態は確実に１つしか発生しないこととなり、安定した発振動作を実現することができる。即ちコントロール信号ＳＯＮ／ＯＦＦを発振のリセット／スタートのトリガとして用いることで、本例のリングオシレータを高性能な可変周波数発生器とすることができる。
【００４４】
なお、図４ではオアゲートＯＲとインバータＩＶ１を用いた構成を示したが、このオアゲートＯＲとインバータＩＶ１に代えて、これらの機能を兼なたノア（ＮＯＲ）ゲートを用いても良いことはいうまでもない。また当然ながら、同様の発振オン／オフ制御は、負論理のＮＯＲゲート（＝正論理のＮＡＮＤゲート）を用いても実現できる。この場合はコントロール信号ＳＯＮ／ＯＦＦが『Ｈ』で発振、『Ｌ』で発振停止となる。
【００４５】
さらに、このような発振オン／オフの制御をインバータＩＶ１の部位で行なうようにしたが、インバータグループＧＰ２〜ＧＰ６４の適切な箇所で行なうようにしてもよい。
また、本例ではセレクタ１をアンドゲートＡ１〜Ａ６４及びオアゲートＯＲ２で形成し、またそれに応じたセレクタ信号ＳＬ１〜ＳＬ６４についての例をあげが、セレクタ１はもちろん他のロジック回路等でも形成できる。
【００４６】
４．発振周波数可変リングオシレータにおける切換段数制限の付加
上述の図２の例及び図４の例として、段数切換により発振周波数を可変できるリングオシレータについて説明してきたが、ここでは、これらのようなリングオシレータにおいて、段数切換を行なう場合に好適な動作について述べる。
【００４７】
図６は、発振周波数を１０段階に切り換えることのできるリングオシレータをモデルとしている。即ち、１９個のインバータが直列接続され、奇数番目のインバータの出力点を任意に選択できる構成としたものである。
図６（ａ）〜（ｉ）に示すの１０個の『ます』がそれぞれ１段の選択ポイントを示しており、図２、図４での説明に準じて、１ます目はインバータＩＶ１、２ます目〜１０ます目はインバータグループＧＰ２〜ＧＰ１０に相当するとする。また、ます内に斜線が付されているところは、インバータＩＶ１もしくはインバータグループＧＰ２〜ＧＰ１０の出力が『Ｈ』となっており、斜線を付していないところは出力が『Ｌ』となっているとする。矛盾状態となった部位は『Ｍ』で示し、この『Ｍ』が付されている部位は、矛盾状態が発生し、出力論理状態が反転したとして示している。
【００４８】
図６（ａ）〜（ｉ）は１０段のうちの５段目が選択されてループが形成されている状態を示している。
例えば図４において説明した発振オフにより、インバータＩＶ１及びインバータグループＧＰ２〜ＧＰ１０出力が『Ｌ』にリセットされた時点で、インバータＩＶ１及びインバータグループＧＰ２〜ＧＰ５によるリングオシレータループを形成し、発振を開始させたとする。
【００４９】
まず、インバータグループＧＰ５の出力が『Ｌ』であることにより、インバータＩＶ１が矛盾状態となり、図６（ａ）のように、インバータＩＶ１の出力が『Ｈ』に反転する。続いて図６（ｂ）のように、インバータグループＧＰ２が矛盾状態となり、インバータグループＧＰ２の出力が『Ｈ』に反転する。さらに続いて図６（ｃ）のように、インバータグループＧＰ３が矛盾状態となり、インバータグループＧＰ３の出力が『Ｈ』に反転する。
このように矛盾状態の伝ぱんが続き、図６（ｄ）ではインバータグループＧＰ５が矛盾状態となり、その出力が『Ｈ』に反転した状態が示されている。
【００５０】
これに続く時点では、図６（ｅ）のようにインバータグループＧＰ６が矛盾状態となってその出力が『Ｈ』に反転するが、ループはインバータＩＶ１及びインバータグループＧＰ２〜ＧＰ５で形成されている状態であるため、インバータＩＶ１も矛盾状態となり、インバータＩＶ１の出力が『Ｌ』になる。
続いて、同様に矛盾状態が伝ぱんし、図６（ｆ）・・・・（ｇ）のように移行し、図６（ｈ）のようにインバータグループＧＰ５が矛盾状態となってその出力が『Ｌ』となった次の時点では、再びインバータＩＶ１が矛盾状態となり、その出力が『Ｈ』となる。
【００５１】
このような状態が繰り返されることにより、インバータＩＶ１及びインバータグループＧＰ２〜ＧＰ５で形成されるループにより、或る周波数の信号が安定して発生されることになる。
図６（ｅ）以降では矛盾状態が２か所発生しているが、発振ループ内ではあくまで矛盾状態は１か所であるため問題はない。
【００５２】
ここで、発振周波数の切換を行なうことを考える。図４の回路例では、インバータＩＶ１の出力がクロック信号ＳＯＳＣ  とされ、かつフリップフロップＦＦ１〜ＦＦ６のトリガとされていることに準じて、この場合も、切換動作はインバータＩＶ１の出力が立ち上がった時点をトリガとして行なわれると仮定する。即ち図６（ｉ）に示したような時点で切換動作が開始される。
【００５３】
切換トリガ（インバータＩＶ１の出力の立ち上がり）が発生してから、実際にセレクタ１の切換が実行されるまではタイムラグが生ずることになる。即ち図４でいえばデコーダ６での処理時間などである。
このタイムラグの時間内に、矛盾状態の伝ぱんは２段階進むと仮定する。
【００５４】
この仮定の上で、図６（ｉ）の状態、つまり第５段目でのループ接続状態から、図７（ａ）に示すように第９段目でのループ接続状態に切り換えることを考える。
図６（ｉ）の状態では矛盾状態がインバータＩＶ１とインバータグループＧＰ６に発生しているが、図７（ａ）のように切換が実行された時点で矛盾状態が２段階伝ぱんしていたとすると、その時点では図７（ａ）に示すようにインバータグループＧＰ３，ＧＰ８が矛盾状態となっており、さらに第９段目の接続によりインバータグループＧＰ９の出力（Ｈ）が、その時点で出力ＨであったインバータＩＶ１に入力されることで、インバータＩＶ１も矛盾状態となって、出力はＬレベルに反転する。
【００５５】
つまり、発振ループ内に３つの矛盾状態が発生していることになってしまい、これが、図７（ｂ）（ｃ）のように伝ぱんすることで、クロック信号ＳＯＳＣ  、即ちインバータＩＶ１の出力は意図しない周波数の信号となってしまう。このため、９段のループにより発生させるべき周波数のクロックが得られないことになる。
【００５６】
一方、同様の仮定の上で、図６（ｉ）の状態、つまり第５段目でのループ接続状態から、図８（ａ）に示すように第７段目でのループ接続状態に切り換える場合を考える。
【００５７】
図６（ｉ）の状態では矛盾状態がインバータＩＶ１とインバータグループＧＰ６に発生しているが、図８（ａ）のように切換が実行された時点で矛盾状態が２段階伝ぱんしていたとして、その時点では図８（ａ）に示すようにインバータグループＧＰ３，ＧＰ８が矛盾状態となっており、つまり、インバータＩＶ１からインバータグループＧＰ７までのループ内においては、矛盾状態はインバータグループＧＰ３のみである。また第７段目の接続によりインバータグループＧＰ７の出力（Ｌ）が、その時点で出力ＨであったインバータＩＶ１に入力されるが、インバータＩＶ１の安定状態は変わらない。
【００５８】
従って、その後は図８（ｂ）・・・・（ｃ）（ｄ）（ｅ）・・・・として示すように矛盾状態の伝ぱんが行なわれ、ループ内の１つの矛盾状態により、クロック信号ＳＯＳＣ  、即ちインバータＩＶ１の出力は意図していたとおりの周波数の信号となる。即ち出力されるクロックの周波数の切換は適正に行なわれたことになる。
【００５９】
以上の説明から、出力周波数を切り換える際には、切り換える段数の制限を設けることが適当であることが理解される。
この制限は次のようになる。
図４のようなリングオシレータで、切換のトリガがかかった時点から実際にセレクタ１での切換が実行されるまでの時間をΔｔとし、また、このΔｔ時間には、矛盾状態の伝ぱんがＺ段進むとする。
また、図６（ｉ）に示すように出力が同一論理状態となっている段数はＹ段であるとする。
【００６０】
このような場合に、現在の接続ポイントから切り換えても良い段数ＸＦ，ＸＲは次のようになる。段数ＸＦとは、現在の接続ポイントからみて、矛盾状態の伝ぱんの進む方向での切換ポイントに対する切換可能な段数、また段数ＸＲとは、現在の接続ポイントからみて、矛盾状態の伝ぱんの進む方向とは逆方向の切換ポイントに対する切換可能な段数である。
ＸＦ≦Ｚ
ＸＲ≦Ｙ−Ｚ
【００６１】
つまり、例えば図６の例のように現在第５段目（インバータグループＧＰ５）が接続されている状態では、出力クロックの周波数を低くするための切換（インバータグループＧＰ１０側への切換）については、上記Ｚが２段であるとすると、１回の切換動作では、第５段目から２段の範囲内、即ちインバータグループＧＰ６，ＧＰ７のいずれかへしか切り換えることができないように設定する。また出力クロックの周波数を高くするための切換（インバータＩＶ１側への切換）については、上記Ｚが２段、Ｙが５段であるとすると、１回の切換動作では、第５段目から３段の範囲内、即ちインバータグループＧＰ２，ＧＰ３，ＧＰ４のいずれかへしか切り換えることができないように設定する。
そして、それ以上の切換が必要なとき、例えばインバータグループＧＰ８，ＧＰ９，ＧＰ１０、もしくはインバータＩＶ１まで切り換える必要が或る場合は、２回以上の切換動作を実行して、求める発振周波数を得るようにする。
【００６２】
このような条件を例えば図４の例においては段数設定部５において設定しておく。即ち、切換を行なうための数値を発生させる際には、現在の選択ポイントからみて両方向にそれぞれ、選択可能な選択ポイントの範囲を制限したうえで、出力数値を発生されるようにする。このようにすることで、切換に伴って出力されるクロック信号ＳＯＳＣ  の周波数が不安定なものとなることなく、求める周波数を安定して得ることができる。
【００６３】
５．グレイコードで周波数制御を行なう発振周波数可変リングオシレータ
次に、図９により、グレイコードを用いて周波数制御を行なう発振周波数可変リングオシレータを説明する。
【００６４】
今、上述した図４のような構成のリングオシレータを考え、また上記した切換時の不都合を無くす条件として、１回の切換動作で切換可能な段数としては、現在の選択ポイントから前後に隣接する選択ポイントのみと制限されているとする（上記のＸＦ＝１，ＸＲ＝１とした場合）。例えば図４の回路でインバータグループＧＰ３（アンドゲートＡ３）が選択されている状態からは、１回の切換動作ではインバータグループＧＰ２かインバータグループＧＰ４のいづれかへしか切り換えることができないものとする。
【００６５】
図４の例では、切換動作を行なう際に選択ポイントを指定する値は段数設定部５が６ビットバイナリコードで発生させるものとした。
ＸＦ＝１，ＸＲ＝１である場合、段数設定部５が発生させる値は、現在の選択ポイントを示す値よりも±１の範囲である。例えばそれまでの６ビットバイナリコードが『００００１０』であり、アンドゲートＡ２が選択されている状態であったとしたら、次の切換時点で発生できる値は、『００００１１』もしくは『０００００１』である。
【００６６】
段数設定部５からのバイナリコードはデコーダ６によりセレクト信号ＳＬ１〜ＳＬ６４、即ち６４本のイネーブル信号に変換されてアンドゲートＡ１〜Ａ６４が制御されるわけであるが、例えばデコーダ６に供給されるバイナリコードが『００００１０』から『０００００１』に変化する場合は、６ビット中、２ビットが反転することになる。また、例えば３１段目から３２段目に切り換えることを考えると、デコーダ６に供給されるバイナリコードは『０１１１１１』から『１０００００』に変化し、つまり全ビットが変化する。
【００６７】
このように複数のビットが変化する場合では、デコーダ６における各ビットに対する処理の時間差により、６４本のイネーブル信号（セレクト信号ＳＬ１〜ＳＬ６４）のうち、意図しないデコードビットが瞬間的にイネーブルになることがおこり得る。つまり瞬間的に意図しないアンドゲートが選択されてしまう状態となってしまうことがある。
このような場合、セレクタ１の出力に瞬間的にパルス上の信号が生じ、出力されるクロック信号ＳＯＳＣ  にいわゆるヒゲが生じてしまう。
【００６８】
図９の例では、このようなヒゲの発生による性能の低下を防止するものである。図９のリングオシレータは、図４の回路に、バイナリ／グレイコード変換部７を加えたものである。他の部分については、同様であるため説明を省略する。
【００６９】
この場合、段数設定部５から出力される６ビットのバイナリコードは、バイナリ／グレイコード変換部７において６ビットのグレイコードに変換される。そして、そのグレイコードがフリップフロップＦＦ１〜ＦＦ６に供給され、インバータＩＶ１の出力の立上りタイミングでラッチされてデコーダ６に供給される。
【００７０】
１〜６４の各値に対応するバイナリコードと、そのバイナリコードから変換されるグレイコードは図１１に示される。
図１１からわかるとおりグレイコードとは、値が１変化するときに、常に変化するビットは１つのみであることを特徴とするコードである。
【００７１】
このような変換を行なうバイナリ／グレイコード変換部７は、例えば図１０のように５つのオアゲートＯＲ１１〜ＯＲ１５で形成される。
即ち、６ビットのバイナリコードのＭＳＢであるビットＢＣ５はそのままグレイコードにおけるＭＳＢであるビットＧＣ５とされる。
またバイナリコードのビットＢＣ５、ＢＣ４はオアゲートＯＲ１１に入力され、その論理和がグレイコードにおけるビットＧＣ４とされる。
バイナリコードのビットＢＣ４、ＢＣ３はオアゲートＯＲ１２に入力され、その論理和がグレイコードにおけるビットＧＣ３とされる。
バイナリコードのビットＢＣ３、ＢＣ２はオアゲートＯＲ１３に入力され、その論理和がグレイコードにおけるビットＧＣ２とされる。
バイナリコードのビットＢＣ２、ＢＣ１はオアゲートＯＲ１４に入力され、その論理和がグレイコードにおけるビットＧＣ１とされる。
バイナリコードのビットＢＣ１、ＢＣ０はオアゲートＯＲ１５に入力され、その論理和がグレイコードにおけるビットＧＣ０とされる。
【００７２】
このようなバイナリ／グレイコード変換部７により、図１１に示したような変換が実現され、選択ポイントを示す値に対応するグレイコードがデコーダ６に供給されることになるが、この場合デコーダ６に入力されるコードとしては、切換時点において反転するビット数は常に１つである。
【００７３】
従って、反転する複数のビットに対する処理の時間差ということは一切生じることはなく、従ってセレクト信号ＳＬ１〜ＳＬ６４のうち不測のラインがイネーブルになるということはありえない。
このため図９のリングオシレータでは、セレクタ１の切換時に、その出力に瞬間的にパルス上の信号が生じ、出力されるクロック信号ＳＯＳＣ  にいわゆるヒゲが生じてしまうということは発生しない。
【００７４】
６．発振周波数可変リングオシレータを用いたＰＬＬ回路
以上、リングオシレータとしての例を説明してきたが、これらのような発振周波数を可変としたリングオシレータを発振器として用いたＰＬＬ回路の例を図１２で説明する。
【００７５】
図１２はデジタルＰＬＬ回路のブロック図を示しているが、デジタルＰＬＬ回路としては、基本的には位相誤差検出部１２、ローパスフィルタ１３、発振器１０によりフェイズロックループが形成されて成る。
この例では、発振器１０として、図９に示したような形態のリングオシレータが用いられているものとなる。即ち、インバータＩＶ１〜ＩＶ１２７が直列接続され、インバータＩＶ１及び各インバータグループＧＰ２〜ＧＰ６４の出力がセレクタ１において選択され、オアゲートＯＲ１に戻される。
【００７６】
セレクタ１で選択する選択ポイントの値は、６ビットのバイナリコードとしてバイナリ／グレイコード変換部７に供給されるが、バイナリ／グレイコード変換部７ではそれをグレイコードに変換してフリップフロップ部８に供給する。このフリップフロップ部８は図９におけるフリップフロップ部ＦＦ１〜ＦＦ６に相当する。そして、インバータＩＶ１の出力が立ち上がるタイミングで、セレクタ１で選択すべき選択ポイントの値となるグレイコード値がデコーダ６に供給され、そのデコーダ６からのセレクト信号ＳＬ１〜ＳＬ６４により、図９で示したようなアンドゲートＡ１〜Ａ６４が制御され、選択が行なわれる。
【００７７】
従って、この発振器１０では、加算器１４の出力に基づいて端子３から出力されるクロック信号ＳＯＳＣ  の周波数が可変制御されることになる。また、端子４からオアゲートＯＲ１に対してコントロール信号ＳＯＮ／ＯＦＦを供給することで、発振動作の停止／継続を制御できる。
【００７８】
このようにリングオシレータを発振器１０として用いたＰＬＬ回路では、入力信号と出力されるクロック信号の位相誤差を検出し、それに応じてセレクタ１の選択ポイントを設定する値を生成するようにすれば、即ち入力信号に同期したクロック信号ＳＯＳＣ  を生成できることになる。
【００７９】
入力信号はＡ／Ｄ変換器１１でデジタルデータとされた後、位相誤差検出部１２に供給される。なお、Ａ／Ｄ変換器１１でのサンプリングクロックとしては、発振器１０から出力されるクロック信号ＳＯＳＣ  が用いられている。
位相誤差検出部１２に対しては発振器１０から出力されるクロック信号ＳＯＳＣ  が供給されており、これを基準として入力信号の位相誤差を検出する。検出された位相誤差情報はローパスフィルタ１３、加算器１４を介してバイナリ／グレイコード変換部７に供給される。このようなループにより、入力信号とクロック信号ＳＯＳＣ  の位相誤差に基づいて発振周波数（クロック信号ＳＯＳＣ  の周波数）が制御されるＰＬＬ回路が実現される。
【００８０】
ただし、リングオシレータを用いた発振器１０ではいわゆる自走発振周波数がないため、入力のない状態を仮定したときの基準となる発振周波数を設定しなければならない。つまり、基準となる周波数を得るためのセレクタ１における選択ポイントを設定しておかなければならない。このため、周期測定部１５がその基準となる選択ポイントに相当する値（６ビットバイナリコード）を出力し、加算器１４を介して発振器１０（バイナリ／グレイコード変換部７）に供給されるようにしている。
従って、位相誤差検出部１２で検出された誤差情報については、加算器１４において基準となる値から加減算されて発振器１０に入力されることになり、これによって位相誤差状態に応じて発振周波数が適正にコントロールされることになる。
【００８１】
また、周期測定部１５ではクロック信号ＳＯＳＣ  の周期を基準チャネルクロックに基づいて測定しており、例えばＰＬＬロックレンジから外れているか否かを検出している。そして、クロック信号ＳＯＳＣ  が所定の周波数レンジから外れたような場合には、それに応じて基準となる発振周波数、即ちセレクタ１での選択ポイントを変更するような値を出力する。さらに、このＰＬＬ回路が例えばＤＡＴ再生装置などに採用される場合などでは、動作モード（再生／早送りなどの各種モード）に応じて所定の基準発振周波数が得られるように選択ポイントを設定するようにしてもよい。
【００８２】
以上のように発振器１０をリングオシレータを用いて構成したＰＬＬ回路では、再生クロック、即ちクロック信号ＳＯＳＣ  の周波数に対して数倍〜数１０倍という高い周波数のマスタークロックを必要としないデジタルＰＬＬ回路が実現できることになる。
【００８３】
また、本例では、Ａ／Ｄ変換器１１のサンプリングクロックとしてクロック信号ＳＯＳＣ  を用いているため、入力信号とは非同期であるマスタークロックを用いてサンプリングする場合に生じる位相誤差検出値上の誤差に伴って必要となる演算処理が不要となり、処理時間の短縮化、回路規模の縮小といった利点も得られる。
【００８４】
【発明の効果】
以上説明したように本発明では、論理反転手段のループで形成されるリングオシレータにおいて、そのループに含まれる論理反転段数を可変制御することができるように構成することで、発振周波数を可変としたリングオシレータを実現できるという効果がある。
【００８５】
また、このようなリングオシレータにおいて各論理反転手段のうちの所要の論理反転手段において、発振制御信号の入力論理状態に応じて、論理反転出力動作の実行と論理反転出力動作の停止が選択されるようにした論理段を付加することで、発振動作の継続及び停止が制御できるようにすることができるとともに、発振出力開始時点で、所要期間だけ発振動作の停止を行なってから発振動作を開始させるようにすることで、適正に所要の出力発振周波数を得ることができるという効果がある。
【００８６】
さらに、発振周波数可変制御手段においては、選択手段における選択ポイントの１回の切換制御について、現在の選択ポイントからみて両方向にそれぞれ、選択可能な選択ポイントの範囲が制限されるように設定することで、発振周波数の切り換え時に、不安定な周波数出力が発生してしまうことを防止できる。
【００８７】
また発振周波数可変制御手段は、選択手段において選択すべき選択ポイントを所定ビット数の２進数で表現し、この２進数を選択制御信号にデコードして選択手段に供給する構成とされるとともに、この２進数としては、表現する数値が１変化するときに１ビットのみが反転するグレイコードを用いるようにすることで、発振出力信号上にいわゆるヒゲを発生させることを解消し、出力信号の質を低下させることを防止できる。
【００８８】
入力信号の位相誤差情報に応じて周波数可変発振回路部から出力される信号の周波数が制御されるＰＬＬ回路としては、その周波数可変発振回路部として、上記構成のリングオシレータを用い、つまり入力信号の位相誤差情報に応じて選択手段の選択ポイントの切換制御を行なうことによって発振周波数を可変させ、入力信号に同期したクロックを得ることができるようにする。このようにすることで、マスタークロックが不要であり、従ってマスタークロックの高周波数化の制限によってデジタルＰＬＬ回路が採用できないといった事情が解消され、広い分野で容易に採用できるデジタルＰＬＬ回路を実現できる。
【図面の簡単な説明】
【図１】リングオシレータの原理の説明図である。
【図２】本発明の実施の形態となる発振周波数可変リングオシレータのブロック図である。
【図３】実施の形態となる発振周波数可変リングオシレータでの発振周波数の説明図である。
【図４】本発明の実施の形態となる発振オン／オフ機能付の発振周波数可変リングオシレータのブロック図である。
【図５】実施の形態となるリングオシレータでの発振周波数の説明図である。
【図６】実施の形態となる発振周波数可変リングオシレータでの切換段数制限の説明図である。
【図７】実施の形態となる発振周波数可変リングオシレータでの切換段数制限の説明図である。
【図８】実施の形態となる発振周波数可変リングオシレータでの切換段数制限の説明図である。
【図９】実施の形態となるグレイコードで周波数制御を行なう発振周波数可変リングオシレータのブロック図である。
【図１０】実施の形態におけるバイナリ／グレイコード変換部の回路図である。
【図１１】実施の形態におけるグレイコードの説明図である。
【図１２】実施の形態におけるＰＬＬ回路のブロック図である。
【符号の説明】
１  セレクタ
２  セレクタ制御部
５  段数設定部
６  デコーダ
７  バイナリ／グレイコード変換部
８  フリップフロップ部
１０  発振器
１１  Ａ／Ｄ変換器
１２  位相誤差検出部
１３  ローパスフィルタ
１４  加算器
１５  周期測定部
ＩＶ１〜ＩＶ１２７  インバータ
ＧＰ２〜ＧＰ６４  インバータグループ
ＯＲ１，ＯＲ２  オアゲート
Ａ１〜Ａ６４  アンドゲート
【図１】
0003564855.tif 000002
【図２】
0003564855.tif 000003
【図３】
0003564855.tif 000004
【図４】
0003564855.tif 000005
【図５】
0003564855.tif 000006
【図６】
0003564855.tif 000007
【図７】
0003564855.tif 000008
【図８】
0003564855.tif 000009
【図９】
0003564855.tif 000010
【図１０】
0003564855.tif 000011
【図１１】
0003564855.tif 000012
【図１２】
0003564855.tif 000013