(57)【特許請求の範囲】
【請求項１】
パルス信号を遅延させる複数の遅延素子を直列接続した構造を有するディレイライン（２）と、
基準クロックによって決まる基準タイミング毎に、予め設定された起動タイミングから前記基準タイミングまでの間に、前記パルス信号が前記遅延素子を通過した段数に応じて符号化する第１符号化手段（３，５）と、
前記基準信号とは非同期に入力される計測対象信号によって決まる計測対象期間の計測開始タイミングおよび計測終了タイミングのそれぞれについて、前記起動タイミングから前記計測開始タイミングまでの間、および前記起動タイミングから前記計測終了タイミングまでの間に前記パルス信号が前記遅延素子を通過した段数に応じて符号化する第２符号化手段（３，４）と、
前記計測対象期間中に含まれる前記基準クロックの周期数をカウントするカウント手段（６５）と、
前記第１符号化手段および前記第２符号化手段での符号化結果に基づいて、前記計測開始タイミングから該計測開始タイミング後に最初に現れる前記基準タイミングまでの時間差を表す前端数、および前記計測終了タイミングから該計測終了タイミング後に最初に現れる前記基準タイミングまでの時間差を表す後端数を求め、前記前端数および前記後端数から、前記基準タイミングの周期を前記カウント手段でのカウント値倍した期間と前記計測対象期間との差を表す端数データを求める端数演算手段（６３，６４）と、
を備え、前記カウントデータおよび前記端数データを、前記計測対象期間の長さを表す計測値として出力することを特徴とする時間計測回路。
【請求項２】
前記ディレイラインは、リング状に接続されていることを特徴とする請求項１に記載の時間計測回路。
【請求項３】
前記第１符号化部および第２符号化部による符号化値の最大値に相当する時間が、前記基準タイミングの周期の２倍以上となるように構成されていることを特徴とする請求項２に記載の時間計測回路。
【請求項４】
前記計測タイミングでの前記第２符号化手段からの出力である計測境界データと、前記カウント手段におけるカウント開始タイミングでの前記第１符号化手段からの出力である基準データと、該カウント開始タイミングの直前に位置する前記基準タイミングでの前記第１符号化手段からの出力である直前基準データとに基づき、前記計測境界データ、前記基準データ、前記直前基準データの大小関係から計測境界データ、基準データ、直前基準データの大小関係に従って、前記カウント開始タイミングが前記計測開始タイミングまたは計測終了タイミングの直後の前記基準タイミングであるか否かの判断結果に従って、前記カウント値を補正する第１補正手段（６３，６６）を備えることを特徴とする請求項３に記載の時間計測回路。
【請求項５】
前記端数演算手段で算出される前端数と後端数の大小関係に従って、前記カウント値を補正する第２補正手段（６４，６６）を備えることを特徴とする請求項１ないし請求項４のいずれか１項に記載の時間計測回路。
【請求項６】
前記第１符号化手段での符号化結果に基づいて、前記基準クロックの周期を表す周期データを生成する基準周期演算手段（６２）を備え、
前記カウントデータおよび前記端数データと共に、前記周期データを出力することを特徴とする請求項１ないし請求項５のいずれか１項に記載の時間計測回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高分解能な時間計測を実現する技術に関する。
【背景技術】
【０００２】
従来、パルス信号を遅延させる複数の遅延素子をリング状に接続したリングオシレータを利用し、計測対象期間中にパルス信号が通過した遅延素子の段数を符号化して時間計測値とする技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−５４８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来装置では、計測対象期間が長くなるほど、時間計測値の揺らぎが大きくなることが知られている。これは、リングオシレータを構成する個々の遅延素子の遅延時間が、電源電圧の揺らぎや熱雑音等によって揺らぎ、その揺らぎが通過した遅延素子の数だけ蓄積されることによって生じるものと考えられる。
【０００５】
そして、例えば、遅延素子の遅延時間（ｎｓオーダ）に対して十分大きな周期（ｍｓオーダ以上）を有する周波数の揺らぎを詳細に検出する必要がある用途等では、計測対象である周波数の揺らぎに対して、時間計測値の揺らぎが無視できない程度に大きなものとなり、精度のよい検出を行うことができないという問題があった。
【０００６】
実際に、ある周波数（発振周期）に設定された信号の周期を、その周波数を変化させながら２０００回ずつ測定したところ、次のような結果が得られた。即ち、図１５（ａ）に示すように、計測対象の信号の周期（発振周期）と、時間計測値（周波数制御データ）の平均値とはリニアな関係が得られる。しかし、図１５（ｂ）（ｃ）に示すように、時間計測値の最大値と最小値との差（バラツキ幅）ｐｐや時間計測値の平均的なバラツキ度合を表す分散σは、計測対象期間が長く（ひいては時間計測値が大きく）なるに従って増大する。具体的には、計測対象期間が１ｍｓ程度になると（各図の右上端付近）、バラツキ幅ｐｐは、実際の値の０．０２％（２００ｎｓ）に達し、分散σは０．００２％（２０ｎｓ）程度となることが確認された。
【０００７】
本発明は、こうした問題に鑑みてなされたものであり、計測対象期間が長い場合でも揺らぎが抑制された計測結果を得る技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の時間計測回路は、ディレイラインと、第１符号化手段と、第２符号化手段と、カウント手段と、端数演算手段とを備える。ディレイラインは、パルス信号を遅延させる複数の遅延素子を直列接続した構造を有する。第１符号化手段は、基準クロックによって決まる基準タイミング毎に、起動タイミングから基準タイミングまでの間に、パルス信号が遅延素子を通過した段数に応じて符号化する。第２符号化手段は、基準信号とは非同期に入力される計測対象信号によって決まる計測対象期間の計測開始タイミングおよび計測終了タイミングのそれぞれについて、起動タイミングから計測開始タイミングまでの間、および起動タイミングから計測終了タイミングまでの間にパルス信号が遅延素子を通過した段数に応じて符号化する。カウント手段は、計測対象期間中に含まれる基準クロックの周期数をカウントする。端数演算手段は、第１符号化手段および第２符号化手段での符号化結果に基づいて、計測開始タイミングから該計測開始タイミング後に最初に現れる基準タイミングまでの時間差を表す前端数、および計測終了タイミングから該計測終了タイミング後に最初に現れる基準タイミングまでの時間差を表す後端数を求め、前端数および後端数から、基準タイミングの周期をカウント手段でのカウント値倍した期間と前記計測対象期間との差を表す端数データを求める。そして、時間計測回路は、カウントデータおよび端数データを、計測対象期間の長さを表す計測値として出力する。
【０００９】
このような構成によれば、周期が正確な基準信号によってカウントデータを生成し、ディレイラインの出力によって残りの端数データを生成しているため、ディレイラインの出力に含まれる揺らぎの蓄積を必要最小限に抑えることができ、ひいては最終的な計測値の揺らぎを抑制することができるため、精度のよい計測値を得ることができる。
【００１０】
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１１】
【図１】時間計測回路の構成を示すブロック図である。
【図２】端数処理部の構成を示すブロック図である。
【図３】処理タイミング生成部の構成を示す回路図である。
【図４】処理タイミング生成部の動作を示すタイミング図である。
【図５】境界端数演算部の構成を示すブロック図である。
【図６】端数演算実行部での処理内容を示すテーブルである。
【図７】図６に示したテーブルの設定内容に関する説明図であり、（ａ）が通常検出状態でのタイミング、（ｂ）が遅延検出状態でのタイミングを示す。
【図８】端数補正値演算部の構成を示すブロック図である。
【図９】周期端数演算部での処理内容を示すテーブルである。
【図１０】図９に示したテーブルの設定内容に関する説明図であり、（ａ）は前端数が後端数より大きい場合、（ｂ）は前端数が後端数より小さい場合を示す。
【図１１】カウント値補正部の構成を示すブロック図である。
【図１２】補正演算部での処理内容を示すテーブルである。
【図１３】図１２に示したテーブルの設定内容に関する説明図であり、（ａ）がＰＭ１＿Ｂ＝０，ＰＭ１＝０の場合、（ｂ）がＰＭ１＿Ｂ＝１，ＰＭ１＝０の場合、（ｃ）がＰＭ１＿Ｂ＝０，ＰＭ１＝１の場合、（ｄ）がＰＭ１＿Ｂ＝１，ＰＭ１＝１の場合を示す。
【図１４】端数処理部の全体的な動作を示すタイミング図である。
【図１５】従来装置に問題点を示すグラフであり、（ａ）が時間計測値と計測対象周期との関係、（ｂ）が時間計測値とそのバラツキ幅との関係、（ｃ）が時間計測値とその分散との関係を示す。
【発明を実施するための形態】
【００１２】
以下に本発明が適用された実施形態について、図面を用いて説明する。
［第１実施形態］
［構成］
図１に示す時間計測回路１は、リングオシレータ２と、カウンタ回路３と、第１符号化部４と、第２符号化部５と、端数処理部６とを備える。
【００１３】
［リングオシレータ］
リングオシレータ２は、遅延素子として奇数個（本実施形態では１５個）の反転回路を使用し、これら反転回路を直列に接続し、且つ、最終段の出力を初段の入力とすることでリング状に接続されている。但し、初段の反転回路は、２入力のナンドゲート、それ以外はインバータゲートで構成されている。ナンドゲートの入力端のうち、リング状の接続に使用されない側の入力端は、外部から起動信号ＳＰを入力するための入力端子に接続されている。以下では、リングオシレータ２の出力を一括してＰ［１４：０］と表記する。但し、個々の反転回路の出力をＰ［ｉ］（ｉ＝０〜１４）と表記する。但し、初段の反転回路の出力をＰ［０］とし、以下、反転回路の接続順に従って各出力をＰ［１］〜Ｐ［１４］と表記する。
【００１４】
このように構成されたリングオシレータ２では、起動信号ＳＰがロウレベルの時には、初段の反転回路の出力Ｐ［０］は、最終段の反転回路の出力Ｐ［１４］の信号レベルに関わらず常にハイレベルとなるため、出力Ｐ［０］〜Ｐ［１４］はいずれも変化せず停止した状態となる。この停止した状態での出力Ｐ［１４］はハイレベルとなる。また、起動信号ＳＰがロウレベルからハイレベルに変化するタイミングを起動タイミングとして、起動タイミングに続けて起動信号ＳＰのハイレベルが保持されると、初段の反転回路の出力Ｐ０がハイレベルからロウレベルに反転する。以下、各反転回路で遅延しながら、各反転回路の出力が反転し、出力Ｐ１４がロウレベルに変化する。すると、初段の反転回路の出力Ｐ０がハイレベルに変化することによって、信号レベルの反転エッジが周回し続けることになる。なお、反転エッジは、ロウレベルからハイレベルに変化するエッジと、ハイレベルからロウレベルに変化するエッジがある。そしていずれか一つの出力Ｐ［ｉ］に着目し、一方の反転エッジを先頭エッジとすると、パルス信号は、反転エッジが２周する毎、即ち反転回路３０段分の遅延時間を周期として出力されることになる。
【００１５】
［カウンタ回路］
カウンタ回路３は、リングオシレータ２の出力Ｐ１４をカウントクロックとして動作する９ビットのカウンタである。ここでは、出力Ｐ１４がロウレベルからハイレベルに変化するタイミングでカウントアップする。従って、カウンタ回路３のカウント値は、パルス信号が反転回路を３０段通過する毎に１増加する。また、カウント値が最大値に達した状態でカウントアップされるとカウント値は０に戻り、その後もカウント動作を継続するように構成されている。以下では、カウンタ回路３の出力をＲＣＮＴ［８：０］と表記する。
【００１６】
［第１符号化部］
第１符号化部４は、ラッチ回路４１，４２，４３、エンコーダ４４、セレクタ４５、遅延回路４６を備える。なお、第１符号化部４は、公知の技術（例えば、特開平７−１８３８００号公報を参照）であるが、その概要について説明する。
【００１７】
ラッチ回路４１は、外部から入力される計測対象クロックＲＣＬＫの立ち上がりエッジのタイミングで、リングオシレータ２の出力Ｐ［１４：０］をラッチする。ラッチ回路４２は、同じく計測対象クロックＲＣＬＫの立ち上がりエッジのタイミングで、カウンタ回路３の出力ＲＣＮＴ［８：０］をラッチする。ラッチ回路４３は、計測対象クロックＲＣＬＫを遅延回路４６にて半周期分だけ遅延させたタイミングで、カウンタ回路３の出力ＲＣＮＴ［８：０］をラッチする。
【００１８】
エンコーダ４４は、ラッチ回路４１がラッチした結果から、リングオシレータ２を構成する反転回路の入出力が同一信号レベルとなっている箇所を特定し、該当する反転回路の位置と、同一となっている信号レベル（ハイレベルかロウレベルか）とに従って、０〜３０の値を表す２進数に符号化する。以下では、エンコーダ４４の出力をＥＮＣ［４：０］と表記する。
【００１９】
セレクタ４５は、エンコーダ４４の出力の最上位ビットＥＮＣ［４］の値に従い、ＥＮＣ［４］＝１の時にラッチ回路４２の出力を選択し、ＥＮＣ［４］＝０の時にラッチ回路４３の出力を選択する。以下では、セレクタ４５が選択した出力をＣＮＴ［８：０］と表記する。なお、このように異なるタイミングでラッチされたいずれかを選択的に使用するのは、値が不安定な状態でラッチされたカウント値を、後段の処理に供給してしまうことがないようにするためである。
【００２０】
第１符号化部４は、エンコーダ４４の出力ＥＮＣ［４：０］を下位ビット、セレクタ４５の出力ＣＮＴ［８：０］を上位ビットとする合計１４ビットのデータである第１計測出力ＤＲ［１３：０］を、計測対象クロックＲＣＬＫの立ち上がりエッジのタイミング毎に端数処理部６に供給する。
【００２１】
［第２符号化部］
第２符号化部５は、第１符号化部４と同様の構成をしているため、その詳細については説明を省略する。但し、計測対象クロックＲＣＬＫの代わりに、基準クロックＳＣＬＫが入力され、第１計測出力ＤＲ［１３：０］の代わりに、第２計測出力ＤＫ［１３：０］を、基準クロックＳＣＬＫの立ち上がりエッジのタイミング毎に端数処理部６に供給する。
【００２２】
なお、基準クロックＳＣＬＫは、水晶発振器の出力等から生成される安定性の高いクロックである。基準クロックＳＣＬＫの周期は、リングオシレータ２を構成する各反転回路の遅延時間の数十〜数百倍程度（例えば１００ｎｓ程度）に設定される。また、基準クロックＳＣＬＫの周期およびカウンタ回路３の出力のビット幅は、第１計測出力ＤＲ［１３：０］および第２計測出力ＤＫ［１３：０］によって表すことができる最大値に対応する時間が、基準クロックＳＣＬＫの周期の２倍以上となるように設定されている。更に、基準クロックＳＣＬＫは、計測対象クロックＲＣＬＫより十分に短い周期（例えば１／１００以下）となるように設定されている。以下では、第１計測出力ＤＲ［１３：０］および第２計測出力ＤＫ［１３：０］を単にＤＲ，ＤＫとも表記する。他の複数ビットを表す記号も同様である。
【００２３】
［端数処理部］
端数処理部６は、図２に示すように、処理タイミング生成部６１と、ＳＣＬＫ周期演算部６２と、境界端数演算部６３と、端数補正値演算部６４と、ＲＣＬＫ周期カウント部６５と、カウント値補正部６６と、出力部６７とを備える。
【００２４】
＜処理タイミング生成部＞
処理タイミング生成部６１は、図３に示すように、ラッチ回路６１１，６１２，６１３およびアンドゲート６１４を備える。ラッチ回路６１１は、計測対象クロックＲＣＬＫの立ち上がりエッジのタイミング（以下「ＲＣＬＫタイミング」という）で出力Ｓ１がハイレベルに変化する。ラッチ回路６１２は、基準クロックＳＣＬＫの立ち上がりエッジのタイミング（以下「ＳＣＬＫタイミング」という）で出力Ｓ１の信号レベルをラッチした出力Ｓ２を生成する。ラッチ回路６１３は、ＳＣＬＫタイミングで出力Ｓ２の信号レベルをラッチし、その信号レベルを反転させた出力Ｓ３を生成する。この出力Ｓ３は、ラッチ回路６１１のリセット端子に入力され、出力Ｓ３がロウレベルの時に、ラッチ回路６１１の出力Ｓ１をロウレベルにリセットする。アンドゲート６１４は、出力Ｓ１，Ｓ２がいずれもハイレベルの時にハイレベルを出力する。このアンドゲート６１４の出力が処理タイミング信号ＨＩＴとして各部に供給される。
【００２５】
このように構成された処理タイミング生成部６１では、図４に示すように、ＲＣＬＫタイミングで、出力Ｓ１がロウレベルからハイレベルに変化する。その後、最初のＳＣＬＫタイミングで、出力Ｓ２がロウレベルからハイレベルに変化し、これに伴って、処理タイミング信号ＨＩＴもロウレベルからハイレベルに変化する。これに続くＳＣＬＫタイミングで、出力Ｓ３はハイレベルからロウレベルに変化する。これに伴って、ラッチ回路６１１がリセットされることにより出力Ｓ１がハイレベルからロウレベルに変化し、更に、処理タイミング信号ＨＩＴもハイレベルからロウレベルに変化する。これに続くＳＣＬＫタイミングで、出力Ｓ２はハイレベルからロウレベルに変化し、出力Ｓ３はロウレベルからハイレベルに変化する。以後、ＲＣＬＫタイミングが再び現れるまで、この状態が維持される。
【００２６】
つまり、処理タイミング生成部６１が生成する処理タイミング信号ＨＩＴは、ＲＣＬＫタイミングが検出される毎に、その直後のＳＣＬＫタイミングでハイレベルに変化し、更に次のＳＣＬＫタイミングでロウレベルに変化する。即ち、基準クロックＳＣＬＫの１周期の間だけハイレベルが保持されることになる。以下では、この期間を処理対象期間ともいう。但し、計測対象クロックＲＣＬＫと基準クロックＳＣＬＫとは非同期に動作するため、ＲＣＬＫタイミングから最初のＳＣＬＫタイミングまでの期間が短いと、出力Ｓ２はその最初のＳＣＬＫタイミングで変化できずに、その次のＳＣＬＫタイミングでハイレベルに変化する場合がある。従って、この場合は、処理タイミング信号ＨＩＴは、ＲＣＬＫタイミングの検出後、２個目のＳＣＬＫタイミングから３個目のＳＣＬＫタイミングまでの間ハイレベルとなる。以下では、ＲＣＬＫタイミング検出後の最初のＳＣＬＫタイミングで処理タイミング信号ＨＩＴがハイレベルとなる場合を「通常検出状態」、２番目のＳＣＬＫタイミングで処理タイミング信号ＨＩＴがハイレベルとなる場合を「遅延検出状態」と呼ぶ。
【００２７】
＜ＲＣＬＫ周期カウント部＞
図２に戻り、ＲＣＬＫ周期カウント部６５は、処理タイミング信号ＨＩＴの立ち上がりエッジ毎に、前の立ち上がりエッジから今回の立ち上がりエッジまでの間に、基準クロックＳＣＬＫによってカウントされたカウント値を出力する。具体的には、処理タイミング信号ＨＩＴの立ち上がりエッジでカウント値を０にリセットし、以後、ＳＣＬＫタイミング毎にカウント値を１ずつインクリメントする。そして、次の処理タイミング信号ＨＩＴの立ち上がりエッジのタイミングで、カウント値を０にリセットすると共に、リセット直前の値をカウント結果として保持し、出力する。
【００２８】
＜境界端数演算部＞
境界端数演算部６３は、図５に示すように、ラッチ回路６３１、端数演算実行部６３２、二進補正部６３３を備える。ラッチ回路６３１は、ＳＣＬＫタイミングで第２計測出力ＤＫをラッチする。端数演算実行部６３２は、第１計測出力ＤＲ、第２計測出力ＤＫ、ラッチ回路６３１にラッチされた１クロック前の第２計測出力ＤＫＢの大小関係を比較し、その比較結果から図６に示すテーブルに従って、端数演算値ＳＵＢおよび第１補正値ＰＭ１を生成する。
【００２９】
端数演算値ＳＵＢは、ＲＣＬＫタイミングからその直後のＳＣＬＫタイミングまでの間に、リングオシレータ２においてパルス信号が反転回路を通過した段数を表す。そして、通常検出状態では、図７（ａ）に示すように、ＳＵＢ＝ＤＫ−ＤＲとなる。一方、遅延検出状態では、図７（ｂ）に示すように、ＳＵＢ＝ＤＫＢ−ＤＲとなる。
【００３０】
但し、第１計測出力ＤＲおよび第２計測出力ＤＫは、ＲＤＬフリーラン（リングオシレータ２およびカウンタ回路３の出力Ｐ，ＲＣＮＴが示す値）を、計測対象クロックＲＣＬＫおよび基準クロックＳＣＬＫの立ち上がりエッジのタイミングでラッチしたものである。また、ＲＤＬフリーランは、図７に示すように、０から上限値までの値を繰り返し、しかも、両クロックＲＣＬＫ，ＳＣＬＫのいずれとも同期していない。このため、ＤＫ，ＤＲ，ＤＫＢの大小関係は、必ずしもＤＫ≧ＤＲ、ＤＫＢ≧ＤＲとなるとは限らない。しかし、ＤＫ＜ＤＲ、ＤＫＢ＜ＤＲの場合は、ＤＫ，ＤＫＢの最上位ビットの更に上位ビットが１であるものとして上述の減算処理を実行し、端数演算値ＳＵＢが常に非負の値となるようにしている。
【００３１】
また、ＲＤＬフリーランの周期が基準クロックＳＣＬＫの周期の２倍以上に設定されていることにより、ＤＫ，ＤＲ，ＤＫＢとＲＤＬフリーランとの関係は、通常検出状態および遅延検出状態のいずれの場合も、３パターンずつに集約される。即ち、図７（ａ）に示すように、ＤＫＢ＜ＤＲ＜ＤＫ（実線の場合）、ＤＲ＜ＤＫ＜ＤＫＢ（点線の場合）、ＤＫ＜ＤＫＢ＜ＤＲ（一点鎖線の場合）であれば、通常検出状態であると判断することができる。また、図７（ｂ）に示すように、ＤＲ＜ＤＫＢ＜ＤＫ（実線の場合）、ＤＫＢ＜ＤＫ＜ＤＲ（点線の場合）、ＤＫ＜ＤＲ＜ＤＫＢ（一点鎖線の場合）であれば、遅延検出状態であると判断することができる。
【００３２】
また、ＲＣＬＫ周期カウント部６５では、カウントの開始／終了を処理タイミング信号ＨＩＴに従って行うため、遅延検出状態では、カウントの開始／終了が１クロック分遅れることになる。これを表すために第１補正値ＰＭ１は、通常検出状態ではＰＭ１＝０（カウント値の補正不要）に設定され、遅延検出状態ではＰＭ１＝１（カウント値の補正必要）に設定される。
【００３３】
二進補正部６３３は、端数演算実行部６３２で求められた端数演算値ＳＵＢを、二進数で表された値となるように補正する。即ち、カウンタ回路３の出力に基づく、第１計測出力ＤＲおよび第２計測出力ＤＫ（ひいては端数演算値ＳＵＢ）の上位９ビットの値ＳＵＢ＿Ｕは、下位４ビットで表される値が３０に達する毎に、１カウントアップされる値であることから、この上位９ビットが表す数値を２倍した値を、端数演算値ＳＵＢから減算した結果を、補正された端数演算値ＳＵＢ（←ＳＵＢ−ＳＵＢ＿Ｕ×２）として出力する。
【００３４】
＜ＳＣＬＫ周期演算部＞
図２に戻り、ＳＣＬＫ周期演算部６２は、第２計測出力ＤＫと、境界端数演算部６３から供給される１クロック前の第２計測出力ＤＫＢとに基づいて減算処理を行うことにより、基準クロックＳＣＬＫの周期を表すＳＣＬＫ周期演算値ＳＣＷ（＝ＤＫ−ＤＫＢ）を求める。但し、このＳＣＬＫ周期演算値ＳＣＷは、端数演算実行部６３２にて求められた端数演算値ＳＵＢと同様に、正確な二進数ではないため、二進補正部６３３と同様の処理を実行し、補正されたＳＣＬＫ周期演算値ＳＣＷを出力する。
【００３５】
＜端数補正値演算部＞
端数補正値演算部６４は、図８に示すように、ラッチ回路６４１、周期端数演算部６４２を備える。ラッチ回路６４１は、処理タイミング信号ＨＩＴがハイレベルの時に、ＳＣＬＫタイミングで端数演算値ＳＵＢをラッチする。実際には、処理タイミング信号ＨＩＴがハイレベルからロウレベルに変化する時のＳＣＬＫタイミングでラッチする。周期端数演算部６４２は、端数演算値（後端数）ＳＵＢとラッチ回路６４１にラッチされた前回の処理対象期間での端数演算値（前端数）ＳＵＢ＿Ｂとの大小関係を比較し、その比較結果から図９に示すテーブルに従って、ＲＣＬＫ周期端数演算値ＲＣＨおよび第２補正値ＰＭ２を生成する。
【００３６】
ＲＣＬＫ周期端数演算値ＲＣＨは、計測対象クロックＲＣＬＫの１周期（計測対象期間）から、基準クロックＳＣＬＫの周期（以下「ＳＣＬＫ周期」という）の整数倍の時間を減算した結果として残るＳＣＬＫ周期未満の残り時間を表す値であり、その残り時間の間に、リングオシレータ２においてパルス信号が通過した反転回路の段数を表す。図１０に示すように、前端数ＳＵＢ＿Ｂは、計測対象期間の開始タイミングで検出される端数であり、後端数ＢＵＢは、計測対象期間の終了タイミングで検出される端数を表す。
【００３７】
そして、ＲＣＬＫ周期端数演算値ＲＣＨは、ＳＵＢ＿Ｂ≧ＳＵＢである場合、ＳＵＢ＿Ｂ−ＳＵＢで求められ（図１０（ａ）参照）、一方、ＳＵＢ＿Ｂ＜ＳＵＢである場合、ＳＣＬＫ周期演算値ＳＣＷを利用して、ＳＣＷ−（ＳＵＢ−ＳＵＢ＿Ｂ）で求められる（図１０（ｂ）参照）。
【００３８】
また、計測対象期間中の含まれる基準クロックＳＣＬＫの周期数は、ＳＵＢ＿Ｂ≧ＳＵＢである場合、ＲＣＬＫ周期カウント部６５でのカウント値と一致し（図１０（ａ）参照）、一方、ＳＵＢ＿Ｂ＜ＳＵＢである場合、ＲＣＬＫ周期カウント部６５でのカウント値から１を減じたものと一致する（図１０（ｂ）参照）。これを表すために第２補正値ＰＭ２は、ＳＵＢ＿Ｂ≧ＳＵＢの場合は、ＰＭ２＝０（カウント値の補正不要）に設定され、ＳＵＢ＿Ｂ＜ＳＵＢの場合は、ＰＭ２＝１（カウント値の補正必要）に設定される。
【００３９】
＜カウント値補正部＞
カウント値補正部６６は、図１１に示すように、ラッチ回路６６１、補正演算部６６２を備える。ラッチ回路６６１は、処理タイミング信号ＨＩＴがハイレベルの時に、ＳＣＬＫタイミングで第１補正値ＰＭ１をラッチする。実際には、処理タイミング信号ＨＩＴがハイレベルからロウレベルに変化する時のＳＣＬＫタイミングでラッチする。補正演算部６６２は、第１補正値ＰＭ１と、ラッチ回路６６１にラッチされた前回の処理タイミングでの第１補正値ＰＭ１＿Ｂと、第２補正値ＰＭ２とに基づき、図１２に示すテーブルに従って、ＲＣＬＫ周期カウント部６５で求められたカウント値ＣＴを補正することによって、ＲＣＬＫ周期カウント値ＲＣＣを生成する。
【００４０】
第１補正値ＰＭ１は、ＲＣＬＫタイミングでの処理タイミング信号ＨＩＴの検出状態が、通常検出状態（ＰＭ１＝０）か遅延検出状態（ＰＭ１＝１）かを表すものである。そして、計測対象期間の開始タイミングでの第１補正値ＰＭ１＿Ｂと、計測対象期間の終了タイミングでの第１補正値ＰＭ１との組み合わせで４パターンの補正が存在する。即ち、開始タイミング、終了タイミングのいずれもが通常検出状態（ＰＭ１＿Ｂ＝１，ＰＭ１＝０）の場合、図１３（ａ）に示すように、カウント値ＣＴは、開始タイミングの直後のＳＣＬＫタイミングからカウントが開始され、終了タイミングの直前のＳＣＬＫタイミングでカウントが終了する。この場合、カウント値ＣＴを補正する必要がない。開始タイミングが遅延検出状態、終了タイミングが通常検出状態（ＰＭ１＿Ｂ＝１，ＰＭ１＝０）の場合、図１３（ｂ）に示すように、カウント値ＣＴは、開始タイミング後の２個目のＳＣＬＫタイミングからカウントが開始され、終了タイミング直前のＳＣＬＫタイミングでカウントが終了する。この場合、開始タイミング直後の未カウント分を補正するために、カウント値ＣＴを１増加させる必要がある。開始タイミングが通常検出状態、終了タイミングが遅延検出状態（ＰＭ１＿Ｂ＝０，ＰＭ１＝１）の場合、図１３（ｃ）に示すように、カウント値ＣＴは、開始タイミングの直後のＳＣＬＫタイミングからカウントが開始され、終了タイミングの直後のＳＣＬＫタイミングでカウントが終了する。この場合、終了タイミング直後の不要なカウント分を補正するために、カウント値ＣＴを１減少させる必要がある。開始タイミング、終了タイミングのいずれもが遅延検出状態（ＰＭ１＿Ｂ＝１，ＰＭ１＝１）の場合、図１３（ｄ）に示すように、カウント値ＣＴは、開始タイミング後の２個目のＳＣＬＫタイミングからカウントが開始され、終了タイミングの直後のＳＣＬＫタイミングでカウントが終了する。この場合、開始タイミング直後の未カウント分、および終了タイミング直後の不要なカウント分を補正する必要がある。しかし、前者が１増加、後者が１減少で相殺されるため、結局、カウント値ＣＴを補正する必要はない。
【００４１】
第２補正値ＰＭ２は、端数補正値演算部６４で説明したように、ＰＭ２＝０であればカウント値ＣＴを補正する必要はなく、ＰＭ２＝１であれば、カウント値ＣＴを１減少させる必要がある。つまり、補正演算部６６２では、第１補正値ＰＭ１，ＰＭ１＿Ｂによる４パターンの補正と、第２補正値ＰＭ２による２パターンの補正とを組み合わせた合計８パターンの補正を実行することになる（図１２参照）。
【００４２】
＜出力部＞
図２に戻り、出力部６７は、図２に示すように、ラッチ回路６７１，６７２，６７３を備える。
【００４３】
ラッチ回路６７１〜６７３は、いずれも処理タイミング信号ＨＩＴがハイレベルの時に、ＳＣＬＫタイミングでそれぞれの入力値をラッチする。但し、ラッチ回路６７１は、ＳＣＬＫ周期演算部６２で生成されたＳＣＬＫ周期演算値ＳＣＷを入力値とし、ラッチ回路６７２は、端数補正値演算部６４で生成されたＲＣＬＫ周期端数演算値ＲＣＨを入力とし、ラッチ回路６７３は、カウント値補正部６６で生成されたＲＣＬＫ周期カウント値ＲＣＣを入力値とする。
【００４４】
＜端数処理部の動作＞
このように構成された端数処理部６では、図１４に示すように、ＲＣＬＫタイミングおよびＳＣＬＫタイミングから生成された処理タイミング信号ＨＩＴに基づいて、カウント値ＣＴを生成する。また、処理タイミング信号ＨＩＴがハイレベルとなる処理対象期間の間に、端数処理部６を構成する各部が演算を実行して、第１計測出力ＤＲおよび第２計測出力ＤＫからＲＣＬＫ周期端数演算値ＲＣＨ、カウント値ＣＴを補正することでＲＣＬＫ周期カウント値ＲＣＣ、第２計測出力ＤＫからＳＣＬＫ周期演算値ＳＣＷを生成する。そして、処理対象期間の終了時のＳＣＬＫタイミングで各演算結果ＲＣＨ，ＲＣＣ，ＳＣＷをラッチして出力する。なお、ＳＣＬＫ周期演算値ＳＣＷは、例えば、ＲＣＬＫ周期端数演算値ＲＣＨを、基準クロックＳＣＬＫの周期を基準（例えば１）とした値に変換する際に使用される。
【００４５】
［効果］
以上詳述した時間計測回路１では、ＲＣＬＫ周期の計測値を、周期が正確な基準クロックＳＣＬＫによって生成されたＲＣＬＫ周期カウント値ＲＣＣと、リングオシレータ２の出力から生成されたＲＣＬＫ周期端数演算値ＲＣＨとで表現するようにされている。これにより、リングオシレータ２の出力に含まれる揺らぎの影響を受ける期間がＳＣＬＫ周期未満に限定され、その揺らぎの蓄積を必要最小限に抑えることができるため、精度のよい計測値を得ることができる。
【００４６】
また、時間計測回路１では、計測対象クロックＲＣＬＫと基準クロックＳＣＬＫとが非同期であることに基づく、各種不確定さを類型化し、その類型に応じてカウント値ＲＣＣを補正しているため、信頼度の高い計測値を得ることができる。
【００４７】
［他の実施形態］
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されることなく、種々の形態を採り得る。
【００４８】
（１）上記実施形態では、リングオシレータとカウンタ回路を用いているが、代わりに遅延素子を単に直列接続したリニアディレイラインを用いてもよい。
（２）上記実施形態では、リングオシレータを奇数個の反転回路で構成すると共に、リングオシレータの出力が２の累乗ではないため、後段にて二進数にする補正を行っているが、２の累乗を出力するリングオシレータを用いて構成し、後段で二進数に補正する処理を省略するように構成してもよい。
【００４９】
（３）上記実施形態における一つの構成要素が有する機能を複数の構成要素に分散させたり、複数の構成要素が有する機能を一つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換等してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【００５０】
（４）なお、本発明は上述した時間計測回路の他、当該時間計測回路を構成要素とするシステム、時間計測方法など、種々の形態で実現することもできる。
【符号の説明】
【００５１】
１…時間計測回路  ２…リングオシレータ  ３…カウンタ回路  ４…第１符号化部  ５…第２符号化部  ６…端数処理部  ４１〜４３…ラッチ回路  ４４…エンコーダ  ４５…セレクタ  ４６…遅延回路  ６１…処理タイミング生成部  ６２…ＳＣＬＫ周期演算部  ６３…境界端数演算部  ６４…端数補正値演算部  ６５…ＲＣＬＫ周期カウント部  ６６…カウント値補正部  ６７…出力部
【図１】
0006299516.tif 000002
【図２】
0006299516.tif 000003
【図３】
0006299516.tif 000004
【図４】
0006299516.tif 000005
【図５】
0006299516.tif 000006
【図６】
0006299516.tif 000007
【図７】
0006299516.tif 000008
【図８】
0006299516.tif 000009
【図９】
0006299516.tif 000010
【図１０】
0006299516.tif 000011
【図１１】
0006299516.tif 000012
【図１２】
0006299516.tif 000013
【図１３】
0006299516.tif 000014
【図１４】
0006299516.tif 000015
【図１５】
0006299516.tif 000016