JP2005283408A - カウント装置及び所定期間のカウント方法 - Google Patents
カウント装置及び所定期間のカウント方法 Download PDFInfo
- Publication number
- JP2005283408A JP2005283408A JP2004099468A JP2004099468A JP2005283408A JP 2005283408 A JP2005283408 A JP 2005283408A JP 2004099468 A JP2004099468 A JP 2004099468A JP 2004099468 A JP2004099468 A JP 2004099468A JP 2005283408 A JP2005283408 A JP 2005283408A
- Authority
- JP
- Japan
- Prior art keywords
- clock signal
- level
- counting
- predetermined period
- measurement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Measurement Of Unknown Time Intervals (AREA)
Abstract
【課題】 所定周期の計測誤差をより縮小することができるカウント装置を提供する。
【解決手段】 所定期間の計測対象である信号TERMの立上がり,立下がりエッジにおけるクロック信号CLKのレベルをレジスタ51,52により検出し、カウント結果修正手段69は、それらの検出結果に応じて、所定期間の計測値に相当するレジスタ66の出力データを修正する。具体的には、レジスタ66によるカウント値を2倍して、レジスタ51のみがハイを検出した場合は2倍したカウント値に1を加算し、レジスタ52のみがハイを検出した場合は2倍したカウント値より1を減算する。
【選択図】 図1
【解決手段】 所定期間の計測対象である信号TERMの立上がり,立下がりエッジにおけるクロック信号CLKのレベルをレジスタ51,52により検出し、カウント結果修正手段69は、それらの検出結果に応じて、所定期間の計測値に相当するレジスタ66の出力データを修正する。具体的には、レジスタ66によるカウント値を2倍して、レジスタ51のみがハイを検出した場合は2倍したカウント値に1を加算し、レジスタ52のみがハイを検出した場合は2倍したカウント値より1を減算する。
【選択図】 図1
Description
本発明は、所定の期間を計測するため、クロック信号に基づいてカウント動作を行なうカウント装置及び所定期間のカウント方法に関する。
所定の期間を計測するため、クロック信号に基づいてカウント動作を行なう装置を利用するものとして、例えば、特許文献1や2に開示されているデジタル制御発振装置がある。このデジタル制御発振装置は、基準クロック信号の周期をリングオシレータで生成される高速のクロック信号でカウントして計測し、その計測値に基づいて、基準クロック信号の周波数を、設定された所定の逓倍数で逓倍した逓倍クロック信号を生成して出力するもので、所謂DPLL(Digital Phase Locked Loop)の原理を用いて構成されている。
特開平8−265111号公報
特許第3329088号公報
ところで、特許文献1,2の構成では、基準クロック信号の周期をリングオシレータのクロック信号RCKでカウントする場合に、一般的なカウンタと同様に、その立上がりエッジの入力タイミングに基づいてカウント動作を行うようになっている。この場合、以下のような問題が発生する。例えば、図7に示すように、立上がりエッジによるカウント値が「3」を示す場合でも、実際の計測対象期間は、(a)略3周期に等しい場合、(b)限りなく「2」周期に近い場合、(c)限りなく「4」周期に近い場合が想定される。従って、誤差の最大−最小は約2周期となる可能性があり、必ずしも、基準クロック信号周期を常に正確に計測しているとは言えなかった。
本発明は上記事情に鑑みてなされたものであり、その目的は、所定周期の計測誤差をより縮小することができるカウント装置、及び所定期間のカウント方法を提供することにある。
請求項1記載のカウント装置によれば、所定期間の計測開始時点と計測終了時点とにおけるクロック信号のレベルを検出し、カウント結果修正手段は、それらの検出結果に応じて、所定期間の計測値に相当するカウント結果を修正する。例えば、計測開始時点におけるクロック信号レベルがハイであれば、計測は、その次に到来するクロック信号の立ち下がりエッジより開始されたことになり、前記クロック信号レベルがロウであれば、計測は、その次に到来するクロック信号の立ち上がりエッジより開始されたことになる。また、計測終了時点におけるクロック信号レベルがハイであれば、計測は以前に到来した立ち上がりエッジで終了したことになり、前記クロック信号レベルがロウであれば、計測は以前に到来した立ち下がりエッジで終了したことになる。
即ち、クロックレベル検出手段によるレベル検出結果を参照すれば、クロック信号周期の1/2に関する時間情報を得ることができる。そして、その時間情報に基づいてカウント手段によるカウント結果を修正すれば、何れか一方のエッジに基づいて得られたカウント値の分解能が2倍となるように修正することができる。若しくは、実際の期間の長さに対する誤差をクロック信号周期の1/2以内とすることができる。従って、クロック信号周期を1/2にしてカウント動作を行わずとも、所定期間をより小さな誤差で計測することが可能となる。
請求項2記載のカウント装置によれば、カウント結果修正手段は、カウント手段によるカウント値を2倍して、開始時クロックレベル検出手段のみがハイを検出した場合は2倍したカウント値に1を加算し、終了時クロックレベル検出手段のみがハイを検出した場合は2倍したカウント値より1を減算する。
ここで、上記カウント値修正の原理について図3を参照して説明する。図3(b)〜(e)に示すTERM(1)〜(4)という信号がハイレベルになる期間を(a)に示すクロック信号CLKによってカウントすることを想定する。この場合、TERM(1)〜(4)をクロック信号CLKの立ち上がりエッジだけでカウントした値は何れも「3」となる。そして、カウント手段によるカウント動作も、立ち上がりエッジで行なうものとする。
ここで、上記カウント値修正の原理について図3を参照して説明する。図3(b)〜(e)に示すTERM(1)〜(4)という信号がハイレベルになる期間を(a)に示すクロック信号CLKによってカウントすることを想定する。この場合、TERM(1)〜(4)をクロック信号CLKの立ち上がりエッジだけでカウントした値は何れも「3」となる。そして、カウント手段によるカウント動作も、立ち上がりエッジで行なうものとする。
図3(b)に示すTERM(1)については、信号の立ち上がりエッジにおいてクロック信号CLKはロウレベル(L)であるから、クロック信号CLKによるカウントは次のCLK(2)の立ち上がりエッジ(○)より開始される。そして、TERM(1)の立ち下がりエッジにおいてクロック信号CLKはハイレベル(H)であるから、クロック信号CLKによるカウントはその前のクロック(4)の立ち上がりエッジ(○)で終了している。
即ち、クロック信号CLKの周期をTCとすると、クロック信号CLKの(○)−(○)間でカウントされたカウント値がNであれば、実際の期間は(N−1)×TCよりも大で、且つ(N−1)×TCにTC/2を加えたものよりも小となっている。本願発明では、最終的にクロック信号CLKの1/2を単位とする所定期間TERMのカウント結果を出力する。従って、TERM(1)については、立ち上がりエッジのカウント値「3」を2倍して「1」を減算し、カウント値を「5」とする。この場合、実際の所定期間TERM(1)の期間をT1とすれば、4<T1<5となる。
次に、図3(c)に示すTERM(2)については、立ち上がりエッジはTERM(1)と同様であり、TERM(2)の立ち下がりエッジにおいてクロック信号CLKは(L)であるから、クロック信号CLKによるカウントはその前のCLK(4)の立ち下がりエッジ(×)で終了している。この場合、立ち上がりエッジのカウント値がNであれば、実際の期間はN×TCよりも大で、且つ(N×TC+TC/2)よりも小となっている。従って、TERM(2)については、立ち上がりエッジのカウント値「3」を2倍してカウント値を「6」とする。そして、実際の所定期間TERM(2)の期間をT2とすれば、5<T2<6となる。
次に、図3(d)に示すTERM(3)については、信号の立ち上がりエッジにおいてクロック信号CLKは(H)であるから、カウントはその次のCLK(1)の立ち下がりエッジ(×)より開始される。そして、TERM(3)の立ち下がりエッジにおいてクロック信号CLKは(H)であるから、カウントはその前のCLK(4)の立ち上がりエッジ(○)で終了している。この場合も、TERM(2)と同様に、立ち上がりエッジのカウント値がNであれば、実際の期間はN×TCよりも大で、且つ(N×TC+TC/2)よりも小となっている。従って、カウント値「3」を2倍してカウント値を「6」とする。そして、実際の所定期間TERM(3)の期間をT3とすれば、5<T3<6となる。
また、図3(e)に示すTERM(4)については、信号の立ち上がりエッジはTERM(3)と同様である。そして、TERM(4)の立ち下がりエッジにおいてクロック信号CLKは(L)であるから、カウントはCLK(4)の立ち下がりエッジ(×)で終了している。この場合は、立ち上がりエッジのカウント値がNであれば、実際の期間は(N×TC+TC/2)よりも大で、且つ(N+1)×TCよりも小となっている。従って、カウント値「3」を2倍して「1」を加え、カウント値を「7」とする。そして、実際の所定期間TERM(4)の期間をT4とすれば、6<T2<7となる。
即ち、立ち上がりエッジカウント値「3」の2倍「6」を中心として、測定誤差は±1となるので、結果として最大誤差範囲はクロック信号1周期以内となる。従来は、クロック信号周期の2倍であるからその1/2となっている。
以上説明した原理に基づいてカウント手段によるカウント結果を修正すれば、クロック信号CLKを基準として、計測対象となる信号TERMの立ち上がり,立ち下がりタイミングがずれる4つのケースに対応して、計測誤差がより小さくなるように修正を行うことができる。
以上説明した原理に基づいてカウント手段によるカウント結果を修正すれば、クロック信号CLKを基準として、計測対象となる信号TERMの立ち上がり,立ち下がりタイミングがずれる4つのケースに対応して、計測誤差がより小さくなるように修正を行うことができる。
請求項3記載のカウント装置によれば、リングオシレータによって生成されるクロック信号に基づき、基準クロック信号の周波数をデジタル的なPLL動作により逓倍した逓倍クロック信号を生成して出力する構成に本発明を適用するので、基準クロック信号の周期測定をより小さな誤差で行うことができ、逓倍クロック信号をより高い精度で生成することができる。
以下、本発明を、DPLLの作用を利用して逓倍クロック信号を生成出力するクロック信号出力回路に適用した場合の一実施例について図1乃至図6を参照して説明する。図4は、クロック信号出力回路1の概略構成を示す機能ブロック図である(尚、詳細な構成については、特開平8−265111号公報又は特開2000−357947号公報を参照)。制御回路2には、発振回路3より出力される基準クロック信号PREF が与えられている。制御回路2は、ステートマシンを内蔵しており、そのステートマシンによって出力されるステートカウンタに基づいて、各種の制御タイミング信号をDCO(Digital Controlled Oscillator)4及びカウンタ・データラッチ回路5に出力するようになっている。
DCO4は、内部にリングオシレータ6を備えている。リングオシレータ6は、例えば図5に示すように、遅延ゲートとして2個の2入力NANDゲート7,8と、30個のINV(インバータ)ゲート9〜38(但し、10〜24,26〜37については符号の図示を省略)を備えて構成されている。これらの各論理反転回路は、各出力端子が次段の入力端子へとリング状に接続されており、NANDゲート7の一方の入力端子はNANDゲート8の出力端子に接続され、他方の入力端子には外部からのモード制御信号PAが与えられるようになっている。
また、NANDゲート8の一方の入力端子はINVゲート38の出力端子に接続され、他方の入力端子はINVゲート25の出力端子に接続されている。そして、NANDゲート7から数えて偶数段目に接続されている論理反転回路の出力端子からは、夫々多相クロック信号R1〜R16が出力されるようになっている。
また、NANDゲート8の一方の入力端子はINVゲート38の出力端子に接続され、他方の入力端子はINVゲート25の出力端子に接続されている。そして、NANDゲート7から数えて偶数段目に接続されている論理反転回路の出力端子からは、夫々多相クロック信号R1〜R16が出力されるようになっている。
再び、図4を参照して、カウンタ・データラッチ回路5には、制御回路2より出力される制御タイミング信号UCE及びCLRが与えられるようになっている。これらの制御タイミング信号UCE及びCLRは、基準クロック信号PREF 1周期に相当するパルス幅を有しており、制御回路2におけるシーケンス制御周期の第3及び第7周期に夫々出力される信号である。
また、カウンタ・データラッチ回路5には、リングオシレータ6より出力されるクロック信号R13がRCKとして与えられ、そのクロック信号RCKによって内部のアップカウンタ(例えば16ビット)によるカウント動作を行う。そして、カウンタ・データラッチ回路5は、制御タイミング信号UCEが出力されている間、カウンタにアップカウント動作を行わせることで、基準クロック信号PREF 1周期に相当する時間をクロック信号RCKによってカウントする。
そのカウントデータは、制御回路2よりシーケンス制御周期の第5周期で出力される制御タイミング信号DLSが、DCO4を介して与えられるラッチ信号DLCのタイミングでラッチされ、第7周期で制御タイミング信号CLRが出力されるとラッチされたデータはクリアされる。
そのカウントデータは、制御回路2よりシーケンス制御周期の第5周期で出力される制御タイミング信号DLSが、DCO4を介して与えられるラッチ信号DLCのタイミングでラッチされ、第7周期で制御タイミング信号CLRが出力されるとラッチされたデータはクリアされる。
また、図6は、カウンタ・データラッチ回路5の内部構成を示すものである。カウンタ・データラッチ回路5は、カウンタ部(カウント装置)41,ビットシフタ42,ラッチ部43で構成されている。カウンタ部41は、上述したように、制御タイミング信号UCEが出力されている間、基準クロック信号PREF 1周期に相当する時間をクロック信号RCKによってカウントし、後述するように、そのカウントデータを修正する作用をなす。ビットシフタ42は、逓倍データDVに応じてカウンタ部41より与えられたカウントデータをビットシフトしてラッチ部43に出力する。ラッチ部43は、与えられたデータをラッチ信号DLCによってラッチする。
そして、カウンタ・データラッチ回路5は、ラッチ部43によってラッチされたデータCDをDCO4に出力する。DCO4が出力する逓倍クロック信号POUT ′は、デューティ比を調整するための分周回路39を介して2分周されて、逓倍クロック信号POUT として出力される。
そして、カウンタ・データラッチ回路5は、ラッチ部43によってラッチされたデータCDをDCO4に出力する。DCO4が出力する逓倍クロック信号POUT ′は、デューティ比を調整するための分周回路39を介して2分周されて、逓倍クロック信号POUT として出力される。
図2は、カウンタ部41の作用をなす回路を生成するように、回路記述言語RTL(Register Transfer Level)によって記述したソースプログラムを示すものであり、図1は、図2のソースプログラムをコンパイルした結果生成された回路の構成を示すものである。以下、図2のソースプログラムについて概要を説明する。
(1)入力信号として、CLK(クロック信号),RST_N(リセット信号),TERM(測定対象信号)を定義する。即ち、信号TERMの立ち上りエッジから立下がりエッジまでの期間を、クロック信号CLKに基づいてカウントする。これらの信号は、図6では以下のように対応する。
CLK → RCK
RST_N → CLR
TERM → UCE
(2)出力データCOUNTSを定義する。また、以下の4つのレジスタを定義する。
COUNTS[9:0]
COUNTS_s[8:0]
FST_s
END_s
(1)入力信号として、CLK(クロック信号),RST_N(リセット信号),TERM(測定対象信号)を定義する。即ち、信号TERMの立ち上りエッジから立下がりエッジまでの期間を、クロック信号CLKに基づいてカウントする。これらの信号は、図6では以下のように対応する。
CLK → RCK
RST_N → CLR
TERM → UCE
(2)出力データCOUNTSを定義する。また、以下の4つのレジスタを定義する。
COUNTS[9:0]
COUNTS_s[8:0]
FST_s
END_s
(3)CLKの立ち上がりエッジ、又はRST_Nの立ち下がりエッジで、
(a)RST_Nが「0」の場合は、COUNTS_sをゼロクリアする。
(b)(a)ではなく、TERMが「1」であれば、COUNTS_sをインクリメントする。
(4)TERMの立ち上がりエッジ、又はRST_Nの立ち下がりエッジで、
(a)RST_Nが「0」の場合は、FST_sをゼロクリアする。
(b)(a)でなければ、FST_sでCLKのレベルをラッチする。
(5)TERMの立ち下がりエッジ、又はRST_Nの立ち下がりエッジで、
(a)RST_Nが「0」の場合は、END_sをゼロクリアする。
(b)(a)でなければ、END_sでCLKのレベルをラッチする。
(a)RST_Nが「0」の場合は、COUNTS_sをゼロクリアする。
(b)(a)ではなく、TERMが「1」であれば、COUNTS_sをインクリメントする。
(4)TERMの立ち上がりエッジ、又はRST_Nの立ち下がりエッジで、
(a)RST_Nが「0」の場合は、FST_sをゼロクリアする。
(b)(a)でなければ、FST_sでCLKのレベルをラッチする。
(5)TERMの立ち下がりエッジ、又はRST_Nの立ち下がりエッジで、
(a)RST_Nが「0」の場合は、END_sをゼロクリアする。
(b)(a)でなければ、END_sでCLKのレベルをラッチする。
(6)FST_s,END_s,COUNTS_s,RST_Nの何れかが「1」である場合、
(a)RST_Nが「0」の場合は、COUNTS_sをゼロクリアする。
(b)(a)でなく、FST_sが「0」且つEND_sが「0」の場合、
COUNTS_sを2倍してCOUNTSに代入する。
(c)(a)でなく、FST_sが「0」且つEND_sが「1」の場合、
COUNTS_sを2倍してデクリメントした値をCOUNTSに代入する。
(d)(a)でなく、FST_sが「1」且つEND_sが「0」の場合、
COUNTS_sを2倍してインクリメントした値をCOUNTSに代入する。
(e)(a)でなく、FST_sが「1」且つEND_sが「1」の場合、
COUNTS_sを2倍してCOUNTSに代入する。
以上のようなロジックが、ソースプログラムに記述されている。
(a)RST_Nが「0」の場合は、COUNTS_sをゼロクリアする。
(b)(a)でなく、FST_sが「0」且つEND_sが「0」の場合、
COUNTS_sを2倍してCOUNTSに代入する。
(c)(a)でなく、FST_sが「0」且つEND_sが「1」の場合、
COUNTS_sを2倍してデクリメントした値をCOUNTSに代入する。
(d)(a)でなく、FST_sが「1」且つEND_sが「0」の場合、
COUNTS_sを2倍してインクリメントした値をCOUNTSに代入する。
(e)(a)でなく、FST_sが「1」且つEND_sが「1」の場合、
COUNTS_sを2倍してCOUNTSに代入する。
以上のようなロジックが、ソースプログラムに記述されている。
次に、ソースプログラムのコンパイル結果である図1を参照する。1ビットレジスタ51(開始時クロックレベル検出手段),52(終了時クロックレベル検出手段)は、夫々FST_s,END_sに対応する。レジスタ51,52の出力端子は、ANDゲート53,54,55の入力端子に夫々接続されている。ANDゲート53はレジスタ52側の入力が負論理、ANDゲート54は何れの入力も負論理、ANDゲート55はレジスタ51側の入力が負論理となっている。
ANDゲート54の出力端子は、ANDゲート56,ORゲート57の一方の入力端子に接続されており、ANDゲート56,ORゲート57(負論理)の他方の入力端子には、ロウアクティブのリセット信号RST_Nが与えられている。ANDゲート55の出力端子は、ORゲート58及びANDゲート59の一方の入力端子に接続されており、ORゲート57の出力端子は、ORゲート58及びANDゲート59(負論理)の他方の入力端子に接続されている。
ORゲート58の出力端子は、ORゲート60及びANDゲート61(負論理)の他方の入力端子に接続されている。ANDゲート56の出力端子は、ORゲート62の一方の入力端子に接続されており、ORゲート60の出力端子は、ORゲート62の他方(負論理)の入力端子に接続されている。
ANDゲート59の出力端子は、ORゲート63の一方の入力端子とマルチプレクサ64の切換え制御端子に接続されており、ORゲート63の他方の入力端子には、ANDゲート61の出力端子が接続されている。
ANDゲート59の出力端子は、ORゲート63の一方の入力端子とマルチプレクサ64の切換え制御端子に接続されており、ORゲート63の他方の入力端子には、ANDゲート61の出力端子が接続されている。
そのハイレベル期間が測定対象となる信号TERMは、9ビット加算器(カウント手段)65の一方の入力端子に与えられており、加算器65の出力端子は、9ビットレジスタ(カウント手段)66の入力端子に接続されている。このレジスタ66は、COUNTS_sに対応する。そして、レジスタ66のクロック入力端子には、クロック信号CLKが与えられている。レジスタ66の出力端子は、加算器65の他方の入力端子に接続されていると共に、9ビット加算器67の一方の入力端子に接続されている。
マルチプレクサ64は、「0」側入力端子に10ビットデータ「0000000001」が与えられており、「1」側入力端子に10ビットデータ「1111111111」が与えられている。後者は、2の補数表現による「−1」である。そして、マルチプレクサ64の出力データ[9:0]の内、上位9ビットの[9:1]は、加算器67の他方の入力端子に与えられている。
カウンタ部41の最終段には、COUNTSに対応する10ビットレジスタ68が配置されている。このレジスタ68は、3つのデータ入力端子(d)と、それらに夫々対応する3つのイネーブル信号入力端子(e)とを備えており、排他的にアクティブとなるイネーブル信号に応じて3つのデータ入力端子に与えられる何れかのデータを出力するようになっている。従って、レジスタ68は、実質的にマルチプレクサとして動作する。
レジスタ68における第1イネーブル信号入力端子は負論理であり、これにはリセット信号RST_Nが与えられている。そして、第1データ入力端子には、10ビットデータ「0000000000」が与えられている。第2イネーブル信号入力端子には、ORゲート62の出力端子が接続されており、第2データ入力端子には、レジスタ66の出力データ[8:0]を上位9ビットとして最下位ビットにデータ「0」を追加した10ビットデータが与えられている。
そして、第3イネーブル信号入力端子には、ORゲート63の出力端子が接続されており、第3データ入力端子には、加算器67の出力データ[9:1]を上位9ビットとして、最下位ビットに、マルチプレクサ64の出力データ[9:0]の最下位ビット「0」を追加した10ビットデータが与えられている。
また、リセット信号RST_Nは、レジスタ51,52,レジスタ66のリセット端子にも与えられている。以上が、カウンタ部41を構成している。また、以上の構成において、レジスタ51,52,加算器65,レジスタ66以外の構成要素は、カウント結果修正手段69を構成している。
また、リセット信号RST_Nは、レジスタ51,52,レジスタ66のリセット端子にも与えられている。以上が、カウンタ部41を構成している。また、以上の構成において、レジスタ51,52,加算器65,レジスタ66以外の構成要素は、カウント結果修正手段69を構成している。
次に、本実施例の作用について説明する。カウンタ部41の作用原理については、(課題を解決するための手段)の請求項2において、図3を参照して説明した通りであるからここでは繰り返さない。
レジスタ51は、信号TERMの立ち上がりエッジにおけるクロック信号CLKのレベルをラッチし、レジスタ52は、信号TERMの立ち下がりエッジにおけるクロック信号CLKのレベルをラッチする。加算器65とレジスタ66との組み合わせによって、信号TERMがハイレベル(=1)の場合にクロック信号CLKの立ち上がりエッジによるカウント動作が行なわれる。ANDゲート59の出力端子がハイレベルの場合は図2における(6)(c)の条件が成立するので、マルチプレクサ64にデータ「−1」側を選択させる。
レジスタ51は、信号TERMの立ち上がりエッジにおけるクロック信号CLKのレベルをラッチし、レジスタ52は、信号TERMの立ち下がりエッジにおけるクロック信号CLKのレベルをラッチする。加算器65とレジスタ66との組み合わせによって、信号TERMがハイレベル(=1)の場合にクロック信号CLKの立ち上がりエッジによるカウント動作が行なわれる。ANDゲート59の出力端子がハイレベルの場合は図2における(6)(c)の条件が成立するので、マルチプレクサ64にデータ「−1」側を選択させる。
最終段のレジスタ68において、第1イネーブル信号入力端子がロウレベルとなって10ビットデータ「0000000000」が出力されるのは、リセット信号RST_Nがアクティブとなり、カウント値がゼロクリアされる場合であるから、図2における(6)(a)の条件に該当する。
また、第2イネーブル信号入力端子がハイレベルとなるのは、ORゲート62による。ORゲート62の一方側はANDゲート56であり、ANDゲート56の出力がハイレベルの場合は、実質的に図2における(6)(b)の条件に該当する。また、ORゲート62の負論理側はORゲート60であり、ORゲート60の出力がロウレベルの場合は、ANDゲート53の出力がロウレベル(図2における(6)(d)の条件の否定)で、且つORゲート58の出力がロウレベルの場合である。
また、第2イネーブル信号入力端子がハイレベルとなるのは、ORゲート62による。ORゲート62の一方側はANDゲート56であり、ANDゲート56の出力がハイレベルの場合は、実質的に図2における(6)(b)の条件に該当する。また、ORゲート62の負論理側はORゲート60であり、ORゲート60の出力がロウレベルの場合は、ANDゲート53の出力がロウレベル(図2における(6)(d)の条件の否定)で、且つORゲート58の出力がロウレベルの場合である。
ORゲート58の出力がロウレベルの場合とは、ANDゲート55の出力がロウレベル(図2における(6)(c)の条件の否定)で、且つORゲート57の出力がロウレベルの場合であり、後者については、ANDゲート54の出力がロウレベル(図2における(6)(b)の条件の否定)である。そして、これらを総合すると、実質的に図2における(6)(e)の条件に該当することになる。従って、レジスタ68は、レジスタ66の出力データ[8:0]を1桁分桁上げして2倍したデータを出力する。
また、第3イネーブル信号入力端子がハイレベルとなるのは、ORゲート63による。ORゲート63の一方側はANDゲート61であり、ANDゲート61の出力がハイレベルの場合は、実質的に図2における(6)(d)の条件に該当する。また、ORゲート63の他方側はORゲート59であり、ORゲート59の出力がハイレベルの場合は、図2における(6)(c)の条件が成立する場合である。
そして、これらを総合すると、図2における(6)(c),(6)(d)の論理和となるから、加算器67の上位9ビットデータ[9:1]に対して、マルチプレクサ64の出力データの最下位ビット「0」を加えることで、マルチプレクサ64の入力選択状態に応じてカウントデータをインクリメント,デクリメントすることになる。
以上のように本実施例によれば、所定期間の計測対象である信号TERM(UCE)の立ち上がりエッジ,立ち下がりエッジにおけるクロック信号CLK(RCK)のレベルをレジスタ51,52により検出し、カウント結果修正手段69は、それらの検出結果に応じて、所定期間の計測値に相当するレジスタ66の出力データを修正するようにした。
即ち、レジスタ51,52によるレベル検出結果を参照すれば、クロック信号CLKの周期の1/2に関する時間情報を得ることができるので、その時間情報に基づいてカウント結果を修正すれば、クロック信号CLKの立ち上がりエッジに基づいて得られたレジスタ66のカウント値に対して分解能を2倍にすることができる。若しくは、実際の期間の長さに対する誤差をクロック信号周期の1/2以内とすることができるので、クロック信号CLKの周期を1/2にしてカウント動作を行わずとも、所定期間をより小さな誤差で計測することが可能となる。
即ち、レジスタ51,52によるレベル検出結果を参照すれば、クロック信号CLKの周期の1/2に関する時間情報を得ることができるので、その時間情報に基づいてカウント結果を修正すれば、クロック信号CLKの立ち上がりエッジに基づいて得られたレジスタ66のカウント値に対して分解能を2倍にすることができる。若しくは、実際の期間の長さに対する誤差をクロック信号周期の1/2以内とすることができるので、クロック信号CLKの周期を1/2にしてカウント動作を行わずとも、所定期間をより小さな誤差で計測することが可能となる。
そして、カウント結果修正手段69は、レジスタ66によるカウント値を2倍して、レジスタ51のみがハイを検出した場合は2倍したカウント値に1を加算し、レジスタ52のみがハイを検出した場合は2倍したカウント値より1を減算するようにしたので、クロック信号CLKを基準として、計測対象となる信号TERMの立ち上がり,立ち下がりタイミングがずれる4つのケースに対応して、計測誤差がより小さくなるように修正を行うことができる。即ち、立ち上がりエッジカウント値をNとすれば、2Nを中心として測定誤差は±1となるので、結果として最大誤差範囲はクロック信号CLKの1周期以内となり、従来の1/2にすることができる。
更に、本実施例によれば、リングオシレータ6によって生成されるクロック信号RCK(CLK)に基づき、基準クロック信号PREFの周波数をデジタル的なPLL動作により逓倍した逓倍クロック信号を生成して出力するクロック信号出力回路1に適用したので、基準クロック信号PREFの周期測定をより小さな誤差で行うことができ、逓倍クロック信号POUTをより高い精度で生成することができる。
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、次のような変形または拡張が可能である。
逓倍クロック信号を生成するためのクロック信号出力回路に限ることなく、所定の期間をクロック信号によってカウントするための装置であれば、広く適用することが可能である。
逓倍クロック信号を生成するためのクロック信号出力回路に限ることなく、所定の期間をクロック信号によってカウントするための装置であれば、広く適用することが可能である。
図面中、1はクロック信号出力回路、6はリングオシレータ、41はカウンタ部(カウント装置)、51はレジスタ(開始時クロックレベル検出手段)、52はレジスタ(終了時クロックレベル検出手段)、65は加算器(カウント手段)、66はレジスタ(カウント手段)、69はカウント結果修正手段を示す。
Claims (5)
- 所定の期間を計測するため、クロック信号の何れか一方のエッジに基づいてカウント動作を行なうカウント手段と、
前記計測の開始時点における前記クロック信号のレベルを検出する開始時クロックレベル検出手段と、
前記計測の終了時点における前記クロック信号のレベルを検出する終了時クロックレベル検出手段と、
これらのレベル検出手段による検出結果に応じて、前記所定期間の計測値に相当するカウント結果を修正するカウント結果修正手段とを備えてなることを特徴とするカウント装置。 - 前記カウント結果修正手段は、
前記カウント手段によるカウント値を2倍すると共に、
前記開始時クロックレベル検出手段のみがハイを検出した場合は、2倍したカウント値に1を加算し、
前記終了時クロックレベル検出手段のみがハイを検出した場合は、2倍したカウント値より1を減算するように構成されることを特徴とする請求項1記載のカウント装置。 - 前記クロック信号は、複数個の遅延ゲートをリング状に接続して構成されるリングオシレータを備え、このリングオシレータによって生成されるクロック信号であり、
当該クロック信号に基づき、基準クロック信号の周波数をデジタル的なPLL動作により逓倍した逓倍クロック信号を生成して出力することを特徴とする請求項1又は2記載のカウント装置。 - 所定の期間を計測するため、クロック信号の何れか一方のエッジに基づいてカウント動作を行なう場合に、
前記計測の開始時点における前記クロック信号のレベルを検出し、
前記計測の終了時点における前記クロック信号のレベルを検出し、
これらの検出結果に応じて、前記所定期間の計測値に相当するカウント結果を修正することを特徴とする所定期間のカウント方法。 - 前記カウント結果修正手段は、
前記クロック信号に基づいてカウントされたカウント値を2倍すると共に、
前記計測の開始時点における前記クロック信号のレベルのみがハイであった場合は、2倍したカウント値に1を加算し、
前記計測の終了時点における前記クロック信号のレベルのみがハイであった場合は、2倍したカウント値より1を減算するように構成されることを特徴とする請求項4記載の所定期間のカウント方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004099468A JP2005283408A (ja) | 2004-03-30 | 2004-03-30 | カウント装置及び所定期間のカウント方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004099468A JP2005283408A (ja) | 2004-03-30 | 2004-03-30 | カウント装置及び所定期間のカウント方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005283408A true JP2005283408A (ja) | 2005-10-13 |
Family
ID=35181951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004099468A Pending JP2005283408A (ja) | 2004-03-30 | 2004-03-30 | カウント装置及び所定期間のカウント方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005283408A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641089A (zh) * | 2021-10-15 | 2021-11-12 | 国开启科量子技术(北京)有限公司 | 用于测量时间的方法和装置 |
-
2004
- 2004-03-30 JP JP2004099468A patent/JP2005283408A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641089A (zh) * | 2021-10-15 | 2021-11-12 | 国开启科量子技术(北京)有限公司 | 用于测量时间的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6914460B1 (en) | Counter-based clock doubler circuits and methods | |
US8786347B1 (en) | Delay circuits for simulating delays based on a single cycle of a clock signal | |
JP2009027262A (ja) | A/d変換回路 | |
US10886930B1 (en) | Voltage controlled oscillator based analog-to-digital converter including a maximum length sequence generator | |
KR100344082B1 (ko) | 펄스폭 변조 파형 발생 회로 | |
US6396312B1 (en) | Gate transition counter | |
JP2793524B2 (ja) | 時間測定システムおよびその測定方法 | |
JP2642421B2 (ja) | デジタル位相差検出回路及び位相差検出方法 | |
KR19980019184A (ko) | 시간 간격 측정 시스템 및 시간 간격 측정 방법(time interval measurement system and method applied therein) | |
JP2005283408A (ja) | カウント装置及び所定期間のカウント方法 | |
US7516032B2 (en) | Resolution in measuring the pulse width of digital signals | |
JP4352921B2 (ja) | 回転位置検出装置 | |
JP3770378B2 (ja) | 位相比較回路 | |
JP3201961B2 (ja) | 時間計数回路、パルス変換回路及びfm復調回路 | |
JP2001021596A (ja) | 二値信号の比較装置及びこれを用いたpll回路 | |
JP2006197367A (ja) | カウンタ回路と、それを含む半導体装置 | |
JPH07162294A (ja) | パルス計数回路およびパルス切換回路 | |
JP2870453B2 (ja) | パルス幅補正回路 | |
JP2004345280A (ja) | デジタルpwm信号生成回路 | |
JP4189729B2 (ja) | タイマーカウント値の非同期読み出し方法及びタイマー | |
JP3185768B2 (ja) | 周波数比較器及びこれを用いたクロック抽出回路 | |
JP2009098019A (ja) | 時間計測回路 | |
JP2757714B2 (ja) | フレームパルス生成回路 | |
JP3742092B2 (ja) | 中心位相判定回路とその中心位相判定方法 | |
JP3036223B2 (ja) | クロック乗換回路 |