JPH06262809A - プリンタ制御方式 - Google Patents

プリンタ制御方式

Info

Publication number
JPH06262809A
JPH06262809A JP5052227A JP5222793A JPH06262809A JP H06262809 A JPH06262809 A JP H06262809A JP 5052227 A JP5052227 A JP 5052227A JP 5222793 A JP5222793 A JP 5222793A JP H06262809 A JPH06262809 A JP H06262809A
Authority
JP
Japan
Prior art keywords
data
buffer
printer
control
save
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.)
Pending
Application number
JP5052227A
Other languages
English (en)
Inventor
Koji Fukunaga
耕司 福長
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 JP5052227A priority Critical patent/JPH06262809A/ja
Publication of JPH06262809A publication Critical patent/JPH06262809A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【目的】 ホストコンピュータからのプリントすべき情
報をプリントするプリンタにおいて、プリンタからのビ
ジー信号によって、ホストコンピュータは送信すべき情
報を保持していることがあり、ホスト側としては待たさ
れることが多かったので、この点を改良することが目的
である。 【構成】 プリンタ側に受信バッファの他に保存バッフ
ァを設け、受信バッファがフルになったら保存バッファ
に入れ、受信バッファがフルになるチャンスを作らない
ようにして、ホストコンピュータの待ち時間を減少させ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、受信データを蓄える受
信バッファを持ち、受信バッファの状態をビジー信号と
してホストに知らしめることが出来るプリンタ及びプリ
ンタ制御方式に関するものである。
【0002】
【従来の技術】従来、ホストから送られる印字データを
蓄える受信バッファを持つようなプリンタは一般的に知
られている。その様なプリンタではホストから転送され
るデータを受信バッファに蓄え、蓄えられたデータを順
次処理することによって、印字データの展開や印字の制
御を行なうことができる。受信バッファへの受取処理と
印字動作とはおのおの独立して行なえるプリンタも一般
的である。近年ホストの高性能化に伴い、ホストからプ
リンタへのデータ転送スピードも高速化されている。ま
たプリンタも、多量の受信バッファを持ったり、受信バ
ッファの制御をハードウェア回路を用いる等、ホストか
らのデータ受取処理の高速化がおこなわれている。しか
し、ホストに比較してプリンタは実際の印字動作を伴う
ため、ホストほどの高速化は望めない。このため、ホス
トからのデータは受信バッファに多量に蓄えられる結果
となり、受信バッファは満杯状態となる時間が増えるこ
とになる。またホストにビジー信号としてプリンタの状
態を知らせることは一般的であり、プリンタの受信バッ
ファの満杯状態もビジー信号としてホストは知ることが
できる。プリンタがビジーの場合、プリンタの受信バッ
ファが満杯である場合もあり、ホストはプリンタへのデ
ータ転送が不可能であることを知ることが出来る。ビジ
ー信号は受信バッファのデータが処理され受信バッファ
に空きが発生すると、受信バッファ満杯によるプリンタ
のビジー信号は解除され、ホストは次のデータを転送す
ることができる。しかしながら、受信バッファの蓄えら
れたデータは、印字データの展開や印字の制御などが行
なわれることにより消費されるが、受信バッファのデー
タとは関係しない処理、即ち、独自に実行する処理、例
えば排紙、給紙などでは受信バッファのデータが消費さ
れないため、これらの処理が終了するまで受信データの
処理は中断されることになる。この間、受信バッファが
満杯となって、プリンタはビジー信号をホストに知らせ
る。また、ホストの高速化に伴い通常の場合でもプリン
タがビジーとなる時間が長くなる傾向がある。
【0003】
【発明が解決しようとしている課題】しかしながら、上
記従来例では、ビジー信号が受信バッファ満杯状態の時
にセットされるだけではないため、ホストはプリンタが
ビジーとなっている時間が長くなることにより、プリン
タに何らかのエラーが発生したと判断したり、あるいは
エラーとは断定せずにプリンタが正しくデータを受け取
ったとして、以降の処理を継続するようなことが発生す
る。エラーと判定されれば印字が最後まで終了していな
いのに、ホストがデータの転送を終了したり、プリンタ
はデータを正しく受け取っていないのにホストからは次
のデータが送られることが起こり、途中のデータが失わ
れたような状態となる。結果として正しい印字結果が得
られなかったり、誤った印字結果となる様なことが発生
する。
【0004】
【課題を解決するための手段(及び作用)】本発明によ
れば、定期的に受信バッファの状態を監視することが出
来、受信バッファが満杯であれば、受信データを保存バ
ッファに保存することにより、受信バッファが満杯であ
ることによって発生していたビジー信号の時間を短くす
ることができる。またビジー信号を定期的に解除するこ
とが出来るため、今までビジーで送れなかったのに対し
てホストからプリンタへのデータ転送が可能となり、ビ
ジー信号が長く続くことにより発生していた印字の中断
や印字データの消失をなくすことができ、正しい印字結
果を得ることができる。
【0005】
【実施例】
(実施例1)以下、添付図面を参照して本発明の好適な
実施例を詳細に説明する。尚、本発明でいう国指定は、
言語別、地域別等、文書処理に係るある条件で特定され
る複数のグループの中から所望のグループを指定するこ
とをいう。尚、グループはイギリスという指定でイギリ
ス、米国等の複数を含める場合もあれば、日本という国
を指定して、その国1つを指定する場合もあるが、ほぼ
使用言語に対応しているものである。
【0006】図1は本発明の実施例としての情報処理装
置としてのパーソナルコンピュータ(以下パソコンと略
す)を示す斜視図である。パソコン1は、装置本体10
1、キーボード102、表示部103を備える上カバー
104、及びプリンタ2等の各部によって構成される。
上カバー104は、装置本体101に対して、その後縁
の両端に設けられたヒンジ104aを介して回動可能に
取り付けられている。これにより本装置の使用時には、
上カバー104は、その回動によって表示部103が視
易くなる位置まで開けられ、また、不使用時は閉じられ
てカバーとして機能することができる。表示部103の
表示素子としては、表示部を薄く構成できることから液
晶表示素子が用いられる。
【0007】[Host−Printerの概略ブロッ
ク図]図2に、ホストコンピュータとプリンタの概略ブ
ロック図を示す。
【0008】まずホストコンピュータにおいては、主制
御をつかさどっているのが中央処理装置(CPU)であ
り、その基本的な制御を指示するのがBIOS ROM
(Basic Input Output Syste
m ROM)である。フロッピーディスク(FDD)や
ハードディスク(HDD)からフロッピーディスクコン
トローラ(FDC)やハードディスクコントローラ(H
DC)を経由してアプリケーション プログラムを読み
出し、システムメモリ(RAM)を利用してプログラム
の実行を行なう。この時、画面の表示方法としてはLC
Dコントローラ(LCDC)を使って液晶(LCD)に
キャラクタ等の表示を行ない、キーボード(KB)から
のキー入力はキーボードコントローラ(KBC)を経由
して行なわれる。ここで、数値演算プロセッサ(FP
U)はCPUに対して演算処理のサポートを行なうもの
である。また、リアルタイムクロック(RTC)は現時
点の経過時間を示すものでシステム全体の電源が切られ
た状態においても、専用バッテリーにより動作は行なわ
れる。DMAコントローラ(DMAC)は、メモリ〜メ
モリ間、メモリ〜I/O間、I/O〜I/O間において
高速にデータの転送を行なう為に、CPUの介在なしで
データ転送を行なう。割り込みコントローラ(IRQ
C)は各I/Oからの割り込みを受け付け、優先順位に
従って処理を行なう。タイマ(TIMER)は、数チャ
ンネルのフリーランニングタイマを持ち、種々の時間管
理を行なう。その他に外部につながる、シリアルインタ
フェース(SIO)、拡張ポート(PORT)や、ユー
ザに動作状況を伝えるLEDがある。
【0009】一般のパソコンが持つ上記の各制御に加え
て、ノートブック型パーソナルコンピュータ(パソコ
ン)に於ては、ACアダプター/電池の少なくとも2電
源に対応する必要があり、特に電池使用時の省電力が必
要となり、以下の構成を有する。ELのインバータ回路
のon−off/FDDへの電源供給/HDDへの電源
供給/printer−off/RAM及びVRAM以
外のディバイスへの電源供給の各時間制御や、CPU等
のCLOCK制御、サスペンド/レジューム時の電源制
御手順等を制御するホストパワーマネージメント部(ホ
ストPM部)と、ホストPM部の指示信号によりRAM
及びVRAMをサスペンド時とcpu−clock動作
時とで切り替えてrefreshするためのリフレッシ
ュコントローラと、2次電池をチャージしながらホスト
側も駆動可能なチャージコントローラよりなる。
【0010】プリンタは、ホストコンピュータに対して
汎用のパラレルインタフェースでつながる形になり、I
/Oポートのレジスタレベルでデータ送受信を行ない、
接続のイメージとしては外部プリンタとやり取りした時
と同等となる。
【0011】●[Printerのブロック図]図3は
プリンタ部の制御系の構成を示すブロック図で主な構成
は以下の通りである。
【0012】ここでCPU−Pはプリンタ部の主制御を
なすマイクロプロセッサ形態のCPUで有り、プリンタ
ーコントロール&ステータスポート部のPST/IOレ
ジスタを介してホスト側からアクセス可能なPST/I
Oレジスタとの間でプリンターのステータス情報やエミ
ュレーション設定の情報授受を行ない、この状態設定に
基づきホスト側から後述のパラレルIFアダプタ部のP
IO/IOレジスタを介して得られるプリンタコマンド
やデータに従って所望の状態処理及び印字処理を後述の
ROM−Pにあらかじめマイクロコード化して格納され
たプログラムやデータに則りCPU−P上のディバイス
/レジスター/メモリーを用いて行なう。ROM−Pは
図14〜図21の処理を実行するCPU−Pが実行する
記録制御手順(例えば図14〜図21)及び印字制御手
順等に対応したプログラム、キャラクタージェネレータ
(CG)、その他のテーブル及びデフォルト値等の固定
データを格納するROM(リードオンリーメモリー)で
ある。TIMER1ーPは紙送りモータ(FM)/ヒー
タ等の駆動相時間及びその他の時間タイミングを得る為
のTIMERで、RTC−Pは回復動作の経過時間を知
るためのRTC(リアルタイムクロック)である。ま
た、複合制御UNITは、IF転送制御/省電力制御/
RAMアクセス制御/プリンタコントロール&ステータ
ス制御/プリンタポート制御等から構成され、この内R
AMアクセス制御/プリンタコントロール&ステータス
制御/省電力制御等はCPU−Pの制御によらずCPU
−Pのクロック停止及びフォルト中であっても独立した
制御が可能である。以上の構成がCPU−PのBUSに
接続されている。RAM−Pはレジスタとして用いるワ
ーク領域、1ライン分の印字データを格納する為のライ
ンバッファ、ドットに再展開されたドット展開バッフ
ァ、パラレルIFからのINPUTバッファ、エミュレ
ーション情報記録等の領域を有するRAM(ランダムア
クセスメモリー)で、複合制御UNITとの間をRAM
busによって接続され、複合制御UNITのRAM
制御部によりRAM−Pが後述するCPU−Pをはじめ
複数の制御部からのアクセスが可能となっている。複合
制御UNITからは各プリンタ駆動制御信号が出力さ
れ、FM駆動回路/CM駆動回路/ヘッドドライバー/
ヒータドライバではFM/CM/BJ−Head/ヒー
タ等の駆動レベルに変換し、プリンタのFM(フィード
モーター)/CM(キャリアモーター)/BJ−Hea
d各部が駆動される。省電力制御信号として複合制御U
NITからVcc1P−off/Vcc2P−off/
Vp−offの電源コントロール信号と、入力信号とし
てPrinter−off/プリンタセンサー類/操作
パネルSW、出力信号として操作パネルのLED駆動信
号等を持つ。このうちPrinter−off信号のア
クティブからインアクティブの変化のみによってVcc
1−Pの電源供給がなされて、複合制御UIT/CPU
−P/RAM−Pのみに電源供給が可能となる。また、
Vcc1P−offはprinter−off信号をプ
リンタの駆動状況に合わせて、変更したOFFタイミン
グでVcc1Pなる電源を切ることが可能となってい
る、即ちヘッドがキャップオープン状態で電源が切れて
しまい、致命的な障害を及ぼすことがないのである。
【0013】図4に複合制御UNITの構成図を示す。
【0014】機能ブロックとしては、主としてホスト側
からのIFアダプタとして機能するパラレルIFアダプ
タ、パラレルIFアダプタを介してRAM−Pのinp
ut−buffer上にパラレルデータの格納を行なう
IFデータ取込み制御部、主としてホスト側から直接プ
リンタの状態を確認コントロールする為のプリンタコン
トロール&ステータスポート部、RAM−Pのリフレッ
シュタイミングを発生するリフレッシュ制御部、RAM
−P上の1ラインドット展開データを読みだしてBJヘ
ッドを駆動印字しつつ合わせてキャリアの相励磁も制御
するBJ−ヘッド/CM制御部と、FM/ヒータ/LE
D等を駆動するプリンタポート制御部と、IFデータ取
り込み制御部とリフレッシュ制御部とBJ−ヘッド/C
M制御部とCPU−Pの4つのアクセス要求に対して優
先度別にアクセス権を持つRAMアクセス制御部と、省
電力制御を行なうプリンタPM部で構成される。省電力
制御については後述するがCPU−Pをフォルト状態で
供給クロックを停止させる低消費電力モードからの通常
処理状態への復帰は、PM制御部で集中して管理される
各種割り込みによってもたらされ、CPU−Pを復帰さ
せる条件がととのったのちINTとして出力されCPU
−Pは再開して処理を行なう。
【0015】図5は、パラレルIFアダプタ(PIO/
IO)の構成を示していて、IFdata,IFsta
tus,IFcontrol,IBblankの各レジ
スタから成り、このレジスタはホストコンピュータ側お
よびプリンタロジックの双方向から読み書きできるI/
Oレジスタ領域になっている。
【0016】IFdataは、ホスト側がプリンタに対
して印字制御コマンドや印字ドットデータを送出するた
めのデータレジスタであり、8ビット(1バイト)単位
でデータのやり取りが行なわれる。
【0017】IFstatusは、プリンタ側からホス
トに対してIFdataの受信受付状態を示すステータ
スレジスタで、1バイト単位のハンドシェイクを行なう
時のBusy/Ack信号と、プリンタエラーを示すE
rror信号を持つ。
【0018】IFcontrolは、ホスト側からプリ
ンタに対してIFdataを送信する為のコントロール
レジスタで、1バイト単位のハンドシェイクを行なう時
のData Strobe信号を持つ。
【0019】IBblankは、受信データバッファ領
域に於て空エリアのバイト数を示すレジスタである。
【0020】図6は、IFデータ取り込み制御部におけ
るプリンタ側から見えるIOレジスタ(PIF/IO)
の構成を示していて、IBstart IBend I
Bpoint1の各レジスタから成る。
【0021】図7は、IBデータ読み出し制御部におけ
るプリンタ側から見えるIOレジスタ(PIB/IO)
の構成を示していて、IBpoint2 IBstat
usIBdataの各レジスタから成る。
【0022】図8は、プリンタ制御部においてプリンタ
側から見えるIOレジスタ(PBJ/IO)の構成を示
す。
【0023】PBstart,PBend,PBpoi
nt,PBstatus,PB制御情報、CM相励磁信
号、FM相励磁信号、ヒータ駆動信号、LED制御信号
の各レジスタで構成される。
【0024】図9は、図4のRAM−P上でプリンタ制
御部が管理する印字バッファ(PB)と、IFデータ取
り込み制御部およびIBデータ読み出し制御部が管理す
る受信バッファ(IB)のアドレス領域の配置を示して
いる。
【0025】印字バッファ領域は印字に必要なデータ領
域を設定するもので、図8に示したPBJ/IOレジス
タを使って設定することができ、開始アドレス(PBs
tart)と終了アドレス(PBend)を設定するこ
とにより、その範囲内でプリンタ制御部によって開始ア
ドレスから順番に印字データを読み出し、終了アドレス
に至るまでRAM−Pから印字データを読み出し、ヘッ
ドドライバに制御信号を送出し印字を行ない、この時の
印字データアドレスポインタ(PBpoint)は現在
データ送出中のデータアドレスを示している。
【0026】受信バッファ領域も同様に、受信に必要な
データ領域を設定するもので、図6に示したPIF/I
Oレジスタを使って設定することができ、開始アドレス
(IBstart)と終了アドレス(IBend)を設
定することで、IFデータ取り込み制御部によって開始
アドレスから終了アドレスに至るまでの範囲を順番に、
ホスト側から送られてくるデータ(IFdata)をR
AM−P上に書き込み、終了アドレスを過ぎると再度開
始アドレスに戻って同様に書き込み動作を行なうと共
に、この時のIBpoint1は現在データ受信済にな
っていて最後に書き込まれているデータアドレスを示し
ている。
【0027】同時にプリンタ側のCPU−Pは、図7に
示したPIB/IOの情報に基づきIBdataレジス
タを読み出す事により、IBデータ読み出し制御部によ
って受信バッファに取り込まれている受信データが開始
アドレスから終了アドレスまで順番に読み出され、終了
アドレスを過ぎると再度開始アドレスに戻って同様に読
み出し操作が行われ、CPU−Pは読み出した受信デー
タを印字データに変換して印字バッファ領域に書き込む
操作を行なう。
【0028】この時のIBpoint2はIBデータ読
み出し制御部により既に読み出されている受信データの
アドレスを示していて、IBpoint1の値を越える
まで読み出し操作は行なわれる。
【0029】読み出したデータが有効であるかを示すの
がステータスレジスタ(IBstatus)のData
Validフラグで、このフラグが”1”だった時はI
Bdataが無効であり既に残っている受信データはな
いことを示し、IBstatusをワードアクセスでI
Bdataと同時に読み出すことにより、データの読み
出しと同時にValidフラグを確認することができ
る。
【0030】IBblankは、図5に示したPIO/
IOレジスタの一つで、IBstartとIBendに
よって設定された受信バッファ領域において、受信デー
タの取り込まれていない空バイト数を示しているレジス
タである。
【0031】すなわち、IBpointlからIBpo
int2の領域に受信データが格納されているので、設
定された受信バッファ領域から受信データが格納されて
いる領域を引いたものが、IBblankの値となる。
【0032】図10は、IBアクセスアドレスを生成す
るブロックとIBブランクレジスタの値を算出するブロ
ックを示す構造図であり、IBに受信データを書き込む
ためのIBWRアドレスを生成するIBWRカウンタ、
IB内に書き込まれているデータを読み出すためのIB
RDアドレスを生成するIBRDカウンタ、IBWRア
ドレスとIBRDアドレスを比較し受信データがまだ残
っているかを判別するコンパレータ、及び受信データが
取り込まれていない領域を算出するIBBNKカウンタ
で構成される。
【0033】IBWRアドレスはIFcontrolレ
ジスタのDataStrobe信号によりUPカウント
され、IBRDアドレスはIBdataの読み出しアク
セスによりUPカウントされ、IBWRアドレスとIB
RDアドレスは、RAMアクセス制御部によって優先度
別にRAM−Pにアクセスされる。
【0034】コンパレータによる出力は、IBstat
usレジスタにおけるDataValedフラグにな
り、IBpoint2の値がIBpointlの値を越
えた時に初めて”1”になり、IBdataの読み出し
を禁止して読み出したデータが無効であることをCPU
−Pに知らせる。
【0035】IBBNKは、DataStrobe信号
によりUPカウントすると共に、IBdataRD信号
によりDOWNカウントし、双方のアドレスが等しい時
にIBendからIBstartのアドレスを引いた値
になるように設定することで、IB領域の残りの空バイ
ト数を加減算カウントするカウンタである。
【0036】IBBNKの値はIBblankレジスタ
にそのまま出力されるので、ホスト側がデータ転送を行
なう時にIBblankの値を見てデータ転送量を決定
し、印字データをブロック単位で一気に転送することが
できる。
【0037】図11は、インクジェット記録方式を用い
たプリンタユニット(図2)の内部構成を説明するため
の斜視図である。図11において、5001はインクタ
ンクであり、5012はそれに結合された記録ヘッドで
ある。5001のインクタンクと5012の記録ヘッド
で一体型の交換可能なカートリッジを形成するものであ
る。5014は、そのカートリッジをプリンター本体に
取り付けるためのキャリッジであり、5003はそのキ
ャリッジを副走査方向に走査するためのガイドである。
【0038】5000は、記録紙3を主走査方向に走査
させるためのプラテンローラである。5024は、プラ
テンローラを回転させるための紙送りモータである。な
お、キャリッジ5014には、記録ヘッド5012に対
して駆動のための信号パルス電流やヘッド温調用電流を
流すためのフレキシブルケーブル(図示せず)が、プリ
ンターをコントロールするための電気回路を具備したプ
リント板(図示せず)に接続されている。
【0039】さらに、上記構成のプリンタユニット2を
詳細に説明する。駆動モータ5013の正逆回転に連動
して駆動力伝達ギア5011、5009を介して回転す
るリードスクリュー5005の螺旋溝5004に対して
係合するキャリッジ5014はピン(不図示)を有し、
矢印a、b方向に往復移動される。5002は紙押え板
であり、キャリッジ移動方向にわたって紙をプラテン5
000に対して押圧する。5007、5008はフォト
カプラでキャリッジ5014のレバー5006のこの域
での存在を確認してモータ5013の回転方向切換等を
行なうためのホームポジション検知手段である。501
6は記録ヘッドの前面をキャップするキャップ部材50
22を支持する部材で、5015はこのキャップ内を吸
引する吸引手段であり、キャップ内開口5023を介し
て記録ヘッド5012の吸引回復を行なう。
【0040】5017は、クリーニングブレードで、5
019はこのブレード5017を前後方向に移動可能に
する部材であり、本体支持板5018にこれらは支持さ
れている。ブレードは、この形態でなく周知のクリーニ
ングブレードが本例に適用できることはいうまでもな
い。また、5021は、吸引回復の吸引を開始するため
のレバーで、キャリッジ5014と係合するカム502
0の移動に伴って移動し、駆動モータからの駆動力がク
ラッチ切換等の公知の伝達手段で移動制御される。
【0041】即ち、駆動モータ5013をキャリッジ5
014のホームポジションから逆回転することにより、
動力伝達ギア5011を5010に切り替え(不図
示)、駆動モータ5013からの駆動力がカム5020
を介してレバー5021に伝わり、記録ヘッド5012
のキャッピング及びクリーニング、吸引回復が行なえる
ように構成されている。
【0042】図12は図3に示したRAM−Pで表わさ
れ、バッファ、フラグ等を含むリード/ライトメモリの
詳細を示した図である。図中、受信バッファは本体から
プリンタへ転送された印字コマンド、印字データを受信
するためのバッファで、プリンタの入力ポートに入力し
たデータが保持される。これは図9において説明した。
印字データエリアは、印字に必要なフラグ、レジスタを
含んだデータエリアで、印字はこのエリアに保持された
値、例えばマージン情報等を用いて行なわれる。
【0043】図13に図12に示した印字データエリア
内の詳細な内容を示す。データの取り込み中を示すデー
タ取り込み中フラグ、受信バッファ満杯状態以外でのビ
ジー設定状況を示すビジーフラグ、ページの終了を示す
ページフラグを含む。また、紙のフィード量を保持する
フィード量、保存バッファの先頭アドレスを指す保存バ
ッファスタートアドレス、保存バッファの最終アドレス
を指す保存バッファエンドアドレス、保存バッファの現
在アドレスを指す保存バッファポインタなどのレジスタ
を含む。
【0044】以下、フローチャートにしたがって本実施
例を詳細に説明する。
【0045】図14は、印字処理の詳細を示したフロー
チャートで、印字処理について説明する。まず、ステッ
プS1で初期化を行なう。初期化は印字に必要なデータ
エリアの初期化などを行ない、その一つとして図20に
示す保存ポインタの初期化も行なう。次に、ステップS
2へ進み、受信データが有るかどうかをチェックする。
受信データが有るかどうかのチェックは、図7で示した
PIB/IOレジスタのIBスティタスのData V
alidのビットで判定することができ、このビットが
オンであれば受信データがないことを表し、オフであれ
ば受信データがあることを表す。後で説明するが受信バ
ッファが満杯の場合、受信データは最も古いデータから
保存バッファへ保存される。保存バッファにデータが保
存されるような場合には、必ず受信バッファにデータが
存在し、受信データ有りの判定は有りとなる。受信デー
タ有りの場合にはステップS3へ進み、コマンド解析処
理を行なう。コマンド解析処理は、受信データを解析し
コントロールコードか文字コードかの判定を行ないそれ
ぞれの処理にしたがって、印字データの作成、印字等を
行なう。詳細については図15で説明する。次にステッ
プS4へ進む。また、受信データが無い場合にはステッ
プS4へ進み、コマンド解析処理はスキップされる。ス
テップS4は、スティタス制御処理で各種スティタスの
設定、解除を行なう。スティタスとしては、例えばプリ
ンタエラー状態やプリンタのスイッチなどの遷移によっ
て発生するものが有り、図5に示したIFstatus
などを、これらの状態変化に合わせるような処理を行な
う。また、プリンタの状態を示すI/Oポートの制御や
LED、パネル表示などの制御も行なう。次にステップ
S5へ進みフィード処理を行なう。フィード処理は紙の
フィードや排紙などを行なう。詳細は図16で説明す
る。次に、ステップS2へ戻り、同様の処理を繰り返し
行なう。これら一連の処理によりホストからデータを受
けコマンドを処理したり、文字を展開して印字動作を行
なうことが出来る。
【0046】図15は図14のステップS3を詳細に説
明するフローチャートで、コマンド解析処理を表してい
る。まず、ステップS10でデータ取得処理を行なう。
データ取得処理は、受信バッファに蓄えられたデータ、
あるいは保存バッファに蓄えられたデータを取り出す処
理を行なう。データは1バイト単位で取り出される。取
り出すデータはデータ取得処理により自動的に判断さ
れ、コマンド解析処理ではデータの所在場所については
感知する必要はない。データ取得処理については、図1
7で詳細に説明する。次に、ステップS11へ進み、ス
テップS10で取り出されたデータがコントロールコー
ドであるかどうかのチェックを行なう。コントロールコ
ードはプリンタを制御するためのコードで、一般的に知
られるキャリッジリターンやラインフィードなどと拡張
子(ESC)などを含んだ拡張コマンドなどを意味して
いる。コントロールコードであれば、ステップS12へ
進み各種コントロールコードに対応した処理を行ない、
戻りとなる。コントロールコードでなければ、ステップ
S13へ進みステップS10で取り出されたデータが文
字コードであるかどうかのチェックを行なう。文字コー
ドは文字を表すコードで、英数文字や漢字文字に対応す
る。文字コードであれば、ステップS14へ進み文字コ
ードの処理を行ない、戻りとなる。文字コードの処理は
各文字に対応した文字のデータを印字出来るデータに展
開する処理を行なう。
【0047】これら一連の処理によりホストからのデー
タをコマンドあるいは、文字データに展開して印字動作
を行なうためのコマンド解析処理が行なえる。
【0048】図16は、紙フィード処理の詳細を示した
図で、図14のステップS5に対応する。まずステップ
S20で、フィード量がセットされているかどうかを判
定する。セットされていなければ、戻りとなる。フィー
ド量がセットされている場合、ステップS21へ進み、
フィード量の合計がページ全体のフィード量を超えるか
どうかの判定を行なう。フィード量はフィードが行なわ
れる毎に、合計量として加算される。フィード量の合計
がページ全体のフィード量を超える場合、ステップS2
2へ進み、ページフラグをセットする。次に、ステップ
S23へ進み、排紙処理を行ない戻りとなる。ステップ
S21で、フィード量の合計がページ全体のフィード量
を超えない場合、ステップS24へ進み、紙のフィード
を行ない戻りとなる。
【0049】以上の処理により紙フィード処理とページ
フラグのセットが実行出来る。
【0050】図17は、データ取得処理の詳細を示した
フローチャートで、図15のステップS10に対応す
る。まずステップS30で、保存データが有るかどうか
を判定する。保存データは図12の保存バッファに蓄え
られた受信データで、図18で説明するタイマ割り込み
処理の受信バッファ制御処理により保存される。保存に
ついては図18以降で詳しく説明する。保存データは図
13に示した保存バッファポインタにより管理され次に
保存されるデータが保存バッファポインタにより示され
る保存バッファの位置にセットされる。保存バッファへ
の保存は、図13に示した保存バッファスタートアドレ
スから行なわれ、保存バッファエンドアドレスまで可能
となる。すなわち保存バッファスタートアドレスから保
存バッファポインタまで受信データが保存されており、
保存バッファスタートアドレスが指す先のデータが最も
古いデータとなる。保存データが有るかどうかを判定
は、この保存バッファスタートアドレスと保存バッファ
ポインタとの比較で行なわれ、保存バッファポインタが
保存バッファスタートアドレスと同じである場合、保存
データがないことになる。初期化処理として、保存バッ
ファポインタは保存バッファスタートアドレスと同じに
されており、初期状態としては保存データなしとなる。
ステップS30で、保存データがなければ、ステップS
31へ進み、受信データの読み込みを行なう。これが、
従来からの処理で、受信バッファからのデータ読み込み
となる。受信データの読み込みは図7で示したPIB/
IOのIBDataを読み込むことにより行なう。つぎ
に戻りとなる。ステップS30で、保存データが有れ
ば、ステップS32へ進み、データ取り込み中フラグを
セットする。データ取り込み中フラグはデータ取得処理
実行中に保存データがセットされるのを禁止するための
フラグで、このフラグがセットされている間受信データ
の保存バッファへの保存は行なわれない。これは図19
で説明する。次に、ステップS33へ進み、保存データ
の取り出しを行なう。保存データは最も古いデータから
順に取り出すため、保存バッファの保存バッファスター
トアドレスで示される位置のデータが取り出される。次
に、ステップS34へ進み、保存ポインタの更新を行な
う。保存バッファからデータが一つ取り出されたため、
保存バッファスタートアドレス+1から保存バッファポ
インタまでのデータを、保存バッファスタートアドレス
へ移動し、保存バッファポインタを一つ前に戻す。次
に、ステップS35へ進み、ステップS32でセットし
たデータ取り込み中フラグをリセットする。次に、戻り
となる。
【0051】以上の処理によりデータ取得処理が実行さ
れ受信バッファからのデータ読み込みか保存バッファか
らのデータ取り出しかのいずれかが自動的におこなわ
れ、印字に必要なホストからのデータを取得することが
出来る。
【0052】図18はタイマ割り込み処理を示したフロ
ーチャートで、図4のTimer3−Pから一定の時間
間隔でCPU−Pへ知らされ、割り込み処理としてCP
U−Pで実行に移される。まず、ステップS40で受信
バッファ制御処理を行ない戻りとなる。受信バッファ制
御処理は図19で詳細に説明する。
【0053】図19は受信バッファ制御処理を示したフ
ローチャートで、図17のステップS40に対応する。
まず、ステップS50でデータ取り込み中かどうかのチ
ェックを行なう。このチェックはデータ取り込み中フラ
グがセットされているかどうかで行なわれ、セットされ
ていれば戻りとなり、何も行なわない。受信バッファ制
御処理は図17で示したデータ取得処理中でも、実行さ
れる可能性があるためデータ取得処理中にはデータ保存
処理を行なわないようにするためである。タイマ割り込
み処理として実行されるため、データ取得中に保存処理
が行なわれると、保存ポインタの位置が狂うおそれがあ
るためである。データ取り込み中でなければ、ステップ
S51へ進み受信バッファ残りバイト数取得処理を行な
う。受信バッファ残りバイト数取得は図5のPIO/I
OのIBblankでしめされるレジスタを読み込むこ
とにより行なわれ、読み込んだ内容が受信バッファの残
りバイト数となる。次に、ステップS52へ進みステッ
プS51で読み込んだ残りバイト数が0であるかどうか
のチェックを行なう。残りバイト数が0であれば、受信
バッファが満杯であることをしめしている。残りバイト
数が0でなければ、保存バッファへの保存を行なう必要
がないので戻りとなる。残りバイト数が0であれば、ス
テップS53へ進み、保存バッファが満杯であるかどう
かのチェックを行なう。保存バッファが満杯かどうかを
判定は、保存バッファエンドアドレスと保存バッファポ
インタとの比較で行なわれ、保存バッファポインタが保
存バッファエンドアドレスと同じである場合、保存バッ
ファが満杯であることになる。保存バッファが満杯であ
れば、これ以上の保存は行なえないので戻りとなる。保
存バッファが満杯でなければ、ステップS54へ進み、
受信データの読み込みを行なう。これは図17のステッ
プS31と同様である。次に、ステップS55へ進み、
ステップS54で読み込んだデータを保存バッファへ保
存する。保存する位置は保存バッファポインタで示され
る場所に行なわれ、保存バッファ中では最新のデータと
なる。次に、ステップS56へ進み、保存バッファポイ
ンタを一つ先へ進め戻りとなる。
【0054】以上の処理により一定の時間毎に受信バッ
ファのデータ状態を確認し、受信バッファが満杯であれ
ば受信バッファのデータを保存バッファに保存すること
が出来る。
【0055】図20は保存ポインタの初期化処理を示し
たフローチャートで、図14のステップS1の初期化の
中の一つに対応する。ステップS60で保存ポインタの
初期化を行なう。図13の保存バッファスタートアドレ
スは保存バッファの先頭、保存バッファエンドアドレス
は保存バッファの最終をそれぞれセットし、保存バッフ
ァポインタには保存バッファスタートアドレスと同じ保
存バッファの先頭をセットする。
【0056】以上の処理により保存ポインタの初期化が
出来る。
【0057】図21はビジー制御処理を示したフローチ
ャートで、受信バッファの状態をホストに知らせるため
のビジー信号を扱う処理をしめしている。ビジー信号は
図5のPIO/IOのIFstatusのBusyで表
され、このビットがオンであればビジーではなく、オフ
であればビジーであることを示す。ビジーはプリンタが
エラーやオフラインなどの場合にもビジーとされる。ホ
ストはこのビジー信号を見ることによりプリンタがデー
タを受けられる状態かどうかを判定できる。ビジー制御
処理は受信バッファへの読み込み、書き込みのたびに呼
ばれビジーの制御を行なう。
【0058】まず、ステップS70で受信バッファが満
杯かどうかのチェックを行なう。この処理は図19のス
テップS51、52と同様に行なわれる。受信バッファ
が満杯であれば、ステップS71へ進み、ビジーをセッ
トする。ビジーのセットは図5のPIO/IOのIFs
tatusのBusyをオフにすることにより行なう。
受信バッファが満杯でなければ、ステップS72へ進
み、ビジーフラグがセットされているかどうかをチェッ
クする。ビジーフラグは受信バッファ満杯以外の条件の
場合にセットされる。ビジーフラグオンならば戻りとな
る。ビジーフラグオンでなければ、ステップS73へ進
み、ビジーをリセットする。ビジーのリセットは図5の
PIO/IOのIFstatusのBusyをオンにす
ることにより行なう。次に、戻りとなる。
【0059】以上の処理により受信バッファのデータ状
態によりビジー信号の制御を行なうことが出来る。
【0060】以上、説明したように定期的に受信バッフ
ァの満杯状態を監視し満杯であれば保存バッファに保存
することが可能となり、また受信バッファの状態により
ビジーの設定、解除をおこなうことが可能となる。ま
た、受信データの取り出しに際しても受信バッファ、保
存バッファのいずれかによりデータを取り出すことも可
能となる。
【0061】(実施例2)本実施例においては、図4中
IFデータ取り込み制御部で示した回路を用いてホスト
から受け取ってデータを受信バッファへセットするよう
に構成されているが、これら回路を省略してそれらの処
理をソフト処理とすることも可能である。また、図10
で示した残りバイトの算出回路もソフト処理とすること
も可能である。この場合、必要な回路を減らすことがで
きる。
【0062】(実施例3)本実施例においては、図21
で示したビジー制御処理はソフト処理として構成されて
いるが、回路を用いることも可能である。また、図1
8、19で示した受信バッファの制御処理もソフト処理
として構成されているが、回路を用いることも可能であ
る。この場合、ソフト処理に比べて高速な処理ができ
る。
【0063】(実施例4)本実施例においては、図1
8、19で示した受信バッファ制御処理はタイマ割り込
み処理として構成されているが、図14の印字処理の繰
り返し処理内(ステップS2〜ステップS5)で行なう
ことも可能である。この場合、タイマ割り込み機能を省
略することができる。
【0064】
【発明の効果】以上、説明したように、ホストからおく
られた印字データによりプリンタの受信バッファが満杯
となることにより、ホストに通知されていたビジー信号
を極力短くすることが可能となり、従来、プリンタビジ
ーが長いことにより発生していたホストのエラーやデー
タの欠落を防ぐ効果がある。
【図面の簡単な説明】
【図1】本発明を実施したパソコンを示す斜視図
【図2】ホスト−プリンタ間概略ブロック図
【図3】プリンタ1F部のブロック図
【図4】複合制御UNITの内部のブロック図
【図5】PIO/IOレジスタ構成図
【図6】PIF/IOレジスタ構成図
【図7】PIB/IOレジスタ構成図
【図8】PBJ/IOレジスタ構成図
【図9】プリンタ内のRAMの詳細を示した図
【図10】IBアクセスアドレス及びIBブランク算出
回路の構成図
【図11】プリンタ内部ユニットの斜視図
【図12】プリンタ内のRAMの詳細を示した図
【図13】印字データエリアの詳細を示した図
【図14】印字処理の詳細を示すフローチャート
【図15】コマンド解析処理の詳細を示すフローチャー
【図16】紙フィード処理の詳細を示すフローチャート
【図17】データ取得処理の詳細を示すフローチャート
【図18】タイマ割り込み処理の詳細を示すフローチャ
ート
【図19】受信バッファ制御処理の詳細を示すフローチ
ャート
【図20】保存ポインタ初期化処理の詳細を示すフロー
チャート
【図21】ビジー制御処理の詳細を示すフローチャート

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 受信バッファのデータ保持量を検出する
    受信データ保持量検出手段と、 前記受信バッファからデータを取り出し保存バッファに
    保存する受信データ保存手段と、 前記データ保持量検出手段により、受信バッファが満杯
    であることを検知した場合、前記受信データ保存手段に
    より受信バッファから受信データを保存バッファに保存
    することを特徴とするプリンタ制御方式。
  2. 【請求項2】 前記受信データ保存手段により、受信バ
    ッファに保持されるデータ量を減らすことにより、ビジ
    ー信号制御手段に従ってプリンタのビジー信号を制御す
    ることを特徴とする請求項1記載のプリンタ制御方式。
JP5052227A 1993-03-12 1993-03-12 プリンタ制御方式 Pending JPH06262809A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5052227A JPH06262809A (ja) 1993-03-12 1993-03-12 プリンタ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5052227A JPH06262809A (ja) 1993-03-12 1993-03-12 プリンタ制御方式

Publications (1)

Publication Number Publication Date
JPH06262809A true JPH06262809A (ja) 1994-09-20

Family

ID=12908861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5052227A Pending JPH06262809A (ja) 1993-03-12 1993-03-12 プリンタ制御方式

Country Status (1)

Country Link
JP (1) JPH06262809A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006154950A (ja) * 2004-11-25 2006-06-15 Hitachi Omron Terminal Solutions Corp 自動取引装置
JP2011104861A (ja) * 2009-11-17 2011-06-02 Seiko Epson Corp 記録制御装置、記録装置の制御方法、及び、プログラム
US8769170B2 (en) 2010-09-16 2014-07-01 Seiko Epson Corporation Electronic device, control method for an electronic device, and recording medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006154950A (ja) * 2004-11-25 2006-06-15 Hitachi Omron Terminal Solutions Corp 自動取引装置
JP2011104861A (ja) * 2009-11-17 2011-06-02 Seiko Epson Corp 記録制御装置、記録装置の制御方法、及び、プログラム
US8769170B2 (en) 2010-09-16 2014-07-01 Seiko Epson Corporation Electronic device, control method for an electronic device, and recording medium

Similar Documents

Publication Publication Date Title
EP0526189B1 (en) Print controller with power saving control
US20030156129A1 (en) Information processing method and apparatus
EP0548928A2 (en) Portable computer
JP3323527B2 (ja) 印刷装置及び方法
US5844813A (en) Information processing apparatus and method with setting of power off state and with recognition of printer operating state
EP0526183B1 (en) Computer-printer data transfer method
JPH0781186A (ja) 情報処理システムの省電力化装置
JPH06262809A (ja) プリンタ制御方式
JP3093342B2 (ja) 省電力化のための方法及び印刷装置
JPH10105295A (ja) バッテリー内蔵型電子機器および印字制御方法
JP3227188B2 (ja) 情報処理方法及び装置
JPH05169736A (ja) プリンタ及びプリンタ制御方法
JP3262355B2 (ja) 情報処理方法及び装置
JPH08310086A (ja) 情報処理装置およびその印刷方法
JPH0532013A (ja) 情報処理方法及び装置
JP3542443B2 (ja) ホストコンピュータおよびデータ転送方法
JP3210046B2 (ja) 情報処理装置及び方法
JP3278174B2 (ja) 印刷装置及び初期化方法
JPH08278867A (ja) 情報処理装置および情報処理装置の立上げ制御方法
JPH0532012A (ja) 情報処理方法及び装置
JP3140875B2 (ja) 記録装置
JPH06286271A (ja) プリンタ制御方法およびその装置
JP2000158764A (ja) 印刷制御装置および印刷制御装置の初期化方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH09190297A (ja) 情報処理システムおよび情報処理システムの印刷制御方法
JPH09212268A (ja) インターフェース回路および周辺機器