JP3857598B2 - Data transfer method, device control module using the data transfer method, and image forming apparatus - Google Patents

Data transfer method, device control module using the data transfer method, and image forming apparatus Download PDF

Info

Publication number
JP3857598B2
JP3857598B2 JP2002048517A JP2002048517A JP3857598B2 JP 3857598 B2 JP3857598 B2 JP 3857598B2 JP 2002048517 A JP2002048517 A JP 2002048517A JP 2002048517 A JP2002048517 A JP 2002048517A JP 3857598 B2 JP3857598 B2 JP 3857598B2
Authority
JP
Japan
Prior art keywords
memory
packet
stored
data
monitoring
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.)
Expired - Fee Related
Application number
JP2002048517A
Other languages
Japanese (ja)
Other versions
JP2003249965A (en
Inventor
亨 原田
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 JP2002048517A priority Critical patent/JP3857598B2/en
Publication of JP2003249965A publication Critical patent/JP2003249965A/en
Application granted granted Critical
Publication of JP3857598B2 publication Critical patent/JP3857598B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、データ転送方法およびそのデータ転送方法を利用するデバイス制御モジュール,画像形成装置に係り、特に最大パケットサイズ以下に分割されたパケットのデータ転送方法およびそのデータ転送方法を利用するデバイス制御モジュール,画像形成装置に関する。
【0002】
【従来の技術】
近年、プリンタ,コピー,ファクシミリおよびスキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、融合機という)が知られるようになった。この融合機は、1つの筐体内に表示部,印刷部および撮像部などを設けると共に、プリンタ,コピー,ファクシミリおよびスキャナにそれぞれ対応する4種類のソフトウェアを設け、そのソフトウェアを切り替えることより、プリンタ,コピー,ファクシミリおよびスキャナとして動作させるものである。
【0003】
このような融合機は、例えばUSB(Universal Serial Bus)を介して接続されたコンピュータからパケットを受信して画像形成に関する処理を行う。USBの転送方法には、バルクアウト転送,バルクイン転送,コントロール転送,アイソクロナス転送,インタラプト転送などがある。
【0004】
USBのバルクアウト転送は、ホストとしてのコンピュータから周辺機器としての融合機に転送するデータを最大パケットサイズに分割して転送する。図9は、USBのバルクアウト転送について説明する一例の図を示す。図9(A)は、フルスピードモードのバルクアウト転送の例である。図9(B)は、ハイスピードモードのバルクアウト転送の例である。
【0005】
USBのバルクアウト転送では、コンピュータから融合機に転送されるデータが最大パケットサイズ(64バイト,512バイト)のパケットに分割されて転送される。したがって、コンピュータから融合機に転送されるデータが最大パケットサイズの整数倍であれば、最後のパケットは最大パケットサイズのパケットとなる。また、コンピュータから融合機に転送されるデータが最大パケットサイズの整数倍以外であれば、最後のパケットは最大パケットサイズ未満のショートパケットとなる。
【0006】
融合機は、受信したパケットをメモリ上のブロックと呼ばれる領域(以下、単にブロックという)に順次格納していく。そして、融合機は1つのブロックを満たすデータを受信したとき又はショートパケットを受信したときに割り込みを発生し、メモリ上のディスクリプタ(Descriptor)と呼ばれる領域(以下、単にディスクリプタという)に受信したデータの情報を書き戻すことにより、受信したデータへのソフトウェアによるアクセスを可能としていた。
【0007】
【発明が解決しようとする課題】
ところで、受信側の融合機は1つのブロックを満たすデータを受信したとき又はショートパケットを受信したときに割り込みを発生する。したがって、融合機は1つのブロックを満たしていない状態で最大パケットサイズのパケットを最後に受信してもデータの最後を識別できず、割り込みを発生しない。この結果、融合機は1つのブロックを満たしていない状態で最大パケットサイズのパケットを最後に受信してもディスクリプタに受信したデータの情報を書き戻すことができず、受信したデータへのソフトウェアによるアクセスができないという問題があった。
【0008】
そこで、送信側のコンピュータは最後のパケットが最大パケットサイズであるときに0バイトのNULLパケットを続けて転送することでデータの最後を融合機に識別させる必要があったが、NULLパケットを転送しないものもあり問題であった。
【0009】
本発明は、上記の点に鑑みなされたもので、送信側から受信側に転送されるデータの最後を受信側で正確かつ迅速に識別することができるパケットのデータ転送方法およびそのデータ転送方法を利用するデバイス制御モジュール,画像形成装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
そこで、上記課題を解決するため、請求項1にかかる発明は、最大パケットサイズ以下に分割されたパケットを外部のコンピュータから受信してメモリに格納し、前記メモリに格納されたパケットが所定のデータ量となったとき又は前記メモリに最大パケットサイズ未満のパケットが格納されたときに前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とする画像形成装置のデータ転送方法であって、前記メモリに格納されるパケットを監視する監視段階と、前記監視の結果、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定し、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするアクセス段階とを有し、前記監視段階は、前記メモリにパケットが格納されているかを第1の監視時間ごとに監視する第1の監視段階と、前記監視の結果、前記メモリにパケットが格納されていれば前記第1の監視時間より短い第2の監視時間ごとに前記メモリへのパケットの格納を監視する第2の監視段階とを有することを特徴とする。
【0011】
このようなデータ転送方法では、メモリに格納されるパケットを監視し、そのメモリへのパケットの格納が所定時間無かったときにメモリへの格納が終了したと判定する。したがって、転送されるデータが最大パケットサイズの整数倍であって、最後のパケットが最大パケットサイズであってもデータの最後を正確に識別できる。
【0013】
また、このようなデータ転送方法では、メモリにパケットが格納されていることを確認したあと、第1の監視時間より短い第2の監視時間ごとにメモリへのパケットの格納を監視することにより、最後のパケットが最大パケットサイズであってもデータの最後を迅速に識別できる。
【0014】
また、請求項にかかる発明は、前記第1の監視段階が、前記画像形成装置のパケット入力手段に設けられたレジスタから前記メモリに格納されたパケットのデータ量を取得し、取得したデータ量に応じて前記メモリにパケットが格納されているかを第1の監視時間ごとに監視し、前記第2の監視段階が、前記第2の監視時間ごとに前記レジスタから前記メモリに格納されたパケットのデータ量を取得し、取得したデータ量の変化に応じて前記メモリへのパケットの格納を監視することを特徴とする。
【0015】
このようなデータ転送方法では、メモリに格納されたパケットのデータ量をパケット入力手段に設けられたレジスタから取得できるので、取得したデータ量の変化に応じてメモリへのパケットの格納を監視できる。
【0016】
また、請求項にかかる発明は、前記アクセス段階が、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定する判定段階と、前記判定の結果、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするためのパケット情報を前記メモリに格納する格納段階とを有することを特徴とする。
【0017】
このようなデータ転送方法では、メモリへのパケットの格納が所定時間無かったらメモリへのデータの格納が完了したと判定して、メモリに格納されたデータへのソフトウェアによるアクセスを可能とすることができる。
【0018】
また、請求項にかかる発明は、前記パケット入力手段が、デバイス制御素子およびインターフェース制御素子を有することを特徴とする。
【0019】
このようなデータ転送方法では、パケット入力手段をデバイス制御素子とインターフェース制御素子とで構成することができる。
【0020】
また、請求項にかかる発明は、前記デバイス制御素子がUSBのデバイス制御素子であり、前記インターフェース制御素子がUSBとPCIバスとのインターフェース制御素子であることを特徴とする。
【0021】
このようなデータ転送方法では、デバイス制御素子をUSBのデバイス制御素子で構成し、インターフェース制御素子をUSBとPCIバスとのインターフェース制御素子で構成することができる。
【0022】
また、請求項にかかる発明は、前記パケット情報が、前記データが格納されているメモリ上のアドレスと、前記メモリに格納されているデータのデータ量とを有することを特徴とする。
【0023】
このようなデータ転送方法では、データが格納されているメモリ上のアドレスとメモリに格納されているデータのデータ量とでパケット情報を構成することができる。
【0030】
また、上記課題を解決するため、請求項にかかる発明は、最大パケットサイズ以下に分割されたパケットを外部のコンピュータから受信してメモリに格納し、前記メモリに格納されたパケットが所定のデータ量となったとき又は前記メモリに最大パケットサイズ未満のパケットが格納されたときに前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とする画像形成装置のデバイス制御モジュールであって、前記メモリに格納されるパケットを監視する監視手段と、前記監視の結果、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定し、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするアクセス手段とを有し、前記監視手段は、前記メモリにパケットが格納されているかを第1の監視時間ごとに監視する第1の監視手段と、前記監視の結果、前記メモリにパケットが格納されていれば前記第1の監視時間より短い第2の監視時間ごとに前記メモリへのパケットの格納を監視する第2の監視手段とを有することを特徴とする。
【0031】
このようなデバイス制御モジュールでは、メモリに格納されるパケットを監視し、そのメモリへのパケットの格納が所定時間無かったときにメモリへの格納が終了したと判定する。したがって、転送されるデータが最大パケットサイズの整数倍であって、最後のパケットが最大パケットサイズであってもデータの最後を正確に識別できる。
【0033】
また、このようなデバイス制御モジュールでは、メモリにパケットが格納されていることを確認したあと、第1の監視時間より短い第2の監視時間ごとにメモリへのパケットの格納を監視することにより、最後のパケットが最大パケットサイズであってもデータの最後を迅速に識別できる。
【0034】
また、請求項にかかる発明は、前記第1の監視手段が、前記画像形成装置のパケット入力手段に設けられたレジスタから前記メモリに格納されたパケットのデータ量を取得し、取得したデータ量に応じて前記メモリにパケットが格納されているかを第1の監視時間ごとに監視し、前記第2の監視手段は、前記第2の監視時間ごとに前記レジスタから前記メモリに格納されたパケットのデータ量を取得し、取得したデータ量の変化に応じて前記メモリへのパケットの格納を監視することを特徴とする。
【0035】
このようなデバイス制御モジュールでは、メモリに格納されたパケットのデータ量をパケット入力手段に設けられたレジスタから取得できるので、取得したデータ量の変化に応じてメモリへのパケットの格納を監視できる。
【0036】
また、請求項にかかる発明は、前記アクセス手段が、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定する判定手段と、前記判定の結果、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするためのパケット情報を前記メモリに格納する格納手段とを有することを特徴とする。
【0037】
このようなデバイス制御モジュールでは、アクセス手段を判定手段と格納手段とで構成することができる。
【0038】
また、請求項10にかかる発明は、前記デバイス制御モジュールが、USBのデバイスドライバであることを特徴とする。
【0039】
このようなデバイス制御モジュールでは、デバイス制御モジュールをUSBのデバイスドライバで構成することができる。
【0040】
また、上記課題を解決するため、請求項11にかかる発明は、プリンタ部またはスキャナ部の少なくとも一方を含む画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションからアクセスされて共通に利用されるプログラムとを有する画像形成装置であって、外部のコンピュータから受信した最大パケットサイズ以下に分割されたパケットを格納するメモリと、前記メモリに格納されるパケットを監視し、前記メモリに格納されたパケットが所定のデータ量となったとき,前記メモリに最大パケットサイズ未満のパケットが格納されたとき又は前記メモリへのパケットの格納が所定時間無かったときに前記メモリへのデータの格納が完了したと判定し、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするデバイス制御モジュールとを有し、前記デバイス制御モジュールは、前記メモリにパケットが格納されているかを第1の監視時間ごとに監視し、前記メモリにパケットが格納されていれば前記第1の監視時間より短い第2の監視時間ごとに前記メモリへのパケットの格納を監視することを特徴とする。
【0041】
このような画像形成装置では、メモリに格納されるパケットを監視し、そのメモリへのパケットの格納が所定時間無かったときにメモリへの格納が終了したと判定する。したがって、転送されるデータが最大パケットサイズの整数倍であって、最後のパケットが最大パケットサイズであってもデータの最後を正確に識別できる。
また、このような画像形成装置では、メモリにパケットが格納されていることを確認したあと、第1の監視時間より短い第2の監視時間ごとにメモリへのパケットの格納を監視することにより、最後のパケットが最大パケットサイズであってもデータの最後を迅速に識別できる。
【0042】
また、請求項12にかかる発明は、外部のコンピュータから受信したパケットをメモリに転送すると共に、前記メモリに転送したパケットのデータ量を記憶する転送手段を更に有することを特徴とする。
【0043】
このような画像形成装置では、メモリに転送されたパケットのデータ量を記憶しておくことができるので、記憶したデータ量の変化に応じてメモリへのパケットの転送を監視できる。
【0044】
また、請求項13にかかる発明は、前記転送手段が、DMA転送を制御する転送制御部と、前記メモリに転送したパケットのデータ量を記憶するレジスタとを有することを特徴とする。
【0045】
このような画像形成装置では、転送手段を転送制御部とレジスタとで構成することができる。
【0048】
また、請求項14にかかる発明は、前記デバイス制御モジュールが、前記メモリに格納されたパケットのデータ量を前記レジスタから取得し、取得したデータ量に応じて前記メモリにパケットが格納されているかを第1の監視時間ごとに監視し、前記メモリにパケットが格納されていれば、前記第2の監視時間ごとに前記メモリに格納されたパケットのデータ量を前記レジスタから取得し、取得したデータ量の変化に応じて前記メモリへのパケットの格納を監視することを特徴とする。
【0049】
このような画像形成装置では、メモリに転送されたパケットのデータ量をレジスタから取得できるので、取得したデータ量の変化に応じてメモリへのパケットの転送を監視できる。
【0050】
また、請求項15にかかる発明は、前記デバイス制御モジュールが、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定し、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするためのパケット情報を前記メモリに格納することを特徴とする。
【0051】
このような画像形成装置では、メモリへのパケットの格納が所定時間無かったらメモリへのデータの格納が完了したと判定して、メモリに格納されたデータへのソフトウェアによるアクセスを可能とすることができる。
【0052】
また、請求項16にかかる発明は、前記パケット情報が、前記データが格納されているメモリ上のアドレスと、前記メモリに格納されているデータのデータ量とを有することを特徴とする。
【0053】
このような画像形成装置では、データが格納されているメモリ上のアドレスとメモリに格納されているデータのデータ量とでパケット情報を構成することができる。
【0054】
また、請求項17にかかる発明は、前記デバイス制御モジュールが、USBのデバイスドライバであることを特徴とする。
【0055】
このような画像形成装置では、デバイス制御モジュールをUSBのデバイスドライバで構成することができる。
【0056】
また、請求項18にかかる発明は、前記デバイス制御モジュールが、処理内容が記述された関数を呼び出して前記処理を行うことを特徴とする。
【0057】
このような画像形成装置では、デバイス制御モジュールが関数を呼び出して処理を行うことができる。
【0058】
【発明の実施の形態】
次に、本発明の実施の形態について図面に基づいて説明する。
【0059】
図1は、本発明による融合機の一実施例の構成図を示す。融合機1は、白黒ラインプリンタ11と,カラーラインプリンタ12と,スキャナやファクシミリなどのハードウェアリソース13と,ソフトウェア群20と,融合機起動部50とを有するように構成される。また、ソフトウェア群20はアプリケーション30とプラットフォーム40とを有するように構成される。
【0060】
プラットフォーム40は、アプリケーション30からの処理要求を解釈してハードウェア資源の獲得要求を発生するコントロールサービスと、1つ以上のハードウェア資源の管理を行ってコントロールサービスからの獲得要求を調停するシステムリソースマネージャ(以下、SRMという)43と、オペレーティングシステム(以下、OSという)41とを有するように構成されている。
【0061】
コントロールサービスは、システムコントロールサービス(以下、SCSという)42,エンジンコントロールサービス(以下、ECSという)44,メモリコントロールサービス(以下、MCSという)45,オペレーションパネルコントロールサービス(以下、OCSという)46,ファックスコントロールサービス(以下、FCSという)47,ネットワークコントロールサービス(以下、NCSという)48など一つ以上のサービスモジュールを有するように構成されている。
【0062】
なお、プラットフォーム40は予め定義されている関数によりアプリケーション30からの処理要求を受信可能とするアプリケーションプログラムインターフェース(以下、APIという)を有するように構成されている。
【0063】
OS41は、ユニックス(UNIX(登録商標))などのオペレーティングシステムであって、プラットフォーム40およびアプリケーション30の各ソフトウェアをプロセスとして並列実行する。
【0064】
SRM43のプロセスは、SCS42と共にシステムの制御およびリソースの管理を行うものである。例えばSRM43のプロセスは、スキャナ部やプリンタ部などのエンジン,メモリ,ハードディスク装置(HDD)ファイル,ホストI/O(セントロインターフェース,ネットワークインターフェース,IEEE1394インターフェース,RS232Cインターフェースなど)のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
【0065】
具体的に、SRM43は要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判定し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に通知する。また、SRM43は上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、例えばプリンタエンジンによる紙搬送と作像動作,メモリ確保,ファイル生成などの要求内容を直接実施している。
【0066】
SCS42のプロセスは、アプリケーション管理,操作部制御,システム画面表示,LED表示,リソース管理,割り込みアプリケーション制御を行う。ECS44のプロセスは、白黒ラインプリンタ11,カラーラインプリンタ12,ハードウェアリソース13のエンジンの制御を行う。
【0067】
MCS45のプロセスは、画像メモリの取得および解放,ハードディスク装置(HDD)の利用,画像データの圧縮および伸張などを行う。OCS46のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。
【0068】
FCS47のプロセスは、システムコントローラの各アプリケーション層からPSTNまたはISDN網を利用したファクシミリ送受信,BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用,ファクシミリ読み取り,ファクシミリ受信印刷,融合送受信を行うためのアプリケーションを提供する。
【0069】
NCS48のプロセスは、ネットワークI/Oを必要とするアプリケーションに対し、共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【0070】
また、アプリケーション30は、プリンタ,コピー,ファクシミリ,スキャナなどの画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うものである。アプリケーション30は、ページ記述言語(PDL,PCL)およびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ31と,コピー用アプリケーションであるコピーアプリ32と,ファクシミリ用アプリケーションであるファックスアプリ33と,スキャナ用アプリケーションであるスキャナアプリ34と,ネットワークファイル用アプリケーションであるネットファイルアプリ35と,工程検査用アプリケーションである工程検査アプリ36とを有している。
【0071】
融合機起動部50は、融合機1の電源投入時に最初に実行され、アプリケーション30やプラットフォーム40を起動するものである。例えば融合機起動部50は、コントロールサービスやアプリケーションのプログラムをフラッシュメモリから読み出し、読み出した各プログラムをSRAMまたはSDRAM上に確保したメモリ領域に転送して起動するものである。
【0072】
図2は、本発明による融合機の一実施例のハードウェア構成図を示す。図2の融合機1は、コントローラボード60と,オペレーションパネル70と,ファックスコントロールユニット(以下、FCUという)80と,USBデバイス90と,IEEE1394デバイス100と,エンジン部110とを有するように構成される。
【0073】
オペレーションパネル70は、コントローラボード60のASIC62に直接接続されている。また、FCU80,USBデバイス90,IEEE1394デバイス100およびエンジン部110は、コントローラボード60のASIC62にPCIバス(Peripheral Component Interconnect bus)などで接続されている。
【0074】
また、コントローラボード60は、CPU61と,ASIC62と,SRAM(Static RAM)63と,SDRAM(Synchronous DRAM)64と,フラッシュメモリ65と,HDD66とを有するように構成される。コントローラボード60は、CPU61,SRAM63,SDRAM64,フラッシュメモリ65,HDD66などをASIC62に接続するように構成されている。
【0075】
CPU61は、融合機1の全体制御を行うものである。CPU61は、OS41上でプラットフォーム40を形成するSCS42,SRM43,ECS44,MCS45,OCS46,FCS47およびNCS48をそれぞれプロセスとして起動して実行させると共に、アプリケーション30を形成するプリンタアプリ31,コピーアプリ32,ファックスアプリ33,スキャナアプリ34,ネットファイルアプリ35および工程検査アプリ36を起動して実行させる。
【0076】
ASIC62は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。SRAM63およびSDRAM64は、本発明におけるメモリを構成する。SRAM63およびSDRAM64の物理メモリ領域には、カーネルやプロセスなどの仮想メモリ領域がマッピングされる。
【0077】
フラッシュメモリ65は、アプリケーション30またはプラットフォーム40を構成する各アプリやコントロールサービス,SRM43などの各プログラムが格納されている。HDD66は、画像データの蓄積,プログラムの蓄積,フォントデータの蓄積,フォームの蓄積を行うためのストレージである。オペレーションパネル70はオペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う操作部である。
【0078】
このような融合機1は、例えばUSBを介して接続されたホストとしてのコンピュータからデータを受信して画像形成に関する処理を行う。以下、USBを介して接続されたコンピュータから融合機1にデータが転送される例について説明する。コンピュータから融合機1へのデータ転送では、例えばUSBのバルクアウト転送が利用される。USBのバルクアウト転送は、トークンフェーズ,データフェーズおよびハンドシェイクフェーズの繰り返しによりパケットに分割したデータを転送するものである。
【0079】
ここで、USBのバルクアウト転送によりパケットを受信したときの融合機1の処理について図3を参照しつつ説明する。図3は、データ受信処理の一例について説明するための図を示す。
【0080】
USBデバイス制御部91は、最大パケットサイズに分割されたパケットを受信し、受信したパケットをUSB−PCIインターフェース制御部92のシリアルインターフェースエンジン93に送信する。シリアルインターフェースエンジン93は、受信したパケットを受信バッファ94に格納する。
【0081】
なお、USBを介して接続されたコンピュータにデータを送信する場合、シリアルインターフェースエンジン93は送信バッファ95に格納されたパケットを受信してコンピュータに送信する。
【0082】
PCIインターフェース96の内部に設けられたダイレクトメモリアクセスコントローラ(以下、DMACという)97は、受信バッファ94に格納されたパケットを受信し、受信したパケットをPCIバスおよびASIC62を介してSDRAM64上の1つ以上のブロック120に格納する。また、PCIインターフェース96の内部に設けられた転送データカウントレジスタ98は、PCIインターフェース96を介してPCIバスに転送されたパケットのデータ量をカウントする。
【0083】
例えば転送データカウントレジスタ98は、PCIインターフェース96を介してPCIバスに転送されたパケットのデータ量を、パケットがPCIバスに転送される度に更新する。1つのブロック120を満たすデータを受信したとき又はショートパケットを受信したとき割り込みが発生し、カーネル内部のUSBデバイスドライバはSDRAM64上の1つ以上のディスクリプタ121に、受信したデータの情報を書き戻す。受信したデータの情報は、例えば1つのブロック120に格納されているデータのデータ量と、そのデータが格納されているアドレスとを含んでいる。なお、ブロック120とディスクリプタ121とは一対一に対応している。
【0084】
ディスクリプタ121に受信したデータの情報が書き戻されると、ブロック120に格納されたデータへのソフトウェアによるアクセスが可能となる。ディスクリプタ121に受信したデータの情報が書き戻されるとき、転送データカウントレジスタ98のカウントがクリアされる。つまり、転送データカウントレジスタ98は、1つのブロックに格納されたデータのデータ量をカウントするものである。
【0085】
一方、図4に表すように、コンピュータから融合機1に転送されるデータが最大パケットサイズの整数倍であれば、最後のパケットは最大パケットサイズのパケットとなる。図4は、最大パケットサイズのパケットを最後に受信する例について説明する図を示す。
【0086】
例えばUSBのバルクアウト転送を利用してコンピュータから融合機1に640バイトのデータを転送する場合、コンピュータは640バイトのデータを最大パケットサイズの64バイトごとに分割し、10個のパケットを生成する。この場合、コンピュータから融合機1に転送されるデータが最大パケットサイズ64バイトの整数倍となり、最後のパケットは最大パケットサイズ(64バイト)のパケットとなる。生成されたパケットは、1パケットずつコンピュータから融合機1へ転送される。
【0087】
融合機1は受信したパケットをSDRAM64の1つのブロック120に順次格納していく。ここでは、ブロック120が4kバイトの領域を有するものとして説明する。ところで、割り込みは1つのブロック120を満たすデータを受信したとき又はショートパケットを受信したときに割り込みが発生する。
【0088】
言い替えれば、1つのブロック120を満たしていない状態で最大パケットサイズのパケットを最後に受信しても割り込みが発生しない。図4の場合、1つのブロック120を満たしていない状態で最後に最大パケットサイズのパケットを受信しているために割り込みが発生せず、データの最後が識別できない。
【0089】
そこで、本発明による融合機1では、カーネル内部のUSBデバイスドライバが図5のような処理を行うことで、1つのブロック120を満たしていない状態で最後に最大パケットサイズのパケットを受信してもデータの最後を識別できるようにする。
【0090】
図5は、バルクアウト転送におけるタイムアウト処理の一例のフローチャートを示す。図5中、ステップS10では、USBデバイスドライバが監視時間間隔とタイムアウト時間とを初期化する。例えば監視時間間隔が100ms,タイムアウト時間が500msに設定される。また、ステップS10の処理は融合機1の起動時に行われる。
【0091】
ステップS10に続いてステップS11に進み、USBデバイスドライバはタイマを起動する。ステップS11に続いてステップS12に進み、USBデバイスドライバはステップS11で起動したタイマを参照して監視時間になったか否かを判定する。
【0092】
監視時間になっていないと判定すると(S12においてNO)、USBデバイスドライバはステップS12の処理を繰り返す。一方、監視時間になっていると判定すると(S12においてYES)、USBデバイスドライバはステップS13に進み、監視対象として転送データカウントレジスタ98のカウント値を読み出す。即ち、USBデバイスドライバはPCIインターフェース96を介してPCIバスに転送されたパケットのデータ量を読み出している。
【0093】
ステップS13に続いてステップS14に進み、USBデバイスドライバは監視対象として転送データカウントレジスタ98のカウント値に変化があったか否かを判定する。即ち、USBデバイスドライバは1つのブロック120へのパケットの転送が開始されたか否かを判定している。
【0094】
転送データカウントレジスタ98のカウント値に変化がないと判定すると(S14においてNO)、USBデバイスドライバはステップS12に進み、ステップS12〜S14の処理を繰り返す。一方、転送データカウントレジスタ98のカウント値に変化があると判定すると(S14においてYES)、USBデバイスドライバはステップS15に進む。
【0095】
ステップS15では、USBデバイスドライバが監視時間間隔とタイムアウト時間とを再設定する。ステップS15で設定される監視時間間隔は、ステップS10で設定された監視時間より短いものとする。この理由は、監視時間間隔を短くすることでデータの最後を迅速に識別するためである。例えばステップS10で設定される監視時間間隔が100msのとき、ステップS15では監視時間間隔を10msに設定する。
【0096】
ステップS15に続いてステップS16に進み、USBデバイスドライバはステップS11で起動したタイマを参照して監視時間になったか否かを判定する。監視時間になっていないと判定すると(S16においてNO)、USBデバイスドライバはステップS16の処理を繰り返す。一方、監視時間になっていると判定すると(S16においてYES)、USBデバイスドライバはステップS17に進み、監視対象として転送データカウントレジスタ98のカウント値を読み出す。
【0097】
ステップS17に続いてステップS18に進み、USBデバイスドライバは監視対象として転送データカウントレジスタ98のカウント値に変化があったか否かを判定する。即ち、USBデバイスドライバは1つのブロック120へのパケットの転送が継続されているか否かを判定している。
【0098】
転送データカウントレジスタ98のカウント値に変化があると判定すると(S18においてYES)、USBデバイスドライバはステップS15に進み、ステップS15〜S18の処理を繰り返す。一方、転送データカウントレジスタ98のカウント値に変化がないと判定すると(S18においてNO)、USBデバイスドライバはステップS19に進む。
【0099】
ステップS19では、USBデバイスドライバが、ステップS11で起動したタイマを参照してタイムアウト時間に達したか否かを判定する。即ち、USBデバイスドライバは1つのブロック120へのパケットの転送が所定時間無かったか否かを判定している。
【0100】
タイムアウト時間に達していないと判定すると(S19においてNO)、USBデバイスドライバはステップS16に進み、ステップS16〜S19の処理を繰り返す。一方、タイムアウト時間に達したと判定すると(S19においてYES)、USBデバイスドライバはステップS20に進み、ステップS11で起動したタイマを停止する。
【0101】
ステップS20に続いてステップS21に進み、USBデバイスドライバは1つのブロック120に格納されたデータのデータ量と、そのデータが格納されているアドレスとを取得するためのデータ終端取得処理を行う。ステップS21に続いてステップS22に進み、USBデバイスドライバは図6(B)に表すようにディスクリプタ121を更新する。
【0102】
図6は、ディスクリプタ更新処理の一例について説明するための図を示す。割り込みが発生するとき、ディスクリプタ更新処理は図6(A)に表した手順で行われる。ステップS30では、SDRAM64上の1つのブロック120にパケットが順次格納される。
【0103】
ステップS31では、1つのブロック120を満たすデータが格納されるか又はショートパケットを格納したため割り込みが発生し、USBデバイスドライバが1つのブロック120に格納されたデータのデータ量とそのデータが格納されているアドレスとをディスクリプタ121に格納する。
【0104】
したがって、ステップS32では、ディスクリプタに1つのブロック120に格納されたデータのデータ量とそのデータが格納されているアドレスとが書き戻されてブロック120へのソフトウェアによるアクセスが可能となる。
【0105】
一方、割り込みが発生しないとき、ディスクリプタ更新処理は図6(B)に表した手順で行われる。ステップS40では、SDRAM64上の1つのブロック120にパケットが順次格納される。しかし、1つのブロック120を満たしていない状態で最後に最大パケットサイズのパケットを受信したため、割り込みが発生しない。
【0106】
ステップS41では、図5のタイムアウト処理により1つのブロック120へのパケットが所定時間(図5のタイムアウト時間)の間なかったときにデータの転送が完了したと判定され、ソフトウェアにより1つのブロック120に格納されたデータのデータ量とそのデータが格納されているアドレスとがディスクリプタ121に格納される。
【0107】
したがって、ステップS42では、ディスクリプタに1つのブロック120に格納されたデータのデータ量とそのデータが格納されているアドレスとが書き戻されてブロック120へのソフトウェアによるアクセスが可能となる。
【0108】
図5のフローチャートは、例えば図7および図8のような関数により実現される。図7は、タイムアウト処理を実現する関数(メイン関数)の記述例について説明する図を示す。また、図8は、タイムアウト処理を実現する関数(サブルーチン)の記述例について説明する図を示す。なお、図7および図8の処理は、図5のフローチャートの処理と同様であるため、図5のフローチャートと同一符号を付すことで説明を省略する。
【0109】
したがって、本発明のデータ転送方法を利用すれば、最後のパケットが最大パケットサイズであるときに0バイトのNULLパケットが送信側から転送されなくても、データの最後を正確かつ迅速に識別することが可能である。
【0110】
【発明の効果】
上述の如く、本発明によれば、メモリに格納されるパケットを監視し、そのメモリへのパケットの格納が所定時間無かったときにメモリへの格納が終了したと判定することにより、最後のパケットが最大パケットサイズであってもデータの最後を正確かつ迅速に識別できる。
【0111】
【図面の簡単な説明】
【図1】本発明による融合機の一実施例の構成図である。
【図2】本発明による融合機の一実施例のハードウェア構成図である。
【図3】データ受信処理の一例について説明するための図である。
【図4】最大パケットサイズのパケットを最後に受信する例について説明する図である。
【図5】バルクアウト転送におけるタイムアウト処理の一例のフローチャートである。
【図6】ディスクリプタ更新処理の一例について説明するための図である。
【図7】タイムアウト処理を実現する関数(メイン関数)の記述例について説明する図である。
【図8】タイムアウト処理を実現する関数(サブルーチン)の記述例について説明する図である。
【図9】USBのバルクアウト転送について説明する一例の図である。
【符号の説明】
1 融合機
11 白黒ラインプリンタ
12 カラーラインプリンタ
13 ハードウェアリソース
20 ソフトウェア群
30 アプリケーション
40 プラットフォーム
41 オペレーティングシステム(OS)
42 システムコントロールサービス(SCS)
43 システムリソースマネージャ(SRM)
44 エンジンコントロールサービス(ECS)
45 メモリコントロールサービス(MCS)
46 オペレーションパネルコントロールサービス(OCS)
47 ファックスコントロールサービス(FCS)
48 ネットワークコントロールサービス(NCS)
50 融合機起動部
60 コントローラボード
61 CPU
62 ASIC(Application Specific Integrated Circuit)
63 SRAM(Static RAM)
64 SDRAM(Synchronous DRAM)
65 フラッシュメモリ
66 ハードディスク装置(HDD)
70 オペレーションパネル
80 ファックスコントロールユニット(FCU)
90 USBデバイス
91 USBデバイス制御部
92 USB−PCIインターフェース制御部
93 シリアルインターフェースエンジン
94 受信バッファ
95 送信バッファ
96 PCIインターフェース
97 ダイレクトメモリアクセスコントローラ(DMAC)
98 転送データカウントレジスタ
100 IEEE1394デバイス
110 エンジン部
120 ブロック(Block)
121 ディスクリプタ(Descriptor)
[0001]
BACKGROUND OF THE INVENTION
  The present invention uses a data transfer method and the data transfer methodDeBACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a device control module and an image forming apparatus.DeThe present invention relates to a vice control module and an image forming apparatus.
[0002]
[Prior art]
In recent years, there has been known an image forming apparatus (hereinafter referred to as a multifunction peripheral) in which the functions of each apparatus such as a printer, a copy, a facsimile, and a scanner are housed in one casing. This multi-function apparatus is provided with a display unit, a printing unit, an imaging unit, and the like in one casing, and four types of software corresponding to a printer, a copy, a facsimile, and a scanner, respectively. Operates as a copy, facsimile and scanner.
[0003]
Such a compound machine receives a packet from a computer connected via, for example, a USB (Universal Serial Bus) and performs processing related to image formation. USB transfer methods include bulk-out transfer, bulk-in transfer, control transfer, isochronous transfer, and interrupt transfer.
[0004]
In USB bulk-out transfer, data to be transferred from a computer as a host to a multi-function peripheral as a peripheral device is divided into maximum packet sizes and transferred. FIG. 9 is a diagram illustrating an example of USB bulk-out transfer. FIG. 9A shows an example of bulk-out transfer in the full speed mode. FIG. 9B shows an example of high-speed mode bulk-out transfer.
[0005]
In USB bulk-out transfer, data transferred from a computer to a multi-function device is divided into packets having a maximum packet size (64 bytes, 512 bytes) and transferred. Therefore, if the data transferred from the computer to the multi-function peripheral is an integer multiple of the maximum packet size, the last packet is a packet with the maximum packet size. If the data transferred from the computer to the multi-function device is not an integral multiple of the maximum packet size, the last packet is a short packet less than the maximum packet size.
[0006]
The multi-function apparatus sequentially stores received packets in an area called a block on the memory (hereinafter simply referred to as a block). The multi-function device generates an interrupt when it receives data that satisfies one block or when it receives a short packet, and the data received in an area called a descriptor (hereinafter simply referred to as a descriptor) in the memory. By writing back the information, it was possible to access the received data by software.
[0007]
[Problems to be solved by the invention]
By the way, the receiving-side multi-function device generates an interrupt when receiving data satisfying one block or when receiving a short packet. Therefore, even if the multi-function device does not satisfy one block and receives the packet with the maximum packet size last, it cannot identify the end of the data and does not generate an interrupt. As a result, the multi-function device cannot write back the received data information to the descriptor even if the packet of the maximum packet size is received last without satisfying one block, and the software accesses the received data. There was a problem that could not.
[0008]
Therefore, the sending computer needs to identify the end of the data by continuously transferring the 0-byte NULL packet when the last packet has the maximum packet size, but does not transfer the NULL packet. There was also a problem.
[0009]
  The present invention has been made in view of the above points, and provides a packet data transfer method and a data transfer method thereof that can accurately and quickly identify the end of data transferred from a transmission side to a reception side. UseDeIt is an object to provide a vice control module and an image forming apparatus.
[0010]
[Means for Solving the Problems]
  Therefore, in order to solve the above-mentioned problem, the invention according to claim 1 is directed to receiving a packet divided into a maximum packet size or less from an external computer and storing it in a memory, and the packet stored in the memory is a predetermined data A data transfer method for an image forming apparatus that enables software access to data stored in the memory when the amount of data is stored or when a packet smaller than the maximum packet size is stored in the memory, Monitoring the packet stored in the memory, and if the result of the monitoring is that the packet storage in the memory has not been stored for a predetermined time, it is determined that the storage of the data in the memory is completed, and the data stored in the memory An access phase that allows software access toThe monitoring step includes: a first monitoring step for monitoring whether a packet is stored in the memory at every first monitoring time; and if the result of the monitoring is that a packet is stored in the memory A second monitoring stage for monitoring the storage of packets in the memory every second monitoring time shorter than the first monitoring time;It is characterized by having.
[0011]
In such a data transfer method, the packet stored in the memory is monitored, and it is determined that the storage in the memory is completed when the packet has not been stored in the memory for a predetermined time. Therefore, even if the transferred data is an integral multiple of the maximum packet size and the last packet is the maximum packet size, the end of the data can be accurately identified.
[0013]
  Also,In such a data transfer method, after confirming that a packet is stored in the memory, by monitoring the storage of the packet in the memory every second monitoring time shorter than the first monitoring time, The end of data can be quickly identified even if the packet is the maximum packet size.
[0014]
  Claims2In the invention according to the first aspect, the first monitoring step acquires a data amount of the packet stored in the memory from a register provided in a packet input unit of the image forming apparatus, and the memory according to the acquired data amount. Is stored at every first monitoring time, and the second monitoring step obtains the data amount of the packet stored in the memory from the register at each second monitoring time. The storage of the packet in the memory is monitored according to the change in the acquired data amount.
[0015]
In such a data transfer method, since the data amount of the packet stored in the memory can be acquired from a register provided in the packet input means, the storage of the packet in the memory can be monitored according to the change in the acquired data amount.
[0016]
  Claims3In the invention according to the present invention, the access step includes a determination step for determining that the storage of data in the memory is completed if the packet has not been stored in the memory for a predetermined time, and the result of the determination is stored in the memory And storing the packet information for enabling access to the data by software in the memory.
[0017]
In such a data transfer method, if there is no packet stored in the memory for a predetermined time, it is determined that the data storage in the memory is completed, and the data stored in the memory can be accessed by software. it can.
[0018]
  Claims4According to the invention, the packet input means includes a device control element and an interface control element.
[0019]
In such a data transfer method, the packet input means can be composed of a device control element and an interface control element.
[0020]
  Claims5According to the invention, the device control element is a USB device control element, and the interface control element is an interface control element between a USB and a PCI bus.
[0021]
In such a data transfer method, the device control element can be constituted by a USB device control element, and the interface control element can be constituted by an interface control element between the USB and the PCI bus.
[0022]
  Claims6According to the invention, the packet information includes an address on a memory in which the data is stored and a data amount of the data stored in the memory.
[0023]
In such a data transfer method, packet information can be constituted by an address on a memory where data is stored and a data amount of the data stored in the memory.
[0030]
  Moreover, in order to solve the said subject, a claim7The invention according toA packet divided into the maximum packet size or less is received from an external computer and stored in the memory, and when the packet stored in the memory reaches a predetermined amount of data or a packet smaller than the maximum packet size is stored in the memory. A device control module of an image forming apparatus that enables software access to data stored in the memory when the data is stored, a monitoring unit that monitors packets stored in the memory, and a result of the monitoring, Determining that the storage of data in the memory has been completed if the packet has not been stored in the memory for a predetermined time, and having access means for enabling access to the data stored in the memory by software, and The monitoring means monitors whether a packet is stored in the memory at every first monitoring time. A second monitoring unit that monitors storage of the packet in the memory every second monitoring time shorter than the first monitoring time if a packet is stored in the memory as a result of the monitoring; And monitoring means.
[0031]
In such a device control module, the packet stored in the memory is monitored, and it is determined that the storage in the memory is completed when the packet is not stored in the memory for a predetermined time. Therefore, even if the transferred data is an integral multiple of the maximum packet size and the last packet is the maximum packet size, the end of the data can be accurately identified.
[0033]
  Also,In such a device control module, after confirming that the packet is stored in the memory, the storage of the packet in the memory is monitored at every second monitoring time shorter than the first monitoring time. The end of data can be quickly identified even if the packet is the maximum packet size.
[0034]
  Claims8In the invention according to the first aspect, the first monitoring unit obtains the data amount of the packet stored in the memory from a register provided in the packet input unit of the image forming apparatus, and the memory according to the obtained data amount. The second monitoring means obtains the data amount of the packet stored in the memory from the register for each second monitoring time. The storage of the packet in the memory is monitored according to the change in the acquired data amount.
[0035]
In such a device control module, since the data amount of the packet stored in the memory can be acquired from a register provided in the packet input means, the storage of the packet in the memory can be monitored according to the change in the acquired data amount.
[0036]
  Claims9According to the invention, the access means determines that the storage of the data in the memory is completed if the packet has not been stored in the memory for a predetermined time, and the result of the determination stores the data in the memory. And storing means for storing packet information for enabling access to data by software in the memory.
[0037]
In such a device control module, the access means can be composed of a determination means and a storage means.
[0038]
  Claims10According to the invention, the device control module is a USB device driver.
[0039]
In such a device control module, the device control module can be configured by a USB device driver.
[0040]
  Moreover, in order to solve the said subject, a claim11The invention according toImage processing hardware including at least one of a printer unit and a scanner unit, one or more image processing applications for performing image processing using the image processing hardware, an operating system, and operating on the operating system, An image forming apparatus having a program that is accessed and commonly used by the one or more image processing applications, the memory storing a packet divided into a maximum packet size received from an external computer; The packet stored in the memory is monitored, and when the packet stored in the memory reaches a predetermined amount of data, a packet less than the maximum packet size is stored in the memory, or the packet is stored in the memory. When there is no predetermined time, data to the memory A device control module that enables software to access data stored in the memory, and the device control module determines whether a packet is stored in the memory. Monitoring is performed every monitoring time, and if a packet is stored in the memory, storage of the packet in the memory is monitored every second monitoring time shorter than the first monitoring time.
[0041]
  In such an image forming apparatus, the packet stored in the memory is monitored, and it is determined that the storage in the memory is completed when the packet is not stored in the memory for a predetermined time. Therefore, even if the transferred data is an integral multiple of the maximum packet size and the last packet is the maximum packet size, the end of the data can be accurately identified.
  Further, in such an image forming apparatus, after confirming that the packet is stored in the memory, by monitoring the storage of the packet in the memory every second monitoring time shorter than the first monitoring time, Even if the last packet is the maximum packet size, the end of the data can be quickly identified.
[0042]
  Claims12The invention according to the present invention is characterized by further comprising transfer means for transferring a packet received from an external computer to a memory and storing the data amount of the packet transferred to the memory.
[0043]
In such an image forming apparatus, since the data amount of the packet transferred to the memory can be stored, the transfer of the packet to the memory can be monitored according to a change in the stored data amount.
[0044]
  Claims13According to the invention, the transfer means includes a transfer control unit that controls DMA transfer, and a register that stores a data amount of a packet transferred to the memory.
[0045]
In such an image forming apparatus, the transfer unit can be configured by a transfer control unit and a register.
[0048]
  Claims14In the invention according to the first monitoring time, the device control module acquires a data amount of the packet stored in the memory from the register, and determines whether the packet is stored in the memory according to the acquired data amount. If the packet is stored in the memory, the data amount of the packet stored in the memory is acquired from the register every second monitoring time, and the change in the acquired data amount is obtained. The storage of the packet in the memory is monitored.
[0049]
In such an image forming apparatus, since the data amount of the packet transferred to the memory can be acquired from the register, the transfer of the packet to the memory can be monitored according to the change in the acquired data amount.
[0050]
  Claims15The device control module determines that the storage of data in the memory is completed if the packet has not been stored in the memory for a predetermined period of time, and accesses the data stored in the memory by software. Packet information for enabling is stored in the memory.
[0051]
In such an image forming apparatus, it may be determined that storage of data in the memory is completed if the packet has not been stored in the memory for a predetermined time, and the data stored in the memory can be accessed by software. it can.
[0052]
  Claims16According to the invention, the packet information includes an address on a memory in which the data is stored and a data amount of the data stored in the memory.
[0053]
In such an image forming apparatus, packet information can be constituted by an address on a memory in which data is stored and a data amount of data stored in the memory.
[0054]
  Claims17According to the invention, the device control module is a USB device driver.
[0055]
In such an image forming apparatus, the device control module can be configured by a USB device driver.
[0056]
  Claims18The invention according to the invention is characterized in that the device control module performs the processing by calling a function in which processing content is described.
[0057]
In such an image forming apparatus, the device control module can perform processing by calling a function.
[0058]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings.
[0059]
FIG. 1 shows a block diagram of an embodiment of a compound machine according to the present invention. The compound machine 1 is configured to include a monochrome line printer 11, a color line printer 12, a hardware resource 13 such as a scanner or a facsimile, a software group 20, and a compound machine starting unit 50. The software group 20 is configured to have an application 30 and a platform 40.
[0060]
The platform 40 interprets a processing request from the application 30 and generates a hardware resource acquisition request, and a system resource that manages one or more hardware resources and arbitrates the acquisition request from the control service A manager (hereinafter referred to as SRM) 43 and an operating system (hereinafter referred to as OS) 41 are configured.
[0061]
The control service includes a system control service (hereinafter referred to as SCS) 42, an engine control service (hereinafter referred to as ECS) 44, a memory control service (hereinafter referred to as MCS) 45, an operation panel control service (hereinafter referred to as OCS) 46, and a fax. It is configured to have one or more service modules such as a control service (hereinafter referred to as FCS) 47 and a network control service (hereinafter referred to as NCS) 48.
[0062]
The platform 40 is configured to have an application program interface (hereinafter referred to as API) that can receive a processing request from the application 30 using a predefined function.
[0063]
The OS 41 is an operating system such as UNIX (registered trademark), and executes the software of the platform 40 and the application 30 in parallel as processes.
[0064]
The process of the SRM 43 performs system control and resource management together with the SCS 42. For example, the process of the SRM 43 is a host that uses hardware resources of an engine such as a scanner unit and a printer unit, a memory, a hard disk device (HDD) file, and a host I / O (centro interface, network interface, IEEE 1394 interface, RS232C interface, etc.). Arbitration is performed according to the request from the layer, and execution control is performed.
[0065]
Specifically, the SRM 43 determines whether the requested hardware resource is available (whether it is not used by another request), and if it is available, the requested hardware resource can be used. Notify the higher layer. Further, the SRM 43 performs use scheduling of hardware resources in response to a request from an upper layer, and directly executes requested contents such as paper conveyance and image forming operation, memory allocation, file generation, etc. by a printer engine.
[0066]
The process of the SCS 42 performs application management, operation unit control, system screen display, LED display, resource management, and interrupt application control. The process of the ECS 44 controls the engine of the monochrome line printer 11, the color line printer 12, and the hardware resource 13.
[0067]
The MCS 45 process acquires and releases image memory, uses a hard disk drive (HDD), compresses and decompresses image data, and the like. The process of the OCS 46 controls an operation panel serving as information transmission means between the operator and the main body control.
[0068]
The FCS 47 process includes facsimile transmission / reception using the PSTN or ISDN network from each application layer of the system controller, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, and fusion transmission / reception. Provide an application to do.
[0069]
The NCS 48 process provides a service that can be used in common for applications that require network I / O. Data received from each network from the network side is distributed to each application, and data from the application is distributed. Mediates when sending to the network side.
[0070]
The application 30 performs processing specific to each user service related to image forming processing such as a printer, copy, facsimile, and scanner. The application 30 includes a printer application 31 that is a printer application having a page description language (PDL, PCL) and a postscript (PS), a copy application 32 that is a copy application, and a fax application 33 that is a facsimile application. , A scanner application 34 that is a scanner application, a net file application 35 that is a network file application, and a process inspection application 36 that is a process inspection application.
[0071]
The multi-function apparatus activation unit 50 is executed first when the multi-function apparatus 1 is powered on, and activates the application 30 and the platform 40. For example, the multi-function apparatus activation unit 50 reads the control service or application program from the flash memory, and transfers each read program to a memory area secured on the SRAM or SDRAM to activate it.
[0072]
FIG. 2 is a hardware configuration diagram of an embodiment of the compound machine according to the present invention. 2 is configured to include a controller board 60, an operation panel 70, a fax control unit (hereinafter referred to as FCU) 80, a USB device 90, an IEEE 1394 device 100, and an engine unit 110. The
[0073]
The operation panel 70 is directly connected to the ASIC 62 of the controller board 60. Further, the FCU 80, the USB device 90, the IEEE 1394 device 100, and the engine unit 110 are connected to the ASIC 62 of the controller board 60 through a PCI bus (Peripheral Component Interconnect bus) or the like.
[0074]
The controller board 60 includes a CPU 61, an ASIC 62, an SRAM (Static RAM) 63, an SDRAM (Synchronous DRAM) 64, a flash memory 65, and an HDD 66. The controller board 60 is configured to connect the CPU 61, SRAM 63, SDRAM 64, flash memory 65, HDD 66 and the like to the ASIC 62.
[0075]
The CPU 61 performs overall control of the compound machine 1. The CPU 61 starts and executes the SCS 42, SRM 43, ECS 44, MCS 45, OCS 46, FCS 47, and NCS 48 that form the platform 40 on the OS 41 as processes, and the printer application 31, the copy application 32, and the fax application that form the application 30. 33, the scanner application 34, the net file application 35, and the process inspection application 36 are activated and executed.
[0076]
The ASIC 62 is an IC for image processing applications having hardware elements for image processing. The SRAM 63 and the SDRAM 64 constitute a memory in the present invention. Virtual memory areas such as kernels and processes are mapped to the physical memory areas of the SRAM 63 and the SDRAM 64.
[0077]
The flash memory 65 stores each application, the control service, and each program such as the SRM 43 constituting the application 30 or the platform 40. The HDD 66 is a storage for storing image data, programs, font data, and forms. The operation panel 70 is an operation unit that accepts an input operation from an operator and performs display for the operator.
[0078]
Such a compound machine 1 receives data from a computer as a host connected via, for example, a USB and performs processing related to image formation. Hereinafter, an example in which data is transferred from the computer connected via USB to the multi-function apparatus 1 will be described. For example, USB bulk-out transfer is used for data transfer from the computer to the MFP 1. USB bulk-out transfer transfers data divided into packets by repeating a token phase, a data phase, and a handshake phase.
[0079]
Here, processing of the multi-function apparatus 1 when a packet is received by USB bulk-out transfer will be described with reference to FIG. FIG. 3 is a diagram for explaining an example of the data reception process.
[0080]
The USB device control unit 91 receives the packet divided into the maximum packet size and transmits the received packet to the serial interface engine 93 of the USB-PCI interface control unit 92. The serial interface engine 93 stores the received packet in the reception buffer 94.
[0081]
When transmitting data to a computer connected via USB, the serial interface engine 93 receives the packet stored in the transmission buffer 95 and transmits it to the computer.
[0082]
A direct memory access controller (hereinafter referred to as DMAC) 97 provided in the PCI interface 96 receives a packet stored in the reception buffer 94, and receives the received packet as one on the SDRAM 64 via the PCI bus and the ASIC 62. The data is stored in the block 120 described above. A transfer data count register 98 provided in the PCI interface 96 counts the data amount of packets transferred to the PCI bus via the PCI interface 96.
[0083]
For example, the transfer data count register 98 updates the data amount of the packet transferred to the PCI bus via the PCI interface 96 every time the packet is transferred to the PCI bus. When data satisfying one block 120 is received or when a short packet is received, an interrupt is generated, and the USB device driver in the kernel writes back the received data information to one or more descriptors 121 on the SDRAM 64. The received data information includes, for example, the amount of data stored in one block 120 and the address where the data is stored. Note that the block 120 and the descriptor 121 have a one-to-one correspondence.
[0084]
When the information of the received data is written back to the descriptor 121, the data stored in the block 120 can be accessed by software. When the received data information is written back to the descriptor 121, the count of the transfer data count register 98 is cleared. That is, the transfer data count register 98 counts the data amount of data stored in one block.
[0085]
On the other hand, as shown in FIG. 4, if the data transferred from the computer to the MFP 1 is an integer multiple of the maximum packet size, the last packet is a packet with the maximum packet size. FIG. 4 is a diagram illustrating an example in which a packet with the maximum packet size is received last.
[0086]
For example, when transferring 640 bytes of data from the computer to the MFP 1 using USB bulk-out transfer, the computer divides the 640 bytes of data into 64 bytes of the maximum packet size and generates 10 packets. . In this case, data transferred from the computer to the MFP 1 is an integral multiple of the maximum packet size of 64 bytes, and the last packet is a packet of the maximum packet size (64 bytes). The generated packets are transferred from the computer to the multi-function device 1 one packet at a time.
[0087]
The multi-function device 1 sequentially stores the received packets in one block 120 of the SDRAM 64. Here, description will be made assuming that the block 120 has an area of 4 kbytes. By the way, an interrupt occurs when data satisfying one block 120 is received or when a short packet is received.
[0088]
In other words, no interruption occurs even if the packet having the maximum packet size is received last without satisfying one block 120. In the case of FIG. 4, since the packet of the maximum packet size is received lastly in a state where one block 120 is not satisfied, no interruption occurs and the end of data cannot be identified.
[0089]
Therefore, in the multi-function apparatus 1 according to the present invention, the USB device driver in the kernel performs the processing as shown in FIG. 5 so that the packet of the maximum packet size is finally received without satisfying one block 120. Make it possible to identify the end of the data.
[0090]
FIG. 5 shows a flowchart of an example of timeout processing in bulk-out transfer. In FIG. 5, in step S10, the USB device driver initializes a monitoring time interval and a timeout time. For example, the monitoring time interval is set to 100 ms and the timeout time is set to 500 ms. Further, the process of step S10 is performed when the multi-function apparatus 1 is activated.
[0091]
Progressing to step S11 following step S10, the USB device driver starts a timer. Progressing to step S12 following step S11, the USB device driver refers to the timer activated in step S11 to determine whether or not the monitoring time has come.
[0092]
If it is determined that it is not the monitoring time (NO in S12), the USB device driver repeats the process in step S12. On the other hand, if it is determined that the monitoring time is reached (YES in S12), the USB device driver proceeds to step S13, and reads the count value of the transfer data count register 98 as a monitoring target. That is, the USB device driver reads the data amount of the packet transferred to the PCI bus via the PCI interface 96.
[0093]
Progressing to step S14 following step S13, the USB device driver determines whether or not the count value of the transfer data count register 98 has changed as a monitoring target. That is, the USB device driver determines whether or not packet transfer to one block 120 has started.
[0094]
If it is determined that the count value of the transfer data count register 98 has not changed (NO in S14), the USB device driver proceeds to step S12 and repeats the processes of steps S12 to S14. On the other hand, when it is determined that the count value of transfer data count register 98 has changed (YES in S14), the USB device driver proceeds to step S15.
[0095]
In step S15, the USB device driver resets the monitoring time interval and the timeout time. It is assumed that the monitoring time interval set in step S15 is shorter than the monitoring time set in step S10. The reason for this is to quickly identify the end of the data by shortening the monitoring time interval. For example, when the monitoring time interval set in step S10 is 100 ms, the monitoring time interval is set to 10 ms in step S15.
[0096]
Progressing to step S16 following step S15, the USB device driver refers to the timer activated in step S11 to determine whether or not the monitoring time has come. If it is determined that the monitoring time has not come (NO in S16), the USB device driver repeats the process of step S16. On the other hand, if it is determined that the monitoring time is reached (YES in S16), the USB device driver proceeds to step S17, and reads the count value of the transfer data count register 98 as a monitoring target.
[0097]
Progressing to step S18 following step S17, the USB device driver determines whether or not the count value of the transfer data count register 98 has been changed as a monitoring target. That is, the USB device driver determines whether or not the packet transfer to one block 120 is continued.
[0098]
If it is determined that the count value of transfer data count register 98 has changed (YES in S18), the USB device driver proceeds to step S15 and repeats the processes in steps S15 to S18. On the other hand, if it is determined that there is no change in the count value of transfer data count register 98 (NO in S18), the USB device driver proceeds to step S19.
[0099]
In step S19, the USB device driver refers to the timer started in step S11 and determines whether or not the timeout time has been reached. That is, the USB device driver determines whether or not there is no packet transfer to one block 120 for a predetermined time.
[0100]
If it is determined that the timeout time has not been reached (NO in S19), the USB device driver proceeds to step S16 and repeats the processes in steps S16 to S19. On the other hand, if it is determined that the timeout period has been reached (YES in S19), the USB device driver proceeds to step S20 and stops the timer started in step S11.
[0101]
Progressing to step S21 following step S20, the USB device driver performs a data end acquisition process for acquiring the data amount of data stored in one block 120 and the address where the data is stored. Progressing to step S22 following step S21, the USB device driver updates the descriptor 121 as shown in FIG. 6B.
[0102]
FIG. 6 is a diagram for explaining an example of the descriptor update process. When an interrupt occurs, descriptor update processing is performed according to the procedure shown in FIG. In step S30, packets are sequentially stored in one block 120 on the SDRAM 64.
[0103]
In step S31, data satisfying one block 120 is stored or a short packet is stored, so that an interrupt occurs, and the USB device driver stores the data amount of the data stored in one block 120 and the data. Are stored in the descriptor 121.
[0104]
Therefore, in step S32, the data amount of data stored in one block 120 and the address where the data is stored are written back in the descriptor, and the block 120 can be accessed by software.
[0105]
On the other hand, when no interrupt occurs, descriptor update processing is performed according to the procedure shown in FIG. In step S40, packets are sequentially stored in one block 120 on the SDRAM 64. However, since a packet having the maximum packet size is received last without satisfying one block 120, no interruption occurs.
[0106]
In step S41, it is determined that the data transfer has been completed when there is no packet to one block 120 for a predetermined time (timeout time in FIG. 5) by the time-out process in FIG. The amount of stored data and the address where the data is stored are stored in the descriptor 121.
[0107]
Accordingly, in step S42, the data amount of the data stored in one block 120 and the address where the data is stored are written back to the descriptor, and the block 120 can be accessed by software.
[0108]
The flowchart of FIG. 5 is implemented by functions such as those shown in FIGS. FIG. 7 is a diagram illustrating a description example of a function (main function) that realizes timeout processing. FIG. 8 is a diagram illustrating a description example of a function (subroutine) that realizes timeout processing. 7 and 8 is the same as the process of the flowchart of FIG. 5, and thus the same reference numerals as those of the flowchart of FIG.
[0109]
Therefore, by using the data transfer method of the present invention, when the last packet is the maximum packet size, the end of the data can be identified accurately and quickly even if the 0-byte NULL packet is not transferred from the transmission side. Is possible.
[0110]
【The invention's effect】
As described above, according to the present invention, the packet stored in the memory is monitored, and when the packet is not stored in the memory for a predetermined time, it is determined that the storage in the memory is finished, so that the last packet is stored. Even if is the maximum packet size, the end of data can be identified accurately and quickly.
[0111]
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an embodiment of a compound machine according to the present invention.
FIG. 2 is a hardware configuration diagram of an embodiment of a compound machine according to the present invention.
FIG. 3 is a diagram for explaining an example of data reception processing;
FIG. 4 is a diagram for explaining an example of receiving a packet with the maximum packet size last.
FIG. 5 is a flowchart illustrating an example of timeout processing in bulk-out transfer.
FIG. 6 is a diagram for explaining an example of descriptor update processing;
FIG. 7 is a diagram illustrating a description example of a function (main function) that realizes timeout processing;
FIG. 8 is a diagram illustrating a description example of a function (subroutine) that realizes timeout processing;
FIG. 9 is a diagram illustrating an example of USB bulk-out transfer.
[Explanation of symbols]
1 Fusion machine
11 Black and white line printer
12 Color line printer
13 Hardware resources
20 software groups
30 applications
40 platforms
41 Operating System (OS)
42 System Control Service (SCS)
43 System Resource Manager (SRM)
44 Engine Control Service (ECS)
45 Memory Control Service (MCS)
46 Operation Panel Control Service (OCS)
47 Fax Control Service (FCS)
48 Network Control Service (NCS)
50 Fusion machine starting part
60 Controller board
61 CPU
62 ASIC (Application Specific Integrated Circuit)
63 SRAM (Static RAM)
64 SDRAM (Synchronous DRAM)
65 flash memory
66 Hard Disk Drive (HDD)
70 Operation Panel
80 Fax control unit (FCU)
90 USB devices
91 USB device controller
92 USB-PCI interface controller
93 Serial interface engine
94 Receive buffer
95 Transmission buffer
96 PCI interface
97 Direct Memory Access Controller (DMAC)
98 Transfer data count register
100 IEEE 1394 devices
110 Engine part
120 blocks
121 Descriptor

Claims (18)

最大パケットサイズ以下に分割されたパケットを外部のコンピュータから受信してメモリに格納し、前記メモリに格納されたパケットが所定のデータ量となったとき又は前記メモリに最大パケットサイズ未満のパケットが格納されたときに前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とする画像形成装置のデータ転送方法であって、
前記メモリに格納されるパケットを監視する監視段階と、
前記監視の結果、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定し、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするアクセス段階とを有し、
前記監視段階は、前記メモリにパケットが格納されているかを第1の監視時間ごとに監視する第1の監視段階と、
前記監視の結果、前記メモリにパケットが格納されていれば前記第1の監視時間より短い第2の監視時間ごとに前記メモリへのパケットの格納を監視する第2の監視段階と
を有することを特徴とするデータ転送方法。
A packet divided into the maximum packet size or less is received from an external computer and stored in the memory, and when the packet stored in the memory reaches a predetermined amount of data or a packet smaller than the maximum packet size is stored in the memory. A data transfer method of an image forming apparatus that enables software access to data stored in the memory when
A monitoring step of monitoring packets stored in the memory;
As a result of the monitoring, if there is no packet stored in the memory for a predetermined time, it is determined that data storage in the memory has been completed, and an access stage that enables software access to the data stored in the memory; and Have
The monitoring step includes a first monitoring step of monitoring whether a packet is stored in the memory every first monitoring time;
As a result of the monitoring, if a packet is stored in the memory, a second monitoring step of monitoring the storage of the packet in the memory every second monitoring time shorter than the first monitoring time. A data transfer method characterized by comprising:
前記第1の監視段階は、前記画像形成装置のパケット入力手段に設けられたレジスタから前記メモリに格納されたパケットのデータ量を取得し、取得したデータ量に応じて前記メモリにパケットが格納されているかを第1の監視時間ごとに監視し、In the first monitoring step, the data amount of the packet stored in the memory is acquired from a register provided in the packet input unit of the image forming apparatus, and the packet is stored in the memory according to the acquired data amount. Is monitored every first monitoring time,
前記第2の監視段階は、前記第2の監視時間ごとに前記レジスタから前記メモリに格納されたパケットのデータ量を取得し、取得したデータ量の変化に応じて前記メモリへのパケットの格納を監視することを特徴とする請求項1記載のデータ転送方法。  In the second monitoring step, the data amount of the packet stored in the memory is acquired from the register every second monitoring time, and the packet is stored in the memory according to the change in the acquired data amount. The data transfer method according to claim 1, wherein monitoring is performed.
前記アクセス段階は、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定する判定段階と、The access step includes a determination step of determining that the storage of data in the memory is completed if the packet has not been stored in the memory for a predetermined period of time.
前記判定の結果、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするためのパケット情報を前記メモリに格納する格納段階と  As a result of the determination, a storage step of storing packet information for enabling access by software to the data stored in the memory;
を有することを特徴とする請求項1又は2記載のデータ転送方法。The data transfer method according to claim 1 or 2, further comprising:
前記パケット入力手段は、デバイス制御素子およびインターフェース制御素子を有することを特徴とする請求項2記載のデータ転送方法。3. The data transfer method according to claim 2, wherein the packet input means includes a device control element and an interface control element. 前記デバイス制御素子はUSBのデバイス制御素子であり、前記インターフェース制御素子はUSBとPCIバスとのインターフェース制御素子であることを特徴とする請求項4記載のデータ転送方法。5. The data transfer method according to claim 4, wherein the device control element is a USB device control element, and the interface control element is an interface control element between a USB and a PCI bus. 前記パケット情報は、前記データが格納されているメモリ上のアドレスと、前記メモリに格納されているデータのデータ量とを有することを特徴とする請求項3記載のデータ転送方法。4. The data transfer method according to claim 3, wherein the packet information includes an address on a memory where the data is stored and a data amount of the data stored in the memory. 最大パケットサイズ以下に分割されたパケットを外部のコンピュータから受信してメモリに格納し、前記メモリに格納されたパケットが所定のデータ量となったとき又は前記メモリに最大パケットサイズ未満のパケットが格納されたときに前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とする画像形成装置のデバイス制御モジュールであって、A packet divided into the maximum packet size or less is received from an external computer and stored in a memory, and when the packet stored in the memory reaches a predetermined amount of data or a packet smaller than the maximum packet size is stored in the memory A device control module of an image forming apparatus that enables software access to data stored in the memory when
前記メモリに格納されるパケットを監視する監視手段と、  Monitoring means for monitoring packets stored in the memory;
前記監視の結果、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定し、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするアクセス手段とを有し、  As a result of the monitoring, if there is no packet storage in the memory for a predetermined time, it is determined that the data storage in the memory is completed, and an access unit that enables software access to the data stored in the memory; Have
前記監視手段は、前記メモリにパケットが格納されているかを第1の監視時間ごとに監視する第1の監視手段と、  The monitoring means for monitoring whether a packet is stored in the memory for each first monitoring time; and
前記監視の結果、前記メモリにパケットが格納されていれば前記第1の監視時間より短い第2の監視時間ごとに前記メモリへのパケットの格納を監視する第2の監視手段と  A second monitoring means for monitoring the storage of the packet in the memory every second monitoring time shorter than the first monitoring time if a packet is stored in the memory as a result of the monitoring;
を有することを特徴とするデバイス制御モジュール。A device control module comprising:
前記第1の監視手段は、前記画像形成装置のパケット入力手段に設けられたレジスタから前記メモリに格納されたパケットのデータ量を取得し、取得したデーThe first monitoring unit acquires the data amount of the packet stored in the memory from a register provided in the packet input unit of the image forming apparatus, and acquires the acquired data. タ量に応じて前記メモリにパケットが格納されているかを第1の監視時間ごとに監視し、Monitoring whether a packet is stored in the memory according to the amount of data every first monitoring time,
前記第2の監視手段は、前記第2の監視時間ごとに前記レジスタから前記メモリに格納されたパケットのデータ量を取得し、取得したデータ量の変化に応じて前記メモリへのパケットの格納を監視することを特徴とする請求項7記載のデバイス制御モジュール。  The second monitoring means obtains the data amount of the packet stored in the memory from the register every second monitoring time, and stores the packet in the memory according to a change in the acquired data amount. The device control module according to claim 7, wherein the device control module is monitored.
前記アクセス手段は、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定する判定手段と、The access means is a determining means for determining that the storage of data in the memory is completed if there is no storage of the packet in the memory for a predetermined time;
前記判定の結果、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするためのパケット情報を前記メモリに格納する格納手段と  Storage means for storing in the memory packet information for enabling software access to the data stored in the memory as a result of the determination;
を有することを特徴とする請求項7又は8記載のデバイス制御モジュール。The device control module according to claim 7, comprising:
前記デバイス制御モジュールは、USBのデバイスドライバであることを特徴とする請求項7乃至9何れか一項記載のデバイス制御モジュール。The device control module according to claim 7, wherein the device control module is a USB device driver. プリンタ部またはスキャナ部の少なくとも一方を含む画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションからアクセスされて共通に利用されるプログラムとを有する画像形成装置であって、Image processing hardware including at least one of a printer unit and a scanner unit, one or more image processing applications for performing image processing using the image processing hardware, an operating system, and operating on the operating system, An image forming apparatus having a program that is accessed and commonly used by the one or more image processing applications,
外部のコンピュータから受信した最大パケットサイズ以下に分割されたパケットを格納するメモリと、  A memory for storing a packet divided into a maximum packet size received from an external computer;
前記メモリに格納されるパケットを監視し、前記メモリに格納されたパケットが所定のデータ量となったとき,前記メモリに最大パケットサイズ未満のパケットが格納されたとき又は前記メモリへのパケットの格納が所定時間無かったときに前記メモリへのデータの格納が完了したと判定し、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするデバイス制御モジュールとを有し、  The packet stored in the memory is monitored, and when the packet stored in the memory reaches a predetermined amount of data, a packet smaller than the maximum packet size is stored in the memory, or the packet is stored in the memory A device control module that determines that the storage of data in the memory is complete when there is no predetermined time, and enables access by software to the data stored in the memory,
前記デバイス制御モジュールは、前記メモリにパケットが格納されているかを第1の監視時間ごとに監視し、前記メモリにパケットが格納されていれば前記第1の監視時間より短い第2の監視時間ごとに前記メモリへのパケットの格納を監視することを特徴とする画像形成装置。  The device control module monitors whether a packet is stored in the memory at every first monitoring time, and if a packet is stored in the memory, every second monitoring time shorter than the first monitoring time. And an image forming apparatus for monitoring the storage of packets in the memory.
外部のコンピュータから受信したパケットをメモリに転送すると共に、前記メモリに転送したパケットのデータ量を記憶する転送手段を更に有することを特徴とする請求項11記載の画像形成装置。12. The image forming apparatus according to claim 11, further comprising a transfer unit that transfers a packet received from an external computer to a memory and stores a data amount of the packet transferred to the memory. 前記転送手段は、DMA転送を制御する転送制御部と、前記メモリに転送したパケットのデータ量を記憶するレジスタとを有することを特徴とする請求項12記載の画像形成装置。The image forming apparatus according to claim 12, wherein the transfer unit includes a transfer control unit that controls DMA transfer, and a register that stores a data amount of a packet transferred to the memory. 前記デバイス制御モジュールは、前記メモリに格納されたパケットのデータ量を前記レジスタから取得し、取得したデータ量に応じて前記メモリにパケットが格納されているかを第1の監視時間ごとに監視し、The device control module acquires the data amount of the packet stored in the memory from the register, and monitors whether the packet is stored in the memory according to the acquired data amount for each first monitoring time,
前記メモリにパケットが格納されていれば、前記第2の監視時間ごとに前記メモリに格納されたパケットのデータ量を前記レジスタから取得し、取得したデータ量の変化に応じて前記メモリへのパケットの格納を監視することを特徴とする請求項13記載の画像形成装置。  If a packet is stored in the memory, the data amount of the packet stored in the memory is acquired from the register every second monitoring time, and the packet to the memory is changed according to the change in the acquired data amount. 14. The image forming apparatus according to claim 13, wherein storage of the image is monitored.
前記デバイス制御モジュールは、前記メモリへのパケットの格納が所定時間無かったら前記メモリへのデータの格納が完了したと判定し、前記メモリに格納されたデータへのソフトウェアによるアクセスを可能とするためのパケット情報を前記メモリに格納することを特徴とする請求項11乃至14何れか一項記載の画像形成装置。The device control module determines that the storage of data in the memory is completed if the packet has not been stored in the memory for a predetermined time, and enables the software stored in the data stored in the memory to be accessed. The image forming apparatus according to claim 11, wherein packet information is stored in the memory. 前記パケット情報は、前記データが格納されているメモリ上のアドレスと、前記メモリに格納されているデータのデータ量とを有することを特徴とする請求項15記載の画像形成装置。The image forming apparatus according to claim 15, wherein the packet information includes an address on a memory in which the data is stored and a data amount of the data stored in the memory. 前記デバイス制御モジュールは、USBのデバイスドライバであることを特徴とする請求項11乃至16何れか一項記載の画像形成装置。The image forming apparatus according to claim 11, wherein the device control module is a USB device driver. 前記デバイス制御モジュールは、処理内容が記述された関数を呼びThe device control module calls a function describing the processing contents. 出して前記処理を行うことを特徴とする請求項11乃至17何れか一項記載の画像形成装置。The image forming apparatus according to claim 11, wherein the processing is performed.
JP2002048517A 2002-02-25 2002-02-25 Data transfer method, device control module using the data transfer method, and image forming apparatus Expired - Fee Related JP3857598B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002048517A JP3857598B2 (en) 2002-02-25 2002-02-25 Data transfer method, device control module using the data transfer method, and image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002048517A JP3857598B2 (en) 2002-02-25 2002-02-25 Data transfer method, device control module using the data transfer method, and image forming apparatus

Publications (2)

Publication Number Publication Date
JP2003249965A JP2003249965A (en) 2003-09-05
JP3857598B2 true JP3857598B2 (en) 2006-12-13

Family

ID=28661294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002048517A Expired - Fee Related JP3857598B2 (en) 2002-02-25 2002-02-25 Data transfer method, device control module using the data transfer method, and image forming apparatus

Country Status (1)

Country Link
JP (1) JP3857598B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140139406A (en) * 2013-05-27 2014-12-05 한국전자통신연구원 Randomization of packet size

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4698211B2 (en) 2003-12-15 2011-06-08 株式会社リコー Information processing apparatus, image forming apparatus, and method for canceling movement of electronic data
JP4990250B2 (en) 2008-09-18 2012-08-01 株式会社日立産機システム Interrupt control device, interrupt control system, interrupt control method, and interrupt control program
JP5353470B2 (en) * 2009-06-22 2013-11-27 株式会社リコー USB device, image processing apparatus, USB transfer control method, USB transfer control program, and recording medium
CN114159007B (en) * 2022-02-11 2022-05-06 极限人工智能有限公司 Endoscope, endoscopic imaging system, and surgical robot

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140139406A (en) * 2013-05-27 2014-12-05 한국전자통신연구원 Randomization of packet size
KR102177737B1 (en) * 2013-05-27 2020-11-11 한국전자통신연구원 Randomization of packet size

Also Published As

Publication number Publication date
JP2003249965A (en) 2003-09-05

Similar Documents

Publication Publication Date Title
US7765413B2 (en) Image processing device and method of controlling the image processing device which estimates a state-transition sequence for a USB driver
US20090219569A1 (en) Information processing apparatus, information processing system, and information processing method
JP4544728B2 (en) Method and apparatus for optimizing resource transfer from low priority jobs to high priority jobs
EP1650654A2 (en) Image forming device, hardware control method and hardware control program
US7911639B2 (en) Image forming device
JP4101004B2 (en) Image forming apparatus
JP2006203655A (en) Method for setting image forming apparatus and image forming apparatus
EP1308793B1 (en) Image forming device having a memory assignment unit
JP3857598B2 (en) Data transfer method, device control module using the data transfer method, and image forming apparatus
JP4263919B2 (en) Image forming apparatus and memory management method
JP4136397B2 (en) Image forming apparatus and memory management method
JP4001531B2 (en) Image forming apparatus
EP1286256A2 (en) Method and apparatus for image data processing capable of performing a high speed processing using a risc and an AGP
JP4128467B2 (en) Image forming apparatus and memory map method
JP3710789B2 (en) Image forming apparatus having a plurality of communication protocols
JP4128468B2 (en) Information processing apparatus and memory map method
US9047552B2 (en) Forming system and image forming apparatus that generate image log data to server
JP4093770B2 (en) Data transfer method and interface control module, device control module and image forming apparatus using the data transfer method
JP2011188411A (en) Image processing apparatus and image processing system
JP4276885B2 (en) Image forming apparatus and path designation method
JP2004066809A (en) Image forming apparatus, and method of booting program
JP4246608B2 (en) Image forming apparatus and program start method
JP2004046804A (en) Image forming apparatus and data processing method
JP6833491B2 (en) Information processing device
JP5440226B2 (en) Simulator device and simulator program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060828

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060914

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130922

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees