JP2004214942A - データ転送補償装置及び画像形成装置 - Google Patents

データ転送補償装置及び画像形成装置 Download PDF

Info

Publication number
JP2004214942A
JP2004214942A JP2002381998A JP2002381998A JP2004214942A JP 2004214942 A JP2004214942 A JP 2004214942A JP 2002381998 A JP2002381998 A JP 2002381998A JP 2002381998 A JP2002381998 A JP 2002381998A JP 2004214942 A JP2004214942 A JP 2004214942A
Authority
JP
Japan
Prior art keywords
communication protocol
data transfer
data
interface
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002381998A
Other languages
English (en)
Inventor
Hideyuki Watanabe
英行 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002381998A priority Critical patent/JP2004214942A/ja
Publication of JP2004214942A publication Critical patent/JP2004214942A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】異常が検知された通信プロトコルを補償する。
【解決手段】通信プロトコル異常検知手段130はインターフェース108を介してデータを受信した場合に通信プロトコルが異常か否かを検知し、DMAC1081は通信プロトコル異常検知手段130が通信プロトコルの異常を検知したときにインターフェース101〜109からのデータ入力を中断または中断したデータ入力を再開し、通信プロトコル補償手段123はDMAC1081がインターフェース108からのデータ入力を一時中止したときに、通信プロトコルに転送終了パケットを付加することにより、異常が検知された通信プロトコルを補償する。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、通信データにトラブルが生じた時の処理を行うデータ転送補償装置及び画像形成装置に係り、特に転送終了パケットが伝送路等のトラブルによって転送されない場合や、転送元で転送終了パケットが転送されない場合の処理に関する。
【0002】
【従来の技術】
図3は一例として、3つのパケットが連結された場合を示し、各パケットのディスクリプタの構造は以下のようになっている。Next Descriptor Pointerは次のディスクリプタへのポインタであり、Buffer Addressはデータバッファの先頭のアドレスである。Transfer Sizeはデータバッファに格納されたデータのサイズであり、EOP(End Of Packet)フラグが1のときは、このディスクリプタでパケットが終了していることを示し、0の時はパケット続いていることを示す。
【0003】
従来例として特許文献1には、データ異常を検知した時にプロトコルリスタートを要求し、再度データ転送を行う方法が提案されている。
【0004】
【特許文献1】
特開2001−237913号公報
【0005】
【発明が解決しようとする課題】
ところで、図4は2つ目のパケットで最初のデータが終了し、3つ目のパケットで次のデータを受信しており、ホストが2つ目のパケットを転送してもEOPパケットを送信していない例を示す。本来なら、ホストが2つ目のパケットの送信後、Transfer Sizeが最大パケットサイズの整数倍(USBのFull Speedなら64、High Speedなら512が最大パケットサイズである)ならばNullパケット(ゼロレングスパケット)を送信してくるので、2つ目のディスクリプタのEOPが1になる。図4中のパケットは、3個のディスクリプタ1、2、3があるが、ディスクリプタ1,2のEOP(End of Packet)フラグが0、ディスクリプタ3のEOPフラグが1であるので、図4のパケットはディスクリプタ3で終了するように見える。すると、3つ目の余分なデータまで連結するので、特にプリンタの場合には、連結されたデータまで印字すると文字化け等の不具合を生じる。
【0006】
また、特許文献1では、データ異常を検知した時にプロトコルリスタートを要求し、再度データ転送を行うので、データ異常時のデータ転送に時間を要するという欠点がある。
【0007】
本発明は上記従来例の問題点に鑑み、異常が検知された通信プロトコルを補償することができるデータ転送補償装置及び画像形成装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
第1の手段は上記目的を達成するために、外部機器とデータ転送を行うインターフェースと、前記インターフェースを介してデータを受信した場合に通信プロトコルが異常か否かを検知する通信プロトコル異常検知手段と、前記通信プロトコル異常検知手段が通信プロトコルの異常を検知したときに前記インターフェースからのデータ入力を中断または中断したデータ入力を再開するデータ転送手段と、前記データ転送手段が前記インターフェースからのデータ入力を一時中止したときに、異常が検知された通信プロトコルを補償する通信プロトコル補償手段とを備えたことを特徴とする。
【0009】
具体的には図2に示すように、通信プロトコル異常検知手段130はインターフェース108を介してデータを受信した場合に通信プロトコルが異常か否かを検知し、DMAC1081は通信プロトコル異常検知手段130が通信プロトコルの異常を検知したときにインターフェース101〜109からのデータ入力を中断または中断したデータ入力を再開し、通信プロトコル補償手段123はDMAC1081がインターフェース108からのデータ入力を一時中止したときに、通信プロトコルに転送終了パケットを付加することにより、異常が検知された通信プロトコルを補償する。
【0010】
上記構成により、異常が検知された通信プロトコルを補償することができる。
【0011】
第2の手段は、第1の手段において、前記通信プロトコル異常検知手段は、データ転送手段におけるデータ転送サイズが前記インターフェースの転送可能な最大パケットサイズの整数倍から更新されないときに通信プロトコルの異常と検知することを特徴とする。
【0012】
第3の手段は、第1、第2の手段において、前記通信プロトコル補償手段が、通信プロトコルに転送終了パケットを付加することにより、異常が検知された通信プロトコルを補償することを特徴とする。
【0013】
第4の手段は、第3の手段において、前記転送終了パケットが、USBにおけるNULLパケットであることを特徴とする。
【0014】
第5の手段は、第1ないし第4の手段において、前記データ転送手段が、DMA転送機能を有することを特徴とする。
【0015】
第6の手段は、第1ないし第5の手段において、前記インターフェースが、シリアル・インターフェースであることを特徴とする。
【0016】
第7の手段は、第6の手段において、前記シリアル・インターフェースが、USBであることを特徴とする。
【0017】
第8の手段は、記録媒体に可視画像を形成する画像形成装置において、
請求項1ないし7のいずれか1項に記載のデータ転送補償装置を備えていることを特徴とする。
【0018】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。図1は本発明に係るデータ転送補償装置及び画像形成装置の一実施形態を示すブロック図、図2は図1のASICを詳しく示すブロック図、図3はDMAのディスクプリタの構造を示す説明図、図4は通信プロトコルの異常を示す説明図、図5はDMAデータ転送時の制御を説明するためのタイミングチャート、図6はNullパケット受信時の制御を説明するためのタイミングチャート、図7は本発明の制御を説明するためのタイミングチャートである。
【0019】
図1は一例として、MFP(マルチ・ファンクション・ペリフェラル)9のコントローラボード1を示し、コントローラボード1上にはSDRAM2と、プログラムやデータを蓄積している不揮発性のフラッシュROM3と、PHYデバイス4と、フラッシュROM3やSDRAM2上のプログラムを実行可能なCPU25と、本発明のASIC100が実装されている。ASIC100はMFP9の操作を行う操作部6と、プログラムやデータの蓄積が可能なHDD7に接続され、また、PCIバス8を介してMFP9に接続されている。
【0020】
図2を参照してASIC100について詳しく説明する。ASIC100にはCPU5と接続可能なCPU I/F101と、メモリと接続可能なメモリI/F(図はSDRAM2のI/F102の例を示している。他のメモリI/Fを搭載すればそのメモリも勿論利用可能である)、フラッシュROM3と接続可能なローカルバス(Local Bus)I/F103と、HDD7と接続可能なHDD I/F104と、操作部6と接続可能なOPE I/F105と、通信I/Fとしてセントロ(1284)I/F106、MAC I/F107及びUSB I/F108を備えている。MAC I/F107にはPHYデバイス5を接続してネットワークと接続可能である。また、PCIバス8を接続するPCI I/F109を備えている。
【0021】
コントローラボード1において、通信I/F106〜108からの印刷データをMFP9で印刷可能な形式に変換してPCIバス8経由でMFP9から画像を印刷することが可能である。また、スキャナからの画像をPCIバス8経由でHDD7に蓄積することも可能である。
【0022】
ASIC100の通信I/FであるセントロI/F106、MAC I/F107、USB I/F108やHDD I/F104、OPE I/F105、Rotate部110、Comp/De−comp部111にはそれぞれ、メモリリード用とメモリライト用の2組のDMAC(1061、1062)、(1071、1072)、(1081、1082)、(1041、1042)、(1051、1052)、(1101、1102)、(1111、1112)が接続されている。DMAC(1061、1062)、(1071、1072)、(1081、1082)、(1041、1042)、(1051、1052)、(1101、1102)、(1111、1112)はアービタ112に接続されており、アービタ112の優先順位の設定によってアクセス順位が決定される。また、Rotate部110はメモリ中の画像を回転させる機能を備え、Comp/De−comp部111はメモリ中の画像を圧縮/解凍する機能を備え、ともにアービタ112経由で画像をアクセスする。
【0023】
DMAC(1061、1062)、(1071、1072)、(1081、1082)、(1041、1042)、(1051、1052)、(1101、1102)、(1111、1112)が接続されている。2組のDMAC(1061、1062)、(1071、1072)、(1081、1082)、(1041、1042)、(1051、1052)、(1101、1102)、(1111、1112)の各々は、バッファメモリ120と、ポーズ機能121と、カウンタ122と、通信プロトコル補償手段123を有し、また、通信プロトコル異常検知手段130とタイマ131が設けられている。
【0024】
次に、通信プロトコルの異常を判断する方法について、USB I/F108を例に説明する。図4はUSB I/F108から2つ目のパケット(2つ共最大パケット長の整数倍のデータ長)を受信したときの状態を示している。まだNullパケットを受信していないので、DMAのディスクリプタのEOPフラグは0の状態である。
【0025】
図5はUSB I/F108からのDMAでデータ転送するときの制御タイミングである。CLKはASIC100のシステムクロックである。USB I/F108からデータが準備できたことを示すDMA Reqがアサートされると、DMAC1081側では、データを受け取る準備ができているときにDMA Ackをアサートしてデータ(図5のValidのDATA部分)を受け取る。次に、USB I/F108がNull Packetを受信すれば、図6のように、USB I/F108からNull Packetを受信したことを示すDMA Null_Reqをアサートし、DMAC1081がAckをアサートすることで、DMAC1081がパケットの終了を認識するのでディスクリプタのEOPフラグを1にすることが可能になる。
【0026】
本実施形態では、USB I/F108がNull Packetを受信できない場合は、図7のようなタイミングになる。図7の信号について図5と重複している信号の説明は省略する。図7のCounterの値は、図2のカウンタ122の値であり、時刻T0で初期化されている。時刻T1でUSB I/F108からDMAC1081へのReqがアサートされてDMA要求がある。X_PAUSEは、通信プロトコル異常を検出したときにアサートされる信号である。
【0027】
Counter値がUSBの規格で定められた最大パケットサイズ(Full Speedの時は64バイト、High Speedのときは512バイト)の倍数になってかつ定められた期間(T_same)内にCounter値に変化がなければ、USB I/F108が転送終了パケットであるNull Packetを受信できていないとみなして、DMAC1081のPause機能121によりX_PAUSEをアサートする。それ以外はデアサートする。時刻T2では、X_PAUSEはデアサートされているので、DMAC1081は時刻T2でAckをアサートすることができる。DMAC1081は時刻T2からT3の期間データを受け付けることが可能になり、アービタ112経由でメモリにデータを転送可能である。
【0028】
図7のDATAの番号は有効なデータの個数を示している。512個のデータが最初に転送されたのでCounter値は512になる(時刻T3)。Counter値が最大パケットサイズの整数倍になっているが、
(T5−T3)<T_same
となっているため(Counter値が512である期間がT_sameに達していないため)X_PAUSEはデアサートされている。時刻T4で再びUSB I/F108からDMA要求がある。時刻T5ではX_PAUSEがデアサートされているので、次のクロックでDMAC1081はAckをアサート可能である。DMAC1081がAckをアサートするとDMA転送が開始される。
【0029】
図7では時刻T6で転送が終了しており、Counter値は1024になっている。
【0030】
(T8−T6)>T_same
となっているため(Counter値が512である期間がT_sameに達しているため)、X_PAUSEは時刻T8でアサートされる。通信プロトコル異常が発生した(USBI/F108の場合はNull Packetが受信できない)とみなして時刻T8の次のクロックでINS_ON信号をアサートして、ディスクリプタのEOPフラグを1にする。また、時刻T8においてCounter値は0にクリアされる。
【0031】
EOPフラグを1にする処理が終了した時刻T10の次の時刻T11にX_PAUSEがデアサートされる。時刻T12ではX_PAUSEがデアサートされているので、DMAC1081は再びDMA転送を開始する。時刻T13でDMA転送が終了(転送バイト数は100バイト)している。データ転送がショートパケット(転送バイト長が最大パケットサイズの整数倍でない場合)であるので、EOPフラグを1にし、データ転送が終了した時刻t13でCounterを0にクリアし、次のパケットを受信する準備を整える。
【0032】
図3にDMAのディスクリプタの状態を示す。DMAのディスクリプタ2,3のEOPフラグが1になっているので、パケット2でパケットが終了したことになる。このようにMFP9のコントローラボード1のUSB I/F108において、Null Packetが受信できないという通信プロトコル異常を認識して、Null Packetを受信したことにするので、印刷データで文字化け等の問題は回避されることになる。
【0033】
本発明は、コンピュータ周辺機器、MFP、プリンタ、スキャナ、FAX等のデータ転送に応用できる。
【0034】
【発明の効果】
以上説明したように本発明によれば、外部機器とデータ転送を行うインターフェース手段からのデータが通信プロトコル異常であるか否かを検知し、通信プロトコルの異常を検知したときに、異常が検知された通信プロトコルを補償するので、通信プロトコルの補償が可能になる。
【図面の簡単な説明】
【図1】本発明に係るデータ転送補償装置及び画像形成装置の一実施形態を示すブロック図である。
【図2】図1のASICを詳しく示すブロック図である。
【図3】DMAのディスクプリタの構造を示す説明図である。
【図4】通信プロトコルの異常を示す説明図である。
【図5】DMAデータ転送時の制御を説明するためのタイミングチャートである。
【図6】Nullパケット受信時の制御を説明するためのタイミングチャートである。
【図7】本発明の制御を説明するためのタイミングチャートである。
【符号の説明】
101〜109 インターフェース
120 バッファメモリ
121 ポーズ機能
122 カウンタ
123 通信プロトコル補償手段
130 通信プロトコル異常検知手段
131 タイマ
1061,1062,1071,1072,1081,1082,1041,1042,1051,1052,1101,1102,1111,1112 DMAC

Claims (8)

  1. 外部機器とデータ転送を行うインターフェースと、
    前記インターフェースを介してデータを受信した場合に通信プロトコルが異常か否かを検知する通信プロトコル異常検知手段と、
    前記通信プロトコル異常検知手段が通信プロトコルの異常を検知したときに前記インターフェースからのデータ入力を中断または中断したデータ入力を再開するデータ転送手段と、
    前記データ転送手段が前記インターフェースからのデータ入力を一時中止したときに、異常が検知された通信プロトコルを補償する通信プロトコル補償手段とを備えたデータ転送補償装置。
  2. 前記通信プロトコル異常検知手段は、前記データ転送手段におけるデータ転送サイズが前記インターフェースの転送可能な最大パケットサイズの整数倍から更新されないときに通信プロトコルの異常と検知することを特徴とする請求項1記載のデータ転送補償装置。
  3. 前記通信プロトコル補償手段は、通信プロトコルに転送終了パケットを付加することにより、異常が検知された通信プロトコルを補償することを特徴とする請求項1又は2記載のデータ転送補償装置。
  4. 前記転送終了パケットは、USBにおけるNULLパケットであることを特徴とする請求項3記載のデータ転送補償装置。
  5. 前記データ転送手段は、DMA転送機能を有することを特徴とする請求項1ないし4のいずれか1つに記載のデータ転送補償装置。
  6. 前記インターフェースは、シリアル・インターフェースであることを特徴とする請求項1ないし5のいずれか1つに記載のデータ転送補償装置。
  7. 前記シリアル・インターフェースは、USBであることを特徴とする請求項6記載のデータ転送補償装置。
  8. 記録媒体に可視画像を形成する画像形成装置において、
    請求項1ないし7のいずれか1項に記載のデータ転送補償装置を備えていることを特徴とする画像形成装置。
JP2002381998A 2002-12-27 2002-12-27 データ転送補償装置及び画像形成装置 Pending JP2004214942A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002381998A JP2004214942A (ja) 2002-12-27 2002-12-27 データ転送補償装置及び画像形成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002381998A JP2004214942A (ja) 2002-12-27 2002-12-27 データ転送補償装置及び画像形成装置

Publications (1)

Publication Number Publication Date
JP2004214942A true JP2004214942A (ja) 2004-07-29

Family

ID=32817745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002381998A Pending JP2004214942A (ja) 2002-12-27 2002-12-27 データ転送補償装置及び画像形成装置

Country Status (1)

Country Link
JP (1) JP2004214942A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606866B2 (en) 2011-02-10 2013-12-10 Kaspersky Lab Zao Systems and methods of probing data transmissions for detecting spam bots

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606866B2 (en) 2011-02-10 2013-12-10 Kaspersky Lab Zao Systems and methods of probing data transmissions for detecting spam bots

Similar Documents

Publication Publication Date Title
CN108363669B (zh) 存储器访问系统、其控制方法、存储介质及图像形成装置
JP2002342261A (ja) データ転送制御装置及び電子機器
JP3970728B2 (ja) データ通信装置
US8786891B2 (en) Apparatus, method, and storage medium for transferring data to a buffer
JP2004214942A (ja) データ転送補償装置及び画像形成装置
JP2006270470A (ja) ネットワーク機器
JP3730586B2 (ja) 画像処理装置
JP2005074928A (ja) データ処理システム、データ処理装置、及びデータ受信プログラム
JP5736847B2 (ja) 画像形成装置およびその制御方法
JP2010218170A (ja) データ転送装置、情報処理装置、アービトレーション方法及び画像形成システム
JP2006338232A (ja) 通信システム
JP6833491B2 (ja) 情報処理装置
JP2003248558A (ja) データ転送方法、および、その装置
JP4135374B2 (ja) 拡張カードおよび拡張カードの記憶部へのデータ書き込み方法
KR100570786B1 (ko) 복합기기의 제어기
JP2010069801A (ja) 制御装置、画像形成装置および印刷システム
JP3598924B2 (ja) データ転送制御装置、情報記憶媒体及び電子機器
JP2011101249A (ja) 画像処理システム、画像処理装置、データ転送制御方法、プログラム及び記録媒体
JP3624767B2 (ja) データ転送制御装置、情報記憶媒体及び電子機器
JP2008065719A (ja) シリアルデータ受信方法,装置および画像形成装置
JP2003242103A (ja) シリアルバス通信システムおよびシリアルバス通信方法
JPH1153131A (ja) 印刷装置
JP2006014211A (ja) ネットワーク制御装置、画像処理装置、及び画像形成装置
JP4413041B2 (ja) データ転送システム及び画像形成装置
JP2007299304A (ja) データ転送制御方法,装置および画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20070109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070529