(57)【特許請求の範囲】
【請求項１】
外部から入力される第１のクロックを数えるように構成された第１のカウンタと、
時間計測の開始信号または停止信号の入力のタイミングであるＳＥＴ入力のタイミングで有意となり、ＲＥＳＥＴ入力のタイミングで無意となる発振許可信号を出力するように構成されたフリップフロップ回路と、
前記発振許可信号が有意の期間中に前記第１のクロックよりも高速な第２のクロックを生成するように構成された発振回路と、
前記第２のクロックを数えるように構成された第２のカウンタと、
前記第１のカウンタの計数結果と前記第２のカウンタの計数結果とを基に前記開始信号の入力から前記停止信号の入力までの時間間隔を算出するように構成された時間算出回路と、
前記開始信号および前記停止信号と前記第１のクロックとから生成した発振停止信号を、前記フリップフロップ回路に前記ＲＥＳＥＴ入力として与えるように構成された制御回路とを備え、
前記制御回路は、前記ＳＥＴ入力のタイミングから前記ＲＥＳＥＴ入力のタイミングまでの期間が前記第１のクロックの１周期以上３周期以下の期間となる前記発振停止信号を生成することを特徴とする時間計測回路。
【請求項２】
請求項１記載の時間計測回路において、
前記制御回路は、
前記開始信号および前記停止信号の入力の度に反転する検出信号を出力するように構成された検出信号生成回路と、
前記検出信号を、前記第１のクロックの１クロック分遅延させた第１の遅延信号を出力するように構成された第１のＤフリップフロップ回路と、
前記第１の遅延信号を、前記第１のクロックの１／２クロック分遅延させた第２の遅延信号を出力するように構成された第２のＤフリップフロップ回路と、
前記第２の遅延信号を、前記第１のクロックの１／２クロック分遅延させた第３の遅延信号を出力するように構成された第３のＤフリップフロップ回路と、
前記第３の遅延信号が入力されたタイミングで有意となり、次の第１のクロックが入力されたタイミングで無意となる前記発振停止信号を生成するように構成された発振停止信号生成回路と、
前記発振停止信号を、前記第１のクロックの１／２クロック分遅延させた取り込み許可信号を出力するように構成された第４のＤフリップフロップ回路とから構成され、
前記時間算出回路は、前記取り込み許可信号が有意となるタイミングで前記第２のカウンタの計数結果を取り込むことを特徴とする時間計測回路。
【請求項３】
請求項１または２記載の時間計測回路において、
前記第２のカウンタは、前記発振停止信号が有意から無意へと変わるタイミングで計数結果を０に初期化することを特徴とする時間計測回路。
【請求項４】
請求項２記載の時間計測回路において、
前記制御回路は、前記取り込み許可信号が有意となるタイミングで前記取り込み許可信号を微分した結果をリセット信号として出力するように構成された微分回路をさらに備え、
前記第２のカウンタは、前記リセット信号が有意となるタイミングで計数結果を０に初期化することを特徴とする時間計測回路。
【請求項５】
請求項１記載の時間計測回路において、
前記制御回路は、
前記開始信号および前記停止信号の入力の度に反転する検出信号を出力するように構成された検出信号生成回路と、
前記検出信号を、前記第１のクロックの１／２クロック分遅延させた第１の遅延信号を出力するように構成された第１のＤフリップフロップ回路と、
前記第１の遅延信号を、前記第１のクロックの１／２クロック分遅延させた第２の遅延信号を出力するように構成された第２のＤフリップフロップ回路と、
前記第２の遅延信号を、前記第１のクロックの１／２クロック分遅延させた第３の遅延信号を出力するように構成された第３のＤフリップフロップ回路と、
前記第２の遅延信号と前記第３の遅延信号との排他的論理和の結果を、前記発振停止信号および取り込み許可信号として出力するように構成された排他的論理和回路と、
前記取り込み許可信号が無意となるタイミングで前記取り込み許可信号を微分した結果をリセット信号として出力するように構成された微分回路とから構成され、
前記時間算出回路は、前記取り込み許可信号が有意となるタイミングで前記第２のカウンタの計数結果を取り込み、
前記第２のカウンタは、前記リセット信号が有意となるタイミングで計数結果を０に初期化することを特徴とする時間計測回路。
【請求項６】
請求項１記載の時間計測回路において、
前記制御回路は、
前記開始信号および前記停止信号の入力の度に反転する検出信号を出力するように構成された検出信号生成回路と、
前記検出信号を、前記第１のクロックの１クロック分遅延させた第１の遅延信号を出力するように構成された第１のＤフリップフロップ回路と、
前記第１の遅延信号を、前記第１のクロックの１クロック分遅延させた第２の遅延信号を出力するように構成された第２のＤフリップフロップ回路と、
前記第２の遅延信号を、前記第１のクロックの１クロック分遅延させた第３の遅延信号を出力するように構成された第３のＤフリップフロップ回路と、
前記第３の遅延信号が入力されたタイミングで有意となり、次の第１のクロックが入力されたタイミングで無意となる前記発振停止信号を生成するように構成された発振停止信号生成回路と、
前記発振停止信号を、前記第１のクロックの１／２クロック分遅延させた取り込み許可信号を出力するように構成された第４のＤフリップフロップ回路とから構成され、
前記時間算出回路は、前記取り込み許可信号が有意となるタイミングで前記第２のカウンタの計数結果を取り込むことを特徴とする時間計測回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高分解能な時間測定を行うことが可能な時間計測回路に関するものである。
【背景技術】
【０００２】
ｐｓｅｃオーダーの高分解能な時間測定を行う場合、論理回路のゲート遅延を用いるＴＤＣ（Time-to-Digital Converter）と呼ばれる手法（非特許文献１参照）が広く知られている。ただし、非特許文献１に開示されている構成では時間計測範囲を広げれば広げるほど接続する遅延回路を増やすこととなるため、実際はＮｕｔｔ  Ｍｅｔｈｏｄ（非特許文献２参照）と呼ばれる低速カウンタと高速カウンタを併用して時間計測を行う手法がよく用いられる（以降、本願で述べるＴＤＣは全てＮｕｔｔ  Ｍｅｔｈｏｄを適用した計測方式とする。）。
【０００３】
Ｎｕｔｔ  Ｍｅｔｈｏｄは、高速クロックの動作期間を図１７の開始信号Ｓｔａｒｔの立ち上がりからクロックＣＬＫrefの立ち上がりまでの期間、および停止信号Ｓｔｏｐの立ち上がりからクロックＣＬＫrefの立ち上がりまでの期間のみとし、これらの時間間隔ΔＴstart，ΔＴstopを高速クロックを用いて計測する手法である。
【０００４】
開始信号Ｓｔａｒｔの立ち上がり直後のクロックＣＬＫrefの立ち上がりから停止信号Ｓｔｏｐの立ち上がり直後のクロックＣＬＫrefの立ち上がりまでの期間ＮＴrefを低速カウンタで測定すれば、開始信号Ｓｔａｒｔの立ち上がりから停止信号Ｓｔｏｐの立ち上がりまでの時間間隔ΔＴinを次式のように求めることができる。
ΔＴin＝ＮＴref＋ΔＴstart−ΔＴstop                            ・・・（１）
【０００５】
Ｎｕｔｔ  Ｍｅｔｈｏｄによれば、高速クロックによる２回の時間計測期間は、それぞれ低速クロックＣＬＫｒｅｆの１周期よりも短くなる。Ｎｕｔｔ  Ｍｅｔｈｏｄを用いる場合、低速カウンタと高速カウンタの位相を合わせるためにＤＬＬ（Delay Locked Loop）、またはＰＬＬ（Phase Locked Loop）をベースとしたＴＤＣを用いるのが一般的である。しかしながら、ＤＬＬやＰＬＬはクロックの発振の安定化に例えば５〜１０μｓｅｃ（低速カウンタの周波数を４ＭＨｚ、高速カウンタの周波数を６３０ＭＨｚとした場合）の時間を要するので、時間計測開始前にＴＤＣを動作させておく必要があり、低消費電力化の実現が難しいという問題点があった。
【０００６】
例えばガスメータ向け超音波流量計は、超音波の伝搬時間差を低消費電力かつ高分解能で測定する必要があるため、高速カウンタの動作期間（高速クロックの発振期間）をできる限り短くする必要がある。しかし、上記のとおりＤＬＬ方式のＴＤＣとＰＬＬ方式のＴＤＣは遅延回路の発振安定化に時間を要するため、高速クロックの発振期間が長くなり消費電力面で不利である。
【０００７】
ＴＤＣの動作時間（高速クロックの発振時間）を最小にする他の構成として、例えば特許文献１に開示されたリングオシレータ型の構成も考えられる。しかしながら、リングオシレータ型のＴＤＣでは、ＴＤＣに入力される開始信号と停止信号のタイミングによってＲＳフリップフロップ回路や遅延回路（Ｄラッチ）の出力信号がメタステーブル状態となってしまうことがある。
【０００８】
このように、リングオシレータ型のＴＤＣでは、内部で使用されているＲＳフリップフロップ回路へのＲＥＳＥＴ信号とＳＥＴ信号が競合することにより、ＲＳフリップフロップ回路の出力信号がメタステーブル状態となる可能性があるため、正確な時間測定を行うことができないという課題があった。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第４８５８２２０号明細書
【非特許文献】
【００１０】
【非特許文献１】Stephan Henzler，“Time-to-Digital Converters”，Springer，2010
【非特許文献２】Pekka Keranen，“HIGH PRECISION TIME-TODIGITAL CONVERTERS FOR APPLICATIONS REQUIRING A WIDE MEASUREMENT RANGE”，University of Oulu，2016
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上記課題を解決するためになされたもので、低消費電力と、開始信号と停止信号の入力タイミングによらない正確で高分解能な時間測定とを両立させることができる時間計測回路を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の時間計測回路は、外部から入力される第１のクロックを数えるように構成された第１のカウンタと、時間計測の開始信号または停止信号の入力のタイミングであるＳＥＴ入力のタイミングで有意となり、ＲＥＳＥＴ入力のタイミングで無意となる発振許可信号を出力するように構成されたフリップフロップ回路と、前記発振許可信号が有意の期間中に前記第１のクロックよりも高速な第２のクロックを生成するように構成された発振回路と、前記第２のクロックを数えるように構成された第２のカウンタと、前記第１のカウンタの計数結果と前記第２のカウンタの計数結果とを基に前記開始信号の入力から前記停止信号の入力までの時間間隔を算出するように構成された時間算出回路と、前記開始信号および前記停止信号と前記第１のクロックとから生成した発振停止信号を、前記フリップフロップ回路に前記ＲＥＳＥＴ入力として与えるように構成された制御回路とを備え、前記制御回路は、前記ＳＥＴ入力のタイミングから前記ＲＥＳＥＴ入力のタイミングまでの期間が前記第１のクロックの１周期以上３周期以下の期間となる前記発振停止信号を生成することを特徴とするものである。
【００１３】
また、本発明の時間計測回路の１構成例において、前記制御回路は、前記開始信号および前記停止信号の入力の度に反転する検出信号を出力するように構成された検出信号生成回路と、前記検出信号を、前記第１のクロックの１クロック分遅延させた第１の遅延信号を出力するように構成された第１のＤフリップフロップ回路と、前記第１の遅延信号を、前記第１のクロックの１／２クロック分遅延させた第２の遅延信号を出力するように構成された第２のＤフリップフロップ回路と、前記第２の遅延信号を、前記第１のクロックの１／２クロック分遅延させた第３の遅延信号を出力するように構成された第３のＤフリップフロップ回路と、前記第３の遅延信号が入力されたタイミングで有意となり、次の第１のクロックが入力されたタイミングで無意となる前記発振停止信号を生成するように構成された発振停止信号生成回路と、前記発振停止信号を、前記第１のクロックの１／２クロック分遅延させた取り込み許可信号を出力するように構成された第４のＤフリップフロップ回路とから構成され、前記時間算出回路は、前記取り込み許可信号が有意となるタイミングで前記第２のカウンタの計数結果を取り込むことを特徴とするものである。
また、本発明の時間計測回路の１構成例において、前記第２のカウンタは、前記発振停止信号が有意から無意へと変わるタイミングで計数結果を０に初期化することを特徴とするものである。
また、本発明の時間計測回路の１構成例において、前記制御回路は、前記取り込み許可信号が有意となるタイミングで前記取り込み許可信号を微分した結果をリセット信号として出力するように構成された微分回路をさらに備え、前記第２のカウンタは、前記リセット信号が有意となるタイミングで計数結果を０に初期化することを特徴とするものである。
【００１４】
また、本発明の時間計測回路の１構成例において、前記制御回路は、前記開始信号および前記停止信号の入力の度に反転する検出信号を出力するように構成された検出信号生成回路と、前記検出信号を、前記第１のクロックの１／２クロック分遅延させた第１の遅延信号を出力するように構成された第１のＤフリップフロップ回路と、前記第１の遅延信号を、前記第１のクロックの１／２クロック分遅延させた第２の遅延信号を出力するように構成された第２のＤフリップフロップ回路と、前記第２の遅延信号を、前記第１のクロックの１／２クロック分遅延させた第３の遅延信号を出力するように構成された第３のＤフリップフロップ回路と、前記第２の遅延信号と前記第３の遅延信号との排他的論理和の結果を、前記発振停止信号および取り込み許可信号として出力するように構成された排他的論理和回路と、前記取り込み許可信号が無意となるタイミングで前記取り込み許可信号を微分した結果をリセット信号として出力するように構成された微分回路とから構成され、前記時間算出回路は、前記取り込み許可信号が有意となるタイミングで前記第２のカウンタの計数結果を取り込み、前記第２のカウンタは、前記リセット信号が有意となるタイミングで計数結果を０に初期化することを特徴とするものである。
【００１５】
また、本発明の時間計測回路の１構成例において、前記制御回路は、前記開始信号および前記停止信号の入力の度に反転する検出信号を出力するように構成された検出信号生成回路と、前記検出信号を、前記第１のクロックの１クロック分遅延させた第１の遅延信号を出力するように構成された第１のＤフリップフロップ回路と、前記第１の遅延信号を、前記第１のクロックの１クロック分遅延させた第２の遅延信号を出力するように構成された第２のＤフリップフロップ回路と、前記第２の遅延信号を、前記第１のクロックの１クロック分遅延させた第３の遅延信号を出力するように構成された第３のＤフリップフロップ回路と、前記第３の遅延信号が入力されたタイミングで有意となり、次の第１のクロックが入力されたタイミングで無意となる前記発振停止信号を生成するように構成された発振停止信号生成回路と、前記発振停止信号を、前記第１のクロックの１／２クロック分遅延させた取り込み許可信号を出力するように構成された第４のＤフリップフロップ回路とから構成され、前記時間算出回路は、前記取り込み許可信号が有意となるタイミングで前記第２のカウンタの計数結果を取り込むことを特徴とするものである。
【発明の効果】
【００１６】
本発明によれば、第１のカウンタとフリップフロップ回路と発振回路と第２のカウンタと時間算出回路とを設け、さらにＳＥＴ入力のタイミングからＲＥＳＥＴ入力のタイミングまでの期間が第１のクロックの１周期以上３周期以下の期間となる発振停止信号を生成してフリップフロップ回路のＲＥＳＥＴ入力として与える制御回路を設けることにより、低消費電力化と、開始信号と停止信号の入力タイミングによらない正確で高分解能な時間測定とを両立させることができる。
【００１７】
また、本発明では、取り込み許可信号が有意となるタイミングで取り込み許可信号を微分した結果を第２のカウンタのリセット信号として出力する微分回路を設けることにより、２つの停止信号間の受け付け可能間隔を短縮することができる。
【００１８】
また、本発明では、取り込み許可信号が無意となるタイミングで取り込み許可信号を微分した結果を第２のカウンタのリセット信号として出力する微分回路を設けることにより、２つの停止信号間の受け付け可能間隔をさらに短縮することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の第１の実施例に係る時間計測回路の構成を示す回路図である。
【図２】図２は、本発明の第１の実施例に係る時間計測回路の動作を説明するタイミングチャートである。
【図３】図３は、本発明の第１の実施例に係る時間計測回路の発振停止信号生成回路の構成例を示す回路図である。
【図４】図４は、従来のリングオシレータ型ＴＤＣの構成を示す回路図である。
【図５】図５は、従来のリングオシレータ型ＴＤＣの動作を説明するタイミングチャートである。
【図６】図６は、本発明の第２の実施例に係る時間計測回路の構成を示す回路図である。
【図７】図７は、本発明の第２の実施例に係る時間計測回路の微分回路の構成を示す回路図である。
【図８】図８は、本発明の第２の実施例に係る時間計測回路の動作を説明するタイミングチャートである。
【図９】図９は、本発明の第３の実施例に係る時間計測回路の構成を示す回路図である。
【図１０】図１０は、本発明の第３の実施例に係る時間計測回路の微分回路の構成を示す回路図である。
【図１１】図１１は、本発明の第３の実施例に係る時間計測回路の動作を説明するタイミングチャートである。
【図１２】図１２は、本発明の第４の実施例に係る時間計測回路の構成を示す回路図である。
【図１３】図１３は、本発明の第４の実施例に係る時間計測回路の動作を説明するタイミングチャートである。
【図１４】図１４は、超音波流量計の計測原理を説明する断面図である。
【図１５】図１５は、超音波送信信号と超音波受信信号の波形例を示す図である。
【図１６】図１６は、本発明の第１〜第３の実施例に係る時間計測回路の時間算出回路を実現するコンピュータの構成例を示すブロック図である。
【図１７】図１７は、Ｎｕｔｔ  Ｍｅｔｈｏｄを説明する図である。
【発明を実施するための形態】
【００２０】
［第１の実施例］
以下、本発明の実施例について図面を参照して説明する。図１は本発明の第１の実施例に係る時間計測回路の構成を示す回路図である。時間計測回路は、リングオシレータ型ＴＤＣ１と、リングオシレータ型ＴＤＣ制御回路２とを備えている。
【００２１】
リングオシレータ型ＴＤＣ１は、外部から入力される、時間計測の開始信号ＳＴＡＲＴと停止信号ＳＴＯＰの論理和の結果を発振開始信号ＲＯＳＣ＿ＳＴＡＲＴとして出力するＯＲ回路１０と、発振開始信号ＲＯＳＣ＿ＳＴＡＲＴ（開始信号ＳＴＡＲＴと停止信号ＳＴＯＰ）をＳＥＴ入力とし、リングオシレータ型ＴＤＣ制御回路２から出力された発振停止信号ＲＯＳＣ＿ＳＴＯＰをＲＥＳＥＴ入力とし、発振許可信号ＴＤＣ＿ＥＮを出力するＲＳフリップフロップ回路１１と、発振許可信号ＴＤＣ＿ＥＮが有意の期間中に高速クロックＲＯＳＣ＿ＣＬＫ（第２のクロック）を生成するリングオシレータ１２（発振回路）と、高速クロックＲＯＳＣ＿ＣＬＫをカウントする高速カウンタ１３（第２のカウンタ）と、発振停止信号ＲＯＳＣ＿ＳＴＯＰのタイミングを示すタイミング信号ＨＳ＿ＰＨＡＳＥを出力するデコーダ１４と、外部から入力される低速クロックＬＳ＿ＣＬＫ（第１のクロック）をカウントする低速カウンタ１５（第１のカウンタ）と、低速カウンタ１５のカウント開始／停止を制御する低速クロックイネーブル作成回路１６と、高速カウンタ１３の計数結果ＨＳ＿ＣＮＴと低速カウンタ１５の計数結果ＬＳ＿ＣＮＴとを基に、開始信号ＳＴＡＲＴの立ち上がりから停止信号ＳＴＯＰの立ち上がりまでの時間間隔を算出する時間算出回路１７とから構成される。
【００２２】
リングオシレータ１２は、発振許可信号ＴＤＣ＿ＥＮと高速クロックＲＯＳＣ＿ＣＬＫとの論理積をとるＡＮＤ回路１２０と、ＡＮＤ回路１２０の出力に縦続接続された複数のインバータ回路１２０−１〜１２０−ｎ（ｎは２以上の整数）と、ＡＮＤ回路１２０と各インバータ回路１２０−１〜１２０−ｎの出力をそれぞれＤ入力とし、発振停止信号ＲＯＳＣ＿ＳＴＯＰをクロック入力とする複数のＤフリップフロップ回路１２１−１〜１２１−（ｎ＋１）とから構成される。
【００２３】
リングオシレータ型ＴＤＣ制御回路２は、発振開始信号ＲＯＳＣ＿ＳＴＡＲＴをクロック入力とし、発振開始信号ＲＯＳＣ＿ＳＴＡＲＴの立ち上がりの度に反転する検出信号ＳＴ＿ＤＥＴを出力するＤフリップフロップ回路２０と、検出信号ＳＴ＿ＤＥＴの反転信号をＤフリップフロップ回路２０のＤ入力とするインバータ回路２１と、検出信号ＳＴ＿ＤＥＴをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち上がりで検出信号ＳＴ＿ＤＥＴを取り込み、検出信号ＳＴ＿ＤＥＴを遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄ（第１の遅延信号）を出力するＤフリップフロップ回路２２と、Ｄフリップフロップ回路２２から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち下がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを取り込み、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄ（第２の遅延信号）を出力するＤフリップフロップ回路２３と、Ｄフリップフロップ回路２３から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち上がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを取り込み、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄ（第３の遅延信号）を出力するＤフリップフロップ回路２４と、発振停止信号ＲＯＳＣ＿ＳＴＯＰを生成する発振停止信号生成回路２５と、発振停止信号ＲＯＳＣ＿ＳＴＯＰをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、高速カウンタ１３の計数結果ＨＳ＿ＣＮＴの取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮを出力するＤフリップフロップ回路２６とから構成される。
【００２４】
Ｄフリップフロップ回路２０とインバータ回路２１とは、検出信号ＳＴ＿ＤＥＴを生成する検出信号生成回路３３を構成している。
【００２５】
以下、本実施例の時間計測回路の動作を説明する。図２は時間計測回路の動作を説明するタイミングチャートである。
ＯＲ回路１０は、開始信号ＳＴＡＲＴと停止信号ＳＴＯＰの論理和の結果を、図２に示すような発振開始信号ＲＯＳＣ＿ＳＴＡＲＴとして出力する。
【００２６】
リングオシレータ型ＴＤＣ制御回路２のＤフリップフロップ回路２０とインバータ回路２１とは、図２に示すように発振開始信号ＲＯＳＣ＿ＳＴＡＲＴの立ち上がりの度に反転する検出信号ＳＴ＿ＤＥＴを出力する。すなわち、検出信号ＳＴ＿ＤＥＴは、開始信号ＳＴＡＲＴまたは停止信号ＳＴＯＰの入力の度に反転する。
【００２７】
ＲＳフリップフロップ回路１１は、発振開始信号ＲＯＳＣ＿ＳＴＡＲＴをＳＥＴ入力とし、後述のようにリングオシレータ型ＴＤＣ制御回路２から出力された発振停止信号ＲＯＳＣ＿ＳＴＯＰをＲＥＳＥＴ入力とし、図２に示すように発振開始信号ＲＯＳＣ＿ＳＴＡＲＴの立ち上がりで有意（Ｈｉｇｈ）となり、発振停止信号ＲＯＳＣ＿ＳＴＯＰの立ち上がりで無意（Ｌｏｗ）となる発振許可信号ＴＤＣ＿ＥＮを出力する。すなわち、ＲＳフリップフロップ回路１１は、開始信号ＳＴＡＲＴまたは停止信号ＳＴＯＰの立ち上がりで有意となる発振許可信号ＴＤＣ＿ＥＮを出力する。
【００２８】
リングオシレータ１２は、ＲＳフリップフロップ回路１１から出力された発振許可信号ＴＤＣ＿ＥＮが有意の期間中に、図２に示すように、低速クロックＬＳ＿ＣＬＫよりも高速なクロックＲＯＳＣ＿ＣＬＫを生成する。
高速カウンタ１３は、リングオシレータ型ＴＤＣ制御回路２から出力された発振停止信号ＲＯＳＣ＿ＳＴＯＰが無意（Ｌｏｗ）の期間中に、高速クロックＲＯＳＣ＿ＣＬＫをカウントして計数結果ＨＳ＿ＣＮＴを出力する。
【００２９】
デコーダ１４は、Ｄフリップフロップ回路１２１−１〜１２１−（ｎ＋１）の出力ＲＯＳＣ＿ＰＨＡＳＥを基に、発振停止信号ＲＯＳＣ＿ＳＴＯＰのタイミングを示すタイミング信号ＨＳ＿ＰＨＡＳＥを出力する。
【００３０】
リングオシレータ型ＴＤＣ制御回路２のＤフリップフロップ回路２２は、検出信号ＳＴ＿ＤＥＴをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち上がりで検出信号ＳＴ＿ＤＥＴを取り込み、図２に示すように検出信号ＳＴ＿ＤＥＴを、低速クロックＬＳ＿ＣＬＫの１クロック分遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを出力する。
【００３１】
リングオシレータ型ＴＤＣ制御回路２のＤフリップフロップ回路２３は、Ｄフリップフロップ回路２２から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち下がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを取り込み、図２に示すように信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを、低速クロックＬＳ＿ＣＬＫの１／２クロック分遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを出力する。
【００３２】
リングオシレータ型ＴＤＣ制御回路２のＤフリップフロップ回路２４は、Ｄフリップフロップ回路２３から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち上がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを取り込み、図２に示すように信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを、低速クロックＬＳ＿ＣＬＫの１／２クロック分遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄを出力する。
【００３３】
リングオシレータ型ＴＤＣ制御回路２の発振停止信号生成回路２５は、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄ，ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄと低速クロックＬＳ＿ＣＬＫとを入力とし、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄの立ち上がりで有意（Ｈｉｇｈ）となり、次の低速クロックＬＳ＿ＣＬＫの立ち上がりで無意（Ｌｏｗ）となる発振停止信号ＲＯＳＣ＿ＳＴＯＰを生成する。
【００３４】
図３は発振停止信号生成回路２５の構成例を示す回路図である。発振停止信号生成回路２５は、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２ＤとＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄとの排他的論理和をとるＸＯＲ回路２５０と、“０ ”（Ｌｏｗ）を第１の入力とし、ＸＯＲ回路２５０の出力を第２の入力とし、発振停止信号ＲＯＳＣ＿ＳＴＯＰを制御入力とし、制御入力が“１ ”（Ｈｉｇｈ）のときに第１の入力側を選択して出力し、制御入力が“０ ”のときに第２の入力側を選択して出力するセレクタ２５１と、セレクタ２５１の出力をＤ入力とし、低速クロックＬＳ＿ＣＬＫをクロック入力として、発振停止信号ＲＯＳＣ＿ＳＴＯＰを出力するＤフリップフロップ回路２５２とから構成される。
【００３５】
発振停止信号ＲＯＳＣ＿ＳＴＯＰが有意（Ｈｉｇｈ）になると、上記のとおり発振許可信号ＴＤＣ＿ＥＮが無意（Ｌｏｗ）となるので、リングオシレータ１２による高速クロックＲＯＳＣ＿ＣＬＫの生成が停止する。
【００３６】
リングオシレータ型ＴＤＣ制御回路２のＤフリップフロップ回路２６は、発振停止信号ＲＯＳＣ＿ＳＴＯＰをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち下がりで発振停止信号ＲＯＳＣ＿ＳＴＯＰを取り込み、図２に示すように発振停止信号ＲＯＳＣ＿ＳＴＯＰを、低速クロックＬＳ＿ＣＬＫの１／２クロック分遅延させた取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮを出力する。
【００３７】
一方、低速カウンタ１５は、低速クロックＬＳ＿ＣＬＫをカウントして計数結果ＬＳ＿ＣＮＴを出力する。
低速クロックイネーブル作成回路１６は、開始信号ＳＴＡＲＴの立ち上がりで低速カウンタ１５に低速クロックＬＳ＿ＣＬＫのカウントを開始させ、停止信号ＳＴＯＰの立ち上がりで低速クロックＬＳ＿ＣＬＫのカウントを停止させて計数結果ＬＳ＿ＣＮＴを０に初期化させる。なお、超音波流量計のように１回の開始信号ＳＴＡＲＴに対して複数回の停止信号ＳＴＯＰが入力される場合には、低速クロックイネーブル作成回路１６は、１回のＳＴＯＰ毎ではなく、最後の停止信号ＳＴＯＰの受け付け後に（後述する図１５の例では４回受け付け後）に計数結果ＬＳ＿ＣＮＴを０に初期化させる。
【００３８】
時間算出回路１７は、取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮが有意（Ｈｉｇｈ）になった時点で高速カウンタ１３の計数結果ＨＳ＿ＣＮＴを取り込む。
また、本実施例では、発振停止信号ＲＯＳＣ＿ＳＴＯＰが高速カウンタ１３のＣＬＲ（クリア）入力となっているので、高速カウンタ１３は、発振停止信号ＲＯＳＣ＿ＳＴＯＰの立ち下がりのタイミング（有意から無意へと変わるタイミング）でリセットされ、計数結果ＨＳ＿ＣＮＴを０に初期化する。
【００３９】
時間算出回路１７は、開始信号ＳＴＡＲＴを契機とする発振開始信号ＲＯＳＣ＿ＳＴＡＲＴの出力により開始される高速カウンタ１３の計数の結果ＨＳ＿ＣＮＴに基づいて、図１７のΔＴstartに相当する時間間隔を算出することができる。また、時間算出回路１７は、停止信号ＳＴＯＰを契機とする発振開始信号ＲＯＳＣ＿ＳＴＡＲＴの出力により開始される高速カウンタ１３の計数の結果ＨＳ＿ＣＮＴに基づいて、図１７のΔＴstopに相当する時間間隔を算出することができる。
【００４０】
また、時間算出回路１７は、開始信号ＳＴＡＲＴに応じた発振開始信号ＲＯＳＣ＿ＳＴＡＲＴの直後に出力される発振停止信号ＲＯＳＣ＿ＳＴＯＰのタイミングを示すタイミング信号ＨＳ＿ＰＨＡＳＥと、停止信号ＳＴＯＰに応じた発振開始信号ＲＯＳＣ＿ＳＴＡＲＴの直後に出力される発振停止信号ＲＯＳＣ＿ＳＴＯＰのタイミングを示すタイミング信号ＨＳ＿ＰＨＡＳＥと、これら２つのタイミング間の低速カウンタ１５の計数結果ＬＳ＿ＣＮＴと基づいて、図１７のＮＴrefに相当する時間間隔を算出することができる。したがって、時間算出回路１７は、式（１）と同様に開始信号ＳＴＡＲＴの立ち上がりから停止信号ＳＴＯＰの立ち上がりまでの時間間隔ΔＴinを算出することができる。
【００４１】
本実施例では、ＲＳフリップフロップ回路１１の出力をメタステーブル状態にさせないタイミング（ＳＥＴ入力（ＲＯＳＣ＿ＳＴＡＲＴ）とＲＥＳＥＴ入力（ＲＯＳＣ＿ＳＴＯＰ）とが競合しないタイミング）で発振停止信号ＲＯＳＣ＿ＳＴＯＰを有意にするリングオシレータ型ＴＤＣ制御回路２を追加することにより、開始信号ＳＴＡＲＴと停止信号ＳＴＯＰの入力タイミングによらず正確な時間計測結果を得ることができるようにしている。
【００４２】
本実施例では、リングオシレータ型ＴＤＣ制御回路２を加えることにより、高速クロックＲＯＳＣ＿ＣＬＫの発振期間が、低速クロックＬＳ＿ＣＬＫの１周期以上２周期以下の期間となるようにしている。本実施例では、Ｄフリップフロップ回路２２，２４を低速クロックＬＳ＿ＣＬＫの立ち上がりに同期させ、Ｄフリップフロップ回路２３を低速クロックＬＳ＿ＣＬＫの立ち下がりに同期させることで、上記のような高速クロックＲＯＳＣ＿ＣＬＫの発振期間の設定を実現している。
【００４３】
従来のＮｕｔｔ  Ｍｅｔｈｏｄの思想と比較すると、本実施例では、高速クロックＲＯＳＣ＿ＣＬＫの発振期間が長くなるが、発振開始信号ＲＯＳＣ＿ＳＴＡＲＴと発振停止信号ＲＯＳＣ＿ＳＴＯＰとの間が少なくとも低速クロックＬＳ＿ＣＬＫの１周期分確保されるため、ＲＳフリップフロップ回路１１のＳＥＴ入力とＲＥＳＥＴ入力の競合が生じることはない。
【００４４】
図２に示したように発振開始信号ＲＯＳＣ＿ＳＴＡＲＴが低速クロックＬＳ＿ＣＬＫの立ち上がり付近で入力された場合に計測実行時間は最大となる（低速クロックを４ＭＨｚとすると、３×（１／４ＭＨｚ）＝７５０ｎｓ）。したがって、連続して停止信号ＳＴＯＰを入力する場合、停止信号ＳＴＯＰと次の停止信号ＳＴＯＰ間は最低７５０ｎｓ空ける必要がある。
【００４５】
こうして、本実施例では、リングオシレータ型ＴＤＣ１の採用による低消費電力化と、開始信号ＳＴＡＲＴと停止信号ＳＴＯＰの入力タイミングによらない正確で高分解能な時間測定とを両立させることができる。
【００４６】
本実施例との比較のため、従来のリングオシレータ型ＴＤＣの構成を図４に示す。この構成は、Ｎｕｔｔ  Ｍｅｔｈｏｄを従来のリングオシレータ型ＴＤＣに適用したものである。図４の構成のうち、本実施例に相当する構成要素には、図１と同一の符号を付してある。
【００４７】
図５は図４のリングオシレータ型ＴＤＣの動作を説明するタイミングチャートである。低速クロックＬＳ＿ＣＬＫの周波数を４ＭＨｚとすると、低速カウンタ１５は２５０ｎｓの分解能で時間を計測することができる。開始信号ＳＴＡＲＴの立ち上がりから次の低速クロックＬＳ＿ＣＬＫの立ち上がりまでのＴＤＣ計測期間＃１（ΔＴstart）および停止信号ＳＴＯＰの立ち上がりから次の低速クロックＬＳ＿ＣＬＫの立ち上がりまでのＴＤＣ計測期間＃２（ΔＴstop）のような２５０ｎｓに満たない期間は高速カウンタ１３で計測される。この計測期間は、開始信号ＳＴＡＲＴもしくは停止信号ＳＴＯＰが入力されたタイミングにより、０〜２５０ｎｓの範囲で変化する。
【００４８】
図５の例では、低速クロックＬＳ＿ＣＬＫの立ち上がりの直後に開始信号ＳＴＡＲＴが立ち上がっているため、ＴＤＣ計測期間＃１は低速クロックＬＳ＿ＣＬＫの周期（２５０ｎｓ）に近くなる。
一方、低速クロックＬＳ＿ＣＬＫの立ち上がりの直前に停止信号ＳＴＯＰが立ち上がっているため、ＴＤＣ計測期間＃２は０ｎｓに近くなる。
【００４９】
本実施例でも説明したとおり、リングオシレータ１２の発振許可信号ＴＤＣ＿ＥＮは、ＲＳフリップフロップ回路１１の出力である。通常、このＲＳフリップフロップ回路１１の入力であるＲＥＳＥＴ入力（図４の例では低速クロックＬＳ＿ＣＬＫ）とＳＥＴ入力（図４の例では発振開始信号ＲＯＳＣ＿ＳＴＡＲＴ、すなわち開始信号ＳＴＡＲＴもしくは停止信号ＳＴＯＰ）との間には、使用時にユーザーが保障しなければならない時間の制約が存在する。
【００５０】
上記のとおり低速クロックＬＳ＿ＣＬＫの周波数を４ＭＨｚとすると、高速クロックＲＯＳＣ＿ＣＬＫの発振期間は０〜２５０ｎｓの範囲である。この発振期間は、発振開始信号ＲＯＳＣ＿ＳＴＡＲＴの立ち上がりから発振停止信号ＲＯＳＣ＿ＳＴＯＰ（図４の例では低速クロックＬＳ＿ＣＬＫ）の立ち上がりまでの期間となる。
【００５１】
この発振開始信号ＲＯＳＣ＿ＳＴＡＲＴと発振停止信号ＲＯＳＣ＿ＳＴＯＰの２つの立ち上がりの時間差が短くなった場合（例えば１ｎｓ）、ＲＳフリップフロップ回路１１の出力（発振許可信号ＴＤＣ＿ＥＮ）がメタステーブル状態となり、高速クロックＲＯＳＣ＿ＣＬＫを入力とする高速カウンタ１３が誤動作する可能性がある。すなわち、ＲＳフリップフロップ回路１１のＳＥＴ入力の立ち上がりからＲＥＳＥＴ入力の立ち上がりまでの時間を１ｎｓ以上空ける必要がある、という制約が存在する。
【００５２】
時間計測開始を示す開始信号ＳＴＡＲＴおよび時間計測停止を示す停止信号ＳＴＯＰは当然、低速クロックＬＳ＿ＣＬＫとは非同期で入力される。したがって、図４に示したような構成では、開始信号ＳＴＡＲＴもしくは停止信号ＳＴＯＰの入力タイミング次第で、上記の制約を満たすことができなくなり、正確な時間測定が不可能となる。
【００５３】
そこで、本実施例では、リングオシレータ型ＴＤＣ制御回路２を追加し、ＲＳフリップフロップ回路１１のＳＥＴ入力（発振開始信号ＲＯＳＣ＿ＳＴＡＲＴ）の立ち上がりからＲＥＳＥＴ入力（発振停止信号ＲＯＳＣ＿ＳＴＯＰ）の立ち上がりまでの期間が低速クロックＬＳ＿ＣＬＫの１周期以上２周期以下の期間となるようにすることにより、開始信号ＳＴＡＲＴおよび停止信号ＳＴＯＰがどのようなタイミングで入力されても、ＲＳフリップフロップ回路１１のＳＥＴ入力とＲＥＳＥＴ入力の間の時間制約を満たすことができ、従来の問題点を解決することができる。
【００５４】
［第２の実施例］
次に、本発明の第２の実施例について説明する。図６は本発明の第２の実施例に係る時間計測回路の構成を示す回路図であり、図１と同一の構成には同一の符号を付してある。本実施例の時間計測回路は、リングオシレータ型ＴＤＣ１と、リングオシレータ型ＴＤＣ制御回路２ａとを備えている。
【００５５】
リングオシレータ型ＴＤＣ制御回路２ａは、Ｄフリップフロップ回路２０と、インバータ回路２１と、Ｄフリップフロップ回路２２〜２４と、発振停止信号生成回路２５と、Ｄフリップフロップ回路２６と、Ｄフリップフロップ回路２６から出力された取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮを微分した結果を、高速カウンタリセット信号ＨＳ＿ＣＮＴ＿ＣＬＲとして出力する微分回路２７とから構成される。
【００５６】
図７は微分回路２７の構成を示す回路図である。微分回路２７は、取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮを入力とするバッファ回路２７０と、バッファ回路２７０の出力を入力とするバッファ回路２７１と、バッファ回路２７０の出力とバッファ回路２７１の出力の反転信号との論理積をとるＡＮＤ回路２７２と、ＡＮＤ回路２７２の出力を反転させるインバータ回路２７３とから構成される。
【００５７】
図８は本実施例の時間計測回路の動作を説明するタイミングチャートである。リングオシレータ型ＴＤＣ制御回路２ａの微分回路２７は、Ｄフリップフロップ回路２６から出力された取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮの立ち上がりを微分して反転させた結果を、図８に示すように高速カウンタリセット信号ＨＳ＿ＣＮＴ＿ＣＬＲとして出力する。バッファ回路２７０は、高速カウンタリセット信号ＨＳ＿ＣＮＴ＿ＣＬＲのパルスを生成するために、取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮを一定時間だけ遅らせるために使用される。
【００５８】
高速カウンタ１３は、高速カウンタリセット信号ＨＳ＿ＣＮＴ＿ＣＬＲが有意（Ｌｏｗ）となるタイミングで計数結果ＨＳ＿ＣＮＴを０に初期化する。
【００５９】
本発明の時間計測回路は、連続時間測定（１回の開始信号ＳＴＡＲＴに対して複数回の停止信号ＳＴＯＰを受け付ける動作）が可能であることを求められる場合がある。しかし、１回の時間計測に要する時間が例えば７５０ｎｓだとすると、１回目の停止信号ＳＴＯＰと２回目の停止信号ＳＴＯＰの間隔は最低でも７５０ｎｓ空ける必要がある。この停止信号ＳＴＯＰの間隔は低速クロックＬＳ＿ＣＬＫの周波数に依存し、停止信号ＳＴＯＰの間隔を短くするためには低速クロックＬＳ＿ＣＬＫの周波数を上げる必要がある。しかし、低速クロックＬＳ＿ＣＬＫの周波数を上げると消費電力が増大してしまう。
【００６０】
そこで、本実施例では、第１の実施例の回路に対して高速カウンタ１３をリセットするための微分回路２７を加えることにより、１回の時間計測に要する時間をさらに短くし、１回目の停止信号ＳＴＯＰと２回目の停止信号ＳＴＯＰの最低間隔を短くする。
【００６１】
第１の実施例では、発振停止信号ＲＯＳＣ＿ＳＴＯＰにより高速カウンタ１３をリセットしていた。これに対し、本実施例では、新たに微分回路２７で高速カウンタリセット信号ＨＳ＿ＣＮＴ＿ＣＬＲを生成することにより、図８に示すように高速カウンタ１３をリセットするタイミングを第１の実施例よりも早めることができる。
【００６２】
低速クロックＬＳ＿ＣＬＫの周波数を４ＭＨｚとし、微分回路２７を用いた高速カウンタ１３のリセットに要する時間を１０ｎｓとすると、１回の時間計測に要する最長時間は２．５×（１／４ＭＨｚ）＋１０ｎｓ＝６３５ｎｓとなる。したがって、２つの停止信号ＳＴＯＰ間の最小間隔も６３５ｎｓとなる。
【００６３】
［第３の実施例］
次に、本発明の第３の実施例について説明する。図９は本発明の第３の実施例に係る時間計測回路の構成を示す回路図であり、図１、図６と同一の構成には同一の符号を付してある。本実施例の時間計測回路は、リングオシレータ型ＴＤＣ１と、リングオシレータ型ＴＤＣ制御回路２ｂとを備えている。
【００６４】
リングオシレータ型ＴＤＣ制御回路２ｂは、Ｄフリップフロップ回路２０と、インバータ回路２１と、Ｄフリップフロップ回路２０から出力された検出信号ＳＴ＿ＤＥＴをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち下がりで検出信号ＳＴ＿ＤＥＴを取り込み、検出信号ＳＴ＿ＤＥＴを遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄ（第１の遅延信号）を出力するＤフリップフロップ回路２８と、Ｄフリップフロップ回路２８から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち上がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを取り込み、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄ（第２の遅延信号）を出力するＤフリップフロップ回路２９と、Ｄフリップフロップ回路２９から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち下がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを取り込み、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄ（第３の遅延信号）を出力するＤフリップフロップ回路３０と、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２ＤとＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄとの排他的論理和の結果を発振停止信号ＲＯＳＣ＿ＳＴＯＰおよび取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮとして出力するＸＯＲ（排他的論理和）回路３１と、取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮを微分した結果を、高速カウンタリセット信号ＨＳ＿ＣＮＴ＿ＣＬＲとして出力する微分回路３２とから構成される。
【００６５】
図１０は微分回路３２の構成を示す回路図である。微分回路３２は、取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮを入力とするバッファ回路３２０と、バッファ回路３２０の出力を入力とするバッファ回路３２１と、バッファ回路３２０の出力の反転信号とバッファ回路３２１の出力との論理積をとるＡＮＤ回路３２２と、ＡＮＤ回路３２２の出力を反転させるインバータ回路３２３とから構成される。
【００６６】
図１１は本実施例の時間計測回路の動作を説明するタイミングチャートである。リングオシレータ型ＴＤＣ制御回路２ｂのＤフリップフロップ回路２８は、検出信号ＳＴ＿ＤＥＴをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち下がりで検出信号ＳＴ＿ＤＥＴを取り込み、図１１に示すように検出信号ＳＴ＿ＤＥＴを、低速クロックＬＳ＿ＣＬＫの１／２クロック分遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを出力する。
【００６７】
リングオシレータ型ＴＤＣ制御回路２ｂのＤフリップフロップ回路２９は、Ｄフリップフロップ回路２８から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち上がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを取り込み、図１１に示すように信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを、低速クロックＬＳ＿ＣＬＫの１／２クロック分遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを出力する。
【００６８】
リングオシレータ型ＴＤＣ制御回路２ｂのＤフリップフロップ回路３０は、Ｄフリップフロップ回路２９から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち下がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを取り込み、図１１に示すように信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを、低速クロックＬＳ＿ＣＬＫの１／２クロック分遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄを出力する。
【００６９】
リングオシレータ型ＴＤＣ制御回路２ｂのＸＯＲ回路３１は、Ｄフリップフロップ回路２９から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２ＤとＤフリップフロップ回路３０から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄとの排他的論理和の結果を、図１１に示すように取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮおよび発振停止信号ＲＯＳＣ＿ＳＴＯＰとして出力する。
【００７０】
なお、第１、第２の実施例の発振停止信号生成回路２５の場合、発振停止信号ＲＯＳＣ＿ＳＴＯＰがＤフリップフロップ回路２５２から出力されるので、検出信号ＳＴ＿ＤＥＴの立ち上がり検出、立ち下がり検出のどちらの場合でも出力遅延時間は同じとなる。したがって、汎用性のある時間計測が可能である。ただし、検出信号ＳＴ＿ＤＥＴの立ち上がり検出または立ち下がり検出から発振停止信号ＲＯＳＣ＿ＳＴＯＰが立ち上がるまでの時間は本実施例のＸＯＲ回路３１よりも長くなる。すなわち、１回の時間計測に要する時間が長くなるため、連続した停止信号ＳＴＯＰの受け付け時に不利となる。
【００７１】
一方、本実施例のＸＯＲ回路３１では、検出信号ＳＴ＿ＤＥＴの立ち上がり検出または立ち下がり検出から発振停止信号ＲＯＳＣ＿ＳＴＯＰが立ち上がるまでの時間は第１、第２の実施例よりも短くなる。したがって、連続した停止信号ＳＴＯＰの受け付け時に有利となる。ただし、ＸＯＲ回路３１を用いる場合、検出信号ＳＴ＿ＤＥＴの立ち上がり検出時と立ち下がり検出時で発振停止信号ＲＯＳＣ＿ＳＴＯＰの遅延値が数１０ｐｓ異なる。しかしながら、超音波流量計向けの時間計測の場合には、高分解能で取得する必要があるのは後述のように時間差なので、検出信号ＳＴ＿ＤＥＴの立ち上がり検出時と立ち下がり検出時の遅延値の違いは問題にならない。
【００７２】
リングオシレータ型ＴＤＣ制御回路２ｂの微分回路３２は、ＸＯＲ回路３１から出力された取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮ（発振停止信号ＲＯＳＣ＿ＳＴＯＰ）の立ち下がりを微分した結果を、図１１に示すように高速カウンタリセット信号ＨＳ＿ＣＮＴ＿ＣＬＲとして出力する。
【００７３】
本実施例では、低速クロックＬＳ＿ＣＬＫの周波数を上げずに２つの停止信号ＳＴＯＰ間の受け付け可能間隔をさらに短くするため、Ｄフリップフロップ回路２８〜３０による検出信号ＳＴ＿ＤＥＴの遅延時間を減らし、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２ＤとＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄとの排他的論理和の結果を、発振停止信号ＲＯＳＣ＿ＳＴＯＰとしている。
【００７４】
ただし通常、回路の遅延時間は信号の立ち上がりと立ち下がりで異なるため、Ｄフリップフロップ回路２８〜３０とＸＯＲ回路３１で発振停止信号ＲＯＳＣ＿ＳＴＯＰを生成すると、信号ＳＴ＿ＤＥＴを遅延させたＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄの立ち上がり検出時と立ち下がり検出時で計測時間が異なってしまう。
【００７５】
例えば、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄの立ち下がりを検出したときの遅延が信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄの立ち上がりを検出したときの遅延よりも１０ｐｓ遅い回路の場合、図１１の偶数番目の計測時間に、１０ｐｓのオフセットがのってしまう。すなわち、Ｄフリップフロップ回路２８〜３０の出力ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄ〜ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄが“１”→“０”に遷移する場合の遅延時間が“０”→“１”に遷移する場合の遅延時間と比較して１０ｐｓ遅いと、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄの立ち下がりの検出時に取り込み許可信号ＨＳ＿ＣＮＴ＿ＥＮ（ＲＯＳＣ＿ＳＴＯＰ）が立ち上がる時間が信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄの立ち上がり検出時の場合と比較して１０ｐｓ遅くなる。しかし、例えば超音波流量計のような順方向計測時間と逆方向計測時間の差分を取るようなアプリケーションであれば、このオフセットは順方向計測時間と逆方向計測時間の減算時に取り除かれるため問題とならない。
【００７６】
低速クロックＬＳ＿ＣＬＫの周波数を４ＭＨｚとし、微分回路３２を用いた高速カウンタ１３のリセットに要する時間を１０ｎｓとすると、１回の時間計測に要する最長時間は２×（１／４ＭＨｚ）＋１０ｎｓ＝５１０ｎｓとなる。したがって、停止信号ＳＴＯＰ間の最小間隔も５１０ｎｓとなる。
【００７７】
［第４の実施例］
次に、本発明の第４の実施例について説明する。図１２は本発明の第４の実施例に係る時間計測回路の構成を示す回路図であり、図１、図６、図９と同一の構成には同一の符号を付してある。本実施例の時間計測回路は、リングオシレータ型ＴＤＣ１と、リングオシレータ型ＴＤＣ制御回路２ｃとを備えている。
【００７８】
リングオシレータ型ＴＤＣ制御回路２ｃは、Ｄフリップフロップ回路２０と、インバータ回路２１と、検出信号ＳＴ＿ＤＥＴをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち上がりで検出信号ＳＴ＿ＤＥＴを取り込み、検出信号ＳＴ＿ＤＥＴを遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄ（第１の遅延信号）を出力するＤフリップフロップ回路２２と、Ｄフリップフロップ回路２２から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち上がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを取り込み、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄ（第２の遅延信号）を出力するＤフリップフロップ回路２３ｃと、Ｄフリップフロップ回路２３から出力された信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２ＤをＤ入力、低速クロックＬＳ＿ＣＬＫをクロック入力として、低速クロックＬＳ＿ＣＬＫの立ち上がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを取り込み、信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿２Ｄを遅延させた信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿３Ｄ（第３の遅延信号）を出力するＤフリップフロップ回路２４と、発振停止信号生成回路２５と、Ｄフリップフロップ回路２６とから構成される。
【００７９】
図１３は本実施例の時間計測回路の動作を説明するタイミングチャートである。本実施例と第１の実施例との相違点は、リングオシレータ型ＴＤＣ制御回路２ｃのＤフリップフロップ回路２３ｃが、低速クロックＬＳ＿ＣＬＫの立ち上がりで信号ＳＴ＿ＤＥＴ＿ＳＹＮＣ＿１Ｄを取り込むようにしたことである。
【００８０】
これにより、本実施例では、ＲＳフリップフロップ回路１１のＳＥＴ入力（発振開始信号ＲＯＳＣ＿ＳＴＡＲＴ）の立ち上がりからＲＥＳＥＴ入力（発振停止信号ＲＯＳＣ＿ＳＴＯＰ）の立ち上がりまでの期間（高速クロックＲＯＳＣ＿ＣＬＫの発振期間）が、低速クロックＬＳ＿ＣＬＫの２周期以上３周期以下の期間となるようにしている。すなわち、本発明において、高速クロックＲＯＳＣ＿ＣＬＫの発振期間は、低速クロックＬＳ＿ＣＬＫの１周期以上３周期以下の期間であればよい。
【００８１】
その他の構成は第１の実施例と同じである。ただし、本実施例では、１回の時間計測に要する処理時間が長くなるため、超音波流量計のような１回の開始信号ＳＴＡＲＴに対して複数回の停止信号ＳＴＯＰを受け付ける必要があるアプリケーションに対して採用する際は不利となる。
【００８２】
最後に、本発明と従来例との比較結果、および本発明のアプリケーションの１例について説明する。表１に、従来のＤＬＬ型ＴＤＣ、ＰＬＬ型ＴＤＣ、リングオシレータ型ＴＤＣと、第１〜第４の実施例の比較結果を示す。
【００８３】
【表１】
0006989397.tif 000002
【００８４】
上記のとおり、ＤＬＬ型ＴＤＣおよびＰＬＬ型ＴＤＣでは、クロックの発振周期の安定化に５〜１０μｓｅｃ（低速クロックの周波数を４ＭＨｚとした場合）の時間を要するのに対し、従来のリングオシレータ型ＴＤＣおよび第１〜第４の実施例では、ＴＤＣ動作時間（高速カウンタ１３の動作時間）を短縮することができ、低消費電力化を実現することができる。なお、第２の実施例はＴＤＣ動作時間は第１の実施例と同じであるが、微分回路を追加することで処理時間を短縮することができる。
【００８５】
時間計測の精度については、ＤＬＬ型ＴＤＣおよびＰＬＬ型ＴＤＣでは、アナログ回路による制御が行われるため、温度変化／電圧変化に対してリングオシレータ型ＴＤＣよりも安定した精度を実現できる。
従来のリングオシレータ型ＴＤＣでは、上記のとおり開始信号ＳＴＡＲＴもしくは停止信号ＳＴＯＰの入力タイミングによって正確な時間計測が不可能な場合が起こり得る。
【００８６】
一方、第１〜第４の実施例では、開始信号ＳＴＡＲＴと停止信号ＳＴＯＰの入力タイミングによらず正確な時間計測を行うことができる。
【００８７】
次に、本発明のアプリケーションの１例である、超音波流量計における時間測定について説明する。図１４は超音波流量計の計測原理を説明する断面図である。超音波流量計は、超音波センサ１０２と超音波センサ１０３のそれぞれから超音波信号を送出して、超音波センサ１０２から超音波センサ１０３までの順方向（流体１０１が流れる方向）の超音波の伝搬時間ＦＷ１と、超音波センサ１０３から超音波センサ１０２までの逆方向の超音波の伝搬時間ＲＶ１とをそれぞれ求め、伝搬時間ＦＷ１とＲＶ１の差分から、配管１００を流れる流体１０１の流量を算出するものである。
【００８８】
図１５は超音波センサ１０２から送信する超音波送信信号ＳＳ＿ＦＷと超音波センサ１０３で受信した超音波受信信号ＲＳ＿ＦＷ、および超音波センサ１０３から送信する超音波送信信号ＳＳ＿ＲＶと超音波センサ１０３で受信した超音波受信信号ＲＳ＿ＲＶの波形例を示す図である。
【００８９】
超音波流量計向けの時間計測では、１回の開始信号ＳＴＡＲＴ（時間計測開始）に対して複数回の停止信号ＳＴＯＰの受け付けが可能であることが求められる。しかし、１回の時間計測に必要な処理時間が存在するため、連続で停止信号ＳＴＯＰを受け付け可能だとしても、２つの停止信号ＳＴＯＰ間の最低間隔の制約が時間計測回路には必ず存在する。この制約を短くするためには、低速クロックＬＳ＿ＣＬＫの周波数を上げるという対応が最も容易であるが、このような対処は消費電力面で不利となる。
【００９０】
そこで、本発明の第２、第３の実施例では、低速クロックＬＳ＿ＣＬＫの周波数を上げずに２つの停止信号ＳＴＯＰ間の受け付け可能間隔を短くしている。上記のとおり、低速クロックＬＳ＿ＣＬＫの周波数が４ＭＨｚの場合、第２の実施例では、２つの停止信号ＳＴＯＰ間の受け付け可能間隔は６３５ｎｓ、第３の実施例では、２つの停止信号ＳＴＯＰ間の受け付け可能間隔は５１０ｎｓである。
【００９１】
なお、第１〜第４の実施例では、ＲＳフリップフロップ回路１１を用いているが、これに限るものではなく、ＲＳフリップフロップ回路１１の代わりにＤフリップフロップ回路を用いてもよい。Ｄフリップフロップ回路を用いる場合にも、クロックの変化とＲＥＳＥＴの変化とが競合することは避けなければならない。ＲＳフリップフロップ回路１１の代わりにＤフリップフロップ回路を用いる場合には、Ｄ入力を“１”に固定し、発振開始信号ＲＯＳＣ＿ＳＴＡＲＴをクロック入力とし、発振停止信号ＲＯＳＣ＿ＳＴＯＰをＲＥＳＥＴ入力とすればよい。
【００９２】
第１〜第４の実施例で説明した時間計測回路の時間算出回路１７は、ＣＰＵ（Central Processing Unit）、記憶装置及びインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。このコンピュータの構成例を図１６に示す。コンピュータは、ＣＰＵ１７０と、記憶装置１７１と、インターフェース装置（以下、Ｉ／Ｆと略する）１７２とを備えている。Ｉ／Ｆ１７２には、高速カウンタ１３とデコーダ１４と低速カウンタ１５とリングオシレータ型ＴＤＣ制御回路２，２ａ，２ｂの出力（ＨＳ＿ＣＮＴ＿ＥＮ）とが接続される。このようなコンピュータにおいて、本発明を実現させるためのプログラムは記憶装置１７１に格納される。ＣＰＵ１７０は、記憶装置１７１に格納されたプログラムに従って第１〜第４の実施例で説明した処理を実行する。
【産業上の利用可能性】
【００９３】
本発明は、ｐｓｅｃオーダーの時間を計測する技術に適用することができる。
【符号の説明】
【００９４】
１…リングオシレータ型ＴＤＣ、２，２ａ，２ｂ，２ｃ…リングオシレータ型ＴＤＣ制御回路、１０…ＯＲ回路、１１…ＲＳフリップフロップ回路、１２…リングオシレータ、１３…高速カウンタ、１４…デコーダ、１５…低速カウンタ、１６…低速クロックイネーブル作成回路、１７…時間算出回路、２０，２２，２３，２３ｃ，２４，２６，２８〜３０，１２１−１〜１２１−（ｎ＋１）…Ｄフリップフロップ回路、２１，１２０−１〜１２０−ｎ，２７２，３２２…インバータ回路、２５…発振停止信号生成回路、２７，３２…微分回路、３１…ＸＯＲ回路、３３…検出信号生成回路、１２０，２７１，３２１…ＡＮＤ回路、２７０，３２０…バッファ回路。
【図１】
0006989397.tif 000003
【図２】
0006989397.tif 000004
【図３】
0006989397.tif 000005
【図４】
0006989397.tif 000006
【図５】
0006989397.tif 000007
【図６】
0006989397.tif 000008
【図７】
0006989397.tif 000009
【図８】
0006989397.tif 000010
【図９】
0006989397.tif 000011
【図１０】
0006989397.tif 000012
【図１１】
0006989397.tif 000013
【図１２】
0006989397.tif 000014
【図１３】
0006989397.tif 000015
【図１４】
0006989397.tif 000016
【図１５】
0006989397.tif 000017
【図１６】
0006989397.tif 000018
【図１７】
0006989397.tif 000019