説明

印刷装置および印刷装置のデータ転送方法

【課題】転送パラメーターの設定が失敗したとしても、エラーから自動復帰して、印刷データのDMA転送を継続することができる。
【解決手段】統括制御部22は、分割したDMA転送毎の転送パラメーターを、受信部に設定する転送設定部41と、DMA要求信号を受信部11、21に送信する信号送信部42と、信号送信部42を制御する信号制御部43と、を有し、受信部11、21は、DMA要求信号のアサートエッジに起因し、設定した転送パラメーターに基づいて、統括制御部22に対しDMA転送を行うDMA転送部33を有し、信号制御部43は、分割したDMA転送毎に、アサートエッジを生じさせると共に、DMA要求信号がアサート状態を所定時間以上継続している場合、アサートエッジを生じさせる。

【発明の詳細な説明】
【技術分野】
【0001】
外部機器からの印刷データを受信部により受信し、受信した印刷データを分割して制御部にDMA転送する印刷装置および印刷装置のデータ転送方法に関するものである。
【背景技術】
【0002】
従来、印刷装置として、印刷処理を制御するCPUおよびメモリーと、ホスト装置から印刷データを受信するUSBインターフェースと、受信した印刷データを複数回に分割してメモリーにDMA転送するDMAコントローラーと、を備えたものが知られている(特許文献1参照)。この印刷装置においては、CPUが、DMAコントローラーに対し、転送パラメーター(DMA転送先アドレスおよびDMA転送量)を設定した後、DMA転送の開始を指示する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−256355号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、DMA転送の開始指示を行う方法として、DMA要求信号(DMAQ信号)を用いて、分割した各回のDMA転送の開始指示を行う方法がある。具体的には、CPUからDMAコントローラーにDMA要求信号を送信すると共に、分割したDMA転送毎に、DMA要求信号のアサートエッジを発生させる。これに対し、DMAコントローラーは、DMA要求信号のアサートエッジに起因して、各回のDMA転送を行う。このような方法を用いた場合、CPUは、各回のアサートエッジを発生させる直前に、各回のDMA転送の転送パラメーターの設定を行い、DMAコントローラーは、アサートエッジに起因し、直前に設定した転送パラメーターでDMA転送を行うことになる。
しかしながら、このような構成では、CPUによる転送パラメーターの設定が失敗した場合(例えば書込みエラー)、その回のDMA転送が失敗し、ひいては印刷データのDMA転送全体が停止してしまうという問題があった。厳密には、CPUによる転送パラメーターの設定が失敗すると、転送パラメーターが設定されないまま、アサートエッジを発生させてしまうので、DMAコントローラーがその回のDMA転送を行うことができない事態が生じる。その後、CPUは、転送パラメーターの設定を再実行するが、アサートエッジが発生されないので、DMAコントローラーがDMA転送を実行できない。そのため、DMAコントローラーは、DMA転送を実行できず、一方、CPUは、DMAコントローラーのDMA転送待ちの状態になり、印刷データのDMA転送全体が滞ってしまう。
このようなエラーが生じた際、ユーザー操作により印刷装置を再起動すると、アサートエッジが発生し、印刷データのDMA転送が復帰するが、これでは、ユーザー自らが再起動する操作を行う必要があり、DMA転送の復帰が煩雑であるという問題があった。
【0005】
本発明は、転送パラメーターの設定が失敗したとしても、エラーから自動復帰して、印刷データのDMA転送を継続することができる印刷装置および印刷装置のデータ転送方法を提供することを課題としている。
【課題を解決するための手段】
【0006】
本発明の印刷装置は、印刷データに基づいて印刷処理を制御する制御部と、外部機器から印刷データを受信すると共に、制御部に対し印刷データのDMA転送を複数回に分割して行う受信部と、を備え、制御部は、分割したDMA転送毎の転送パラメーターを、受信部に設定する転送設定部と、DMA要求信号を受信部に送信する信号送信部と、信号送信部を制御する信号制御部と、を有し、受信部は、DMA要求信号のアサートエッジに起因し、設定した転送パラメーターに基づいて、制御部に対しDMA転送を行うDMA転送部を有し、信号制御部は、分割したDMA転送毎に、アサートエッジを生じさせると共に、DMA要求信号がアサート状態を所定時間以上継続している場合、アサートエッジを生じさせることを特徴とする。
【0007】
この場合、受信部は、USBコネクターと、USBコネクターによる受信制御を行うUSBコントローラーと、を有していることが好ましい。
【0008】
また、所定時間は、100msec以上200msec以下であることが好ましい。
【0009】
本発明の印刷装置のデータ転送方法は、外部機器から印刷データを受信する受信部と印刷データに基づいて印刷処理を制御する制御部とを備えた印刷装置にあって、受信部から制御部に対し、印刷データのDMA転送を複数回に分割して行う印刷装置のデータ転送方法であって、制御部が、分割したDMA転送毎の転送パラメーターを、受信部に設定する転送設定工程と、受信部へのDMA要求信号を制御する信号制御工程と、を実行し、受信部が、DMA要求信号のアサートエッジに起因し、設定した転送パラメーターに基づいて、制御部に対しDMA転送を行うDMA転送工程を実行し、信号制御工程では、分割したDMA転送毎に、アサートエッジを生じさせると共に、DMA要求信号がアサート状態を所定時間以上継続している場合、アサートエッジを生じさせることを特徴とする。
【0010】
転送パラメーターの設定に失敗して、上記エラーが発生すると、DMA要求信号は、アサートエッジが生じた後の状態が継続されるので、アサート状態を継続することになる。
上記の構成によれば、DMA要求信号がアサート状態を所定時間以上継続している場合、アサートエッジを生じさせることで、上記エラーが発生した際、アサートエッジを自動的に再発生させることができる。そのため、印刷装置が自動的に復帰し、ユーザーによる再起動操作を必要とすることなく印刷データのDMA転送を継続することができる。
【図面の簡単な説明】
【0011】
【図1】実施形態にかかる印刷システムのシステム構成図である。
【図2】USBコントローラーおよび統括制御部の機能ブロック図である。
【図3】印刷データの受信に伴う印刷動作を示したフローチャートである。
【図4】1分割単位のDMA転送処理およびデータ解析処理を示したフローチャートである。
【図5】(a)は、エラー発生した際のDMA要求信号を示した図であり、(b)は、エラー発生しエラー復帰した際のDMA要求信号を示した図である。
【図6】エラー判定動作およびエラー復帰動作を示したフローチャートである。
【発明を実施するための形態】
【0012】
以下、添付の図面を参照し、本発明の一実施形態に係る印刷装置について説明する。本実施形態では、印刷装置を構成要素とする印刷システムを例示する。図1に示すように、印刷システム1は、印刷データに基づいて印刷処理を行う印刷装置2と、印刷装置2をUSBケーブル3を介して接続したホストコンピューター(外部機器)4と、を備えている。ホストコンピューター4は、印刷データ作成用のアプリケーションとプリンタードライバーとを搭載し、ユーザー操作に伴って印刷データを作成すると共に、作成した印刷データを印刷装置に送信する。なお、ネットワークを介してホストコンピューター4に接続した別のコンピューターで印刷データを作成し、当該印刷データを、ホストコンピューター4を介して印刷装置2に送信する構成であってもよい。
【0013】
印刷装置2は、印刷テープに印刷処理を施してラベルを作成するラベルプリンターである。印刷装置2は、ホストコンピューター4から印刷データを受信するUSBコネクター11(USBポート)と、受信した印刷データに基づく印刷処理を実行するプリンターエンジン12と、プリンターエンジン12を制御するプリンターコントローラー13と、を備えている。プリンターエンジン12は、インクジェット方式で印刷テープに印刷処理を施すと共に、印刷テープの印刷済み部分を切断して、ラベルを作成する。
【0014】
プリンターコントローラー13は、USBコネクター11による印刷データの受信制御を行うUSBコントローラー21と、受信した印刷データに基づいて印刷処理を制御する統括制御部(制御部)22と、を備えている。請求項にいう受信部は、USBコネクター11およびUSBコントローラー21により構成されている。
【0015】
USBコントローラー21は、USBコネクター11を制御して印刷データを受信して一時記憶すると共に、一時記憶した印刷データを統括制御部22にDMA転送(データ転送)する。詳細は後述するが、USBコントローラー21は、統括制御部22に対し印刷データのDMA転送を複数回に分割して行う。
【0016】
統括制御部22は、CPU26、RAM27およびROM28により構成されている。CPU26は、各種演算処理を行う中央処理装置であり、各部との信号の入出力を行うことにより印刷装置2を統括制御する。ROM28は、CPU26が各種演算処理を行うために用いられる制御プログラムおよび制御データを記憶している。また、ROM28には、基本ソフトウェアであるOS(Operating System)も記憶されている。RAM27は、CPU26が各種演算処理を行う際の作業領域として用いられる。
【0017】
ここで図2の機能ブロック図を参照して、USBコントローラー21および統括制御部22の機能構成について説明する。図2に示すように、USBコントローラー21は、FIFOバッファ31と、受信制御部32と、DMA転送部33と、転送設定記憶部34と、トリガー検出部35と、を有している。
【0018】
FIFOバッファ31は、受信した印刷データをFIFO(First‐In First‐Out)方式で一時記憶する。受信制御部32は、印刷データの送信の許可/禁止をホストコンピューター4に指示し、データ送信を制御する。具体的にはFIFOバッファ31がバッファフル(バッファが一杯になった状態)であるか否かを検出し、バッファフルの場合には、ホストコンピューター4による印刷データの送信を禁止し、データ受信を拒否する。
【0019】
DMA転送部33は、FIFOバッファ31に記憶した印刷データを、複数回に分割して、統括制御部22(後述の受信バッファ44)に対しDMA転送する。トリガー検出部35は、統括制御部22から送信されたDMA要求信号に基づいて、分割した各回のDMA転送におけるトリガーを検出する。なお、本実施形態では、エッジトリガー方式を採用しており、トリガー検出部35は、後述するDMA要求信号のアサートエッジ(DREQ信号)を、トリガーとして検出する。転送設定記憶部34は、分割したDMA転送毎の転送パラメーター(転送設定)を記憶する。転送パラメーターは、転送元のアドレス、転送先のアドレス、転送量(バイト数)である。すなわち、DMA転送部33は、トリガー検出部35が検出したトリガーに起因し、転送設定記憶部34に記憶された転送パラメーターに基づいて、各回のDMA転送を行う。
【0020】
統括制御部22は、転送設定部41と、信号送信部42と、信号制御部43と、受信バッファ44と、データ解析部45と、印刷バッファ46と、印刷制御部47と、を有している。転送設定部41は、分割したDMA転送毎の転送パラメーターを転送設定記憶部34に設定する。信号送信部42は、DMA要求信号をUSBコントローラー21に送信する。
【0021】
受信バッファ44は、RAM27を主要部とし、分割してDMA転送された1分割単位の印刷データを一時記憶する。データ解析部45は、受信バッファ44に記憶された1分割単位の印刷データを読み出し、解析(変換)して、印刷バッファ46に転送する。
【0022】
印刷バッファ46は、RAM27を主要部とし、解析された印刷データを、印刷制御部47から読み出し可能に記憶し蓄積する。印刷制御部47は、印刷バッファ46に蓄積された1ラベル分の印刷データに基づいて、プリンターエンジン12を制御し、印刷処理を実行させる。
【0023】
信号制御部43は、信号送信部42を制御して、DMA要求信号のアサート/ネゲートを制御する。具体的には、信号制御部43は、分割した前記DMA転送毎に、アサートエッジを生じさせると共に、各回のDMA転送に伴う受信バッファ44への印刷データの転送が終了する都度、ネゲートエッジを生じさせて、DMA要求信号をネゲート状態に戻す。また、後述のエラーに対応すべく、信号制御部43は、DMA要求信号がアサート状態を所定時間(100msec)以上継続している場合、アサートエッジを生じさせる。なお、本実施形態では、DMA要求信号の「Low」をアサートとし、「High」をネゲートとする。そして、「High」から「Low」への立下りエッジをアサートエッジとし、「Low」から「High」への立上りエッジをネゲートエッジとする。すなわち、アサートエッジは、ネゲート状態からアサート状態への立下りエッジである。
【0024】
次に印刷装置2による、印刷データの受信に伴う印刷動作について説明する。本印刷動作は、USBコントローラー21が、受信制御部32によりホストコンピューター4によるデータ送信を許可しており、且つ統括制御部22が、信号送信部42によりネゲート状態のDMA要求信号を送信している状態から実行されるものとする。
【0025】
図3に示すように、USBコントローラー21は、ホストコンピューター4から印刷データを受信して、受信した印刷データをFIFOバッファ31に記憶すると(S1:Yes)、DMA転送部33により、FIFOバッファ31に記憶された印刷データを、複数回に分割してFIFOバッファ31から受信バッファ44にDMA転送する(S2)。具体的には、例えば、1分割単位として1バイト単位に分割して印刷データを転送する。
【0026】
統括制御部22は、分割された印刷データが受信バッファ44にDMA転送される都度、データ解析部45により、分割された印刷データを解析して、印刷バッファ46に転送する(S3)。その後、印刷制御部47により、印刷バッファ46に蓄積された印刷データに基づいて、プリンターエンジン12を制御し、印刷処理を実行させる(S4)。
【0027】
ここで図4を参照して、USBコントローラー21によるDMA転送動作(S2)およびデータ解析動作(S3)の詳細について説明する。これらの動作は、並列的に行われるものであり、これらの動作に先駆けてFIFOバッファ31に印刷データが記憶されたことを通知するフラグがセットされた状態から、実行されるものである。以下に示す1分割単位のDMA転送処理およびデータ解析処理を含む一連の処理を、FIFOバッファ31内の印刷データ全体のDMA転送が完了するまで(FIFOバッファ31が空になるまで)繰り返すことで、DMA転送動作およびデータ解析動作が行われる。
【0028】
図4は、1分割単位のDMA転送処理およびデータ解析処理を示すフローチャートである。図4に示すように、統括制御部22は、まず、その回(分割単位)のDMA転送における転送パラメーターを転送設定記憶部34に設定し(S11:転送設定工程)、その後、信号制御部43により、DMA要求信号のアサートエッジを生じさせる(S12:信号制御工程)。
【0029】
これに対し、USBコントローラー21は、トリガー検出部35によりアサートエッジをトリガーとして検出する(S13:Yes)。トリガーが検出されたら、DMA転送部33により、検出したトリガーに起因し、設定された転送パラメーターに基づいて、1分割単位の印刷データを、受信バッファ44にDMA転送する(S14:DMA転送工程)。
【0030】
受信バッファ44に1分割単位の印刷データが転送されたら(S15:Yes)、統括制御部22は、信号制御部43により、DMA要求信号にネゲートエッジを生じさせて(S16)、ネゲート状態にする。これが、USBコントローラー21へのDMA転送の中断指示となる。その後、データ解析部45は、受信バッファ44から1分割単位の印刷データを読み出し、解析して、印刷バッファ46に転送する(S17)。これにより、1分割単位のDMA転送処理およびデータ解析処理を含む一連の処理を終了する。
【0031】
ところで、上記一連の処理において、転送パラメーターの設定(S11)に失敗する場合がある。かかる場合、その回(分割単位)のDMA転送が失敗し、ひいてはFIFOバッファ31に記憶された印刷データのDMA転送全体が停止してしまうという不具合が生じる。厳密には、USBコントローラー21の転送設定部41による転送パラメーターの設定が失敗すると、転送パラメーターが設定されないまま、アサートエッジを生じさせてしまい(S12)、トリガー検出部35によりトリガーが検出されてしまう(S13:Yes)。その結果、DMA転送部33がその回のDMA転送を行うことができないという事態が生じる。その後、統括制御部22は、転送設定部41により、転送パラメーターの設定を再実行するが、DMA要求信号においてアサート状態(Low)のままであるのでアサートエッジが発生されず(図5(a)参照)、USBコントローラー21がDMA転送部33によりDMA転送を実行できない。そのため、USBコントローラー21は、DMA転送を実行できず、一方、統括制御部22は、USBコントローラー21のDMA転送待ちの状態になり、印刷データのDMA転送全体が滞ってしまう。
【0032】
ここで図6を参照して、このようなエラーが生じた際の、エラー判定動作およびエラー復帰動作について説明する。図6に示すように、まず、統括制御部22は、印刷装置2が起動している間、100msec間隔でDMA要求信号のアサート(Low)/ネゲート(High)を検出する(S21)。そして、アサートが連続して2回検出された場合(S22:Yes)には、100msec(所定時間)以上アサート状態が継続しているものとし、上記エラーの状態であると判断する(S23)。上記エラーの状態であると判断したら、信号制御部43により、DMA要求信号においてアサートエッジを生じさせる(S24:信号制御工程)(図5(b)参照)。すなわち、信号制御部43は、DMA要求信号を一旦ネゲートした後(LowからHighへ)、アサートエッジを発生させる(HighからLowへ)。これにより、USBコントローラー21は、その回(分割単位)の転送パラメーターが設定されている状態で、トリガーを検出し(S13:Yes)、正常にDMA転送(S14)に移行するので、DMA転送処理およびデータ解析処理が再開し、印刷データの印刷動作全体が自動復帰する。
【0033】
以上のような構成によれば、DMA要求信号がアサート状態を所定時間以上継続している場合、アサートエッジを生じさせることで、上記エラーが発生した際、アサートエッジを再発生させることができる。そのため、印刷装置2が自動的に復帰し、ユーザーによる再起動操作を必要とすることなく印刷データのDMA転送を継続することができる。特に、ユーザーが印刷装置2の近くにおらず、遠隔操作で印刷装置2による印刷処理を実行させる際、ユーザーが印刷装置2に近づいて復帰操作をする手間を省くことができる。また、本構成によれば、上記エラーが生じた際、ホストコンピューター4へのエラー通知およびエラー復帰通知が不要であり、エラー発生時やエラー復帰後において、ホストコンピューター4側において特段の制御や処理を必要としない。
【0034】
なお、本実施形態においては、エラー判定を行う際の基準とする、アサート状態の継続時間(所定時間)を、100msecとしたが、判定基準のアサート継続時間は、100msec以上200msec以下であれば良く、例えば判定基準のアサート継続時間を200msecとしても良い。かかる場合、200msec以上アサート状態が継続している場合(アサートが連続して3回検出された場合)には、上記エラーの状態であると判断し、信号制御部43により、DMA要求信号においてアサートエッジを生じさせる。さらにいえば、正常実行時のアサート継続時間の想定範囲(誤差範囲)を超える時間であれば、判定基準のアサート継続時間を、より短い時間または、より長い時間にしても良い。
【0035】
また、本実施形態においては、印刷装置2が起動している間、DMA要求信号のアサート/ネゲートの検出を行って、エラー判定を行う構成であったが、印刷動作の開始から終了までの間のみ、DMA要求信号のアサート/ネゲートの検出を行う構成であっても良い。特に、非印刷動作時に、DMA要求信号をネゲート状態している実施形態を採用する場合には、エラーの誤判定を防止すべく、印刷動作の開始から終了までの間のみ、DMA要求信号のアサート/ネゲートの検出を行う構成とするか、エラー判定条件として、「印刷動作中であるか否かのフラグ」や上記した「FIFOバッファ31にデータがきたことを通知するフラグ」を追加する構成とすることが好ましい。
【0036】
さらに、本実施形態においては、100msec間隔で、DMA要求信号のアサート/ネゲートの検出を行う構成であったが、これに限るものではなく、例えば、1msec間隔で検出を行っても良いし、10msec間隔で検出を行ってもよい。かかる際、判定基準のアサート継続時間および検出間隔に応じて、判定基準のアサートの連続検出回数を変更する。例えば、判定基準のアサート継続時間が100msecであり、検出間隔が1msecである場合、判定基準のアサートの連続検出回数を、101回とする。
【0037】
また、本実施形態においては、DMA転送のシングル/ブロック転送モードを用いたデータ転送方法に、本発明を適用したが、DMA転送のバースト転送モードを用いたデータ転送方法に、本発明を用いても良い。
【符号の説明】
【0038】
2:印刷装置、 4:ホストコンピューター、 11:USBコネクター、 21:USBコントローラー、 22:統括制御部、 33:DMA転送部、 41:転送設定部、 42:信号送信部、 43:信号制御部

【特許請求の範囲】
【請求項1】
印刷データに基づいて印刷処理を制御する制御部と、
外部機器から前記印刷データを受信すると共に、前記制御部に対し前記印刷データのDMA転送を複数回に分割して行う受信部と、を備え、
前記制御部は、
分割した前記DMA転送毎の転送パラメーターを、前記受信部に設定する転送設定部と、
DMA要求信号を前記受信部に送信する信号送信部と、
前記信号送信部を制御する信号制御部と、を有し、
前記受信部は、
前記DMA要求信号のアサートエッジに起因し、設定した前記転送パラメーターに基づいて、前記制御部に対しDMA転送を行うDMA転送部を有し、
前記信号制御部は、分割した前記DMA転送毎に、前記アサートエッジを生じさせると共に、前記DMA要求信号がアサート状態を所定時間以上継続している場合、前記アサートエッジを生じさせることを特徴とする印刷装置。
【請求項2】
前記受信部は、USBコネクターと、前記USBコネクターによる受信制御を行うUSBコントローラーと、を有していることを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記所定時間は、100msec以上200msec以下であることを特徴とする請求項1または2に記載の印刷装置。
【請求項4】
外部機器から印刷データを受信する受信部と前記印刷データに基づいて印刷処理を制御する制御部とを備えた印刷装置にあって、前記受信部から前記制御部に対し、前記印刷データのDMA転送を複数回に分割して行う印刷装置のデータ転送方法であって、
前記制御部が、
分割した前記DMA転送毎の転送パラメーターを、前記受信部に設定する転送設定工程と、
前記受信部へのDMA要求信号を制御する信号制御工程と、を実行し、
前記受信部が、
前記DMA要求信号のアサートエッジに起因し、設定した前記転送パラメーターに基づいて、前記制御部に対しDMA転送を行うDMA転送工程を実行し、
前記信号制御工程では、分割した前記DMA転送毎に、前記アサートエッジを生じさせると共に、前記DMA要求信号がアサート状態を所定時間以上継続している場合、前記アサートエッジを生じさせることを特徴とする印刷装置のデータ転送方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−61909(P2013−61909A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−201470(P2011−201470)
【出願日】平成23年9月15日(2011.9.15)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】