以下、本発明の好適な実施形態について図面を用いて説明する。用いる図面は説明の便宜上のものである。なお、以下に説明する実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
なお、以下の説明において、各信号の論理レベルがハイレベルであることを単に「Hレベル」、又は“1”と称し、各信号の論理レベルがローレベルであることを単に「Lレベル」、又は“0”と称する場合がある。
1.時間デジタル変換器の構成
1.1 第1実施形態
[時間デジタル変換器の構成]
図1は、第1実施形態の時間デジタル変換器1の構成例を示すブロック図である。図1に示すように、時間デジタル変換器1は、状態遷移部10、遷移状態取得部20、及び演算部30を備える。また、時間デジタル変換器1には、基準クロック信号CLKとトリガー信号TRGとが入力される。そして、時間デジタル変換器1は、基準クロック信号CLKに対するトリガー信号TRGの時間イベントに対応する時間デジタル値TD、或いは時間デジタル値TDXを生成し出力する。ここで、基準クロック信号CLKが基準信号の一例である。
状態遷移部10には、トリガー信号TRGが入力される。そして、状態遷移部10に入力されるトリガー信号TRGの論理レベルに基づいて、状態遷移部10の内部状態が遷移する。換言すれば、状態遷移部10は、トリガー信号TRGに基づいて、内部状態が遷移する状態遷移を開始する。そして、状態遷移部10は、内部状態を示す状態情報として伝播情報D、及びカウント情報qを出力する。ここで、本実施形態における時間デジタル変換器1では、状態遷移部10が出力する伝播情報Dは、信号D0~D6を含む7ビットの
情報を含むとして説明する。そのため、以下の説明では、伝播情報Dを伝播情報D[6,0]と称する場合がある。また、状態遷移部10が出力するカウント情報qは、カウント値q0,q1の2ビットの情報を含むとして説明する。そのため、以下の説明では、カウント情報qをカウント情報q[1,0]と称する場合がある。なお、伝播情報D、及びカウント情報qは、上述のビット数に限られるものではなく、状態遷移部10が出力する情報量に応じて、異なるビット数であってもよい。
遷移状態取得部20は、基準クロック信号CLKに同期して、状態遷移部10から状態情報として出力される伝播情報D、及びカウント情報qを取得し、伝播情報S、及びカウント情報Qとして保持する。そして、伝播情報S、及びカウント情報Qは、基準クロック信号CLKに同期して遷移状態取得部20から出力される。
ここで、伝播情報Dと伝播情報Sとは、同じ情報を含む。したがって、遷移状態取得部20が、信号D0~D6の7ビットの伝播情報D[6,0]を取得した場合、遷移状態取得部20は、信号S0~S6の7ビットの伝播情報Sを保持する。そのため、以下の説明では、伝播情報D[6,0]に対応する伝播情報Sを伝播情報S[6,0]と称する場合がある。
また同様に、カウント情報qとカウント情報Qとは、同じ情報を含む。したがって、遷移状態取得部20が、カウント値q0,q1の2ビットのカウント情報q[1,0]を取得した場合、遷移状態取得部20は、カウント値Q0,Q1の2ビットのカウント情報Qを保持する。そのため、以下の説明では、カウント情報q[1,0]に対応するカウント情報Qをカウント情報Q[1,0]と称する場合がある。
演算部30には、遷移状態取得部20から出力された伝播情報Dとカウント情報Qとが入力される。そして、演算部30は、遷移状態取得部20が取得した伝播情報S、及びカウント情報qを含む状態情報に基づいて、状態遷移部10における内部状態の遷移回数に応じた時間デジタル値TD、或いは時間デジタル値TDXを算出し出力する。
ここで、遷移状態取得部20が取得する伝播情報Dが本実施形態における伝播情報の一例である。また、伝播情報Dを基準クロック信号CLKに同期したタイミングで取得することで得られる伝播情報Sも広義の上での伝播情報の一例である。同様に、遷移状態取得部20が取得するカウント情報qが本実施形態におけるカウント情報の一例である。また、カウント情報qを基準クロック信号CLKに同期したタイミングで取得することで得られるカウント情報Qも広義の上でのカウント情報の一例である。そして、状態遷移部10が出力する伝播情報Dとカウント情報qとを含む情報が状態情報の一例であり、同様に、遷移状態取得部20が出力する伝播情報Sとカウント情報Qとを含む情報が状態情報の他の一例である。
[状態遷移部及び遷移状態取得部の構成]
まず、図2を用いて、状態遷移部10、及び遷移状態取得部20の構成について説明する。図2は、状態遷移部10、及び遷移状態取得部20の構成例を示す図である。図2に示すように、状態遷移部10は、タイミング制御回路11、ステートマシン12、及び多段遅延線13を有する回路である。
多段遅延線13は、バッファー素子やインバーター素子等で構成される複数の遅延素子15を有する。多段遅延線13は、入力端から最終段の出力端に至る信号経路に、複数の遅延素子15がチェーン状に接続された遅延線であって、1つの入力端と複数段の出力端とを有する。このような多段遅延線13は、タップ付き遅延線(TDL:Tapped Delay Line)とも呼ばれる。本実施形態の時間デジタル変換器1が有する多段遅延線13では、
複数の遅延素子15として、6個の遅延素子15-1~15-6を有する。そして、多段遅延線13は、遅延素子15-1~15-6が、多段遅延線13の入力端から出力端に向かい、遅延素子15-1~15-6の順にチェーン状に接続されることで構成される。
多段遅延線13を構成するチェーンの先頭にある遅延素子15-1の入力端は、多段遅延線13の入力端となる。また、チェーンを構成する遅延素子15-1~15-6の各々の入力端、及びチェーンの最後尾にある遅延素子15-6の出力端が、多段遅延線13の各段の出力端となる。すなわち、チェーンの先頭にある遅延素子15-1の入力端は、多段遅延線13の初段の出力端でもあり、チェーンの最後尾にある遅延素子15-6の出力端は、多段遅延線13の最終段の出力端である。したがって、多段遅延線13の最終段を除く各段の出力端からは、遅延素子15-1~15-6の各々に入力される信号が出力され、多段遅延線13の最終段の出力端からは、チェーンの最後尾にある遅延素子15-6から出力される信号が出力される。
なお、以下の説明において、遅延素子15-1~15-6の各々の入力端に位置する多段遅延線13の出力端から出力される信号が、多段遅延線13の入力端側から順に、信号D0~D5に相当し、遅延素子15-6の出力端に位置する多段遅延線13の出力端から出力される信号が信号D6に相当する。換言すれば、多段遅延線13は、入力された信号を遅延素子15-1~15-6を介して伝播する共に、多段遅延線13の入力端から最終段の出力端に至る信号経路に設けられた複数段の出力端から、伝播情報D[6、0]として信号D0~D6を出力する。
以上のように構成された多段遅延線13では、多段遅延線13の入力端に入力された信号の論理レベルは、遅延素子15で規定される遅延時間が経過することに伴って、順次後段の遅延素子15の入力端に伝播される。具体的には、多段遅延線13の入力端に、Hレベルの信号が入力された場合、信号D0の論理レベルがHレベルとなる。そして、信号D0の論理レベルがHレベルとなった後、遅延素子15-1で規定される遅延時間が経過すると、信号D1の論理レベルがHレベルに変化する。そして、信号D1の論理レベルがHレベルとなった後、遅延素子15-2で規定される遅延時間が経過すると、信号D2の論理レベルがHレベルに変化する。すなわち、信号Di(iは0~5の何れか)の論理レベルがHレベルに変化した後、遅延素子15-i+1で規定される遅延時間が経過すると、信号Di+1の論理レベルがHレベルに変化し、同様に、信号Diの論理レベルがLレベルに変化した後、遅延素子15-i+1で規定される遅延時間が経過すると、信号Di+1の論理レベルがLレベルに変化する。
すなわち、多段遅延線13は、入力される信号の論理レベルを遅延素子15の遅延時間に応じて、逐次後段の遅延素子15に伝播する。これにより、多段遅延線13の状態が遷移する。すなわち、多段遅延線13の状態が遷移することで、状態遷移部10の内部状態が遷移する。この場合において、多段遅延線13の各出力端から出力される信号D0~D6が、状態遷移部10の内部状態の一部を示す。
タイミング制御回路11は、多段遅延線13の入力端と電気的に接続されるように設けられている。そして、タイミング制御回路11は、トリガー信号TRGの論理レベルに基づいて、状態遷移部10における状態遷移の開始タイミングを制御する。なお、以下の説明では、タイミング制御回路11には、多段遅延線13の入力端から信号D0が入力されるとして説明を行うが、タイミング制御回路11には、多段遅延線13から信号D1~D5のいずれが入力されてもよい。
図3は、タイミング制御回路11の構成の一例を示す図である。具体的には、タイミング制御回路11は、排他的論理和回路111、カウンター112、及びデコーダー113
を有する。また、タイミング制御回路11には、トリガー信号TRGと、多段遅延線13から出力される信号D0と、が入力される。
カウンター112には、信号D0が入力される。カウンター112は、信号D0の立ち上がりエッジをカウントする。そして、カウンター112は、当該カウントのカウント値をデコーダー113に出力する。また、デコーダー113には、カウンター112によるカウント値の上限を規定する制限回数値LCも入力される。そして、デコーダー113は、カウンター112によるカウント値と、制限回数値LCとに基づいて、制御信号SSの論理ベルを変更する。なお、カウンター112は、例えば信号D0の立ち下がりエッジをカウントしてもよく、また、立ち上がりエッジ、及び立ち下がりエッジの双方をカウントしてもよい。
排他的論理和回路111には、トリガー信号TRGと制御信号SSとが入力される。排他的論理和回路111は、トリガー信号TRGと制御信号SSとの論理レベルが同じ場合、出力するイネーブル信号ENをLレベルとし、トリガー信号TRGと制御信号SSとの論理レベルが異なる場合、イネーブル信号ENをHレベルとする。ここで、タイミング制御回路11が本実施形態における論理回路の一例である。
図2に戻り、ステートマシン12は、タイミング制御回路11と多段遅延線13との間で伝播される信号経路上に設けられる。そして、ステートマシン12は、入力される信号に基づいて、多段遅延線13に入力される信号の論理レベルを決定すると共に、カウント情報q[1,0]を出力する。
具体的は、ステートマシン12は、LUT(Lookup table)a121、LUTb122、及びLUTc123を有する。LUTa121には、イネーブル信号EN、カウント値q1、及びカウント値q0が入力される。また、LUTb122、及びLUTc123のそれぞれには、信号D6、カウント値q1、及びカウント値q0が入力される。そして、LUTa121は、入力されるイネーブル信号EN、カウント値q1、及びカウント値q0の論理レベルに応じた論理レベルの信号D0を出力し、LUTb122は、入力される信号D6、カウント値q1、及びカウント値q0の論理レベルに応じた論理レベルのカウント値q1を出力し、LUTc123は、入力される信号D6、カウント値q1、及びカウント値q0の論理レベルに応じた論理レベルのカウント値q0を出力する。
図4は、LUTa121の真理値表の一例を示す図である。なお、図4では、各信号がHレベルの場合を“1”と示し、Lレベルの場合を“0”と示している。
図4に示すように、LUTa121は、入力されるイネーブル信号EN、カウント値q1、及びカウント値q0の論理レベルに応じて図4に記載の内容に従う論理レベルの信号を出力する。例えば、イネーブル信号EN、カウント値q1、及びカウント値q0の論理レベルが、Lレベル、Lレベル、Lレベルの場合、LUTa121は、現在の信号D0の論理レベルを継続して出力する。また、イネーブル信号EN、カウント値q1、及びカウント値q0の論理レベルが、Hレベル、Lレベル、Lレベルの場合、LUTa121は、信号D0をHレベルとする。また、イネーブル信号EN、カウント値q1、及びカウント値q0の論理レベルが、Hレベル、Hレベル、Lレベルの場合、LUTa121は、信号D0をLレベルとする。
図5は、LUTb122、及びLUTc123の真理値表の一例を示す図である。なお、図5では、各信号がHレベルの場合を“1”と示し、Lレベルの場合を“0”と示している。
図5に示すように、LUTb122、及びLUTc123のそれぞれは、入力される信号D6、カウント値q1、及びカウント値q0の論理レベル応じて図5に記載の内容に従う論理レベルの信号を出力する。例えば、信号D6、カウント値q1、及びカウント値q0の論理レベルが、Hレベル、Lレベル、Hレベルの場合、LUTb122は、カウント値q1をLレベルとし、LUTc123は、カウント値q0をHレベルとする。また、信号D6、カウント値q1、及びカウント値q0の論理レベルが、Lレベル、Hレベル、Hレベルの場合、LUTb122は、カウント値q1をHレベルとし、LUTc123は、カウント値q0をHレベルとする。ここで、カウント値q1、及びカウント値q2は、状態遷移部10の状態遷移が停止した後、不図示のリセット信号により“0”にリセットされる。
以上のように構成された状態遷移部10は、発振回路として機能する。そして、状態遷移部10が発振を開始することで、多段遅延線13から出力される信号D0~D6、及びカウント値q0,q1の状態が変化する。換言すれば、状態遷移部10が発振を開始することで、状態遷移部10の状態遷移が開始する。
具体的には、入力されるトリガー信号TRGがLレベルであって、制御信号SSがLレベルである場合、排他的論理和回路111は、出力するイネーブル信号ENをLレベルとする。また、入力されるトリガー信号TRGがHレベルであって、制御信号SSがHレベルである場合、排他的論理和回路111は、出力するイネーブル信号ENをLレベルとする。この場合において、ステートマシン12から出力される信号D0は、Lレベルで安定する。すなわち、トリガー信号TRGと制御信号SSとの論理レベルが同じ場合、状態遷移部10は、発振を停止する。換言すれば、状態遷移部10の状態遷移が生じない状態で落ち着く。そして、状態遷移部10の状態遷移が生じていないことで、カウント値q1、及びカウント値q2は、“0”にリセットされる。
これに対して、入力されるトリガー信号TRGがHレベルであって、制御信号SSがLレベルである場合、又は入力されるトリガー信号TRGがLレベルであって、制御信号SSがHレベルである場合、排他的論理和回路114は、出力するイネーブル信号をHレベルとする。これにより、LUTa121は、信号D0をHレベルとする。その結果、ステートマシン12は、入力される信号D6、カウント値q1、及びカウント値q0の論理レベルに応じて、図4、及び図5に示す内容で、信号D0、カウント値q1、及びカウント値q0の論理レベルを変化させる。そして、当該論理レベルの信号D0が、多段遅延線13に入力されることで、多段遅延線13で伝播される信号D0~D6の論理レベルが順次変化する。換言すれば、状態遷移部10の内部状態が遷移する。そして、多段遅延線13から出力される信号D6がLUTb122、LUTc123に入力される。これにより、カウント値q1、及びカウント値q0の論理レベルが変化する。そして、カウント値q1、及びカウント値q0の論理レベルが変化することで、LUTa121が出力する信号D0の論理レベルが変化する。ステートマシン12が上述の動作を繰り返すことで、状態遷移部10が、同様の動作を繰り返す。よって、状態遷移部10は、発振回路として動作する。換言すれば、状態遷移部10の状態遷移が、継続して実施される。
また、この場合において、カウンター112は、状態遷移部10の発振動作に伴う信号D0の論理レベルの反転回数をカウントする。そして、カウンター112は、当該カウントに応じたカウント値をデコーダー113に出力する。デコーダー113は、カウンター112から出力されるカウント値と、制限回数値LCとを比較する。そして、デコーダー113は、当該カウント値が、制限回数値LCに達した場合に制御信号SSの論理レベルを反転する。これにより、トリガー信号TRGと制御信号SSとの論理レベルが同じとなり、イネーブル信号ENがLレベルとなる。したがって、状態遷移部10は、発振動作を停止する。換言すれば、状態遷移部10は、内部状態の遷移回数が、制限回数値LCに基
づく回数を超えた場合に、状態遷移を停止する。このように、時間デジタル変換器1の測定対象に応じて、状態遷移部10の状態遷移を適宜停止することが可能となり、状態遷移部10、及び状態遷移部10を含む時間デジタル変換器1の動作負荷、及び消費電力を低減することが可能となる。ここで、制限回数値LCは、時間デジタル変換器1が用いられる構成、測定対象に応じて、適宜変更可能であってもよい。この状態遷移を停止する遷移回数を規定する制限回数値LCが上限値の一例である。
遷移状態取得部20は、多段遅延線13が有する複数の出力端のそれぞれに対応した複数のDフリップフロップ21を有する。すなわち、本実施形態の時間デジタル変換器1が有する遷移状態取得部20は、状態遷移部10から出力される信号D0~D6のそれぞれに対応する複数のDフリップフロップ21として、7個のDフリップフロップ21-0~21-6を有する。そして、Dフリップフロップ21-0~21-6の各々は、基準クロック信号CLKの立ち上がりエッジに同期して、信号D0~D6の各々を取得し、信号D0~D6の各々の論理レベルに応じた信号S0~S6を保持する。
また、遷移状態取得部20は、カウント情報q[1,0]を取得し保持するためのDフリップフロップ22を有する。Dフリップフロップ22は、基準クロック信号CLKの立ち上がりエッジに同期して、状態遷移部10から出力されるカウント情報q[1,0]を取得し、カウント情報Q[1,0]として保持する。なお、上述した通り、本実施形態におけるカウント情報q[1,0]は2ビットの信号である。したがって、図2においてDフリップフロップ22は1つのみを図示しているが、実際には、Dフリップフロップ22は2個存在する。
[状態遷移部及び遷移状態取得部の動作]
ここで、状態遷移部10、及び遷移状態取得部20の動作について説明する。図6は、状態遷移部10から出力される伝播情報D[6,0]、及びカウント情報q[1,0]の一例を示す図である。上述の通り、状態遷移部10が状態遷移を開始していない場合、タイミング制御回路11は、Lレベルのイネーブル信号ENを出力する。したがって、ステートマシン12は、多段遅延線13の入力端にLレベルの信号D0を入力する。そして、信号D0の論理レベルが、多段遅延線13の遅延素子15-1~15-6を介して伝播される。その結果、信号D0~D6は、いずれもLレベルとなる。また、状態遷移部10が状態遷移を開始していない場合、カウント値q0,q1をLレベルにリセットされる。この信号D0~D6、及びカウント値q0,q1がいずれもLレベルの状態を第0状態と称する。
タイミング制御回路11に入力されるトリガー信号TRGの論理レベルが反転すると、イネーブル信号ENは、Hレベルとなる。これにより、LUTa121は、図4に記載の内容に従い、信号D0をHレベルとする。よって、状態遷移部10の内部状態は、信号D0がHレベル、信号D1~D6、及びカウント値q0,q1がLレベルとなる第1状態に遷移する。
状態遷移部10の内部状態が第1状態に遷移した後、遅延素子15-1で規定される遅延時間を経過した場合、信号D0の論理レベルは、信号D1に伝播される。これにより、信号D1がHレベルに変化する。このとき、LUTa121には、Lレベルのカウント値q1と、Lレベルのカウント値q0とが入力されている。したがって、信号D0はHレベルを継続する。よって、状態遷移部10の内部状態は、信号D0,D1がHレベル、信号D2~D6、及びカウント値q0,q1がLレベルとなる第2状態に遷移する。
以降、遅延素子15-2~15-6のそれぞれで規定される遅延時間に応じて、信号D2~D6が、逐次Hレベルに変化する。このとき、LUTa121から出力される信号D
0は、Hレベルを継続する。これにより、状態遷移部10の内部状態は、第3状態から第7状態の順に逐次遷移する。ここで、第7状態とは、多段遅延線13に入力されたHレベルの信号が信号D6に伝播された状態である。
そして、状態遷移部10の内部状態が第7状態である場合、LUTb122、LUTc123には、Hレベルの信号D6と、Lレベルのカウント値q1と、Lレベルのカウント値q0とが入力されている。したがって、LUTb122、LUTc123は、図5に記載の内容に従い、カウント値q0をHレベルとする。よって、状態遷移部10の内部状態は、信号D0~D6、及びカウント値q0がHレベル、カウント値q1がLレベルとなる第8状態に遷移する。
状態遷移部10の内部状態が第8状態に遷移することで、LUTa121には、Lレベルのカウント値q1と、Hレベルのカウント値q0とが入力されている。したがって、LUTa121は、図4に記載の内容に従い、信号D0をLレベルとする。よって、状態遷移部10の内部状態は、信号D0、及びカウント値q1がLレベル、信号D1~D6、及びカウント値q0がHレベルとなる第9状態に遷移する。
状態遷移部10の内部状態が第9状態に遷移した後、遅延素子15-1で規定される遅延時間を経過した場合、信号D0の論理レベルは、信号D1に伝播される。これにより、信号D1がLレベルに変化する。このとき、LUTa121には、Lレベルのカウント値q1と、Hレベルのカウント値q0とが入力されている。したがって、信号D0は、Lレベルを継続する。よって、状態遷移部10の内部状態は、信号D0,D1、カウント値q1がLレベル、信号D2~D6、カウント値q0がHレベルとなる第10状態に遷移する。
以降、遅延素子15-2~15-6のそれぞれで規定される遅延時間に応じて、信号D2~D6が、逐次Lレベルに変化する。このとき、LUTa121から出力される信号D0は、Lレベルを継続する。これにより、状態遷移部10の内部状態は、第11状態から第15状態の順に逐次遷移する。ここで、第15状態とは、多段遅延線13に入力されたLレベルの信号が信号D6に伝播された状態である。
そして、状態遷移部10の内部状態が第15状態である場合、LUTb122、LUTc123には、Lレベルの信号D6と、Lレベルのカウント値q1と、Hレベルのカウント値q0とが入力されている。したがって、LUTb122、LUTc123は、図5に記載の内容に従い、カウント値q1をHレベルとする。よって、状態遷移部10の内部状態は、信号D0~D6がLレベル、カウント値q0,q1がHレベルとなる第16状態に遷移する。
状態遷移部10の内部状態が第16状態に遷移することで、LUTa121には、Hレベルのカウント値q1と、Hレベルのカウント値q0とが入力されている。したがって、LUTa121は、図4に記載の内容に従い、信号D0をHレベルとする。よって、状態遷移部10の内部状態は、信号D0、カウント値q1、及びカウント値q0がHレベル、信号D1~D6がLレベルとなる第17状態に遷移する。
状態遷移部10の内部状態が第17状態に遷移した後、遅延素子15-1で規定される遅延時間を経過した場合、信号D0の論理レベルは、信号D1に伝播される。これにより、信号D1がHレベルに変化する。このとき、LUTa121には、Hレベルのカウント値q1と、Hレベルのカウント値q0とが入力されている。したがって、信号D0はHレベルを継続する。よって、状態遷移部10の内部状態は、信号D0,D1、カウント値q1、及びカウント値q0がHレベル、信号D2~D6がLレベルとなる第18状態に遷移
する。
以降、遅延素子15-2~15-6のそれぞれで規定される遅延時間に応じて、信号D2~D6が、逐次Hレベルに変化する。このとき、LUTa121から出力される信号D0は、Hレベルを継続する。これにより、状態遷移部10の内部状態は、第19状態から第23状態の順に逐次遷移する。ここで、第23状態とは、多段遅延線13に入力されたHレベルの信号が信号D6に伝播された状態である。
そして、状態遷移部10の内部状態が第23状態である場合、LUTb122、LUTc123には、Hレベルの信号D6と、Hレベルのカウント値q1と、Hレベルのカウント値q0とが入力されている。したがって、LUTb122、LUTc123は、図5に記載の内容に従い、カウント値q0をLレベルとする。よって、状態遷移部10の内部状態は、信号D0~D6、及びカウント値q1がHレベル、カウント値q0がLレベルとなる第24状態に遷移する。
状態遷移部10の内部状態が第24状態に遷移することで、LUTa121には、Hレベルのカウント値q1と、Lレベルのカウント値q0とが入力されている。したがって、LUTa121は、図4に記載の内容に従い、信号D0をLレベルとする。よって、状態遷移部10の内部状態は、信号D0、及びカウント値q0がLレベル、信号D0~D6、及びカウント値q1がHレベルとなる第25状態に遷移する。
状態遷移部10の内部状態が第25状態に遷移した後、遅延素子15-1で規定される遅延時間を経過した場合、信号D0の論理レベルは、信号D1に伝播される。これにより、信号D1がLレベルに変化する。このとき、LUTa121には、Hレベルのカウント値q1と、Lレベルのカウント値q0とが入力されている。したがって、信号D0は、Lレベルを継続する。よって、状態遷移部10の内部状態は、信号D0,D1、及びカウント値q0がLレベル、信号D2~D6、及びカウント値q1がHレベルとなる第26状態に遷移する。
以降、遅延素子15-2~15-6のそれぞれで規定される遅延時間に応じて、信号D2~D6が、逐次Lレベルに変化する。このとき、LUTa121から出力される信号D0は、Lレベルを継続する。これにより、状態遷移部10の内部状態は、第27状態から第31状態の順に逐次遷移する。ここで、第31状態とは、多段遅延線13に入力されたLレベルの信号が信号D6に伝播された状態である。
そして、状態遷移部10の内部状態が第31状態である場合、LUTb122、LUTc123には、Hレベルのカウント値q1と、Lレベルのカウント値q0とが入力されている。したがって、LUTb122、LUTc123は、図5に記載の内容に従い、カウント値q1をLレベルとする。よって、状態遷移部10の内部状態は、信号D0~D6、及びカウント値q0,q1がLレベルとなる第0状態に遷移する。
以降同様に、状態遷移部10の内部状態は第0状態から第31状態の間で状態遷移を繰り返す。
以上のように、状態遷移部10の内部状態を示す状態情報は、ステートマシン12からされるカウント情報q[1,0]と、多段遅延線13から出力される伝播情報D[6,0]とで表現されている。そして、状態遷移部10の状態遷移の前後において、状態情報に含まれる信号は、1ビットのみ変化する。換言すれば、状態遷移の前後における状態情報のハミング距離は、“1”である。
状態遷移部10に状態遷移が生じた場合における状態情報のハミング距離を1とすることで、基準クロック信号CLKが入力されるタイミングにより遷移状態取得部20が取得する状態情報にハザード等の異常が生じるおそれを低減可能となる。
ここで、カウント情報q[1,0]は、ステートマシン12から出力される信号D0の論理レベルが、信号D6まで伝播された回数を示す。図7は、カウント情報q[1,0]に含まれるカウント値q0,q1と、多段遅延線13の伝播回数との関係を示す図である。なお、図7に示すカウント値[Dec]とは、ステートマシン12から出力される信号D0の論理レベルが、信号D6まで伝播された回数を10進数で表示したものである。
具体的には、図6に示すように第1状態において信号D0がHレベルとなり、第7状態において当該Hレベルの信号に起因して信号D6がHレベルとなる。この第1状態から第7状態において、カウント情報q[1,0]に含まれるカウント値q0,q1は、L,Lレベルである。すなわち、第1状態から第7状態において、カウント情報q[1,0]として保持される情報は、図7に示すようにステートマシン12から出力される信号D0の論理レベルが信号D6まで伝播された回数が、0回であることを示す。
そして、第8状態においてカウント情報q[1,0]に含まれるカウント値q0がHレベル、カウント値q1がLレベルとなる。その後、第9状態において信号D0がLレベルとなり、第15状態において当該Lレベルの信号に起因して信号D6がLレベルとなる。この第8状態から第15状態において、カウント情報q[1,0]に含まれるカウント値q0,q1は、H,Lレベルである。すなわち、第8状態から第15状態において、カウント情報q[1,0]として保持される情報は、図7に示すようにステートマシン12から出力される信号D0の論理レベルが信号D6まで伝播された回数が、1回であることを示す。
そして、第16状態においてカウント情報q[1,0]に含まれるカウント値q0がHレベル、カウント値q1がHレベルとなる。その後、第17状態において信号D0がHレベルとなり、第23状態において当該Hレベルの信号に起因して信号D6がHレベルとなる。この第17状態から第23状態において、カウント情報q[1,0]に含まれるカウント値q0,q1は、H,Hレベルである。すなわち、第16状態から第23状態において、カウント情報q[1,0]として保持される情報は、図7に示すようにステートマシン12から出力される信号D0の論理レベルが信号D6まで伝播された回数が、2回であることを示す。
そして、第24状態においてカウント情報q[1,0]に含まれるカウント値q0がLレベル、カウント値q1がHレベルとなる。その後、第25状態において信号D0がLレベルとなり、第31状態において当該Lレベルの信号に起因して信号D6がLレベルとなる。この第25状態から第31状態において、カウント情報q[1,0]に含まれるカウント値q0,q1は、H,Lレベルである。すなわち、第24状態から第31状態において、カウント情報q[1,0]として保持される情報は、図7に示すようにステートマシン12から出力される信号D0の論理レベルが信号D6まで伝播された回数が、3回であることを示す。
そして、第0状態においてカウント情報q[1,0]に含まれるカウント値q0がLレベル、カウント値q1がLレベルとなる。すなわち、図7に示すようにステートマシン12から出力される信号D0の論理レベルが信号D6まで伝播された回数が、リセットされる。
次に、図8を用いて遷移状態取得部20の動作について説明する。図8は遷移状態取得
部20の動作を説明するための図である。遷移状態取得部20は、基準クロック信号CLKに同期して、状態遷移部10から出力される第0状態に対応する伝播情報D[6,0]、及びカウント情報q[1,0]を取得し、伝播情報S[6,0]、カウント情報Q[1,0]として保持する。そして、図8に示すように、時間デジタル変換器1には、時間t0においてトリガー信号TRGの論理レベルがLレベルからHレベルに反転する。これにより、状態遷移部10は、状態遷移を開始する。
具体的には、トリガー信号TRGの論理レベルが反転し、時間Δt0を経過することで、状態遷移部10の内部状態は、第0状態から第1状態に遷移する。状態遷移部10の内部状態は、第1状態に遷移した後、時間Δt1を経過することで、信号D1がHレベルとなる第2状態に遷移する。以降、同様に状態遷移部10の内部状態は、第i状態(iは1から30のいずれか)に遷移した後、時間Δtiを経過することで、第i+1状態に遷移する。ここで、図8に示す時間Δt0~Δt31は、ステートマシン12にける信号処理に要する時間、及び遅延素子15-1~15-7のそれぞれに生じる遅延時間に相当する。すなわち、状態遷移部10は、時間Δt0~Δt31に従い、図6に示す内容で状態遷移を継続する。
遷移状態取得部20は、時間t1における基準クロック信号CLKの立ち上がりに同期して、第4状態に対応する伝播情報D[6,0]、及びカウント情報q[1,0]を取得する。具体的には、遷移状態取得部20が有するDフリップフロップ21-0~21-6のそれぞれが、基準クロック信号CLKに同期して、第4状態に対応する信号D0~D6を取得し、信号S0~S6として保持し、また、Dフリップフロップ22が、基準クロック信号CLKに同期して、第4状態に対応すするカウント値q0,q1を取得し、カウント値Q0,Q1として保持する。そして、遷移状態取得部20は、保持する伝播情報S[6,0]、及びカウント情報Q[1,0]を、演算部30に出力する。
遷移状態取得部20は、以下同様に、基準クロック信号CLKの立ち上がりに同期して、時間t2,t3,t4,・・・と継続して、状態遷移部10の内部状態に対応する伝播情報D[6,0]、及びカウント情報q[1,0]を取得し、伝播情報S[6,0]、及びカウント情報Q[1,0]として、演算部30に出力する。
ここで、図9を用いて、状態遷移部10の内部状態が、同じ内部状態に遷移するまでの周期の時間と、遷移状態取得部20が取得した状態情報が更新される周期の時間との関係について説明する。図9は、状態遷移部10の状態遷移において、同じ内部状態に遷移するまでの周期の時間と、遷移状態取得部20が取得した状態情報が更新される周期の時間との関係を説明するための図である。
前述の通り、本実施形態における状態遷移部10の内部状態は、第0状態、第1状態、第2状態、・・、第31状態の順に状態遷移する。そして、状態遷移部10の内部状態は、第31状態まで遷移した後、再度、第0状態に遷移する。すなわち、状態遷移部の10の内部状態は、第0状態から第31状態までを1周期として周期的に遷移する。具体的には、図9に示すように状態遷移部10の内部状態として第1状態に着目した場合、状態遷移部10の内部状態は、第1状態から第2状態に遷移し、その後、時間間隔t5を経過することで、第0状態から第1状態と遷移する。換言すれば、状態遷移部10の内部状態は、第1状態から第2状態に遷移してから、再度、第1状態に遷移するまでに時間間隔t5の時間を要する。
これに対して、本実施形態における遷移状態取得部20は、基準クロック信号CLKの立ち上がりエッジを検出することで、新たな状態情報として、伝播情報D[6,0]、及びカウント情報q[1,0]を取得し、伝播情報S[6,0]、及びカウント情報Q[1
,0]として保持する。換言すれば、遷移状態取得部20は、基準クロック信号CLKの周期t6に従って、保持する状態情報を更新する。
ここで仮に、時間間隔t5が周期t6よりも短い場合、遷移状態取得部20が保持する状態情報を更新する周期t6において、状態遷移部10の内部状態は、複数周期にわたり遷移する場合がある。そのため、状態遷移部10は、内部状態の遷移数を計測するために、周期t6の間に内部状態が遷移した周期の回数をカウントするためのカウンターを備える必要がある。しかしながら、内部状態の遷移周期が、基準クロック信号CLKの周期に対して短い場合、当該遷移周期の回数を計数するためのカウンターは、ハザードが生じるおそれを低減する等のために高速で動作する必要がある。そのため、当該カウンター、及び当該カウンターを備えた時間デジタル変換器1の構成が煩雑になるおそれがある。
そこで、本実施形態における時間デジタル変換器1では、図9に示すように、状態遷移部10の内部状態が第1状態から第2状態に遷移してから、再度、前記第1状態に遷移するまでの時間間隔t5は、遷移状態取得部20に保持される状態情報が更新される周期t6の間隔よりも長いとの構成を有する。
時間間隔t5を周期t6よりも長くすることで、遷移状態取得部20が保持する状態情報を更新する周期t6において、状態遷移部10は、同じ内部状態を取りえない。したがって、状態遷移部10は、状態遷移の周期数をカウントするためのカウンターを備える必要がない。また、仮に状態遷移部10が、状態遷移の周期数をカウントするためのカウンターを備える場合であっても、基準クロック信号CLKに対して、状態遷移部10の状態遷移の周期が長いため、状態遷移部10は、高速で動作するカウンターを備える必要がない。したがって、当該カウンター、当該カウンターを有する状態遷移部10、及び状態遷移部10を備えた時間デジタル変換器1の構成が煩雑になるおそれを低減できる。
ここで、状態遷移部10の内部状態である第0状態~第31状態のいずれかが、第1内部状態の一例であり、第1内部状態に相当する第0状態~第31状態の次に遷移する内部状態が第2内部状態の一例である。
[演算部の構成]
次に、演算部30の構成について説明する。図10は、演算部30の構成例を示す図である。図10に示すように、演算部30は、計数部40、計数値保持部50、積算部60、及び変換部70を有する。そして、演算部30は、伝播情報S[6,0]とカウント情報Q[1,0]とを含む状態情報に基づいて状態遷移部10における状態遷移回数を演算し、演算した状態遷移回数に対して、時間経過に基づく重み付けを行い、重み付けされた状態遷移回数を積算することで、時間デジタル値TD、或いは時間デジタル値TDXを算出し出力する。なお、演算部30はMPU(Micro Processing Unit)やFPGA(field-programmable gate array)等で構成できる。
図11は、計数部40の構成例を示す図である。計数部40は、MUX(multiplexer)41、反転回路42、カウント回路43、加算器46、Dフリップフロップ47、減算器48、乗算器49、コード変換器53、乗算器54、カウンター55、及び排他的論理和回路56を有する。なお、図11では図示の簡略化のため、Dフリップフロップ47は1つのみを図示しているが、実際には加算器46から出力されるビット数に対応する数のDフリップフロップ47が存在する。
排他的論理和回路56には、カウント値Q0とカウント値Q1とが入力される。そして、排他的論理和回路56は、カウント値Q0とカウント値Q1との論理レベルが同じである場合、出力する選択制御信号CSをLレベルとし、カウント値Q0とカウント値Q1と
の論理レベルが異なる場合、出力する選択制御信号CSをHレベルとする。
MUX41には、選択制御信号CSと、伝播情報S[6,0]と、伝播情報S[6,0]の論理レベルが反転回路42により反転された信号と、が入力される。そして、MUX41は、選択制御信号CSの論理レベルに基づいて、伝播情報S[6,0]をカウント回路43に出力するのか、又は論理レベルが反転された伝播情報S[6,0]をカウント回路43に出力するのかを選択する。なお、本実施形態では、選択制御信号CSがLレベルの場合、伝播情報S[6,0]をカウント回路43に出力し、選択制御信号CSがHレベルの場合、論理レベルが反転された伝播情報S[6,0]をカウント回路43に出力する。
カウント回路43は、MUX41から入力される信号に含まれる“0”又は“1”の数をポピュレーションカウントし、“0”~“8”のいずれかの値を有する信号を生成し、加算器46に出力する。なお、本実施形態では、MUX41から入力される信号に含まれる“1”の数をポピュレーションカウントする。
コード変換器53には、カウント情報Q[1,0]が入力される。そして、コード変換器53は、図7に示される内容に従って、入力されるカウント情報Q[1,0]を対応するカウント情報[Dec]に変換する。その後、コード変換器53は、カウント情報[Dec]に対応する2進数の信号を生成し、乗算器54に出力する。
乗算器54は、コード変換器53から出力された信号に“8”を掛け合わせることで、演算結果に応じた値の信号を生成し、加算器46に出力する。ここで、乗算器54が演算に用いる“8”とは、カウント情報q[1,0]の保持値が更新される間隔において、状態遷移部10に生じる内部状態の状態遷移の回数に相当する。
加算器46は、カウント回路43から出力される信号の値と、乗算器54から出力される信号の値と、を足し合わせて演算結果を出力する。加算器46が出力する信号の値は、時間デジタル変換器1にトリガー信号が入力されてから、遷移状態取得部20が、伝播情報D[6,0]を取得するまでの時間に、状態遷移部10の内部状態が遷移した遷移回数に相当する。
複数のDフリップフロップ47の各々は、基準クロック信号CLKの立ち上がりエッジに同期して、加算器46から出力される信号の値を取り込んで保持する。
減算器48は、加算器46から出力される信号の値から複数のDフリップフロップ47が保持している信号の値を減算し、演算結果の値を乗算器49に出力する。ここで、減算器48から出力される演算結果の値は、基準クロック信号CLKの直近の1周期の時間に、状態遷移部10の内部状態が遷移した回数に相当する。なお、以下の説明において、基準クロック信号CLKの直近の1周期の時間に、状態遷移部10の内部状態が遷移した回数を計数値と称する場合がある。
カウンター55は、基準クロック信号CLKに同期してカウントアップするアップカウンターである。カウンター55は、基準クロック信号CLKをカウントした結果を示す信号の値を乗算器49に出力する。すなわち、カウンター55は、時間デジタル変換器1にトリガー信号が入力されてからの経過時間に応じて値が増加する信号を出力する。以下の説明では、このカウンター55が出力する信号を重み係数信号と称し、重み係数信号に含まれる値を重み係数と称する場合がある。
乗算器49は、計数値と、重み係数とを掛け合わせることで、重付計数値CNTを算出
し、計数部40から出力する。
ここで、本実施形態における、基準クロック信号CLKの直近の1周期の時間に状態遷移部10の内部状態が遷移した回数である計数値が状態遷移回数の一例である。なお、本実施形態では、基準クロック信号CLKの直近の1周期の時間に状態遷移部10の内部状態が遷移した回数に、重み係数を掛け合わせることで重付計数値CNTを算出したが、時間デジタル変換器1にトリガー信号が入力されてから、遷移状態取得部20が伝播情報D[6,0]を取得するまでの間に、状態遷移部10の内部状態が遷移した遷移回数に対して重み係数を掛け合わせることで、重付計数値CNTを算出してもよい。すなわち、当該遷移回数もまた、状態遷移回数に相当する。
また、図11では、図示及び説明を省略しているが、複数のDフリップフロップ47、及びカウンター55には、多段遅延線13の状態遷移が所定の回数に達した場合や、状態遷移部10の状態遷移が停止した場合等において、保持する値を“0”に初期化するリセット信号が入力されてもよい。
次に図12を用いて、計数値保持部50、及び積算部60の構成について説明する。図12は、計数値保持部50、及び積算部60の構成例を示す図である。図12に示すように、計数値保持部50は、Dフリップフロップ51を含む。また、積算部60は、加算器61、及びDフリップフロップ62を含む。なお、図12では図示の簡略化のため、Dフリップフロップ51、及びDフリップフロップ62はそれぞれ1つのみ図示されているが、実際には、Dフリップフロップ51、及びDフリップフロップ62は、取得し保持する信号のビット数に応じて複数個存在してもよい。
Dフリップフロップ51は、基準クロック信号CLKの立ち上がりエッジに同期して、計数部40から出力される重付計数値CNTを取得し、重付計数値DCNTとして保持する。
加算器61は、Dフリップフロップ51が保持している重付計数値DCNTと、Dフリップフロップ62が保持している値と、を加算しDフリップフロップ62に出力する。そして、Dフリップフロップ62の各々は、基準クロック信号CLKの立ち上がりエッジに同期して、加算器61から出力される信号の各値を取り込んで時間デジタル値TDとして保持する。
なお、図12では図示を省略するが、Dフリップフロップ51、及びDフリップフロップ62のそれぞれには、保持する値を“0”に初期化するリセット信号が入力されてもよい。これにより、時間デジタル値TDも0に初期化される。
図10に戻り、変換部70には、積算部60から出力される時間デジタル値TDが入力される。そして、変換部70は、時間デジタル値TDを変換することで時間デジタル値TDXを生成する。例えば、変換部70は、時間デジタル値TDに対して所定のスケーリングを行って時間デジタル値TDXを生成してもよく、また、変換部70は、所定の変換式あるいはテーブル情報に従って時間デジタル値TDを時間デジタル値TDXに変換してもよい。なお、演算部30は、変換部70を含まなくてもよい。
本実施形態では、基準クロック信号CLKの時間イベントは、トリガー信号TRGの時間イベントとは独立して設定されている。すなわち、基準クロック信号CLKの時間イベントとトリガー信号TRGの時間イベントとは、非同期である。したがって、時間デジタル値TD、或いは時間デジタル値TDXは、トリガー信号TRGの時間イベントに対応するタイムスタンプとして用いられる。
そして、演算部30により演算された時間デジタル値TD、或いは時間デジタル値TDXは、不図示の端子を介して時間デジタル変換器1から出力される。
[作用効果]
本実施形態における時間デジタル変換器1では、状態遷移部10において状態遷移する内部状態を示す状態情報は、ステートマシン12から出力されるカウント情報qと、状態遷移部10に含まれる多段遅延線13から出力される伝播情報Dとで表現され、且つ当該状態情報の状態遷移の前後におけるハミング距離が“1”である。すなわち、カウント情報qと伝播情報Dとが連動して遷移し、状態情報を表現する。したがって、カウント情報qに基づいて得られる状態が遷移する時間、又は伝播情報Dに基づいて得られる状態が遷移の時間の何れかにばらつきが生じた場合であっても、誤った状態情報を取得するおそれが低減される。
さらに、本実施形態における時間デジタル変換器1では、内部状態が第1状態から第2状態に遷移してから、再度、前記第1状態に遷移するまでの時間間隔t5は、遷移状態取得部20に保持される伝播情報S[6,0]が更新される周期t6の間隔よりも長くすることで、遷移状態取得部20が保持する伝播情報S[6,0]を更新する周期t6において、状態遷移部10は、同じ内部状態を取りえない。したがって、状態遷移部10は、状態遷移の周期数をカウントするためのカウンターを備える必要がない。また、仮に状態遷移部10が、状態遷移の周期数をカウントするためのカウンターを備える場合であっても、基準クロック信号CLKに対して、状態遷移部10の状態遷移の周期が長いため、状態遷移部10は、高速で動作するカウンターを備える必要がない。したがって、当該カウンター、当該カウンターを有する状態遷移部10、及び状態遷移部10を備えた時間デジタル変換器1の構成が煩雑になるおそれを低減できる。
[変形例]
以上に説明した時間デジタル変換器1において、計数部40は、複数の遅延素子15の遅延量、及びステートマシン12の演算処理に伴う遅延量を用いて、状態遷移回数を補正してもよい。
図13は、変形例の時間デジタル変換器1における計数部40の構成の一例を示す図である。図13に示すように、変形例における計数部40は、加算器46の出力側に、内部状態の遷移回数を補正するための補正回路57を有する。そして、補正回路57は、状態遷移部10の内部状態の遷移回数を、当該遷移回数に対応する補正遷移回数として出力する。
具体的には、補正回路57には、加算器46から、状態遷移部10の内部状態の遷移回数に対応する6ビットの信号が入力される。そして、補正回路57は、入力された状態遷移部10の遷移回数に対応する6ビットの信号を、対応する9ビットの補正遷移回数を示す信号に変換して出力する。ここで、補正遷移回数を示す信号は、例えば時間デジタル変換器1の製造工程において、不図示の記憶部に記憶されている。そして、補正回路57に、状態遷移部10の遷移回数に対応する信号が入力されることで、補正回路57は、当該信号に対応する補正遷移回数を示す信号を記憶部から読み出す。なお、加算器46から入力される遷移回数に対応する信号のビット数、及び補正遷移回数を示す信号のビット数は、一例であり、これに限るものではない。
ここで、遷移回数に対応する補正遷移回数の算出方法の一例について図14を用いて説明する。図14は、遷移回数に対応する補正遷移回数の算出方法の一例を示す図である。補正遷移回数を算出するにあたり、まず、状態遷移部10の状態遷移における内部状態の
頻度を計測する。具体的には、状態遷移部10の状態遷移を開始させる。そして、状態遷移部10の状態遷移の実行中の任意のタイミングで遷移状態取得部20に保持されている伝播情報D[6,0]、及びカウント情報Q[1,0]を繰り返し取得する。そして、繰り返し取得された伝播情報D[6,0]、及びカウント情報Q[1,0]に基づいて、状態遷移部10の内部状態を算出し、状態遷移部10の状態遷移中に発生する各内部状態の発生回数をカウントする。図14に示す例では、第0状態の頻度のカウント値が“1496”カウントであり、第1状態の頻度のカウント値は、“1214”カウントである。
次に、取得した内部状態の頻度のカウント値を、状態遷移部10の内部状態が1周する周期の時間に基づいて正規化し、各遅延素子15の遅延時間、及びステートマシン12の処理時間に対応するビンサイズを算出する。図14に示す例では、第0状態から第1状態に遷移する場合におけるステートマシン12のビンサイズは、“779”psecであり、第1状態から第2状態に遷移する場合の遅延素子15-1のビンサイズは、“632”psecである。そして、各内部状態におけるビンサイズ[psec]を積算することで積算ビンサイズ[psec]を算出する。
次に、積算ビンサイズ[psec]に基づいて、ビン代表値[psec]を算出する。ビン代表値[psec]は、補正遷移回数の演算対象の内部状態の累積ビンサイズ[psec]と、直前の内部状態の累積ビンサイズ[psec]との平均値を算出することで得られる。例えば、図14に示す例では、第1状態に対応するビン代表値[psec]は、第1状態の累積ビンサイズ[psec]である“1412”psecと、直前の第0状態の累積ビンサイズ[psec]である“779”psecとの平均値である”1095“psecとなる。ここで、第1状態に対応するビン代表値[psec]は、直前の累積ビンサイズ[psec]は“0”psecであるとして算出される。
そして、各内部状態に対応して算出されたビン代表値[psec]を、例えば、0~128で正規化することで、9ビットの補正遷移回数が算出される。
ここで、時間デジタル変換器1に対して、上述した補正回路57を適用することによる効果について、図15~図17を用いて説明する。
図15は、本変形例の効果を説明するため試験構成を示す図である。当該試験構成は、2つの時間デジタル変換器1-1,1-2を用いる。時間デジタル変換器1-1と、時間デジタル変換器1-2とには、共通の基準クロック信号CLKが入力される。また、時間デジタル変換器1-1と、時間デジタル変換器1-2とには、共通のトリガー信号TRGが、遅延素子2により生じる遅延時間だけ遅延させた状態で入力される。そして、時間デジタル変換器1-1は、入力されるトリガー信号TRGの時間イベントに対応する時間デジタル値TDaを出力し、時間デジタル変換器1-2は、入力される遅延されたトリガー信号TRGの時間イベントに対応する時間デジタル値TDbを出力する。
図16は、図15に示す構成において、本変形例に示す補正を実施していない場合における、時間デジタル値TDaと時間デジタル値TDbとの関係を示す図である。また、図17は、図15に示す構成において、本変形例に示す補正を実施した場合における時間デジタル値TDaと時間デジタル値TDbとの関係を示す図である。
図16、及び図17に示すように、時間デジタル変換器1-1,1-2が、本変形例における補正回路57を備えることで、時間デジタル変換器1-1から出力される時間デジタル値TDaと、時間デジタル変換器1-2から出力される時間デジタル値TDbとの間の線形性が改善される。すなわち、時間デジタル変換器1-1,1-2のそれぞれが備える遅延素子15の遅延時間、及びステートマシン12の処理時間のばらつきが低減される
。
以上のように、変形例の時間デジタル変換器1では、遅延素子15の遅延時間、及びステートマシン12の処理時間に生じるばらつきを補正することが可能となる。したがって、カウント情報qに基づいて得られる状態が遷移する時間、又は伝播情報Dに基づいて得られる状態が遷移の時間の何れかにばらつきが生じた場合であっても、誤った状態情報を取得するおそれがさらに低減される。
1.2 第2実施形態
時間デジタル変換器1の第2実施形態は、複数のトリガー信号TRGの時間イベントの少なくとも2つの時間間隔に対応する時間デジタル値TDY1~TDYmを生成する。なお、第2実施形態における時間デジタル変換器1を説明するにあたり、第1実施形態の時間デジタル変換器1と同じ構成には、同じ符号を付し、説明を省略、又は簡略化する場合がある。
図18は、時間デジタル変換器1の第2実施形態の構成を示す図である。図18に示すように、時間デジタル変換器1の第2実施形態は、状態遷移部10、遷移状態取得部20、及び演算部30を含む。
状態遷移部10には、n個(n≧2)のトリガー信号TRG1~TRGnが入力される。状態遷移部10は、入力されるトリガー信号TRG1~TRGnのそれぞれに応じて状態遷移を開始する。なお、第2実施形態では、トリガー信号TRG1~TRGnの各時間イベントが、この順に所定の時間以上の間隔で到来するものとする。
遷移状態取得部20は、基準クロック信号CLKの立ち上がりエッジに同期して、伝播情報Dを取得し、伝播情報Sとして保持する。また、遷移状態取得部20は、基準クロック信号CLKの立ち上がりエッジに同期して、カウント情報qを取得し、カウント情報Qとして保持する。そして、遷移状態取得部20が保持する伝播情報S、及びカウント情報Qは、演算部30に出力される。
図19は、時間デジタル変換器1の第2実施形態における演算部30の構成を示す図である。図19に示すように、演算部30は、計数部40、計数値保持部50、積算部60、及び時間デジタル値生成部80を有する。計数部40は、遷移状態取得部20から出力される伝播情報S、及びカウント情報Qに基づいて、重付計数値CNTを生成する。なお、計数部40は、トリガー信号TRGi(iは1~n-1の各々)の時間イベントが到来することで、トリガー信号TRGiに対応する重付計数値CNTを出力する。計数部40が、トリガー信号TRGiに対応する重付計数値CNTを出力した後、計数部40の保持される重付計数値CNTは“0”に初期化される。その後、計数部40は、トリガー信号TRGi+1の時間イベントの到来に伴い、トリガー信号TRGi+1に対応する重付計数値CNTを出力する。
計数値保持部50は、基準クロック信号CLKに同期して、計数部40から順番に出力されるn個の重付計数値CNTを逐次取り込んで重付計数値DCNTとして保持する。
積算部60は、基準クロック信号CLKに同期して、計数値保持部50で順番に保持されたn個の重付計数値DCNTの各々を逐次積算することで、トリガー信号TRG1~TRGnの各々の時間イベントと、基準クロック信号CLKの時間イベントと、の時間間隔に対応するn個の時間デジタル値TDを順番に生成する。なお、計数値保持部50、及び積算部60は、例えば不図示のリセット信号等が入力されることにより初期化される。
時間デジタル値生成部80は、基準クロック信号CLKに同期して、トリガー信号TRG1~TRGnに対応するn個の時間デジタル値TDに基づいて、トリガー信号TRG1~TRGnの少なくとも2つの時間イベントの時間間隔に対応する時間デジタル値TDY1~TDYmを生成する。換言すれば、時間デジタル変換器1は、トリガー信号TRG1~TRGnのいずれかの時間イベントに対応する時間デジタル値TDと、トリガー信号TRG1~TRGnの異なるいずれかの時間イベントに対応する時間デジタル値TDとの差分から、2つの時間イベントの時間間隔に対応する時間デジタル値TDYを生成する。
例えば、m=n-1であり、時間デジタル値TDYi(iは1~n-1の各々)は、トリガー信号TRGi+1に対応する時間デジタル値TDと、トリガー信号TRGiに対する時間デジタル値TDとの差分であってもよい。ここで、トリガー信号TRG1~TRGnのいずれかが、第1トリガー信号の一例であり、対応する時間デジタル値TDが第1時間デジタル値の一例である。また、トリガー信号TRG1~TRGnの異なるいずれかが、第2トリガー信号の一例であり、対応する時間デジタル値TDが第2時間デジタル値の一例である。そして、トリガー信号TRG1~TRGnのいずれかに対応する時間デジタル値TDと、トリガー信号TRG1~TRGnの異なるいずれかに対応する時間デジタル値TDとの差分により算出される時間デジタル値TDYが、第2実施形態における時間デジタル値の一例である。
本実施形態では、基準クロック信号CLKの時間イベントは、トリガー信号TRG1~TRGnの時間イベントとは独立して設定されている。すなわち、基準クロック信号CLKの時間イベントとトリガー信号TRG1~TRGnの時間イベントとは非同期である。したがって、時間デジタル値TD1~TDnは、トリガー信号TRG1~TRGnの時間イベントの時間間隔に対応するタイムスタンプとして用いることができ、これらのタイムスタンプを用いて、トリガー信号TRG1~TRGnの少なくとも2つの時間イベントの時間間隔に対応する時間デジタル値TDY1~TDYmを取得できる。
また、時間デジタル値生成部80は、時間デジタル値TDY1~TDYmに対して所定のスケーリングを行って出力してもよいし、所定の変換式あるいはテーブル情報に従って時間デジタル値TDY1~TDYmを変換して出力してもよい。
以上に説明した時間デジタル変換器1の第2実施形態によれば、時間デジタル変換器1の第1実施形態と同様の効果を奏する。また、時間デジタル変換器1の第2実施形態によれば、トリガー信号TRG1~TRGnに対して、計数部40、計数値保持部50、及び積算部60を共用して、時間デジタル値TDY1~TDYmを生成するので、小型化が可能である。
1.3 第3実施形態
時間デジタル変換器1の第3実施形態は、第2実施形態と同様、複数のトリガー信号TRGの時間イベントの少なくとも2つの時間間隔に対応する時間デジタル値TDY1~TDYmを生成する。ただし、時間デジタル変換器1の第3実施形態では、複数の状態遷移部10、及び複数の遷移状態取得部20が用いられる。
図20は、時間デジタル変換器1の第3実施形態の構成を示す図である。図20に示すように、時間デジタル変換器1の第3実施形態は、n個(n≧2)の状態遷移部10-1~10-n、n個の遷移状態取得部20-1~20-n、及び演算部30を含む。
n個の状態遷移部10-1~10-nのそれぞれには、n個のトリガー信号TRG1~TRGnが入力される。そして、状態遷移部10-1~10-nのそれぞれは、入力されるトリガー信号TRG1~TRGnのそれぞれに応じて状態遷移を開始する。
遷移状態取得部20-1~20-nのそれぞれは、基準クロック信号CLKの立ち上がりエッジに同期して、状態遷移部10-1~10-nのそれぞれから出力される伝播情報D1[6,0]~Dn[6,0]を取得し、伝播情報S1[6,0]~Sn[6,0]として保持する。また、遷移状態取得部20-1~20-nのそれぞれは、基準クロック信号CLKの立ち上がりエッジに同期して、状態遷移部10-1~10-nのそれぞれから出力されるカウント情報q1[1,0]~qn[1,0]を取得し、カウント情報Q1[1,0]~Qn[1,0]として保持する。そして、遷移状態取得部20-1~20-nのそれぞれが保持する伝播情報S1[6,0]~Sn[6,0]、及びカウント情報Q1[1,0]~Qn[1,0]は、演算部30に出力される。
図21は、時間デジタル変換器1の第3実施形態における演算部30の構成を示す図である。図21に示すように、演算部30は、n個の計数部40-1~40-n、n個の計数値保持部50-1~50-n、n個の積算部60-1~60-n、及び時間デジタル値生成部80を有する。
計数部40-1~40-nのそれぞれは、遷移状態取得部20-1~20-nのそれぞれから出力される伝播情報S1[6,0]~Sn[6,0]、及びカウント情報Q1[1,0]~Qn[1,0]に基づいて、重付計数値CNT1~CNTnを生成する。
計数値保持部50-1~50-nは、基準クロック信号CLKに同期して、遷移状態取得部20-1~20-nの各々から出力される重付計数値CNT1~CNTnを取り込んで重付計数値DCNT1~DCNTnとして保持する。また、計数値保持部50-1~50-nは、不図示のリセット信号が入力されると、“0”に初期化される。
積算部60-1~60-nは、基準クロック信号CLKに同期して、計数値保持部50-1~50-nで保持された重付計数値DCNT1~DCNTnの各々を積算し、トリガー信号TRG1~TRGnの各々の時間イベントと、基準クロック信号CLKの時間イベントと、の時間間隔に対応するn個の時間デジタル値TD1~TDnを生成する。また、積算部60-1~60-nは、不図示のリセット信号により“0”に初期化される。
時間デジタル値生成部80は、基準クロック信号CLKに同期して、積算部60-1~60-nが生成した時間デジタル値TD1~TDnに基づいて、トリガー信号TRG1~TRGnの少なくとも2つの時間イベントの時間間隔に対応する時間デジタル値TDY1~TDYmを生成する。例えば、m=n-1であり、時間デジタル値TDYi(iは1~n-1の各々)は、時間デジタル値TDi+1と時間デジタル値TDiとの差分であってもよい。すなわち、時間デジタル値TDYiは、トリガー信号TRGiの時間イベントとトリガー信号TRGi+1の時間イベントとの時間間隔に対応していてもよい。
本実施形態では、基準クロック信号CLKの時間イベントは、トリガー信号TRG1~TRGnの時間イベントとは独立して設定されている。すなわち、基準クロック信号CLKの時間イベントとトリガー信号TRG1~TRGnの時間イベントとは非同期である。したがって、時間デジタル値TD1~TDnは、トリガー信号TRG1~TRGnの時間イベントの時間間隔に対応するタイムスタンプとして用いることができ、これらのタイムスタンプを用いて、トリガー信号TRG1~TRGnの少なくとも2つの時間イベントの時間間隔に対応する時間デジタル値TDY1~TDYmを取得できる。
時間デジタル値生成部80は、時間デジタル値TDY1~TDYmに対して所定のスケーリングを行って出力してもよいし、所定の変換式あるいはテーブル情報に従って時間デジタル値TDY1~TDYmを変換して出力してもよい。
以上に説明した時間デジタル変換器1の第3実施形態によれば、時間デジタル変換器1の第1実施形態と同様の効果を奏する。
また、時間デジタル変換器1の第3実施形態によれば、トリガー信号TRG1~TRGnに対して、状態遷移部10-1~10-n、遷移状態取得部20-1~20-n、計数値保持部50-1~50-n、及び積算部60-1~60-nが並行して動作するので、トリガー信号TRG1~TRGnの時間イベントが到来する時間間隔が短い場合でも時間デジタル値TDY1~TDYmを生成できる。
2.A/D変換
2.1 第1実施形態
次に、上記の時間デジタル変換器1を用いたA/D変換回路について説明する。図22は、A/D変換回路100の第1実施形態の構成を示す図である。図22に示すように、A/D変換回路100の第1実施形態は、基準波形信号生成回路102、比較器103、及び時間デジタル変換器1を含む。そして、A/D変換回路100は、入力されたアナログ信号AINをデジタル信号DOUTに変換して出力する。
基準波形信号生成回路102は、基準クロック信号CLKに基づいて、基準波形信号REFを生成する。基準波形信号REFは、基準クロック信号CLKと同じ周期で電圧が変化する信号であり、例えば、三角波信号、ランプ波信号、正弦波信号、余弦波信号等であってもよい。また、基準波形信号生成回路102は、基準クロック信号CLKを分周した信号に基づいて、基準波形信号REFを生成してもよい。この場合、基準波形信号REFは、基準クロック信号CLKを分周した周期で電圧が変化する信号であってもよい。基準波形信号REFを、基準クロック信号CLKを分周した信号に基づいて生成することで、時間デジタル変換器1における計時精度が向上し、その結果、A/D変換の精度、及び分解能が高まる。
比較器103は、アナログ信号AINの電圧と基準波形信号生成回路102が生成した基準波形信号REFの電圧とを比較してトリガー信号TRGを出力する。
時間デジタル変換器1は、トリガー信号TRGの時間イベントと基準クロック信号CLKの時間イベントとの時間間隔に対応する時間デジタル値TDを出力する。
そして、A/D変換回路100は、時間デジタル値TDに基づくデジタル信号DOUTを出力する。例えば、A/D変換回路100は、時間デジタル値TDを有するデジタル信号DOUTとして出力してもよいし、時間デジタル値TDを、アナログ信号AINの電圧に対して線形に変化する値を有するデジタル信号DOUTに変換して出力してもよい。
図23は、A/D変換回路100の第1実施形態における各種信号の波形の一例を示す図である。図23の例では、基準波形信号REFは、基準クロック信号CLKの立ち上がりエッジで最低電圧となり、基準クロック信号CLKの立ち下がりエッジで最高電圧となる三角波信号である。また、トリガー信号TRGは、アナログ信号AINの電圧が基準波形信号REFの電圧よりも高ければハイレベルとなり、アナログ信号AINの電圧が基準波形信号REFの電圧よりも低ければローレベルとなっている。
図23の例では、アナログ信号AINの電圧の値がVa,Vb,Vcであるときのトリガー信号TRGの立ち上がりエッジと、基準クロック信号CLKの立ち上がりエッジとの時間間隔がそれぞれta,tb,tcになっている。そして、Va<Vb<Vcに対してta<tb<tcであり、トリガー信号TRGの立ち上がりエッジと基準クロック信号C
LKの立ち上がりエッジとの時間間隔はアナログ信号AINの電圧に対して線形に変化している。したがって、A/D変換回路100は、ta,tb,tcに対応する時間デジタル値TDを有するデジタル信号DOUTとして出力できる。
A/D変換回路100の第1実施形態によれば、時間デジタル変換器1を用いることにより、高精度、高分解能、高速処理、低消費電力化、小型化等を実現できる。
図24は、A/D変換回路100の第1実施形態の変形例を示す図である。図24に示すA/D変換回路100は、図22に示したA/D変換回路100に対してキャリブレーション機能が付加されている。図24において、図22と同様の構成要素には同じ符号が付されており、その説明を省略する。
図24に示すA/D変換回路100は、基準波形信号生成回路102、比較器103及び時間デジタル変換器1を含み、さらに、マルチプレクサー104、切替信号生成回路105、及び補正回路106を含む。
マルチプレクサー104は、切替信号SELがローレベルのときはアナログ信号AINを選択し、切替信号SELがハイレベルのときは基準電圧VRを選択し、選択したアナログ信号AIN、又は基準電圧VRをアナログ信号AINXとして出力する。基準電圧VRはあらかじめ決められた一定電圧である。
切替信号生成回路105は、基準クロック信号CLKに同期して切替信号SELを生成する。例えば、切替信号生成回路105は、A/D変換回路100がA/D変換処理を開始する直前に、或いは、定期的に、切替信号SELをローレベルからハイレベルにし、所定時間経過後にハイレベルからローレベルにする。
マルチプレクサー104から出力されるアナログ信号AINXは比較器103に入力され、基準波形信号生成回路102、比較器103、及び時間デジタル変換器1により、時間デジタル値TDに変換される。
補正回路106は、切替信号SELがハイレベルのときは、基準クロック信号CLKに同期して、基準値と基準電圧VRに対して生成された時間デジタル値TDとの差を算出し、当該差を補正値として不図示のレジスターに記憶する。また、補正回路106は、切替信号SELがローレベルのときは、レジスターに記憶されている補正値を用いて、アナログ信号AINに対して生成された時間デジタル値TDを補正してデジタル信号DOUTを生成する。
A/D変換回路100の第1実施形態の変形例によれば、基準電圧VRを用いたキャリブレーションを実行することにより、温度変化、電源電圧変化、経時変化等の影響を補正できるので、A/D変換を高精度に行える。
2.2 第2実施形態
図25は、A/D変換回路100の第2実施形態の構成を示す図である。図25に示すように、A/D変換回路100の第2実施形態は、サンプルホールド回路101、基準波形信号生成回路102、比較器103、及び時間デジタル変換器1を含み、入力されたアナログ信号AINをデジタル信号DOUTに変換して出力する。
サンプルホールド回路101は、基準クロック信号CLKに同期して、アナログ信号AINの電圧をサンプリングして保持する。
基準波形信号生成回路102は、基準クロック信号CLKに基づいて、基準波形信号REFを生成する。基準波形信号REFは、基準クロック信号CLKと同じ周期で電圧が変化する信号であり、例えば、三角波信号、ランプ波信号、正弦波信号、余弦波信号等であってもよい。また、基準波形信号生成回路102は、基準クロック信号CLKを分周した信号に基づいて、基準波形信号REFを生成してもよい。この場合、基準波形信号REFは、基準クロック信号CLKを分周した周期で電圧が変化する信号であってもよい。基準波形信号REFを、基準クロック信号CLKを分周した信号に基づいて生成することで、時間デジタル変換器1における計時精度が向上し、その結果、A/D変換の精度、及び分解能が高まる。
比較器103は、サンプルホールド回路101が保持する電圧VHと基準波形信号生成回路102が生成した基準波形信号REFの電圧とを比較してトリガー信号TRGを出力する。
時間デジタル変換器1は、トリガー信号TRGの時間イベントと基準クロック信号CLKの時間イベントとの時間間隔に対応する時間デジタル値TDを出力する。
そして、A/D変換回路100は、時間デジタル値TDに基づくデジタル信号DOUTを出力する。例えば、A/D変換回路100は、時間デジタル値TDを有するデジタル信号DOUTとして出力してもよいし、時間デジタル値TDを、アナログ信号AINの電圧に対して線形に変化する値を有するデジタル信号DOUTに変換して出力してもよい。
図26は、A/D変換回路100の第2実施形態における各種信号の波形の一例を示す図である。図26の例では、基準クロック信号CLKの立ち上がりエッジ毎に、アナログ信号AINの電圧がサンプリングされて保持されている。また、基準波形信号REFは、基準クロック信号CLKの立ち上がりエッジで最低電圧となり、基準クロック信号CLKの立ち下がりエッジで最高電圧となる三角波信号である。また、トリガー信号TRGは、電圧VHが基準波形信号REFの電圧よりも高ければハイレベルとなり、電圧VHが基準波形信号REFの電圧よりも低ければローレベルとなっている。
図26の例では、アナログ信号AINの電圧が保持された電圧VHの値がVa,Vb,Vcであるとき、トリガー信号TRGの立ち上がりエッジと基準クロック信号CLKの立ち上がりエッジとの時間間隔がそれぞれta,tb,tcになっている。そして、Va<Vb<Vcに対してta<tb<tcであり、トリガー信号TRGの立ち上がりエッジと基準クロック信号CLKの立ち上がりエッジとの時間間隔はアナログ信号AINの電圧に対して線形に変化している。したがって、A/D変換回路100は、ta,tb,tcに対応する時間デジタル値TDを有するデジタル信号DOUTとして出力できる。
A/D変換回路100の第2実施形態によれば、時間デジタル変換器1を用いることにより、高精度、高分解能、高速処理、低消費電力化、小型化等を実現できる。また、サンプルホールド回路101によりサンプルタイミングを一定に保てるので、A/D変換タイミングのジッターを軽減できる。
図27は、A/D変換回路100の第2実施形態の変形例を示す図である。図26に示すA/D変換回路100は、図25に示したA/D変換回路100に対してキャリブレーション機能が付加されている。図26において、図24と同様の構成要素には同じ符号が付されており、その説明を省略する。
図27に示すA/D変換回路100は、サンプルホールド回路101、基準波形信号生成回路102、比較器103、及び時間デジタル変換器1を含み、さらに、マルチプレク
サー104、切替信号生成回路105、及び補正回路106を含む。
マルチプレクサー104は、切替信号SELがローレベルのときはアナログ信号AINを選択し、切替信号SELがハイレベルのときは基準電圧VRを選択し、選択したアナログ信号AIN又は基準電圧VRをアナログ信号AINXとして出力する。基準電圧VRはあらかじめ決められた一定電圧である。
切替信号生成回路105は、基準クロック信号CLKに同期して切替信号SELを生成する。例えば、切替信号生成回路105は、A/D変換回路100がA/D変換処理を開始する直前に、あるいは、定期的に、切替信号SELをローレベルからハイレベルにし、所定時間経過後にハイレベルからローレベルにする。
マルチプレクサー104から出力されるアナログ信号AINXはサンプルホールド回路101に入力され、サンプルホールド回路101、基準波形信号生成回路102、比較器103及び時間デジタル変換器1により、時間デジタル値TDに変換される。
補正回路106は、切替信号SELがハイレベルのときは、基準クロック信号CLKに同期して、基準値と基準電圧VRに対して生成された時間デジタル値TDとの差を算出し、当該差を補正値として不図示のレジスターに記憶する。また、補正回路106は、切替信号SELがローレベルのときは、レジスターに記憶されている補正値を用いて、アナログ信号AINに対して生成された時間デジタル値TDを補正してデジタル信号DOUTを生成する。
A/D変換回路100の第2実施形態の変形例によれば、基準電圧VRを用いたキャリブレーションを実行することにより、温度変化、電源電圧変化、経時変化等の影響を補正できるので、A/D変換を高精度に行える。また、サンプルホールド回路101によりサンプルタイミングを一定に保てるので、A/D変換タイミングのジッターを軽減できる。
以上、実施形態及び変形例について説明したが、本発明はこれらの実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。例えば、上記の実施形態を適宜組み合わせることも可能である。
本発明は、実施形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成できる構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。