JP6497883B2 - 情報処理装置、情報処理装置の制御方法及びプログラム - Google Patents
情報処理装置、情報処理装置の制御方法及びプログラム Download PDFInfo
- Publication number
- JP6497883B2 JP6497883B2 JP2014197339A JP2014197339A JP6497883B2 JP 6497883 B2 JP6497883 B2 JP 6497883B2 JP 2014197339 A JP2014197339 A JP 2014197339A JP 2014197339 A JP2014197339 A JP 2014197339A JP 6497883 B2 JP6497883 B2 JP 6497883B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information processing
- mode
- processing apparatus
- reception buffer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/426—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
Description
USB規格においては、アプリケーション毎に共通のドライバを使用することを目的として、周辺機器(USB Function)の種類に対応して、USBデバイスクラス仕様が規定されている。プリンタクラス仕様においても、必要な転送モードと送受信バッファであるEnd Pointの数とが規定されており、この仕様に準拠することによって、USBプリンタクラスドライバを使用することができる。
PCからの印刷データは、Bulk Outと呼ばれるUSBホストからUSB Function方向へのデータ転送により、MFPへ転送される。
MFPでは、送受信バッファであるEnd Pointに格納したデータをDMAC(Dynamic Memory Access Controller)を用いて、内部のデータ格納領域であるRAMに転送する。
USB規格も高速なUSB3.0(データ通信速度が最大5Gbps)が実用化されている。そのため、送受信バッファであるEnd Pointにデータがすべて入っている状態でそれ以上のデータを受信することができないという課題がある。
これに対して、USBホストからの指示に基づいて、送受信バッファのバッファサイズを変更するという技術が公開されている(特許文献1)。
特許文献1に記載の通信装置では、送受信バッファにデータが残っている場合に、PC等からバッファの設定の切り替えが指示された場合、送受信バッファの初期化によってデータが消失する可能性があった。
本発明は、バッファの設定の切り替えが指示された場合にも、データの消失を防止することを目的とする。
図1は、画像形成システムのシステム構成及びMFPのハードウェア構成の一例を示す図である。
画像形成システムは、システム構成として、MFP1000とPC2000とを含む。画像形成システムにおいて、MFP1000とPC2000とはUSBケーブル3000を介して接続されている。ここで、MFP1000は、USB Function、又は情報処理装置の一例である。また、PC2000は、USB Host、又は外部装置の一例である。
コントローラ100は、MFP1000のUSB通信及び機器全体の制御を行う。コントローラ100は、CPU101、ROM102、RAM103、画像処理部104、操作部I/F105、読取部I/F106、印刷部I/F107、USB I/F(USB Function)200を含む。
CPU101は、コントローラ100各部の制御を行う。ROM102は、コントローラ100の制御プログラムが格納される。RAM103は、コントローラ100の制御プログラムの実行領域や画像処理用のワークデータ用領域、及びデータ格納用領域である。画像処理部104は、コントローラ100の画像処理を行う。操作部I/F105は、操作部110とのI/Fを制御する。読取部I/F106は、読取部120とのI/Fを制御する。印刷部I/F107は、印刷部130とのI/Fを制御する。USB I/F200は、PC2000とのUSB通信を制御する。
CPU101がROM102等に記憶されているプログラムに基づき処理を実行することによって、後述するMFP1000の機能、シーケンス図におけるMFPの処理、フローチャートの処理が実現される。RAM103は、内部メモリの一例である。
また、PC2000は、ハードウェア構成として少なくともCPUとRAM、ROM、HD等のメモリを有する。PC2000のCPUがPC2000のメモリに記憶されているプログラムに基づき処理を実行することによって後述するPC2000の機能、シーケンス図におけるPCの処理が実現される。
図2に示されるように、USB I/F200は、物理層回路(以下、PHYという)210と、内部バスI/F220と、USB制御部230と、を含む。
物理層回路(以下、PHYという)210は、USBの通信を行う。
USB制御部230は、USBの通信及びRAM103へのデータ転送を制御する。
内部バスI/F220は、USB I/F200内部のデータの通路であり、End Point 0 231と、Interface234と、を含む。
End Point 0 231は、制御用データの転送を行う。
Interface234は、End Point 1 232と、End Point 2 233と、を含む。End Point 1 232や、End Point 2 233はバッファの一例である。
USB Functionには、Alternate Settingと呼ばれる代替設定が規定されており、前記送受信バッファであるEnd Pointの設定を複数持つことができる。
図2(a)では、End Point 1は、Bulk Outの設定であり、USB HostからUSB Function方向へのデータ転送を行う。
一方、図2(b)では、End Point 1は、Bulk Inの設定であり、USB FunctionからUSB Host方向へのデータ転送を行う。
同様に、図2(a)では、End Point 2は、Bulk Inの設定であり、USB FunctionからUSB Host方向へのデータ転送を行う。
一方、図2(b)では、End Point 2は、Bulk Outの設定であり、USB HostからUSB Function方向へのデータ転送を行う。
MFP1000の設定は図2(a)である。即ち、PCから転送される印刷データは、Bulk Outに設定されたEnd Point 1のバッファに格納され、更に、DMACによって、RAM103に転送される。
End Point 1 232は、Bulk Outと呼ばれるUSB HostからUSB Function方向へのデータ転送を行う。
End Point 1は、USB上の転送データを一時的に格納するバッファと、RAM103へのデータ転送を行うDMAC(Dynamic Memory Access Controller)とを備える。
End Point 2 233は、Bulk Inと呼ばれるUSB FunctionからUSB Host方向へのデータ転送を行う。
図3(b)及び図3(c)では、RAM103から次の画像処理部104へのデータ転送により、End Point 1のバッファ及びRAM103のデータが減っていくことがわかる。
図3(d)では、End Point 1のバッファにはデータがなく、RAM103にデータが残っていることがわかる。
図4は、PCとMFPとの情報処理の一例を時間軸に沿って示したシーケンス図である。
図4では、時間を縦軸に下方に進むとして、左側にPC2000の動作を、そして右側にMFP1000の動作を示す。
USBデータ転送は以下の手順で実行される。
S3000において、PC2000は、データを送信する。
S4000において、MFP1000は、データを受信可能な場合、即ちEnd Point 1のバッファに空きがある場合、肯定応答(ACKnowledge、以下、ACKという)を返信する。ACKnowledgeは、ACK応答の一例である。
S4010において、MFP1000は、受信したデータをデータ格納用領域であるRAM103へ転送する。
S4020において、MFP1000は、データを受信可能な場合、即ちEnd Point 1のバッファにまだ空きがある場合、肯定応答を返信する。
S4030において、MFP1000は、受信したデータをデータ格納用領域であるRAM103へ転送する。
ここで、MFP1000は、PC2000からデータを受信すると、予め時間を設定された内部タイマーを起動する。このタイマーは、PC2000から次のデータを受信すると、再起動される。
上記動作処理は、送信データがなくなるまで、PC2000とMFP1000とで繰り返される。
S4040において、MFP1000は、データ格納用領域であるRAM103へのデータ転送が終了しているか、即ち、End Point 1のバッファが空であるかを判別する。
S4050において、バッファにデータが残っている場合、MFP1000は、否定応答(Negative ACKnowledge)、即ち再送要求を返信する。Negative ACKnowledgeは、NACK応答の一例である。
S3030において、一定時間後、PC2000は、End Pointの設定を切り替えるためのAlternate切り替え要求を再送する。
S4060において、MFP1000は、データ格納用領域であるRAM103へのデータ転送が終了しているか、即ち、End Point 1のバッファが空であるかを再度判別する。
S4070において、MFP1000は、バッファにデータがなくなっている場合、肯定応答(ACKnowledge)を返信する。
S4080において、MFP1000は、End Pointを初期化して、設定を切り替える。
図5は、MFP1000のAlternate切り替え要求への応答動作を示すフローチャートである。
S501において、CPU101は、USBデータの転送が開始された否かを判定する。CPU101は、USBデータの転送が開始されたと判定した場合(S501においてYES)、S502に進み、USBデータの転送が開始されていないと判定した場合(S501においてNO)、S501の処理を繰り返す。
S502において、CPU101は、USB HostであるPC2000からデータを受信し、End Point 1のバッファに格納する。
次に、S503において、CPU101は、End Point 1のバッファに格納したデータをデータ格納用領域であるRAM103へ転送する。
S505において、CPU101は、受信したデータがAlternate切り替え要求を示すデータであるか否かを判定する。CPU101は、Alternate切り替え要求を示すデータであると判定した場合(S505においてYES)、S506に進み、Alternate切り替え要求を示すデータでないと判定した場合(S505においてNO)、S502に戻る。
S507において、CPU101は、否定応答(Negative ACKnowledge)、即ち再送要求をPC2000に返信し、S505に戻る。この否定応答を受けて、PC2000は、一定時間後にEnd Pointの設定を切り替えるためのAlternate切り替え要求を再送することになる。
一方、S508において、CPU101は、肯定応答(ACKnowledge)をPC2000に返信する。
S509において、CPU101は、End Pointを初期化して、設定を切り替える。
しかし、USB3.0規格のSuper Speedの場合、CPU101が、それに対応する返信(例えば、NotReaDY:NRDY)を用いることで、本実施形態と同様な制御を行うことができる。NRDYによる返信は、NRDY応答の一例である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (11)
- 外部装置と通信可能な情報処理装置であって、
所定のエンドポイントを備え、前記所定のエンドポイントを送信バッファとして用いる第1のモードと前記所定のエンドポイントを受信バッファとして用いる第2のモードを含む複数のモードのなかのひとつのモードで動作可能なUSBインタフェースと、
前記受信バッファから転送されるデータを格納可能なメモリと、
前記外部装置から送信されるデータを前記受信バッファに蓄積する処理が完了していても前記受信バッファ内のすべてのデータが前記メモリに転送されるまでは、前記USBインタフェースのモード切り替え要求を前記外部装置から受信したことに応じて、前記モードを切り替えることなく前記外部装置に対して再送要求を送信する送信手段と、
を有することを特徴とする情報処理装置。 - 前記送信手段は、前記受信バッファ内のすべてのデータが前記メモリに転送された後において、前記USBインタフェースのモード切り替え要求を前記外部装置から受信したことに従って前記外部装置に対して肯定応答を送信することを特徴とする請求項1に記載の情報処理装置。
- 前記モードの切り替えにともない前記所定のエンドポイントは初期化されることを特徴とする請求項2に記載の情報処理装置。
- 前記外部装置との通信はUSBケーブルを介して行われることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記モード切り替え要求は、Alternate切り替え要求であることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 前記再送要求はNACK応答であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
- 前記再送要求はNRDY応答であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
- 前記外部装置から送信されるデータは印刷データであることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
- 前記肯定応答はACK応答であることを特徴とする請求項2に記載の情報処理装置。
- 所定のエンドポイントを備え前記所定のエンドポイントを送信バッファとして用いる第1のモードと前記所定のエンドポイントを受信バッファとして用いる第2のモードを含む複数のモードのなかのひとつのモードで動作可能なUSBインタフェースと、前記受信バッファから転送されるデータを格納可能なメモリを備え、外部装置と通信可能な情報処理装置の制御方法であって、
前記外部装置から送信されるデータを前記受信バッファに蓄積する処理が完了していても前記受信バッファ内のすべてのデータが前記メモリに転送されるまでは、前記USBインタフェースのモード切り替え要求を前記外部装置から受信したことに応じて前記モードを切り替えることなく前記外部装置に対して再送要求を送信する送信工程を含むことを特徴とする制御方法。 - 所定のエンドポイントを備え前記所定のエンドポイントを送信バッファとして用いる第1のモードと前記所定のエンドポイントを受信バッファとして用いる第2のモードを含む複数のモードのなかのひとつのモードで動作可能なUSBインタフェースと、前記受信バッファから転送されるデータを格納可能なメモリを備え、外部装置と通信可能なコンピュータに、
前記外部装置から送信されるデータを前記受信バッファに蓄積する処理が完了していても前記受信バッファ内のすべてのデータが前記メモリに転送されるまでは、前記USBインタフェースのモード切り替え要求を前記外部装置から受信したことに応じて前記モードを切り替えることなく前記外部装置に対して再送要求を送信する送信ステップを実行させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014197339A JP6497883B2 (ja) | 2014-09-26 | 2014-09-26 | 情報処理装置、情報処理装置の制御方法及びプログラム |
US14/847,473 US9921995B2 (en) | 2014-09-26 | 2015-09-08 | Managing data in USB communication |
EP15002690.4A EP3001324B1 (en) | 2014-09-26 | 2015-09-16 | Information processing apparatus, controlling method for information processing apparatus, and storage medium |
CN201510616852.8A CN105468553B (zh) | 2014-09-26 | 2015-09-24 | 信息处理装置及信息处理装置的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014197339A JP6497883B2 (ja) | 2014-09-26 | 2014-09-26 | 情報処理装置、情報処理装置の制御方法及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019039531A Division JP6776387B2 (ja) | 2019-03-05 | 2019-03-05 | 情報処理装置、制御方法及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016071448A JP2016071448A (ja) | 2016-05-09 |
JP2016071448A5 JP2016071448A5 (ja) | 2017-11-02 |
JP6497883B2 true JP6497883B2 (ja) | 2019-04-10 |
Family
ID=54148318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014197339A Expired - Fee Related JP6497883B2 (ja) | 2014-09-26 | 2014-09-26 | 情報処理装置、情報処理装置の制御方法及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9921995B2 (ja) |
EP (1) | EP3001324B1 (ja) |
JP (1) | JP6497883B2 (ja) |
CN (1) | CN105468553B (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389029B1 (en) * | 1998-11-10 | 2002-05-14 | Nortel Networks Limited | Local area network incorporating universal serial bus protocol |
JP2001222503A (ja) * | 2000-02-08 | 2001-08-17 | Ricoh Co Ltd | 周辺機器制御システム |
US6718412B2 (en) * | 2000-12-14 | 2004-04-06 | Agilent Technologies, Inc. | Apparatus and method for universal serial bus communications |
US6959350B1 (en) | 2002-06-28 | 2005-10-25 | Cypress Semiconductor Corp. | Configurable USB interface with virtual register architecture |
JP2004070423A (ja) * | 2002-08-01 | 2004-03-04 | Ricoh Co Ltd | Usbコントローラおよびそのデータ転送制御方法 |
CN100501715C (zh) | 2004-05-13 | 2009-06-17 | 松下电器产业株式会社 | 信息处理设备、集成电路和数据传送控制方法 |
JP4066383B2 (ja) | 2006-07-06 | 2008-03-26 | シチズンホールディングス株式会社 | 通信装置および通信制御方法、並びに当該通信装置を備えたプリンタ |
JP5029053B2 (ja) * | 2007-02-15 | 2012-09-19 | 富士ゼロックス株式会社 | データ通信システム及びデータ通信プログラム |
-
2014
- 2014-09-26 JP JP2014197339A patent/JP6497883B2/ja not_active Expired - Fee Related
-
2015
- 2015-09-08 US US14/847,473 patent/US9921995B2/en active Active
- 2015-09-16 EP EP15002690.4A patent/EP3001324B1/en active Active
- 2015-09-24 CN CN201510616852.8A patent/CN105468553B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP3001324B1 (en) | 2021-04-07 |
US20160092394A1 (en) | 2016-03-31 |
CN105468553B (zh) | 2019-01-18 |
US9921995B2 (en) | 2018-03-20 |
JP2016071448A (ja) | 2016-05-09 |
CN105468553A (zh) | 2016-04-06 |
EP3001324A1 (en) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9047418B2 (en) | Methods and devices for extending USB 3.0-compliant communication | |
KR20160049200A (ko) | 데이터 저장 장치의 작동 방법, 이를 포함하는 모바일 컴퓨팅 장치, 및 이의 작동 방법 | |
WO2016127552A1 (zh) | 一种直接内存存取dma控制器及数据传输的方法 | |
JP2012175174A (ja) | ネットワーク通信装置、周辺装置、及びネットワーク通信方法 | |
JP6497883B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP6776387B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP2018106222A5 (ja) | ||
JP2015212052A5 (ja) | 通信装置とその制御方法、及びプログラム | |
JP6460905B2 (ja) | 通信装置、制御方法、プログラム | |
JP2016031547A (ja) | 信号転送装置及び信号転送装置の制御方法 | |
JP6876235B2 (ja) | 電子装置及び画像処理装置 | |
JP2015106796A5 (ja) | 通信装置とその制御方法、印刷装置とその制御方法、及びプログラム | |
JP2017184097A5 (ja) | ||
EP2610733B1 (en) | Image forming apparatus connectable to multiple hosts and method of controlling image forming jobs of the image forming apparatus | |
JP6094281B2 (ja) | 画像処理システム、画像処理装置及び制御プログラム | |
JP5338403B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
US11709644B2 (en) | Image processing apparatus connected to another apparatus by a USB cable and communicating with the another apparatus via a USB communication, method for controlling the image processing apparatus, and storage medium thereof | |
JP2009211307A (ja) | 画像形成装置 | |
JP2005182505A (ja) | データ転送制御装置および画像形成装置 | |
JP2009059018A (ja) | 情報処理システム、情報処理装置および情報処理システムのデータ転送方法 | |
JP6542513B2 (ja) | Usb転送装置、usb転送システムおよびusb転送方法 | |
JP2017011637A (ja) | データー送信システム、データー送信方法 | |
JP6213003B2 (ja) | 通信制御装置、画像処理装置、通信制御プログラム | |
JP2021105842A5 (ja) | ||
JP6213029B2 (ja) | 通信装置、及び通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170913 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170913 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190131 |
|
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: 20190212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190312 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6497883 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |