(57)【要約】【課題】周期の長さによらず精度の安定したクロックを簡易な構成で生成する技術を提供する。【解決手段】計測部３は、基準クロックＳＣＫの周期毎に、その周期をリングオシレータ２において周回信号が遅延素子を通過する通過段数で表現した周期計測値ＦＤを生成する。算出部６は、クロック信号ＰＯの周期を定めるパラメータである繰返数Ｍと、調整値ｐＤを算出する。更新部７は、繰返数Ｍから特定される割合で、周期計測値ＦＤ又は調整値ｐＤのいずれかを設定カウント値ＣＤとして選択する。生成部８は、リングオシレータ２における周回信号の通過段数をカウントし、通過段数が設定カウント値ＣＤに達したタイミングで出力パルス信号ＰＡを生成する。【選択図】図３
2019087975.tif 000002
【特許請求の範囲】
【請求項１】
複数の遅延素子をリング状に接続した構造を有するリングオシレータ（２）と、
前記リングオシレータを周回するパルス信号である周回信号が前記遅延素子を通過する段数を通過段数として、外部から入力される基準クロックの周期毎に、該基準クロックの周期を前記通過段数で表現した周期計測値を生成するように構成された計測部（３）と、
前記通過段数をカウントし、該通過段数が予め設定された設定カウント値に達したタイミングで出力パルス信号を生成するように構成された生成部（８）と、
前記基準クロックの周期に対する実数で表現された倍率である周期設定値を取得し、前記周期設定値の整数部の値から１以上の整数であるオフセット値Ｎを減算した繰返数を算出すると共に、前記計測部にて前記周期計測値が生成される毎に、前記周期設定値の少数点部の値を、前記周期計測値を用いて前記通過段数に換算した値に前記周期計測値のＮ倍を加算した調整値を算出するように構成された算出部（６）と、
前記周期計測値又は前記調整値によって前記設定カウント値を更新するように構成された更新部（７）と、
を備え、
前記更新部は、前記周期計測値によって生成されるタイミングである粗調整タイミングでの前記出力パルス信号の出力が前記繰返数回繰り返される毎に、前記調整値によって生成されるタイミングである精密調整タイミングでの前記出力パルス信号の出力が１回行われるように前記設定カウント値を更新するように構成された
デジタル制御発振回路。
【請求項２】
請求項１に記載のデジタル制御発振回路であって、
前記更新部は、前記精密調整タイミングでは前記基準クロックの周期より短く設定された期間の間に、前記生成部が複数の前記出力パルス信号を出力するように前記設定カウント値を更新するように構成された
デジタル制御発振回路。
【請求項３】
請求項１または請求項２に記載のデジタル制御発振回路であって、
前記周期計測値の更新タイミングを、前記基準クロックの半周期だけ遅延させた遅延値を生成する遅延部（５１）と、
前記少数点部の値を積算することで、前記基準クロックの周期内における前記出力パルス信号のタイミングを推定する推定部（６３）と、
前記推定部にて推定された推定タイミングと前記周期計測値又は前記遅延値の更新タイミングとのタイミング差が、前記基準クロックの１／４周期以上離れるように、前記周期計測値及び前記遅延値のいずれかを選択して、前記設定カウント値の更新に用いるように構成された選択部（５２）と、
を更に備える
デジタル制御発振回路。
【請求項４】
請求項３に記載のデジタル制御発振回路であって、
前記推定部は、前記少数点部の値の積算値が１を超えると前記積算値から１を減算するように構成され、
前記算出部は、前記積算値が１を超えた場合に前記繰返数に１を加算するように構成された、
デジタル制御発振回路。
【請求項５】
請求項１から請求項４までのいずれか１項に記載のデジタル制御発振回路であって、
前記出力パルス信号のうち、前記精密調整タイミングで出力される前記出力パルス信号を抽出して出力するように構成されたマスク部（９）
を更に備えるデジタル制御発振回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、リングオシレータを用いて所望周期のクロックを生成する技術に関する。
【背景技術】
【０００２】
下記特許文献１には、複数の遅延素子をリング状に接続したリングオシレータを利用し、所望の時間経過に対応した通過段数に対応する遅延素子の通過タイミングでパルス信号を発生させる技術が記載されている。具体的には、周波数の安定した基準クロックの周期を、リングオシレータにおいてパルス信号が遅延素子を通過した段数（以下、通過段数）を計測する。その計測値を用いて、パルス信号を発生させる周期に対応する時間を、基準クロックの周期に対する倍率で表現する。
【０００３】
そして、倍率の整数部の値に従って基準クロックをカウントすることで、基準クロックの周期を単位時間とする発生タイミングの粗調整を行う。更に、小数点部の値に従って、対応する遅延素子の出力を選択することで、遅延素子での遅延時間を単位時間とする発生タイミングの微調整を行う。これにより、高精度に制御された所望のタイミングでパルス信号を発生させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−２２４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、発明者の詳細な検討の結果、上記従来技術では、基準クロックの周期を計測する回路と、所望のタイミングでパルス信号を発生させる回路とで、リングオシレータ及びカウンタを共用しているため、両回路の動作の整合をとるための構成が複雑であるという課題が見出された。
【０００６】
本開示の１つの局面は、周期の長さによらず精度の安定したクロックを簡易な構成で生成する技術を提供することにある。
【課題を解決するための手段】
【０００７】
本開示の一態様によるデジタル制御発振回路は、リングオシレータ（２）と、計測部（３）と、生成部（８）と、算出部（６）と、更新部（７）とを備える。
リングオシレータは、複数の遅延素子をリング状に接続した構造を有する。計測部は、リングオシレータを周回するパルス信号である周回信号が遅延素子を通過する段数を通過段数として、外部から入力される基準クロックの周期毎に、該基準クロックの周期を通過段数で表現した周期計測値を生成する。生成部は、通過段数をカウントし、該通過段数が予め設定された設定カウント値に達したタイミングで出力パルス信号を生成する。算出部は、基準クロックの周期に対する実数で表現された倍率である周期設定値を取得し、周期設定値の整数部の値から１以上の整数であるオフセット値Ｎを減算した繰返数を算出する。また、算出部は、計測部にて周期計測値が生成される毎に、周期設定値の小数点部の値を、周期計測値を用いて通過段数に換算した値に周期計測値のＮ倍を加算した調整値を算出する。更新部は、周期計測値又は調整値によって設定カウント値を更新する。また、更新部は、周期計測値によって生成されるタイミングである粗調整タイミングでの出力パルス信号の出力が繰返数回繰り返される毎に、調整値によって生成されるタイミングである精密調整タイミングでの出力パルス信号の出力が１回行われるように設定カウント値を更新する。
【０００８】
このような構成によれば、周期設定値に基づいて算出される繰返数および調整値を用い、繰返数から特定される頻度で周期計測値と調整値のいずれかを、生成部の設定カウント値として設定するという簡易な構成にて、精度の安定したクロックを発生させることができる。つまり、基準クロックの周期を計測する回路と、所望のタイミングでパルス信号を発生させる回路とでリングオシレータのみを共有する構成としたことで、両回路を独立に動作させることができ、両回路の動作を整合させるための構成が不要なため、回路構成を簡易化することができる。
【０００９】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態のデジタル制御発振回路の構成を示すブロック図である。
【図２】計測部の構成を示すブロック図である。
【図３】パルス発生部の構成を示すブロック図である。
【図４】生成部の構成を示すブロック図である。
【図５】デジタル制御発振回路の動作を示すタイミング図である。
【図６】通常値と遅延値との切り替え、調整値の算出に用いる周期計測値等を示す説明図である。
【図７】周波数制御データと発振周波数との関係を示すグラフである。
【図８】周波数制御データと発振周期の最大変動量との関係を示すグラフである。
【図９】周波数制御データと発振周期のばらつき度との関係を示すグラフである。
【図１０】第２実施形態におけるパルス発生部の構成を示すブロック図である。
【図１１】第２実施形態の回路の動作を示すタイミング図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．第１実施形態］
［１−１．全体構成］
図１に示すデジタル制御発振回路１は、リングオシレータ２と、計測部３と、パルス発生部４とを備える。
【００１２】
計測部３は、リングオシレータ２を用いて基準クロックＳＣＫの周期を計測し、周期計測値ＦＤを出力する。パルス発生部４は、リングオシレータ２を用いて、周期計測値ＦＤ及び周期設定値ＲＤから特定される周期を有するクロック信号ＰＯを生成する、つまり計測部３とパルス発生部４とは、リングオシレータ２を共用するように構成されている。なお、周期設定値ＲＤは、基準クロックＳＣＫの周期に対する倍率を実数で表現した値である。
【００１３】
［１−２．リングオシレータ］
リングオシレータ２は、２ｍ−１個の遅延素子を有する。ｍは１以上の整数であり、本実施形態ではｍ＝５、即ち１６個の遅延素子を有するものとして説明する。複数の遅延素子は、直列接続され、かつ、最終段の出力を初段の入力とすることでリング状に接続されている。但し、初段の遅延素子は、２入力のナンドゲートが用いられている。初段以外の遅延素子は、いずれも、直列接続された２つのインバータゲートを有する。ナンドゲートの入力端のうち、リング状の接続に使用されない側の入力端は、外部から起動信号ＳＰを入力するための入力端子に接続されている。以下では、リングオシレータ２に属する各遅延素子の出力をＰ１−１６と表記する。なお、初段の遅延素子の出力がＰ１、最終段の遅延素子の出力がＰ１６である。
【００１４】
このように構成されたリングオシレータ２では、起動信号ＳＰがロウレベルの時には、初段の遅延素子の出力Ｐ１は、最終段の遅延素子の出力Ｐ１６の信号レベルに関わらず常にハイレベルとなるため、出力Ｐ１−１６はいずれもハイレベルで停止した状態となる。また、起動信号ＳＰがロウレベルからハイレベルに変化するタイミングを起動タイミングとして、起動タイミングに続けて起動信号ＳＰのハイレベルが保持されると、初段の反転回路の出力Ｐ１がハイレベルからロウレベルに変化する。これに従い、各遅延素子の出力が順次ロウレベルに変化する。最終段の遅延素子の出力Ｐ１６がロウレベルに変化すると、初段の遅延素子の出力Ｐ１がロウレベルからハイレベルに変化する。これに従い、各遅延素子の出力が順次ハイレベルに変化する。最終段の遅延素子の出力Ｐ１６がハイレベルに変化すると初段の遅延素子の出力Ｐ１がハイレベルからロウレベルに変化する。以下、同様の動作を繰り返すことによって、信号レベルの反転エッジが周回し続けることになる。
【００１５】
なお、反転エッジは、ロウレベルからハイレベルに変化するエッジと、ハイレベルからロウレベルに変化するエッジとがあり、周回する毎に切り替わる。つまり、各出力Ｐｉからは、反転エッジが２周する期間、即ち３２段分の遅延素子の遅延時間を周期とし、遅延素子での遅延量ずつ互いの位相が異なるパルス信号が出力される。iは１〜１６の整数である。以下では、リングオシレータ２を周回するパルス信号を周回信号という。
【００１６】
［１−３．計測部］
計測部３は、外部から入力される基準クロックＳＣＫの周期を計測して周期計測値ＦＤを生成する。基準クロックＳＣＫは、水晶発振器の出力等から生成される安定性の高いクロックである。基準クロックＳＣＫの周期は、リングオシレータ２に属する各遅延素子の遅延時間の数十〜数百倍程度（例えば１００ｎｓ程度）に設定される。周期計測値ＦＤは、周回信号が遅延素子を通過した段数（以下、通過段数）を表す。つまり、周期計測値ＦＤは、基準クロックＳＣＫの周期を、遅延素子の遅延時間を単位時間として表現した値となる。但し、遅延素子の遅延時間は、周囲の環境や経年変化などによって変化する。つまり、計測部３は、基準クロックＳＣＫの周期を計測することによって、リングオシレータ２における遅延時間の揺らぎを計測する。
【００１７】
計測部３は、図２に示すように、カウンタ回路３１と、ラッチ回路３２，３３，３４と、エンコーダ３５と、セレクタ３６と、遅延回路３７とを備える。なお、計測部３は、例えば、特開平７−１８３８００号公報等に詳述された公知の技術であるが、その概要について説明する。
【００１８】
カウンタ回路３１は、リングオシレータ２に属する最終段の遅延素子の出力Ｐ１６をカウントクロックとして動作するｎビットのカウンタである。ｎは２以上の整数である。カウンタ回路３１は、出力Ｐ１６がロウレベルからハイレベルに変化するタイミングでカウントアップする。従って、カウンタ回路３１のカウント値ＣＮＴは、周回信号が遅延素子を３２段通過する毎に１増加する。また、カウント値ＣＮＴが最大値に達した状態でカウントアップされるとカウント値ＣＮＴは０に戻り、その後もカウント動作を継続する。
【００１９】
ラッチ回路３２は、基準クロックＳＣＫの立ち上がりエッジのタイミングで、リングオシレータ２の出力Ｐ１−１６をラッチする。ラッチ回路３３は、同じく基準クロックＳＣＫの立ち上がりエッジのタイミングで、カウンタ回路３１のカウント値ＣＮＴをラッチする。ラッチ回路３４は、基準クロックＳＣＫの立ち上がりエッジのタイミングを、遅延回路３７によって遅延させたタイミングで、カウンタ回路３１のカウント値ＣＮＴをラッチする。但し、遅延回路３７は、基準クロックＳＣＫを、その半周期分だけ遅延させる。
【００２０】
エンコーダ３５は、ラッチ回路３２がラッチした結果から、リングオシレータ２を周回する周回信号の反転エッジの位置を特定し、その反転エッジの位置と、反転エッジの向き（即ち、立ち上がり又は立ち下がり）とに従って、出力Ｐ１−Ｐ１６を、０〜２ｍ−１の値を表すｍビットの２進数データＥＮＣに符号化する。
【００２１】
セレクタ３６は、エンコーダ３５の出力ＥＮＣの最上位ビットの値に従い、最上位ビットの値が１の時にラッチ回路３３にラッチされたカウント値を選択し、最上位ビットの値が０の時にラッチ回路３４にラッチされたカウント値を選択する。以下では、セレクタ３６が選択したカウント値をＳＣＮＴと表記する。なお、このように異なるタイミングでラッチされたいずれかのカウント値を選択的に使用するのは、値が不安定な状態でラッチされたカウント値を、後段の処理に供給してしまうことがないようにするためである。
【００２２】
計測部３は、エンコーダ３５の出力ＥＮＣを下位ビット、セレクタ３６の出力ＳＣＮＴを上位ビットとする合計ｍ＋ｎビットの周期計測値ＦＤを、基準クロックＳＣＫの立ち上がりエッジのタイミング毎にパルス発生部４に供給する。つまり、周期計測値ＦＤは、基準クロックＳＣＫの１周期の間に計測される周回信号の通過段数を表す。
【００２３】
［１−４．パルス発生部］
パルス発生部４は、図３に示すように、選択部５と、算出部６と、更新部７と、生成部８と、マスク部９とを備える。
【００２４】
［１−４−１．選択部］
選択部５は、遅延部５１と、セレクタ５２とを備える。
遅延部５１は、基準クロックＳＣＫの立ち上がりエッジのタイミングで値が更新される周期計測値ＦＤを、その更新タイミングを基準クロックＳＣＫの半周期分だけ遅延させて出力する。以下、周期計測値ＦＤを通常値ｎＦＤ、遅延部５１が出力する遅延させた周期計測値ＦＤを遅延値ｄＦＤという。
【００２５】
セレクタ５２は、算出部６が出力する選択信号Ｓ２に従って、通常値ｎＦＤ及び遅延値ｄＦＤのいずれかを選択し、粗調整タイミングを表す周期値ｓＦＤとして出力する。
［１−４−２．算出部］
算出部６は、保持部６１と、調整値算出部６２と、端数積算部６３と、繰返数算出部６４とを備える。
【００２６】
保持部６１は、外部から入力される周期設定値ＲＤを読み込んで保持する記憶回路である。保持部６１は、保持した周期設定値ＲＤを、整数値が示された上位ビットである整数部ＲＵと、小数点以下の値が示された下位ビットである小数点部ＲＬとに分離して出力する。
【００２７】
調整値算出部６２は、選択部５が出力する選択値ｓＤ、小数点部ＲＬの値であるα、予め設定されたオフセット値Ｎに基づき、（１）式に従って調整値ｐＤを算出する。Ｎは０以上の整数である。ここではＮ＝１の場合について説明するが、これに限定されるものではなく、Ｎ＝０又はＮ≧２であってもよい。
【００２８】
ｐＤ＝（Ｎ＋α）×ｓＦＤ      （１）
端数積算部６３は、選択信号Ｓ１が入力される毎に、小数点部ＲＬの値αを積算し、その積算値に応じて桁上がり信号Ｋ及び選択信号Ｓ２を出力する。具体的には、端数積算部６３は、まず、積算値が１未満であればＫ＝０を出力し、積算値が１以上であればＫ＝１を出力する。
【００２９】
次に、端数積算部６３は、積算値が１以上の場合は積算値から１を減じた値を、積算値が１未満ではそのままの値を、次回の積算に使用する積算値として保持する。つまり、保持される積算値は、０以上１未満の値である。この積算値は、基準クロックＳＣＫの１周期を１としたときの位相を表す。
【００３０】
更に、端数積算部６３は、保持された積算値が０以上１／４未満、又は３／４以上１未満である場合は、選択部５に遅延値ｄＦＤを選択させ、保持された積算値が１／４以上３／４未満である場合は、選択部５に通常値ｎＦＤを選択させる選択信号Ｓ２を出力する。ここでは、選択信号Ｓ２がロウレベルの時に通常値ｎＦＤが選択され、ハイレベルの時に遅延値ｄＦＤが選択される。
【００３１】
繰返数算出部６４は、設定測定値ＲＤの整数部ＲＵの値β、オフセット値Ｎ、桁上がり信号Ｋに基づき、（２）式に従って繰返数Ｍを算出する。つまり、（２）式において、オフセット値Ｎを減じるのは、調整値ｐＤに組み込まれる分を除くためである。
【００３２】
Ｍ＝β−Ｎ＋Ｋ        （２）
［１−４−３．更新部］
更新部７は、セレクタ７１と、カウンタ７２と、カウンタ制御部７３とを備える。
【００３３】
カウンタ７２は、生成部８から出力される出力パルス信号ＰＡをクロックとして動作するダウンカウンタである。カウンタ７２は、カウンタ制御部７３からのロード信号に従って、算出部６にて算出された繰返数Ｍをカウント値としてロードする。カウンタ７２は、ダウンカウント動作によってカウント値が０になると、その後、ロード信号が入力されるまでの間、ハイレベルとなる選択信号Ｓ１を出力する。
【００３４】
カウンタ制御部７３は、選択信号Ｓ１がハイレベルの時に出力パルス信号ＰＡが入力されたタイミングでロード信号を出力する論理回路である。
セレクタ７１は、選択信号Ｓ１がロウレベルの時は、周期値ｓＦＤを選択し、選択信号Ｓ１がハイレベルの時は、調整値ｐＤを選択し、設定カウント値ＣＤとして生成部８に供給する。
【００３５】
［１−４−４．生成部］
生成部８は、図４に示すように、加算器８１と、ラッチ回路８２と、パルスセレクタ８３と、ダウンカウンタ８４と、タイミング制御部８５と、パルス発生器８６とを備える。
【００３６】
加算器８１は、ラッチ回路８２にラッチされた６ビットのデータＬＤのうち、下位５ビット（以下、選択データ）ＬＤ１−５と、設定カウント値ＣＤの下位５ビットＤＬとを加算し、キャリーアウトも含めた６ビットの加算データＡＤを出力する。
【００３７】
ラッチ回路８２は、加算データＡＤを、パルス発生器８６が出力する出力パルス信号ＰＡのタイミングでラッチする。ラッチ回路８２がラッチしたデータＬＤのうち、下位５ビットは選択データＬＤ１−５として出力し、最上位ビットは加算器８１での加算演算時に生じたキャリーアウトの有無を表す切替データＬＤ６として出力する。
【００３８】
パルスセレクタ８３は、ラッチ回路８２から供給される選択データＬＤ１−５に従ってリングオシレータ２の出力Ｐ１−１６のうちいずれか一つを選択し、サンプリングクロックＣＫとして出力する。選択データＬＤ１−５は０〜３１の値をとるため、単に出力Ｐ１−１６を選択するだけでなく、立ち上がりエッジのタイミングであるか立下りエッジのタイミングであるかも識別して選択する。
【００３９】
ダウンカウンタ８４は、出力パルス信号ＰＡのタイミングで設定カウント値ＣＤの下位５ビットＤＬ以外の上位ビットＤＵがカウント値としてプリセットされる。ダウンカウンタ８４は、リングオシレータ２の出力Ｐ８の立ち上がりエッジのタイミングでダウンカウント動作を実行し、カウントアウトするとアクティブレベルとなるカウントアウト信号ＣＯを出力する。カウントアウト信号ＣＯのアクティブレベルは、カウント値がプリセットされるまで維持される。
【００４０】
タイミング制御部８５は、切替データＬＤ６が０である場合、カウントアウト信号ＣＯをそのまま許可信号ＥＮとして出力し、切替データＬＤ６が１である場合、カウントアウト信号ＣＯをリングオシレータ２の出力Ｐｉの１周期分遅延させたものを、許可信号ＥＮとして出力する。
【００４１】
パルス発生器８６は、許可信号ＥＮがアクティブレベルの時にパルスセレクタ８３からのサンプリングクロックＣＫの立ち上がりエッジのタイミングで、予め設定された一定のパルス幅を有するパルス信号である出力パルス信号ＰＡを出力する。
【００４２】
つまり、生成部８は、リングオシレータ２を周回する周回信号が設定カウント値ＣＤで表される通過段数だけ、遅延素子を通過するのに要する時間を周期とする出力パルス信号ＰＡを生成する。
【００４３】
［１−４−５．マスク部］
図３に戻り、マスク部９は、ゲート部９１と、ゲート制御部９２とを備える。
ゲート制御部９２は、ゲート部９１が出力するクロック信号ＰＯと、選択信号Ｓ１とに従って、出力許可信号ＯＥを生成する。
【００４４】
具体的には、選択信号Ｓ１の立下りタイミングから基準クロックＳＣＫの遅延時間ｄ１だけ遅延させたタイミングでハイレベルとなり、クロック信号ＰＯの出力タイミング（即ち、立ち上がりタイミング）から遅延時間ｄ２だけ遅延させたタイミングでロウレベルとなる出力許可信号ＯＥを生成する。なお、遅延時間ｄ１，ｄ２は、いずれも基準クロックＳＣＫの１周期未満の長さに設定される。遅延時間ｄ１，ｄ２は、例えば、基準クロックＳＣＫの半周期以上の長さに設定されていてもよい。
【００４５】
ゲート部９１は、出力許可信号ＯＥがハイレベルの間、出力パルス信号ＰＡを通過させる。具体的には、生成部８からは、周期値ｓＦＤに従った粗調整タイミングで発生するパルス信号と、調整値ｐＤに従った精密調整タイミングで発生するパルス信号とが出力される。これらのパルス信号のうち、マスク部９は、精密調整タイミングで出力されるパルス信号のみを抽出しクロック信号ＰＯとして出力する。
【００４６】
［１−５．動作］
デジタル制御発振回路１は、基準クロックＳＣＫおよび周期設定値ＲＤが入力された状態で、起動信号ＳＰを入力すると、基準クロックＳＣＫの周期を周期設定値ＲＤ倍した周期を有するクロック信号ＰＯを出力する。
【００４７】
このとき計測部３は、基準クロックＳＣＫの周期毎に、基準クロックＳＣＫの周期を周回信号の通過段数で表現した周期計測値ＦＤを生成する。
また、パルス発生部４では、選択部５が、出力パルス信号ＰＡの発生タイミングを考慮して、周期計測値ＦＤの通常値ｎＦＤ及び遅延値ｄＦＤのうちいずれかを周期値ｓＦＤとして選択する。算出部６は、周期設定値ＲＤ及び周期値ｓＦＤに基づいて調整値ｐＤ及び繰返数Ｍを算出する。更新部７は、周期値ｓＦＤ及び調整値ｐＤのうちいずれかを繰返数Ｍから特定される割合で設定カウント値ＣＤとして選択する。生成部８は、出力パルス信号ＰＡを出力するタイミング（以下、読込タイミング）で設定カウント値ＣＤを読み込み、読み込んだ設定カウント値ＣＤに応じた時間が経過すると出力パルス信号ＰＡを発生させる動作を繰り返す。そして、設定カウント値ＣＤが周期値ｓＦＤである場合に、この周期値ｓＦＤに基づいて発生する読込タイミングが粗調整タイミングであり、設定カウント値ＣＤが調整値ｐＤである場合に、この調整値ｐＤに基づいて発生する読込タイミングが精密調整タイミングである。マスク部９は、精密調整タイミングで発生する出力パルス信号ＰＡをクロック信号ＰＯとして抽出して出力する。
【００４８】
なお、算出部６において、選択信号Ｓ２及び調整値ｐＤは、選択信号Ｓ１のタイミングで逐次更新される。選択信号Ｓ２は、出力パルス信号ＰＡの発生タイミングの推定値であるαの積算値に従って設定される。但し、デジタル制御発振回路１の起動時には、αの積算値が０のときに示すタイミングと、基準クロックＳＣＫの周期の境界を表すタイミングとが一致するように調整される。繰返数Ｍ及び調整値ｐＤは、設定周期値ＲＤから特定されるクロック信号ＰＯの周期を表すためのパラメータである。繰返数Ｍには、基準クロックＳＣＫの整数倍で表現される部分の長さが反映され、調整値ｐＤには、基準クロックＳＣＫの整数倍では表現できない部分の長さが反映される。
【００４９】
ここで、図５のタイミング図を用いて、動作の一例について説明する。
上述したとおり、生成部８は、読込タイミング毎に設定カウント値ＣＤを読み込む。このため、設定カウント値ＣＤが周期値ｓＦＤである場合、周期値ｓＦＤの値が切り替わるタイミングと、出力パルス信号ＰＡの発生タイミングとが接近し過ぎると、周期値ｓＦＤは、その値が安定する前に生成部８に読み込まれ、誤作動の原因となるおそれがある。このような事態を抑制するために、セレクタ５２は、選択信号Ｓ２に従って、周期値ｓＦＤの値が切り替わるタイミングと、出力パルス信号ＰＡの発生タイミングとが、常に基準クロックＳＣＫの１／４周期以上離れるように、通常値ｎＦＤ及び遅延値ｄＦＤのいずれかを選択する。
【００５０】
つまり、図５では、時刻ｔ６以前の読込タイミングでは、出力パルス信号ＰＡの発生タイミングが基準クロックＳＣＫの０〜１／４周期の範囲内にあるため、遅延値ｄＦＤが周期値ｓＦＤとして選択される。時刻ｔ６以降の読込タイミングでは、出力パルス信号ＰＡの発生タイミングが基準クロックＳＣＫの１／４〜３／４周期の範囲内にあるため、通常値ｎＦＤが周期値ｓＦＤとして選択される。
【００５１】
セレクタ７１は、選択信号Ｓ１に従って、カウンタ７２のカウント値が非零である間は、周期値ｓＦＤを選択し、カウント値が零である間は、調整値ｐＤを選択する。
つまり、図５に示すように、時刻ｔ４〜ｔ５の間にある読込タイミング以前は、カウント値が非零であり、選択信号Ｓ１がロウレベルであるため、周期値ｓＦＤが設定カウント値ＣＤとして選択される。また、時刻ｔ４〜ｔ５の間にある読込タイミングで、カウンタ７２のカウント値が零に変化し、これに伴って、選択信号Ｓ１がハイレベルに変化する。続く、時刻ｔ５〜ｔ６の間にある読込タイミングでは、選択信号Ｓ１がハイレベルであるため、調整値ｐＤが設定カウント値ＣＤとして選択されると共に、カウンタ７２に繰返数Ｍがロードされ、選択信号Ｓ１がロウレベルに変化する。このため、時刻ｔ６以降の読込タイミングでは、再び、周期値ｓＦＤが設定カウント値ＣＤとして選択される。
【００５２】
ゲート部９１は、出力許可信号ＯＥに従って、出力許可信号ＯＥがハイレベルである間に発生する出力パルス信号ＰＡを、クロック信号ＰＯとして出力する。
つまり、図５に示すように、出力許可信号ＯＥは、調整値ｐＤが設定カウント値ＣＤとして生成部８に読み込まれる読込タイミング（即ち、時刻ｔ５〜ｔ６の間の読込タイミング）から基準クロックＳＣＫの１周期が経過する前のタイミングでハイレベルに変化し、クロック信号ＰＯ（調整値ｐＤに基づく精密調整タイミングで発生する出力パルス信号ＰＡ）の次の読込タイミングに達する前のタイミングでロウレベルに変化する。これにより、精密調整タイミングで発生する出力パルス信号ＰＡのみが、クロック信号ＰＯとして抽出される。
【００５３】
算出部６は、選択信号Ｓ１がロウベルに変化するタイミング（即ち、時刻ｔ５）にて、αの積算値を更新し、その更新された積算値、即ち、精密調整タイミング以降の読込タイミングの推定値に従って選択信号Ｓ２の信号レベルを設定する。
【００５４】
図６は、精密調整タイミングで、読込タイミングが変化する様子を示す。出力パルス信号ＰＡの下に示した記号は、通常値Ａ〜Ｄ、遅延値ｄＸ，ｄＡ〜ｄＤのいずれを選択したかを示す。また、基準クロックの１周期のうち、０〜１／４の期間を前遅延期間、１／４〜３／４を通常期間、３／４〜１未満の期間を後遅延期間という。図６では、読込タイミングが、上記三つの期間の間で移動がある場合についてのみ示した。
【００５５】
パターン１，２，５に示す場合、即ち、読込タイミングが、通常期間から前遅延期間又は後遅延期間に移動する場合、及び後遅延期間から前遅延期間に移動する場合には、基準クロックＳＣＫの各周期の周期計測値ＦＤ（即ち、Ａ，Ｂ，Ｃ，Ｄ）が、抜けなく順番に使用される。
【００５６】
上記以外のパターン３，４，６に示す場合、即ち、読込タイミングが、前遅延期間から通常期間又は後遅延期間に移動する場合、及び後遅延期間から通常期間に移動する場合には、使用されない周期計測値ＦＤ（即ち、パターン３，４ではＢ、パターン６ではＣ）が発生する。
【００５７】
［１−６．効果］
以上詳述した第１実施形態によれば、以下の効果を奏する。
（１ａ）本実施形態では、リングオシレータ２と共に既存のＤＣＯを形成する生成部８を利用し、生成部８に読み込ませる設定カウント値ＣＤを、計測部３にて生成される周期計測値ＦＤ及び外部から入力される周期設定値ＲＤに基づいて制御している。従って、デジタル制御発振回路１によれば、簡易な構成にて、精度の安定したクロックを発生させることができる。
【００５８】
つまり、本実施形態では、計測部３とパルス発生部４とでリングオシレータ２のみを共有する。このため、リングオシレータ２だけでなく、リングオシレータ２での周回信号の周回数をカウントするカウンタも共有する従来技術と比較して、計測部３及びパルス発生部４の動作を整合させるための構成が不要となり、より簡易な構成で、従来技術と同様の機能が得られる。
【００５９】
（１ｂ）本実施形態では、粗調整タイミングを生成する周期値ｓＦＤとして、計測部３にて直前に生成された周期計測値ＦＤをそのまま使用し、Ｍ回に対して１回だけ、精密調整タイミングを生成する調整値ｐＤとして、計測部３にて直前に生成された周期計測値ＦＤから算出した値を用いている。
【００６０】
このように、粗調整タイミングでは、基準クロックＳＣＫの一周期毎の計測結果をそのまま用いるため、ずれが蓄積されたとしても、そのずれが遅延素子の１段分の時間を超える毎に、自然に補正される。従って、本実施形態によれば、粗調整タイミングの繰返数Ｍの大きさによらず、誤差の蓄積を抑制することができる。つまり、クロック信号ＰＯにおける周期の誤差は、その周期の長さに関わらず、粗調整タイミングで発生する遅延素子の１段分程度の誤差と、精密調整タイミングで生じる遅延素子の１段分程度の誤差とを合計した程度となり、周期の精度に優れたクロック信号ＰＯを発生させることができる。
【００６１】
図７〜図９に、デジタル制御発振回路１が生成するクロック信号ＰＯの周期を測定した結果を示す。以下でいう周波数制御データは、周期計測値ＦＤに周期設定値ＲＤを乗じた値に相当し、値が大きくなるほど、クロック信号ＰＯの周期（以下、発振周期）が長くなる。また、周波数制御データの測定ポイント毎に、クロック信号ＰＯの周期を２０００回ずつ測定した。
【００６２】
図７は、周波数制御データと、発振周期との関係を示すグラフである。図８は、周波数制御データと、発振周期の最大値と最小値との差（即ち、絶対的なばらつきの大きさ）との関係を示すグラフである。図９は、周波数制御データと、発振周期の分散σとの関係を示したグラフである。
【００６３】
図７に示すように、デジタル制御発振回路１では、周波数制御データに対して発振周期がリニアに変化する特性が得られることがわかる。また、図８及び図９に示すように、従来技術では、周波数制御データが大きくなるほど、ひいては発振周期が大きくなるほど、ばらつきの大きさや分散σが増加する傾向にあり、周期８４０．５μｓでは、ばらつきの大きさが１６０ｎｓ、分散σが２５ｎｓ程度に達している。これに対して、デジタル制御発振回路１では、周波数制御データの大きさに関わらず、ばらつきの大きさが３．３５ｎｓ程度、分散σが５４０ｐｓ程度となる。つまり、発振周期の安定性を格段に向上させることができ、その改善効果は、発振周期が長くなるほど大きなものとなる。
【００６４】
（１ｃ）本実施形態では、周期設定値ＲＤの小数点部ＲＬの値αの積算値から出力パルス信号ＰＡの発生タイミングを推定し、その推定結果に従って、通常値ｎＦＤと遅延値ｄＦＤとのいずれかを周期値ｓＦＤとして選択することで、周期値ｓＦＤが変化するタイミングと読込タイミングとが十分に離れるようにしている。このため、本実施形態によれば、周期値ｓＦＤの値が不安定な状態で生成部８に読み込まれることによる誤作動の発生を抑制することができる。
【００６５】
（１ｄ）本実施形態では、基準クロックＳＣＫの１周期に満たない端数に基準クロックＳＣＫの１周期分のオフセット値を加えた結果を調整値ｐＤとして用いている。従って、本実施形態では、精密調整タイミングと粗調整タイミングとを基準クロックＳＣＫの１周期以上離すことができ、両タイミングで発生する出力パルス信号ＰＡを個別に分離することができる。
【００６６】
［２．第２実施形態］
［２−１．第１実施形態との相違点］
第２実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００６７】
前述した第１実施形態では、パルス発生部４は、精密調整タイミングで一つの出力パルス信号ＰＡを発生させる。これに対し、第２実施形態では、精密調整タイミングで複数の出力パルス信号ＰＡを発生させる点で、第１実施形態と相違する。
【００６８】
図１０に示すように、パルス発生部４ａは、選択部５と、算出部６ａと、更新部７ａと、生成部８と、マスク部９とを備える。
算出部６ａは、保持部６１と、調整値算出部６２ａと、端数積算部６３と、繰返数算出部６４とを備える。つまり、算出部６とは、調整値算出部６２ａが異なる。
【００６９】
調整値算出部６２ａは、調整値ｐＤを算出して出力後、クロック信号ＰＯが入力されると、連続幅値ｗＤを出力し、Ｑ個目のクロック信号ＰＯが入力されると、余剰幅値ｙＤを出力する。但し、連続幅値ｗＤは（３）式を満たすように設定され、余剰幅値ｙＤは、（４）式に従って算出される。（３）式は、出力許可信号ＯＥがハイレベルである間にＱ個のクロック信号ＰＯの出力を終了させるための条件である。（４）は、精密調整タイミングの次の粗調整タイミングまでの期間が、ｓＦＤに応じた長さにするための条件である。
【００７０】
（Ｑ−１）×ｗＤ＜ｄ２            （３）
ｙＤ＝ｓＦＤ−（Ｑ−１）×ｗＤ    （４）
更新部７ａは、セレクタ７１と、カウンタ７２と、カウンタ制御部７３と、信号制御部７４と、フィルタ７５とを備える。つまり、更新部７に対して信号制御部７４及びフィルタ７５が追加されている。
【００７１】
信号制御部７４は、選択信号Ｓ１と出力許可信号ＯＥとに従って、選択信号Ｓ１１を生成する。セレクタ７１は、選択信号Ｓ１の代わりに選択信号Ｓ１１に従って動作を切り替える。選択信号Ｓ１１は、選択信号Ｓ１の立ち上がりタイミングから出力許可信号ＯＥの立下りタイミングまでの間だけハイレベルとなる信号である。つまり、選択信号Ｓ１と比較して、ハイレベルが終了する期間が延長されている。
【００７２】
フィルタ７５は、出力パルス信号ＰＡが、連続幅値ｗＤが表す期間より大きな値に設定された間隔閾値に満たない周期で連続している場合、これらを一つのパルスとして認識されるように変換する。つまり、フィルタ７５は、精密調整タイミングで出力されるＱ個の出力パルス信号が、カウンタ７２では一つの出力パルス信号として扱われるようにする。
【００７３】
［２−２．動作］
図１１に示すように、選択信号Ｓ１１は、選択信号Ｓ１の立ち上がりタイミングでハイレベルに変化し、出力許可信号ＯＥの立下りタイミングでロウレベルに変化する。この選択信号Ｓ１１に従って、カウンタ７１が動作するため、第１実施形態の場合と比較して、セレクタ７１にて、調整値算出部６２ａの出力が選択される期間が延長される。
【００７４】
この延長された期間では、まず、時刻ｔ５〜ｔ６の間にある読込タイミングで調整値ｐＤが選択される。その後、精密調整タイミングを含むＱ−１個の読込タイミングでは連続幅値ｗＤが選択される。更に次の読込タイミングでは余剰幅値ｙＤが選択される。
【００７５】
これにより、精密調整タイミングでは、連続幅値ｗＤに応じた間隔でＱ個の出力パルス信号ＰＡが連続して出力され、そのＱ個の出力パルス信号ＰＡのすべてが、クロック信号ＰＯとして出力される。
【００７６】
［２−３．効果］
以上詳述した第２実施形態によれば、前述した第１実施形態の効果（１ａ）〜（１ｄ）を奏し、さらに、以下の効果を奏する。
【００７７】
（２ａ）本実施形態では、精密調整タイミングで連続するＱ個の出力パルス信号ＰＡを発生させ、これをクロック信号ＰＯとして出力することができる。このため、例えば、発生させるパルス信号の個数Ｑを変化させることで、クロック信号ＰＯのパルス幅を変化させることと同等の効果が得られ、当該装置の用途を拡張することができる。
【００７８】
［３．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００７９】
（３ａ）上記実施形態では、リングオシレータ２に属する遅延素子の数やオフセット値Ｎ等の具体的な値を例示しているが、これらに限定されるものではない。
（３ｂ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００８０】
（３ｃ）上述したデジタル制御発振回路１の他、当該デジタル制御発振回路１を構成要素とするシステムなど、種々の形態で本開示を実現することもできる。
【符号の説明】
【００８１】
１…デジタル制御発振回路、２…リングオシレータ、３…計測部、４…パルス発生部、５…選択部、６…算出部、７…更新部、８…生成部、９…マスク部、５１…遅延部、５２…セレクタ、６１…保持部、６２…調整値算出部、６３…端数積算部、６４…繰返数算出部、７１…セレクタ、７２…カウンタ、７３…カウンタ制御部、７４…信号制御部、７５…フィルタ、９１…ゲート部、９２…ゲート制御部。
【図１】
2019087975.tif 000003
【図２】
2019087975.tif 000004
【図３】
2019087975.tif 000005
【図４】
2019087975.tif 000006
【図５】
2019087975.tif 000007
【図６】
2019087975.tif 000008
【図７】
2019087975.tif 000009
【図８】
2019087975.tif 000010
【図９】
2019087975.tif 000011
【図１０】
2019087975.tif 000012
【図１１】
2019087975.tif 000013