(57)【要約】【課題】異常が検知された通信プロトコルを補償する。【解決手段】通信プロトコル異常検知手段１３０はインターフェース１０８を介してデータを受信した場合に通信プロトコルが異常か否かを検知し、ＤＭＡＣ１０８１は通信プロトコル異常検知手段１３０が通信プロトコルの異常を検知したときにインターフェース１０１〜１０９からのデータ入力を中断または中断したデータ入力を再開し、通信プロトコル補償手段１２３はＤＭＡＣ１０８１がインターフェース１０８からのデータ入力を一時中止したときに、通信プロトコルに転送終了パケットを付加することにより、異常が検知された通信プロトコルを補償する。【選択図】        図２
2004214942.tif 000002
【特許請求の範囲】
【請求項１】
外部機器とデータ転送を行うインターフェースと、
前記インターフェースを介してデータを受信した場合に通信プロトコルが異常か否かを検知する通信プロトコル異常検知手段と、
前記通信プロトコル異常検知手段が通信プロトコルの異常を検知したときに前記インターフェースからのデータ入力を中断または中断したデータ入力を再開するデータ転送手段と、
前記データ転送手段が前記インターフェースからのデータ入力を一時中止したときに、異常が検知された通信プロトコルを補償する通信プロトコル補償手段とを備えたデータ転送補償装置。
【請求項２】
前記通信プロトコル異常検知手段は、前記データ転送手段におけるデータ転送サイズが前記インターフェースの転送可能な最大パケットサイズの整数倍から更新されないときに通信プロトコルの異常と検知することを特徴とする請求項１記載のデータ転送補償装置。
【請求項３】
前記通信プロトコル補償手段は、通信プロトコルに転送終了パケットを付加することにより、異常が検知された通信プロトコルを補償することを特徴とする請求項１又は２記載のデータ転送補償装置。
【請求項４】
前記転送終了パケットは、ＵＳＢにおけるＮＵＬＬパケットであることを特徴とする請求項３記載のデータ転送補償装置。
【請求項５】
前記データ転送手段は、ＤＭＡ転送機能を有することを特徴とする請求項１ないし４のいずれか１つに記載のデータ転送補償装置。
【請求項６】
前記インターフェースは、シリアル・インターフェースであることを特徴とする請求項１ないし５のいずれか１つに記載のデータ転送補償装置。
【請求項７】
前記シリアル・インターフェースは、ＵＳＢであることを特徴とする請求項６記載のデータ転送補償装置。
【請求項８】
記録媒体に可視画像を形成する画像形成装置において、
請求項１ないし７のいずれか１項に記載のデータ転送補償装置を備えていることを特徴とする画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信データにトラブルが生じた時の処理を行うデータ転送補償装置及び画像形成装置に係り、特に転送終了パケットが伝送路等のトラブルによって転送されない場合や、転送元で転送終了パケットが転送されない場合の処理に関する。
【０００２】
【従来の技術】
図３は一例として、３つのパケットが連結された場合を示し、各パケットのディスクリプタの構造は以下のようになっている。Ｎｅｘｔ  Ｄｅｓｃｒｉｐｔｏｒ  Ｐｏｉｎｔｅｒは次のディスクリプタへのポインタであり、Ｂｕｆｆｅｒ  Ａｄｄｒｅｓｓはデータバッファの先頭のアドレスである。Ｔｒａｎｓｆｅｒ  Ｓｉｚｅはデータバッファに格納されたデータのサイズであり、ＥＯＰ（Ｅｎｄ  Ｏｆ  Ｐａｃｋｅｔ）フラグが１のときは、このディスクリプタでパケットが終了していることを示し、０の時はパケット続いていることを示す。
【０００３】
従来例として特許文献１には、データ異常を検知した時にプロトコルリスタートを要求し、再度データ転送を行う方法が提案されている。
【０００４】
【特許文献１】
特開２００１−２３７９１３号公報
【０００５】
【発明が解決しようとする課題】
ところで、図４は２つ目のパケットで最初のデータが終了し、３つ目のパケットで次のデータを受信しており、ホストが２つ目のパケットを転送してもＥＯＰパケットを送信していない例を示す。本来なら、ホストが２つ目のパケットの送信後、Ｔｒａｎｓｆｅｒ  Ｓｉｚｅが最大パケットサイズの整数倍（ＵＳＢのＦｕｌｌ  Ｓｐｅｅｄなら６４、Ｈｉｇｈ  Ｓｐｅｅｄなら５１２が最大パケットサイズである）ならばＮｕｌｌパケット（ゼロレングスパケット）を送信してくるので、２つ目のディスクリプタのＥＯＰが１になる。図４中のパケットは、３個のディスクリプタ１、２、３があるが、ディスクリプタ１，２のＥＯＰ（Ｅｎｄ  ｏｆ  Ｐａｃｋｅｔ）フラグが０、ディスクリプタ３のＥＯＰフラグが１であるので、図４のパケットはディスクリプタ３で終了するように見える。すると、３つ目の余分なデータまで連結するので、特にプリンタの場合には、連結されたデータまで印字すると文字化け等の不具合を生じる。
【０００６】
また、特許文献１では、データ異常を検知した時にプロトコルリスタートを要求し、再度データ転送を行うので、データ異常時のデータ転送に時間を要するという欠点がある。
【０００７】
本発明は上記従来例の問題点に鑑み、異常が検知された通信プロトコルを補償することができるデータ転送補償装置及び画像形成装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
第１の手段は上記目的を達成するために、外部機器とデータ転送を行うインターフェースと、前記インターフェースを介してデータを受信した場合に通信プロトコルが異常か否かを検知する通信プロトコル異常検知手段と、前記通信プロトコル異常検知手段が通信プロトコルの異常を検知したときに前記インターフェースからのデータ入力を中断または中断したデータ入力を再開するデータ転送手段と、前記データ転送手段が前記インターフェースからのデータ入力を一時中止したときに、異常が検知された通信プロトコルを補償する通信プロトコル補償手段とを備えたことを特徴とする。
【０００９】
具体的には図２に示すように、通信プロトコル異常検知手段１３０はインターフェース１０８を介してデータを受信した場合に通信プロトコルが異常か否かを検知し、ＤＭＡＣ１０８１は通信プロトコル異常検知手段１３０が通信プロトコルの異常を検知したときにインターフェース１０１〜１０９からのデータ入力を中断または中断したデータ入力を再開し、通信プロトコル補償手段１２３はＤＭＡＣ１０８１がインターフェース１０８からのデータ入力を一時中止したときに、通信プロトコルに転送終了パケットを付加することにより、異常が検知された通信プロトコルを補償する。
【００１０】
上記構成により、異常が検知された通信プロトコルを補償することができる。
【００１１】
第２の手段は、第１の手段において、前記通信プロトコル異常検知手段は、データ転送手段におけるデータ転送サイズが前記インターフェースの転送可能な最大パケットサイズの整数倍から更新されないときに通信プロトコルの異常と検知することを特徴とする。
【００１２】
第３の手段は、第１、第２の手段において、前記通信プロトコル補償手段が、通信プロトコルに転送終了パケットを付加することにより、異常が検知された通信プロトコルを補償することを特徴とする。
【００１３】
第４の手段は、第３の手段において、前記転送終了パケットが、ＵＳＢにおけるＮＵＬＬパケットであることを特徴とする。
【００１４】
第５の手段は、第１ないし第４の手段において、前記データ転送手段が、ＤＭＡ転送機能を有することを特徴とする。
【００１５】
第６の手段は、第１ないし第５の手段において、前記インターフェースが、シリアル・インターフェースであることを特徴とする。
【００１６】
第７の手段は、第６の手段において、前記シリアル・インターフェースが、ＵＳＢであることを特徴とする。
【００１７】
第８の手段は、記録媒体に可視画像を形成する画像形成装置において、
請求項１ないし７のいずれか１項に記載のデータ転送補償装置を備えていることを特徴とする。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。図１は本発明に係るデータ転送補償装置及び画像形成装置の一実施形態を示すブロック図、図２は図１のＡＳＩＣを詳しく示すブロック図、図３はＤＭＡのディスクプリタの構造を示す説明図、図４は通信プロトコルの異常を示す説明図、図５はＤＭＡデータ転送時の制御を説明するためのタイミングチャート、図６はＮｕｌｌパケット受信時の制御を説明するためのタイミングチャート、図７は本発明の制御を説明するためのタイミングチャートである。
【００１９】
図１は一例として、ＭＦＰ（マルチ・ファンクション・ペリフェラル）９のコントローラボード１を示し、コントローラボード１上にはＳＤＲＡＭ２と、プログラムやデータを蓄積している不揮発性のフラッシュＲＯＭ３と、ＰＨＹデバイス４と、フラッシュＲＯＭ３やＳＤＲＡＭ２上のプログラムを実行可能なＣＰＵ２５と、本発明のＡＳＩＣ１００が実装されている。ＡＳＩＣ１００はＭＦＰ９の操作を行う操作部６と、プログラムやデータの蓄積が可能なＨＤＤ７に接続され、また、ＰＣＩバス８を介してＭＦＰ９に接続されている。
【００２０】
図２を参照してＡＳＩＣ１００について詳しく説明する。ＡＳＩＣ１００にはＣＰＵ５と接続可能なＣＰＵ  Ｉ／Ｆ１０１と、メモリと接続可能なメモリＩ／Ｆ（図はＳＤＲＡＭ２のＩ／Ｆ１０２の例を示している。他のメモリＩ／Ｆを搭載すればそのメモリも勿論利用可能である）、フラッシュＲＯＭ３と接続可能なローカルバス（Ｌｏｃａｌ  Ｂｕｓ）Ｉ／Ｆ１０３と、ＨＤＤ７と接続可能なＨＤＤ  Ｉ／Ｆ１０４と、操作部６と接続可能なＯＰＥ  Ｉ／Ｆ１０５と、通信Ｉ／Ｆとしてセントロ（１２８４）Ｉ／Ｆ１０６、ＭＡＣ  Ｉ／Ｆ１０７及びＵＳＢ  Ｉ／Ｆ１０８を備えている。ＭＡＣ  Ｉ／Ｆ１０７にはＰＨＹデバイス５を接続してネットワークと接続可能である。また、ＰＣＩバス８を接続するＰＣＩ  Ｉ／Ｆ１０９を備えている。
【００２１】
コントローラボード１において、通信Ｉ／Ｆ１０６〜１０８からの印刷データをＭＦＰ９で印刷可能な形式に変換してＰＣＩバス８経由でＭＦＰ９から画像を印刷することが可能である。また、スキャナからの画像をＰＣＩバス８経由でＨＤＤ７に蓄積することも可能である。
【００２２】
ＡＳＩＣ１００の通信Ｉ／ＦであるセントロＩ／Ｆ１０６、ＭＡＣ  Ｉ／Ｆ１０７、ＵＳＢ  Ｉ／Ｆ１０８やＨＤＤ  Ｉ／Ｆ１０４、ＯＰＥ  Ｉ／Ｆ１０５、Ｒｏｔａｔｅ部１１０、Ｃｏｍｐ／Ｄｅ−ｃｏｍｐ部１１１にはそれぞれ、メモリリード用とメモリライト用の２組のＤＭＡＣ（１０６１、１０６２）、（１０７１、１０７２）、（１０８１、１０８２）、（１０４１、１０４２）、（１０５１、１０５２）、（１１０１、１１０２）、（１１１１、１１１２）が接続されている。ＤＭＡＣ（１０６１、１０６２）、（１０７１、１０７２）、（１０８１、１０８２）、（１０４１、１０４２）、（１０５１、１０５２）、（１１０１、１１０２）、（１１１１、１１１２）はアービタ１１２に接続されており、アービタ１１２の優先順位の設定によってアクセス順位が決定される。また、Ｒｏｔａｔｅ部１１０はメモリ中の画像を回転させる機能を備え、Ｃｏｍｐ／Ｄｅ−ｃｏｍｐ部１１１はメモリ中の画像を圧縮／解凍する機能を備え、ともにアービタ１１２経由で画像をアクセスする。
【００２３】
ＤＭＡＣ（１０６１、１０６２）、（１０７１、１０７２）、（１０８１、１０８２）、（１０４１、１０４２）、（１０５１、１０５２）、（１１０１、１１０２）、（１１１１、１１１２）が接続されている。２組のＤＭＡＣ（１０６１、１０６２）、（１０７１、１０７２）、（１０８１、１０８２）、（１０４１、１０４２）、（１０５１、１０５２）、（１１０１、１１０２）、（１１１１、１１１２）の各々は、バッファメモリ１２０と、ポーズ機能１２１と、カウンタ１２２と、通信プロトコル補償手段１２３を有し、また、通信プロトコル異常検知手段１３０とタイマ１３１が設けられている。
【００２４】
次に、通信プロトコルの異常を判断する方法について、ＵＳＢ  Ｉ／Ｆ１０８を例に説明する。図４はＵＳＢ  Ｉ／Ｆ１０８から２つ目のパケット（２つ共最大パケット長の整数倍のデータ長）を受信したときの状態を示している。まだＮｕｌｌパケットを受信していないので、ＤＭＡのディスクリプタのＥＯＰフラグは０の状態である。
【００２５】
図５はＵＳＢ  Ｉ／Ｆ１０８からのＤＭＡでデータ転送するときの制御タイミングである。ＣＬＫはＡＳＩＣ１００のシステムクロックである。ＵＳＢ  Ｉ／Ｆ１０８からデータが準備できたことを示すＤＭＡ  Ｒｅｑがアサートされると、ＤＭＡＣ１０８１側では、データを受け取る準備ができているときにＤＭＡ  Ａｃｋをアサートしてデータ（図５のＶａｌｉｄのＤＡＴＡ部分）を受け取る。次に、ＵＳＢ  Ｉ／Ｆ１０８がＮｕｌｌ  Ｐａｃｋｅｔを受信すれば、図６のように、ＵＳＢ  Ｉ／Ｆ１０８からＮｕｌｌ  Ｐａｃｋｅｔを受信したことを示すＤＭＡ  Ｎｕｌｌ＿Ｒｅｑをアサートし、ＤＭＡＣ１０８１がＡｃｋをアサートすることで、ＤＭＡＣ１０８１がパケットの終了を認識するのでディスクリプタのＥＯＰフラグを１にすることが可能になる。
【００２６】
本実施形態では、ＵＳＢ  Ｉ／Ｆ１０８がＮｕｌｌ  Ｐａｃｋｅｔを受信できない場合は、図７のようなタイミングになる。図７の信号について図５と重複している信号の説明は省略する。図７のＣｏｕｎｔｅｒの値は、図２のカウンタ１２２の値であり、時刻Ｔ０で初期化されている。時刻Ｔ１でＵＳＢ  Ｉ／Ｆ１０８からＤＭＡＣ１０８１へのＲｅｑがアサートされてＤＭＡ要求がある。Ｘ＿ＰＡＵＳＥは、通信プロトコル異常を検出したときにアサートされる信号である。
【００２７】
Ｃｏｕｎｔｅｒ値がＵＳＢの規格で定められた最大パケットサイズ（Ｆｕｌｌ  Ｓｐｅｅｄの時は６４バイト、Ｈｉｇｈ  Ｓｐｅｅｄのときは５１２バイト）の倍数になってかつ定められた期間（Ｔ＿ｓａｍｅ）内にＣｏｕｎｔｅｒ値に変化がなければ、ＵＳＢ  Ｉ／Ｆ１０８が転送終了パケットであるＮｕｌｌ  Ｐａｃｋｅｔを受信できていないとみなして、ＤＭＡＣ１０８１のＰａｕｓｅ機能１２１によりＸ＿ＰＡＵＳＥをアサートする。それ以外はデアサートする。時刻Ｔ２では、Ｘ＿ＰＡＵＳＥはデアサートされているので、ＤＭＡＣ１０８１は時刻Ｔ２でＡｃｋをアサートすることができる。ＤＭＡＣ１０８１は時刻Ｔ２からＴ３の期間データを受け付けることが可能になり、アービタ１１２経由でメモリにデータを転送可能である。
【００２８】
図７のＤＡＴＡの番号は有効なデータの個数を示している。５１２個のデータが最初に転送されたのでＣｏｕｎｔｅｒ値は５１２になる（時刻Ｔ３）。Ｃｏｕｎｔｅｒ値が最大パケットサイズの整数倍になっているが、
（Ｔ５−Ｔ３）＜Ｔ＿ｓａｍｅ
となっているため（Ｃｏｕｎｔｅｒ値が５１２である期間がＴ＿ｓａｍｅに達していないため）Ｘ＿ＰＡＵＳＥはデアサートされている。時刻Ｔ４で再びＵＳＢ  Ｉ／Ｆ１０８からＤＭＡ要求がある。時刻Ｔ５ではＸ＿ＰＡＵＳＥがデアサートされているので、次のクロックでＤＭＡＣ１０８１はＡｃｋをアサート可能である。ＤＭＡＣ１０８１がＡｃｋをアサートするとＤＭＡ転送が開始される。
【００２９】
図７では時刻Ｔ６で転送が終了しており、Ｃｏｕｎｔｅｒ値は１０２４になっている。
【００３０】
（Ｔ８−Ｔ６）＞Ｔ＿ｓａｍｅ
となっているため（Ｃｏｕｎｔｅｒ値が５１２である期間がＴ＿ｓａｍｅに達しているため）、Ｘ＿ＰＡＵＳＥは時刻Ｔ８でアサートされる。通信プロトコル異常が発生した（ＵＳＢＩ／Ｆ１０８の場合はＮｕｌｌ  Ｐａｃｋｅｔが受信できない）とみなして時刻Ｔ８の次のクロックでＩＮＳ＿ＯＮ信号をアサートして、ディスクリプタのＥＯＰフラグを１にする。また、時刻Ｔ８においてＣｏｕｎｔｅｒ値は０にクリアされる。
【００３１】
ＥＯＰフラグを１にする処理が終了した時刻Ｔ１０の次の時刻Ｔ１１にＸ＿ＰＡＵＳＥがデアサートされる。時刻Ｔ１２ではＸ＿ＰＡＵＳＥがデアサートされているので、ＤＭＡＣ１０８１は再びＤＭＡ転送を開始する。時刻Ｔ１３でＤＭＡ転送が終了（転送バイト数は１００バイト）している。データ転送がショートパケット（転送バイト長が最大パケットサイズの整数倍でない場合）であるので、ＥＯＰフラグを１にし、データ転送が終了した時刻ｔ１３でＣｏｕｎｔｅｒを０にクリアし、次のパケットを受信する準備を整える。
【００３２】
図３にＤＭＡのディスクリプタの状態を示す。ＤＭＡのディスクリプタ２，３のＥＯＰフラグが１になっているので、パケット２でパケットが終了したことになる。このようにＭＦＰ９のコントローラボード１のＵＳＢ  Ｉ／Ｆ１０８において、Ｎｕｌｌ  Ｐａｃｋｅｔが受信できないという通信プロトコル異常を認識して、Ｎｕｌｌ  Ｐａｃｋｅｔを受信したことにするので、印刷データで文字化け等の問題は回避されることになる。
【００３３】
本発明は、コンピュータ周辺機器、ＭＦＰ、プリンタ、スキャナ、ＦＡＸ等のデータ転送に応用できる。
【００３４】
【発明の効果】
以上説明したように本発明によれば、外部機器とデータ転送を行うインターフェース手段からのデータが通信プロトコル異常であるか否かを検知し、通信プロトコルの異常を検知したときに、異常が検知された通信プロトコルを補償するので、通信プロトコルの補償が可能になる。
【図面の簡単な説明】
【図１】本発明に係るデータ転送補償装置及び画像形成装置の一実施形態を示すブロック図である。
【図２】図１のＡＳＩＣを詳しく示すブロック図である。
【図３】ＤＭＡのディスクプリタの構造を示す説明図である。
【図４】通信プロトコルの異常を示す説明図である。
【図５】ＤＭＡデータ転送時の制御を説明するためのタイミングチャートである。
【図６】Ｎｕｌｌパケット受信時の制御を説明するためのタイミングチャートである。
【図７】本発明の制御を説明するためのタイミングチャートである。
【符号の説明】
１０１〜１０９  インターフェース
１２０  バッファメモリ
１２１  ポーズ機能
１２２  カウンタ
１２３  通信プロトコル補償手段
１３０  通信プロトコル異常検知手段
１３１  タイマ
１０６１，１０６２，１０７１，１０７２，１０８１，１０８２，１０４１，１０４２，１０５１，１０５２，１１０１，１１０２，１１１１，１１１２  ＤＭＡＣ
【図１】
2004214942.tif 000003
【図２】
2004214942.tif 000004
【図３】
2004214942.tif 000005
【図４】
2004214942.tif 000006
【図５】
2004214942.tif 000007
【図６】
2004214942.tif 000008
【図７】
2004214942.tif 000009