(57)【特許請求の範囲】
【請求項１】
所定周波数のクロックに同期して所定数のカウントを繰返し行うカウンタと、このカウンタのカウント値とロジック信号のレベル値を書込む記憶手段とを設け、このカウンタのカウントが開始され、ロジック信号の記憶が開始されると、ロジック信号が変化するごとにその変化点の前記カウンタのカウント値及びそのときのロジック信号のレベル値を記憶するとともに、そのレベル値の変化点から次の変化がないまま前記カウンタが１周するとその度に前記カウンタのカウント値及びそのときのロジック信号のレベル値を前記記憶手段に書込むことを特徴とするロジック信号のタイミングデータ記憶装置。
【請求項２】
所定周波数のクロックに同期して所定数のカウントを繰返し行うカウンタと、このカウンタのカウントが開始され、ロジック信号の記憶が開始されると、ロジック信号が変化するごとにその変化点を検出する変化点検出手段と、この変化点検出手段がロジック信号の変化点を検出すると、そのときの前記カウンタのカウント値及びロジック信号のレベル値を出力するカウント値レベル値出力手段と、ロジック信号のレベル値の変化点から次の変化がないまま前記カウンタが１周したことを判断する判断手段と、前記変化点検出手段がロジック信号の変化点を検出した場合及び前記判断手段が前記カウンタが１周したことを判断した場合に、書込信号を出力する書込信号出力手段と、この書込信号出力手段からの書込信号により前記カウント値レベル値出力手段からのカウント値及びレベル値を書込む記憶手段とを備えたことを特徴とするロジック信号のタイミングデータ記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロジック信号のタイミングデータ記憶装置に関する。
【０００２】
【従来の技術】
この種の装置は、例えばロジック信号のパターンやタイミング解析、ステッピングモータの相信号の解析、ペンスキャナで読取ったバーコードリーダの時系列データの解析などに使用するロジック信号のタイミングデータを記憶させるものであり、従来は、入力したロジック信号を任意周波数のクロックごとに２値化データとして連続的に記憶していた。
【０００３】
【発明が解決しようとする課題】
しかし、このような装置においては、ロジック信号の変化点の有無に関わらず、ロジック信号を任意周波数のクロックごとに連続的に記憶していたため、例えば入力したロジック信号が長時間に渡って変化点がなかったり短時間に多くの変化点があるような不規則なロジック信号では、その長時間に渡って変化点がない部分であっても、任意周波数のクロックごとにデータが記憶されるため、全体のデータ量が非常に多くなり、これを記憶するのに必要な記憶容量を大きくとらなければならないという問題があった。
【０００４】
そこで、本発明は、ロジック信号のタイミングデータを記憶する記憶装置の容量を効率的に使用でき、データを記憶するのに必要な記憶容量を少なくすることができるロジック信号のタイミングデータ記憶装置を提供しようとするものである。
【０００５】
【課題を解決するための手段】
請求項１の本発明は、所定周波数のクロックに同期して所定数のカウントを繰返し行うカウンタと、このカウンタのカウント値とロジック信号のレベル値を書込む記憶手段とを設け、このカウンタのカウントが開始され、ロジック信号の記憶が開始されると、ロジック信号が変化するごとにその変化点のカウンタのカウント値及びそのときのロジック信号のレベル値を記憶するとともに、そのレベル値の変化点から次の変化がないままカウンタが１周するとその度にカウンタのカウント値及びそのときのロジック信号のレベル値を記憶手段に書込むことを特徴とするロジック信号のタイミングデータ記憶装置である。
【０００６】
請求項２の本発明は、所定周波数のクロックに同期して所定数のカウントを繰返し行うカウンタと、このカウンタのカウントが開始され、ロジック信号の記憶が開始されると、ロジック信号が変化するごとにその変化点を検出する変化点検出手段と、この変化点検出手段がロジック信号の変化点を検出すると、そのときのカウンタのカウント値及びロジック信号のレベル値を出力するカウント値レベル値出力手段と、ロジック信号のレベル値の変化点から次の変化がないままカウンタが１周したことを判断する判断手段と、変化点検出手段がロジック信号の変化点を検出した場合及び判断手段がカウンタが１周したことを判断した場合に、書込信号を出力する書込信号出力手段と、この書込信号出力手段からの書込信号によりカウント値レベル値出力手段からのカウント値及びレベル値を書込む記憶手段とを備えたことを特徴とするロジック信号のタイミングデータ記憶装置である。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本実施の形態におけるロジック信号のタイミングデータ記憶装置の構成を示すブロック図である。この装置は、ＭＰＵ（マイクロプロセッサユニット）１１、記憶装置１２、変化点検出手段としてのキャプチャパルスジェネレータ１３、レベルジェネレータ１４、ｍビットカウンタ１５、カウント値レベル値出力手段としてのキャプチャユニット１６、コンパレータ１７、ＦＩＦＯユニット１８を備える。上記記憶装置１２は、例えばハードディスク装置、フロッピディスク装置、光ディスク装置などで構成する。
また記憶装置１２又はＦＩＦＯユニット１８は記憶手段を構成する。
【０００８】
上記ＦＩＦＯユニット１８は、ＦＩＦＯメモリ及びこのＦＩＦＯメモリに対してＦＩＦＯメモリ制御（First-in：First-out （先入れ先出し型）；コンピュータのスタックメモリなど順序をもってデータの書込みと読出しを行うメモリ制御の１つで、最も早く書込んだデータをその処理の順番がきたときに最初に処理する制御）を行う制御回路を備える。
【０００９】
上記ＭＰＵ１１は、ＣＰＵ（中央処理装置）１１ａと実行プログラムなどを記憶した制御用ＲＯＭ（リード・オンリ・メモリ）１１ｂとワークＲＡＭ（ランダム・アクセス・メモリ）１１ｃを備える。このＭＰＵ１１は、ロジック信号の記憶処理を開始終了させるためのスイッチ２１からの開始終了信号（ＫＥＹＳ；Key Status）を読取り、この信号に基づいてロジック信号の記憶処理の開始終了を要求するイネーブルコマンド信号（ＥＮＣＯＭ；Enable Command）をＩ／Ｏポート２２を介して出力する。また、ＦＩＦＯユニット１８からのビットデータ（ｍ＋１ビットデータ）を記憶装置１２に記憶する。このとき、ＦＩＦＯユニット１８の状態を示す状態信号（ＶＡＣ；Vacant）を参照する。この状態信号（ＶＡＣ）はＦＩＦＯユニット１８のＦＩＦＯメモリが空のときのみアサートとなる。
【００１０】
上記ＦＩＦＯユニット１８からのライトレディ信号（ＷＲ；Write Ready ）とＭＰＵ１１からのイネーブルコマンド信号（ＥＮＣＯＭ）は、２入力アンドゲート２３の入力端子に入力し、この２入力アンドゲート２３の出力は、キャプチャイネーブル信号（ＣＡＥＮ；Capture Enable）としてキャプチャパルスジェネレータ１３、レベルジェネレータ１４、ｍビットカウンタ１５、キャプチャユニット１６、コンパレータ１７、ＦＩＦＯユニット１８へ供給される。これらは、キャプチャイネーブル信号（ＣＡＥＮ）がアサートのときにのみ動作し、キャプチャイネーブル信号（ＣＡＥＮ）がネゲートのときには動作しない。また、上記キャプチャパルスジェネレータ１３、レベルジェネレータ１４、ｍビットカウンタ１５、キャプチャユニット１６、コンパレータ１７、ＦＩＦＯユニット１８には、システムクロック（ＳＣＬＫ；System Clock）が供給される。
【００１１】
上記キャプチャパルスジェネレータ１３には、バッファ２４を介して記憶処理を行う元の信号であるロジック信号（ＩＳＩＧ；Input Signal）が供給されるようになっている。このキャプチャパルスジェネレータ１３は、キャプチャイネーブル信号（ＣＡＥＮ）がアサートのときに、ロジック信号（ＩＳＩＧ）が供給されると、ロジック信号（ＩＳＩＧ）の変化点ごとにシステムクロック（ＳＣＬＫ）の幅のキャプチャパルス（ＣＡＰ；Capture Pulse ）を出力する。
【００１２】
上記レベルジェネレータ１４にも、バッファ２４を介して記憶処理を行う元の信号であるロジック信号（ＩＳＩＧ；Input Signal）が供給されるようになっている。このレベルジェネレータ１４は、キャプチャイネーブル信号（ＣＡＥＮ）がアサートのときに、ロジック信号（ＩＳＩＧ）が供給されると、同期信号（ＳＳＩＧ；Synchronized Signal ）をシステムクロック（ＳＣＬＫ）に同期させて上記キャプチャユニット１６に供給する。
【００１３】
上記ｍビットカウンタ１５は、キャプチャイネーブル信号（ＣＡＥＮ）がアサートのときに、システムクロック（ＳＣＬＫ）を繰返しカウントする。すなわち、システムクロック（ＳＣＬＫ）に同期させてカウント値をインクリメントし、ｍビットのカウント値を上記キャプチャユニット１６及びコンパレータ１７に供給する。
【００１４】
上記キャプチャユニット１６は、キャプチャイネーブル信号（ＣＡＥＮ）がアサートのときに、キャプチャパルス（ＣＡＰ）が出力されるタイミングの同期信号（ＳＳＩＧ）が供給されると、そのときのｍビットカウンタ１５からのカウント値を取込み、ロジック信号のレベル（１又は０）を示すレベル値（１ビットデータ）及びそのカウント値（ｍビットデータ）をＦＩＦＯユニット１８へ供給する。また、カウント値（ｍビットデータ）は上記コンパレータ１７にも供給する。
【００１５】
上記コンパレータ１７は、キャプチャイネーブル信号（ＣＡＥＮ）がアサートのときに、キャプチャユニット１６からのカウント値（ロジック信号の変化点のカウント値）とｍビットカウンタ１５からのカウント値を比較し、これらが同一のときのみに出力パルス信号（ＣＯＰ；Comparator Pulse）を出力する。すなわち、ロジック信号の変化点のカウント値から次の変化がない状態でｍビットカウンタが１周するごとに出力パルス信号（ＣＯＰ）が出力される。
【００１６】
このコンパレータ１７からの出力パルス信号（ＣＯＰ）及び上記キャプチャパルスジェネレータ１３からのキャプチャパルス（ＣＡＰ）は２入力オアゲート２５の入力端子に供給される。この２入力オアゲート２５の出力はライトトリガ信号（ＷＴ；Write Trigger ）としてＦＩＦＯユニット１８へ供給される。
【００１７】
上記ＦＩＦＯユニット１８は、キャプチャイネーブル信号（ＣＡＥＮ）がアサートのときに、書込信号としてのライトトリガ信号（ＷＴ）が供給されると、そのタイミングでキャプチャユニット１６からのカウント値（ｍビットデータ）及びレベル値（１ビットデータ）をＦＩＦＯメモリに記憶する。例えば、ｍビットカウンタ１５を７ビットカウンタで構成した場合には、キャプチャユニット１６からは図２に示すようなデータ形式で合計８ビットのデータが供給される。すると、ＦＩＦＯユニット１８は、図５に示すようにこの８ビットのデータをＦＩＦＯメモリに記憶していく。
【００１８】
上記ＦＩＦＯユニット１８は、ＦＩＦＯメモリが満杯になると、ライトレディ信号（ＷＲ）をネゲートする。このとき、リセット状態、すなわち２入力アンドゲート２３からの出力であるキャプチャイネーブル信号（ＣＡＥＮ）はネゲートとなり、状態信号（ＶＡＣ）がアサートとなる。
【００１９】
このような装置における全体の動作を図３に示す動作フローチャートを参照しながら説明する。
先ず、ＳＴ（ステップ）１にてＭＰＵ１１はロジック信号の記憶開始のスイッチ２１の入力待ちとなる。ＳＴ１にてＭＰＵ１１は、スイッチ２１が押されたと判断した場合は、ＳＴ２にてイネーブルコマンド信号（ＥＮＣＯＭ）をネゲートする。これにより、ｍビットカウンタ１５はリセットされ、ビットカウントを開始する。また、キャプチャユニット１６などもリセットされるとともに、ＦＩＦＯユニット１８のＦＩＦＯメモリがクリアされる。
【００２０】
続いて、ＳＴ３にてＭＰＵ１１はイネーブルコマンド信号（ＥＮＣＯＭ）をアサートし、ＳＴ４にてＭＰＵ１１はスイッチ２１が押されたかを判断する。
【００２１】
このとき、ＭＰＵ１１は、スイッチ２１が押されたと判断すると後述するＳＴ１０の処理に移り、スイッチ２１が押されていないと判断するとＳＴ５にてキャプチャパルスジェネレータ１３は入力されたロジック信号（ＩＳＩＧ）の変化点があるかを判断する。ＳＴ５にてキャプチャパルスジェネレータ１３は変化点を検出するとキャプチャパルス（ＣＡＰ）を出力する。このとき、レベルジェネレータ１４から同期信号（ＳＳＩＧ）も出力される。これにより、ＳＴ６にてキャプチャユニット１６はそのときのｍビットカウンタ１５のカウント値とレベル値を取込み、ＦＩＦＯユニット１８へ供給する。
【００２２】
次に、ＳＴ７にてＦＩＦＯユニット１８は、ライトトリガ信号（ＷＴ）を供給するタイミングでキャプチャユニット１６からのカウント値とレベル値をＦＩＦＯメモリに書込む。
【００２３】
続いてＳＴ８にてＭＰＵ１１は、ＦＩＦＯユニット１８からのライトレディ信号（ＷＲ）がネゲートか否かにより、ＦＩＦＯユニット１８のＦＩＦＯメモリが満杯か否かを判断する。
【００２４】
ＳＴ８にてＭＰＵ１１は、ライトレディ信号（ＷＲ）がアサートのときは、ＦＩＦＯユニット１８のＦＩＦＯメモリが満杯でないと判断し、ＳＴ４の処理に移り、ライトレディ信号（ＷＲ）がネゲートのときは、ＦＩＦＯユニット１８のＦＩＦＯメモリが満杯であると判断し、後述するＳＴ１０の処理に移る。
【００２５】
また、ＳＴ５にてキャプチャパルスジェネレータ１３が変化点を検出しないときは、ＳＴ９にてコンパレータ１７はロジック信号の変化点のカウント値から次の変化がない状態でｍビットカウンタが１周したか否かを判断する。具体的には、キャプチャユニット１６からのカウント値（ロジック信号の変化点のカウント値）とｍビットカウンタ１５からのカウント値を比較し、これらが同一か否かを検出する。そして、各カウント値が同一のときは出力パルス信号（ＣＯＰ；Comparator Pulse）を出力してＳＴ７の処理に移り、同一でない場合はＳＴ４の処理に戻る。
【００２６】
上記ＭＰＵ１１は、ＳＴ４にてスイッチ２１が押されたと判断した場合及びＳＴ８にてＦＩＦＯユニット１８のＦＩＦＯメモリが満杯であると判断した場合は、ＳＴ１０にてＭＰＵ１１はイネーブルコマンド信号（ＥＮＣＯＭ）をネゲートすることにより、ｍビットカウンタ１５のカウントをストップしてロジック信号のタイミングデータの記憶を終了する。
【００２７】
次に、ＭＰＵ１１は、ＳＴ１１にてＦＩＦＯユニット１８のＦＩＦＯメモリに記憶したデータを記憶装置１２に書込み、ＳＴ１２にてＦＩＦＯユニット１８からのライトレディ信号（ＷＲ）がアサートか否かにより、ＦＩＦＯユニット１８のＦＩＦＯメモリが空になったか否かを判断する。ＦＩＦＯメモリが空でないと判断した場合はＳＴ１１の処理に戻り、ＦＩＦＯメモリが空になったと判断した場合はこの処理を終了する。
【００２８】
例えば、ｍビットカウンタ１５を７ビットカウンタで構成した場合に、図４（ａ）に示すようなロジック信号のタイミングデータを記憶すると、同図（ｂ）に示すようなタイミングでカウント値及びレベル値を記憶していく。この場合、参考として各カウント値及びレベル値とともにカウント累計を示してある。このようなタイミングデータは最終的には記憶装置１２に図５に示すように記憶される。
【００２９】
なお、こうして記憶装置１２に記憶されたロジック信号のタイミングデータは、他のソフトウエアプログラムによって解析される。この場合、記憶装置１２に記憶したロジック信号のタイミングデータに基づいて元のロジック信号を復元する際には、ｎ番目とｎ＋１番目のデータ間のカウント値が必要になると考えられるので、その１例を以下に説明する。
【００３０】
例えば図６に示すようなデータが記憶装置１２に記憶されている場合、ｎ番目のカウント値をＤn 、ｎ＋１番目のカウント値をＤn+1 とすると、Ｄn ＜Ｄn+1 の場合は、ｎ番目とｎ＋１番目のデータ間のカウント値はＤn+1 −Ｄn となる。またＤn ＞Ｄn+1 の場合は、ｎ番目とｎ＋１番目のデータ間のカウント値は（２のｍ乗）＋Ｄn+1 −Ｄn となる。さらに、Ｄn ＝Ｄn+1 の場合は、ｎ番目とｎ＋１番目のデータ間のカウント値は（２のｍ乗）となる。これを利用して容易にロジック信号を復元することができる。
【００３１】
このように、本実施の形態においては、システムクロックに同期したｍビットカウンタ１５のカウントが開始され、ロジック信号の記憶が開始されると、ロジック信号が変化するごとにその変化点のｍビットカウンタ１５のカウント値及びそのときのロジック信号のレベル値を記憶するので、ロジック信号のタイミングデータを記憶する記憶装置１２の容量を効率的に使用でき、従来のようにロジック信号に変化がなくてもクロックごとにデータを記憶する場合に比して記憶するデータ量を少なくすることができる。
【００３２】
例えば、図４（ａ）に示すロジック信号のタイミングデータを従来の装置で記憶すると、６４０ビットものデータ量となるが、本実施の形態における装置で記憶すると、図５に示すように８０ビットのデータ量で済むことになる。
【００３３】
さらに、ｍビットカウンタ１５を繰返し連続してカウントさせて、ロジック信号のレベル値の変化点から次の変化がないままｍビットカウンタ１５が１周する場合には、すなわちロジック信号の変化点間隔がｍビットカウンタ１５のビット長を越えてしまう場合は、ｍビットカウンタ１５が１周する度に前変化点で記憶したカウント値及びそのときのロジック信号のレベル値と同一のカウント値及びレベル値を記憶するので、ロジック信号が長時間に渡って変化がない場合であっても、その間にｍビットカウンタのカウントが終了してしまって計測不能となることを防止できる。しかも、１周分のカウント数の小さいビットカウンタを使用することができる。
【００３４】
【発明の効果】
以上詳述したように本発明によれば、ロジック信号のタイミングデータを記憶する記憶装置の容量を効率的に使用でき、データを記憶するのに必要な記憶容量を少なくすることができるロジック信号のタイミングデータ記憶装置を提供できるものである。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかるロジック信号のタイミングデータ記憶装置の構成を示すブロック図。
【図２】図１に示すＦＩＦＯユニットのＦＩＦＯメモリに記憶する場合のデータ形式を示す図
【図３】本実施の形態にかかる装置全体の動作フローチャートを示す図。
【図４】本実施の形態にかかる装置で記憶するロジック信号の１例とその作用を説明する図。
【図５】図４に示すロジック信号のタイミングデータを示す図。
【図６】本実施の形態にかかる装置で記憶したロジック信号のタイミングデータに基づいてロジック信号を解析する場合の作用を説明する図。
【符号の説明】
１１…ＭＰＵ
１２…記憶装置
１３…キャプチャパルスジェネレータ
１４…レベルジェネレータ
１５…ｍビットカウンタ
１６…キャプチャユニット
１７…コンパレータ
１８…ＦＩＦＯユニット
２５…２入力オアゲート
【図１】
0003643236.tif 000002
【図２】
0003643236.tif 000003
【図３】
0003643236.tif 000004
【図４】
0003643236.tif 000005
【図５】
0003643236.tif 000006
【図６】
0003643236.tif 000007