(57)【要約】【課題】入出力の動作周波数による制限を受けることなく誤動作を防止する。【解決手段】データ転送装置１００は、第１のクロックに同期してデータのライトが行われ、第１のクロックとは周波数が異なる第２のクロックに同期してデータのリードが行われる記憶手段（ＦＩＦＯメモリ１３１ｂ）と、記憶手段へのライトアドレスとリードアドレスとを第２のクロックに同期して比較する第１の比較手段（比較器１３７ｂ）と、記憶手段へのライトアドレスとリードアドレスとを第２のクロックの反転出力に同期して比較する第２の比較手段（比較器１３８ｂ）と、第１の比較手段による比較結果と、第２の比較手段による比較結果と、に応じて、記憶手段の空き状態を通知するフラグを設定する通知手段と、前記通知手段が通知するフラグに基づいて、データ転送制御を行う制御手段と、により構成される。【選択図】図１
2016066117.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロックに同期してデータのライトが行われ、前記第１のクロックとは周波数が異なる第２のクロックに同期して前記データのリードが行われる記憶手段と、
前記記憶手段へのライトアドレスとリードアドレスとを前記第２のクロックに同期して比較する第１の比較手段と、
前記記憶手段へのライトアドレスとリードアドレスとを前記第２のクロックの反転出力に同期して比較する第２の比較手段と、
前記第１の比較手段による比較結果と前記第２の比較手段による比較結果とに応じて、前記記憶手段の空き状態を通知するフラグを設定する通知手段と、
前記通知手段が通知するフラグに基づいて、データ転送制御を行う制御手段と、
を備えたことを特徴とするデータ転送装置。
【請求項２】
前記制御手段は、
前記記憶手段の空き容量が所定値以下を示すＮｅａｒＥｍｐｔｙフラグがアクティブ状態であれば前記記憶手段からのデータ読み出しを停止し、続いて、前記記憶手段の空き容量がゼロを示すＥｍｐｔｙフラグがアクティブ状態であれば前記記憶手段からのデータ読み出しを停止し続け、前記Ｅｍｐｔｙフラグがアクティブ状態でなければ、前記記憶手段からのデータ読み出しを許容する制御を行うことを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記請求項１または２に記載のデータ転送装置を備えたことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置および画像形成装置に関する。
【背景技術】
【０００２】
ＰＣＩ（Peripheral Component Interconnect）バス等、一定の速度が得られないＰＣＩインタフェイスと、一定の速度が求められるビデオ転送インタフェイスとの間のデータの受け渡しに、通常、ＦＩＦＯ（First-In First Out）型のデュアルポートメモリ（以下、ＦＩＦＯメモリと記す）が用いられる。その場合、ＰＣＩインタフェイスからデータを受け取るため、ＰＣＩクロックに同期させる制御を行い、ビデオ転送インタフェイスにデータを転送するため、ビデオエンジンに合わせたクロックに同期（ビデオクロック同期）させる必要がある。
【０００３】
ところで、異なるクロックでＦＩＦＯメモリのリード・ライトを行うのに、ＦＩＦＯメモリに所定量のデータを貯めてから開始すれば、ＦＩＦＯメモリのライト側が早く動作する場合に限り特に問題は生じない。図３に、ＰＣＩバスを使用したデータ転送装置１０の一例が示されている。
【０００４】
図３において、ＦＩＦＯメモリ１３は、ＰＣＩバス１６を介して入力されるデータを一旦保存するバッファであり、ＰＣＩコントローラ１１から出力されるライト信号に基づき、ＰＣＩクロック１４に同期して入力されるデータを記憶する。また、ＦＩＦＯメモリ１３に記憶されたデータは、ビデオ転送制御部１２（制御部）から出力されるリード信号によって読み出され、データ（Data）はプリンタエンジン１８が出力する/ＶＳＹＮＣ（垂直同期信号）及び/ＨＳＹＮＣ（水平同期信号）のデータ要求のタイミングに合わせ、ＶdataTrans-CK（ビデオデータ転送クロック）に同期して送られる。また、ＦＩＦＯメモリ１３からのビデオ転送制御部１２（制御部）のデータの読み出しは、ビデオ用発振器から出力されるビデオ転送クロック１５に同期して行われる。
【０００５】
ところで、画像形成装置において、例えば、特許文献１の段落［００４２］（図９）以降に記載されているように、用紙の左上を基準に画像を生成することが通常行なわれる。画像が用紙サイズより大きい場合は、画像の右端、左端の一部を無効にし、または、次頁に印刷することも行われている。しかしながら、両面印刷では、用紙の上下を入れ替え、更に、ビデオデータを用紙の後端方向から順に転送することにより裏面印刷を実現している。このため、画像が用紙サイズより大きい場合、上端、左端をカットした画像を生成しておく必要がある。
【０００６】
この場合、ビデオ転送開始命令直後から予め指定された読み飛ばす分のクロックの数だけＦＩＦＯメモリをリードする信号をアクティブ状態にし、ＦＩＦＯメモリのリードアドレスを進めておく。このように制御することで、あたかも用紙の先端部分の画像がマイナス方向にシフトしたかのような画像を得ることができる。また、左端マイナスシフトについても同様であり、１ラインのデータ転送が終了した時点から、予め指定された読み飛ばす分のクロック数だけＦＩＦＯメモリをリードする信号をアクティブ状態にし、ＦＩＦＯメモリのリードアドレスを進めておく。このように制御することで、あたかも用紙の左端部分の画像がマイナス方向にシフトしたかのような画像を得ることができる。
【０００７】
上記した先端マイナスシフトに対応するためには、例えば、図４（ａ）、図４（ｂ）、図４（ｃ）、図４（ｄ）に処理原理を模式的に示すように、印字動作を開始する前にＦＩＦＯメモリのデータを先行してリードする（読み飛ばす）必要がある。ここでは図４（ａ）で示すように、読み飛ばす画像データを右上から左下への斜線のハッチングで示し、印刷すべき画像データを左上から右下への斜線のハッチングで示し、ＦＩＦＯメモリの空き状態を表す部分のデータは空白で示している。
ビデオ転送と同じようなスピードで比較的ゆっくりＦＩＦＯメモリのデータをリードするように制御すれば、図４（ｂ）に示すように、ＦＩＦＯメモリが空になってしまうような問題は生じない。しかしながら、先端マイナスシフトのための読み飛ばしの実行が遅れると印字動作が始まってしまい、図４（ｃ）のように、先端マイナスシフトすべきデータがＦＩＦＯメモリに残り、そのマイナスシフトすべきデータをビデオ転送してしまう誤動作が生じてしまう。
【０００８】
そのような誤動作を回避するため、図４（ｄ）に示すように先端マイナスシフトのための読み飛ばしのスピードを早める必要があるが、今度は先端マイナスシフトを実行している最中に、ＦＩＦＯメモリが途中で空になって誤動作が生じる可能性が高くなる。このため、図５にデータ転送回路の一例を示すように、ＦＩＦＯメモリ１３１ａが空になったことを知らせる信号（Ｅｍｐｔｙ信号）を用意し、先端マイナスシフトを実行している時にＦＩＦＯメモリ１３１ａが空になった場合には、ＦＩＦＯメモリ１３１ａのリードを一時停止する制御を行えば、上記した不具合が発生することはない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−２６８２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記した制御によっても入力と出力の動作クロック（Ｗｒｉｔｅ−ＣＫとＲｅａｄ−ＣＫ）が異なっているため、ＦＩＦＯメモリ１３１ａが空になったことを示すＥｍｐｔｙフラグの生成が十分に行われないことがあり、この場合、フラグの取りこぼしが考えられる。このため、データ残量が一定値以下になった場合に、ＦＩＦＯメモリ１３１ａをリードする毎にＮｅａｒＥｍｐｔｙフラグをアクティブ状態にして制御部１４１ａはＦＩＦＯメモリ１３１ａからのリードを停止する。ＦＩＦＯメモリ１３１ａと同じカウンタ容量を有するライトアドレスカウンタ１３２ａ、およびリードアドレスカウンタ１３３ａでそれぞれカウントされるＦＩＦＯメモリ１３１ａのライト回数Ａとリード回数Ｂとを比較器１３６ａで比較し、Ｅｍｐｔｙフラグを生成している。続いて、Ａ＝Ｂであれば比較器１３６ａはＥｍｐｔｙフラグをアクティブ状態にし、ＮｅａｒＥｍｐｔｙフラグもアクティブ状態にする。ＥｍｐｔｙフラグとＮｅａｒＥｍｐｔｙフラグに基づいて制御部１４１ａはＦＩＦＯメモリ１３１ａにリードしない。Ａ＝Ｂでなければ、比較器１３６ａはＥｍｐｔｙフラグをインアクティブ状態にし、ＮｅａｒＥｍｐｔｙフラグもインアクティブ状態に戻し制御部１４１ａはＦＩＦＯメモリ１３１ａのデータのリードを許容する。ここでリードアドレスカウンタとライトアドレスカウンタのカウンタ容量は一般にデータ転送量より少なく、データ転送が進むにつれて、各アドレスが容量の最大値から０に戻ることが周期的に起こる。よってデータ残量を判定する時、Ｂ＞Ａの場合、データ残量がマイナスになってしまう。そこで容量の最大値をＡに加える補正をしてからＡ−Ｂを計算することによって正しいデータ残量を算出できる。以下、Ａ−Ｂの計算ではこの補正を行なっているものとする。
【００１１】
すなわち、Ａ−Ｂ≦メモリ容量の例えば１０％以下（前記例ではデータ数３個以下）の場合（ＮｅａｒＥｍｐｔｙ）に、制御部１４１ａはＲｅａｄ信号をインアクティブ状態にする制御を行っている。これにより、Ｅｍｐｔｙフラグの生成遅れに起因して発生する誤ったリード動作を防止することができる。なお、ＦＩＦＯメモリの容量ＦＵＬＬについては、通常充分な時間を持って対処可能であり、問題が発生しないので説明は省略する。
【００１２】
しかしながら、入出力の動作周波数によっては、図６にタイミング図を示すように、その判断を誤ることがある。例えば、ライトアドレスカウンタ１３２ａとリードアドレスカウンタ１３３ｂとのカウント値の比較にあたり、リードアドレスとライトアドレスとの差が３以下の場合（Ａ−Ｂ≦３）にリード信号をインアクティブ状態にする制御を行なう場合、これを状態遷移中にサンプリングすると、図中、Ｘ，Ｙ，Ｚで示すように、誤った計算結果を保持してしまうことが考えられる。図６（ｃ）は比較器１３６ａの（Ａ-Ｂ）≦３の信号、（ｄ）はＤ型フリップフロップ１３４ａのＱの信号、（ｅ）はＤ型フリップフロップ１３４ｂのＱの信号を表す。Ｘはライトアドレスの遷移中、Ｙはライトアドレスとリードアドレスの遷移中、Ｚはライトアドレスの遷移中に比較器で比較している。したがって、依然として入出力の動作周波数により制限を受けて誤動作する問題は解消されていない。
【００１３】
本発明は上記した課題を解決するためになされたものであり、入出力の動作周波数による制限を受けることなく誤動作を防止することのできる、データ転送装置および画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記した課題を解決するために本発明は、
第１のクロックに同期してデータの書き込みが行われ、前記第１のクロックとは周波数が異なる第２のクロックに同期して前記データの読み出しが行われる記憶手段と、
前記記憶手段へのライトアドレスとリードアドレスとを前記第２のクロックに同期して比較する第１の比較手段と、
前記記憶手段へのライトアドレスとリードアドレスとを前記第２のクロックの反転出力に同期して比較する第２の比較手段と、
前記第１の比較手段による比較結果と前記第２の比較手段による比較結果とに応じて、前記記憶手段の空き状態を通知するフラグを設定する通知手段と、
前記通知手段が通知するフラグに基づいて、データ転送制御を行う制御手段と、を備えたことを特徴とするデータ転送装置を提供する。
【発明の効果】
【００１５】
本発明によれば、入出力の動作周波数による制限を受けることなく誤動作を防止することのできる、データ転送装置および画像形成装置を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係るデータ転送装置のＦＩＦＯメモリ周辺の回路構成を示すブロック図である。
【図２】本発明の実施の形態に係るデータ転送装置の動作を示すタイミング図である。
【図３】従来のデータ転送装置の構成を示すブロック図である。
【図４】従来のデータ転送装置のＦＩＦＯメモリ処理動作の模式図である。
【図５】従来のデータ転送装置のＦＩＦＯメモリ周辺の回路構成を示すブロック図である。
【図６】従来のータ転送装置の動作を示すタイミング図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して、本発明を実施するための形態（以下、本実施形態と言う）について詳細に説明する。なお、実施形態の説明の全体を通して同じ要素には同じ番号または符号を付している。
【００１８】
（実施形態の構成）
図１は、本実施形態に係るデータ転送装置のＦＩＦＯメモリ周辺の回路構成を示すブロック図である。なお、このデータ転送装置は例えばプリンタなどの画像形成装置に適用できる。図１に示すように、本実施形態に係るデータ転送装置１００は、プリンタエンジン１４２ｂに画像データを転送するため、ＦＩＦＯメモリ１３１ｂと、ライトアドレスカウンタ１３２ｂと、リードアドレスカウンタ１３３ｂと、Ｄタイプフリップフロップ１３４ｂ，１３５ｂと、インバータゲート１３６ｂと、比較器１３７ｂ，１３８ｂと、ＯＲゲート１３９ｂ，１４０ｂと、制御部１４１ｂと、により構成される。
【００１９】
ＦＩＦＯメモリ１３１ｂは、第１のクロック（Ｗｒｉｔｅ−ＣＫ）に同期してデータの書き込みが行われ、第１のクロックとは周波数が異なる第２のクロック（Ｒｅａｄ−ＣＫ）に同期してデータの読み出しが行われる記憶手段である。ＦＩＦＯメモリ１３１ｂには、そのＷｒｉｔｅ端子にデータの書き込み回数をカウントするライトアドレスカウンタ１３２ｂが、Ｒｅａｄ端子にデータの読み出し回数がカウントされるリードアドレスカウンタ１３３ｂが、それぞれ接続されている。
【００２０】
そして、ライトアドレスカウンタ１３２ｂの出力は、Ｄタイプフリップフロップ１３４ｂのＤ入力端子に、リードアドレスカウンタ１３３ｂの出力は、インバータゲート１３６ｂを介してＤタイプフリップフロップ１３５ｂのＤ入力端子にそれぞれ接続されている。Ｄタイプフリップフロップ１３４ｂ，１３５ｂのクロック入力端子にはいずれもＲｅａｄ−ＣＫが入力されている。これにより、Ｄタイプフリップフロップ１３４ｂは、ライトアドレスをＲｅａｄ−ＣＫの立ち上がりでサンプリングし、Ｄタイプフリップフロップ１３５ｂは、ライトアドレスをＲｅａｄ−ＣＫの立ち下がりでサンプリングして取り込むことができる。
【００２１】
そして、Ｄタイプフリップフロップ１３４ｂのＱ出力は、比較器１３７ｂの一方の入力端子に、Ｄタイプフリップフロップ１３５ｂのＱ出力は、比較器１３８ｂの一方の入力端子にそれぞれ接続されている。一方、比較器１３７ｂ，１３８ｂの他方の入力端子には、いずれもリードアドレスカウンタ１３３ｂの出力が供給されている。すなわち、比較器１３７ｂは、記憶手段（ＦＩＦＯメモリ１３１ｂ）に対するライトアドレスとリードアドレスとを第２のクロック（Ｒｅａｄ−ＣＫ）に同期して比較する第１の比較手段、として動作する。また、比較器１３８ｂは、記憶手段に対するライトアドレスとリードアドレスとを第２のクロック（Ｒｅａｄ−ＣＫ）の反転出力に同期して比較する第２の比較手段、として動作する。
【００２２】
比較器１３７ｂの出力は、ＯＲゲート１３９ｂ，１４０ｂの一方の入力端子に供給され、比較器１３８ｂの出力は、ＯＲゲート１３９ｂ，１４０ｂの他方の入力端子に供給されている。ＯＲゲート１３９ｂは、ライトアドレスＡとリードアドレスＢとの一致（Ａ＝Ｂ）を検出することにより、図示省略したＤタイプフリップフロップで構成されるＥｍｐｔｙフラグをアクティブ状態にし、ＯＲゲート１４０ｂは、ライトアドレスＡとリードアドレスＢとの差分が所定値（例えば、１）以下であること（Ａ−Ｂ≦１）を検出してＮｅａｒＥｍｐｔｙフラグをアクティブ状態に設定する。
【００２３】
したがって、ＯＲゲート１３９ｂ，１４０ｂは、第１の比較手段（比較器１３７ｂ）による比較結果と、第２の比較手段（比較器１３８ｂ）による比較結果とにより、記憶手段（ＦＩＦＯメモリ（１３１ｂ））の空き状態を通知するフラグを設定する通知手段として動作する。制御部１４１は、ＯＲゲート１４０ｂの出力のＮｅａｒＥｍｐｔｙフラグがアクティブ状態（ライトアドレスとリードアドレスとの差分が所定値（例えば、”１”）以下）の場合は、Ｒｅａｄ信号をインアクティブ状態にして前記記憶手段（ＦＩＦＯメモリ（１３１ｂ））からプリンタエンジンへのデータ読み出しを停止する。続いて、制御部１４１は、ＯＲゲート１３９ｂの出力のＥｍｐｔｙフラグがアクティブ状態にあれば、Ｒｅａｄ信号をインアクティブ状態のままにして前記記憶手段（ＦＩＦＯメモリ（１３１ｂ））からプリンタエンジンへのデータ読み出しの停止状態を保持し、Ｅｍｐｔｙフラグがアクティブ状態でなければＲｅａｄ信号をアクティブ状態に戻し、前記記憶手段（ＦＩＦＯメモリ（１３１ｂ））からプリンタエンジンへのデータ読み出しを許容する制御を行う制御手段である。詳細は後述する。
【００２４】
（実施形態の動作）
以下、図２のタイミング図を参照しながら、図１に示すデータ転送装置１００の動作について詳細に説明する。
【００２５】
図２に示すタイミング図は、上から順に、（ａ）ライトアドレスカウンタ１３２ｂ出力（ライトアドレス）、（ｂ）Ｒｅａｄ−ＣＫの立ち上がり（ＣＫ↑）でサンプリングしたライトアドレス、（ｃ）Ｒｅａｄ−ＣＫの立ち下がり（ＣＫ↓）でサンプリングしたライトアドレス、（ｄ）リードアドレスカウンタ１３３ｂ出力（リードアドレス）、（ｅ）ＮｅａｒＥｍｐｔｙフラグ（リードアドレスとライトアドレスとの差分が１以下の場合に出力される信号）、（ｆ）Ｅｍｐｔｙフラグ、（ｇ）Ｒｅａｄ信号、（ｈ）Ｒｅａｄ−ＣＫ、をそれぞれ示す。
【００２６】
まず、Ｄタイプフリップフロップ１３４ｂは、（ａ）ライトアドレス”１２３３”・・・”１２３８”を（ｈ）のＲｅａｄ−ＣＫの立ち上がりでサンプリングして（ｂ）のライトアドレス”１２３３”・・・”１２３８”を取り込み、比較器１３７ｂの一方の入力端子に出力する。一方、Ｄタイプフリップフロップ１３５ｂは、（ａ）のライトアドレス”１２３３”・・・”１２３８”を（ｇ）のＲｅａｄ−ＣＫの立ち下がりでサンプリングして（ｃ）のライトアドレス”１２３３”・・・”１２３８”を取り込み、比較器１３８ｂの一方の入力端子に出力する。
【００２７】
比較器１３７ｂは、（ｂ）のＲｅａｄ−ＣＫの立ち上がりでサンプリングして取り込んだライトアドレスと、（ｄ）のリードアドレスとを比較し、比較器１３８ｂは、（ｃ）のＲｅａｄ−ＣＫの立ち下がりでサンプリングして取り込んだ（ｃ）のライトアドレスと、（ｄ）のリードアドレスとを比較し、その結果をＯＲゲート１３９ｂ，１４０ｂのそれぞれに出力する。
【００２８】
ＯＲゲート１４０ｂは、（ｃ）のＲｅａｄ−ＣＫの立ち下がりでサンプリングされたライトアドレスと（ｄ）のリードアドレスとの差分が１以下であること（Ａ−Ｂ≦１）を検出すると（ｅ）のＮｅａｒＥｍｐｔｙフラグをアクティブ状態に設定する。ＯＲゲート１３９ｂは、（ｂ）のＲｅａｄ−ＣＫの立ち上がりでサンプリングされたライトアドレスと（ｄ）のリードアドレスが同じ（Ａ＝Ｂ）であることを検出すると、（ｆ）のＥｍｐｔｙフラグをアクティブ状態に設定する。
【００２９】
制御部１４１ｂは、前記ＮｅａｒＥｍｐｔｙフラグがアクティブ状態のときはＦＩＦＯメモリ１３１ｂのリードを停止し、続いて、前記Ｅｍｐｔｙフラグがアクティブ状態であればＦＩＦＯメモリ１３１ｂからのリードを停止し続け、前記Ｅｍｐｔｙフラグがアクティブ状態でなければ、ＦＩＦＯメモリ１３１ｂからのリードを許容する制御を行う。
【００３０】
上記したように、本実施形態に係るデータ転送装置１００では、動作周波数が異なるＦＩＦＯメモリ１３１ｂのライトアドレスカウンタ１３２ｂとリードアドレスカウンタ１３３ｂのアドレス値を比較するにあたり、Ｒｅａｄ−ＣＫの立ち上がりエッジと立ち下がりエッジの両方でライトアドレスカウンタ値をサンプリングした値と、リードアドレスカウンタ１３３ｂのカウンタ値とを比較することによってＦＩＦＯメモリ１３１ｂの”ＮｅａｒＥｍｐｔｙ”と”Ｅｍｐｔｙ”の状態を示すフラグを生成している。したがって、入出力クロックの動作周波数が異なっていても、ＦＩＦＯメモリ１３１ｂのＥｍｐｔｙフラグを適切に生成することができ、したがって、ＦＩＦＯメモリ１３１ｂが空であるにもかかわらずリードしてしまう等の誤動作を発生することなく、ＦＩＦＯメモリ１３１ｂを介したデータの移動を正確に行うことができる。このように制御することで、入出力クロックの動作周波数による制限を受けることなく正しいデータ転送制御を行うことができる。
なお、アドレスカウンタはカウントアップするグレイコードカウンタであり、図では省略してあるが比較器１３７ｂ、１３８ｂの中でグレイコードカウンタ値をバイナリコードカウンタ値に変換してから値を比較している。
【００３１】
（実施形態の効果）
以上説明のように本実施形態に係るデータ転送装置１００によれば、第１のクロック（Ｗｒｉｔｅ−ＣＫ）に同期してデータのライトが行われ、第１のクロックとは周波数が異なる第２のクロック（Ｒｅａｄ−ＣＫ）に同期してデータのリードが行われる記憶手段（ＦＩＦＯメモリ１３１ｂ）と、記憶手段へのライトアドレスとリードアドレスとを第２のクロックに同期して比較する第１の比較手段（比較器１３７ｂ）と、記憶手段へのライトアドレスとリードアドレスとを第２のクロックの反転出力に同期して比較する第２の比較手段（比較器１３８ｂ）と、第１の比較手段による比較結果と、第２の比較手段による比較結果とに応じて、記憶手段の空き状態を通知するフラグを設定する通知手段（ＯＲゲート１３９ｂ，１４０ｂ）と、前記通知手段が通知するフラグに基づいて、データ転送制御を行う制御手段（制御部１４１ｂ）とにより構成することで、入出力の動作周波数による制限を受けることなく、Ｅｍｐｔｙフラグの生成遅れに起因して発生する誤ったリード動作を回避することができる。
【００３２】
また、ライトアドレスとリードアドレスとの差分が所定値以下の場合は、ＦＩＦＯメモリ１３１ｂからのデータのリードを停止し、続いてＥｍｐｔｙフラグがアクティブ状態であればＦＩＦＯメモリ１３１ｂからのリードを停止し続け、前記Ｅｍｐｔｙフラグがアクティブ状態でなければ、ＦＩＦＯメモリ１３１ｂからのリードを許容する制御を行うことで、ＦＩＦＯメモリ１３１ｂのＥｍｐｔｙフラグを適切に生成することができ、ＦＩＦＯメモリ１３１ｂが空であるにも関わらずリードしてしまう等の誤動作を発生することなく、これにより、Ｅｍｐｔｙフラグの生成遅れに起因して発生する誤ったリード動作を防止することができる。
【００３３】
また、上記したデータ転送装置１００を画像形成装置に備えることで、先端マイナスシフトの際の実行する際のＦＩＦＯメモリ１３１ｂの制御に起因して発生する誤動作を解決することができる。
【００３４】
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されないことは言うまでもない。上記実施形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。またその様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００３５】
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【００３６】
〔付記〕
［請求項１］
第１のクロックに同期してデータのライトが行われ、前記第１のクロックとは周波数が異なる第２のクロックに同期して前記データのリードが行われる記憶手段と、
前記記憶手段へのライトアドレスとリードアドレスとを前記第２のクロックに同期して比較する第１の比較手段と、
前記記憶手段へのライトアドレスとリードアドレスとを前記第２のクロックの反転出力に同期して比較する第２の比較手段と、
前記第１の比較手段による比較結果と前記第２の比較手段による比較結果とに応じて、前記記憶手段の空き状態を通知するフラグを設定する通知手段と、
前記通知手段が通知するフラグに基づいて、データ転送制御を行う制御手段と、
を備えたことを特徴とするデータ転送装置。
［請求項２］
前記制御手段は、
前記記憶手段の空き容量が所定値以下を示す前記フラグのＮｅａｒＥｍｐｔｙフラグがアクティブ状態であれば前記記憶手段からのデータ読み出しを停止し、続いて、前記記憶手段の空き容量がゼロを示す前記フラグのＥｍｐｔｙフラグがアクティブ状態であれば前記記憶手段からのデータ読み出しを停止し続け、前記Ｅｍｐｔｙフラグがアクティブ状態でなければ、前記記憶手段からのデータ読み出しを許容する制御を行うことを特徴とする請求項１記載のデータ転送装置。
［請求項３］
前記請求項１または２に記載のデータ転送装置を備えたことを特徴とする画像形成装置。
【符号の説明】
【００３７】
１００…データ転送装置、１３１ｂ…ＦＩＦＯメモリ、１３２ｂ…ライトアドレスカウンタ、１３３ｂ…リードアドレスカウンタ、１３４ｂ，１３５ｂ…Ｄタイプフリップフロップ、１３６ｂ…インバータゲート、１３７ｂ，１３８ｂ…比較器、１３９ｂ，１４０ｂ…ＯＲゲート、１４１ｂ…制御部
【図１】
2016066117.tif 000003
【図２】
2016066117.tif 000004
【図３】
2016066117.tif 000005
【図４】
2016066117.tif 000006
【図５】
2016066117.tif 000007
【図６】
2016066117.tif 000008