JP3542443B2 - ホストコンピュータおよびデータ転送方法 - Google Patents
ホストコンピュータおよびデータ転送方法 Download PDFInfo
- Publication number
- JP3542443B2 JP3542443B2 JP16904196A JP16904196A JP3542443B2 JP 3542443 B2 JP3542443 B2 JP 3542443B2 JP 16904196 A JP16904196 A JP 16904196A JP 16904196 A JP16904196 A JP 16904196A JP 3542443 B2 JP3542443 B2 JP 3542443B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- printing
- printer
- horizontal line
- recording head
- 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
Images
Landscapes
- Record Information Processing For Printing (AREA)
Description
【発明の属する技術分野】
本発明はポートレートとランドスケープとの印刷方向を指定可能なホストコンピュータおよびデータ転送方法に関する。
【0002】
【従来の技術】
近年、コンピュータのユーザインタフェイスは改良されてきており、例えばマイクロソフト社のWindowsのオペレーションシステムを搭載した情報処理装置、換言するとマルチタスクが可能な情報処理装置のように表示装置の画面上に複数のアプリケーションプログラムを同時に開いて操作が可能となっている。このようなアプリケーションプログラムからオペレータが印刷を指示をした場合、通常印刷データは表示装置と同様に走査線方向のデータ(ラスタデータ)として扱われる。
【0003】
このような背景から最近では走査線に垂直方向の印刷ドットを持つドットプリンタに於いても内部で縦横変換をし実行してラスタデータを印刷ドット方向のデータ(バンドデータ)に変換する技術が知られる。また用紙の短辺方向の印刷(ポートレート)のみならず長辺方向の印刷(ランドスケープ)のドット印刷装置での印刷技術も公知である。ランドスケープを印刷する時には通常、プリンタドライバと呼ばれる制御ソフトを情報処理装置に搭載し、この制御ソフトにより縦横変換を実行してラスタデータに変換し、このラスタデータを印刷装置にデータを転送する。
【0004】
【発明が解決しようとする課題】
このように従来では、ランドスケープ形態の印刷データは情報処理装置および印刷装置の双方でデータ変換を行なわなければならず、その結果、印刷に時間がかかっていた。
【0005】
そこで、本発明は上述の点に鑑みて、印刷に要する時間を短縮させるホストコンピュータおよびデータ転送方法を提供することを目的とする。
【0006】
【課題を解決するための手段】
このような目的を達成するために、請求項1の発明は、記録紙を主走査方向に走査し、複数の印字素子を有する記録ヘッドを搭載したキャリッジを副走査方向に走査し、ポートレート印刷の場合にホストコンピュータから転送されるイメージデータを縦横変換して記録ヘッドにより記録を行い、ランドスケープ印刷の場合にホストコンピュータから転送されるイメージデータを縦横変換することなく記録ヘッドにより記録を行うプリンタにデータを転送するホストコンピュータであって、
ポートレート印刷か否かを判別する判別手段と、
前記判別手段によりポートレート印刷であると判別された場合、描画メモリに格納された横が短く縦が長いポートレート形態のイメージデータから横方向のラインの横幅分のイメージデータと前記横方向のラインと縦方向に隣接する横方向のラインの横幅分のイメージデータとが連続したイメージデータをプリンタに転送し、前記判別手段によりポートレート印刷でないと判別された場合、描画メモリに格納された横が長く縦が短いランドスケープ形態のイメージデータから横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータを読み出し、前記横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータと前記横方向のラインと縦方向に隣接する横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータとを連続させて、前記横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータを縦幅分プリンタに転送する転送手段とを有することを特徴とする。
【0007】
請求項2の発明は、記録紙を主走査方向に走査し、複数の印字素子を有する記録ヘッドを搭載したキャリッジを副走査方向に走査することにより記録を行うプリンタにデータを転送するデータ転送方法であって、
ランドスケープ印刷の場合、描画メモリに格納された横が長く縦が短いランドスケープ形態のイメージデータから横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータを読み出し、前記横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータと前記横方向のラインと縦方向に隣接する横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータとを連続させて、前記横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータを縦幅分プリンタに転送することを特徴とする。
【0012】
【発明の実施の形態】
(実施例1)
以下、添付図面に添って本発明実施例を詳細に説明する。
【0013】
図1は本発明を適用した情報処理装置としてのプリンタ一体型のパーソナルコンピュータを示す斜視図で、装置本体101と、キーボード102と、表示部103を備える上カバー104と、ベーパーフィードキー105と印字ストップキー106とプリンタユニット(プリンタと略することがある)2等との各部によって構成される。上カバー104は、装置本体101に対して、その後綾の両端に設けられたヒンジ104aを介して回動可能に取り付けられている。これにより本装置の使用時には、上カバー104は、その回動によって表示部103が視易くなる位置まで開けられ、また、不使用時は閉じられてカバーとして機能することができる。
【0014】
表示部103の表示素子としては、例えば液晶表示素子を用いられる。インクジェット方式の記録ヘッドを用いたプリンタユニット2は表示部103の前方に配置され、装置本体101内に収納されている。また、プリンタユニット2は操作者が開閉可能な開口部(不図示)をもち、記録ヘッドの交換が可能なようになっている。
【0015】
記録紙3はキーボード102の下部に設けられた給紙口101aから挿入され、装置本体101内を貫通する搬送路内を搬送されて装置後方の排紙口(不図示)から排出される。キーボード102は装置本体101の両側に設けられたヒンジ102aを介して回動可能に取り付けられている。これにより、封筒、ハガキ等の比較的長さの短い記録紙を使用する場合もキーボード102を上部に開き、記録紙3を搬送路内の奥に挿入することができる。このように、キーボード102の下部に記録紙3の搬送路が設けられているため、記録紙をセットした状態でもキーボード102および表示部103を用いた種々の操作が可能である。
【0016】
本実施例ではプリンタユニット2を除く部分、いわゆるコンピュータ部をホストコンピュータと呼ぶことにする。
【0017】
図2に、ホストコンピュータとプリンタの概略ブロック図を示す。
【0018】
まずホストコンピュータにおいては、主制御を司っているのが中央処理装置(CPU)であり、その基本的な制御を指示するのがBIOS ROM(Basic Input Output System ROM)である。BIOS ROMに記憶されているBIOSプログラムはフロッピーディスク(FDD)やハードディスク(HDD)からフロッピーディスクコントローラ(FDC)やハードディスクコントローラ(HDC)を経由してアプリケーションプログラムを読み出し、システムメモリ(RAM)を利用してアプリケーションプログラムの実行を行うためのシステムプログラムとして知られている。この時、画面の表示方法としてはVGA(Video Graphic Array)コントローラ(VGAC)を使って液晶(LCD)なキャラクタ等の表示を行い、キーボード(KB)からのキー入力はキーボードコントローラ(KBC)を経由して行われる。
【0019】
システムメモリ(RAM)内には後述の描画メモリ(図17において符号172)が設けられている。ここで、数値演算プロセッサ(FPU)は中央処理装置CPUに対し演算処理のサポートを行うものである。また、リアルタイムクロック(RTC)は現時点の経過時間を示すものでシステム全体の電源が切られた状態においても、専用バッテリーにより動作は行われる。DMAコントローラ(DMAC)は、メモリ〜メモリ間)、メモリ〜I/O間、I/O〜I/O間において高速にデータの転送を行うために、中央処理装置(CPU)の介在なしでデータ転送を行う。割り込みコントローラ(IRQC)は各I/Oからの割り込みを受け付け、優先順位に従って処理を行う。タイマ(TIMER)は、数チャンネルのフリーランニングタイマを持ち、種々の時間管理を行う。その他に外部につながる、シリアルインターフェイス(SIO)、拡張ボード(PORT)や、ユーザに動作状況を伝えるLEDがある。プリンタは、ホストコンピュータに対して汎用のパラレルインターフェイスでつながる形になり、I/Oボードのレジスタレベルでデータ送受信を行い、接続のイメージとしては外部プリンタとやり取りした時と同等となる。
【0020】
図3は、本発明が実施もしくは適用されたインクジェット記録方式を用いたプリンタユニット(プリンタと略することがある)2の内部構成を説明するための斜視図である。図3において、5001はインクタンクであり、5012はそれに結合された記録ヘッドである。インクタンク5001と記録ヘッド5012で一体型の交換可能なカートリッジを形成するものである。5014は、そのカートリッジをプリンタ本体に取り付けるためのキャリッジであり、5003はそのキャリッジを副走査方向に走査するためのガイドである。
【0021】
5000は、記録紙3を主走査方向に走査させるためのプラテンローラである。5024は、プラテンローラを回転させるための紙送りモータである。なお、キャリッジ5014には、記録ヘッド5012に対して駆動のための信号パルス電流やヘッド温調用電流を流すためのフレキシブルケーブル(図示せず)が、プリンタをコントロールするための電気回路を具備したプリント板(図示せず)に接続されている。さらに、上記構成のプリンタユニット2を詳細に説明する。駆動モータ5013の正逆回転に連動して駆動力伝達ギア5011,5009を介して回転するリードスクリュー5004の螺旋溝5005に対して係合するキャリッジ5014はピン(不図示)を有し、矢印a,b方向に往復移動される。5002は紙押え板であり、キャリッジ移動方向にわたって紙をプラテン5000に対して押圧する。5007,5008はフォトカプラでキャリッジ5014のレバー5006のこの域での存在を確認してモータ5013の回転方向切換等を行うためのホームポジション検知手段として機能する。5016は記録ヘッドの前面をキャップするキャップ部材5022を支持する部材である。5015はこのキャップ内を吸引する吸引手段であり、キャップ内閉口5023を介して記録ヘッド5012の吸引回復を行う。
【0022】
5017は、クリーニングブレードで、5019はこのブレード5017を前後方向に移動可能にする部材であり、本体支持板5018にこれらは支持されている。ブレード5017は、この形態でなく周知のクリーニングブレードが本例に適用できることはいうまでもない。また、5021は、吸引回復の吸引を開始するためのレバーで、キャリッジ5014と係合するカム5020の移動に伴って移動し、駆動モータからの駆動力がクラッチ切換等の公知の伝達手段で移動制御される。
【0023】
すなわち、モータ5013をキャリッジ5014のホームポジションから逆回転することにより、動力伝達ギア5011を5010に切り替え(不図示)、モータ5013からの駆動力がカム5020を介してレバー5012に伝わり、記録ヘッド5012のキャッピングおよびクリーニング、吸引回復が行えるように構成されている。
【0024】
図4に、プリント2の制御系のブロック図を示す。プリンタ2は、プリンタ制御用のCPU2、プリンタ制御プログラムやプリンタエミュレーションや印字フォトトを備えたROM22、印字のための展開データやホストからの受信データを構えておく不揮発性のRAM23、プリンタの上記印字ヘッドやモータを駆動するプリンタドライバ25、メモリにアクセス制御やホストとのデータのやり取りやプリンタドライバ25への制御信号送出を行うコントローラ24を有する。
【0025】
図5に、記録ヘッドおよびヘッドドライバ25の回路構成を示す。
【0026】
ここで、本例では吐出ユニットは64個の吐出口を有するものとし、#1〜#64は吐出ユニットに設けられた吐出口の位置に対応した番号を示すものとする。R1〜R64はそれぞれ#1〜#64の吐出口に対応して設けられた吐出エネルギ発生素子としての発熱抵抗体である。発熱抵抗体R1〜R64は8個を単位としたブロックに分割され、各ブロックに共通にコモン側ドライバ回路のスッチング用トランジスタQ1〜Q8が接続される。トランジスタQ1〜Q8は、それぞれ制御信号COM1〜COM8のオン/オフに応じ通電経路をオン/オフする。なお、各発熱抵抗体R1〜R64への通電経路に配置されたD1〜D64は逆流防止用のダイオードである。
【0027】
各ブロック間で対応する位置にある発熱抵抗体に対して、セグメント側ドライバ回路のオン/オフ用トランジスタQ9〜Q16が接続される。トランジスタQ1〜Q16はそれぞれ制御信号SEG1〜SEG8のオン/オフに応じて発熱抵抗体に対する通電経路をオン/オフする。
【0028】
図6は、かかる構成によるヘッド駆動のタイミングチャートである。ヘッド走査方向上にある位置において、コモン側制御信号COM8〜COM1が順次オンされる。そのオンにより1つのブロックが選択されて通電可能な状態になるので、選択されたブロック内において記録による画像に応じてセグメント側制御信号SEG8〜SEG1をそれぞれオンまたはオフすることにより、発熱抵抗体に選択的に通電が成され、発熱に応じてインクが吐出されてドット記録が行われる。
【0029】
図7はキャリッジモータおよびモータドライバの構成図である。図8はその駆動タイミングを示す。
【0030】
図7、図8を参照して説明すると、キャリッジモータとしてコイルφ1〜φ4を有するステッピングモータを用い、駆動信号CM1〜CM4により各コイルに接続されたスイッチ用トランジスタTR1〜TR4を適切にオン/オフすることにより、図8に示す様に2相励磁方式にて駆動する。
【0031】
フィードモータについても同様な構成で、駆動信号FM1〜FM4により駆動される。
【0032】
図9にプリンタコントローラ24の構成を示す。
【0033】
プリンタコントローラ24の機能ブロックとしては、ホストコンピュータ1と、コマンドレベルでのデータのやり取りを行うI/Oデータレジスタ24A、そしてそのレジスタから受信データをRAM23に直接書き込む受信バッファコントローラ、RAM23の記録データバッファから記録データを読み出しヘッドドライバ25に対してCOM1〜COM8/SEG1〜SEG8の制御信号の送出を行う印字バッファコントローラ24B、更にRAM23に対して3方向(つまり、CPU21、受信バッファコントローラ24B、印字バッファコントローラ24C)からのメモリアクセスを制御するメモリコントローラ24Dの以上4つのブロックで構成されている。
【0034】
図10はプリンタのI/Oデータレジスタ24A(図9参照)のマップを示す。
【0035】
この中でモータコントロールポート1001は、レジスタの値を直接書き換えることによりポートを制御し各モータを駆動するものである(CM1〜CM4、FM1〜FM4)。
【0036】
印字バッファエリア1002は、印字に必要なデータ領域を設定するもので、開始アドレス(PB START)と終了アドレス(PB END)を設定することにより、その範囲内で印字バッファコントローラ24Cによって開始アドレスから順番に印字データを読み出し、終了アドレスに至るまでRAM23から印字データを読み出し、ヘッドドライバ25に制御信号を送出する。この時、印字データアドレスポインタ(PB POINT)は現在データ送出中のデータアドレスを示している。
【0037】
受信データバッファエリア1003でも同様に、受信に必要なデータ領域を設定するもので、開始アドレス(IB START)と終了アドレス(IB END)を設定することにより、その範囲内で受信バッファコントローラ24Bによって開始アドレスから順番に受信データを書き込み、終了アドレスに至るまでRAM23へ受信データを書き込む。この時、受信データアドレスポインタ(IBPOINT)は現在データ受信済になっているデータアドレスを示している。
【0038】
図11は上記動作におけるRAM23上での印字バッファ(PB)と受信バッファ(IB)のアドレス領域をおのおの示している。各アドレスは、図10に示す様に、プリンタI/Oレジスタ24において指示されている。インターフェイス領域1004は、ホストコンピュータ1とプリンタ2の間でデータのやり取りを行う共通使用するI/O領域である。ホストコンピュータ1においてはパラレルインターフェイスのボートに相当する。
【0039】
インターフェイス領域については、ホストコンピュータ1とプリンタ2のインターフェイス領域における相関関係を示した図12で説明する。
【0040】
ホスト側におけるI/Oデータ、I/Oステータス、I/Oコントロールのレジスタが、プリンタ側のI/Oデータ、I/Oステータス、I/Oコントロールのレジスタと同一のアドレスを示す様に、ホスト側から見た(n,n+1,n+2)のアドレスが、プリンタ側から見た(m,m+1,m+2)のアドレスと対応が取れる様にアドレスマップが設定されている。
【0041】
すなわち、この部分のアドレスは双方向で読み書きできるレジスタになっている。
【0042】
なお、ホストコンピュータ1側にも、周辺機器を制御するためのI/Oレジスタを備えていて、ホストコンピュータ内でのI/O制御に使われている。すなわち図2で示した各ブロックのI/O領域をもっていて、その中のインターフェイスの制御領域についてのみがプリンタ側のI/Oレジスタのインターフェイス領域と共通になっているという構成になっている。図12は、その関係を示すものである。
【0043】
以下、ホストコンピュータ1側の電源投入後の各処理について図13を参照して説明する。
【0044】
電源投入時に図13の手順が起動される。手順はまずステップS10に進む。キーボードによるソフトリセット処理によっても電源投入と同様に、ステップS10へ入って来る。ステップS10でPOST処理(Power on self−test)すなわち各ハードウエアのテスト及び初期化を実行する。次に手順はステップS11へ進みシステムプログラム起動のための、ブートプログラムのロードが行われる。ブートプログラムはFD(フロッピディスク)あるいはHD(ハードディスク)等に保存され、例えば、トラック0、セレクタ1に配置される。トラック0、セレクタ1をメモリ内に読み込むことでブートプログラムのロードが行われる。
【0045】
ステップS10からステップS11までの処理プログラムはBIOS ROM内に存在する。次に手順はステップS12へ進み、ロードされたブートプログラムが実行される。なおブートプログラムは、FD、あるいはHDからOS(オペレーションシステム)プログラムをロードするためのプログラムである。
【0046】
次に手順はステップS13へ進み、OSロードプログラムロードする。次にステップS14へ進み、OSロードプログラムを実行する。
【0047】
OSロードプログラムは、OSをメモリ内にロードするためのプログラムで、まずステップS15でI/Oドライバをロードする。I/Oドライバというのは、I/Oを制御するためのプログラムで、I/OドライバによりOSは、各種I/Oとのデータのやり取りを行う。次にステップS16へ進み、I/Oのテストと初期化を行う。次にステップS17へ進みOSをメモリへロードする。ここまでのステップでOSが実行される準備がととのい次にステップS18へ進んで、OSが実行される。OSは、キーボードからの入力を処理し、各種メッセージを表示器に表示し、操作者とのやり取りを行う。OSは操作者の各種コマンドの入力に従って各種コマンド処理の実行を行う。
【0048】
図14は、図13のステップS10のPOST処理を詳細に説明するためのフローチャートで、CPU(この場合、図2)のFPU(数値演算プロセッサ、コプロセッサ)のテストを行う(ステップS20)。次にROMのテストを行う(ステップS21)。次に電源、バッテリのチェックを行う(ステップS22)、次にLCD,LCDアダプタのテストと初期化を行うLCDアダプタには、RAM,ROMを含みそれらのチェックも行う(ステップS23)。次に割り込みコントローラのテストと初期化を行う(ステップS24)。
【0049】
次にタイマのテストを行う(ステップS25)。次にDMAコントローラのテストを行う(ステップS26)。次にキーボード、キーボードコントローラのテストを行う(ステップS27)。次にシリアルバラレルポートのテスト、初期化を行う(ステップS28)。次にソフトリセットかどうかをチェックする(ステップS29)。ソフトリセットならば、ステップS30のRAMのテストと初期化処理をスキップしステップS31へ進む。ソフトリセットでない場合ステップS30へ進みRAMのテストと初期化を行う。次にFD(フロッピーディスク)のテストを行う(ステップS31)。次にHD(ハードディスク)のテストを行う(ステップS32)。
【0050】
次にリアルタイムクロックのテストを行う(ステップS33)。次にプリンタのテストを行う(ステップS34)。プリンタのテストは各種プリンタポートのチェックとプリンタ接続のチェックを行う。次にLEDのテストを行う(ステップS35)。次に戻りとなる。以上の処理により図13のS10で示すPOST処理が行われ、各装置にエラー等があった場合、それらを知らしめる。
【0051】
次にキーボード割り込み処理とキーコード取得処理について説明する。キーボード割り込み処理は、キーボードのキー押下に従ってキーボードコントローラから割り込みが発生した割り込みコントローラにより処理され、キーボード割り込み処理が実行される。キーコード取得処理は、キーボード割り込みにより保存された千一コードをキーバッファから取り出し、キーコードは必要とする処理に戻される。なお、キーバッファは不図示ではあるが、図2のRAM上のBIOSコモンエリア内に設けられる。キーボード割り込み処理は、各I/Oの割り込みマップ上(不図示)のハードウェア割り込みのエントリなどに割り当てられ、またキーコード取得処理は、ソフトウェア割り込みのエントリ等に割り当てられる。それぞれキーボードから割り込み、ソフトウェア割り込みの呼び出しにより実行に移される。
【0052】
図15は、キーボード割り込みが発生した場合の処理に関するフローチャートを示す。同図において、まずキーボード割り込みが発生すると、ステップS40において、キースキャンコードをI/Oのキーボードに割り当てられたボードから読み取る。読み取ったコードはステップS41においてソフトリセットに相当するコードであるかどうか判断され、判定がYes(真)であればステップS42で印字バッファクリアコマンド送信を実行し、実行後実際のソフトリセット動作を開始する。読み取ったコードがソフトリセットでない場合、ステップS43においてキーボードバッファが一杯でないかどうかを確認する。
【0053】
キーボードバッファが一杯であれば、ステップS44によって警告のためBeep(ビープ)音を発生し、処理を終了する。一杯でなければ、ステップS45によってキースキャンコードを文字コードに対応したキーコードに変換し、さらに変換されたキーコードをステップS46によってキーバッファにセットして処理を終了する。以上説明したように、キーボード割り込み処理内でソフトリセット実行時にプリンタにバッファクリアコマンドが送信され、プリンタのバッファクリア処理が行われる。
【0054】
図16はキーコード取得処理に関するフローチャートを示す。同図において、キーコード取得が開始されると、まずステップS50においてキーボードバッファにキーコードがあるかどうかチェックされる。なければステップS50を繰り返し、キーコードバッファに入れられるのを待つ。キーコードが存在した場合、ステップS51においてキーコードの変換が必要かどうかチェックされ、必要な場合、ステップS52によってキーコードの変換が行われる(キーコードの変換は、主として国別にキーボードが異なる場合などに発生する)。キーコードの変換が必要でない時、また必要でステップS52において変換が行われたあと、ステップS53によってキーコードがキーコードを返すためのレジスタにセットされ、処理を終了する。
【0055】
図17は、本実施例における印刷処理の制御の方法を示すブロック図である。アプリケーションプログラム170は印刷を行う場合に、印刷コマンドをオペレーションシステム(OS)の中の描画制御プログラム171に渡す。描画制御プログラム171は、印刷すべきプリンタに対応するプリンタドライバ200に対して、描画コマンドを発行する。描画コマンドを受信したプリンタドライバ200は描画のためのメモリ(描画メモリ172)を用意して、描画制御プログラム171をコールバックする。コールバックされた描画制御プログラム171は描画メモリ172にアプリケーションからの要求を描画する。描画終了後プリンタドライバ200は、描画メモリ172に描画されたビットマップをプリンタ2に対するコマンドデータに変換する。
【0056】
次にこの変換について図18を用いて詳細に説明する。プリンタドライバ200は、図19の印刷方向保存用フラグ(pddc−>DriverData.ulOrientation)を用いて印刷方向、すなわちポートレート印刷か否かを判断する(ステップS60)。判断がYes(真)の場合には、図20(a)で示されるラスタイメージデータ(斜線部分)をプリンタコントローラ504に転送する(ステップS70)。この結果、プリンタ2では図20(b)のように印刷を行う。判断が(偽)の場合には図21(a)で示されるバンドイメージデータをプリンタコントローラ504に転送する(ステップS80)、この結果、プリンタ2では図21(b)で示すよう印刷される。以下転送データの取得方法について詳しく述べる。なお、印刷方向についてはユーザがホストコンピュータ1に対してキーボード等の入力装置を使用して指示してもよいし、デフォルトとして予め定めた方向を上記印刷方向保存用フラグに設定しておく。
【0057】
図22は、描画メモリ172に格納された1ページ分のイメージデータを示す図で斜線部がバンドイメージデータとなる。本実施例のバンドイメージデータの扱いはノズルの上がMSB(最上位ビット)となっているために描画メモリ172を時計回りに90度回転させて印字したのと同様となる(逆に上方向がLSB(最下位ビット)の場合には反時計回りに90度回転させれば同様に本発明が適応できる)。図22に示すようにバンドの先頭はビットマップの最低位置に相当するので先ずポインタ(P)に以下の計算結果をセットする。
【0058】
描画メモリ172の先頭アドレス+(cDataBytes−1)* BitImagewidth
次にバンドイメージ転送コマンドヘッダ ’ESC [g’ をプリンタコントローラ204に転送する。次にデータの長さとして(cDataBytes * BitImagewidth) とモード用1バイトを加算した値(cbDataLengthに格納される)を転送する。次にプリントモードとしてファイン(16h)を転送する。次にポインタPが指すアドレスからcDataBytes分転送する。更にポインタPをcDataBytesだけ減じてポインタPが指すアドレスからcDataBytes分転送する。以下この動作を描画メモリに先頭アドレスまで繰り返す。
【0059】
このような処理を行うことによって図21(a)に示すように描画メモリ172に格納された1ページ分のイメージデータの中のバンドイメージが読み出され、転送される。
【0060】
本実施例では描画メモリ172のデータ読み出し方向を図20(a)のX方向にして所定幅分だけイメージデータを読み出すと、ラスタイメージデータが得られ、図20(b)のY方向に所定幅分だけイメージデータを読み出すとバンドイメージデータが得られる。
【0061】
従来では印刷用のイメージデータを縦横変換により作成していたので、印刷分のイメージデータ作成処理時間が短縮される。
【0062】
以上の動作をC言語で記述したものを図23に示しておく。
【0063】
尚、バンド幅については、本実施例の場合ノズルの数は64個であるが、縦方向の制御も考慮して60ビットにしている。また、本実施例では(cDataBytes=8)としている。
【0064】
ノズルの上方向がLSBである場合にはポインタPの初期値として描画メモリ172の先頭アドレスをセットしポインタの更新はcDataBytes加算していけばよい事は同業者であれば容易に理解できよう。
【0065】
以上述べた実施例の構成と本発明の対応箇所を参考のために記述しておく。請求項1の記憶手段は描画メモリ172に相当する。印刷用の描画メモリを専用に有していない場合には表示装置用のイメージを格納するメモリを本発明の記憶手段として使用することができる。
【0066】
請求項1の制御手段は図18の内容を実行するプリンタドライバ200に対応する。このプリンタドライバをソフトウェア構成にして中央処理装置CPUにおいてこのソフトウェアを実行することでも本発明の制御手段を実現できる。請求項3の指示手段はRAM上に設定された印刷方向保存フラグが対応する。なお、キーボードKBから指示を与えた場合にはキーボードKBが指示手段となる。
【0067】
以上述べた実施例の他に次の例を実施できる。
【0068】
1)本実施例ではプリンタ2がホストコンピュータ1に内蔵されている例を示したがプリンタ2をホストコンピュータ1に対して外部接続する例に対しても本発明をできようできる。
【0069】
2)印刷対象のイメージを記憶しておくメモリはビデオメモリのように専用的に設けてもよいし、他のメモリと共有使用してもよい。
【0070】
【発明の効果】
以上、説明したように、請求項1の発明によれば、ランドスケープ印刷の場合、縦横変換処理が必要なく、印刷に要する時間を短縮させることができる。
【0071】
請求項2の発明によれば、ランドスケープ印刷の場合、縦横変換処理が必要なく、印刷に要する時間を短縮させることができる。
【図面の簡単な説明】
【図1】本発明を適用したプリンタ一体型パーソナルコンピュータの斜視図である。
【図2】ホストコンピュータとプリンタの概略構成を示すブロック図である。
【図3】図1のプリンタ(ユニット)2の内部構成を示す斜視図である。
【図4】プリンタ2の制御系を示すブロック図である。
【図5】記録ヘッド及びヘッドドライバの構成図である。
【図6】ヘッド駆動のタイミングを示すタイミングチャートである。
【図7】キャリッジモータ及びモータドライバの構成図である。
【図8】図7のドライバの駆動タイミングを示すタイミングチャートである。
【図9】プリンタコントローラ24の内部構成を示すブロック図である。
【図10】プリンタI/Oレジスタのマップを表す説明図である。
【図11】印字バッファと受信バッファのアドレス領域を示す説明図である。
【図12】ホストコンピュータ1とプリンタ2のI/O領域における相関関係を示す説明図である。
【図13】電源投入時の処理内容を示すフローチャートである。
【図14】POST処理内容を示すフローチャートである。
【図15】キーボード割り込み処理内容を示すフローチャートである。
【図16】キーコード取得処理内容を示すフローチャートである。
【図17】描画における機能ブロック図である。
【図18】プリンタドライバの処理内容を示すフローチャートである。
【図19】印刷方向保存用フラグを示す説明図である。
【図20】ポートレート印刷とラスタイメージデータを示す説明図である。
【図21】ランドケープ印刷とバンドイメージデータを示す説明図である。
【図22】描画メモリにビットマップデータを示す説明図である。
【図23】印刷用イメージデータを作成する処理をC言語で示す説明図である。
【符号の説明】
1 ホストコンピュータ
2 プリンタ(ユニット)
101 装置本体
102 キーボード
103 表示部
104 上カバー
Claims (2)
- 記録紙を主走査方向に走査し、複数の印字素子を有する記録ヘッドを搭載したキャリッジを副走査方向に走査し、ポートレート印刷の場合にホストコンピュータから転送されるイメージデータを縦横変換して記録ヘッドにより記録を行い、ランドスケープ印刷の場合にホストコンピュータから転送されるイメージデータを縦横変換することなく記録ヘッドにより記録を行うプリンタにデータを転送するホストコンピュータであって、
ポートレート印刷か否かを判別する判別手段と、
前記判別手段によりポートレート印刷であると判別された場合、描画メモリに格納された横が短く縦が長いポートレート形態のイメージデータから横方向のラインの横幅分のイメージデータと前記横方向のラインと縦方向に隣接する横方向のラインの横幅分のイメージデータとが連続したイメージデータをプリンタに転送し、前記判別手段によりポートレート印刷でないと判別された場合、描画メモリに格納された横が長く縦が短いランドスケープ形態のイメージデータから横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータを読み出し、前記横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータと前記横方向のラインと縦方向に隣接する横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータとを連続させて、前記横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータを縦幅分プリンタに転送する転送手段とを有することを特徴とするホストコンピュータ。 - 記録紙を主走査方向に走査し、複数の印字素子を有する記録ヘッドを搭載したキャリッジを副走査方向に走査することにより記録を行うプリンタにデータを転送するデータ転送方法であって、
ランドスケープ印刷の場合、描画メモリに格納された横が長く縦が短いランドスケープ形態のイメージデータから横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータを読み出し、前記横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータと前記横方向のラインと縦方向に隣接する横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータとを連続させて、前記横方向のラインの記録ヘッドの複数の印字素子に応じたイメージデータを縦幅分プリンタに転送することを特徴とするデータ転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16904196A JP3542443B2 (ja) | 1996-06-28 | 1996-06-28 | ホストコンピュータおよびデータ転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16904196A JP3542443B2 (ja) | 1996-06-28 | 1996-06-28 | ホストコンピュータおよびデータ転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1016318A JPH1016318A (ja) | 1998-01-20 |
JP3542443B2 true JP3542443B2 (ja) | 2004-07-14 |
Family
ID=15879229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16904196A Expired - Fee Related JP3542443B2 (ja) | 1996-06-28 | 1996-06-28 | ホストコンピュータおよびデータ転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3542443B2 (ja) |
-
1996
- 1996-06-28 JP JP16904196A patent/JP3542443B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1016318A (ja) | 1998-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3323527B2 (ja) | 印刷装置及び方法 | |
JP3706694B2 (ja) | 情報処理装置、プリンタ制御方法及び記憶媒体 | |
EP0526189A2 (en) | Print controller with power saving control | |
JPH09163136A (ja) | スキャナ装置 | |
US6352326B1 (en) | Printing apparatus and printing method | |
JP3542443B2 (ja) | ホストコンピュータおよびデータ転送方法 | |
US5787308A (en) | Printing apparatus and method in which virtual busy signal is generated when printer buffer has larger vacant area than a predetermined value | |
JPH08310086A (ja) | 情報処理装置およびその印刷方法 | |
JP3278174B2 (ja) | 印刷装置及び初期化方法 | |
JPH0535421A (ja) | 情報処理方法及び装置 | |
JPH08244314A (ja) | プリンタシステム及び該システムにおけるプリンタ及び情報処理装置 | |
JP3382299B2 (ja) | 文字処理方法及び装置 | |
JPH08320772A (ja) | 情報処理装置およびその印刷方法 | |
US5838886A (en) | Printing method and apparatus therefor | |
JPH10187373A (ja) | 印刷システム及び印刷システムにおける省電力モード通知方法 | |
JPH0532016A (ja) | モード切替方法及び装置 | |
JPH0532010A (ja) | 印字方法及び装置 | |
JPH06262809A (ja) | プリンタ制御方式 | |
JPH0532011A (ja) | 印字方法及び装置 | |
JP2006072525A (ja) | 記録システム、記録装置及び記録装置の外部メモリ管理方法 | |
JP3262355B2 (ja) | 情報処理方法及び装置 | |
JPH0532014A (ja) | 情報処理方法及び装置 | |
JPH08292854A (ja) | 情報処理装置 | |
JPH11175286A (ja) | 印刷制御システム及び方法、記憶媒体 | |
JPH0619648A (ja) | プリンタ・サーバ及びプリンタ・システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040216 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040331 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090409 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090409 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100409 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110409 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |