(57)【要約】【課題】  バースト転送を行うに際して、トランザクションの実行回数を低減し、トランザクション開始に伴う準備サイクルを減らし、バースト転送の転送効率を向上させる。【解決手段】  バースト転送を行うバースト数の設定は、送信バースト数レジスタ７１に行なう。送信バースト長カウンタ７６は、バースト転送で１つのトランザクションでデータ送信が実行されたバースト数をカウントする。バースト転送における１つのトランザクション開始の際にカウンタ７６を初期化し、バーストの転送が行われる毎にカウンタ７６を進め、設定されたバースト数のデータ転送が行われる以前に当該トランザクションが終了したときは当該トランザクションの次のトランザクションにおけるバースト転送開始の際にはカウンタ７６を初期化し、設定されたバースト数のバーストの転送が行われたときに実行中のトランザクションを終了する。【選択図】    図５
2005250861.tif 000002
【特許請求の範囲】
【請求項１】
バースト転送を行うデータ転送システムにおいて、
前記バースト転送を行うバースト数を設定する第１の手段と、
前記バースト転送を行う際に前記設定されたバースト数のデータ転送が途中で中断され当該設定したバースト数のデータ転送が行われずにトランザクションが終了したときは、当該トランザクションの次のトランザクションにおける前記バースト転送で前記設定がされているバースト数分のデータ転送を行う第２の手段と、
を備えていることを特徴とするデータ転送システム。
【請求項２】
前記バースト転送を行う際に前記設定されたバースト数のデータ転送が途中で中断され当該設定したバースト数のデータ転送が行われずにトランザクションが終了したときは、当該トランザクションの次のトランザクションにおける前記バースト転送では前記終了したトランザクションでデータ転送が未了である分だけのバーストのデータ転送を行う第３の手段と、
前記第２の手段によるデータ転送と前記第３の手段によるデータ転送とのうち一方の実行を設定する第４の手段と、
をさらに備えていることを特徴とする請求項１に記載のデータ転送システム。
【請求項３】
データ転送開始の際にデータ転送すべきワード数が前記設定するバースト数より大きいときは前記設定の値を当該バースト数とし、データ転送すべきワード数が前記設定するバースト数以下のときは前記データ転送すべきワード数を当該バースト数とする第５の手段を、さらに備えていることを特徴とする請求項１又は２に記載のデータ転送システム。
【請求項４】
バースト転送を行うデータ転送システムにおいて、
前記バースト転送を行うバースト数の設定を格納する記憶装置と、
前記バースト転送で１つのトランザクションでデータ送信が実行されたバースト数をカウントするカウンタと、
前記バースト転送における１つのトランザクション開始の際に前記カウンタを初期化し、前記バーストの転送が行われる毎に前記カウンタを進め、前記設定されたバースト数のデータ転送が行われる以前に当該トランザクションが終了したときは当該トランザクションの次のトランザクションにおける前記バースト転送開始の際には前記カウンタを初期化し、前記設定されたバースト数のバーストの転送が行われたときに実行中のトランザクションを終了する第６の手段と、
を備えていることを特徴とするデータ転送システム。
【請求項５】
媒体上に画像形成を行う画像形成装置において、
画像データの転送を行なう請求項１〜４のいずれかの一に記載のデータ転送システムを備えていること、を特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
バースト転送を行うデータ転送システム及び画像形成装置に関する。
【背景技術】
【０００２】
データ転送方法とデータ転送制御装置に関するもので、複写機などの各要素間で大量のデジタル画像データの転送を行う技術が特許文献１に開示されている。
【０００３】
【特許文献１】特開２００１−２３８０１９公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
バースト転送を行うデータ転送システムにおいては、各トランザクションにおいて予め設定されたバースト数だけデータを転送する。この場合、１つのトランザクションの実行中に何らかのトラブルでデータ転送が中断されたときには、これに続けてトランザクションを起動してバースト転送を続行する際に、そのトランザクションでは直前に送信が中断した分のデータだけを転送するようにして、その次のトランザクションから設定されたバースト数だけデータの転送を再開するようにすることが考えられる。
【０００５】
しかしながら、このようなバースト転送を行なうと、中断したトランザクションの直後のトランザクションでは、中断により送信できなかったデータだけした送信しないため、同じデータ量を送信するために必要なトランザクションの実行回数が多くなり、トランザクション開始に伴う準備サイクルが増え、バースト転送の転送効率が悪くなるという不具合がある。
【０００６】
本発明の目的は、バースト転送を行うに際して、トランザクションの実行回数を低減し、トランザクション開始に伴う準備サイクルを減らし、バースト転送の転送効率を向上させることである。
【課題を解決するための手段】
【０００７】
本発明は、バースト転送を行うデータ転送システムにおいて、前記バースト転送を行うバースト数を設定する第１の手段と、前記バースト転送を行う際に前記設定されたバースト数のデータ転送が途中で中断され当該設定したバースト数のデータ転送が行われずにトランザクションが終了したときは、当該トランザクションの次のトランザクションにおける前記バースト転送で前記設定がされているバースト数分のデータ転送を行う第２の手段と、を備えていることを特徴とするデータ転送システムである。
【発明の効果】
【０００８】
本発明によれば、設定されたバースト数のデータ転送が途中で中断され、設定したバースト数のデータ転送が行われずにトランザクションが終了したときは、そのトランザクションの次のトランザクションにおけるバースト転送では、本来設定されているバースト数分のデータ転送を行うので、トランザクションの実行回数を低減し、トランザクション開始に伴う準備サイクルを減らし、バースト転送の転送効率を向上させることができる。
【発明を実施するための最良の形態】
【０００９】
本発明を実施するための最良の一形態について説明する。
【００１０】
図１は、本実施の形態のデジタル複写機の全体構成のブロック図である。
【００１１】
図１に示すように、このデジタル複写機は、本発明の画像形成装置を実施するもので、読取ユニット１は、原稿に対して光を照射し、原稿からの反射光をミラー群とレンズを通して受光素子、例えばＣＣＤに集光し、原稿の文字や画像を光学的に読み取る。
【００１２】
センサーボードユニット２は、ＣＣＤで電気信号に変換された画像信号をデジタル信号に変換して画像データ制御部３に出力する。
【００１３】
画像データ制御部３は、画像処理プロセッサ４やパラレルバス５や画像メモリアクセス制御部６間の画像データ転送を制御すると共に、装置全体の動作を制御するシステムコントローラ７と、画像データに対する各種プロセスを制御するプロセスコントローラ８との間の通信を行う。この画像データ制御部３に入力された読取画像データは、画像処理プロセッサ４に転送される。
【００１４】
画像処理プロセッサ４は、転送された読取画像データの光学系及びデジタル信号への量子化に伴う信号劣化を補正し、補正した画像データを画像データ制御部３へ再度出力する。
【００１５】
画像データ制御部３は、入力した補正画像データをパラレルバス５を経由して画像メモリアクセス制御部６に転送する。
【００１６】
画像メモリアクセス制御部６は、システムコントローラ７の制御に基づき、転送された補正画像データとメモリ９のアクセス制御を行うと共に、外部パソコン（ＰＣ）１０から送られるプリント用データの展開やメモリ９を有効に活用するための画像データの圧縮、伸張を行う。
【００１７】
この画像メモリアクセス制御部６に転送された読取画像データは、データ圧縮後にメモリ９に蓄積される。メモリ９に蓄積された画像データを印刷出力するときは、画像データは画像メモリアクセス制御部６により読み出され、読み出した画像データを伸張して本来の画像データに戻し、パラレルバス５を経由して画像データ制御部３へ転送される。
【００１８】
画像データ制御部３は、画像メモリアクセス制御部６から画像データを受信すると、受信した画像データを出力画像データとして画像処理プロセッサ４に転送する。
【００１９】
画像処理プロセッサ４は、転送された出力画像データの画質処理を行い、ビデオデータ制御部１１に送る。
【００２０】
ビデオデータ制御部１１は、送られた出力画像データのパルス制御を行い、プリンタエンジンである作像ユニット１２で転写紙上に再生画像を形成させる。
【００２１】
読み取った画像データをファクシミリ送信するときは、読取画像データを画像データ制御部３から画像処理プロセッサ４に送り、所定の画像処理を実施し、この画像データを画像データ制御部３からパラレルバス５を経由してファクシミリ制御ユニット１３に転送する。
【００２２】
ファクシミリ制御ユニット１３は、転送された画像データを通信網へ送信するためのデータ変換を行い、公衆回線１４へファクシミリデータとして送信する。
【００２３】
ファクシミリ受信は、公衆回線１４からの受信データをファクシミリ制御ユニット１３で画像データへ変換し、変換した受信画像データをパラレルバス５と画像データ制御部３を経由して画像処理プロセッサ４へ転送する。
【００２４】
画像処理プロセッサ４は、この場合受信画像データの特別な画質処理は行わず、ビデオデータ制御部１１に送る。
【００２５】
ビデオデータ制御部１１は、送られた受信画像データのドット再配置及びパルス制御を行い、作像ユニット１２で転写紙上に再生画像を形成させる。
【００２６】
このようにコピー機能とファクシミリ送受信機能及びプリンタ出力機能の複数ジョブが並行に動作する状況において、システムコントローラ７、ＲＯＭ１５及びＲＡＭ１６でシステム全体を制御し、各リソースの起動を管理し、プロセスコントローラ８とＲＯＭ１７とＲＡＭ１８で画像データの流れを制御する。この複数のジョブの各機能選択は操作部１９において選択入力して設定する。
【００２７】
また、システムコントローラ７とプロセスコントローラ８は、パラレルバス５と、画像データ制御部３及びシリアルバス２０を介して相互に通信を行う。このとき画像データ制御部３でパラレルバス５とシリアルバス２０とのデータインターフェースのためのデータフォーマット変換を行う。パラレルバス５の使用権の調停は、バス制御部のバス調停部２１で行われる。
【００２８】
上記のように構成したデジタル複写機においては、原稿の複写を実行しているときに、前述したように、読取ユニット１で読み取った画像データは、センサーボードユニット２と画像データ制御部３と画像処理プロセッサ４と画像データ制御部３とに順次転送され、画像データ制御部３からパラレルバス５と画像メモリアクセス制御部６を介してメモリ９に蓄積される。その後、メモリ９に蓄積された画像データは、画像メモリアクセス制御部６とパラレルバス５を介して画像データ制御部３に送られ、画像データ制御部３から画像処理プロセッサ４とビデオデータ制御部１１を介して作像ユニットに送られ転写画像を形成する。
【００２９】
この画像データ制御部３と画像メモリアクセス制御部６とメモリ９との間の画像データの転送について図２を参照して説明する。図２は、後述のとおり本発明のデータ転送システムを実施するもので、画像データ制御部３から画像データを画像メモリアクセス制御部６に転送してメモリ９に格納する画像データの送信時には、画像データ制御部３のＦＩＦＯ（先入先出回路）３１１からパラレルデータインターフェース３７を介して画像データをパラレルバス５へ送る。これは読み取った画像データをメモリ９に蓄積するパスなのでＳ２Ｍパスという。また、メモリ９に格納した画像データを画像データ制御部３で受信して印刷出力するとき、画像データ制御部３は画像メモリアクセス制御部６とパラレルバス５を介してパラレルデータインターフェース３７で受信した画像データをＦＩＦＯ３１２に蓄積する。これはメモリ９に格納された画像データを印刷して複写するパスなのでＭ２Ｐパスという。
【００３０】
原稿を読み取って複写するときには、このＳ２ＭパスとＭ２Ｐパスの画像データ転送が並行して実行されることになる。このような画像データの転送においては、転送すべき画像データ量がかなり多いため、パラレルバス５上においてバースト転送が用いられる。例えば、パソコン等でデータ転送に使われているＰＣＩバスを引用すると、バースト転送ではアドレス及びデータの共用ピンにて、まず、送信時には送信先の先頭アドレスを出力し、受信時には受信データの取出先の先頭アドレスを出力し、その後、それまでアドレスが出力されていたピン上にて、そのアドレス以後のデータを連続して転送するもので、これを１トランザクションという。このようにアドレスとデータを時分割方式で転送することにより、データを転送するバスの本数の削減を行っている。例えば、８バースト転送ではアドレスを出力してから８個のワードデータの送受信を行う。
【００３１】
図３に図２中のパラレルデータＩ／Ｆ３７の制御回路４０を示す。このパラレルデータＩ／Ｆ３７は、Ｓ２Ｍパス転送を制御するための送信ラインカウンタ４１と送信ライン制御部４２、送信画素及びバーストカウンタ部４３、Ｍ２Ｐパス転送を制御するための受信ラインカウンタ４４と受信ライン制御部４５、受信画素及びバーストカウンタ部４６、Ｓ２ＭパスとＭ２Ｐパスの転送を制御するＰＣＩプロトコル制御部４７、そしてＰＣＩインターフェース信号を制御するＰＣＩインターフェース４８から構成される。
【００３２】
図３の送信ラインカウンタ４１と受信ラインカウンタ４４の構成を、図４を参照して説明する。図４（ａ）は、Ｓ２Ｍ転送時の送信ラインカウンタを示し、送信ライン数格納レジスタ５１と送信ラインカウンタ５２、送信ラインカウンタ５２の値が０か否かを比較するコンパレータ５３からなる。送信ライン数格納レジスタ５１には、転送前に予めプロセスコントローラ８よりシリアルバスを介して送信すべきライン数が設定される。送信ラインカウンタ５２では、そのロード信号LD_CNTLがアサートされると、送信ライン数格納レジスタ５１の値を送信ラインカウンタ５２に格納する。また、カウンタデクリメント信号DEC_CNTLがアサートされると、そのアサートされる毎にカウンタのデクリメントを実行する。コンパレータ５３は、送信ラインカウンタ５２の値が０か否かを比較し、０となる、すなわち送信すべきライン数のデータを送信し終えた場合には、その旨を示すPAGE_END信号をアサートする。
【００３３】
図４（ｂ）は、Ｍ２Ｐ転送時の受信ラインカウンタ４４を示し、受信ラインカウンタ４４は、受信ライン数格納レジスタ６１と受信ラインカウンタ６２、受信ラインカウンタ６２の値が０か否かを比較するコンパレータ６３からなる。
【００３４】
受信ライン数格納レジスタ６１には転送前に予めプロセスコントローラ８より、シリアルバス２０を介して受信すべきライン数が設定される。受信ラインカウンタ６２では、そのロード信号LD_CNRLがアサートされると受信ライン数格納レジスタ６１の値を受信ラインカウンタ６２に格納する。また、カウンタデクリメント信号DEC_CNRLがアサートされると、そのアサートされる毎にカウンタのデクリメントを実行する。コンパレータ６３は、受信ラインカウンタ６２の値が０か否かを比較し、０となる、すなわち受信すべきライン数のデータを受信し終えた場合には、その旨を示すPAGE_END信号をアサートする。
【００３５】
図３の送信画素及びバーストカウンタ部４４、受信画素及びバーストカウンタ部４６の構成を図５を参照して説明する。
【００３６】
図５（ａ）は、Ｓ２Ｍ転送時の送信画素及びバーストカウンタ部４３を示したもので、送信画素数レジスタ７２、送信画素数カウンタ７３、マルチプレクサ７５、送信バースト数レジスタ７１（記憶装置）、送信バースト長カウンタ７６（カウンタ）、コンパレータ７４，７７，７８を有し、画像データ制御部３からメモリ９へ画像データを送信するときのバースト長制御を行う。
【００３７】
動作としては、まず、画像データ制御部３からメモリ９へ送信すべき画素数を送信画素数レジスタ７２にセットする。この画像データを送信するときには、送信画素数レジスタ７２から送信すべき画素数を送信画素数カウンタ７３にロードする。送信画素数カウンタ７３は、そのロード信号LD_CNTPが１のとき送信画素数レジスタ７２の値をロードし、デクリメント信号DEC_CNTPが１のときに送信画素数カウンタ７３のデクリメントを実行する。コンパレータ７４は送信画素数カウンタ７３の値Ｂと送信バースト長格納レジスタ７１に予めセットされた送信バースト長Ａとを比較し、比較結果をマルチプレクサ７５に送る。マルチプレクサ７５は、送信バースト長格納レジスタ７１にセットされたバースト長Ａが画素数カウンタ値Ｂより小さいときは、バースト長格納レジスタ７１にセットされたバースト長Ａを送信バースト長として選択し、バースト長格納レジスタ７１にセットされたバースト長Ａが画素数カウンタ値Ｂより大きいときは画素数カウンタ値Ｂを送信バースト長として選択し、選択した送信バースト長を送信バースト長カウンタ７６にロードする。送信バースト長カウンタ７６は、そのロード信号LD_CTNBCが１のとき、マルチプレクサ７５で選択されたバースト長をロードし、デクリメント信号DEC_CTNBCが１のとき、デクリメントが実行される。コンパレータ７７は、送信画素数カウンタ７３が０か否かを比較し、０のときその旨を示すLINE_END信号をアサートする。また、コンパレータ７８は、送信バースト長カウンタ７６が０か否かを比較し、０のときその旨を示すIT_END信号をアサートする。
【００３８】
このように送信バースト長カウンタ７６に送信バースト長がセットされた後、バースト送信が開始され、画像データ制御部３からパラレルバス５と画像メモリアクセス制御部６を介してメモリ９へ１ワード送信されるたびに、送信バースト長カウンタ７６及び送信画素数カウンタ７２の値がデクリメントされる。そして、送信バースト長カウンタ７６の値が０になった、すなわちIT_ENDがアサートされた時点でバースト送信が終了する。そのときに送信画素数カウンタ７３の値が０に、すなわちLINE_ENDがアサートされていなければ、まだ送信すべき画像データが画像データ制御部３のＦＩＦＯ３１１に残っていることになるので、再度バースト送信が開始され、送信画素数カウンタ７３の値が０になり、その旨を示すLINE_ENDがアサートされるまでバースト送信を繰り返すことになる。
【００３９】
図５（ｂ）は、受信ラインカウンタ４４を示すもので、その構成は、前述の送信ラインカウンタ４１に類似する。
【００４０】
受信ラインカウンタ４４は、メモリ９に格納された画像データを画像データ制御部３に受信するときは、受信すべき画素数を受信画素数レジスタ８２にセットする。そして画像データを受信するときには、受信画素数レジスタ８２から受信すべき画素数を受信画素数カウンタ８３にロードする。
【００４１】
受信画素数カウンタ８３は、そのロード信号LD_CNRPが１のとき受信画素数レジスタ８２の値をロードし、デクリメント信号DEC_CNRPが１のとき受信画素数カウンタ８３のデクリメントを実行する。コンパレータ８４は受信画素数カウンタ８３の値Ｂと受信バースト長格納レジスタ８１（記憶装置）に予めセットされた受信バースト長Ａとを比較し、比較結果をマルチプレクサ８５に送る。マルチプレクサ８５は、受信バースト長格納レジスタ８１にセットされたバースト長Ａが受信画素数カウンタ８３の値Ｂより小さいときは、バースト長格納レジスタ８１にセットされたバースト長Ａを送信バースト長として選択し、バースト長格納レジスタ８１にセットされたバースト長Ａが受信画素数カウンタ８３の値Ｂより大きいときは、受信画素数カウンタ８３の値Ｂを受信バースト長として選択し、選択した受信バースト長を受信バースト長カウンタ８６（カウンタ）にロードする。受信バースト長カウンタ８６は、そのロード信号LD_CRNBCが１のとき、マルチプレクサ８５で選択されたバースト長をロードし、デクリメント信号DEC_CRNBCが１のとき、デクリメントを実行する。コンパレータ８７は、画素数カウンタ８３が０か否かを比較し、０のときは、その旨を示すLINE_END信号をアサートする。また、コンパレータ８８は、受信バースト長カウンタ８６が０か否かを比較し、０のときその旨を示すIR_END信号をアサートする。
【００４２】
このように受信バースト長カウンタ８６に受信バースト長がセットされた後、バースト受信が開始され、メモリ９から画像メモリアクセス制御部６とパラレルバス５とを介して画像データ制御部３へ１ワード受信されるたびに受信バースト長カウンタ８６及び受信画素数カウンタ８２の値がデクリメントされる。そして、受信バースト長カウンタ８６の値が０になった、すなわちIR_ENDがアサートされた時点でバースト受信が終了する。そのときに受信画素数カウンタ８３の値が０に、すなわちLINE_ENDがアサートされていなければ、まだ受信すべき画像データが残っていることになるので、再度バースト受信が開始され、受信画素数カウンタ８３の値が０になり、その旨を示すLINE_ENDがアサートされるまでバースト受信を繰り返すことになる。
【００４３】
次に、図３に示すＳ２Ｍパス転送時の送信ライン制御と、Ｍ２Ｐパス転送時の受信ライン制御について、図６を参照して説明する。
【００４４】
図６（ａ）は、Ｓ２Ｍパス転送時の送信ライン制御を行うシーケンサステート図である。同図において、Ｓ２Ｍパス転送を行わない場合には、アイドルステートのＳ０にあり、送信ラインカウンタ４１の初期化信号であるLD_CNTLをアサートする。Ｓ２Ｍパス転送開始時には、プロセスコントローラ８より起動がかけられ、その旨を示すRS2M信号がアサートされるとステートＳ０からステートＳ１，Ｓ２へと進む。ステートＳ１では、送信画素数カウンタ７３のロード信号LD_CNTPがアサートされ、ステートＳ２では送信の開始信号を示すIT_EXEをアサートする。後述するＰＣＩプロトコル制御より、Ｓ２Ｍパス転送が開始されたことを示すIT_START信号が入力されると、ステートＳ２からステートＳ３に遷移する。ステートＳ３では、Ｓ２Ｍパス転送の１つのトランザクションの終了待ち状態で、送信トランザクション終了を示すIT_ENDが送信画素及びバーストカウンタ部４３より入力されるとステートＳ３からステートＳ４に遷移する。ステートＳ４では、設定された送信画素数分だけ送信したかどうかを示すLINE_END信号を監視し、送信画素数分の転送が終わっていなければLINE_END信号はアサートされないため、ステートＳ２に戻り、次の送信トランザクションを開始する。一方、送信画素数分の転送が終わっていれば、その旨を示すLINE_END信号がアサートされるので、ステートＳ５に遷移する。ステートＳ５では、送信ラインカウンタ５２のデクリメント信号DEC_CNTLをアサート後、ステートＳ６に遷移する。ステートＳ６では、設定された送信ライン数分送信したかどうかを示すPAGE_END信号を監視し、送信ライン数分の転送が終わっていなければPAGE_END信号はアサートされないため、ステートＳ１に戻り、次のラインの送信トランザクションを開始する。一方、送信ライン数分の転送が終わっていれば、その旨を示すPAGE_END信号がアサートされるので、アイドルステートのＳ０に戻り、Ｓ２Ｍパス転送を終了する。
【００４５】
図６（ｂ）は、Ｍ２Ｐパス転送時の受信ライン制御を行うシーケンサステート図である。同図において、Ｍ２Ｐパス転送を行わない場合にはアイドルステートのＳ０にあり、受信ラインカウンタ６２の初期化信号であるLD_CNRLをアサートする。Ｍ２Ｐパス転送開始時には、プロセスコントローラ８により起動がかけられ、その旨を示すRM2P信号がアサートされるとステートＳ０からステートＳ１，Ｓ２へと進む。ステートＳ１では、受信画素数カウンタ７３のロード信号LD_CNRPがアサートされ、ステートＳ２では受信の開始信号を示すIR_EXEをアサートする。後述するＰＣＩプロトコル制御より、Ｍ２Ｐパス転送が開始されたことを示すIR_START信号が入力されるとステートＳ２からステートＳ３に遷移する。ステートＳ３は、Ｍ２Ｐパス転送の１つのトランザクションの終了待ち状態で、受信トランザクション終了を示すIR_ENDが受信画素及びバーストカウンタ部４６より入力されるとステートＳ３からステートＳ４に遷移する。ステートＳ４では、設定された受信画素数分受信したかどうかを示すLINE_END信号を監視し、受信画素数分の転送が終わっていなければLINE_END信号はアサートされないため、ステートＳ２に戻り、次の受信トランザクションを開始する。一方、受信画素数分の転送が終わっていれば、その旨を示すLINE_END信号がアサートされるのでステートＳ５に遷移する。ステートＳ５では、受信ラインカウンタ６２のデクリメント信号DEC_CNRLをアサート後、ステートＳ６に遷移する。ステートＳ６では、設定された受信ライン数分だけ受信したかどうかを示すPAGE_END信号を監視し、受信ライン数分の転送が終わっていなければPAGE_END信号はアサートされないため、ステートS１に戻り、次のラインの受信トランザクションを開始する。一方、受信ライン数分の転送が終わっていれば、その旨を示すPAGE_END信号がアサートされるのでアイドルステートのＳ０に戻り、Ｍ２Ｐパス転送を終了する。
【００４６】
以上、図１〜図６を参照して説明した構成、動作のデジタル複写機において、ＰＣＩプロトコル制御を行う場合について説明する。以下では、まず図７〜図１０を参照して、前記の構成におけるＰＣＩプロトコル制御の比較例を説明してから、図１１以下を参照して、本実施の形態におけるＰＣＩプロトコル制御の内容を説明する。
【００４７】
まず、比較例について図７〜図１０を参照して説明する。
【００４８】
図７は、図３のＰＣＩプロトコル制御を行う場合のシーケンサステート図である。これは、Ｓ２Ｍパス転送のバースト送信とＭ２Ｐパス転送のバースト受信を制御するものである。
【００４９】
図７において、ステートＳ０が送信アイドルステート、ステートＳ１〜Ｓ３がバースト送信シーケンス、ステートＳ４が受信アイドルステート、ステートＳ５〜Ｓ７がバースト受信シーケンスである。送信アイドルステートS０の状態のとき、画像送信要求信号IT_EXEにより画像送信要求されると、ステートＳ０からステートＳ１に遷移し、ステートＳ１でパラレルバス５の使用許可を要求するためにリクエスト信号IT_REQを出力し、バス調停部２１によりバス使用許可信号IT_GNTが入力されるとステートＳ１からステートＳ２に遷移し、ステートＳ２でバースト送信起動IT_STARTをかけ、ステートＳ３でバースト送信が終了するまで待機する。ステートＳ３でバースト送信実行信号TRANSを入力すると送信画素数カウンタ７３のデクリメント信号DEC_CNTPを出力する。また、送信バースト長カウンタ７１の値が０になり、その旨を示す送信バースト終了信号IT_END信号が入力されると送信バースト長カウンタ７６のロード信号LD_CTNBCを出力すると共に、ステートＳ３から受信のアイドルステートＳ４に遷移する。また、ステートＳ３で、バースト送信が送信先の状態で中断されると、その旨を示すSTOPBがアサートされ、この信号が入力されるとエラー! リンクが正しくありません。バーストカウンタ７６の値が０でなくても、送信トランザクションを終了し、ステートＳ３から受信アイドルステートのＳ４に遷移する。この場合、送信バースト数カウンタ７６のロード信号LD_CTNBCは出力されず、次の送信トランザクションは、このときの送信バースト長カウンタ７６の値から送信トランザクションが開始されることになる。
【００５０】
受信アイドルステートＳ４の状態のとき、画像受信要求信号IR_EXEにより画像受信画要求されると、ステートＳ４からステートＳ５に遷移し、ステートＳ５でパラレルバス５の使用許可を要求するためにリクエスト信号IR_REQを出力し、バス調停部２１よりバス使用許可信号IR_GNTが入力されるとステートＳ５からステートＳ６に遷移し、ステートＳ６でバースト受信起動IR_STARTをかけ、ステートＳ７でバースト受信が終了するまで待機する。ステートＳ７でバースト受信実行信号TRANSを入力すると受信画素数カウンタ８３のデクリメント信号DEC_CNRPを出力する。また、受信バースト長カウンタ８６の値が０になり、その旨を示す受信バースト終了信号IR_END信号が入力されると受信バースト長カウンタ８６のロード信号LD_CRNBCを出力すると共に、ステートＳ７から送信のアイドルステートＳ０に遷移する。また、ステートＳ７で、バースト受信が受信先の状態で中断されるとその旨を示す信号STOPBがアサートされ、この信号が入力されると受信バースト長カウンタ８６の値が０でなくても、受信トランザクションを終了し、ステートＳ７から送信アイドルステートのＳ０に遷移する。この場合、受信バースト長カウンタ８６のロード信号LD_CRNBCは出力されず、次の受信トランザクションはこのときの受信バースト長カウンタ８６の値から受信トランザクションが開始されることになる。
【００５１】
図８は、Ｓ２Ｍパス転送でのラインと画素制御におけるタイミングチャートであり、ｍラインの送信を示したものである。各制御信号やカウンタ値は前述の記号にて示しており、Ｓ２Ｍパス転送の起動信号RS2M、送信ラインカウンタ４１のロード信号LD_CNTL、送信ラインカウンタ４１のデクリメント信号DEC_CNTL、送信ラインカウンタ４１の値CNTL、送信ライン終了信号PAGE_END、送信画素及びバーストカウンタ部４３のロード信号LD_CNTP、送信画素及びバーストカウンタ部４３のデクリメント信号DEC_CNTP、送信画素及びバーストカウンタ部４３の値CNTP、送信画素終了信号LINE_ENDの様子を示す。   図９は、Ｓ２Ｍパス転送での送信トランザクションにおけるタイミングチャートを示したものである。各制御信号やカウンタ値は前述の記号にて示しており、送信トランザクション実行信号IT_EXE、送信トランザクション開始要求信号IT_REQ、送信トランザクション許可信号IT_GNT、送信トランザクション開始信号IT_START、送信実行信号TRANS、図６（ａ）を参照して前述した送信ライン制御のシーケンサステート信号Stateを示している。また、本例ではパラレルバス５としてＰＣＩバスを一例として取り上げ、ＰＣＩインターフェース信号のフレーム信号FRAMEB、イニシエータレディ信号IRDYB、デバイスセレクト信号DEVSELB、ターゲットレディ信号TRDYB、ストップ信号STOPBを示す。信号名の後端が“Ｂ”で終了している信号は、負論理の信号、すなわち０でアサートを示す信号である。さらに、送信トランザクション終了信号IT_END、送信バースト長カウンタ値の様子も示す。
【００５２】
図９では、トランザクション１〜４の４つのトランザクションのタイミングチャートで送信するバースト数（CNBC）を６とした場合の例を示している。ここで、トランザクション１では、設定したバースト数６の転送を正常に実行しているが、トランザクション２では、４バースト送信した時点で送信先から何らかの理由で転送続行不可となり、中断信号のSTOPBがアサートされ、転送が強制終了されている。トランザクション３では、トランザクション２で設定したバースト数分の転送を終了できていないため、その続きとして残りの２バーストを実行し、トランザクションを終了している。そしてトランザクション４では、正常の６バースト転送を実行している。
【００５３】
ここで、トランザクション２では転送先の都合で強制終了されているのはやむを得ないことであるが、トランザクション３では、トランザクション２の続きとして、２バーストしか実行されておらず、転送効率を下げる要因となっている。
【００５４】
図１０は、一例としてトランザクションの中断が発生する場合の様子を簡単に示したものである。図１０に示すメモリエリアは、データの転送先のメモリ領域を示したもので、例えば送信バースト数をメモリエリアの幅とした場合を示す。ここで、メモリ側のバーストアクセスとして、異なるメモリエリアには連続してアクセスできず、メモリエリアを隔ててアクセスしたい場合には、メモリ側のバーストアクセスをやり直す必要があるとする。
【００５５】
メモリアクセス１では、そのメモリアクセスの開始アドレスがメモリエリアのスタートである場合を示し、送信バースト数がメモリエリア１の幅に設定されているためにメモリエリア内では、転送が中断されることはなく、効率よく転送が行えている。ここでは、メモリエリア１〜５へのアクセスは５つのトランザクションで完了している。
【００５６】
これに対して、メモリアクセス２では、メモリを有効に使用するために、開始アドレス２がメモリエリア１内の途中に設定された場合を示す。この場合では、トランザクション１では、メモリエリア内のアクセスを行い、メモリエリア内２に入るところでトランザクションが強制終了される。続いてトランザクションを起動すると、トランザクション１でバースト数が０となっていないため、トランザクション２におけるバースト数はトランザクション１の続きとして実行され、途中でバーストカウンタが０となり、トランザクション２を終了する。続いてトランザクション３が起動されるが、このときは設定されたバースト数にて転送を開始するが、メモリエリア２からメモリエリア３に移るところで、前述したように一度強制終了される。以後は、同様の転送が行われ、メモリエリア１〜５分の転送を行うのに、１０のトランザクションを実行する必要がある。これは、メモリアクセス１の５つのトランザクションに比べ２倍となり、メモリアクセス１に比べ、メモリアクセス２では転送時間がかかり、転送効率を下げている。ここで、メモリアクセス２の場合もメモリアクセス１のように開始アドレスを変更できればよいが、通常、メモリ領域を有効に使用するため、変更できないのが現状である。
【００５７】
そこで、このような比較例の不具合を解消する本実施の形態のデジタル複写機の構成、動作について以下に説明する。このデジタル複写機は、前述の図１〜図６を参照して説明した構成、動作は前述の比較例のデジタル複写機と同様である。以下の説明では、前述の比較例と同種の回路要素、信号などには同一の符号を付し、詳細な説明は省略する。
【００５８】
図１１は、図３のＰＣＩプロトコル制御を行う場合のシーケンサステート図であり、前述の比較例の図７に代わるものである。図７と同一符号の信号名は、前述の図７の説明と同様の機能を備えている。図１１の本実施の形態が図７の比較例と異なるのは、Ｓ２Ｍパスのバースト送信側であるステートＳ１〜Ｓ３におけるステートＳ３の出力信号LD_CTNBCの出力条件と、Ｍ２Ｐパスのバースト受信側であるステートＳ５〜Ｓ７におけるステートＳ７の出力信号LD_CRNBCの出力条件である。
【００５９】
送信バースト長カウンタ７６のロード信号LD_CTNBCの出力条件は、図７の例ではバースト送信が最後まで正常に終了した条件IT_ENDがアサートされた場合であるが、本例では、このバースト送信が最後まで正常に終了した条件IT_ENDがアサートされた場合と、バースト送信が途中で中断されたときの!STOPBがアサートされた場合との両方としている。
【００６０】
一方、Ｍ２Ｐパス側の受信バースト長カウンタ８６のロード信号LD_CRNBCの出力条件は、図７の例ではバースト受信が最後まで正常に終了した条件IR_ENDがアサートされた場合であるが、本例では、このバースト受信が最後まで正常に終了した条件IR_ENDがアサートされた場合と、バースト受信が途中で中断されたときの!STOPBがアサートされた場合との両方としている。
【００６１】
このロード信号LD_CTNBC、LD_CRNBCの出力条件が前述の比較例とは異なることにより、送信バースト数レジスタ７１、受信バースト数レジスタ８１に設定されたバースト数のデータ転送が行われる以前に、実行中のトランザクションが終了したときは、そのトランザクションの次のトランザクションにおけるバースト転送開始の際には、送信バースト長カウンタ７６、受信バースト長カウンタ８６を初期化する（第６の手段）。
【００６２】
ここで、本実施の形態におけるＳ２Ｍパス側のバースト送信時のタイミングチャートを図１２に示す。これは、前述の比較例の図９に代わるものである。図９の場合と異なるのは、トランザクション３のバースト転送である。トランザクション１及び２は、図９と図１１では同じ動作であり、トランザクション２でバースト送信が中断されている。図１２のトランザクション２からトランザクション３への移行では、図７の例では、送信バースト長カウンタ７６の値は変わっていないが、図１１では設定したバースト数が“６”に更新されている。従って、トランザクション３では、図７の２バーストが、図１１では６バーストの送信が行われており、転送効率が向上している。例えば、図７の例では、トランザクション１〜４の４つのトランザクションで合計１８ワードのデータ転送が行われているが、図１１では、トランザクション１〜４の４つのトランザクションで合計２２ワードのデータ転送が行われており、図１１では図７と同一数のトランザクション数だが、転送ワード数は４ワードも多く、大量のデータ転送を送る際に転送時間の短縮が可能となる。
【００６３】
このことは、図１３に示す本実施の形態のメモリアクセスのトランザクションの様子からも明確となる。図１３は、前記の比較例の図１０に相当するものである。図１０の場合と同様に、メモリエリアは、転送先のメモリ領域を示したもので、例えば送信バースト数をメモリエリアの幅とした場合を示す。ここで、メモリ側のバーストアクセスとして、異なるメモリエリアには連続してアクセスできず、メモリエリアを隔ててアクセスしたい場合には、メモリ側のバーストアクセスをやり直す必要があるとする。
【００６４】
メモリアクセス１では、そのメモリアクセスの開始アドレスがメモリエリアのスタートである場合を示し、送信バースト数がメモリエリア１の幅に設定されているためにメモリエリア内では、転送が中断されることはなく、効率よく転送が行えている。ここでは、メモリエリア１〜５へのアクセスは５つのトランザクションで完了している。
【００６５】
メモリアクセス２では、メモリを有効に使用するために、開始アドレス２がメモリエリア１内の途中に設定された場合を示す。前述の図１０では、このような場合に、トランザクション１〜１０のバースト送信が必要であったが、本実施の形態の図１３では、トランザクション１〜６のバースト送信で可能となっており、図１０の比較例に比べてトランザクション数を少なくできる。これは、メモリエリア１からメモリエリア２に移る際に、トランザクション１が中断されても次のトランザクション２で送信バースト数をトランザクション１の続きでなく、新たに予め設定したバースト数に更新するためである。従って、メモリエリア１では、トランザクションの中断が必要であったが、トランザクション２以降は、同じメモリエリア内へのアクセスのため、トランザクションが中断されることはなく、設定したバースト転送を実行できることになる。
【００６６】
すなわち、本実施の形態のデジタル複写機でバースト転送を行うデータ転送システムにおいては、バースト転送を行うバースト数を送信バースト数レジスタ７１、受信バースト数レジスタ８１に設定する（第１の手段）。そして、図１１の処理では、設定されたバースト数のデータ転送が途中で中断され、設定したバースト数のデータ転送が行われずにトランザクションが終了したときは、そのトランザクションの次のトランザクションにおけるバースト転送においては、前述の比較例と異なり、送信バースト数レジスタ７１、受信バースト数レジスタ８１に設定されているバースト数分のデータ転送を行う（第２の手段）。
【００６７】
従って、大量のデータを転送する必要がある場合に、メモリアクセスの開始アドレスの値によらず、必要となるトランザクション回数を必要最小限に減らすことができ、さらにトランザクションを開始するための準備サイクルも少なくできるため、データ転送時間を低減させ、転送効率を向上させることができる。
【００６８】
図１４は、ＰＣＩプロトコル制御におけるシーケンサの別の実施の形態を示したもので、バースト転送中断時に送信バースト長カウンタ７６、受信バースト長カウンタ８６を更新する場合と更新しない場合を選択可能にしたものである。
【００６９】
ここでは、送信バースト長カウンタ７６、受信バースト長カウンタ８６を更新する更新モードを選択できるようにするため、バーストモード信号BMODEを導入し、“BMODE＝０”のときは、バースト転送中断時に送信バースト長カウンタ７６、受信バースト長カウンタ８６を更新せず、すなわち送信バースト長カウンタ７６、受信バースト長カウンタ８６のロード信号は出力しないようにし、一方、“BMODE＝１”のときは、バースト転送中断時に送信バースト長カウンタ７６、受信バースト長カウンタ８６を更新、つまり、送信バースト長カウンタ７６、受信バースト長カウンタ８６のロード信号を出力するようにして、前述の比較例の方法と前述の本実施の形態による方法を選択可能にすることで、バースト転送時の制御の柔軟性を持たせたものである。
【００７０】
すなわち、前述の第２の手段のほかに、送信バースト数レジスタ７１、受信バースト数レジスタ８１に設定されたバースト数のデータ転送が途中で中断されて、その設定したバースト数のデータ転送が行われずにトランザクションが終了したときは、そのトランザクションの次のトランザクションにおけるバースト転送では終了したトランザクションでデータ転送が未了である分だけのバーストのデータ転送を行う、前述の比較例の場合と同様の処理の実行も可能であり（第３の手段）、第２の手段によるデータ転送と第３の手段によるデータ転送とのうち一方だけを選択的に実行するように設定することができる（第４の手段）。
【００７１】
これにより、パラレルバス５に接続された各回路要素間で、実行されるアプリケーションのデータ転送時に最適の方法を選択してバースト転送を実行できるようになる。
【００７２】
また、前述した送信画素及びバーストカウンタ部４３、受信画素及びバーストカウンタ部４４では、データ転送開始の際に転送すべきワード数が送信バースト数レジスタ７１、受信バースト数レジスタ８１に設定されたバースト数より大きいときは、バースト数の設定値をバースト数とし、一方、転送すべきワード数が送信バースト数レジスタ７１、受信バースト数レジスタ８１に設定されたバースト数以下のときは、転送すべきワード数をバースト数として、バースト転送を行うようにしている（第５の手段）。
【００７３】
これにより、バースト数の設定を転送ワード数から最適に、しかもハードウェアによって高速に設定することができる。
【図面の簡単な説明】
【００７４】
【図１】本発明の一実施の形態であるデジタル複写機の全体構成を示すブロック図である。
【図２】Ｓ２Ｍパス、Ｍ２Ｐパスについて説明するブロック図である。
【図３】パラレルデータＩ／Ｆの制御回路について説明するブロック図である。
【図４】送信ラインカウンタ、受信ラインカウンタについて説明するブロック図である。
【図５】送信画素及びバーストカウンタ部、受信画素及びバーストカウンタ部について説明するブロック図である。
【図６】比較例におけるデジタル複写機の動作を説明するシーケンサステート図である。
【図７】比較例におけるデジタル複写機の動作を説明するシーケンサステート図である。
【図８】比較例におけるデジタル複写機の動作を説明するタイミングチャートである。
【図９】比較例におけるデジタル複写機の動作を説明するタイミングチャートである。
【図１０】比較例におけるデジタル複写機のメモリアクセスについて説明する説明図である。
【図１１】本発明の一実施の形態であるデジタル複写機の動作を説明するシーケンサステート図である。
【図１２】本発明の一実施の形態であるデジタル複写機の動作を説明するタイミングチャートである。
【図１３】本発明の一実施の形態であるデジタル複写機のメモリアクセスについて説明する説明図である。
【図１４】本発明の別の実施の形態であるデジタル複写機の動作を説明するシーケンサステート図である。
【符号の説明】
【００７５】
７１、８１  第１の手段、記憶装置
７６、８６  カウンタ
【図１】
2005250861.tif 000003
【図２】
2005250861.tif 000004
【図３】
2005250861.tif 000005
【図４】
2005250861.tif 000006
【図５】
2005250861.tif 000007
【図６】
2005250861.tif 000008
【図７】
2005250861.tif 000009
【図８】
2005250861.tif 000010
【図９】
2005250861.tif 000011
【図１０】
2005250861.tif 000012
【図１１】
2005250861.tif 000013
【図１２】
2005250861.tif 000014
【図１３】
2005250861.tif 000015
【図１４】
2005250861.tif 000016