JP6503903B2 - 印刷装置および印刷装置の制御方法 - Google Patents

印刷装置および印刷装置の制御方法 Download PDF

Info

Publication number
JP6503903B2
JP6503903B2 JP2015115549A JP2015115549A JP6503903B2 JP 6503903 B2 JP6503903 B2 JP 6503903B2 JP 2015115549 A JP2015115549 A JP 2015115549A JP 2015115549 A JP2015115549 A JP 2015115549A JP 6503903 B2 JP6503903 B2 JP 6503903B2
Authority
JP
Japan
Prior art keywords
data
header portion
image print
print command
unit
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
JP2015115549A
Other languages
English (en)
Other versions
JP2017001225A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2015115549A priority Critical patent/JP6503903B2/ja
Priority to US15/157,001 priority patent/US9892347B2/en
Publication of JP2017001225A publication Critical patent/JP2017001225A/ja
Application granted granted Critical
Publication of JP6503903B2 publication Critical patent/JP6503903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/4045Managing the interface to the data source, e.g. choosing an interface for data reception
    • 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/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • 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/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1817Buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/1203Improving or facilitating administration, e.g. print 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Bus Control (AREA)

Description

本発明は、ホスト装置からデータを受信して画像印刷を行う印刷装置および印刷装置の制御方法に関するものである。
従来、この種の印刷装置として、ホスト装置から送られる印刷コマンドなどのデータを受信するホストインターフェースと、ホストインターフェースが受信したデータを一時記憶する受信バッファと、受信バッファに蓄積された印刷コマンドを解析して、印刷データを生成するコマンド解析部と、印刷データを蓄積するためのプリントバッファと、プリントバッファに蓄積された印刷データに基づいて印刷を実行するプリントエンジンと、受信バッファのデータをプリントバッファにDMA(Direct Memory Access)転送するDMAコントローラーと、を備えたものが知られている(特許文献1参照)。
この印刷装置では、受信したデータを一度、受信バッファに格納し、格納したデータが、DMA転送可能な画像印刷コマンド(イメージ印刷コマンド)である場合、DMA転送モードでデータ転送する構成となっている。すなわち、受信したデータが、DMA転送可能な画像印刷コマンドの場合、DMAコントローラーにより、当該画像印刷コマンドを受信バッファからプリントバッファにDMA転送する。これによって、データ転送を高速化し、プリンター全体の処理を高速化している。
特開2006−309343号公報
ところで、上記従来の印刷装置では、受信したデータを、一度受信バッファに格納した後、当該データがDMA転送可能な画像印刷コマンドである場合、当該データを、DMA転送モードで受信バッファからプリントバッファにデータ転送する構成としているが、DMA転送モードの時に、受信したデータを、受信バッファに格納することなく、プリントバッファに直接DMA転送することも考えられる。例えば、受信したデータを順次受信バッファに格納し、格納したデータがDMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定していく判定部を備える。そして、この判定部による判定によって、画像印刷コマンドのヘッダー部を検出した時点で、データ転送モードを通常転送モードからDMA転送モードに切り替える。その後、当該ヘッダー部に続く画像印刷コマンドのデータ本体を、DMA転送モードで、受信バッファに格納することなく、プリントバッファに直接DMA転送する。かかる構成によれば、データ転送をより高速化することができる。
しかしながら、かかる構成を採用したところ、画像印刷コマンドのデータ本体全体をDMA転送モードでデータ転送することができないという問題が生じた。すなわち、DMA転送可能な画像印刷コマンドのヘッダー部を受信するタイミングと、判定によって当該ヘッダー部を検出するタイミングとの間にタイムラグがある。そのため、このタイムラグの間に、当該ヘッダー部に続く画像印刷コマンドのデータ本体の一部が、受信バッファに格納されてしまい、通常転送モードで処理せざるを得なくなってしまう。これによって、画像印刷コマンドのデータ本体の一部が、DMA転送モードで処理できず、データ本体全体をDMA転送モードでデータ転送することができなかった。これにより、データ転送が遅くなってしまう。
本発明は、上記問題を鑑み、データ転送をより高速化することができる印刷装置および印刷装置の制御方法を提供することを課題としている。
本発明の印刷装置は、受信割込み処理で、ホスト装置から受信したデータを受信バッファに格納するデータ格納部と、受信割込み処理で、受信バッファに格納したデータが、画像印刷コマンドのヘッダー部であるか否かを判定する割込み判定部と、割込み判定部で、画像印刷コマンドのヘッダー部であると判定された場合、ホスト装置によるデータ送信を一時停止させるデータ送信停止部と、コマンドタスクで、受信バッファに格納したデータが、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定するコマンド解析部と、コマンド解析部で、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、データ転送モードを、通常転送モードからDMA転送モードに切り替えるモード切替部と、コマンド解析部で、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、ホスト装置によるデータ転送の一時停止を解除させる停止解除部と、モード切替部で、データ転送モードを、通常転送モードからDMA転送モードに切り替えた場合に、ホスト装置から受信したデータを、受信バッファに格納することなく、プリントバッファにDMA転送するDMA転送部と、プリントバッファに転送したデータを読み出して、画像印刷を行う印刷部と、を備えたことを特徴とする。
この場合、モード切替部は、コマンド解析部でDMA転送可能な画像印刷コマンドのヘッダー部でないと判定された場合、データ転送モードを、通常転送モードに維持し、停止解除部は、コマンド解析部でDMA転送可能な画像印刷コマンドのヘッダー部でないと判定された場合、ホスト装置によるデータ転送の一時停止を解除させることが好ましい。
本発明の印刷装置の制御方法は、受信割込み処理で、ホスト装置から受信したデータを受信バッファに格納するデータ格納ステップと、受信割込み処理で、受信バッファに格納したデータが、画像印刷コマンドのヘッダー部であるか否かを判定する割込み判定ステップと、割込み判定ステップで、画像印刷コマンドのヘッダー部であると判定された場合、ホスト装置によるデータ送信を一時停止させる送信停止ステップと、コマンドタスクで、受信バッファに格納したデータが、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定する判定ステップと、判定ステップで、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、データ転送モードを、通常転送モードからDMA転送モードに切り替えるモード切替ステップと、判定ステップで、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、ホスト装置によるデータ送信の一時停止を解除させる送信停止解除ステップと、モード切替ステップで、データ転送モードを、通常転送モードからDMA転送モードに切り替えた場合に、ホスト装置から受信したデータを、受信バッファに格納することなく、プリントバッファにDMA転送するDMA転送ステップと、プリントバッファに転送したデータを読み出して、画像印刷を行う印刷ステップと、を実行することを特徴とする。
これらの構成によれば、受信割込み処理において、受信したデータが画像印刷コマンドのヘッダー部であると判定された時点で、ホスト装置によるデータ送信を一時停止させ、コマンド解析部(判定ステップ)による判定の後に当該一時停止を解除させる。これにより、上記したタイムラグの間、ホスト装置によるデータ転送を停止させることができる。そのため、上記したタイムラグの間に、当該ヘッダー部に続くデータ本体の一部が受信バッファに格納されてしまうことがない。これによって、DMA転送可能な画像印刷コマンドのデータ本体の一部を通常転送モードで処理せざるを得ない事態を避けることができる。つまり、データ本体全体をDMA転送モードでデータ転送することができる。よって、データ転送をより高速化することができる。
上記の印刷装置において、割込み判定部で、受信したデータが、画像印刷コマンドのヘッダー部であると判定された場合、当該画像印刷コマンドのデータ転送が終了するまで、割込み判定部による判定を禁止する判定禁止部を、更に備えることが好ましい。
受信したデータが画像印刷コマンドのヘッダー部であると判定された場合、それ以降は、当該ヘッダー部に続く画像印刷コマンドのデータ本体を受信することになる。
これに対し、上記の構成によれば、受信したデータが画像印刷コマンドのヘッダー部であると判定された場合、当該画像印刷コマンドのデータ転送が終了するまで、割込み判定部による判定を禁止する構成であるため、画像印刷コマンドのデータ本体を受信していく時には、受信割込み処理における割込み判定部の判定が省略される。これによって、画像印刷コマンドのデータ転送を、より高速化することができる。
また、割込み判定部は、受信したデータが、画像印刷コマンドのヘッダー部の一部を成すデータであると判定された場合、当該データを記憶バッファに記憶し、画像印刷コマンドのヘッダー部の一部を成すデータではないと判定された場合、記憶バッファをクリアすることが好ましい。
この構成によれば、受信したデータが、画像印刷コマンドのヘッダー部の一部を成すデータであると判定された場合、当該データを記録バッファに蓄積していき、蓄積したデータによって、受信したデータが、画像印刷コマンドのヘッダー部であると確定したら、受信したデータが、画像印刷コマンドのヘッダー部であると判定する。一方で、受信したデータが、画像印刷コマンドのヘッダー部の一部を成すデータではないと判定された場合、記録バッファをクリアすることで、記録バッファを用いた次の判定を即座に行うことができる。
本発明の一実施形態に係る印刷システムのシステム構成図である。 プリンターコントローラーの機能構成を示した機能ブロック図である。 受信割込み処理を示したフローチャートである。 コマンドタスクを示したフローチャートである。
以下、添付の図面を参照して、本発明の一実施形態に係る印刷装置および印刷装置の制御方法について説明する。本実施形態では、本発明の印刷装置および印刷装置の制御方法を適用した印刷システムを例示する。この印刷システムは、印刷媒体に対し印刷処理を行って、印刷物(例えばレシート)を作成するものである。
図1に示すように、印刷システムSYは、ホスト装置1と、ホスト装置1に接続された印刷装置2と、を有する。ホスト装置1と印刷装置2とは、USB(Universal Serial Bus)ケーブル3を介して接続され、各種データをUSB転送形式でやり取り可能に構成される。
ホスト装置1は、各種コマンドを生成し、生成した各種コマンドを印刷装置2に送信する。具体的には、ホスト装置1は、画像印刷コマンドや文字印刷コマンド等のコマンドを生成し、これを1バイト毎に分割して印刷装置2に送信する。各種コマンドは、ヘッダー部と、データ本体(画像印刷コマンドでは画像データ)と、により構成される。当該ヘッダー部には、少なくとも、コマンドの種類の情報と、データ本体のデータサイズの情報とが記載される。詳細は後述するが、印刷装置2は、当該ヘッダー部を参照することで、これらの情報を取得する。
印刷装置2は、ホスト装置1から各種コマンドを受信し、当該各種コマンドに基づいて、各種処理を行う。例えば、画像印刷コマンドに基づいて、印刷媒体に対し画像印刷を行い、文字印刷コマンドに基づいて、印刷媒体に対し文字印刷を行う。印刷装置2は、例えばレシート印刷装置である。
印刷装置2は、ホスト装置1とのデータ通信を行うUSBインターフェース11(受信部)と、印刷媒体に対し印刷処理を行うプリンターエンジン12と、USBインターフェース11およびプリンターエンジン12を制御するプリンターコントローラー13と、を備える。印刷装置2では、プリンターコントローラー13の制御の下、USBインターフェース11により、各種コマンドを受信し、プリンターエンジン12により、受信した各種コマンドに基づく印刷処理を行う。これによって、印刷物を作成する。
USBインターフェース11は、USBケーブル3を介して、ホスト装置1との通信を行うものである。USBインターフェース11は、データの送受信を行うUSBコネクター21と、USBコネクター21によるデータの送受信を制御するUSBコントローラー22と、USBコネクター21により受信したデータを一時記憶するFIFO(First In First Out)バッファ23と、を備える。ホスト装置1から上記各種コマンドを含むデータを受信する場合には、USBコントローラー22の制御の下、1バイト単位で送られてくるデータを順次FIFOバッファ23に一時記憶する。なお、詳細は後述するが、ここで一時記憶したデータは、プリンターコントローラー13により、FIFOバッファ23から、受信バッファ41やプリントバッファ42(いずれも後述)にデータ転送される。
プリンターコントローラー13は、印刷装置2全体を統括制御する統括制御部31と、DMA転送を行うためのDMAコントローラー32と、を備える。DMAコントローラー32は、後述のDMA転送モードにおいて、FIFOバッファ23に記憶されたデータを、直接プリントバッファ42にDMA転送するのに用いられる。
統括制御部31は、CPU(Central Processing Unit)36と、RAM(Random Access Memory)37と、ROM(Read Only Memory)38と、を有する。CPU36は、各種演算処理を行う中央処理装置である。
RAM37は、CPU36が各種演算処理を行う際の作業領域として用いられる。また、RAM37は、USBインターフェース11からのデータを一時記憶する受信バッファ41と、プリンターエンジン12により印刷する画像データを記憶するプリントバッファ42と、を有する。
ROM38は、CPU36が各種演算処理を行うために用いられる制御プログラムおよび制御データを記憶する。具体的には、ROM38は、制御プログラムとして、印刷装置2を制御するためのファームウェア43を記憶する。
本印刷装置2では、プリンターコントローラー13が、USBインターフェース11により受信したデータ(FIFOバッファ23に記憶されたデータ)をプリントバッファ42に転送する「転送部」として機能する。具体的には、プリンターコントローラー13は、データ転送モードとして、通常転送モードとDMA転送モードとを有し、これらの両転送モードを適宜切り替えて、データ転送を行う。詳細は後述するが、通常転送モードでは、受信割込み処理によって、FIFOバッファ23に記憶されたデータを受信バッファ41に格納する。そして、コマンドタスクによって、格納したデータに対しコマンド解析を行うと共に、受信バッファ41に格納したデータをプリントバッファ42に展開する。一方、DMA転送モードでは、FIFOバッファ23に記憶されたデータを、受信バッファ41に格納することなく、直接プリントバッファ42にDMA転送する。ここで図2を参照して、これらを実現するプリンターコントローラー13の機能構成について説明する。
図2に示すように、プリンターコントローラー13は、データ格納部51と、コマンド解析部52と、コマンド処理部53と、モード切替部54と、DMA転送部55と、割込み判定部56と、データ送信停止部57と、停止解除部60と、判定禁止部58と、印刷制御部59と、上記の受信バッファ41およびプリントバッファ42と、を備える。データ格納部51、コマンド解析部52、コマンド処理部53、モード切替部54、割込み判定部56、データ送信停止部57、停止解除部60、判定禁止部58および印刷制御部59は、ファームウェア43を実行するCPU36により構成される。一方、DMA転送部55は、DMAコントローラー32により構成される。
データ格納部51は、受信割込み処理において、FIFOバッファ23に記憶されたデータを受信バッファ41に格納する。具体的には、データ格納部51は、FIFOバッファ23に記憶されたデータを、1バイトずつ受信バッファ41に転送し、受信バッファ41に格納していく。
コマンド解析部52は、コマンドタスクにおいて、受信バッファ41に格納されたデータに対し、コマンド解析を行う。具体的には、受信バッファ41に格納されたデータを順に精査して、いずれかのコマンドのヘッダー部を抽出し、抽出したヘッダー部を参照して、当該コマンドの種類およびデータ本体のデータサイズを判定する。また、コマンド解析部52は、抽出したヘッダー部が、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定する。すなわち、当該ヘッダー部のコマンドが、DMA転送条件を満たすか否かを判定する。DMA転送条件は、例えば、高速受信可能な通信デバイスが接続された状態にあること、スタンダードモードである(ページモードがデータを重ねることができる)こと、X方向(紙幅方向)の展開位置が8の倍数であること、残りの展開領域に展開イメージが入ること、XY方向(紙幅方向および紙長さ方向)の両方について拡大縮小が指定された状態にないこと等である。
コマンド処理部53は、コマンド解析部52による解析結果に基づき、コマンドの種類に応じたコマンド処理を行う。例えば、コマンドの種類が、文字印刷コマンドであると判定された場合には、データ本体の文字データに基づいて、文字印刷を行うための画像データを生成し、生成した画像データをプリントバッファ42に展開する。また、コマンドの種類が、画像印刷コマンドであると判定された場合、DMA転送不能な画像印刷コマンドであると判定されたときには、データ本体の画像データをプリントバッファ42に展開する。また、DMA転送可能な画像コマンドであると判定されたときには、DMA転送部55にDMA転送命令を出力して、DMA転送を行わせる。
モード切替部54は、データ転送モードを、通常転送モードとDMA転送モードとの間で切り替える処理を行う。具体的には、コマンド解析部52により、受信したデータが、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、データ転送モードを、通常転送モードからDMA転送モードを切り替えて、その旨をUSBコントローラー22に通知する。また、その画像印刷コマンドのデータ転送(DMA転送)が終了したら、データ転送モードを、DMA転送モードから通常転送モードに戻して(切り替えて)、その旨をUSBコントローラー22に通知する。USBコントローラー22は、モード切替の通知を受けると、これに対応して、FIFOバッファ23のエンドポイントの出力先を受信バッファ41とプリントバッファ42との間で切り替える。
DMA転送部55は、データ転送がDMA転送モードに切り替わった状態にある場合に、コマンド処理部53からのDMA転送命令を受けて、FIFOバッファ23に記憶されたデータのDMA転送を行う。すなわち、FIFOバッファ23に記憶されたデータを、受信バッファ41に格納することなく、直接プリントバッファ42にデータ転送する。なお、本実施形態では、受信したデータが、DMA転送可能な画像印刷コマンドのヘッダー部であると判定されたら、DMA転送命令を出力する構成である。そのため、DMA転送部55は、当該ヘッダー部に続くデータ本体をDMA転送する役割を担う。
割込み判定部56は、受信割込み処理において、受信したデータが、画像印刷コマンドのヘッダー部であるか否かを判定する。具体的には、1バイト単位で受信されていくデータを順に精査していき、受信したデータの組が、画像印刷コマンドのヘッダー部である場合、受信したデータが、画像印刷コマンドのヘッダー部であると判定する。
データ送信停止部57は、受信割込み処理において、割込み判定部56により、受信したデータが、画像印刷コマンドのヘッダー部であると判定された場合、その時点でホスト装置1にBUSY出力信号を送信して、ホスト装置1によるデータ送信を一時停止させる。一方、停止解除部60は、コマンドタスクにおいて、コマンド解析部52によるDMA転送可能か否かの判定処理が終了したら、ホスト装置1にBUSY解除信号を送信して、データ転送の一時停止を解除させる。
このように、データ送信停止部57および停止解除部60により、受信割込み処理において、画像印刷コマンドのヘッダー部を受信してから、コマンドタスクにおいて、DMA転送可能か否かを判定するまでの間、ホスト装置1のデータ転送を停止しておくことで、ヘッダー部に続くデータ本体の一部が、データ格納部51により受信バッファ41に格納されるのを避けるようにする。これにより、データ本体の一部が、通常転送モードで処理せざるを得ない事態を避ける構成となる。
判定禁止部58は、受信割込み処理における、割込み判定部56による判定処理を禁止する。具体的には、受信割込み処理において、割込み判定部56によって、受信したデータが、画像印刷コマンドのヘッダー部であると判定された場合、その時点から当該画像印刷コマンドのデータ転送が終了するまで、受信割込み処理での割込み判定部56による判定を禁止する。すなわち、受信割込み処理での割込み判定部56による判定を省略させる。
印刷制御部59は、プリンターエンジン12を制御し、プリントバッファ42に記憶された画像データに基づいて、印刷媒体に対し印刷処理を行う。すなわち、印刷制御部59は、プリントバッファ42に転送された画像データをプリントバッファ42から読み出し、読み出した画像データに基づいて、印刷処理を行う。なお、「印刷部」は、印刷制御部59およびプリンターエンジン12により構成される。
ここで図3および図4を参照して、プリンターコントローラー13による受信割込み処理およびコマンドタスクについて説明する。
まず、図3を参照して、受信割込み処理について説明する。受信割込み処理は、データ転送モードが通常転送モードに切り替わった状態において、USBインターフェース11によりホスト装置1からデータを受信し、受信したデータをFIFOバッファ23に記憶した時に実行する処理である。なお、上記したように、ホスト装置1からのデータは、1バイトずつ送信されるため、データを、1バイト分受信しFIFOバッファ23に記憶する都度、受信割込み処理を実行する。また、受信割込み処理は、割込み処理であるため、コマンドタスクの実行中に、ホスト装置1からデータを受信した場合には、コマンドタスクを中断して実行される。
図3に示すように、受信割込み処理では、まず、データ格納部51により、受信したデータ(FIFOバッファ23に記憶されたデータ)を、受信バッファ41に格納する(S1)(データ格納ステップ)。すなわち、受信したデータを、FIFOバッファ23から受信バッファ41に転送する。受信したデータを受信バッファ41に格納したら、割込み判定部56による判定が禁止された状態か否かを判定する(S2)。割込み判定部56による判定が禁止された状態にあると判定された場合(S2:Yes)には、受信割込み処理を終了する。
割込み判定部56による判定が禁止された状態にないと判定された場合(S2:No)には、割込み判定部56により、受信したデータが、画像印刷コマンドのヘッダー部であるか否かを判定する(割込み判定ステップ)。具体的には、受信した1バイト単位のデータが、画像印刷コマンドのヘッダー部の一部を成すデータであるか否かを判定し(S3)、受信したデータが、画像印刷コマンドのヘッダー部の一部を成すデータであると判定された場合(S3:Yes)には、これを記憶バッファに記憶して(S4)、受信割込み処理を終了する。そして、複数回の受信割込み処理によって、受信したデータの組(記憶バッファに記憶したデータと、今回受信したデータとを合わせたもの)が、画像印刷コマンドのヘッダー部であると確定し(S5:Yes)、受信したデータ(の組)が、画像印刷コマンドのヘッダー部であると判定されたら、次の工程に移行する。なお、受信したデータが、画像印刷コマンドのヘッダー部の一部を成すデータでないと判定された場合(S3:No)には、記憶バッファ内のデータを消去(クリア)して(S6)、受信割込み処理を終了する。
受信したデータが、画像印刷コマンドのヘッダー部であると判定されたら、データ送信停止部57により、ホスト装置1に対しBUSY出力信号を送信して(S7)、ホスト装置1のデータ送信を一時停止させる(送信停止ステップ)。その後、判定禁止部58により、割込み判定部56による判定を禁止する(S8)。すなわち、割込み判定部56による判定が禁止された状態に移行させる。これにより、受信割込み処理を終了する。
次に図4を参照して、コマンドタスクについて説明する。コマンドタスクは、コマンド解析部52により、受信バッファ41に記憶されたデータを精査していき、いずれかのコマンドのヘッダー部が抽出されたときに、その都度、実行する処理である。
図4に示すように、コマンドタスクでは、まず、コマンド解析部52により、抽出したコマンドのヘッダー部を参照して、当該コマンドの種類およびデータ本体のデータサイズを判定する(S11)。コマンドの種類およびデータ本体のデータサイズを判定したら、判定した種類に対応した処理を行う。ここでは、コマンドの種類が、画像印刷コマンドであると判定された場合(S12:B)の処理のみ説明し、コマンドの種類が、文字印刷コマンドであると判定された場合(S12:A)や、コマンドの種類が、その他のコマンドであると判定された場合(S12:C)については、説明を省略するものとする。
コマンドの種類が、画像印刷コマンドであると判定された場合(S12:B)には、抽出したヘッダー部が、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定する(S13)(判定ステップ)。すなわち、当該画像印刷コマンドが、上記したDMA転送条件を満たすか否かを判定する。
判定の結果、抽出したヘッダー部が、DMA転送不能な画像印刷コマンドのヘッダー部であると判定された場合(S13:No)には、モード切替部54により、データ転送モードを通常転送モードに維持すると共に、停止解除部60により、ホスト装置1に対しBUSY解除信号を送信して(S14)、ホスト装置1によるデータ転送の一時停止を解除させる(送信停止解除ステップ)。これによって、抽出したヘッダー部に続く画像印刷コマンドのデータ本体が、ホスト装置1から印刷装置2に送信される。そして、当該データ本体が、USBインターフェース11を介し、受信割込み処理によって、受信バッファ41に格納される。その後、コマンド処理部53により、受信バッファ41に記憶されたデータ本体を、プリントバッファ42に展開する(S15)。なお、この展開処理は、コマンド解析部52により得られたデータサイズに達するまで、データを、受信バッファ41からプリントバッファ42に転送することで行われる。
一方、判定の結果、抽出したヘッダー部が、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合(S13:Yes)には、モード切替部54により、データ転送モードを、通常転送モードからDMA転送モードに切り替えて(S16)(モード切替ステップ)、その旨をUSBインターフェース11に通知する。そして、停止解除部60により、ホスト装置1に対しBUSY解除信号を送信して(S17)、ホスト装置1によるデータ送信の一時停止を解除しつつ(送信停止解除ステップ)、コマンド処理部53により、DMA転送部55に対しDMA転送命令を出力する(S18)。これによって、抽出したヘッダー部に続く画像印刷コマンドのデータ本体が、ホスト装置1から印刷装置2に送信される。これに対し、USBインターフェース11により、当該データ本体を受信しFIFOバッファ23に順次記憶する。そして、DMA転送命令を受けたDMA転送部55により、データ本体を、FIFOバッファ23からプリントバッファ42にDMA転送する(S19)(DMA転送ステップ)。すなわち、受信したデータ本体を、受信バッファ41に格納することなく、直接プリントバッファ42にデータ転送する。なお、この転送処理は、コマンド解析部52により得られたデータサイズに達するまで、データを、FIFOバッファ23からプリントバッファ42に転送することで行われる。
DMA転送部55によるDMA転送が終了したら、モード切替部54により、データ転送モードを、DMA転送モードから通常転送モードに切り替えて(S20)、その旨をUSBインターフェース11に通知する。
いずれの方法で、プリントバッファ42にデータ本体が転送されたら、判定禁止部58により、割込み判定部56による判定の禁止を解除する(S21)。そして、印刷制御部59により、プリンターエンジン12を制御し、プリントバッファ42に記憶されたデータ本体(画像データ)に基づいて、印刷媒体に対し画像印刷を行う(S22)(印刷ステップ)。すなわち、プリントバッファ42に記憶されたデータを読み出して、画像印刷を行う。なお、厳密には、上記データ転送を行いながら、プリントバッファ42に順次記憶されていくデータ本体を、順次印刷していくことで、画像印刷を行う構成となる。これにより、コマンドタスクを終了する。
以上のような構成によれば、受信割込み処理において、受信したデータが画像印刷コマンドのヘッダー部であると判定された時点で、ホスト装置1によるデータ送信を一時停止させ、コマンド解析部52による判定の後に当該一時停止を解除させる。これにより、画像印刷コマンドのヘッダー部を受信するタイミングと、当該ヘッダー部が、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定するタイミングとのタイムラグの間、ホスト装置1によるデータ送信を停止させることができる。よって、当該タイムラグの間に、当該ヘッダー部に続くデータ本体の一部が受信バッファ41に格納されてしまうことがない。これによって、DMA転送可能な画像印刷コマンドのデータ本体の一部を通常転送モードで処理せざるを得ない事態を避けることができる。つまり、データ本体全体をDMA転送モードでデータ転送することができる。よって、データ転送をより高速化することができる。
また、印刷装置側の制御によって、これを実現することができるので、ホスト装置側の構成を複雑化させる必要がなく、また、ホスト装置側の構成(ソフトウェア)を変更することなく、データ転送を高速化することができる。
また、受信割込み処理において、受信したデータが画像印刷コマンドのヘッダー部であると判定された場合、当該画像印刷コマンドのデータ転送が終了するまで、割込み判定部56による判定を禁止する構成であるため、画像印刷コマンドのデータ本体を受信していく時には、受信割込み処理における割込み判定部56の判定が省略される。これによって、画像印刷コマンドのデータ転送を、より高速化することができる。
なお、本実施形態では、受信したデータが、DMA転送可能な画像印刷コマンドのヘッダー部である場合、DMA転送モードに移行し、受信割込み処理自体が行われない構成となる。そのため、受信したデータが、DMA転送不能な画像印刷コマンドのヘッダー部である場合のみ、データ本体に対する割込み判定部56の判定が省略される。
なお、上記実施形態においては、受信割込み処理において、受信したデータが、画像印刷コマンドのヘッダー部であるか否かを判定し、受信したデータが、画像印刷コマンドのヘッダー部であると判定された時点で、ホスト装置1によるデータ送信を一時停止させる構成としたが、これに限るものではない。例えば、受信割込み処理において、受信したデータが、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定し、受信したデータが、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された時点で、ホスト装置1によるデータ送信を一時停止させる構成でも良い。
1:ホスト装置、 2:印刷装置、 12:プリンターエンジン、 41:受信バッファ、 42:プリントバッファ、 51:データ格納部、 52:コマンド解析部、 54:モード切替部、 55:DMA転送部、 56:割込み判定部、 57:データ送信停止部、 58:判定禁止部、 59:印刷制御部、 60:停止解除部。

Claims (5)

  1. 受信割込み処理で、ホスト装置から受信したデータを受信バッファに格納するデータ格納部と、
    前記受信割込み処理で、前記受信バッファに格納した前記データが、画像印刷コマンドのヘッダー部であるか否かを判定する割込み判定部と、
    前記割込み判定部で、画像印刷コマンドのヘッダー部であると判定された場合、前記ホスト装置によるデータ送信を一時停止させるデータ送信停止部と、
    前記割込み判定部で、受信した前記データが、画像印刷コマンドのヘッダー部であると判定された場合、当該画像印刷コマンドのデータ転送が終了するまで、前記割込み判定部による判定を禁止する判定禁止部と、
    コマンドタスクで、前記受信バッファに格納した前記データが、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定するコマンド解析部と、
    前記コマンド解析部で、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、データ転送モードを、通常転送モードからDMA転送モードに切り替えるモード切替部と、
    前記コマンド解析部で、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、前記ホスト装置によるデータ転送の前記一時停止を解除させる停止解除部と、
    前記モード切替部で、データ転送モードを、通常転送モードからDMA転送モードに切り替えた場合に、前記ホスト装置から受信したデータを、前記受信バッファに格納することなく、プリントバッファにDMA転送するDMA転送部と、
    前記プリントバッファに転送した前記データを読み出して、画像印刷を行う印刷部と、を備えたことを特徴とする印刷装置。
  2. 受信割込み処理で、ホスト装置から受信したデータを受信バッファに格納するデータ格納部と、
    前記受信割込み処理で、前記受信バッファに格納した前記データが、画像印刷コマンドのヘッダー部であるか否かを判定する割込み判定部と、
    前記割込み判定部で、画像印刷コマンドのヘッダー部であると判定された場合、前記ホスト装置によるデータ送信を一時停止させるデータ送信停止部と、
    コマンドタスクで、前記受信バッファに格納した前記データが、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定するコマンド解析部と、
    前記コマンド解析部で、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、データ転送モードを、通常転送モードからDMA転送モードに切り替えるモード切替部と、
    前記コマンド解析部で、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、前記ホスト装置によるデータ転送の前記一時停止を解除させる停止解除部と、
    前記モード切替部で、データ転送モードを、通常転送モードからDMA転送モードに切り替えた場合に、前記ホスト装置から受信したデータを、前記受信バッファに格納することなく、プリントバッファにDMA転送するDMA転送部と、
    前記プリントバッファに転送した前記データを読み出して、画像印刷を行う印刷部と、を備え
    前記割込み判定部は、受信した前記データが、画像印刷コマンドのヘッダー部の一部を成すデータであると判定された場合、当該データを記憶バッファに記憶し、画像印刷コマンドのヘッダー部の一部を成すデータではないと判定された場合、前記記憶バッファをクリアすることを特徴とする印刷装置。
  3. 前記モード切替部は、前記コマンド解析部でDMA転送可能な画像印刷コマンドのヘッダー部でないと判定された場合、データ転送モードを、通常転送モードに維持し、
    前記停止解除部は、前記コマンド解析部でDMA転送可能な画像印刷コマンドのヘッダー部でないと判定された場合、前記ホスト装置によるデータ転送の前記一時停止を解除させることを特徴とする請求項1または2に記載の印刷装置。
  4. 受信割込み処理で、ホスト装置から受信したデータを受信バッファに格納するデータ格納ステップと、
    前記受信割込み処理で、前記受信バッファに格納した前記データが、画像印刷コマンドのヘッダー部であるか否かを判定する割込み判定ステップと、
    前記割込み判定ステップで、画像印刷コマンドのヘッダー部であると判定された場合、前記ホスト装置によるデータ送信を一時停止させる送信停止ステップと、
    前記割込み判定ステップで、受信した前記データが、画像印刷コマンドのヘッダー部であると判定された場合、当該画像印刷コマンドのデータ転送が終了するまで、前記割込み判定ステップの判定を禁止する判定禁止ステップと、
    コマンドタスクで、前記受信バッファに格納した前記データが、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定する判定ステップと、
    前記判定ステップで、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、データ転送モードを、通常転送モードからDMA転送モードに切り替えるモード切替ステップと、
    前記判定ステップで、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、前記ホスト装置によるデータ送信の一時停止を解除させる送信停止解除ステップと、
    前記モード切替ステップで、データ転送モードを、通常転送モードからDMA転送モードに切り替えた場合に、前記ホスト装置から受信したデータを、前記受信バッファに格納することなく、プリントバッファにDMA転送するDMA転送ステップと、
    前記プリントバッファに転送した前記データを読み出して、画像印刷を行う印刷ステップと、を実行することを特徴とする印刷装置の制御方法。
  5. 受信割込み処理で、ホスト装置から受信したデータを受信バッファに格納するデータ格納ステップと、
    前記受信割込み処理で、前記受信バッファに格納した前記データが、画像印刷コマンドのヘッダー部であるか否かを判定する割込み判定ステップと、
    前記割込み判定ステップで、画像印刷コマンドのヘッダー部であると判定された場合、前記ホスト装置によるデータ送信を一時停止させる送信停止ステップと、
    コマンドタスクで、前記受信バッファに格納した前記データが、DMA転送可能な画像印刷コマンドのヘッダー部であるか否かを判定する判定ステップと、
    前記判定ステップで、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、データ転送モードを、通常転送モードからDMA転送モードに切り替えるモード切替ステップと、
    前記判定ステップで、DMA転送可能な画像印刷コマンドのヘッダー部であると判定された場合、前記ホスト装置によるデータ送信の一時停止を解除させる送信停止解除ステップと、
    前記モード切替ステップで、データ転送モードを、通常転送モードからDMA転送モードに切り替えた場合に、前記ホスト装置から受信したデータを、前記受信バッファに格納することなく、プリントバッファにDMA転送するDMA転送ステップと、
    前記プリントバッファに転送した前記データを読み出して、画像印刷を行う印刷ステップと、を実行し
    前記割込み判定ステップでは、受信した前記データが、画像印刷コマンドのヘッダー部の一部を成すデータであると判定された場合、当該データを記憶バッファに記憶し、画像印刷コマンドのヘッダー部の一部を成すデータではないと判定された場合、前記記憶バッファをクリアすることを特徴とする印刷装置の制御方法。
JP2015115549A 2015-06-08 2015-06-08 印刷装置および印刷装置の制御方法 Active JP6503903B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015115549A JP6503903B2 (ja) 2015-06-08 2015-06-08 印刷装置および印刷装置の制御方法
US15/157,001 US9892347B2 (en) 2015-06-08 2016-05-17 Printer and control method of a printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015115549A JP6503903B2 (ja) 2015-06-08 2015-06-08 印刷装置および印刷装置の制御方法

Publications (2)

Publication Number Publication Date
JP2017001225A JP2017001225A (ja) 2017-01-05
JP6503903B2 true JP6503903B2 (ja) 2019-04-24

Family

ID=57452179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015115549A Active JP6503903B2 (ja) 2015-06-08 2015-06-08 印刷装置および印刷装置の制御方法

Country Status (2)

Country Link
US (1) US9892347B2 (ja)
JP (1) JP6503903B2 (ja)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975423B2 (en) * 1993-11-08 2005-12-13 Seiko Epson Corporation Printing apparatus and a control method therefor
JPH0930058A (ja) * 1995-07-19 1997-02-04 Brother Ind Ltd 端末装置
JP3426830B2 (ja) * 1995-12-11 2003-07-14 株式会社リコー 印字装置
JP3518833B2 (ja) * 1996-09-27 2004-04-12 株式会社リコー 情報処理装置及び画像形成装置
US5878197A (en) * 1995-12-11 1999-03-02 Ricoh Company, Ltd. Image forming apparatus capable of processing data at high speed in accordance with a high speed data transmission interface
JPH09314960A (ja) 1996-05-23 1997-12-09 Brother Ind Ltd 端末装置
JP3782573B2 (ja) * 1998-01-16 2006-06-07 キヤノン株式会社 印刷システム、印刷装置及びデータ転送方法
JP2000158724A (ja) * 1998-11-30 2000-06-13 Fuji Xerox Co Ltd 画像処理装置、画像処理方法および記録媒体
JP2000215149A (ja) * 1999-01-25 2000-08-04 Canon Inc 複合機器の制御装置
EP1134692A3 (en) * 2000-03-16 2003-03-05 Seiko Epson Corporation Printer for managing a plurality of print job data
US6795207B1 (en) * 2000-08-07 2004-09-21 Lexmark International, Inc. System and method for controlling print jobs in host based printers
JP4400097B2 (ja) * 2002-06-05 2010-01-20 セイコーエプソン株式会社 印刷装置、印刷制御方法、プログラム及び記録媒体
JP4581815B2 (ja) * 2005-04-26 2010-11-17 セイコーエプソン株式会社 印刷制御装置及び印刷システム
JP4918871B2 (ja) * 2007-02-27 2012-04-18 セイコーエプソン株式会社 プリンタ及びその制御方法
JP2011235568A (ja) 2010-05-12 2011-11-24 Seiko Epson Corp 印刷装置およびその制御方法

Also Published As

Publication number Publication date
US20160358051A1 (en) 2016-12-08
US9892347B2 (en) 2018-02-13
JP2017001225A (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
US7821657B2 (en) Continuous raster image processing control across print jobs
JP6245806B2 (ja) 情報処理装置およびその制御方法、
JP6748445B2 (ja) 画像形成装置、画像形成装置の制御方法、および、プログラム
JP4196271B2 (ja) 印刷データ処理装置およびデータ処理装置
JP6503903B2 (ja) 印刷装置および印刷装置の制御方法
US20180182059A1 (en) Information processing apparatus and communication control method having communication mode based on function
JP4581815B2 (ja) 印刷制御装置及び印刷システム
JP4211375B2 (ja) データ転送制御方法、データ転送回路装置およびこれを備えた印刷装置
JP2000079729A5 (ja)
JP4400097B2 (ja) 印刷装置、印刷制御方法、プログラム及び記録媒体
JP2017184097A5 (ja)
JP2009211307A (ja) 画像形成装置
JP4948357B2 (ja) 画像形成装置及び印刷ジョブ保護方法
JP2017010122A (ja) 印刷システム、印刷装置、印刷システムの制御方法および印刷装置の制御方法
JP7384032B2 (ja) 印刷装置、制御方法、及び制御プログラム
JP6447317B2 (ja) 画像記録装置、および制御プログラム
JP5580584B2 (ja) 印刷制御装置、印刷制御装置の制御方法、およびプログラム
JPH03262673A (ja) 割り込み印刷機能付きプリンタ
JP6451455B2 (ja) 画像記録装置、および制御プログラム
KR100571759B1 (ko) 인쇄시스템의 제어방법
JP2006056170A (ja) 画像形成装置
JP2010170489A (ja) 処理装置、画像形成装置及び処理方法
JP2003341155A (ja) 印刷装置及び印刷方法
JP2014032571A (ja) 印刷システム、情報処理装置、及びプログラム
JP2008250435A (ja) 印刷システム及び印刷システムにおけるprnファイル生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190311

R150 Certificate of patent or registration of utility model

Ref document number: 6503903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150