(57)【要約】【課題】本願は、ＦＰＧＡに基づく高精度時間測定方法を提供し、それは、Ｓｔａｒｔ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔａｒｔ信号が通ったキャリーチェーンの数Ｓ１を得ることと、Ｓ１に基づいて時間Ｔ１＝Ｓ１＊τを算出することと、Ｓｔｏｐ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔｏｐ信号が通ったキャリーチェーンの数Ｓ２を得ることと、Ｓ２に基づいて時間Ｔ２＝Ｓ２＊τを算出することと、時間Ｔ１及び時間Ｔ２に基づいて、測定結果Ｔ＝Ｔ１＋ｎＴｐ＋（Ｔｐ−Ｔ２）を出力することと、を含む。【解決手段】したがって、全てのキャリーチェーンの出力値を加算することにより、信号の伝送に不安定の要因が発生して１と０が交互に現れた場合であっても、加算による結果に１が現れたキャリーチェーンが計算されているので、算出された信号が通ったキャリーチェーンの位置は、実際に通ったキャリーチェーンの位置により近づき、これにより、測定の時間精度を高めることができる。【選択図】図４
2021526226.tif 000002
【特許請求の範囲】
【請求項１】
Ｓｔａｒｔ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔａｒｔ信号が通ったキャリーチェーンの数Ｓ１を得ることと、
Ｓ１に基づいて時間Ｔ１＝Ｓ１＊τを算出することと、
Ｓｔｏｐ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔｏｐ信号が通ったキャリーチェーンの数Ｓ２を得ることと、
Ｓ２に基づいて時間Ｔ２＝Ｓ２＊τを算出することと、
時間Ｔ１及び時間Ｔ２に基づいて、測定結果Ｔ＝Ｔ１＋ｎＴｐ＋（Ｔｐ−Ｔ２）を出力することと、を含む、
ことを特徴とするＦＰＧＡに基づく高精度時間測定方法。
【請求項２】
前記加算は、ＦＰＧＡ内部の加算器によって完成される、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記加算の方法は、加算ツリー合計方法を用いて演算を行う、
ことを特徴とする請求項１に記載の方法。
【請求項４】
加算を行う前に、Ｓｔａｒｔ信号とＳｔｏｐ信号とのＯＲ操作を行って、１つの合成信号に合併するステップと、フラグ信号を利用して合成信号のパルスの性質を指摘するステップを含む、信号の前処理をさらに含む、
ことを特徴とする請求項１から３のいずれか１項に記載の方法。
【請求項５】
フラグ信号１が合成信号におけるＳｔａｒｔ信号を標識し、フラグ信号２が合成信号におけるＳｔｏｐ信号を標識することは、
合成信号の立ち上がりエッジを識別することと、
立ち上がりエッジ及びフラグ信号に基づいて、Ｓｔａｒｔ信号又はＳｔｏｐ信号を識別することと、を含み、
フラグ信号１は、合成信号におけるＳｔａｒｔ信号を標識するためのものであり、
フラグ信号２は、合成信号におけるＳｔｏｐ信号を標識するためのものである、
ことを特徴とする請求項４に記載の方法。
【請求項６】
複数のＳｔｏｐ信号が連続的に入力されるときに、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間を測定し、測定結果を出力する、
ことを特徴とする請求項５に記載の方法。
【請求項７】
それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間を測定し、測定結果を出力することは、
１つ目のＳｔｏｐ信号が入力されると、１つ目のＳｔｏｐ信号の時間Ｔ２を測定し、Ｓｔａｒｔ信号と１つ目のＳｔｏｐ信号との間のＴｐの数ｎ１を記録し、１つ目の時間測定結果を出力することと、
２つ目のＳｔｏｐ信号が入力されると、２つ目のＳｔｏｐ信号の時間Ｔ２を測定し、Ｓｔａｒｔ信号と２つ目のＳｔｏｐ信号との間のＴｐの数ｎ２を記録し、２つ目の時間測定結果を出力することと、
このように、Ｎ番目のＳｔｏｐ信号が入力されてＮ番目の測定結果が出力されるまでに続くことと、を含み、
ここで、Ｎは正の整数であり、記録されたＴｐの数はいずれもクリアされず、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間測定結果を出力することを特徴とする請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、クロック測定の分野に関し、具体的には、ＦＰＧＡに基づく高精度時間測定方法に関するものである。
【背景技術】
【０００２】
通信システムにおいて、通信の両方は、両方の同期を実現するために、同期信号伝送方式を採用し、通信の両方は、同期信号を時間基準として信号の同期化を実現する。具体的には、送信側は、同期信号に従って周期的に信号光を送信し、受信側は、信号光を受信した後、信号光と同期光との間の時間差を測定することにより、両方の信号の同期化を実現する。
【０００３】
信号光間の時間測定精度には、数十ピコ秒レベルに達するほどの測定精度が要求される。したがって、現在常用の測定方式の１つとしては、ＦＰＧＡ内部のキャリーチェーンを利用し、さらにクロックカウントと結びつけ、粗遅延と微遅延を組み合わせる方式により、時間測定を実現するのがある。具体的には、粗遅延は、クロックカウントの方式で大まかな時間を測定することができ、得られた時間は、クロックの数ｎと単一のクロック周期Ｔｐとの積、すなわちｎＴｐであり、微遅延は、ＦＰＧＡ内部のキャリーチェーンを時間測定に導入し、主に、クロックの立ち上がりエッジと入力信号の立ち上がりエッジとの間の細かい時間間隔の測定を解決するために用いられ、図１に示すように、Ｓｔａｒｔ信号の細かい時間間隔はＴ１であり、Ｓｔｏｐ信号の細かい時間間隔はＴ２であるので、Ｔ１とＴ２とを測定してから、粗遅延の測定による時間と結びつけることにより、細かい時間間隔の測定を完了することができる。
【０００４】
ここで、Ｔ１及びＴ２時間の測定原理を図２に示す。具体的には、Ｓｔａｒｔ及びＳｔｏｐ信号は、キャリーチェーンからなる一連の遅延ユニットに進入し、各キャリーチェーンは、いずれもＤ型フリップフロップに接続される１つの出力端子を有し、Ｄ型フリップフロップのクロックは、統一的にシステムの動作クロックに接続される。測定の主な原理は、キャリーチェーンを利用して、入力信号とシステムクロックとの間の時間差、すなわち微遅延量を記録し、内部クロック立ち上がりエッジが到来するたびに全てのキャリーチェーンの信号がＤ型フリップフロップによってラッチされ、クロックが到来するまでのＳｔａｒｔ信号が通ったキャリーチェーンの数は、被測定信号とクロック信号立ち上がりエッジとの間の時間差を表し、隣り合う２つのキャリーチェーンのステッピングをτとすることである。この方法によれば、Ｓｔａｒｔ及びＳｔｏｐ信号のそれぞれのシステム内部クロック立ち上がりエッジに対する相対的時間、すなわち図２に示されるＴ１＝６＊τ及びＴ２＝９＊τがそれぞれ記録され、さらにＳｔａｒｔとＳｔｏｐ信号との間の完全な周期の数が記録され、このように、粗遅延と微遅延との組み合わせにより、細かい時間測定の結果を得ることができる。
【０００５】
しかしながら、研究によると、ＳｔａｒｔやＳｔｏｐ信号が不安定のときに、出力されるキャリーチェーンの位置がずれる可能性があることが分かった。Ｓｔａｒｔ信号を例とし、図３に示すように、キャリーチェーンにおいてＳｔａｒｔ信号が到達する位置の識別方式は複数あるが、最初の出力値０に対応する位置を識別するのが最も一般的な方式である。例えば、Ｓｔａｒｔ信号が不安定になり、最初の０値が７番目のキャリーチェーンで現れる場合、Ｄ型フリップフロップが６番目のキャリーチェーンの位置でラッチし、当該位置をＳｔａｒｔ信号が通ったキャリーチェーンの位置として記録し、Ｔ１＝６＊τを出力することになるが、実際の位置はＳｔａｒｔ信号の８番目のキャリーチェーン上にあり、実際にＴ１＝８＊τを出力すべきである。したがって、信号の伝送中の不安定の要因により、１と０が交互に現れる場合があり、その結果、位置識別に誤りが生じ、測定されたキャリーチェーンの位置が、Ｓｔａｒｔ信号が実際に通ったキャリーチェーンの位置と一致せず、測定された時間の誤差が大きくなる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願は、従来の時間測定方法により測定された時間の誤差が大きいという問題を解決するために、ＦＰＧＡに基づく高精度時間測定方法を提供する。
【課題を解決するための手段】
【０００７】
ＦＰＧＡに基づく高精度時間測定方法は、
Ｓｔａｒｔ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔａｒｔ信号が通ったキャリーチェーンの数Ｓ１を得ることと、
Ｓ１に基づいて時間Ｔ１＝Ｓ１＊τを算出することと、
Ｓｔｏｐ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔｏｐ信号が通ったキャリーチェーンの数Ｓ２を得ることと、
Ｓ２に基づいて時間Ｔ２＝Ｓ２＊τを算出することと、
時間Ｔ１及び時間Ｔ２に基づいて、測定結果Ｔ＝Ｔ１＋ｎＴｐ＋（Ｔｐ−Ｔ２）を出力することと、を含む。
【０００８】
好ましくは、前記加算は、ＦＰＧＡ内部の加算器によって完成される。
【０００９】
好ましくは、前記加算の方法は、加算ツリー合計方法を用いて演算を行う。
【００１０】
好ましくは、加算を行う前に、Ｓｔａｒｔ信号とＳｔｏｐ信号とのＯＲ操作を行って１つの合成信号に合併するステップと、フラグ信号を利用して合成信号のパルスの性質を指摘するステップを含む、信号の前処理をさらに含む。
【００１１】
好ましくは、フラグ信号１が合成信号におけるＳｔａｒｔ信号を標識し、フラグ信号２が合成信号におけるＳｔｏｐ信号を標識することは、
合成信号の立ち上がりエッジを識別することと、
立ち上がりエッジ及びフラグ信号に基づいて、Ｓｔａｒｔ信号又はＳｔｏｐ信号を識別することと、を含み、
フラグ信号１は、合成信号におけるＳｔａｒｔ信号を標識するためのものであり、
フラグ信号２は、合成信号におけるＳｔｏｐ信号を標識するためのものである。
【００１２】
好ましくは、複数のＳｔｏｐ信号が連続的に入力されるときに、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間を測定し、測定結果を出力する。
【００１３】
好ましくは、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間を測定し、測定結果を出力することは、
１つ目のＳｔｏｐ信号が入力されると、１つ目のＳｔｏｐ信号の時間Ｔ２を測定し、Ｓｔａｒｔ信号と１つ目のＳｔｏｐ信号との間のＴｐの数ｎ１を記録し、１つ目の時間測定結果を出力することと、
２つ目のＳｔｏｐ信号が入力されると、２つ目のＳｔｏｐ信号の時間Ｔ２を測定し、Ｓｔａｒｔ信号と２つ目のＳｔｏｐ信号との間のＴｐの数ｎ２を記録し、２つ目の時間測定結果を出力することと、
このように、Ｎ番目のＳｔｏｐ信号が入力されてＮ番目の測定結果が出力されるまで続くことと、を含み、
ここで、Ｎは正の整数であり、記録されたＴｐの数はいずれもクリアされず、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間測定結果を出力する。
【発明の効果】
【００１４】
以上の態様から分かるように、本願にて提供されるＦＰＧＡに基づく高精度時間測定方法は、Ｓｔａｒｔ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔａｒｔ信号が通ったキャリーチェーンの数Ｓ１を得ることと、Ｓ１に基づいて時間Ｔ１＝Ｓ１＊τを算出することと、Ｓｔｏｐ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔｏｐ信号が通ったキャリーチェーンの数Ｓ２を得ることと、Ｓ２に基づいて時間Ｔ２＝Ｓ２＊τを算出することと、時間Ｔ１及び時間Ｔ２に基づいて、測定結果Ｔ＝Ｔ１＋ｎＴｐ−Ｔ２を出力することと、を含む。したがって、全てのキャリーチェーンの出力値を加算することにより、信号の伝送に不安定の要因が発生して１と０が交互に現れる場合であっても、加算による結果に１が現れたキャリーチェーンが計算されているので、算出された信号が通ったキャリーチェーンの位置は、実際に通ったキャリーチェーンの位置により近づき、これにより、測定の時間精度を高めることができる。
【図面の簡単な説明】
【００１５】
本願の技術的解決手段をより明確に説明するために、以下、実施例において使用する必要がある図面について、簡単に説明し、もちろん、当業者であれば、創造的な労力をせず、これらの図面に基づいて他の図面を得ることができる。
【図１】従来の時間測定の原理を示す図である。
【図２】従来の細かい時間間隔測定の原理を示す図である。
【図３】従来の細かい時間間隔測定の誤差原因の原理を示す図である。
【図４】本願の細かい時間間隔測定の原理を示す図である。
【図５】本願の信号の前処理の原理を示す図である。
【図６】本願の測定の流れを示す図である。
【発明を実施するための形態】
【００１６】
本願の上記目的、特徴及び利点をより明確で理解しやすくするために、以下、図面及び具体的な実施形態と合わせて、本願についてさらに詳細に説明する。
【００１７】
本願の実施例は、ＦＰＧＡに基づく高精度時間測定方法を提供し、その時間測定の原理は、図４を参照し、この方法は、Ｓｔａｒｔ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔａｒｔ信号が通ったキャリーチェーンの数Ｓ１を得ることと、Ｓ１に基づいて時間Ｔ１＝Ｓ１＊τを算出することと、Ｓｔｏｐ信号の全てのキャリーチェーンの出力値を加算することにより、Ｓｔｏｐ信号が通ったキャリーチェーンの数Ｓ２を得ることと、Ｓ２に基づいて時間Ｔ２＝Ｓ２＊τを算出することと、時間Ｔ１及び時間Ｔ２に基づいて、測定結果Ｔ＝Ｔ１＋ｎＴｐ＋（Ｔｐ−Ｔ２）を出力することと、を含む。
【００１８】
背景技術から分かるように、従来の方法では、信号が通ったキャリーチェーンの数を直接記録し、この方法は、信号が安定しているときのみ、時間を正確に測定することができ、信号の伝送に不安定の要因が発生したときには、キャリーチェーンにおいて１と０が交互に現れる場合があり、最初の０が現れたときに、信号の立ち上がりエッジがすでに到達したと判断するが、信号が実際に通ったキャリーチェーンの位置と一致しない可能性があり、実際の信号の立ち上がりエッジは、最初でない０が到来する直前の１の位置で現れる可能性があるので、測定の結果が不正確になってしまう。したがって、本願では、全てのキャリーチェーンの出力値に対して加算を行うことにより、信号の伝送に不安定の要因が発生して１と０が交互に現れるとしても、加算による結果に１が現れたキャリーチェーンが計算されているので、このように提供された信号が通ったキャリーチェーンの位置は、実際に通ったキャリーチェーンの位置により近く、これにより、算出された信号が通ったキャリーチェーンの位置は、実際に通ったキャリーチェーンの位置により近づき、つまり、時間Ｔ１及び時間Ｔ２は実際の時間により合致するので、測定の時間精度を高めることができる。
【００１９】
また、本願の方法では、全てのキャリーチェーンの出力値に対して加算を行うため、信号が安定している時に算出された信号が通ったキャリーチェーンの数は、信号が実際に通ったキャリーチェーンの数と同じである。したがって、本願の方法では、信号が安定の場合も、不安定の場合も、いずれも高精度時間測定を提供することができる。
【００２０】
本願の方法の好ましい実施例では、本願の前記加算は、ＦＰＧＡ内部の加算器によって完成されるため、本方法は、内部リソースを効果的に利用することができ、処理方式が簡単で、効率的であり、また、ＦＰＧＡ内部の加算器は、４００Ｍ以上のクロックの場合で動作できることにより、後続のアルゴリズムの実現に基礎を提供する。当然ながら、本願の方法は、外部リソースの加算器を用いて加算を行うこともできる。
【００２１】
具体的には、前記加算の方法は、加算ツリー合計方法を用いて演算を行う。加算ツリー演算の原理を図４に示し、いわゆる加算ツリー（ａｄｄｅｒ  ｔｒｅｅ）とは、１番目のレイヤに出力された数値を、２つの隣り合う数値同士を加算し、かつ、各数値は１回のみ演算され、演算後には、加算後のデータを２番目のレイヤに伝達させ、２番目のレイヤに出力された数値も、２つの隣り合う数値同士を加算し、かつ、各数値は１回のみ演算され、演算後には、加算後のデータを３番目のレイヤに伝達させ、以下同様に、最後に２つの数値のみが加算されて１つの合計値が出力されるまで加算を行う。したがって、加算ツリーの方式を採用して演算を行うと、加算が簡単かつ明瞭であるだけではなく、１番目のレイヤの演算結果に基づいて、信号に不安定の状態が現れる位置を確定することができる。
【００２２】
本願の方法の好ましい実施例では、図５に示すように、加算を行う前に、Ｓｔａｒｔ信号とＳｔｏｐ信号とのＯＲ操作を行って、１つの合成信号に合併するステップと、フラグ信号を利用して合成信号のパルスの性質を指摘するステップとを含む、信号の前処理をさらに含む。
【００２３】
Ｓｔａｒｔ信号及びＳｔｏｐ信号の処理については、測定システムの結果に関連され、システムの設計過程における非常に重要なステップであり、処理が不当であれば、信号が持つ時間情報を失って、直接測定精度を低下させて、測定が直接失敗してしまう。最も一般的な考え方は、Ｓｔａｒｔ信号及びＳｔｏｐ信号をそれぞれ測定して、時間Ｔ１及び時間Ｔ２をそれぞれ取得してから、総合的に処理を行うことであり、この方法の利点は、考え方が明晰なことであるが、欠点も明らかであり、Ｓｔａｒｔ信号及びＳｔｏｐ信号は、それぞれ２つの処理ユニットを利用して処理を行い、このような処理方式により、２つの信号間に固定的なシステム誤差が存在し、ＦＰＧＡ内部の構成の差異性によってルーティング遅延も一致しないことにより、システムの誤差が大きくなってしまう。
【００２４】
ＦＰＧＡ内部で２つの信号に対して信号のＯＲ操作を行って１つの合成信号に合併するとともに、Ｓｔａｒｔ信号及びＳｔｏｐ信号の到来をそれぞれ示し、フラグ信号１は、当該パルスがＳｔａｒｔ信号であることを表し、フラグ信号２は、当該パルスがＳｔｏｐ信号であることを表し、フラグ信号は、それと同時に到達する合成信号のパルスの性質を指摘することのみに用いられ、フラグ信号は、測定に直接用いられず、合成信号のみが後続の測定に直接用いられる。
【００２５】
処理時に注意すべき点としては、ＯＲゲートを用いて、Ｓｔａｒｔ及びＳｔｏｐ信号を１つのＯＲ信号に合併し、このＯＲゲートは、入力されるＳｔａｒｔ及びＳｔｏｐ信号の最も近い位置にある必要があり、Ｓｔａｒｔ及びＳｔｏｐ信号はいずれも外部ピンから入力されることであるので、このＯＲゲートの位置が特に重要であり、ピンに十分に近づける必要がある。Ｓｔａｒｔ及びＳｔｏｐ信号は、それぞれ１つのＤ型フリップフロップに接続される１つの分岐を提供し、クロックを用いてＳｔａｒｔ及びＳｔｏｐ信号に対してサンプリングする必要があり、当該Ｓｔａｒｔ、Ｓｔｏｐ信号は、クロックと同期する信号であり、その幅はクロックの整数倍の周期であり、後続の機能において、ＯＲ信号におけるパルスがＳｔａｒｔ信号に対応するか、または、Ｓｔｏｐ信号に対応するかを説明するという判定の役割を果たす。
【００２６】
前記Ｓｔａｒｔ信号又はＳｔｏｐ信号の総遅延時間は、単一のクロック周期の時間Ｔｐより大きい。言い換えれば、入力信号Ｓｔａｒｔ、Ｓｔｏｐ信号のハイレベルの幅が１つのサンプリング周期の幅より大きくなければならず、そうでなければ、Ｓｔａｒｔ、Ｓｔｏｐ信号が識別できない状況が現れる可能性があり、後続のモジュールが動作できないことになる。
【００２７】
前記合成信号のパルスと当該パルスの性質を表す前記フラグ信号のパルスは同時に到達する。同時に到達することは、当該合成信号のパルスがＳｔａｒｔ信号かＳｔｏｐ信号かを明確かつ正確に表すことができる。また、入力信号Ｓｔａｒｔ、Ｓｔｏｐは、時間上の重複があってはならず、時間上の重複があれば入力信号を区別できないため、少なくとも１つ以上の周期の間隔を有する。
【００２８】
上記のような技術案において、本願の方法は、同一のキャリーチェーンリソースを用いることにより、２つのキャリーチェーンを用いてＳｔａｒｔ及びＳｔｏｐ信号の測定をそれぞれ行うことによる差異性を回避することができ、時間測定の精度を高め、温度変化などの外界条件の変化による測定精度及び結果に対する影響を回避することができる。
【００２９】
本願の方法の好ましい実施例では、前記キャリーチェーンは連続的であり、かつ、各キャリーチェーンの間の遅延は均一である。キャリーチェーン構造は、時間測定モジュール全体における核心的な部材であり、キャリーチェーン構造が時間測定の精度を直接決定する。本願で用いるチップの一例は以下の通りである。このチップの１つのロジックブロック内部で連続しているキャリーチェーンの長さは最長５０個であり、単一のキャリーチェーンの時間遅延は約５３ｐｓであり、総遅延は約２６５０ｐｓであるため、クロック信号選択時、クロック周期が当該遅延値より小さくなければならないことを考慮する必要があるので、クロック周波数を４００Ｍ、対応するクロック周期を２５００ｐｓと定義し、これは、チップの性能をまとめて得た最終的な結果であり、実際のテストによると、当該チップは４００Ｍの動作周波数に耐えることができる。もちろん、キャリーチェーンの長さ及び単一のキャリーチェーンの遅延時間は、選択されるチップによって決定されるものであり、クロック信号選択時に、チップのパラメータに応じて、上記説明に従って、適切な値を選択すればよい。
【００３０】
Ｄ型フリップフロップ構造は、キャリーチェーンの直後にあり、もちろん、フリップフロップは、他のデバイスを選択してもよく、２つの安定状態である「０」及び「１」を有し、一定の外界信号の作用によって、１つの安定状態から別の安定状態に反転できればよい。その機能は、クロック信号が到達した時に、キャリーチェーンのタップ信号をラッチし、その出力状態を取得することであり、入力信号がクロック信号より早く到達して、入力信号がキャリーチェーンにおいて伝達され始め、入力信号が到達した位置ではレベルがハイになり、到達していない位置ではローであり、クロック信号が到達した時に５０個のＤ型フリップフロップ信号をラッチし、そのうちハイレベルのタップの数、すなわち入力信号の当該クロック立ち上がりエッジに対する時間先行量を算出することにより、細かい時間測定の機能を実現し、当該測定の精度は、単一のキャリーチェーンの時間遅延量であり、約５３ｐｓである。
【００３１】
位置制約は、キャリーチェーン構造における重要な部分であり、キャリーチェーンの連続性を確保して、キャリーチェーンが分散して分布している状況が無いようにし、キャリーチェーン間の均一な遅延を確保することは、測定精度を保証するための重要なポイントの１つであり、さらに、後続のＤ型フリップフロップとキャリーチェーンとの位置関係を確保する必要があり、Ｄ型フリップフロップがキャリーチェーンから離れる距離の不確実性により、遅延が大きすぎて最終の測定精度に影響をもたらすことが回避されるように、Ｄ型フリップフロップは、キャリーチェーンにすぐ隣接し、同一のロジックブロック内にあることが好ましい。
【００３２】
本願の方法の好ましい実施例では、フラグ信号１が合成信号におけるＳｔａｒｔ信号を標識し、フラグ信号２が合成信号におけるＳｔｏｐ信号を標識することは、合成信号の立ち上がりエッジを識別し、立ち上がりエッジ及びフラグ信号に基づいて、Ｓｔａｒｔ信号又はＳｔｏｐ信号を識別することを含み、ここで、フラグ信号１は、合成信号におけるＳｔａｒｔ信号を標識するためのものであり、フラグ信号２は、合成信号におけるＳｔｏｐ信号を標識するものである。つまり、Ｓｔａｒｔ信号又はＳｔｏｐ信号の立ち上がりエッジが到達すると、フリップフロップは１つの安定状態から別の安定状態に反転して、信号立ち上がりエッジを識別し、当該立ち上がりエッジが識別された後にフラグ信号と合わせてＳｔａｒｔ信号及びＳｔｏｐ信号を識別する。
【００３３】
Ｓｔａｒｔ信号及びＳｔｏｐ信号の識別は、時間測定の重要なプロセスの１つであり、本技術案では、Ｓｔａｒｔ及びＳｔｏｐ信号を１つの信号に併入するとともに、フラグ信号１及びフラグ信号２を提供することを採用し、このフラグ信号は、ＳｔａｒｔとＳｔｏｐ信号との区別のみに用いられ、後続の時間測定の機能には参与しない。Ｓｔａｒｔ信号が来る時には時間スケールがリセットされ、Ｓｔｏｐ信号が来る時にはそのＳｔａｒｔ信号に対応する時間測定結果を提供する。合成信号からＳｔａｒｔ信号及びＳｔｏｐ信号の立ち上がりエッジをどのように識別するかは、時間測定プロセスのうちの重要なプロセスの１つであり、前記加算方法を採用すると、加算器のパイプライン的な操作により、各クロックは１つの加算結果を提供し、加算結果が０から非０にジャンプされることを識別して、信号立ち上がりエッジを識別することができ、当該立ち上がりエッジが認識された後にフラグ信号と合わせて、Ｓｔａｒｔ信号及びＳｔｏｐ信号を識別することができる。
【００３４】
本願の方法の好ましい実施形態では、複数のＳｔｏｐ信号が連続的に入力されるときに、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間を測定し、測定結果を出力する。
【００３５】
連続測定は、時間測定システムにおける重要な機能の１つであり、以上の方式を用いてＳｔａｒｔ信号及びＳｔｏｐ信号を識別した後、時間測定結果を提供し、連続的な時間測定プロセスを実現するために、単一のＳｔａｒｔ信号が識別された後にＴ１時間を得、この期間でクロック周期の数Ｎを持続的に記録し、Ｓｔｏｐ信号が入力されると、Ｔ２値を記録し、対応する測定結果を求めるが、次のＳｔｏｐ値が到来する時に測定結果値を再出力するように、クロック周期の数Ｎをクリアしない。このような方式を採用すると、連続測定機能を実現することができる。
【００３６】
具体的には、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間を測定し、測定結果を出力することは、１つ目のＳｔｏｐ信号が入力されると、１つ目のＳｔｏｐ信号の時間Ｔ２を測定し、Ｓｔａｒｔ信号と１つ目のＳｔｏｐ信号との間のＴｐの数ｎ１を記録し、１つ目の時間測定結果を出力することと、２つ目のＳｔｏｐ信号が入力されると、２つ目のＳｔｏｐ信号の時間Ｔ２を測定し、Ｓｔａｒｔ信号と２つ目のＳｔｏｐ信号との間のＴｐの数ｎ２を記録し、２つ目の時間測定結果を出力することと、このように、Ｎ番目のＳｔｏｐ信号が入力されてＮ番目の測定結果が出力されるまでに続くことと、を含み、ここで、Ｎは正の整数であり、記録されたＴｐの数はいずれもクリアされず、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間測定結果を出力する。
【００３７】
以上をまとめると、本願の最適な実施態様の流れは、図６に示され、主に、Ｓｔａｒｔ信号とＳｔｏｐ信号との間の時間差を測定するという機能を実現し、精度は数十ピコ秒のオーダーに達し、それは、主に、ＦＰＧＡ内部のキャリーチェーンを用いるものであり、キャリーチェーン間の遅延を用いて高精度時間測定の機能を実現する。測定プロセスは、主に、入力信号の前処理、キャリーチェーン測定、加算ツリー処理、パルス認識、データ処理、連続測定、測定結果出力などのステップを含む。
【００３８】
そのうち、測定結果出力については、本願は、単一のキャリーチェーンの時間遅延が約５３ｐｓであり、クロック周期が２５００ｐｓであることを例とし、プログラムにカウントユニットを設計し、Ｓｔａｒｔ信号が識別されたと、現在の加算結果Ｓ１を記録してＴ１時間とし、Ｓｔｏｐ信号が来る前に、クロック周期をカウントしてＮと記して全周期時間Ｔ０とし、Ｓｔｏｐ信号を識別されたと、現在の加算結果Ｓ２を記録してＴ２時間とし、測定結果を、下記の式に基づいて算出する。
Ｔ＝Ｔ１＋ｎＴｐ＋（Ｔｐ−Ｔ２）＝Ｓ１×５３ｐｓ＋Ｎ×２５００ｐｓ＋（２５００ｐｓ−Ｓ２×５３ｐｓ）
ここで、５３ｐｓは、単一のキャリーチェーンの平均時間スケールである。
【００３９】
上記したように、本願のＦＰＧＡに基づく高精度時間測定方法は、信号の前処理、キャリーチェーン測定、加算ツリー処理、パルス認識などのステップを含み、いずれも測定時間の精度を高めることができ、したがって、従来の時間測定方法によって測定される時間の誤差が大きいという問題を解決することができる。
【００４０】
以上、具体的な実施形態及び例示的な実例と合わせて、本願について詳細に説明したが、これらの説明は、本願を限定されるものではない。当業者であれば、本願の趣旨及び範囲から逸脱せず、本願の技術的解決手段及び実施形態に対して、様々な均等な置換、修飾又は改良を行うことができ、これらは、いずれも本願の範囲に含まれる。本願の保護範囲は、添付の特許請求の範囲を基準とする。
【図１】
2021526226.tif 000003
【図２】
2021526226.tif 000004
【図３】
2021526226.tif 000005
【図４】
2021526226.tif 000006
【図５】
2021526226.tif 000007
【図６】
2021526226.tif 000008
【手続補正書】
【提出日】令和2年12月9日(2020.12.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クロックカウントの方式で粗遅延時間ｎＴｐを測定することと、ＦＰＧＡ内部のキャリーチェーンを利用してＳｔａｒｔ信号の微遅延時間Ｔ１及びＳｔｏｐ信号の微遅延時間Ｔ２を測定することと、粗遅延時間ｎＴｐと微遅延時間Ｔ１とＳｔｏｐ信号の微遅延時間Ｔ２とに基づいて、測定結果としてＳｔｏｐ信号とＳｔａｒｔ信号との間の時間Ｔを出力することと、を含むＦＰＧＡに基づく高精度時間測定方法において、
Ｓｔａｒｔ信号やＳｔｏｐ信号の伝送に、前記キャリーチェーンの出力値としての１と０とが交互に現れる不安定状態があるかを判定し、
前記不安定状態がないと判定された場合は、各キャリーチェーンの、最初の出力値０が現れた位置の直前の出力値１の位置を基準としてＳｔａｒｔ信号やＳｔｏｐ信号の微遅延時間Ｔ１、Ｔ２を測定し、
前記不安定状態があると判定された場合は、各キャリーチェーンの出力値同士を加算しかつ各出力値を１回のみ演算することにより、不安定が発生した位置を確定し、この不安定発生位置を基準としてＳｔａｒｔ信号やＳｔｏｐ信号の微遅延時間Ｔ１、Ｔ２を測定する、
ことを特徴とするＦＰＧＡに基づく高精度時間測定方法。
【請求項２】
前記加算は、ＦＰＧＡ内部の加算器によって完成される、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記加算の方法は、加算ツリー合計方法を用いて演算を行う、
ことを特徴とする請求項１に記載の方法。
【請求項４】
加算を行う前に、Ｓｔａｒｔ信号とＳｔｏｐ信号とのＯＲ操作を行って、１つの合成信号に合併するステップと、フラグ信号を利用して合成信号のパルスの性質を指摘するステップを含む、信号の前処理をさらに含む、
ことを特徴とする請求項１から３のいずれか１項に記載の方法。
【請求項５】
フラグ信号１が合成信号におけるＳｔａｒｔ信号を標識し、フラグ信号２が合成信号におけるＳｔｏｐ信号を標識することは、
合成信号の立ち上がりエッジを識別することと、
立ち上がりエッジ及びフラグ信号に基づいて、Ｓｔａｒｔ信号又はＳｔｏｐ信号を識別することと、を含み、
フラグ信号１は、合成信号におけるＳｔａｒｔ信号を標識するためのものであり、
フラグ信号２は、合成信号におけるＳｔｏｐ信号を標識するためのものである、
ことを特徴とする請求項４に記載の方法。
【請求項６】
複数のＳｔｏｐ信号が連続的に入力されるときに、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間を測定し、測定結果を出力する、
ことを特徴とする請求項５に記載の方法。
【請求項７】
それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間を測定し、測定結果を出力することは、
１つ目のＳｔｏｐ信号が入力されると、１つ目のＳｔｏｐ信号の時間Ｔ２を測定し、Ｓｔａｒｔ信号と１つ目のＳｔｏｐ信号との間のＴｐの数ｎ１を記録し、１つ目の時間測定結果を出力することと、
２つ目のＳｔｏｐ信号が入力されると、２つ目のＳｔｏｐ信号の時間Ｔ２を測定し、Ｓｔａｒｔ信号と２つ目のＳｔｏｐ信号との間のＴｐの数ｎ２を記録し、２つ目の時間測定結果を出力することと、
このように、Ｎ番目のＳｔｏｐ信号が入力されてＮ番目の測定結果が出力されるまでに続くことと、を含み、
ここで、Ｎは正の整数であり、記録されたＴｐの数はいずれもクリアされず、それぞれのＳｔｏｐ信号とＳｔａｒｔ信号との間の時間測定結果を出力することを特徴とする請求項６に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
クロックカウントの方式で粗遅延時間ｎＴｐを測定することと、ＦＰＧＡ内部のキャリーチェーンを利用してＳｔａｒｔ信号の微遅延時間Ｔ１及びＳｔｏｐ信号の微遅延時間Ｔ２を測定することと、粗遅延時間ｎＴｐと微遅延時間Ｔ１とＳｔｏｐ信号の微遅延時間Ｔ２とに基づいて、測定結果としてＳｔｏｐ信号とＳｔａｒｔ信号との間の時間Ｔを出力することと、を含むＦＰＧＡに基づく高精度時間測定方法において、
Ｓｔａｒｔ信号やＳｔｏｐ信号の伝送に、前記キャリーチェーンの出力値としての１と０とが交互に現れる不安定状態があるかを判定し、
前記不安定状態がないと判定された場合は、各キャリーチェーンの、最初の出力値０が現れた位置の直前の出力値１の位置を基準としてＳｔａｒｔ信号やＳｔｏｐ信号の微遅延時間Ｔ１、Ｔ２を測定し、
前記不安定状態があると判定された場合は、各キャリーチェーンの出力値同士を加算しかつ各出力値を１回のみ演算することにより、不安定が発生した位置を確定し、この不安定発生位置を基準としてＳｔａｒｔ信号やＳｔｏｐ信号の微遅延時間Ｔ１、Ｔ２を測定する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
以上の態様から分かるように、本願にて提供されるＦＰＧＡに基づく高精度時間測定方法は、クロックカウントの方式で粗遅延時間ｎＴｐを測定することと、ＦＰＧＡ内部のキャリーチェーンを利用してＳｔａｒｔ信号の微遅延時間Ｔ１及びＳｔｏｐ信号の微遅延時間Ｔ２を測定することと、粗遅延時間ｎＴｐと微遅延時間Ｔ１とＳｔｏｐ信号の微遅延時間Ｔ２とに基づいて、測定結果としてＳｔｏｐ信号とＳｔａｒｔ信号との間の時間Ｔを出力すること、とを含み、Ｓｔａｒｔ信号やＳｔｏｐ信号の伝送に、前記キャリーチェーンの出力値としての１と０とが交互に現れる不安定状態があるかを判定し、前記不安定状態がないと判定された場合は、各キャリーチェーンの、最初の出力値０が現れた位置の直前の出力値１の位置を基準としてＳｔａｒｔ信号やＳｔｏｐ信号の微遅延時間Ｔ１、Ｔ２を測定し、前記不安定状態があると判定された場合は、各キャリーチェーンの出力値同士を加算しかつ各出力値を１回のみ演算することにより、不安定が発生した位置を確定し、この不安定発生位置を基準としてＳｔａｒｔ信号やＳｔｏｐ信号の微遅延時間Ｔ１、Ｔ２を測定する。したがって、全てのキャリーチェーンの出力値を加算することにより、信号の伝送に不安定の要因が発生して１と０が交互に現れる場合であっても、加算による結果に１が現れたキャリーチェーンが計算されているので、算出された信号が通ったキャリーチェーンの位置は、実際に通ったキャリーチェーンの位置により近づき、これにより、測定の時間精度を高めることができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
本願の実施例は、ＦＰＧＡに基づく高精度時間測定方法を提供し、その時間測定の原理は、図４を参照し、この方法は、クロックカウントの方式で粗遅延時間ｎＴｐを測定することと、ＦＰＧＡ内部のキャリーチェーンを利用してＳｔａｒｔ信号の微遅延時間Ｔ１及びＳｔｏｐ信号の微遅延時間Ｔ２を測定することと、粗遅延時間ｎＴｐと微遅延時間Ｔ１とＳｔｏｐ信号の微遅延時間Ｔ２とに基づいて、測定結果としてＳｔｏｐ信号とＳｔａｒｔ信号との間の時間Ｔを出力すること、とを含み、Ｓｔａｒｔ信号やＳｔｏｐ信号の伝送に、前記キャリーチェーンの出力値としての１と０とが交互に現れる不安定状態があるかを判定し、前記不安定状態がないと判定された場合は、各キャリーチェーンの、最初の出力値０が現れた位置の直前の出力値１の位置を基準としてＳｔａｒｔ信号やＳｔｏｐ信号の微遅延時間Ｔ１、Ｔ２を測定し、前記不安定状態があると判定された場合は、各キャリーチェーンの出力値同士を加算しかつ各出力値を１回のみ演算することにより、不安定が発生した位置を確定し、この不安定発生位置を基準としてＳｔａｒｔ信号やＳｔｏｐ信号の微遅延時間Ｔ１、Ｔ２を測定する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
前記Ｓｔａｒｔ信号又はＳｔｏｐ信号の総遅延時間は、単一のクロック周期の時間Ｔｐより大きい。言い換えれば、入力信号としてのＳｔａｒｔ信号やＳｔｏｐ信号のハイレベルの幅が１つのサンプリング周期の幅より大きくなければならず、そうでなければ、Ｓｔａｒｔ、Ｓｔｏｐ信号が識別できない状況が現れる可能性があり、後続のモジュールが動作できないことになる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
前記合成信号のパルスと当該パルスの性質を表す前記フラグ信号のパルスは同時に到達する。同時に到達することは、当該合成信号のパルスがＳｔａｒｔ信号かＳｔｏｐ信号かを明確かつ正確に表すことができる。また、入力信号としてのＳｔａｒｔ信号やＳｔｏｐ信号は、時間上の重複があってはならず、時間上の重複があれば入力信号を区別できないため、少なくとも１つ以上の周期の間隔を有する。
【国際調査報告】
2021526226.tif 000009
2021526226.tif 000010
2021526226.tif 000011
2021526226.tif 000012
2021526226.tif 000013