(57)【特許請求の範囲】
【請求項１】
入力パルス信号を基本波クロック信号でサンプリングして入力パルス検出信号を得るパルス検出回路と、
一定周期の制御信号により制御され入力パルス検出信号をカウントするパルスカウンタと、
一定周期の制御信号により制御され基準クロック信号をカウントするパルス間隔カウンタとを有するパルス入力回路において、
前記パルスカウンタとパルス間隔カウンタをそれぞれ２個設け、
それぞれの２個のカウンタを一定周期で交互に動作させ、基本クロック信号の周波数が高くてもパルスカウンタデータとパルス間隔カウンタデータを正確に読み込めるようにしたことを特徴とするパルス入力回路におけるパルスカウント方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、計測制御に用いられるパルス入力回路を搭載したマイクロ・コンピュータ装置の、パルス入力回路におけるパルスカウント方式に関するものである。
【０００２】
【従来の技術】
計測制御に用いられるマイクロ・コンピュータ装置（ＣＰＵ）に搭載されたパルス入力回路では、一定時間内に発生したパルスの数（パルスの立ち下がりエッジの数）およびパルス間隔（パルスの立ち下がりエッジから次の立ち下がりエッジまでの時間）の積算データをそれぞれ計算している。
【０００３】
図５に従来パルス入力回路を、図６にそのタイミングチャートを示す。図５において、５０はＣＰＵ１に搭載されたパルス入力回路で、パルス検出回路５１，クロックカウンタ５２，基準タイマ回路５３及び読出しレジスタ５４等で構成されている。
【０００４】
パルス検出回路５１は、パルス入力信号を基本クロック信号によりサンプリングして、ＣＰＵ１に割り込みをかけるための入力パルス検出信号と、クロックカウンタ５２の出力データを読み出しレジスタ５４にラッチさせるためのデータラッチ信号を生成する。
【０００５】
クロックカウンタ５２は、定められたビット幅で基本クロック信号毎にカウントするカウンタである。基準タイマ回路５３は、基本クロック信号をカウントして一定周期毎にＣＰＵ１に割り込みをかけるインターバルタイマである。読み出しレジスタ５４は、パルス検出回路５１からのデータラッチ信号によりクロックカウンタ５２からのデータ入力をラッチしてＣＰＵ１との外部インターフェイスを実現するものである。
【０００６】
パルス検出回路５１は、パルス入力信号の立ち下がりを検出すると、データラッチ信号によりクロックカウンタ５２のデータを読み出しレジスタ５４にラッチする。また、基準タイマ５３からのタイマ割込信号によりＣＰＵ１にインターバルタイマ割り込みをかける。
【０００７】
ＣＰＵ１は、入力パルス検出信号割り込みを受け付けると読み出しレジスタ５４のデータを読み込み、読み出したデータの前回値と今回値の差を求めることで、パルス間隔を求めている。また、基準タイマ５３からのタイマ割り込みの間に発生したパルス信号による割り込みを数えることで、一定時間に発生したパルスの数を求めている。また、その間のパルス間隔を加算して積算データを得ている。
【０００８】
【発明が解決しようとする課題】
パルス入力回路を利用した計測制御システムでは、システム全体の精度を上げるためにパルス入力回路の精度の向上が求められている。パルス入力回路の精度を上げるためには、基準クロック信号の周波数を上げてサンプリング周期を小さくしなければならない。
【０００９】
しかし、上記従来のパルス入力回路では、クロック周波数を上げてサンプリング周期を小さくすると、読み出しレジスタ５４がデータをラッチしてからデータを読み取るまでの時間内に、新しいデータをラッチしてしまう。例えば図６において、（ｆ２＋ｇ＋ｈ＋ｉ）のデータを読み取る時（ｆ２＋ｇ＋ｈ＋ｉ＋ｊ）のように新しいデータｊをラッチしてしまう可能性があり、正確なデータが読み取れなくなってしまう。
【００１０】
本発明は、上記課題に鑑みてなされたものであり、その目的とするところは、クロック周波数が高くても正確にパルスカウンタとパルス間隔カウンタのデータを読み取ることのできる、パルス入力回路におけるパルスカウント方式を提供することにある。
【００１１】
【課題を解決するための手段】
この発明のパルス入力回路におけるパルスカウント方式は、入力パルス信号を基本波クロック信号でサンプリングして入力パルス検出信号を得るパルス検出回路と、一定周期の制御信号により制御され入力パルス検出信号をカウントするパルスカウンタと、一定周期の制御信号により制御され基準クロック信号をカウントするパルス間隔カウンタとを有するパルス入力回路において、前記パルスカウンタとパルス間隔カウンタをそれぞれ２個設け、それぞれの２個のカウンタを一定周期で交互に動作させ、基本クロック信号の周波数が高くてもパルスカウンタとパルス間隔カウンタが正確にカウントしうるようにしたことを特徴とするものである。
【００１２】
【発明の実施の形態】
実施の形態１
図１に実施の形態１にかかるパルス入力回路を示す。１１はパルス検出回路、１２は基準タイマ回路、１３Ａ，１３Ｂは交互に選択されるパルスカウンタＡ，Ｂ、１４Ａ，１４Ｂは交互に選択されるパルス間隔カウンタＡ，Ｂで、それぞれ積算カウンタＡ，Ｂの機能を有する。１５，１６は制御信号反転用インバータである。
【００１３】
以下に、このパルス入力回路の構成を図２のタイミングチャートを用いて動作と共に説明する。
【００１４】
パルス検出回路１１は、基本クロック信号アにより入力パルス信号イをサンプリングして、基準タイマ信号チの切換り後の入力パルス信号イの立ち下がりをパルスの区切りとして検出して、１パルスごとに入力パルス検出信号ウを生成する。
【００１５】
基準タイマ回路１２は、基本クロック信号アから一定周期信号チを生成する基準タイマ回路を持ち、その基準タイマ信号チと入力パルス信号イと基本クロック「ア」からパルスカウンタ１３Ａ，１３Ｂとパルス間隔カウンタ１４Ａ，１４Ｂの制御信号であるＡ，Ｂ切換信号エ、Ａ，Ｂカウンタ出力イネーブル信号オ、Ａ群カウンタ（１３Ａ，１４Ａ）のクリア信号カ、Ｂ群カウンタ（１３Ｂ，１４Ｂ）のクリア信号キを生成する。さらに、各データ信号を出力後、割り込み信号コを生成する。なおＡＢ切換信号エはインバータ１５，１６で反転され信号エ′となってカウンタ１３Ｂ，１４Ｂに入力する。
【００１６】
パルスカウンタ１３Ａと１３Ｂは、上記ＡＢ切換信号エ，エ′により規則的に交互に選択され、カウント動作を行う。ＡＢ切換信号エ又はエ′により選択されているパルスカウンタ１３Ａ又は１３Ｂは、入力パルス検出信号ウをカウントアップする。また、ＡＢカウンタ出力イネーブル信号オにより、パルスカウンタ・データ「ケ」を出力する。そして、上記Ａ群クリア信号カまたはＢ群クリア信号キがアサートされるとカウンタ値がＯクリアされる。
【００１７】
パルス間隔カウンタ１４Ａと１４Ｂは、上記ＡＢ切換信号エ，エ′により規則的に交互に選択され、選択されているパルス間隔カウンタ１４Ａ又は１４Ｂは、基本クロック信号アのカウントアップする。また、ＡＢカウンタ出力イネーブル信号オにより、パルス間隔カウンタ・データ「ク」を出力する。そして、Ａ群クリア信号カまたはＢ群クリア信号キがアサートされるとカウンタ値がＯクリアされる。
【００１８】
パルスカウンタ１３Ａとパルス間隔カウンタ１４Ａが各データを出力している場合は、ＡＢ切換信号エ′とＡＢカウンタ出力イネーブル信号オによって、パルスカウンタ１３Ｂとパルス間隔カウンタ１４Ｂは、ディセーブルになっている。
【００１９】
また同様に、パルスカウンタ１３Ｂとパルス間隔カウンタ１４Ｂが各データを出力している場合は、ＡＢ切換信号エとＡＢカウンタ出力イネーブル信号オによってパルスカウンタ１３Ａとパルス間隔カウンタ１４Ａは、ディセーブルになっている。
【００２０】
そのため、上記割り込み信号コ出力後ＣＰＵ１がパルスカウント・データ「ケ」とパルス間隔カウント・データ「ク」をリードするとき、Ａ群のカウンタ１３Ａ，１４ＡとＢ群のカウンタ１３Ｂ，１４Ｂのデータが衝突することなく、正常なデータを読込むことができる。
【００２１】
一定周期でＡ，Ｂ群のカウンタを切り換えることにより、ＣＰＵ１がパルスカウント・データ「ケ」とパルス間隔カウント・データ「ク」をリードするときの時間も、常時パルスカウンタとパルス間隔カウンタを動作させることが可能なので、基本クロックアの周期数が高くなったときでも、正確に各データをカウントすることができる。
【００２２】
以上の動作により、基本クロック「ア」の周波数が高くなった場合でも、パルスカウンタとパルス間隔カウンタは正確にカウントすることが可能となる。
【００２３】
実施の形態２
図３に実施の形態２にかかるパルス入力回路を示す。３１はパルス検出回路、３２は基準タイマ回路、３３Ａ，３３Ｂは交互に選択されるパルス間隔カウンタ、３４Ａ，３４Ｂは交互に選択されるパルスカウンタ３５Ａ，３５Ｂは交互に選択される加算器で、積算カウンタ機能を有する。３６はパルスカウンタ読出しレジスタ、３７は積算カウンタ読出しレジスタ、４１，４２，４３は制御信号を反転させるインバータである。
【００２４】
以下に、このパルス入力回路の構成を図４のタイミングチャートを用いて動作と共に説明する。
【００２５】
パルス検出回路３１は、基本クロック信号アにより入力パルス信号イをサンプリングして、入力パルス信号イの立ち下がりをパルスの区切りとして検出して、１パルスごとに内部パルス信号（パルス検出信号）シを生成する。また、タイマ制御信号サと組み合わせて複数の制御信号を生成する。
【００２６】
生成される複数の制御信号は、パルス間隔カウンタ３３Ａ，３３Ｂへのパルス間隔カウンタ切換信号ス，カウンタＡ／Ｂ出力制御信号セ，カウンタＡクリア信号ソ，カウンタＢクリア信号タである。なお、信号スはインバータ４１により反転され信号ス′となってカウンタ３３Ｂに入力する。
【００２７】
基準タイマ回路３２は、基本クロック信号アから一定周期信号サを生成する基準タイマを持ち、パルスカウンタ３４Ａ，３４Ｂ、加算器３５Ａ，３５Ｂの制御信号であるＡ／Ｂ系切換え信号エ，ＡＢ系出力制御信号オ，Ａ系クリア信号カ，Ｂ系クリア信号キを生成する。なお、信号エはインバータ４２〜４３により反転され信号エ′となってカウンタ３４Ｂと加算器３５Ｂに入力する。また、読出しレジスタ３６，３７のレジスタ更新信号ツ及び外部ＣＰＵに対する割込信号コを生成する。
【００２８】
また、パルス検出回路３１は、基準タイマ３２から出力されるタイマ制御信号サと、カウンタＡ／Ｂ出力切換制御信号セにより、カウンタ３５Ａ，３５Ｂが更新中であることを認識して内部パルス信号シを遅らせる。
【００２９】
パルス間隔カウンタ３３Ａと３３Ｂは、基本クロック信号アをカウントすることによりパルス間隔を計測するカウンタである。それぞれのカウンタ３３Ａと３３Ｂは、パルス検出回路３１が出力するパルス間隔カウンタ切換信号スにより１パルス毎に交互にカウントを行う。また１パルスのカウント終了後に加算器３５Ａと３５Ｂにデータが送り込まれた後、それぞれのカウンタクリア信号ソ又はタによりクリアされる。
【００３０】
加算器３５Ａと３５Ｂは、パルス間隔カウンタ３３Ａと３３Ｂから出力されるデータ「テ」を積算する機能を持つ。それぞれの加算器３５Ａと３５Ｂは、基準タイマ回路３２が出力するＡ／Ｂ系切換信号エ及びその反転信号エ′により一定周期で切り換えられる。また、積算カウンタ読出レジスタ３７データ「ナ」がラッチされた後、それぞれのクリア信号カとキにより０クリアされる。
【００３１】
パルスカウンタ３４Ａと３４Ｂは、パルス検出回路３１からの内部パルス信号シをカウントすることにより入力パルス信号イの数を計測するカウンタである。それぞれのカウンタ３４Ａと３４Ｂは、基準タイマ検出回路３２が出力するＡ／Ｂ系切換信号エにより一定周期で切換えられる。またパルスカウンタ読み出しレジスタ３６にデータ「ト」がラッチされた後、それぞれのクリア信号カとキにより０クリアされる。
【００３２】
パルスカウンタ読み出しレジスタ３６及び積算カウンタ読み出しレジスタ３７は、基準タイマ回路３２から出力されるレジスタ更新信号ツにより一定周期で更新され、外部ＣＰＵとのインタフェースを実現する。
【００３３】
以上のように、パルス間隔カウンタ及びパルスカウンタをそれぞれ２つ持ちそれぞれ切換えて使うことによりカウント終了後、加算器にデータを転送する時間が十分とれるため、基準クロック信号が高速となっても正しいデータを計測することが実現できる。
【００３４】
【発明の効果】
この発明は、パルスカウンタ及びパルス間隔カウンタをそれぞれ２つ持ち、それぞれを交互に切換えて使うように構成されているので、基本クロックの周波数が高くても正確にパルスカウントとパルス間隔カウントのデータを読み取ることができる。そのため、パルスカウントデータとパルス間隔カウントデータを使用して制御する場合、高い基本クロック周波数が使用できるので、より精密な制御が可能となる。
【図面の簡単な説明】
【図１】実施の形態１にかかるパルス入力回路ブロック図。
【図２】同パルス入力回路のタイミングチャート。
【図３】実施の形態２にかかるパルス入力回路ブロック図。
【図４】同パルス入力回路のタイミングチャート。
【図５】従来例にかかるパルス入力回路ブロック図。
【図６】同パルス入力回路のタイミングチャート。
【符号の説明】
１…ＣＰＵ
１１…パルス検出回路
１２…基準タイマ回路
１３Ａ，１３Ｂ…パルスカウンタＡ，Ｂ
１４Ａ，１４Ｂ…パルス間隔カウンタＡ，Ｂ
３１…パルス検出回路
３２…基準タイマ回路
３３Ａ，３３Ｂ…パルス間隔カウンタＡ，Ｂ
３４Ａ，３４Ｂ…パルスカウンタＡ，Ｂ
３５Ａ，３５Ｂ…加算器Ａ，Ｂ（積算カウンタＡ，Ｂ）
３６…パルスカウンタ読み出しレジスタ
３７…積算カウンタ読み出しレジスタ
５１…パルス検出回路
５２…クロックカウンタ
５３…基準タイマ回路
５４…読み出しレジスタ
【図１】
0003903607.tif 000002
【図２】
0003903607.tif 000003
【図３】
0003903607.tif 000004
【図４】
0003903607.tif 000005
【図５】
0003903607.tif 000006
【図６】
0003903607.tif 000007