JP6336328B2 - 通信装置とその制御方法、及びプログラム - Google Patents

通信装置とその制御方法、及びプログラム Download PDF

Info

Publication number
JP6336328B2
JP6336328B2 JP2014095504A JP2014095504A JP6336328B2 JP 6336328 B2 JP6336328 B2 JP 6336328B2 JP 2014095504 A JP2014095504 A JP 2014095504A JP 2014095504 A JP2014095504 A JP 2014095504A JP 6336328 B2 JP6336328 B2 JP 6336328B2
Authority
JP
Japan
Prior art keywords
data
setting
interface
nak response
printer apparatus
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.)
Active
Application number
JP2014095504A
Other languages
English (en)
Other versions
JP2015212052A5 (ja
JP2015212052A (ja
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014095504A priority Critical patent/JP6336328B2/ja
Priority to US14/691,948 priority patent/US9432545B2/en
Priority to CN201510206767.4A priority patent/CN105045544B/zh
Publication of JP2015212052A publication Critical patent/JP2015212052A/ja
Publication of JP2015212052A5 publication Critical patent/JP2015212052A5/ja
Application granted granted Critical
Publication of JP6336328B2 publication Critical patent/JP6336328B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00928Initialisation or control of normal start-up or shut-down, i.e. non failure or error related
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00214Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission
    • H04N1/0022Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission involving facsimile protocols or a combination of facsimile protocols and computer data transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00885Power supply means, e.g. arrangements for the control of power supply to the apparatus or components thereof
    • H04N1/00888Control thereof
    • H04N1/00896Control thereof using a low-power mode, e.g. standby
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00925Inhibiting an operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32646Counter-measures
    • H04N1/32683Preventive counter-measures, e.g. using redundant hardware, or anticipating a fault
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Power Sources (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、通信装置とその制御方法、及びプログラムに関する。
USB(Universal Serial Bus)I/F(インターフェース)を持つプリンタや複合機等のプリンタ装置は、USBI/Fを介してホストPC(PC)と通信し、そのPCから送信される印刷データを受信して印刷を行う。このようなプリンタ装置がUSBI/Fを介してPCと通信する場合、そのPCに存在するプリンタドライバと、プリンタ装置において印刷処理を行うモジュールとがハンドシェークしながら通信を行う。このようなPCとプリンタ装置との間の通信には、双方向通信と片方向通信の2種類が存在している。
USBI/Fを介した双方向通信及び片方向通信ともに、常にPCが通信制御の主導権を握り、プリンタ装置が制御を握ることができない。但し、双方向通信の場合は、プリンタ装置の意志を通知することが可能なため、プリンタ装置がスリープ状態に移行したい場合、スリープ状態に移行する前にPCとハンドシェークを行った後にスリープ状態に移行できる。一方、片方向通信の場合は、プリンタ装置の意志を通知することができないため、プリンタ装置がスリープ状態に移行したい場合であってもPCにスリープ状態に移行することを通知できない。
特許文献1では、プリンタがスリープ状態への移行処理を進めていく際に、受信DMAを停止させ、その後、プリンタがNAK応答するように設定することが記載されている。
特開2007−68156号公報
プリンタ装置がスリープ状態に移行しようとしているときに、PCからプリンタ装置に印刷データが送信されると、その印刷データの一部が受信され、残りのデータが消失することが、その送信タイミングによって発生するおそれがある。しかし上記特許文献1では、片方向通信時に、プリンタがスリープ状態に移行する処理と、PCがプリンタに印刷データを送信するタイミングとが合致した場合の振る舞いの対応がなされていない。
本発明の目的は、上記従来技術の問題点を解決することにある。
本発明の特徴は、通信装置がスリープモードに移行するときに投入されたデータの消失を防ぐ技術を提供することにある。
上記目的を達成するために本発明の一態様に係る通信装置は以下のような構成を備える。即ち、
外部機器と通信するためのインターフェースを備える通信装置であって、
前記通信装置がスリープモードに移行するための条件が満たされた場合に、データの受信に対してNAK応答を行うことを示すNAK応答設定を前記インターフェースに設定する設定手段と、
前記NAK応答設定を前記インターフェースに設定してから所定時間が経過するまでの間に前記インターフェースにおいてデータの受信が発生しなかったことを条件にして、前記通信装置を前記スリープモードに移行させる制御手段と、を有することを特徴とする。
本発明によれば、通信装置がスリープモードに移行するときに投入されたデータの消失を防ぐことができる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
ホストPC(PC)とプリンタ装置とがUSBI/Fを介して片方向通信を行う場合の信号のやり取りを説明する図。 実施形態1に係るプリンタ装置のハードウェア構成を説明するブロック図。 実施形態1に係るプリンタ装置におけるスリープ状態への移行処理を説明するフローチャート。 実施形態1に係るPCからプリンタ装置へのSOFパケットの送信例を説明するシーケンス図。 実施形態1に係るプリンタ装置でNAK応答を設定した後にPCがプリンタ装置に印刷データを送信する例を説明するシーケンス図。 実施形態1に係るプリンタ装置でNAK応答を設定する直前にPCがプリンタ装置に印刷データを送信する例を説明するシーケンス図。 実施形態2に係るプリンタ装置によるスリープ状態への移行処理を説明するフローチャート。 実施形態2に係るPCからプリンタ装置へのSOFパケットの送信例を説明するシーケンス図。 実施形態2に係るプリンタ装置でNAK応答を設定する直前にPCがプリンタ装置に印刷データを送信する例を説明するシーケンス図。 実施形態2に係るプリンタ装置がNAK応答を設定した後にPCが印刷データを送信した場合の通信シーケンス図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態では、本発明の画像形成装置を印刷やスキャンなどの複数機能を有する複合機を例に説明するが、本発明はこのような複合機に限定されない。
図1は、ホストPC(以下、PC)101とプリンタ装置102とがUSBI/Fを介して片方向通信を行う場合の信号のやり取りを説明する図である。
先ず外部機器であるPC101は、プリンタ装置102にデータを出力する出力コマンド103を送信し、その後、PC101はプリンタ装置102へデータ104を送信する。プリンタ装置102がこのデータ104を受け取った場合は、そのデータの受領を意図するACK105を返答する。これによりPC101は、ACK105によりデータ104の送信が成功したと判定する。これはPC101からプリンタ装置102へのデータの送信が正常に終了した場合である。
一方、PC101から送信したデータをプリンタ装置102が正常に受信できなかった場合を説明する。PC101からプリンタ装置102へデータを出力する出力コマンド106を送信し、その後PC101からプリンタ装置102にデータ107を送信する。プリンタ装置102がこのデータ107を正常に受信できなかった場合は、正常に受信できなかったことを示すNAK108で返答する。これによりPC101は、データ107がプリンタ装置102で正常に受信されなかったと判定する。
このような片方向通信の場合、PC101からプリンタ装置102に常にデータ(コマンド含む)を送信し、プリンタ装置102はACK105又はNAK108でしか応答することができない。このため、プリンタ装置102は、スリープ状態(省電力状態)に移行することをPC101に通知できない。このような場合は、プリンタ装置102がスリープ状態に移行するタイミングでPC101がプリンタ装置102に印刷データを送信した場合は、そのタイミングによっては印刷データが消失してしまうという問題がある。
[実施形態1]
図2は、実施形態1に係るプリンタ装置102のハードウェア構成を説明するブロック図である。
CPU201は、RAM204に展開されたプログラムを実行して、このプリンタ装置102の動作を制御する。このプログラムはOS等とともにHDD(ハードディスクドライブ)203にインストールされており、電源オン時、CPU201は不揮発メモリ212に記憶されているブートプログラムを実行して、そのプログラムやOSをRAM204に展開する。またHDD203は、プリンタ装置102のソフトウェア及び、このプリンタ装置102が動作するのに必要なデータベース、また一次保存ファイル等を格納する。尚、このHDD203に代えて、SSD(Solid State Drive)やUSBメモリ等の他の大容量不揮発メモリを用いても良い。RAM204は、CPU201のプログラムの展開エリアやワークエリアを提供している。ネットワークコントローラ205とネットワークコントローラインーフェース206は、プリンタ装置102とネットワーク上の他の機器と通信を行う。USBファンクションコントローラ215とUSBファンクションI/F216は、このプリンタ装置102とPC101との間の通信を行う。このUSBファンクションI/F216とPC101とはUSBケーブルを介して接続される。
表示制御部207は、表示部208への表示を制御して、例えば動作状況をユーザが確認できるような表示を行う。入力部210は、このプリンタ装置102へのユーザからの指示を受け付ける。入力部コントローラ209は、入力部210からの指示入力を制御する。入力部210は、具体的には、キーボードやポインティングデバイスや、10キー、カーソルキー等を備える。入力部210がタッチパネルを含む場合は、表示部208の画面を介してユーザからの指示が入力される。RTC211は、時計機能、アラーム機能、タイマ機能等を有するリアルタイムクロックである。不揮発メモリ212は、例えばROM,SRAMやEEPROM等であってもよい。プリンタI/F213は、プリンタエンジン214とのインターフェースを制御する。スキャナI/F217は、スキャナエンジン218とのインターフェースを制御する。システムバス202は、CPU201と上述のメモリやインターフェースなどと接続している。
次に実施形態1に係るプリンタ装置102のスリープ状態の定義を説明する。
プリンタ装置102がスリープ状態では、HDD203、表示制御部207、表示部208、不揮発メモリ212、プリンタI/F213、プリンタエンジン214、スキャナI/F217、スキャナエンジン218への電力供給が停止されている。CPU201,RAM204、ネットワークコントローラI/F206、ネットワークコントローラ205、USBファンクションI/F216、USBファンクションコントローラ215、入力部コントローラ209、入力部210への電力供給は維持される。これによりネットワークからの受信、USBインターフェースからの受信、或いは入力部210へのユーザの操作により、プリンタ装置102はスリープ状態から復帰できる。尚、これら各部への電力供給が維持されている状態でも、例えばCPU201のクロックの周波数を低下させるなどして、通常の動作時に比べて消費電力が少なく抑えられている。そして、CPU201が、スリープ状態から復帰する要因である外部割り込みを受信できる状態にある。
図3は、実施形態1に係るプリンタ装置102におけるスリープ状態への移行処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU201がRAM204に展開されたプログラムを実行することにより達成される。
まずS301でCPU201は、PC101から印刷データが送信されたかどうかを確認する。そしてS302でCPU201が、一定時間内にPC101から印刷データ或いはコントロールデータを受信したかどうかを判定し、一定時間内にデータ送信がないと判定するとS303に処理を進める。尚、S302でデータ送信があると判定するとS301に戻る。但し、この際、PC101から受信するSOFパケットは、データとみなさない。
S303でCPU201は、USBファンクションコントローラ215に、データ受信時にNAK応答を行うように設定し、またデータ受信時に割込みをCPU201に通知するように設定してS304に進む。S304でCPU201は、NAK応答を設定した後、データを受信したかどうかを判定し、S305で所定時間内、例えば2秒以内にデータの受信を検知しなければS306に進んで、スリープ処理を継続させる処理をすすめる。その後、プリンタ装置102は消費電力を低下させたスリープ状態に移行する。
一方、S305でCPU201は、NAK応答を設定しているときにデータの受信を検知したときはS307に進む。S307でCPU201は、USBファンクションコントローラ215に対するNAK応答の設定と、NAK応答を設定している間のデータ受信の割り込み設定を解除してS301に進む。このようにS307の処理を実行することで、再びプリンタ装置102は、PC101からの印刷データを受信できるようになり、印刷データを受信すると印刷処理を開始できるようになる。
以下、図3のフローチャートのS301→S302→S303→S304→S305→S306の処理を行う場合の、PC101とプリンタ装置102との間で行われるUSBを介した通信処理の流れを図4を参照して説明する。
図4は、実施形態1に係るPC101からプリンタ装置102へのSOFパケットの送信例を説明するシーケンス図である。
ここでPC101は、プリンタ装置102に送信する印刷データが無いため、SOFパケット401,402を定期的に送信している。このときプリンタ装置102は、受信するパケットがSOFパケットのみでデータパケットを受信しない。このため図3のS302でCPU201は、一定期間内データを受信していないと判定する。これによりCPU201は、図3のS303に示すように、USBファンクションコントローラ215へのNAK応答の設定とNAK応答を設定している間のデータ受信の割り込み設定を行う。これは図4では、403で示されている。
その後、PC101は、印刷データが存在しないのでSOFパケット404,405を定期的に送信する。その後、このまま時間が経過して、図3のS306でプリンタ装置102のCPU201はスリープ状態に移行する。これは図4の406に対応している。従って、これ以降は、PC101からはプリンタ装置102が見えなくなるためSOFパケットの送信も停止する。
次に図3のフローチャートのS301→S302→S303→S304→S305→S307の処理を行うときに、PC101とプリンタ装置102との間で行われるUSBを介した通信処理の流れを図5を参照して説明する。この説明は、NAK応答を設定した後にPC101が印刷データを送信した場合である。
図5は、実施形態1に係るプリンタ装置102でNAK応答を設定した後にPC101がプリンタ装置102に印刷データを送信する例を説明するシーケンス図である。
PC101は、プリンタ装置102に送信する印刷データが無いため、SOFパケット501,502を定期的に送信している。このときプリンタ装置102が受信するパケットがSOFパケットのみで一定期間、データパケットを受信しないため、図3のS302でCPU201が一定期間、データ受信がないと判定する。これによりCPU201は、USBファンクションコントローラ215にNAK応答の設定と、NAK応答の設定中のデータ受信の割り込みを設定するS303の処理を実施する。これは図5の503に該当する。その後、PC101が印刷データを送信する場合、ます出力パケット504を送信し、続けてデータ505を送信する。このときプリンタ装置102は、既にNAK応答するように設定されているので、NAK506を応答する。このときにS303で行った割り込みの設定によって、データ受信により発生した割り込みがCPU201に通知される。CPU201は、この割り込み通知を受けるとS305の判定によりデータ受信の割り込みがあったと判定してS307に進む。そしてCPU201は、USBファンクションコントローラ215へのNAK応答の解除と、NAK応答の設定時のデータ受信の割り込み設定を解除する。これは図5の507に該当する。
これによりPC101がデータ505の送信失敗のリトライを行うために、プリンタ装置102の応答準備を確認をするためにPINGパケット508を送信する。このときプリンタ装置102は応答可能な状態にあるためACK応答509を返す。尚このとき、S307の設定処理がPINGパケット508の送信に間に合わなかった場合は、プリンタ装置102はNAK応答を返すことになる。この場合、PC101は、プリンタ装置102からACK応答を受信するまで、再度、PINGパケットを送信することになる。
こうしてPC101がACK応答509を受信すると、以前に送信失敗したデータ505のリトライのために出力パケット510,データ511を送信する。これによりプリンタ装置102は、データ511が受信できるためACK応答512を返す。その後、PC101は、印刷データが続く場合は、出力パケット513、データ514を送信し、プリンタ装置102はACK応答515を返し、印刷処理を継続することが可能になる。
以上説明したように、この処理によれば、プリンタ装置がスリープ状態に移行しようとして、USBインターフェースにNAK応答を設定した後にPCが印刷データを送信した場合でも、印刷データを消失することなく印刷を実行することができる。
以下に図3のフローチャートでS301→S302→S303→S304→S305→S307の順に処理を行うときの、PC101とプリンタ装置102間で行われるUSBの通信シーケンスを図6を参照して説明する。この説明は、NAK応答を設定する直前にPC101が印刷データを送信した場合のシーケンスである。
図6は、実施形態1に係るプリンタ装置102でNAK応答を設定する直前にPC101がプリンタ装置102に印刷データを送信する例を説明するシーケンス図である。
PC101は、プリンタ装置102に送信する印刷データが無いため、SOFパケット601,602を定期的に送信している。これによりプリンタ装置102は、受信するパケットがSOFパケットのみでデータパケットがないため、図3のS302でCPU201は一定期間内データ受信がないと判定してS303の処理を実施しようと処理を進めている。このときにPC101が印刷データを送信すると、プリンタ装置102は、印刷データの先頭を受け取ってしまう。即ち、PC101が出力パケット603、データ604をプリンタ装置102に送信すると、まだS303の処理が実行されていないプリンタ装置102は、そのデータ604を受け取ってACK応答605を返答する。このACK応答605は、USBファンクションコントローラ215が反応して返答しているので、受信割り込みがまだCPU201に到達していない。このようにして、CPU201に割り込みが到達する前に、図6の606で示すように、図3のS303のNAK応答の設定とデータ受信時の割り込み設定が行われる。
一方、PC101は、ACK応答605を受け取っているため、継続して印刷データを送信しようとして、PC101は、出力パケット607、データ608を送信する。これに対してプリンタ装置102は、S303の処理でデータ受信に対してNAK応答が設定されているためNAK応答609で返答する。またこの時、S303で行った割り込み設定によって、CPU201に割り込み通知がくる。CPU201が割り込み通知を受けるとS305の判定によりデータ受信があったと判定してS307に進み、USBファンクションコントローラ215へのNAK応答の解除と、NAK応答によるデータ受信の割り込み設定を解除する。これは図6の610で示されている。
次にPC101は、データ608に対してNAK応答609があったため送信失敗のリトライを行うために、プリンタ装置102の応答準備確認をするためにPINGパケット611を送信する。このときプリンタ装置102は、S307の処理で応答可能な状態になっているためACK応答612を返す。尚、このときS307の設定処理がPINGパケット611の送信前に間に合わなかった場合は、NAK応答を返すことになる。その場合、PC101はプリンタ装置102からACK応答を受信するまで、再度、PINGパケットを送信することになる。
こうしてACK応答612を受信したPC101は、以前に送信に失敗したデータ608のリトライのために、出力パケット613、データ614を送信する。このときプリンタ装置102は、データ614を受信可能なためACK応答615を返す。その後、PC101は、印刷データが続く場合は、出力パケット616、データ617を送り、プリンタ装置102は、ACK応答618を返すことにより印刷処理を続行することが可能になる。
以上説明したようにこの処理によれば、プリンタ装置がスリープ状態に移行しようとして、USBインターフェースにNAK応答を設定する前にPCが印刷データを送信した場合でも、印刷データを消失することなく印刷を実行することができる。
以上説明したように実施形態1によれば、プリンタ装置がスリープ状態に移行しようとしているときにPCが印刷データを送信した場合でも、印刷データを消失することなく印刷を実行することができる。
[実施形態2]
次に本発明の実施形態2を説明する。前述の実施形態1では、プリンタ装置102がNAK応答を行う設定になった後、一定時間以内にPC101が印刷データを送信すると、NAK応答中の受信割り込み設定により、CPU201が印刷データを受信できる例を説明した。
これに対して実施形態2では、NAK応答の設定を行うのみで、NAK応答中の受信割り込み設定を行わずに、プリンタ装置102がスリープ状態へ移行中にPC101から印刷データを送信されても印刷データを消失しない例を説明する。尚、実施形態2に係るプリンタ装置102の構成等は前述の実施形態1と同様であるため、その説明を省略する。
図7は、実施形態2に係るプリンタ装置102によるスリープ状態への移行処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU201がRAM204に展開されたプログラムを実行することにより達成される。このフローチャートで示す処理は、プリンタ装置102が消費電力を低下させるスリープ状態に移行する場合の処理である。
先ずS701でCPU201は、PC101から印刷データを受信したかどうかを確認する。そしてS702でCPU201は、一定時間、PC101から印刷データ、或いはコントロールデータを受信してないと判定するとS703に処理を進める。S702の判定で、データを受信した判定するとS701に戻る。但しこの際、SOFパケットは、データと判断しない。S703でCPU201は、USBファンクションコントローラ215に、データ受信時にNAK応答を行うように設定する。次にS704に進みCPU201は、S703の設定を行った後、NAK応答の設定処理の直前にデータ受信をしているかどうかを判定する。S704でCPU201が、データ受信がなかったと判定するとS705に進み、CPU201は、スリープ状態への移行処理を継続し、その後、プリンタ装置102は、消費電力を低下させたスリープ状態に移行する。
一方、S704の判定でCPU201が、NAK応答の設定処理の直前にデータ受信があったと判定した場合はS706に進みCPU201は、USBファンクションコントローラ215に対するNAK応答の設定を解除する。このS706の処理を実行することで、再び、プリンタ装置102は、PC101からの印刷データを受信できるようになり、印刷処理を再開できるようになる。
次に、図7のフローチャートで説明したS701→S702→S703→S704→S705処理を行う場合のPC101とプリンタ装置102との間で行われるUSBの通信シーケンスを図8を参照して説明する。
図8は、実施形態2に係るPC101からプリンタ装置102へのSOFパケットの送信例を説明するシーケンス図である。
ここでPC101は、プリンタ装置102に送信する印刷データが無いため、SOFパケット801,802を定期的に送信している。このときプリンタ装置102は、受信するパケットがSOFパケットのみでデータパケットがないため、S702でCPU201は、一定期間内、データ受信がないと判定する。そしてCPU201は図8の803で、USBファンクションコントローラ215にNAK応答を設定する、図7のS703の処理を実施する。その後もPC101は、印刷データがないためSOFパケット804,805を定期的に送信する。これによりプリンタ装置102のCPU201は、S704でNAK設定の処理の直前にデータの受信がなかったと判定してS705に進み、スリープ状態に移行する。これが図8の806で示されており、この状態ではPC101からはプリンタ装置102が見えなくなるため、SOFパケットも送信されなくなる。
次に図7のフローチャートのS701→S702→S703→S704→S706の処理を行う場合に、PC101とプリンタ装置102との間で行われるUSBを介した通信処理の流れを図9を参照して説明する。この説明は、NAK応答を設定する直前にPC101が印刷データを送信した場合である。
図9は、実施形態2に係るプリンタ装置102でNAK応答を設定する直前にPC101がプリンタ装置102に印刷データを送信する例を説明するシーケンス図である。
最初、PC101は、プリンタ装置102に送信する印刷データが無いため、SOFパケット901,902を定期的に送信している。このときプリンタ装置102は、受信するパケットがSOFパケットのみでデータパケットを受信していないため、S702でCPU201が、一定期間内、データ受信がないと判定する。そしてCPU201は、S703の処理を実施しようと処理を進めようとする瞬間に、PC101が印刷データを送信するとプリンタ装置102は、印刷データの先頭を受け取ってしまう。即ち、PC101が出力パケット903、データ904を送信すると、まだS703の処理が実行されていないプリンタ装置102は、このデータ904を受け取ってACK応答905を返答する。このACK応答905は、USBファンクションコントローラ215が反応して返答しているため、CPU201はこの瞬間、まだデータ904を受信したことが分かっていない。
次に906で、CPU201にデータの受信割り込みが到達する前に、S703の処理を実行されるタイミングが存在する。このときPC101はACK応答905を受け取っているため、継続して印刷データを送信しようとして、出力パケット907、データ908を送信する。このときプリンタ装置102は、S703の処理でデータ受信に対してNAK応答が設定されているため、NAK応答909で返答する。そして、これに近いタイミングで、データ904を受信したことによる割り込みがCPU201に到達する。こうしてCPU201が割り込み通知を受けると、S704の判定でデータの受信があったと判定してS706の処理に進み、USBファンクションコントローラ215に対するNAK応答の設定を解除する。これが図9の910で示されている。
一方、PC101はNAK応答909を受信したため、データ908の送信失敗のリトライを行う。そして、まずプリンタ装置102の応答準備を確認するためにPINGパケット911を送信する。このときプリンタ装置102は、S706の処理により応答可能な状態になっているためACK912応答を返す。尚、このときS706の設定処理がPINGパケット911の送信に間に合わなかった場合は、NAK応答を返すことになる。その場合、PC101は、プリンタ装置102からACKを貰うまで、再度PINGパケットを送信することになる。こうしてACK応答912を受信したPC101は、以前に送信失敗したデータ908のリトライのために、出力パケット913、データ914を送信する。このときプリンタ装置102は、データ914が受信可能になっているためACK応答915を返す。その後、PC101は、印刷データが続く場合は、出力パケット916、データ917を送信し、プリンタ装置102はACK応答918を返し、印刷処理を継続することが可能になる。
次に図7のフローチャートのS701→S702→S703→S704→S705処理を行う場合の、PC101とプリンタ装置102との間で行われるUSBを介して通信処理の流れを図10を参照して説明する。この説明は、NAK応答を設定した後にPC101が印刷データを送信した場合の通信シーケンスである。
図10は、実施形態2に係るプリンタ装置102がNAK応答を設定した後にPC101が印刷データを送信した場合の通信シーケンス図である。
最初、PC101は、プリンタ装置102に送信する印刷データが無いため、SOFパケット1001,1002を定期的に送信している。ここではプリンタ装置102が受信するパケットがSOFパケットのみでデータパケットがないため、S702でCPU201は、一定期間内、データ受信がないと判定する。そしてS703に進みCPU201は、USBファンクションコントローラ215にNAK応答を設定する処理を実施する。これは図10の1003に相当している。その後、PC101が印刷データを送信するときは出力パケット1004を送信し、続けてデータ1005を送信する。このときプリンタ装置102は、NAK応答が設定されているのでNAK1006を応答する。この時、実施形態2では、NAK応答の設定時のデータ受信の割り込み設定を行っていないため、CPU201は、時間が経過してもデータ1005の受信に気づくことはない。
次にPC101は、NAK応答1006を受信したため、プリンタ装置102の応答準備を確認するためにPINGパケット1007を送信する。これに対してプリンタ装置102は、S703でNAK応答が設定されたままであるため、再びNAK応答1008を返す。そしてCPU201がS705の処理を実行するまで、PC101はPINGパケット1009を繰り返し送信し、プリンタ装置102は、NAK応答1010を返し続けることになる。
こうしてCPU201は、次にS705に進んでスリープ状態への移行処理を実行すると、プリンタ装置102はスリープ状態となって消費電力を低下させた状態になる。こうしてS705の処理が実行されてプリンタ装置102の電力がオフされるとPC101からプリンタ装置102が見えなくなり、PC101は、これ以降、PINGパケットもSOFパケットも送信しなくなる。こうしてPC101は、データ1005を送信できずにプリンタ装置102はスリープ状態に移行してしまう。これを図10の1011で示す。
しかし、このときPC101は、印刷データを1バイトもプリンタ装置102に送信していないため、印刷データを破棄することなく、PC101のプリントスプーラに蓄積する。その後、PC101は、プリンタ装置102がスリープ状態から復帰した際に、そのプリントスプーラに蓄積していた印刷データを送信することができる。こうして印刷データが消失するのを回避できる。
以上説明したように実施形態2によれば、プリンタ装置がスリープ状態に移行するときにPCがプリンタ装置に印刷データを送信した場合でも、印刷データを消失させることなく印刷を実行させることができる。そして印刷処理が終了すると、プリンタ装置はスリープ状態に移行することができる。尚、タイミングによっては、プリンタ装置102がスリープ状態に移行する前に印刷処理を完了できない場合もあるが、プリンタ装置102がスリープ状態より復帰した際に、印刷処理を完了させることができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
1…ホストPC(PC),2…プリンタ装置、201…CPU,203…ハードディスク(HDD),204…RAM,214…プリンタエンジン、215…USBファンクションコントローラ

Claims (10)

  1. 外部機器と通信するためのインターフェースを備える通信装置であって、
    前記通信装置がスリープモードに移行するための条件が満たされた場合に、データの受信に対してNAK応答を行うことを示すNAK応答設定を前記インターフェースに設定する設定手段と、
    前記NAK応答設定を前記インターフェースに設定してから所定時間が経過するまでの間に前記インターフェースにおいてデータの受信が発生しなかったことを条件にして、前記通信装置を前記スリープモードに移行させる制御手段と、
    を有することを特徴とする通信装置。
  2. 前記NAK応答設定を前記インターフェースに設定してから前記所定時間が経過するまでの間に前記インターフェースにおいてデータの受信が発生した場合に、前記制御手段は前記スリープモードへの移行を中止することを特徴とする請求項1に記載の通信装置。
  3. 外部機器と通信するためのインターフェースを備える通信装置であって、
    前記通信装置がスリープモードに移行するための条件が満たされた場合に、データの受信に対してNAK応答を行うことを示すNAK応答設定を前記インターフェースに設定する設定手段と、
    前記NAK応答設定を前記インターフェースに設定した後に前記インターフェースにおいてデータの受信が発生した場合に、前記スリープモードへの移行を中止する制御手段と、
    を有することを特徴とする通信装置。
  4. 前記制御手段は、前記スリープモードへの移行を中止する際に前記NAK応答設定を解除することを特徴とする請求項2又は3に記載の通信装置。
  5. 前記通信装置は、印刷を実行する画像形成装置であることを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
  6. 前記スリープモードは、少なくともHDD、表示部、プリンタエンジン、スキャナエンジンに電力が供給されない状態であることを特徴とする請求項5に記載の通信装置。
  7. 前記インターフェースは、USBインターフェースであることを特徴とする請求項1乃至のいずれか1項に記載の通信装置。
  8. 外部機器と通信するためのインターフェースを備える通信装置を制御する制御方法であって、
    前記通信装置がスリープモードに移行するための条件が満たされた場合に、データの受信に対してNAK応答を行うことを示すNAK応答設定を前記インターフェースに設定する設定工程と、
    前記NAK応答設定を前記インターフェースに設定してから所定時間が経過するまでの間に前記インターフェースにおいてデータの受信が発生しなかったことを条件にして、前記通信装置を前記スリープモードに移行させる制御工程と、
    を有することを特徴とする通信装置の制御方法。
  9. 外部機器と通信するためのインターフェースを備える通信装置を制御する制御方法であって、
    前記通信装置がスリープモードに移行するための条件が満たされた場合に、データの受信に対してNAK応答を行うことを示すNAK応答設定を前記インターフェースに設定する設定工程と、
    前記NAK応答設定を前記インターフェースに設定した後に前記インターフェースにおいてデータの受信が発生した場合に、前記スリープモードへの移行を中止する制御工程と、
    を有することを特徴とする通信装置の制御方法。
  10. コンピュータを、請求項1乃至のいずれか1項に記載の通信装置の各手段として機能させるためのプログラム。
JP2014095504A 2014-05-02 2014-05-02 通信装置とその制御方法、及びプログラム Active JP6336328B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014095504A JP6336328B2 (ja) 2014-05-02 2014-05-02 通信装置とその制御方法、及びプログラム
US14/691,948 US9432545B2 (en) 2014-05-02 2015-04-21 Information processing apparatus, method of controlling the same, and storage medium for controlling transition to a sleep mode and setting of an interrupt setting in accordance with reception of data
CN201510206767.4A CN105045544B (zh) 2014-05-02 2015-04-28 信息处理装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014095504A JP6336328B2 (ja) 2014-05-02 2014-05-02 通信装置とその制御方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2015212052A JP2015212052A (ja) 2015-11-26
JP2015212052A5 JP2015212052A5 (ja) 2017-06-15
JP6336328B2 true JP6336328B2 (ja) 2018-06-06

Family

ID=54356133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014095504A Active JP6336328B2 (ja) 2014-05-02 2014-05-02 通信装置とその制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US9432545B2 (ja)
JP (1) JP6336328B2 (ja)
CN (1) CN105045544B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6180450B2 (ja) 2015-02-02 2017-08-16 キヤノン株式会社 制御装置、制御装置の制御方法及びプログラム
US9774753B2 (en) * 2015-05-28 2017-09-26 Canon Kabushiki Kaisha Image forming apparatus, control method therefor, and storage medium
JP6724716B2 (ja) * 2016-10-25 2020-07-15 セイコーエプソン株式会社 監視装置、監視方法、及び、監視プログラム
JP2022080404A (ja) * 2020-11-18 2022-05-30 キヤノン株式会社 Usbデバイス、usbデバイスの制御方法、及びプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4278884B2 (ja) * 2001-03-29 2009-06-17 株式会社リコー 通信機能を有する画像形成装置およびその制御方法
JP2002351436A (ja) * 2001-05-25 2002-12-06 Sony Corp ディスプレイ装置及びディスプレイ装置の低消費電力モードへの遷移と復帰方法
JP2004289361A (ja) * 2003-03-20 2004-10-14 Ricoh Co Ltd 画像形成装置及び複合装置
JP2005251095A (ja) * 2004-03-08 2005-09-15 Matsushita Electric Ind Co Ltd Usb装置
JP2006120115A (ja) * 2004-09-22 2006-05-11 Seiko Epson Corp 情報機器及びその制御方法
JP4692122B2 (ja) * 2005-07-26 2011-06-01 富士ゼロックス株式会社 インタフェース装置及びこれを備える印刷装置
JP4361073B2 (ja) * 2005-07-28 2009-11-11 株式会社リコー 画像処理装置とその制御方法
JP4971843B2 (ja) * 2006-04-12 2012-07-11 キヤノン株式会社 情報処理装置、情報処理方法、プログラム及び記憶媒体
US7743267B2 (en) * 2006-11-08 2010-06-22 Xerox Corporation System and method for reducing power consumption in a device
US7849251B2 (en) * 2007-12-07 2010-12-07 Intel Corporation Hardware assisted endpoint idleness detection for USB host controllers
JP5037376B2 (ja) * 2008-02-06 2012-09-26 株式会社リコー 情報処理装置、電力モード制御方法、電力モード制御プログラム、及び記録媒体
JP5717240B2 (ja) * 2010-08-09 2015-05-13 国立大学法人名古屋大学 通信システム及び通信装置
JP2012049885A (ja) * 2010-08-27 2012-03-08 Denso Corp トランシーバ及び通信装置
JP5779894B2 (ja) * 2011-02-01 2015-09-16 村田機械株式会社 通信装置及び画像処理装置
JP5163761B2 (ja) * 2011-02-09 2013-03-13 富士ゼロックス株式会社 電力供給制御装置、画像処理装置、電力供給制御プログラム
JP5763934B2 (ja) * 2011-02-17 2015-08-12 キヤノン株式会社 データ処理装置及びその省電力制御方法
JP5790035B2 (ja) * 2011-03-07 2015-10-07 富士ゼロックス株式会社 電力供給制御装置、画像処理装置、電力供給制御プログラム
JP5713394B2 (ja) * 2011-03-30 2015-05-07 株式会社沖データ 印刷装置
JP5408199B2 (ja) * 2011-06-20 2014-02-05 住友電気工業株式会社 中継装置、中継方法及びその中継装置を用いた光通信システム
JP2013055534A (ja) * 2011-09-05 2013-03-21 Toyota Motor Corp 通信方法
JP6261156B2 (ja) * 2012-03-06 2018-01-17 キヤノン株式会社 画像形成装置
JP5988780B2 (ja) * 2012-08-31 2016-09-07 キヤノン株式会社 画像形成システム、及び情報処理装置
JP2014210375A (ja) * 2013-04-18 2014-11-13 株式会社沖データ 情報処理装置

Also Published As

Publication number Publication date
CN105045544B (zh) 2019-06-07
US9432545B2 (en) 2016-08-30
CN105045544A (zh) 2015-11-11
US20150319327A1 (en) 2015-11-05
JP2015212052A (ja) 2015-11-26

Similar Documents

Publication Publication Date Title
JP4971843B2 (ja) 情報処理装置、情報処理方法、プログラム及び記憶媒体
KR102320386B1 (ko) 화상 형성 장치 및 화상 형성 장치의 전력 제어 방법
US8839014B2 (en) Apparatus and method for shortening time for transitioning power mode of network communication device by utilizing a shared storage unit, a socket, and a socket wrapper
JP6336328B2 (ja) 通信装置とその制御方法、及びプログラム
US9571673B2 (en) Image forming apparatus with controlled activation based on port number and control method thereof
US9354830B2 (en) Information processing apparatus, information processing apparatus control method, and storage medium
JP2016143219A (ja) 制御装置、制御装置の制御方法及びプログラム
JP5652289B2 (ja) 画像処理システムおよび画像処理制御装置
JP2016041470A (ja) 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム
US9552050B2 (en) Information processing device, printing device, and control method
JP2015212052A5 (ja) 通信装置とその制御方法、及びプログラム
JP2012015812A (ja) 画像形成装置
JP6949572B2 (ja) 省電力を実現する画像形成装置とその制御方法
JP2015222505A (ja) 電子機器
JP2015215684A (ja) 情報処理装置及び情報処理プログラム
JP6460905B2 (ja) 通信装置、制御方法、プログラム
JP2016170649A (ja) 情報処理装置、情報処理装置の制御方法
JP6779687B2 (ja) 電子機器及び電子機器の制御方法
JP6402484B2 (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
JP6415633B2 (ja) 情報処理装置及びその制御方法
JP6798278B2 (ja) 複合機、複合機において実行される制御方法及び複合機の制御プログラム
JP6822105B2 (ja) 通信システム及び画像形成装置
WO1996029654A1 (fr) Systeme de commande de l'interface
JP6699428B2 (ja) 電子装置および画像処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170426

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180223

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: 20180406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180502

R151 Written notification of patent or utility model registration

Ref document number: 6336328

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151