(57)【要約】カウント値とカウントクロック信号に基づいて被測定信号のパルス幅を演算して求めるパルス幅測定装置であって、カウンタ回路が指数部と仮数部からなる複数のビットを有し、制御部が、カウント回路の指数部のビット数を表す指数指定値を格納する指数格納部と、カウント回路でカウント値がオーバーフローしたときに指数格納部に格納される指数指定値に基づいて、カウント回路のカウント値を書き換えるためのカウント値設定信号を生成し、カウンタ回路へ出力するデコーダ部とを備える。
2004092751.tif 000002
【特許請求の範囲】
【請求項１】
被測定信号の立上り又は立下りを検出して検出信号を出力するエッジ検出回路と、前記検出信号に基づいて、カウント開始／終了信号を出力する制御部と、前記カウント開始／終了信号に基づいて、カウントクロック信号をカウントするカウンタ回路と、前記カウンタ回路のカウント値を格納するカウント値格納部と、クロック選択信号に基づいて、異なる周波数を有する複数のクロック信号の中から１つを選択して前記カウントクロック信号として出力するセレクタ回路とを備え、前記カウント値と前記カウントクロック信号に基づいて、被測定信号のパルス幅を演算して求めるパルス幅測定装置であって、
前記カウンタ回路は指数部と仮数部からなる複数のビットを有し、
前記制御部は、
前記カウント回路の指数部のビット数を表す指数指定値を格納する指数格納部と、
前記カウント回路でカウント値がオーバーフローしたときに前記指数格納部に格納される指数指定値に基づいて、前記カウント回路の前記カウント値を書き換えるためのカウント値設定信号を生成し、前記カウンタ回路へ出力するデコーダ部と
を備えることを特徴とするパルス幅測定装置。
【請求項２】
前記デコーダ部は、前記カウント回路でカウント値がオーバーフローしたときに前記指数格納部に格納される指数指定値に基づいて、指数／仮数切替え信号を生成して前記カウント値格納部へ出力することを特徴とする請求項１記載のパルス幅測定装置。
【請求項３】
前記制御部は、前記カウント回路でカウント値がオーバーフローしたときに出力される指数制御信号に基づいて、指数選択信号を生成し、前記指数格納部に前記指数指定値を書き込む指数／クロック選択部を備えることを特徴とする請求項１記載のパルス幅測定装置。
【請求項４】
前記制御部は、前記カウンタ回路から出力される制御信号に応じて出力される指数制御信号に基づいて、指数選択信号を生成し、前記指数指定値を前記指数格納部に書き込む指数／クロック選択部を備えることを特徴とする請求項１記載のパルス幅測定装置。
【請求項５】
前記制御部は、外部から入力される入力信号に基づいて、指数選択信号を生成し、前記指数指定値を前記指数格納部に書き込む指数／クロック選択部を備えることを特徴とする請求項１記載のパルス幅測定装置。
【請求項６】
前記制御部は、前記エッジ検出回路から出力される前記検出信号に基づいて、前記カウント開始／終了信号を出力する信号生成部を備えることを特徴とする請求項１記載のパルス幅測定装置。
【請求項７】
前記制御部は、前記カウント回路から出力される制御信号に基づいて、前記クロック選択信号を生成し、前記セレクタ回路へ出力する指数／クロック選択部を備えることを特徴とする請求項１記載のパルス幅測定装置。
【請求項８】
前記指数格納部のビット数は、前記カウンタ回路のビット数に応じて設定されることを特徴とする請求項１記載のパルス幅測定装置。
【発明の詳細な説明】
【技術分野】  本発明は、パルス幅カウンタ、インプットキャプチャなどの、被測定信号のパルス幅又はパルス周期を測定（カウント）するパルス幅測定装置に関するものである。
【背景技術】  従来のパルス幅測定装置は、予め設定された測定レンジにおいてカウント動作するため、この設定された測定レンジに適合するパルス幅を有する被測定信号であれば、そのパルス幅を正常に測定できる。しかし、設定された測定レンジを超えるパルス幅を有する被測定信号が入力された場合には、カウンタがオーバーフローしてしまい、正確なパルス幅を測定することができない。
このような問題に対し、特開平７−２７８０４号公報には、被測定信号のパルス幅に対してカウンタのクロック周波数を常に最適値に設定する方式を用いたパルス幅測定装置が開示されている。
図４は、上記の特開平７−２７８０４号公報に示されたパルス幅測定装置の構成を示す。
図４において、このパルス幅測定装置は、データレジスタ３と、エッジ検出回路６と、制御回路７と、カウンタ回路１１と、セレクタ回路１５と、分周器１７とを含む。
図４のパルス幅測定装置において、エッジ検出回路６は、被測定信号ＩＮの立上り及び立下りを検出して検出信号ＥＧ１及び検出信号ＥＧ２を制御回路７へ出力する。制御回路７は、エッジ検出回路６からの検出信号ＥＧ１、ＥＧ２に基づいて、カウント動作の開始、終了を指示するためのカウント開始／終了信号であるカウントイネーブル信号ＥＮＡＢＬＥをカウンタ回路１１へ出力する。
図４のパルス幅測定装置において、カウンタ回路１１は、制御回路７から出力されるカウントイネーブル信号ＥＮＡＢＬＥがＨレベル（カウント動作開始）となった時点から、Ｌレベル（カウント動作終了）に遷移する時点まで、カウントクロック信号ＣＬＫをカウントし、そのカウント値をデータレジスタ３へ出力する。データレジスタ３は、カウンタ回路１１のカウント値を格納して保持する。
また、カウント動作に伴って、カウンタ回路１１の各ビット値がＦＦＨから００Ｈへ遷移するとき（カウント値がオーバーフローするとき）、カウンタ回路１１は、カウント値を下位方向へ１ビットシフトすると共に、制御信号ＣＯをセレクタ回路１５へ出力する。
図４のパルス幅測定装置においては、データレジスタ３に格納されたカウント値と、カウントクロック信号ＣＬＫの周期とに基づいて、被測定信号ＩＮのパルス幅を演算して求める。
また、分周器１７は、マスタークロック信号ＭＣＬＫを分周して複数の周波数のクロック信号ＣＬＫ０−ＣＬＫｎを生成して出力する。セレクタ回路１５は、カウンタ回路１１からの制御信号ＣＯの入力に基づいて、分周器１７で生成されるクロック信号ＣＬＫ０−ＣＬＫｎの中から順次、高い周波数のクロック信号から低い周波数のクロック信号を選択し、その選択した信号をカウントクロック信号ＣＬＫとしてカウンタ回路１１へ出力する。
図５は、図４のパルス幅測定装置におけるセレクタ回路１５の構成を示す。
ここでは、説明の便宜上、図４の分周器１７は、マスタークロック信号ＭＣＬＫを分周した、４つの異なる周波数のクロック信号ＣＬＫ０−ＣＬＫｎ（ｎ＝３）をセレクタ回路１５へ出力すると仮定する。
図５のセレクタ回路において、図４のカウンタ回路１１から出力される制御信号ＣＯは２ビットのカウンタ１９へ入力される。カウンタ１９は、制御信号ＣＯをカウントして、そのカウント値をデコーダ２０へ出力する。
また、カウンタ１９には、図４の制御回路７から出力されるカウントイネーブル信号ＥＮＡＢＬＥがリセット信号として入力される。この信号ＥＮＡＢＬＥがＬレベル（カウント動作終了）になると、カウンタ１９のカウント値がリセットされる。
デコーダ２０は、カウンタ１９の２ビットの出力信号に基づいて、いずれか１ビットのみがＨレベルとなる４ビットのクロック選択信号をセレクタ１３へ出力する。このクロック選択信号は、セレクタ１３の一方の入力に送出される。
セレクタ１３の他方の入力には、分周器１７から出力される４つのクロック信号ＣＬＫ０−ＣＬＫｎが入力される。セレクタ１３は、クロック選択信号に基づいて、これらのクロック信号ＣＬＫ０−ＣＬＫｎの中から１つのクロック信号を選択して、その選択したクロック信号をカウントクロック信号ＣＬＫとして出力する。
図５のセレクタ１３においては、カウントクロック信号ＣＬＫは、デコーダ２０のクロック選択信号に基づいてクロック信号ＣＬＫ０−ＣＬＫｎの中から選択されて出力される。デコーダ２０は、カウンタ１９のカウントアップに基づいて、周波数の高いクロック信号ＣＬＫ０から周波数の低いクロック信号ＣＬＫｎを順次選択するように設定されている。
また、図４のパルス幅測定装置において、データレジスタ３に格納されたカウント値と、カウントクロック信号ＣＬＫの周期とに基づいて、被測定信号ＩＮのパルス幅を演算するためには、カウントクロック信号ＣＬＫの周期情報を保持しておく必要がある。このため、図４のセレクタ回路では、カウンタ１９の出力信号を、カウントクロック信号ＣＬＫの周期情報として、内部レジスタ（図示なし）に格納し保持している。
図４のパルス幅測定装置において、カウンタ回路１１は、カウント動作に伴ってカウント値がオーバーフローするとき、カウント値を半分にして（下位方向へ１ビットシフトして）、カウントクロック信号の周期を倍にする（前回のカウントクロック信号の周波数より一段階低い周波数を有するクロック信号を選択する）ことで、カウント動作を継続する。
しかし、図４のパルス幅測定装置においても、設定された測定レンジを超えるパルス幅を有する被測定信号が入力された場合に、さらにカウント動作を継続するには、クロック周波数を選択するための内部レジスタのビット数を増加しなければならないという問題が生じる。
また、この内部レジスタのビット幅は、図４のパルス幅測定装置の回路規模に直接影響する。上記内部レジスタのビット数が増えると、パルス幅測定装置の回路規模が増大し、コストも増大してしまうという結果になる。
【発明の開示】
本発明は、上記の問題点に鑑みてなされたものであって、被測定信号のパルス幅に適したクロック周波数を自動的に選択することができ、回路規模を大きく増大することなく、カウンタ回路のオーバーフローを防止することができるパルス幅測定装置を提供することを目的とする。
上記課題を解決するために、本発明のパルス幅測定装置は、被測定信号の立上り又は立下りを検出して検出信号を出力するエッジ検出回路と、前記検出信号に基づいて、カウント開始／終了信号を出力する制御部と、前記カウント開始／終了信号に基づいて、カウントクロック信号をカウントするカウンタ回路と、前記カウンタ回路のカウント値を格納するカウント値格納部と、クロック選択信号に基づいて、異なる周波数を有する複数のクロック信号の中から１つを選択して前記カウントクロック信号として出力するセレクタ回路とを備え、前記カウント値と前記カウントクロック信号に基づいて、被測定信号のパルス幅を演算して求めるパルス幅測定装置であって、前記カウンタ回路は指数部と仮数部からなる複数のビットを有し、前記制御部は、前記カウント回路の指数部のビット数を表す指数指定値を格納する指数格納部と、前記カウント回路でカウント値がオーバーフローしたときに前記指数格納部に格納される指数指定値に基づいて、前記カウント回路の前記カウント値を書き換えるためのカウント値設定信号を生成し、前記カウンタ回路へ出力するデコーダ部とを備えることを特徴とする。
本発明のパルス幅測定装置によれば、カウンタ回路のビット幅を指数部と仮数部に分けることにより、限られたビット数を有するカウンタ回路を用いて、広いクロックレンジの中で、測定すべきパルス幅に最適なクロック周波数を自動的に選択できる。また、回路規模を大きく増大することなく、カウンタ回路のオーバーフローを防止しながら、カウント動作を継続することが可能となる。
【図面の簡単な説明】  本発明の他の目的、特徴及び利点については、添付の図面に基づき下記の発明の詳細な説明を参照することにより明確となる。
図１は、本発明のパルス幅測定装置の基本構成を示すブロック図である。
図２は、本発明の一実施例に係るパルス幅測定装置を示すブロック図である。
図３は、図１のパルス幅測定装置におけるセレクタ回路を示すブロック図である。
図４は、従来のパルス幅測定装置の構成を示すブロック図である。
図５は、図４の構成におけるセレクタ回路を示すブロック図である。
図６は、本発明のパルス幅測定装置におけるカウンタ回路の動作を説明するための図である。
図７は、本発明のパルス幅測定装置の動作を説明するための波形図である。
【発明を実施するための最良の形態】  本発明の実施の形態を添付の図面を用いて説明する。
図１は、本発明のパルス幅測定装置の基本構成を示す。
図１において、図４のパルス幅測定装置の構成要素と同じ構成要素には同一の参照番号が付してあり、その説明を省略する。
図１のパルス幅測定装置は、データレジスタ３と、エッジ検出回路６と、制御回路３０と、カウンタ回路３１と、セレクタ回路１５と、分周器１７とを含む。
図１のパルス幅測定装置において、分周器１７には、マスタークロック信号ＭＣＬＫが入力され、分周器１７はこのマスタークロック信号ＭＣＬＫを分周又は逓倍して複数の周波数のクロック信号ＣＬＫ０−ＣＬＫｎを生成して出力する。ここではクロック信号の個数は問題にしない。
セレクタ回路１５は、制御回路３０からのクロック選択信号に基づいて、分周器１７で生成されるクロック信号ＣＬＫ０−ＣＬＫｎの中から順次、高い周波数のクロック信号から低い周波数のクロック信号を選択し、その選択した信号をカウントクロック信号ＣＬＫとしてカウンタ回路３１へ出力する。
カウンタ回路３１は、制御回路３０から出力されるカウントイネーブル信号ＥＮＡＢＬＥがＨレベル（カウント動作開始）となった時点から、Ｌレベル（カウント動作終了）に遷移する時点まで、セレクタ回路１５の出力するカウントクロック信号ＣＬＫをカウントし、そのカウント値をデータレジスタ３へ出力する。データレジスタ３は、カウンタ回路３１のカウント値を格納して保持する。
また、カウント動作に伴って、カウンタ回路３１の各ビット値がＦＦＨから００Ｈへ遷移するとき（カウント値がオーバーフローするとき）、カウンタ回路３１は、制御信号ＣＯをセレクタ回路１５及び制御回路３０へ出力する。
エッジ検出回路６は、被測定信号ＩＮの立上り及び立下りを検出して検出信号ＥＧ１及び検出信号ＥＧ２を制御回路３０へ出力する。
制御回路３０は、エッジ検出回路６からの検出信号ＥＧ１、ＥＧ２に基づいて、カウント動作の開始、終了を指示するためのカウント開始／終了信号であるカウントイネーブル信号ＥＮＡＢＬＥを生成してカウンタ回路３１へ出力する。
また、制御回路３０は、カウンタ回路３１のビット幅の指数部と仮数部の切り分けを行うための指数／仮数切替え信号を生成してデータレジスタ３へ出力する。さらに、制御回路３０は、カウンタ回路３１へカウント値を書き込むためのカウント値設定信号を生成してカウンタ回路３１へ出力する。
図１のパルス幅測定装置においては、データレジスタ３に格納されたカウント値と、制御回路３０から出力される指数／仮数切替え信号とに基づいて、被測定信号ＩＮのパルス幅を演算して求める。
図１を用いて説明したように、本発明のパルス幅測定装置は、カウンタ回路３１のビット数を指数部と仮数部に分けることにより、限られたビット数を有するカウンタ回路を用いて、カウントクロック信号で被測定信号のパルス幅をカウントする。
図３は、図１のパルス幅測定装置におけるセレクタ回路１５を示す。
図３に示したように、このセレクタ回路は、セレクタ３６だけで構成される。図５の構成のように、カウンタ１９及びデコーダ２０を含める必要がない。
図３において、セレクタ３６の一方の入力には、分周器１７から出力される複数のクロック信号ＣＬＫ０−ＣＬＫｎが入力される。セレクタ３６の他方の入力には、制御回路３０から出力されるクロック選択信号が入力される。クロック選択信号は、いずれか１ビットのみがＨレベルとなる複数のビットを含む。クロック選択信号のビット数は、分周器１７からのクロック信号ＣＬＫ０−ＣＬＫｎの個数と対応する。
セレクタ３６は、上記クロック選択信号に基づいて、複数のクロック信号ＣＬＫ０−ＣＬＫｎの中から１つのクロック信号を選択し、その選択したクロック信号をカウントクロック信号ＣＬＫとして出力する。
次に、本発明のパルス幅測定装置におけるカウンタ回路３１の動作について説明する。
ここでは、説明の便宜上、カウンタ回路３１としてビット幅が８ビットのカウンタを用いる場合を仮定する。
この８ビットカウンタを、通常のカウンタ（指数部０ビット、仮数部８ビット）と同様にカウント動作させる場合、最小のクロック周期でカウントできるカウント値の範囲は、１から２の８乗（＝２５６）までとなる。
このカウンタ回路３１を指数部１ビット、仮数部７ビットのカウンタとすると、同じく最小のクロック周期でカウントできるカウント値の範囲は、１から１２８×２（＝２５６）までとなる。
さらに、指数部２ビット、仮数部６ビットのカウンタとすると、同様に、１から６４×８（＝５１２）のカウントレンジとなる。同様に、指数部３ビット、仮数部５ビットとすると、１から３２×１２８（＝４０９６）、指数部４ビット、仮数部４ビットとすると、１から１６×３２７６８（＝５２４２８８）、指数部５ビット、仮数部３ビットとすると、１から８×２の３１乗（＝２の３４乗）のカウントレンジになる。
したがって、本発明のパルス幅測定装置においては、カウンタ回路の指数部のビット数を変えることにより、カウンタ回路のオーバーフローを防止しながら、大きなカウント値まで、被測定信号ＩＮのパルス幅のカウントが可能となる。
８ビットカウンタの指数部が１ビットに指定されるとき、カウンタ回路３１のカウント動作は、次のようになる（カウンタの上位ビットを指数部、下位ビットを仮数部とする）。
００００００００  →    １×    ０＝０
０００００００１  →    １×    １＝１
００００００１０  →    １×    ２＝２
００００００１１  →    １×    ３＝３
：
０１１１１１１１  →    １×１２７＝１２７
１１００００００  →    ２×  ６４＝１２８
：
１１１１１１１１  →    ２×１２７＝２５４
指数部１ビットの場合にカウント値がオーバーフローすると、８ビットカウンタの指数部は２ビットに指定され、カウンタ回路３１のカウント動作は、次のように継続される。
１１１０００００  →    ８×  ３２＝２５６
：
１１１１１１１１  →    ８×  ６３＝５０４
指数部２ビットの場合にカウント値がオーバーフローすると、８ビットカウンタの指数部は３ビットに指定され、カウンタ回路３１のカウント動作は、次のように継続される。
１０１１００００  →  ３２×  １６＝５１２
：
１０１１１１１１  →  ３２×  ３１＝９９２
１１０１００００  →  ６４×  １６＝１０２４
：
１１０１１１１１  →  ６４×  ３１＝１９８４
１１１１００００  →１２８×  １６＝２０４８
：
１１１１１１１１  →１２８×  ３１＝３９６８
指数部３ビットの場合にカウント値がオーバーフローすると、８ビットカウンタの指数部は４ビットに指定され、カウンタ回路３１のカウント動作は、次のように継続される。
１００１１０００  →  ５１２×    ８＝４０９６
：
１００１１１１１  →  ５１２×  １５＝７６８０
１０１０１０００  →１０２４×    ８＝８１９２
：
１０１０１１１１  →１０２４×  １５＝１５３６０
１０１１１０００  →２０４８×    ８＝１６３８４
：
１１１１１１１１  →３２７６８×１５＝４９１５２０
さらに、指数部４ビットの場合にカウント値がオーバーフローすると、８ビットカウンタの指数部は５ビットに指定され、カウンタ回路３１のカウント動作は、次のように継続される（図６、図７参照）。
１０００１１００  →１３１０７２×４＝５２４２８８
：
図２は、本発明の一実施例に係るパルス幅測定装置を示す。
図２のパルス幅測定装置は、データレジスタ３と、カウンタ回路３１と、ＣＰＵ１０と、制御回路３０とを含む。制御回路３０は、指数／クロック選択回路３２と、指数レジスタ３３と、デコーダ回路３４と、カウントイネーブル信号生成回路３５とを含む。
図２のパルス幅測定装置は、図１の構成と同様に、エッジ検出回路６と、セレクタ回路１５と、分周器１７とを含む。説明を簡略化するため、図２ではこれらの回路を省略している。
図２において、指数レジスタ３３に格納される指数指定値は、カウンタ回路３１の指数部のビット数を表す。図２の例では、指数レジスタ３３は３ビットであるが、指数レジスタ３３のビット数は、カウンタ回路３１のビット数に応じて増減する。８ビットカウンタの場合には、指数レジスタ３３のビット数が３ビット必要である。
指数レジスタ３３には、ＣＰＵ１０からの書き込みと、指数／クロック選択回路３２からの書き込みが可能である。指数レジスタ３３に書き込まれた指数指定値により、カウンタ回路３１の指数部のビット数が指定される。
カウンタ回路３１は、図２の実施例では、８ビットカウンタである。上述したように、通常の動作時には、指数部、仮数部の切り分けを考慮せずに、被測定信号ＩＮのパルス幅をカウントすることが可能である。
カウント回路３１のカウント値がＦＦＨから００Ｈになるとき、カウント回路３１は、ＣＰＵ１０及び制御回路３０へ制御信号ＣＯを出力する。
図２の制御回路３０において、指数／クロック選択回路３２は、カウント回路３１からの制御信号ＣＯに基づいて、クロック選択信号を生成してセレクタ回路１５へ出力する。また、ＣＰＵ１０は、カウント回路３１からの制御信号ＣＯに基づいて、カウンタ回路３１の指数部、仮数部の調整を行い、指数制御信号を指数／クロック選択回路３２へ出力する。指数／クロック選択回路３２は、ＣＰＵ１０からの指数制御信号に基づいて、指数選択信号を生成し、指数部選択のための指数指定値として指数レジスタ３３に書き込む。
あるいは、指数外部入力信号を外部から指数／クロック選択回路３２へ供給し、指数／クロック選択回路３２が、この指数外部入力信号に基づいて、指数選択信号を生成して指数レジスタ３３に書き込むように設定することも可能である。
デコーダ回路３４は、指数レジスタ３３に格納された指数指定値に基づいて、指数／仮数切替え信号とカウント値設定信号とを生成し、生成した指数／仮数切替え信号をデータレジスタ３へ出力すると共に、生成したカウント値設定信号をカウンタ回路３１へ出力する。
カウントイネーブル信号生成回路３５は、エッジ検出回路６からの検出信号ＥＧ１、検出信号ＥＧ２に基づいて、カウンタ回路３１のカウント動作の開始、終了を指示するためのカウントイネーブル信号ＥＮＡＢＬＥを生成し、カウンタ回路３１へ出力する。
また、前述したように、カウンタ回路３１は、制御回路３０のカウントイネーブル信号生成回路３５から出力されるカウントイネーブル信号ＥＮＡＢＬＥがＨレベル（カウント動作開始）となった時点から、Ｌレベル（カウント動作終了）に遷移する時点まで、セレクタ回路１５の出力するカウントクロック信号ＣＬＫをカウントし、そのカウント値をデータレジスタ３へ出力する。データレジスタ３は、カウンタ回路３１のカウント値を格納して保持する。
次に、図６は本発明のパルス幅測定装置におけるカウンタ回路の動作を説明するための図である。図７は本発明のパルス幅測定装置の動作を説明するための波形図である。
図６の例は、カウンタ回路３１が指数部４ビット、仮数部４ビットに指定されているときに、カウント値がオーバーフローした場合のカウンタ回路３１の動作を示している。
図７に示したように、カウント値がオーバーフローする直前では、指数レジスタ３３の指数指定値（図７の（ｄ）で示す）は４であり、カウンタ回路３１の仮数部のカウント値（図７の（ｅ）で示す）は１５であり、カウンタ回路３１の指数部の値（図７の（ｆ）で示す）は１５である。
カウント値がオーバーフローした時点において、指数／クロック選択回路３２は、ＣＰＵ１０からの指数制御信号に基づいて、指数選択信号を指数レジスタ３３に書き込む。このとき、指数レジスタ３３の指数指定値（図７の（ｄ）で示す）は４から５に変わる。デコーダ回路３４は、指数レジスタ３３の指数指定値に基づいてカウント値設定信号を生成しカウンタ回路３１へ出力する。このとき、指数部を１ビット増やすが仮数部が１ビット減るため、仮数部のカウント値（図７の（ｅ）で示す）は（１５＋１）／４＝４に変わり、指数部の値（図７の（ｆ）で示す）は（１５＋１＋１）＝１７に変わる。デコーダ３４は、この場合の指数／仮数切替え信号とカウント値設定信号を生成してデータレジスタ３とカウンタ回路３１へ出力する。
また、同時に、指数／クロック選択回路３２は、カウンタ回路３１からの制御信号ＣＯに基づいて、クロック選択信号を生成しセレクタ回路１５へ出力する。このクロック選択信号にしたがって、セレクタ回路１５は、前回のクロック信号ＣＬＫ（図７の（ａ）で示す２１５クロック）から２段階周波数の低いクロック信号（図７の（ｃ）で示す２１７クロック）を選択してカウントクロック信号ＣＬＫとしてカウンタ回路３１へ出力する。
上記のようにカウンタ回路３１の指数部と仮数部の切り分け動作が行われて、カウント動作が継続される。図６に示したように、カウンタ回路３１が指数部５ビット、仮数部３ビットに指定された時点では、カウンタ回路３１のカウント値は、２１７×４＝５２４２８８となる。
これは、（２１５×１５＝４９１５２０→２１５×１６＝５２４２８８）となるところが、仮数部のビット数が１ビット減って３ビットになるため、仮数部の値は前回の仮数部の値１５に１を加えた和の４分の１として求め、指数部の値は前回の指数部の値１５に２を加えて求める演算処理が必要となるからである。
次に、本発明のパルス幅測定装置における制御回路３０及びカウンタ回路３１の一般的な動作を、時間経過にしたがって説明する。
以下の説明では、カウンタ回路３１として、カウントクロック信号ＣＬＫの立上りでカウントアップするカウンタを用いていると仮定する。もちろん、カウントクロック信号ＣＬＫの立下りでカウントアップするカウンタ回路、あるいは、カウントクロック信号ＣＬＫの立上り及び立下りの両エッジでカウントアップするカウンタ回路を用いることも可能である。
まず、被測定信号ＩＮの立上り（開始エッジ）を検出すると、カウンタ回路３１はリセット又はカウン値設定等によりカウント動作を開始する。このとき、仮数部のカウント値＝０ｈ、指数指定値＝１、クロック選択信号＝ＣＬＫ０（最小周期のクロック信号）となる。
クロック信号ＣＬＫ０の最初の立上りにてカウントアップをする。このとき、仮数部のカウント値＝１ｈ、指数指定値＝１、クロック選択信号＝ＣＬＫ０（最小周期のクロック信号）となる。
次のクロック信号ＣＬＫ０の立上りにてカウントアップをする。このとき、仮数部のカウント値＝２ｈ、指数指定値＝１、クロック選択信号＝ＣＬＫ０（最小周期のクロック信号）となる。
この状態で、被測定信号ＩＮの立下り（終了エッジ）を検出すると、パルス幅測定装置は、カウンタ回路３１のカウント値とクロック信号ＣＬＫ０の周期の積を演算し、被測定信号ＩＮのパルス幅（キャプチャ値）として取り込む。
一方、終了エッジを検出しないでカウント動作が継続すると、カウンタ回路３１の仮数部の７ビットが全て１となる。このとき、仮数部のカウント値＝７Ｆｈ、指数指定値＝１、クロック選択信号＝ＣＬＫ０（最小周期のクロック信号）となる。
上記の状態で、カウンタ回路３１がカウントアップすると、仮数部がオーバーフローする。そこで、指数部をカウントアップし、仮数部の値を半分にする。このとき、仮数部のカウント値＝Ｃ０ｈ、指数指定値＝１、クロック選択信号＝ＣＬＫ０（最小周期のクロック信号）となる。
さらに、カウント動作が進み、カウント値が指数部、仮数部合わせて８ビット全てが１となる。このとき、仮数部のカウント値＝ＦＦｈ、指数指定値＝１、クロック選択信号＝ＣＬＫ０（最小周期のクロック信号）となる。
上記の状態で、クロック信号ＣＬＫ０の次の立上りにてカウントアップをする。これにより、制御信号ＣＯが出力され、ＣＰＵ１０又は制御回路３０は、指数レジスタ３３の指数指定値及びカウント値を再計算する。
まず、指数部を２ビットに増加する。仮数部のビット数が１ビット減るため、指数は２の１乗から２の３乗に変わり、指数部の値は“１１ｂ”となる。仮数部の値は半分の半分にするため、“８０ｈ”の４分の１である“２０ｈ”に変わる。すなわち、前回のカウント値：２の１乗×７Ｆｈ＝２×１２７＝２５４から、今回のカウント値：２の３乗×２０ｈ＝８×３２＝２５６に変わる。このとき、仮数部のカウント値＝Ｅ０ｈ、指数指定値＝２、クロック選択信号＝ＣＬＫ１（２番目に周期の小さいクロック信号）となる。
クロック信号ＣＬＫ１の次の立上りにてカウントアップをする。このとき、仮数部のカウント値＝Ｅ１ｈ、指数指定値＝２、クロック選択信号＝ＣＬＫ１（２番目に周期の小さいクロック信号）となる。
さらに、クロック信号ＣＬＫ１の次の立上りにてカウントアップをする。このとき、仮数部のカウント値＝Ｅ２ｈ、指数指定値＝２、クロック選択信号＝ＣＬＫ１（２番目に周期の小さいクロック信号）となる。
さらに、カウント動作が進み、カウント値が指数部、仮数部合わせて８ビット全てが１となる。このとき、仮数部のカウント値＝ＦＦｈ、指数指定値＝２、クロック選択信号＝ＣＬＫ１（２番目に周期の小さいクロック信号）となる。
上記の状態で、クロック信号ＣＬＫ１の次の立上りにてカウントアップをする。これにより、制御信号ＣＯが出力され、ＣＰＵ１０又は制御回路３０は、指数レジスタ３３の指数指定値及びカウント値を再計算する。
まず、指数部を３ビットに増加する。仮数部のビット数が１ビット減るため、指数は２の３乗から２の５乗に変わり、指数部の値は“１０１ｂ”となる。仮数部の値は半分の半分にするため、“４０ｈ”の４分の１である“１０ｈ”に変わる。すなわち、前回のカウント値：２の３乗×３Ｆｈ＝８×６３＝５０４から、今回のカウント値：２の５乗×１０ｈ＝３２×１６＝５１２に変わる。このとき、仮数部のカウント値＝Ｂ０ｈ、指数指定値＝３、クロック選択信号＝ＣＬＫ２（３番目に周期の小さいクロック信号）となる。
さらに、終了エッジを検出しないでカウント動作が継続すると、本発明のパルス幅測定回路の制御回路３０及びカウンタ回路３１は、上記カウント動作と同様のカウント動作をくりかえす。
以上説明したように、本発明のパルス幅測定装置によれば、カウンタ回路のビット幅を指数部と仮数部に分けることにより、限られたビット数を有するカウンタ回路を用いて、広いクロックレンジの中で、測定すべきパルス幅に最適なクロック周波数を自動的に選択できる。また、回路規模を大きく増大することなく、カウンタ回路のオーバーフローを防止しながら、カウント動作を継続することが可能となる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、請求項に記載した範囲内で様々な変形が可能である。
【図１】
2004092751.tif 000003
【図２】
2004092751.tif 000004
【図３】
2004092751.tif 000005
【図４】
2004092751.tif 000006
【図５】
2004092751.tif 000007
【図６】
2004092751.tif 000008
【図７】
2004092751.tif 000009
【国際調査報告】
2004092751.tif 000010
2004092751.tif 000011