JP3367555B2 - ページプリンタ及びページプリントシステム - Google Patents
ページプリンタ及びページプリントシステムInfo
- Publication number
- JP3367555B2 JP3367555B2 JP2000142204A JP2000142204A JP3367555B2 JP 3367555 B2 JP3367555 B2 JP 3367555B2 JP 2000142204 A JP2000142204 A JP 2000142204A JP 2000142204 A JP2000142204 A JP 2000142204A JP 3367555 B2 JP3367555 B2 JP 3367555B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- host
- transfer
- 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
Landscapes
- Record Information Processing For Printing (AREA)
- Storing Facsimile Image Data (AREA)
Description
テムなどで使用されるページプリンタに関し、特に、イ
メージデータをバッファメモリに蓄積し、そしてバッフ
ァメモリからイメージデータを読み出して印刷エンジン
へ転送する動作の制御に関する。
タをビットマップ展開してバッファメモリに書き込む速
度と、バッファメモリからイメージデータを読み出して
印刷エンジンに転送する速度とは、相違するのが普通で
ある。また、バッファメモリの容量が小さくて1ページ
分のイメージデータを蓄積できないことも多い。そのた
め、特に複雑でデータ量の多いイメージ場合、イメージ
データの展開とバッファメモリへの書き込みが印刷エン
ジンへの転送時期に間に合わずに、ページの印刷途中で
バッファメモリから読み出すデータがなくなり印刷が続
けれらなくなるエラーが生じることがある(このエラー
を本明細書では「アンダーランエラー」という)。ま
た、これとは逆に、イメージデータの展開と書き込みが
非常に早くてバッファメモリが満杯になり後続のデータ
が書き込めなくなるエラー(この明細書では「オーバー
ランエラー」という)が生じることもある。
号のページプリンタは、バッファメモリのライトアドレ
スとリードアドレスとの一致を検出することによってエ
ラー発生を検出して、これをホストに通知し、それによ
り、利用者にエラー発生を知らせて適当な処置を利用者
が講じ得るようにしている。
術の利点は、エラーが発生したとき、これを利用者に知
らせて対策をとらせることに止る。利用者にとっては、
エラーが生ぜずに常に印刷が成功することが理想的であ
る。もしエラーが発生したとしても、それに対する適切
な対策をシステムが自動的に講じてくれる方が望まし
い。
が発生した場合、適切な対策を自動的に講じて印刷をリ
トライすることにより、リトライの印刷を成功させるこ
とにある。
えば、ページプリンタは、バッファを含むメモリと、デ
ータを基に画像を形成して出力する画像出力部と、ホス
トから受信したデータをバッファへ書きこむ受信部と、
バッファ内のデータを画像出力部へ転送する転送部と、
転送部のバッファからのリードアドレスが受信部のバッ
ファへのライトアドレスに追いつくことにより発生する
アンダーランエラーを検出するエラー検出部と、アンダ
ーランエラーが検出されると、アンダーランエラーの発
生をホストに通知するエラー通知部とを有する。ホスト
は、ページプリンタからアンダーランエラー発生の通知
を受けると、アンダーランエラーのより生じにくい条件
下でデータをページプリンタに自動的に再送する。
ーランエラーのより生じにくい条件下でデータを自動的
に再送することにより(場合によっては、段階的にこれ
を繰り返すことにより)、アンダーランエラーを起こす
ことなく、再送によるリトライ印刷を成功させることが
できる。解像度を落とすことで若干印刷画質は低下する
が、ユーザの手を煩わせることなく、確実に印刷を成功
させることができる。
くい条件下とは、例えば、転送部によるバッファ内のデ
ータの転送開始タイミングを前よりも遅くする、或い
は、データの解像度を前よりも低くするなどである。好
適な実施形態では、アンダーランエラーが生じると、ま
ず、転送部によるバッファ内のデータの転送開始タイミ
ングを前よりも遅く設定してデータを再送し、それでも
アンダーランエラーが再び生じると、次に、より解像度
の低いデータを作ってこれを再送する。
ーランエラーを検出したとき、直ちにホストに通知する
のでなく、アンダーランエラーの発生情報をメモリに一
時保存し、ホストから要求があったときに、その情報を
ホストに送信する。ホストは、都合の良いときに、例え
ば1バンドデータを送信しようとする都度、エラー情報
をプリンタに要求する。この方法により、アンダーラン
エラーを検出したら直ぐにホストに通知する方法に比較
して、ホスト側の処理が簡単になる。
ンタは、バッファを含むメモリと、データを基に画像を
形成して出力する画像出力部と、ホストから受信データ
サイズ単位でデータを受信してDMAによりバッファへ
書きこむ受信DMA部と、バッファ内のデータを転送デ
ータ単位でDMAにより画像出力部へ転送する転送DM
A部と、受信DMA部と転送DMA部とを制御する制御
部とを備える。ここで、受信データサイズ単位と転送デ
ータサイズ単位とは同サイズ、例えば1バンド、であ
る。そして、制御部は、転送DMA部が各転送データサ
イズ単位のデータ転送を開始しようとする都度、転送D
MA部の転送DMA開始アドレスと受信DMA部の現在
の受信DMAアドレスとに基づいてアンダーランエラー
の有無をチェックし、アンダーランエラーが検出された
場合にはその旨をホストに通知する。
時期に、アンダーランエラーを有無を検出してホストに
通知することができる。
ーランエラーを検出するとその情報を一旦メモリに保存
し、ホストから要求があったきにホストに通知する。ホ
ストは、各受信データサイズ単位、例えば各バンド、の
送信を開始しようとする直前に、プリンタに要求してエ
ラー情報を取得する。
であるが、そのためのコンピュータプログラム(例え
ば、プリンタドライバプログラム)は、ディスク型スト
レージ、半導体メモリおよび通信ネットワークなどの各
種の媒体を通じてコンピュータにインストールまたはロ
ードすることができる。
成を示す。
1側でビットマップ展開されたイメージデータをホスト
1から受信して印刷するホストベースドプリンタであ
る。このプリンタ3は、パラレルインタフェースのよう
な専用インタフェ−ス又はLANのようなネットワーク
を介して、ホスト1と双方向通信可能に接続され、ホス
ト1からはビットマップ展開されたイメージデータを受
信し、また、ホスト1へはプリンタの各種ステータス
(例えば、空きバッファ容量、エラー情報、印刷成功情
報など)を送信することができる。ホスト1から受信し
たイメージデータを蓄えるための受信バッファは、プリ
ンタ3内のDRAM21内に固定又は可変の容量で確保
されている。この受信バッファの容量は、1ページ分の
イメージデータのサイズより小さくてよい。後述するC
PU23のワークエリアもDRAM21内に確保されて
おり、このワークエリアではホスト1に通知すべきステ
ータス情報などが記憶される。
る機構である印刷エンジン27と、イメージデータをホ
スト1から受信して必要な加工を施し印刷エンジン27
に渡す一連の処理回路、すなわちインタフェース回路1
1、DMAコントローラ13、データ伸張回路15、ビ
デオコントローラ17及び後処理回路19を有してい
る。これらの処理回路11〜19は、例えば専用ハード
ウェアロジック回路で構成されている。さらに、プリン
タ3は、ホスト1からの要求の解釈やエラーの検出やプ
リンタステータスの管理などを行うために、CPU2
3、プログラムや固定データを格納したROM25、及
び前述のDRAM21などからなるマイクロコンピュー
タを有する。各部の機能は次のとおりである。
の要求及びイメージデータの受信や、ホスト1へのステ
ータス情報の送信などの、ホスト1との双方向通信の制
御を行う。インタフェース回路11に受信された要求
は、CPU23により直接読み出される。CPU23は
その要求を解釈し、要求に基づいた制御を実行する。D
MAコントローラ13は、DRAM21内の受信バッフ
ァに対するイメージデータの書き込み及び読み出しをD
MAにより行う。DMAによるイメージデータのDRA
M21への入出力経路には、受信DMA31と転送DM
A33の2チャンネルがある。受信DMA31を通じ
て、ホスト1からのイメージデータがDRAM21に書
き込まれる。また、転送DMA33を通じて、イメージ
データがDRAM21からデータ伸張回路15へ転送さ
れる。
メージデータが圧縮されていた場合、これを元のデータ
に伸張してから後段のビデオコントローラ17へ渡す。
ホスト1から圧縮されずに来たデータには、そのままビ
デオコントローラ17へ渡す。ビデオコントローラ17
は、印刷エンジン27へのイメージデータの転送(ビデ
オ転送という)のタイミングを制御する。
度を印刷エンジン27に合わせるための解像度変換、文
字などの輪郭を滑らかなものにするエッジスムージン
グ、ガンマ特性などを考慮して階調値を調整する階調制
御などの後処理をイメージデータに施して印刷エンジン
27に送る。上述した解像度変換は、例えば印刷エンジ
ン27の解像度が600dpiである場合、ホストから
受信したデータが300dpiであったならば、これを
エンジン27と同じ600dpiに変換する機能であ
る。この解像度変換機能があることによって、後述する
ように、例えば、ホスト1から最初に600dpiのイ
メージデータを送ったところアンダーエラーが生じて印
刷が失敗した場合、次にホスト1からのイメージデータ
の解像度を300dpiに落として印刷をリトライす
る、といったことが可能になる。
らの要求を受けてプリンタ情報(通信モード、RAMサ
イズなどの1つの印刷ジョブである程度固定的な状態情
報)をホスト1に通知したり、印刷の最中にプリンタの
現在のステータス(エンジンの状態、空きバッファ容
量、エラーが発生中か、各ページ毎に印刷が成功した
か、などの時々刻々変動する状態情報)を実時間で取得
してDRAM21内のワークエリアに記録し、ホスト1
から要求があるとそのステータスをホスト1に通知した
りする。これらの機能のうち特に本発明に直接関わるも
のとして、CPU23は、DMAコントローラ13のD
RAM21へのライトアドレス(受信DMAアドレス)
とリードアドレス(転送DMAアドレス)を基に、DR
AM2内の受信バッファの空き容量を計算し、この空き
容量をDRAM21内のワークエリアに記録して、ホス
ト1から要求があるとこの空き受信バッファ容量をホス
ト1に通知する。
る。
データ送るときに各ページ毎に行う制御のフローを示
す。
ジが1ページ目か2ページ目以降かを判断し(S1)、
1ページ目であれば、プリンタ3からプリンタ情報(通
信モード(プリンタ3と、ホスト1との間で成立してい
る通信モードであって、例えばパラレル通信の場合はCo
mpatibilityやECPなど)、DRAMサイズなどであり、
これらのプリンタ情報が準備できていない場合には準備
中を示す情報)を取得し(S2)、これに基づきプリン
タ3の制限事項を把握する。2ページ目以降は、プリン
タ情報の取得は行なわない。また、1ページ目のときだ
けでなく、ステップS6の印字エラーが発生した後もプ
リンタ情報を取得し、プリンタ3がエラーから復帰して
いるか否かをチェックする。
ホスト1は、そのプリンタ情報が有効か無効か、つまり
上述した通信モードやDRAMサイズなどを示した有効
なプリンタ情報であるか、準備中を示す無効なプリンタ
情報かを判断し(S3)、情報が準備中(無効)の場合
は、ホスト1は有効なプリンタ情報を受けるまでプリン
タ情報をプリンタ3から繰り返しリードする。なお、プ
リンタ情報が準備中(無効)になる原因は、プリンタ3
がプリンタイニシャライズ中か、又はエラーからの復帰
中であることである。
1は、プリンタ3の通信モードやRAMサイズを基にイ
メージデータの送信モード(解像度など)を決定する。
次に、ホスト1は、印刷しようとするイメージデータに
関するホスト情報(イメージデータの解像度、トータル
バンド数など)をプリンタ3へ送信する(S4)。プリ
ンタ3は、このホスト情報を基に、レジスタの設定やバ
ッファクリアなどのページ設定を行う。
タステータス(エンジンの状態、空きバッファ容量、エ
ラーが発生中か、各ページ毎に印刷が成功したか、な
ど)を受信し(S5)、これに基づきプリンタ3が1バ
ンドのイメージデータを受信可能か否かをチェックする
(S6、S8)。すなわち、次の〜の条件が満たさ
れていれば、受信可能と判断する。
る。すなわち、印刷エンジン27がデータ受信可能であ
り、印刷不能状態(紙無し、紙ジャム、カバーオープ
ン、エンジン異常など)でなく、かつ、定着器の温度が
規定値である。
る。
ある。
する度に、印刷の成功/失敗のフラグを立てる。ホスト
1は、プリンタ3から取得したステータスに含まれる印
刷成功/失敗のフラグを見て(S6)、「成功」であれ
ばそのページのイメージデータをホスト1内から削除
し、「失敗」であれば、ステップS1に戻り失敗したペ
ージからイメージデータを再送信する。再送信する場
合、印刷失敗の原因がアンダーランエラーであるときに
は、イメージデータの解像度をもっと低い値に変換して
(例えば、600dpiから300dpiに落とし)
(S7)、再送信する。解像度を落とすことによってデ
ータサイズが小さくなるので、後に詳述するように、再
送信ではアンダーランエラーが生じにくくなる。
信可能と判断した場合にのみ、ホスト1は1バンドのイ
メージデータを送信する(S9)。これにより、オーバ
ーランエラーが回避される。ホスト1は、バンドイメー
ジデータを送信する前に、そのバンドデータが圧縮によ
ってサイズが縮小する否か判断し、縮小する場合にはそ
のバンドデータを圧縮し、縮小しない場合は圧縮しな
い。そして、ホスト1は、バンドイメージデータの送信
前に、プリンタ3に対し、そのバンドデータが圧縮デー
タであるか否か(圧縮ON/OFF)、圧縮したバンド
データのサイズ(圧縮OFFの場合は、元のバンドデー
タサイズ)を通知しておく。プリンタ3は、そのバンド
イメージデータをDRAM21の受信バッファに蓄え、
所定バンド数のデータが蓄えられたらビデオ転送をスタ
ートする。
データを送信し終えたかチェックし(S10)、送信し
終えてなければステップS5へ戻る。このようにして、
ホスト1は、バンド単位でイメージデータをプリンタ3
に送信し、その都度、送信前にプリンタステータスをチ
ェックしてプリンタ3が1バンド分のデータを受信でき
るか確認する。よって、プリンタ3は、少なくとも1バ
ンド分の空きバッファ容量があるときに、多くとも1バ
ンドサイズのデータを受信することになる(圧縮OFF
で1バンド、圧縮ONでは1バンド未満)。これによ
り、前述したようにオーバーランエラーが回避される。
を受信するときの動作フローを示す。
きた場合(S11でYES)、プリンタ3のCPU23
が、通信モードやRAMサイズなどのプリンタ情報をホ
スト1に送信する(S13)。また、プリンタ情報が準
備できたいない場合(S12でNO)には、準備中であ
ること(具体的には、プリンタイニシャライズ中である
こと、又はエラーからの復帰中であること)をホスト1
に知らせる(S14)。
リンタ3のCPU23は、ホスト1からイメージデータ
に関するホスト情報(解像度300dpi/600dp
i、トータルバンド数)を受信し、その情報を基にデー
タ受信に関するレジスタ設定、バッファクリアなどのペ
ージ設定を行う(S15)。
データを受信するための処理に入る(S16)。この1
バンド受信の制御フローを図4に示す。
ンタステータスの要求が来ると(S21でYES)、C
PU23が現在のプリンタのステータスをホスト1に通
知する(S22、S23、S24)。具体的には、現在
印字エラーが発生している場合には、その印字エラーの
種類などのエラーステータスをホスト1に通知して(S
23)、図3のステップS11に戻る。エラーが発生し
ていない場合には、空きバッファ容量、エンジン状態、
ページ設定が終わったか、ページの印刷が成功したか、
などのステータス情報をホスト1に送る(S24)。な
お、空きバッファ容量は、前述したように、DMAコン
トローラ13の転送DMAアドレスと受信DMAアドレ
スから計算する。前述したように、ホスト1は、このス
テータス情報を基にプリンタ1が1バンド分のデータを
受信できるか判断し、受信できると判断すると、圧縮O
N/OFFやバンド圧縮サイズなどのバンド情報、続い
てそのバンドのイメージデータをプリンタ3に送る。
FFやバンド圧縮サイズなどのバンド情報に基づいてD
MAコントローラ13の受信DMAに関するパラメータ
(受信DMAアドレスの開始ポイント、バンドデータの
バイト数など)を設定し(S26)、DMAコントロー
ラ13にデータ受信を許可する(S27)。それによ
り、DMAコントローラ13が受信DMA31の経路で
ホスト1から1バンド分のイメージデータを受信してD
RAM21の受信バッファに書き込む。なお、ホスト1
からバンド情報が来ない場合には(S25でNO)、制
御はステップS21に戻る。
13は、ステップS26で設定されたバイト数のイメー
ジデータつまり1バンドのイメージデータを受信し終わ
ると、その旨をCPU23に通知し、CPU23の制御
は図3に示したステップS17へ進む。
21の受信バッファに所定バンド数分のイメージデータ
が蓄えられたか否かをチェックする。まだ所定バンド数
分のデータが蓄えられてなければ、再びステップS16
へ戻って後続のバンドデータの受信を繰り返す。所定バ
ンド数分のデータが蓄えられたならば、CPU23はD
MAコントローラ13にビデオ転送を許可する(S1
8)。これにより、ビデオ転送が開始する。すなわち、
DMAコントローラ13はDRAM21からイメージデ
ータを読み出してデータ伸張回路15へ転送する動作を
開始し、データ伸張回路15、ビデオコントローラ17
及び後処理回路19もそれぞれの処理を開始して、印刷
エンジン27が印刷を開始する。ビデオ転送開始後も、
ホスト1からのバンド単位でのデータ受信は同様に続け
られる(S19)(詳細は図4に示した通り)。1ペー
ジ分のデータの受信が完了すると(S20でYES)、
制御はステップS11に戻り、次のページのデータ受信
が同様の手順で開始される。
ンド数」は、アンダーランエラーを防止することを目的
として、CPU23が各ページ毎に、次の原理に基づい
て決定するものである。
をx〔バイト/秒〕、ビデオ転送の速度をy〔バイト/
秒〕、データ圧縮率をα、1ページの全データ数をT
〔バイト〕、受信バッファのサイズをM〔バイト〕、ビ
デオ転送を開始する時点で受信バッファに蓄えられてい
るデータサイズをP〔バイト〕とする。通常、データ受
信速度xよりもビデオ転送速度yの方が高速であり、こ
の高速のビデオ転送の転送DMAアドレスが低速のデー
タ受信の受信DMAアドレスに追いついてしまうとアン
ダーランエラーが生じる。しかし、 P≦M …(1) (α×T−P)/x<T/y …(2) を満足するようにPを設定しておけば、ビデオ転送の転
送DMAアドレスがデータ受信の受信DMAアドレスに
追いつかないうちに1ページ分のデータ受信が完了する
ので、アンダーランエラーは生じない。(1)、(2)
式より、 M≧P>T(α−x/y) …(3) が導かれる。この(3)式を満たすようにPを設定すれ
ばアンダーランエラーは生じない。この実施形態では、
バイト数でなくバンド数で決めているので、(3)式を
満たす最小のP〔バイト〕を圧縮バンドサイズ〔バイ
ト〕で割って、その商に1を加えた値を上記「所定バン
ド数」として設定すればよい。
積された時点でビデオ転送を開始することにより、アン
ダーランエラーが回避できる。それに加え、ビデオ転送
の開始を必要最小限だけ遅らせるに過ぎないので、印刷
速度も高い。
決めても、ページの途中で圧縮率αが低下したり、ホス
ト1からのデータ受信速度が低下したりすると、アンダ
ーランエラーが発生する可能性が出てくる。この場合、
バッファサイズMをより大きく確保するか、イメージの
解像度を落として1ページの全データサイズTを小さく
する必要がある。特に解像度変換の効果は大きく、例え
ば、600dpiから300dpiに解像度を落とすと
データサイズTは4分の1になる。従って、一旦アンダ
ーランエラーが生じた後のデータ再送信の際に解像度変
換を行うことは(図2、ステップS7)、アンダーラン
エラーを再び生じさせなくする効果が大きい。解像度変
換により印刷画質は若干悪化するが、利用者にとって、
印刷できないよりは好ましい。
行う制御フローである。
(すなわち、イメージデータが上記所定バンド数以上受
信済みか)をチェックし(S31)、受信済みであれ
ば、イメージデータに関するホスト情報(解像度、トー
タルバンド数など)を基にビデオ転送に関するレジスタ
設定を行う(S32)。次に、圧縮ON/OFF、圧縮
バンドサイズなどのバンド情報を基にDMAコントロー
ラ13の転送DMAに関するパラメータ(転送DMAド
レスの開始ポイント、バンドデータのバイト数など)及
びデータ伸張回路15のパラメータ(伸張ON/OFF
など)を設定する。転送DMAアドレスの開始ポイント
を設定する際、現在実行中(又は、これから開始する)
の受信DMAアドレスの開始ポイントと、設定しようと
している転送DMAアドレスの開始ポイントとを比較し
(S33)、両者が一致する場合はアンダーランエラー
と判断し、アンダーランエラーフラグをDRAM21の
ワークエリアにセットする(S34)。このアンダーラ
ンエラーは、前述したようにホスト1が各バンド送信に
先立ってプリンタステータスを読み出すことによって
(図2、S5)、ホスト1に通知される。ホスト1がプ
リンタのステータスを読み出した時点で、アンダーラン
エラーフラグは解除される。前述したように、ホスト1
は、アンダーランエラーを検知したら、エラーの発生し
たイメージデータに対し解像度を落として最初のバンド
から再送信し、これに続いて、後続のバンドのイメージ
データも解像度を落として送信する。
合、プリンタ3のCPU23は、DMAコントローラ1
3に1バンドの転送DMAを許可する(S35)。1バ
ンドの転送DMAが終了する度にDMAコントローラ1
3がその旨を通知するので、CPU23はステップS3
3に戻る。こうして、1ページの転送が完了するまで、
1バンドの転送DMA設定と転送DMAの実行とを繰り
返す。1ページの転送が完了したら(S36でYE
S)、CPU23は、印刷成功フラグをDRAM21の
ワークエリアにセットする(S37)。印刷成功フラグ
は、ホスト1がプリンタステータスを読み出すときにホ
スト1に通知される。ホスト1がプリンタのステータス
を読み出した時点で、印刷成功フラグは解除される。前
述したように、ホスト1は、印刷成功フラグを受信した
ら、そのページのイメージデータを削除する。
はステップS31へ戻り、次のページのビデオ転送が同
様の手順で開始される。イメージデータの圧縮率が高
い、もしくは受信バッファサイズが十分に大きい場合
は、複数ページのイメージデータが受信バッファ43に
蓄えられ、印刷エンジン27の最大スループットで連続
印刷される。
ワークエリア41と受信バッファ43が確保されてい
る。ワークエリア31はヒープメモリ及びスタックメモ
リとして使用される。図示の例では、DRAM21の全
エリアのうちバッファ先頭アドレスBUFTOPからバ
ッファ最終アドレスBUFBTMまでが受信バッファ4
3である。受信DMAでは、そのアドレスポイント(受
信DMAアドレス)RADを、バッファ先頭アドレスB
UFTOPからバッファ最終アドレスBUFBTMへ向
かう方向へ進めていき、バッファ最終アドレスBUFB
TMに達するとバッファ先頭アドレスBUFTOPに戻
る。同様に、転送DMAでも、そのアドレスポイント
(転送DMAアドレス)TADを、バッファ先頭アドレ
スBUFTOPからバッファ最終アドレスBUFBTM
へ向かう方向へ進めていき、バッファ最終アドレスBU
FBTMに達するとバッファ先頭アドレスBUFTOP
に戻る。このように受信バッファ43はリングバッファ
として使用される。
のデータ53を蓄積中であり、且つBページの前のAペ
ージのデータ51のビデオ転送を開始しようとしている
状態を示している。各ページのデータ51、53には、
各ページイメージに関するホスト情報(解像度、トータ
ルバンド数など)、各バンドの情報(圧縮ON/OF
F、圧縮バンドサイズなど)及び各バンドのイメージデ
ータなどが含まれている。
ーランエラーを防止するため、ホスト1はバンド単位で
データを送信し、その都度、その送信に先立ってプリン
タ3が受信バッファ43の空き容量を計算してホスト1
に通知し、その空き容量が1バンド以上であるときのみ
ホスト1は送信を実行する。以下に、その空き容量を計
算する方法を説明する。
示している。つまり、図7(A)は「受信DMAアドレ
スRAD>転送DMAアドレスTAD」の状態、図7
(B)は「受信DMAアドレスRAD<転送DMAアド
レスTAD」の状態を示している。ハッチングで示した
領域に受信データが蓄積されており、「空」と記した領
域が空き領域である。
AD>転送DMAアドレスTAD」のときには、 空き容量=(TAD−BUFTOP)+(BUFBTM
−RAD) であり、図7(B)に示す「受信DMAアドレスRAD
<転送DMAアドレスTAD」のときには、 空き容量=TAD−RAD である。
回路(又はソフトの処理流れ)を示す。
ドレスのスタートポイントであり、RADSTは受信D
MAアドレスのスタートポイントであり、既に述べたよ
うに、これらは各バンドの転送DMA及び各バンドの受
信DMAをそれぞれ開始するときにCPU23によって
それぞれ設定される。TADCNTは転送DMAを行お
うとする受信バッファのアドレスを示すカウンタであ
り、RADCNTは受信DMAを行おうとする受信バッ
ファのアドレスを示すカウンタである。
ンドの転送DMAが実行される間、転送DMAスタート
アドレスTADSTを出力値の初期値として、その出力
値を、バッファ先頭アドレスBUFTOPから受信バッ
ファ最終アドレスBUFBTMまでリング状に循環する
るように1づつ進めていく。この転送DMAアドレスカ
ウンタ61の出力値が転送DMAアドレスTADであ
る。
は、各バンドの受信DMAが実行される間、受信DMA
スタートアドレスRADSTを出力値の初期値として、
その出力値を、バッファ先頭アドレスBUFTOPから
受信バッファ最終アドレスBUFBTMまでリング状に
循環するように1づつ進めていく。この受信DMAアド
レスカウンタ61の出力値が受信DMAアドレスRAD
である。
と受信DMAアドレスRADを比較して、いずれが大き
いかを示すアドレス比較フラグADCMPRをセットす
る。減算器67、69、71が、「TAD−BUFTO
P=TSUBTP」、「TAD−RAD=TSUB
R」、「BUFBTM−RAD=BTSUBR」をそれ
ぞれ計算する。
MPRを見て、「受信DMAアドレスRAD>転送DM
AアドレスTAD」のときには、 空き容量=TSUBTP+BTSUBR とし、「受信DMAアドレスRAD<転送DMAアドレ
スTAD」のときには、 空き容量=TSUBR とする。
明する。この実施形態の全体構成は図1に示したものと
同様である。この実施形態では、ホスト1がビデオ転送
の開始タイミングを決めてプリンタ3へ指示する。一般
に、ホスト1はプリンタ3に比べてCPUの処理能力が
高いので、ホスト1で開始タイミングを決定した方が、
プリンタ3で決めるよりも、より正確に開始タイミング
を設定することができる。また、プリンタ3は、ホスト
1から指示された開始タイミングが来る前に受信バッフ
ァの空き容量が所定量(例えば、1バンド)まで減った
ときには、その時点で自主的にビデオ転送を開始する。
これにより、ホスト1から指示された開始タイミングが
来る前に受信バッファが満杯になりプリンタ3がストー
ルする、という事態が回避される。ホスト1から指示さ
れた開始タイミングより早くにビデオ転送を開始した場
合でも実際には正常に印刷できるケースがあるので、エ
ラー発生を最小限にとどめることができる。また、ホス
ト1が指示したビデオ転送の開始タイミングが1ページ
分のデータ受信完了より早いタイミングであった場合に
おいて、アンダーランエラーが発生した場合には、ホス
ト1はまず、開始タイミングを1ページ分のデータ受信
完了後に変更してプリンタ3に指示した上で、データを
再送する。それでも、再びアンダーランエラーが発生し
た場合には、ホスト1は次に解像度を落としたデータ
(例えば、元々の600dpiを300dpiにしたデ
ータ)をプリンタ3に再送する。プリンタの受信バッフ
ァは、元の高い解像度のデータを1ページ分格納できる
必要はないが、解像度を落としたデータを1ページ分格
納できる容量はもつ。
がプリンタ3へイメージデータ送るときに各ページ毎に
行う制御のフローチャートホストの制御フローを示す。
ストの制御フローと異なるところだけを説明する。説明
しない部分は図2のフローと同じである。
(つまり、イメージデータに関する情報)をプリンタ3
に送信するが、このホスト情報にはイメージデータの解
像度(300/600dpi)やトータルバンド数の
他、ビデオ転送の開始タイミング(何バンド目か)が含
まれている。この開始タイミングはホスト1が、最初の
実施形態で説明した(3)式、つまり、 M≧P>T(α−x/y) …(3) の条件が満たされるように決定する。ここに、xはホス
ト1からのデータ受信速度〔バイト/秒〕、yはビデオ
転送の速度〔バイト/秒〕、αはデータ圧縮率、Tは1
ページの全データ数〔バイト〕、Mは受信バッファのサ
イズ〔バイト〕、Pはビデオ転送の開始時点で受信バッ
ファに蓄えられているデータサイズ〔バイト〕である。
ホスト1は、開始タイミングを決定する際、イメージデ
ータを送信するポートの種類(パラレル、USB、イー
サネット(登録商標)など)、もしくはポートの通信モ
ード(パラレルの場合のCompatibility、ECPなど)に応
じて、データ受信速度xが異なるから、それに応じて開
始タイミングを変える。例えば、パラレルのECPのよう
に受信速度xが速い場合は早い開始タイミングを設定
し、ネットワーク通信のように受信速度xが安定してい
ない場合は遅い開始タイミング(例えば、1ページのデ
ータ全てを受信した後にビデオ転送を開始するように)
を設定する。なお、プリンタ3はステップS42にて必
要に応じてホスト1との間で成立している通信モードを
プリンタ情報としてホスト1に前もって知らせておく
(例えば、パラレルの通信モード(Compatibility又はE
CP)はプリンタ3が知らせないとホスト1は分らないの
で、プリンタ3からホスト1に知らせる。)。
から送られて来たホスト情報を基に、レジスタの設定や
バッファクリアなどのページ設定を行う。その際、ホス
ト情報に含まれる上記開始タイミングもプリンタ3内の
レジスタに設定される。その後、プリンタ3は、ホスト
1から送られてくる各ページのデータを受信バッファに
蓄え、そして、原則として、各ページ毎にホスト1から
指示された開始タイミングになると(つまり、ホスト1
から指示された開始タイミングとしてのバンド数を受信
すると)ビデオ転送を開始する。
する度に、印刷の成功/失敗のフラグを立て、ホスト1
は、プリンタ3から取得したステータスに含まれる印刷
成功/失敗のフラグを見て(S46)、「成功」であれ
ばそのページのイメージデータをホスト1内から削除
し、「失敗」であれば、ステップS47のエラー処理に
進んで、失敗したページからデータの再送信を行う。
す。
1)、エラー原因が紙ジャムだった場合には、失敗した
ページから単純に再送信を行う。一方、エラー原因がア
ンダーランエラーだった場合には、次に、エラー発生時
にプリンタ3に対し指示してあったビデオ転送の開始タ
イミングをチェックし(S52)、フライングスタート
(つまり、1ページの全データの受信完了前にビデオ転
送を開始すること)を指示してあった場合には、「1ペ
ージの全データの受信完了後にビデオ転送を開始する」
よう開始タイミングを変更し(S53)、その変更後の
開始タイミングをプリンタ3に指示し直して(図9、S
44)失敗ページからデータを再送信する(図9、S4
9)。また、エラー発生時に既に「1ページの全データ
の受信完了後にビデオ転送を開始する」ようプリンタ3
に指示してあった場合には、解像度を落として(例えば
600dpiから300dpiに落として)失敗ページ
のデータを作り直し(S53)、その落とした解像度を
プリンタ3に通知して(図9、S44)失敗ページにつ
いては解像度を落としたデータを再送信する(図9、S
49)。尚、上述のデータ再送信は、ホスト1が自動的
に行ってもよいし、或いは、エラーが発生したことをユ
ーザに知らせ、再送するか否か、再送する場合は解像度
を落とすか否かをユーザに選択させてもよい。
タを受信するときの動作フローを示す。
のプリンタ制御フローと異なる部分だけを説明する。説
明しない部分は、図3のフローと同じである。
からホスト情報(解像度、トータルバンド数、ビデオ転
送の開始タイミングなど)を受信し、その情報を基にデ
ータ受信に関するレジスタ設定、バッファクリアなどの
ページ設定を行う。
な流れでホスト1から1バンド分のイメージデータを受
信する処理に入る(S66)。そして、ホスト1から受
信バッファにデータを受信しつつ、プリンタ3は、ホス
ト1から指定された開始タイミングとしてのバイト数を
受信し終わったかどうかと、受信バッファの空き容量が
1バンド未満になったかどうかをチェックする(S6
7)。指定バイト数を受信完了した場合、プリンタ3は
ビデオ転送を開始することができる(S68)。ホスト
1から指示されたバンド数が全ての1ページのトータル
バンド数、つまりホスト1から「1ページの全データの
受信完了に開始せよ」と指示されていた場合、ビデオ転
送開始後直ちにステップS61へ戻り(S71)次ペー
ジのデータ受信動作に入る。
いは元のデータが受信バッファサイズよりかなり大きい
等の事情があると、ホスト1から指示されたバンド数を
受信しないうちに受信バッファの空き容量が1バンド未
満になることがある。この場合、バッファ空き容量が1
バンド1バンド未満になった時点でプリンタ3はビデオ
転送を開始する。この場合、アンダーランエラーが発生
する確率が高くなるが、ホスト1が指定した開始タイミ
ングに十分大きいマージンが含まれていることなどの理
由から、正常に印刷ができるケースも少なくない。
制御フローである。
ビデオ転送フローと異なる部分だけ説明する。説明しな
い部分は、図5のフローと同じである。
ト1から指示されたバンド数以上を受信済みか否かによ
りチェックする(S71)。受信済みであれば、図5の
フローと同様の手順で1バンドのビデオ転送を実行する
(S72〜S75)。そして、プリンタエンジンの状態
をチェックし(S76)、紙ジャムが発生していたら、
紙ジャムエラーフラグをセットする(S77)。ホスト
1は、紙ジャムエラーを検出した場合には、図10に示
したようにパラメータを変更することなくデータを再送
する。
これらの実施形態はあくまで本発明の説明のための例示
であり、本発明をこれら実施形態にのみ限定する趣旨で
はない。従って、本発明は、上記実施形態以外の様々な
形態でも実施することができるものである。
きに各ページ毎に行う制御のフローチャート。
きのプリンタCPU23の制御のフローチャート。
はソフト)の構成図。
プリンタ3へイメージデータ送るときに各ページ毎に行
う制御のフローチャート。
理のフローチャート。
ト1からデータを受信するときのプリンタCPU23の
制御のフローチャート。
のフローチャート。
Claims (7)
- 【請求項1】 バッファを含むメモリと、 データを基に画像を形成して出力する画像出力部と、 ホストから受信したデータを前記バッファへ書きこむ受
信部と、 前記バッファ内のデータを前記画像出力部へ転送する転
送部と、 前記転送部の前記バッファからのリードアドレスが前記
受信部の前記バッファへのライトアドレスに追いつくこ
とにより発生するアンダーランエラーを検出するエラー
検出部と、 前記アンダーランエラーが検出されると、前記ホストを
してアンダーランエラーのより生じにくい条件下でデー
タを自動的に再送せしめるために、前記アンダーランエ
ラーの発生を前記ホストに通知するエラー通知部と、 を備えるページプリンタ。 - 【請求項2】 前記エラー検出部は、前記アンダーラン
エラーを検出したとき、前記アンダーランエラーの発生
を示す情報を前記メモリに保存し、 前記エラー通知部は、前記ホストから要求があったとき
に、前記メモリ内の前記情報を前記ホストに送信する請
求項1記載のページプリンタ。 - 【請求項3】 バッファを含むメモリと、 データを基に画像を形成して出力する画像出力部と、 ホストから受信データサイズ単位でデータを受信してD
MAにより前記バッファへ書きこむ受信DMA部と、 前記バッファ内のデータを転送データ単位でDMAによ
り前記画像出力部へ転送する転送DMA部と、 前記受信DMA部と前記転送DMA部とを制御する制御
部とを備え、 前記受信データサイズ単位と前記転送データサイズ単位
とは同サイズであり、前記制御部は、 前記転送DMA部が各転送データサイズ単位のデータ転
送を開始しようとする都度、前記転送DMA部の転送D
MA開始アドレスと前記受信DMA部の現在の受信DM
Aアドレスとに基づいてアンダーランエラーの有無をチ
ェックするエラー検出部と、 前記アンダーランエラーが検出された場合、前記アンダ
ーランエラーの発生を前記ホストに通知するエラー通知
部とを有するページプリンタ。 - 【請求項4】 ホストと、このホストから送信されるデ
ータをページ単位で印刷するページプリンタとを備える
ページプリントシステムにおいて、 前記ページプリンタは、 バッファを含むメモリと、 前記データを基に画像を形成して出力する画像出力部
と、 前記ホストから受信したデータを前記バッファへ書きこ
む受信部と、 前記バッファ内のデータを前記画像出力部へ転送する転
送部と、 前記転送部の前記バッファからのリードアドレスが前記
受信部の前記バッファへのライトアドレスに追いつくこ
とにより発生するアンダーランエラーを検出するエラー
検出部と、 前記アンダーランエラーが検出されると、前記アンダー
ランエラーの発生を前記ホストに通知するエラー通知部
と、 を有し、 前記ホストは、前記ページプリンタから前記アンダーラ
ンエラーの発生の通知を受けると、アンダーランエラー
のより生じにくい条件下でデータを前記ページプリンタ
に自動的に再送するページプリントシステム。 - 【請求項5】 ホストと、このホストから送信されるデ
ータをページ単位で印刷するページプリンタとを備える
ページプリントシステムにおいて、 前記ページプリンタは、 バッファを含むメモリと、 前記データを基に画像を形成して出力する画像出力部
と、 前記ホストから受信データサイズ単位でデータを受信し
てDMAにより前記バッファへ書きこむ受信DMA部
と、 前記バッファ内のデータを転送データ単位でDMAによ
り前記画像出力部へ転送する転送DMA部と、 前記受信DMA部と前記転送DMA部とを制御する制御
部とを備え、 前記受信データサイズ単位と前記転送データサイズ単位
とは同サイズであり、前記制御部は、 前記転送DMA部が各転送データサイズ単位のデータ転
送を開始しようとする都度、前記転送DMA部の転送D
MA開始アドレスと前記受信DMA部の現在の受信DM
Aアドレスとに基づいてアンダーランエラーの有無をチ
ェックするエラー検出部と、 前記アンダーランエラーが検出された場合、前記アンダ
ーランエラーの発生を前記ホストに通知するエラー通知
部とを有するページプリントシステム。 - 【請求項6】 受信したデータをバッファに一時的に蓄
積してからバッファから画像出力部へ転送するように構
成されたページプリンタに対して、ページ単位のデータ
を送信するホストにおいて、 前記バッファからのデータ転送のリードアドレスが前記
バッファへのデータ蓄積のライトアドレスに追いつくこ
とにより発生するアンダーランエラーが検出されたこと
を前記ページプリンタから通知されて、アンダーランエ
ラーのより生じにくい条件下でデータを前記ページプリ
ンタに自動的に再送するデータ再送手段を備えた、ペー
ジプリンタのためのホスト。 - 【請求項7】 受信したデータをバッファに一時的に蓄
積してからバッファから画像出力部へ転送するように構
成されたページプリンタに対して、ページ単位のデータ
を送信するホストとして、コンピュータを機能させるた
めのプログラムを担持したコンピュータ読取可能な記録
媒体において、前記プログラムが、 前記バッファからのデータ転送のリ
ードアドレスが前記バッファへのデータ蓄積のライトア
ドレスに追いつくことにより発生するアンダーランエラ
ーが検出されたことを前記ページプリンタから通知され
て、アンダーランエラーのより生じにくい条件下でデー
タを前記ページプリンタに自動的に再送するデータ再送
手段として前記コンピュータを機能させるプログラムを
含む、コンピュータ読取可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000142204A JP3367555B2 (ja) | 1998-09-29 | 2000-05-15 | ページプリンタ及びページプリントシステム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10-275074 | 1998-09-29 | ||
JP27507498 | 1998-09-29 | ||
JP2000142204A JP3367555B2 (ja) | 1998-09-29 | 2000-05-15 | ページプリンタ及びページプリントシステム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9799799A Division JP3284464B2 (ja) | 1998-09-29 | 1999-04-05 | ページプリンタ及びページプリントシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001026151A JP2001026151A (ja) | 2001-01-30 |
JP3367555B2 true JP3367555B2 (ja) | 2003-01-14 |
Family
ID=26551305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000142204A Expired - Fee Related JP3367555B2 (ja) | 1998-09-29 | 2000-05-15 | ページプリンタ及びページプリントシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3367555B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7542173B2 (en) | 2003-08-26 | 2009-06-02 | Seiko Epson Corporation | Image processing device and image processing program causing computer to execute image processing |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4488356B2 (ja) * | 2005-02-18 | 2010-06-23 | 株式会社リコー | プログラム、情報処理装置、印刷システム及び印刷データの出力方法 |
JP2007144648A (ja) * | 2005-11-24 | 2007-06-14 | Fuji Xerox Co Ltd | 印刷装置およびその制御方法および印刷システム |
JP4885898B2 (ja) * | 2008-03-17 | 2012-02-29 | 株式会社リコー | 画像読み取り装置 |
-
2000
- 2000-05-15 JP JP2000142204A patent/JP3367555B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7542173B2 (en) | 2003-08-26 | 2009-06-02 | Seiko Epson Corporation | Image processing device and image processing program causing computer to execute image processing |
Also Published As
Publication number | Publication date |
---|---|
JP2001026151A (ja) | 2001-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3284464B2 (ja) | ページプリンタ及びページプリントシステム | |
EP1024424B1 (en) | Print system and host device therefor | |
JP4924001B2 (ja) | 印刷システム及び印刷システムにおける印刷制御方法 | |
US20080007768A1 (en) | Network device, network manager, network managing system, and method of performing clone process | |
US20060176513A1 (en) | Printer, printer control method, and recording medium | |
JP3367555B2 (ja) | ページプリンタ及びページプリントシステム | |
JP3367556B2 (ja) | ページプリンタ及びページプリントシステム | |
JP3772585B2 (ja) | プリントシステム | |
US7212303B2 (en) | Print control method for a multifunctional printer including a facsimile feature | |
US8368933B2 (en) | Image forming device configured to record print history in a server | |
JP3034540B2 (ja) | 印刷システム、および、そのエラー回復方法 | |
JP4085561B2 (ja) | プリンタ | |
JP3573258B2 (ja) | 印刷データ送信装置及び印刷システム | |
US7880917B2 (en) | Image forming apparatus and print system | |
JP2001142670A (ja) | プリントシステム、及びプリンタ | |
US8724125B2 (en) | Method and system for printing according to transmission conditions | |
JP2000301780A (ja) | プリントシステム | |
JP3509840B2 (ja) | ページプリンタ | |
JP4589768B2 (ja) | 情報処理装置 | |
JP2000259363A (ja) | プリントサーバ、印刷制御方法、印刷制御プログラムを記録した媒体およびネットワークプリントシステム | |
JP2000168174A (ja) | プリンタ | |
JP3485671B2 (ja) | プリントシステム | |
US20040160639A1 (en) | Data transfer method | |
JPH11194914A (ja) | 印刷制御装置 | |
JP2869382B2 (ja) | プリンタ制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081108 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091108 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091108 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101108 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101108 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111108 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111108 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121108 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121108 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131108 Year of fee payment: 11 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |