(57)【要約】【課題】異なる周波数（非同期）で動作している複数のカウンタの出力を比較する場合に、カウント値を誤動作せずに比較できるようにする。【解決手段】比較器５０，６０，７０は、周波数の低いクロックＡで動作する第１カウンタ１０のカウント値ａ１と、ラッチ３０において周波数の高いクロックＢでラッチされたラッチ値ａ２とが等しいときに、周波数の高いクロックＢで動作する第２カウンタ２０のカウント値ｂ１と周波数の低いクロックＡで動作する第１カウンタ１０のカウント値ａ１と比較する。簡易的に他方のクロックと同期することができ、反転クロックやＲｅａｄ／Ｗｒｉｔｅ時の回数をカウントするカウンタを用いることなくカウント値を比較できるようになる。【選択図】図１
2005260529.tif 000002
【特許請求の範囲】
【請求項１】
異なる周波数で動作している複数のカウンタから出力されるデジタルデータを比較する方法であって、
周波数の低いクロックで動作する一方のカウンタから出力される一方のデジタルデータを周波数の高いクロックでラッチし、
このラッチしたラッチデータが前記一方のデジタルデータと等しいときに、前記周波数の低いクロックで動作する一方のカウンタから出力された前記一方のデジタルデータと前記周波数の高いクロックで動作する他方のカウンタから出力された他方のデジタルデータとを比較する
ことを特徴とするデジタルデータ比較方法。
【請求項２】
異なる周波数で動作している複数のカウンタから出力されるデジタルデータを比較するデジタルデータ比較回路であって、
周波数の低いクロックで動作する一方のカウンタと、
前記一方のカウンタから出力される一方のデジタルデータを周波数の高いクロックで取り込むラッチと、
前記ラッチが取り込んだラッチデータと前記一方のカウンタから出力された前記一方のデジタルデータとが等しいか否かを比較する第１の比較器と、
前記比較器の比較結果が等しいときに、前記一方のカウンタから出力された前記一方のデジタルデータと前記周波数の高いクロックで動作する他方のカウンタから出力された他方のデジタルデータとを比較して比較データを取得する第２の比較器と
を備えたことを特徴とするデジタルデータ比較回路。
【請求項３】
前記第２の比較器は、前記周波数の高いクロックに同期して前記比較を行なう
ことを特徴とする請求項２に記載のデジタルデータ比較回路。
【請求項４】
前記第２の比較器は、前記一方のカウンタから出力された前記一方のデジタルデータと前記周波数の高いクロックで動作する他方のカウンタから出力された他方のデジタルデータとの差を取り前記比較データを取得するとともに、前記比較器の比較結果が等しくないときには前記比較データを出力する一方、前記比較器の比較結果が等しいときには前回の処理にて取得した前記比較データを出力する
ことを特徴とする請求項３に記載のデジタルデータ比較回路。
【請求項５】
前記第２の比較器から出力されたデジタルデータと所定の比較対象データとを比較する第３の比較器
をさらに備えたことを特徴とする請求項２〜４のうちの何れか１項に記載のデジタルデータ比較回路。
【請求項６】
異なる周波数で動作している複数のカウンタから出力されるデジタルデータを比較するとともに、比較により得られたデータに基づいて所定の信号処理をするデジタル信号処理装置であって、
周波数の低いクロックで動作する一方のカウンタと、
前記一方のカウンタから出力される一方のデジタルデータを周波数の高いクロックで取り込むラッチと、
前記ラッチが取り込んだラッチデータと前記一方のカウンタから出力された前記一方のデジタルデータとが等しいか否かを比較する第１の比較器と、
前記比較器の比較結果が等しいときに、前記一方のカウンタから出力された前記一方のデジタルデータと前記周波数の高いクロックで動作する他方のカウンタから出力された他方のデジタルデータとを比較して比較データを取得する第２の比較器と、
前記第２の比較器から出力されたデジタルデータと所定の比較対象データとを比較する第３の比較器と、
前記第３の比較器から出力された比較データに基づいて所定の信号処理をするデジタル信号処理部と
を備えたことを特徴とするデジタル信号処理装置。
【請求項７】
前記デジタル信号処理部は、デジタルデータを記憶し読み出すメモリ回路と、
前記第３の比較器から出力された比較データに基づいて前記メモリ回路を制御する制御回路と
を有することを特徴とする請求項６に記載のデジタル信号処理装置。
【請求項８】
前記デジタル信号処理部は、前記周波数の低いクロックの信号系統と、前記周波数の高いクロックの信号系統とを切り替える切替処理回路
を有することを特徴とする請求項６または７に記載のデジタル信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる周波数（非同期）で動作しているカウンタ回路から出力されるカウント値を比較する方法および回路、並びにこの仕組みを搭載した画像形成装置に関する。
【背景技術】
【０００２】
２つもしくは複数のそれぞれ異なる周波数（非同期）で動作しているカウンタ回路間において、それらカウンタ回路から出力されるカウント値を比較することが必要になることがある。
【０００３】
たとえば、非同期ＦＩＦＯ（First In First Out；先入れ先出し方式）回路において、読出信号や書出信号をカウントしてそれを比較することでフル（Ｆｕｌｌ）／エンプティ（エンプティ）の状態制御を行なう方法が特許文献１に示されている。
【０００４】
【特許文献１】特開平１０−２１４１７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、この方法では、アドレスカウンタ以外の状態を表すカウンタなどを用いる必要があり、回路が複雑になっていた。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、簡易な回路を用いつつ、異なる周波数（非同期）で動作しているカウンタ回路の出力値を誤動作することなく比較することのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るデジタルデータ比較方法では、周波数の低いクロックで動作する一方のカウンタから出力される一方のデジタルデータを周波数の高いクロックでラッチし、このラッチしたラッチデータが一方のデジタルデータと等しいときに、周波数の低いクロックで動作する一方のカウンタから出力された一方のデジタルデータと周波数の高いクロックで動作する他方のカウンタから出力された他方のデジタルデータとを比較することとした。
【０００８】
つまり、周波数的に遅いカウント値を周波数的に速いクロックでラッチし、そのラッチした値と現在のカウント値を比較し、周波数的に遅いカウント値とラッチされたカウント値とが等しいときに、周波数的に遅いカウント値と周波数的に速いクロックとを比較することとした。
【０００９】
本発明に係るデジタルデータ比較回路は、上記本発明に係るデジタルデータ比較方法を実施するのに好適な回路であって、周波数の低いクロックで動作する一方のカウンタと、一方のカウンタから出力される一方のデジタルデータを周波数の高いクロックで取り込むラッチと、ラッチが取り込んだラッチデータと一方のカウンタから出力された一方のデジタルデータとが等しいか否かを比較する第１の比較器と、比較器の比較結果が等しいときに、一方のカウンタから出力された一方のデジタルデータと周波数の高いクロックで動作する他方のカウンタから出力された他方のデジタルデータとを比較して比較データを取得する第２の比較器とを備えるものとした。
【００１０】
本発明に係るデジタル信号処理装置は、本発明に係るデジタルデータ比較回路を備えてなるものであって、前述のデジタルデータ比較回路の構成に加えて、第２の比較器から出力されたデジタルデータと所定の比較対象データとを比較する第３の比較器と、第３の比較器から出力された比較データに基づいて所定の信号処理をするデジタル信号処理部とを備えるものとした。
【発明の効果】
【００１１】
本発明によれば、周波数的に遅いカウント値を周波数的に速いクロックでラッチし、そのラッチした値と現在のカウント値を比較し、周波数的に遅いカウント値とラッチされたカウント値とが等しいときに、周波数的に遅いカウント値と周波数的に速いクロックとを比較するようにした。
【００１２】
これにより、周波数的に遅いカウント値の出力を簡易的に周波数的に速いカウント値と同期させることができ、従来の反転クロックやＲｅａｄ／Ｗｒｉｔｅ時の回数をカウントするカウンタを用いなくても、誤動作することなく、カウント値を比較できる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００１４】
図１は、本発明に係るデジタルデータ比較回路の一実施形態を示す回路図である。このデジタルデータ比較回路１は、異なる周波数（非同期）で動作している複数のカウンタの出力（カウント値）を比較するもので、具体的には、ＦＩＦＯなどの制御で用いるフル／エンプティを示す信号を生成する構成となっている。
【００１５】
図示するように、デジタルデータ比較回路１は、比較的遅い（周波数的に低い）クロックＡで動作する第１カウンタ１０と、比較的速い（周波数的に高い）クロックＢで動作する第２カウンタ２０とを備えている。
【００１６】
第１カウンタ１０および第２カウンタ２０は、イネーブル（Enable）信号でカウンタのカウントを制御（カウントする／しない）できるようになっている。ここでは、イネーブル信号は常時有効であるものとする。
【００１７】
第１カウンタ１０から出力されたカウント値ａ１（一方のデジタルデータ）は、比較的速い（周波数的に高い）クロックＢに同期して動作する、フリップフロップ（ＦＦ；Flip-flop）で構成されたラッチ３０に入力される。
【００１８】
また、第１カウンタ１０から出力されたカウント値ａ１は、第１比較器４０の一方の入力Ａに、またラッチ３０の出力であるラッチ値ａ２（ラッチデータ）は第１比較器４０の他方の入力Ｂに、それぞれ入力される。第１比較器４０は、双方の入力Ａ，Ｂが等しいときに比較結果（COMP_FLAG）として“１”を出力する。具体的には、ラッチ３０が取り込んだラッチ値ａ２と第１カウンタ１０から出力されたカウント値ａ１とが等しいか否かを比較する。この比較結果（COMP_FLAG）は、比較的速い（周波数的に高い）クロックＢに同期して動作する、第２比較器５０のカウント入力ＣＮＴに入力される。
【００１９】
また、第１カウンタ１０から出力されたカウント値ａ１は、第２比較器５０の一方の入力Ａに、また第２カウンタ２０から出力されたカウント値ｂ１（他方のデジタルデータ）は、第２比較器５０の他方の入力Ｂに、それぞれ入力される。
【００２０】
第２比較器５０は、比較的速い（周波数的に高い）クロックＢに同期して、第１カウンタ１０から出力されたカウント値ａ１と第２カウンタ２０から出力されたカウント値ｂ１との差（Ｃ＝Ａ−Ｂ）を取ることで比較を行ない、その差を比較データとして取得するもので、カウント入力ＣＮＴが“１”のときに比較出力Ｃに“Ａ−Ｂ”を出力する一方、カウント入力ＣＮＴが“０”のときには比較出力Ｃに前回の処理にて取得した差（比較値Ｃ＝Ａ−Ｂ）を出力する。
【００２１】
第２比較器５０の比較出力Ｃは、それぞれ本発明の第３の比較器に相当する第３比較器６０および第４比較器７０の一方の入力Ａに入力される。第３比較器６０の他方の入力Ｂには比較対象の値ｃ（比較対象データ）が、また第４比較器７０の他方の入力Ｂには比較対象の値ｄ（比較対象データ）が、それぞれ入力される。
【００２２】
第３比較器６０と第４比較器７０は、カウント値を比較し、ある値ｃより小さければフル（Full）、ある値ｄより大きければエンプティ（Empty ）のフラグ（Flag）を生成する回路となっている。すなわち、第３比較器６０は、一方の入力Ａが他方の入力Ｂ（＝ｃ）よりも小さいとき（Ａ＜Ｂ）、比較結果として“１”を出力する。これがフルフラグ（Full Flag）である。また、第４比較器７０は、一方の入力Ａが他方の入力Ｂ（＝ｄ）よりも大きいとき（Ａ＞Ｂ）、比較結果として“１”を出力する。これがエンプティフラグ（Empty Flag）である。
【００２３】
図２は、図１に示したデジタルデータ比較回路１の動作、すなわちデジタルデータ比較方法を説明するタイミングチャートである。
【００２４】
デジタルデータ比較回路１は、周波数の低いクロックＡで動作する第１カウンタ１０のカウント値ａ１と、周波数の高いクロックＢで動作する第２カウンタ２０のカウント値ｂ１というように、異なる動作周波数で動作するカウンタ間のカウント値を比較する。
【００２５】
具体的には、先ず、第１比較器４０は、第１カウンタ１０のカウント値ａ１をラッチ３０において他方のクロックＢに同期してラッチ（取り込んだ）したカウント値であるラッチ値ａ２と第１カウンタ１０の現在のカウント値ａ１とを比較する。
【００２６】
そして、第１比較器４０は、比較した値が同じと判断したときには、第１カウンタ１０カウント値ａ１が他方のクロックＢで正常にラッチ（カウント移行時誤ラッチおよびメタステーブル発生なし）されたと判断し、比較結果をCOMP_FLAGと定義し、これをアクティブＨ（“１”）にする。
【００２７】
第２比較器５０、第３比較器６０、および第４比較器７０は、ラッチ３０において比較した値が同じと判断したときに、協働して、第１カウンタ１０のカウント値ａ１と第２カウンタ２０のカウント値ｂ１とを比較することで、フル／エンプティのフラグ（Flag）を生成する。
【００２８】
たとえば、次のクロックＢの立上りでラッチ３０にてラッチされたラッチ値ａ２と、第２カウンタ２０のカウント値ｂ１とを比較することで、誤検知することなくカウント値の比較が行なえ、フル／エンプティなどのフラグが誤動作することなく生成できる。
【００２９】
このように、周波数の低いクロックで動作するカウンタのカウント値と周波数の高いクロックでラッチされたカウント値が等しいときに、周波数の高いクロックで動作するカウンタのカウント値と周波数の低いクロックで動作するカウンタのカウント値と比較することで、簡易的に他方のクロックと同期することができ、従来の反転クロックやＲｅａｄ／Ｗｒｉｔｅ時の回数をカウントするカウンタを用いることなくカウント値を比較できるようになる。
【００３０】
以上のことにより、回路が複雑になることなく、また、誤検知を防ぐカウント値の比較方法を提供することができる。
【００３１】
図３は、図１に示したデジタルデータ比較回路１を搭載したデジタル信号処理装置の一実施形態を示す回路図である。このデジタル信号処理装置３は、デュアルポート（Dual−Port）ＲＡＭ１４０を備えており、デジタルデータ比較回路１は、デュアルポートＲＡＭ１４０に対しての非同期入出力バッファとして機能するようになっている。
【００３２】
デジタル信号処理装置３は、デジタルデータ比較回路１の第３比較器６０から出力された比較データとしてのフルフラグと第４比較器７０から出力された比較データとしてのエンプティフラグに基づいて所定の信号処理をするデジタル信号処理部５を備えている。なお、ここでは、第３比較器６０や第４比較器７０をデジタルデータ比較回路１側に設けているが、このような構成に限らず、これらをデジタル信号処理部５側にあるものとして構成してもよい。
【００３３】
デジタル信号処理部５は、デジタルデータを記憶し読み出すメモリ回路としてのデュアルポートＲＡＭ１４０と、フルフラグとエンプティフラグとに基づいてデュアルポートＲＡＭ１４０の動作を制御するＲＡＭ制御回路１２０とを有している。また、デジタル信号処理部５は、周波数の低いクロックＡの信号系統と、周波数の高いクロックＢの信号系統とを切り替える切替処理回路７を有している。切替処理回路７としては、クロック交換器１１０とセレクタ１３０とが設けられている。
【００３４】
このような構成において、デジタルデータ比較回路１から出力された各種の信号はＲＡＭ制御回路１２０に入力される。ＲＡＭ制御回路１２０は、周波数の低いクロックＡに基づいて、デュアルポートＲＡＭ１４０用のアドレス信号（addres）と、デュアルポートＲＡＭ１４０用のイネーブル信号（Enable）と、デジタルデータ比較回路１のカウンタ１０，２０の一方用のイネーブル信号（Enable）といった、低速系統の信号を生成し、これをセレクタ１３０の一方の入力端子群Ａに入力する。
【００３５】
また、ＲＡＭ制御回路１２０は、周波数の高いクロックＢに基づいて、デュアルポートＲＡＭ１４０用のアドレス信号（addres）と、デュアルポートＲＡＭ１４０用のイネーブル信号（Enable）と、デジタルデータ比較回路１のカウンタ１０，２０の他方用のイネーブル信号（Enable）といった、高速系統の信号を生成し、これをセレクタ１３０の他方の入力端子群Ｂに入力する。
【００３６】
低速系統の信号と高速系統のデュアルポートＲＡＭ１４０用の各信号は、書込み系統用のWrite_addres，Write_Enableとして、または、読出し系統用のRead_addres，Read_Enableとして使われる。また、デュアルポートＲＡＭ１４０には、周波数の低いクロックＡと周波数の高いクロックＢも書込みクロックWrite_CLK や読出しクロックRead_CLKとして入力される。つまり、ＲＡＭ制御回路１２０の書込み系統用と読出し系統用の各出力と書込みクロックWrite_CLK や読出しクロックRead_CLKがデュアルポートＲＡＭ１４０に入力される。
【００３７】
デュアルポートＲＡＭ１４０は、書込み系統用の信号Write_addres，Write_Enable，Write_CLK に基づき、Data_IN端子に入力されるデータ（Data_in）を取り込んで記憶した後、読出し系統用の信号Read_addres，Read_Enable，Read_CLKに基づき出力端子Data_outから所定アドレスのデータを読み出す。
【００３８】
ここで、デュアルポートＲＡＭ１４０への書込み（Write ）を行なうクロック周波数と、読出し（Read）を行なうクロック周波数は、使用状態によって、書込み周波数＞読出し周波数、もしくは書込み周波数＜読出し周波数というように異なる場合がある。一方、デジタルデータ比較回路１において比較処理に使用するクロック周波数は、クロックＡ＜クロックＢが条件である。
【００３９】
このため、先ず、デジタルデータ比較回路１の前段には、外部から入力される制御信号CLK_SEL に基づいて書込み周波数と読出し周波数とを切り替えるクロック交換器１１０を配している。クロック交換器１１０の２つの入力端子Ｘ，Ｙには、書込みクロックWrite_CLK と読出しクロックRead_CLKに対応する２つのクロック信号Ｘ，Ｙが入力される。図では、一方の入力端子Ｘに低周波数のクロック信号Ｘが、また他方の入力端子Ｙに高周波数のクロック信号Ｙが入力されるものとする。
【００４０】
クロック交換器１１０の一方の出力端子Ａはデジタルデータ比較回路１の第１カウンタ１０のクロック入力に接続され、他方の出力端子Ｂはデジタルデータ比較回路１の第２カウンタ２０のクロック入力に接続されている。また、クロック交換器１１０には、入出力間を切り替える制御信号CLK_SEL が入力されており、“CLK_SEL ＝０”のときには入力端子Ｘの信号を出力端子Ａに、入力端子Ｙの信号を出力端子Ｂに伝達する一方、“CLK_SEL ＝１”のときには入力端子Ｙの信号を出力端子Ａに、入力端子Ｘの信号を出力端子Ｂに伝達する。
【００４１】
前述のように、第１カウンタ１０は周波数の低いクロック（低freq）で動作する一方、第２カウンタ２０は周波数の高いクロック（高freq）で動作する。このため、クロック交換器１１０は、クロック信号Ｘの周波数がクロック信号Ｙの周波数よりも低いときには、“CLK_SEL ＝０”のもとで動作し、クロック信号Ｘの周波数がクロック信号Ｙの周波数よりも高いときには、“CLK_SEL ＝１”のもとで動作する。
【００４２】
同様に、ＲＡＭ制御回路１２０とデュアルポートＲＡＭ１４０との間には、外部から入力される制御信号WR-RD_SEL に基づいて各種の信号を切り替えるセレクタ１３０を配している。セレクタ１３０には、ＲＡＭ制御回路１２０からの書込み系統用と読出し系統用の各出力として低速系統および高速系統の各信号と、第１カウンタ１０や第２カウンタ２０を制御する２つのイネーブル（Enable）信号とが入力されるとともに、デジタルデータ比較回路１からのクロックＡ，Ｂが入力される。
【００４３】
また、セレクタ１３０には、入出力間を切り替える制御信号WR-RD_SEL が入力されており、“WR-RD_SEL ＝０”のときには入力端子群Ａの信号を出力端子群Ｘに、入力端子群Ｂの信号を出力端子群Ｙに伝達する一方、“WR-RD_SEL ＝１”のときには入力端子群Ｂの信号を出力端子群Ｘに、入力端子群Ａの信号を出力端子群Ｙに伝達する。
【００４４】
セレクタ１３０の一方の入力端子群Ａには低速系統の各信号が入力され、他方の入力端子群Ｂには高速系統の各信号が入力されているので、セレクタ１３０は、クロック信号Ｘの周波数がクロック信号Ｙの周波数よりも低いときには、“WR-RD_SEL ＝０”のもとで動作し、クロック信号Ｘの周波数がクロック信号Ｙの周波数よりも高いときには、“WR-RD_SEL ＝１”のもとで動作する。
【００４５】
このように、デジタルデータ比較回路１に入力される２つのクロックにおける周波数の高低関係が一定していない場合でも、切替処理回路（図３の例ではクロック交換器１１０やセレクタ１３０）を設けることで、図１に示したデジタルデータ比較回路１を、デュアルポートＲＡＭ１４０に対しての非同期入出力バッファとして機能させることができる。
【００４６】
デジタルデータ比較回路１の機能を犠牲にすることは一切ないので、デジタル信号処理装置３においても、図１および図２を用いて説明したデジタルデータ比較回路１が備える機能や効果を享受することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明に係るデジタルデータ比較回路の一実施形態を示す回路図である。
【図２】図１に示したデジタルデータ比較回路の動作を説明するタイミングチャートである。
【図３】図１に示したデジタルデータ比較回路を搭載したデジタル信号処理装置の一実施形態を示す回路図である。
【符号の説明】
【００４８】
１…デジタルデータ比較回路、３…デジタル信号処理装置、５…デジタル信号処理部、７…切替処理回路、１０…第１カウンタ、２０…第２カウンタ、３０…ラッチ、４０…第１比較器、５０…第２比較器、６０…第３比較器、７０…第４比較器、１１０…クロック交換器、１２０…ＲＡＭ制御回路、１３０…セレクタ、１４０…デュアルポートＲＡＭ
【図１】
2005260529.tif 000003
【図２】
2005260529.tif 000004
【図３】
2005260529.tif 000005