JP3700410B2 - Printer system and print control method - Google Patents

Printer system and print control method Download PDF

Info

Publication number
JP3700410B2
JP3700410B2 JP25479898A JP25479898A JP3700410B2 JP 3700410 B2 JP3700410 B2 JP 3700410B2 JP 25479898 A JP25479898 A JP 25479898A JP 25479898 A JP25479898 A JP 25479898A JP 3700410 B2 JP3700410 B2 JP 3700410B2
Authority
JP
Japan
Prior art keywords
host computer
control unit
printer
print engine
circuit
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
Application number
JP25479898A
Other languages
Japanese (ja)
Other versions
JP2000089920A (en
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP25479898A priority Critical patent/JP3700410B2/en
Publication of JP2000089920A publication Critical patent/JP2000089920A/en
Application granted granted Critical
Publication of JP3700410B2 publication Critical patent/JP3700410B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はホスト計算機とプリンタがシリアルバス回線などの周辺バスで接続されたプリンティングシステムに関するものである。特に、ホスト計算機とプリンタがシリアルバス回線などの周辺バスで接続されたプリンティングシステムにおいて、プリンタの処理するバンドの時間間隔などに応じてリアルタイム的にプリントに必要なデータを高速に送信する機構の提供が可能なプリンタシステムおよびプリント制御方法に関する。
【0002】
【従来の技術】
昨今のプリンティングシステム、特にカラープリンティングシステムにおいては、600dpi×600dpiあるいはそれ以上の解像度の向上によって扱うデータ量がますます増大している。システムの低コスト化への要求を満たすために、高解像度のカラープリンタではバンド分割を行なって各バンドの展開データを圧縮して記憶保持することによりメモリ削減のための対策を行なってきた。また、PDFやPostScriptなどのページ記述言語を展開するデコンポーズ処理の一部をプリンタにつながれるホスト計算機上で肩代わりさせることによりホスト計算機資源を有効に使い、同時に処理の性能向上を狙う技術も出てきている。
【0003】
ただし、このような従来のプリンタシステムでは従来のページ記述言語によるプリントデータのデータサイズに比べてより大きい、すなわち一部デコンポーズ処理が終わった中間データをプリンタに送る必要が生じるため、ホスト計算機とプリンタをつなぐバス転送の負荷が大きくなる。また、ページよりもより小さな単位であるバンド毎に転送処理を管理する必要も生じる。
【0004】
【発明が解決しようとする課題】
そこで以上のような技術を用いたシステムにおいては従来、ホスト計算機上に設けられたバスインターフェイスを介してホスト計算機とプリンタとのデータ転送を行なう場合、要求されるような小さな時間間隔で高速なデータ転送性能が得られないという問題点があった。なぜならばここで想定されるIEEE1394高速シリアルデータバスやUSB(Universal Serial Bus)などのバスではホスト計算機とプリンタなどの周辺機器との間の通信はホスト上で動作するデバイスドライバ呼ばれるソフトウエアにより管理されるからである。
【0005】
また、ホスト計算機のOSがIBM互換器上で動作するWindows95(マイクロソフト社商標)やWindowsNT(マイクロソフト社商標)などのようにリアルタイム性を保証しないOSである場合には尚更に上記の問題点は大きくなる。
【0006】
本発明は以上のような従来技術における問題点を考慮して行なわれたものであり、ホスト計算機とプリンタがシリアルバス回線などの周辺バスで接続されたプリンティングシステムにおいて、プリンタの処理するバンドの時間間隔などに応じてリアルタイム的にプリントに必要なデータを高速に送信する機構を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記の目的を達成するため本発明のプリンタシステムは、ホスト計算機と、プリンタ制御部と、プリントエンジンと、ホスト計算機とプリンタ制御部を結ぶパラレルあるいはシリアルバスと、プリンタ制御部とプリントエンジンを結ぶパラレルあるいはシリアルバスからなるプリンタシステムであり、ホスト計算機内部に設けられページ記述言語により記述されるプリントデータをプリント出力における帯状領域であるバンド単位で中間的なデータに変換する変換部と、ホスト計算機内部に設けられバンド単位で中間的なデータをホスト計算機からプリンタ制御部へホスト計算機とプリンタ制御部を結ぶパラレルあるいはシリアルバスを介してデータ転送を行なうDMA転送回路と、ホスト計算機内部に設けられ、プリントエンジンが1バンドに相当する領域を処理するのに要する時間に基づく定数を格納する定数レジスタと、ホスト計算機内部に設けられ、定数レジスタから格納値をロードし、プリントエンジンが1バンドに相当する領域を処理するのに要する時間をカウントし、DMA転送回路を起動するタイマ回路と、プリンタ制御部内に設けられDMA転送回路により転送された中間的なデータをバンド単位でビットマップデータに展開する展開処理回路と、プリンタ制御部内に設けられ展開処理回路が展開したビットマップデータをバンド単位でプリントエンジンにプリンタ制御部とプリントエンジンを結ぶパラレルあるいはシリアルバスを介してプリントエンジンに出力する出力回路とを有することを特徴とする。
【0009】
さらに本発明のプリンタシステムにおけるタイマ回路はプリントエンジンから入力されるページ同期信号によって起動されることを特徴とする。
【0011】
さらに本発明のプリンタシステムにおけるDMA回路はホスト計算機のシステムバス上に設置されることを特徴とする。
【0012】
さらに本発明のプリンタシステムは、バスマスタ転送回路によってバンド単位で中間的なデータをホスト計算機からプリンタ制御部へホスト計算機とプリンタ制御部を結ぶパラレルあるいはシリアルバスを介してデータ転送を行なうように構成している。
【0013】
さらに本発明のプリント制御方法は、ホスト計算機と、プリンタ制御部と、プリントエンジンと、ホスト計算機とプリンタ制御部を結ぶパラレルあるいはシリアルバスと、プリンタ制御部とプリントエンジンを結ぶパラレルあるいはシリアルバスからなるプリンタシステムにおけるプリント制御方法において、ホスト計算機内部において実行されるステップであり、ページ記述言語により記述されるプリントデータをプリント出力における帯状領域であるバンド単位で中間的なデータに変換する変換ステップと、ホスト計算機内部において実行されるステップであり、バンド単位で中間的なデータをホスト計算機からプリンタ制御部へホスト計算機とプリンタ制御部を結ぶパラレルあるいはシリアルバスを介してデータ転送を行なうDMA転送ステップと、ホスト計算機内部のタイマ回路を利用して実行されるステップであり、プリントエンジンが1バンドに相当する領域を処理するのに要する時間に基づく定数を格納する定数レジスタから格納値をロードし、プリントエンジンが1バンドに相当する領域を処理するのに要する時間をタイマ回路によってカウントし、該カウントに基づいて、バンド単位で中間的なデータをホスト計算機からプリンタ制御部へ、パラレルあるいはシリアルバスを介してデータ転送を行なうDMA転送ステップのタイミングを決定するステップと、プリンタ制御部内において実行されるステップであり、DMA転送回路により転送された中間的なデータをバンド単位でビットマップデータに展開する展開処理ステップと、プリンタ制御部内において実行されるステップであり、展開処理ステップにおいて展開されたビットマップデータをバンド単位でプリントエンジンにプリンタ制御部とプリントエンジンを結ぶパラレルあるいはシリアルバスを介してプリントエンジンに出力する出力ステップとを有することを特徴とする。
【0015】
【発明の実施の形態】
以下、本発明のプリンタシステム及びプリント制御方法の詳細について実施例に基づいて説明する。
【0016】
[実施例1]
図1は本発明のプリンタシステムの実施例における主要構成要素を示す図である。図1の(a)は、ホスト計算機のブロック図である。1はプロセッサ、2はキャッシュメモリ、3はバス制御回路、4はメインメモリ、5はホストバス、6はシステムバス、7は周辺バス制御回路、8はシリアルバス出力バッファ、9はハードディスク装置、10はEthernet I/Fコネクタ、11はシリアルバスコネクタ、12は高速転送制御部、13は転送制御回路A、14はDMA回路、15はタイマ回路である。また、図1の(b)はカラープリンタのブロック図である。16はシリアルバスコネクタ、17はプリンタ制御部、18はバスI/F回路、19は転送制御回路B、20は展開処理回路、21は出力回路、22はプリントエンジンである。
【0017】
本実施例におけるホスト計算機はIBM互換PCシステムであり、プロセッサ1はIntel社Pentium互換プロセッサである。またシステムバス6は、PCIバスである。ホスト計算機は、プロセッサ1、キャッシュメモリ2、バス制御回路3、メインメモリ4、ホストバス5、システムバス6、周辺バス制御回路7、ハードディスク装置9、Ethernet I/Fコネクタ10などの計算機資源を用いて、ネットワークを介して送られるプリントジョブをスプールし、プリントジョブを受け付ける。
【0018】
さらに、図1(a)に示すホスト計算機は、図2に示されるような複数の処理からなるソフトウエア処理によって、受け付けたプリントジョブを構成する個々のページをプリンタに送信する中間データに展開して、メインメモリ4及びハードディスク装置9上の領域に格納する。この過程においてもホスト計算機は上であげた計算機資源を有効利用する。
【0019】
図2に示す各種処理について説明する。図2において、100はスプール部、101は言語解釈部、102は描画処理部、103はバンド分割部、104は転送処理部である。スプール部100はプリントジョブをスプールし言語解釈部101に出力する。言語解釈部102は、入力されたページ記述言語を解釈して文字・図形・画像に対応する描画命令に分解する。描画処理部102は、描画命令を入力して実行し、プリンタに送信する中間データを生成する。バンド分解部103は、ページを構成するバンド毎に中間データの順番を並べ変えて、バンド毎に中間データを管理する。ここで、バンドは主走査方向に対して90度の角度をなす直線によってページを細長いストリップ状の複数の領域に分割したものである。転送処理部104は、バンド毎に管理される中間データをプリンタへ送出する処理を受け持つ。
【0020】
図3は、ホスト計算機のメインメモリ4上に展開される中間データの格納されている状況を模式的に表した図である。現在プリント処理中のページのバンド1の中間データは、メインメモリ4のアドレスAからアドレスBまでの領域に格納されている。また、同様にバンド2の中間データは、メインメモリ4のアドレスBからアドレスCまでの領域に格納されている。以下、同様に番号順にバンドの中間データが格納され、最後に最大のバンドNの中間データがメインメモリ4のアドレスYからアドレスZまでの領域に格納される。
【0021】
メインメモリ4のアドレス管理はホスト計算機により行なわれるが、図3のアドレスは物理アドレスを示すものとする。転送処理部104は、図3に示されるメインメモリ4に格納された中間データをプリンタ制御部17に転送するが、これはハードウエアの構成及び動作から説明すると以下のようになる。転送処理部104は、プロセッサ1上のソフトウエアとして動作し、データ転送はプロセッサ上のレジスタ及び1次キャッシュメモリ、2次キャッシュメモリ2、メインメモリ4、ハードディスク装置9などから構成されるメモリシステムからホストバス、バス制御回路3、システムバス6、周辺バス制御回路7、シリアルバス出力バッファ8、シリアルバスコネクタ11、高速転送制御部12などの転送制御手段を経て、プリンタ制御部17に中間データを転送する。
【0022】
このときプロセッサ1は、高速転送制御部12を用いて、メインメモリ4上の中間データをシリアルバス出力バッファ8にDMA転送する。プロセッサ1がソフトウエア的な手段に頼らずに、高速転送制御部12を用いる目的は、ホスト計算機上においてプリント制御部17が係わるバンド処理時間単位で転送を行なうこと、及びDMA転送によってバンド幅の保証された高速転送を行ない同時にプロセッサ1から転送処理を開放することにある。
【0023】
以下では、高速転送制御部12を用いた転送方式をさらに詳しく説明する。転送制御部104は、図3に示されるバンド分割された中間データをプリンタ制御部17に転送するが、これはハードウエアの構成及び動作から説明すると以下のようになる。
【0024】
転送制御部104は、プロセッサ1上のソフトウエアとして動作し、データ転送はプロセッサ上のレジスタ及び1次キャッシュメモリ、2次キャッシュメモリ2、メインメモリ4、ハードディスク装置9などから構成されるメモリシステムからホストバス5、バス制御回路3、システムバス6、周辺バス制御回路7、シリアルバス出力バッファ8、シリアルバスコネクタ11、高速転送制御部12などの転送制御手段を経て、プリンタ制御部17に中間データを転送する。このときプロセッサ1は、高速転送制御部12を用いて、メインメモリ4上の中間データをシリアルバス出力バッファ8にDMA転送する。プロセッサ1がソフトウエア的な手段に頼らずに、高速転送制御部12を用いる目的は、ホスト計算機上においてプリント制御部17が係わるバンド処理時間単位で転送を行なうこと、及びDMA転送によってバンド幅の保証された高速転送を行ない同時にプロセッサ1から転送処理を開放することにある。
【0025】
以下では、高速転送制御部12を用いた本発明のプリンタシステムにおける転送方式をさらに詳しく説明する。図4は高速転送制御部12の詳細なブロック図である。図4で、131はバンドカウンタ、141はPCIバスI/F回路、142はアドレス発生回路、143はFIFOバッファ、151はタイマカウンタ、152は定数レジスタである。
【0026】
また、図5はアドレス発生回路142の内部ブロック図であり、1421はアドレスレジスタ、1422はアドレスインクリメンタ、1423はデータカウンタである。転送に先立ってプロセッサ1は高速転送制御部にあるレジスタの初期設定を行なう。アドレスレジスタ1421はシリアルバス出力バッファ8のアドレスを設定される。アドレスインクリメンタ1422は、転送する中間データの格納されているメインメモリ上の物理アドレス、例えば図3のアドレスAが設定される。データカウンタ1423には一度に転送する中間データのワード数、例えば図3のアドレスAからアドレスBまでのワード数が設定される。定数レジスタ152にはプリントエンジン22が1バンドに相当する領域をプリントする時間、言い換えればプリンタ制御部17が1バンドに相当する領域のドットデータをプリントエンジン22に出力する時間Tbに相当する時間をカウントするための定数:C(Tb)が設定される。
【0027】
タイマカウンタのカウント周波数をFcoとすると、
Tb=C(Tb)*Fco
の関係が成り立つ。
バンドカウンタ131には、バンド領域の数が設定される。
【0028】
なお、例えばプリント速度の異なる複数のプリンタがホスト計算機に接続され、必要に応じて出力プリンタを選別してプリントを行うような構成においては、個々のプリンタにおけるプリンタ制御部が1バンドに相当する領域のドットデータをプリントエンジンに出力する時間Tbはそれぞれ異なる値となり、従って、定数:C(Tb)もまたプリンタごとに異なる。このようなシステム構成においては、出力プリンタを識別し識別されたプリンタ固有の定数:C(Tb)を定数レジスタ152に設定する。
【0029】
以下、高速転送制御部12の動作について説明する。高速転送制御部12は、PCIバスのマスタ転送モードによりメインメモリ4上にある中間データをFIFOバッファに格納し、さらにFIFOバッファからシリアルバス出力バッファ8へ中間データを転送することにより、中間データをプリンタ制御部に高速転送する。
【0030】
この転送処理のフローを制御するのが転送制御回路A13(図1参照)であり、図6に示すフローチャートにより転送制御を行なう。転送制御回路A13はまず、ホスト計算機によって起動される。これは、PCIバスI/F回路141を介して行なわれる。まず、図6に示すステップS0において最初の2バンド分のデータ、例えば図3に示すようにメイン・メモリにデータが格納されている場合は、バンド1中間データおよびバンド2中間データをプリンタ制御部17に送り、バンドカウンタの値を2減らす。次に、S1において、プリンタ制御部17のステータス情報を調べる。
【0031】
S2において、プリンタエンジン開始ステータスがONになっていればS3へ進み、そうでなければ、すなわちプリンタエンジン開始ステータスがOFFであればS1へ戻る。プリンタエンジン開始ステータスがONであればS3において、タイマカウンタ151に定数レジスタ152の値がロードされる。次にS10において、アドレス発生回路142のアドレスインクリメンタ1422に設定された値をPCIバスインターフェイス回路141を介してPCIバスに出力することにより、1ワード分のデータをメインメモリ4からFIFOバッファ143に転送する。このとき同時にアドレスインクリメンタ1422に設定された値を1増やす。次にS11において、データカウンタ1423の値を1減らす。S12において、データカウンタ1423の保持する値が0かどうかを調べ、値が0であればS14へ飛び、そうでなければS13へ進む。S13において、FIFOバッファ143がFullかどうかを調べ、FullであればS14へ進みそうでなければS10へ戻る。S14において、今度はFIFOバッファ143からシリアルバス出力バッファ8へ1ワード分のデータを転送する。
【0032】
次にS15において、FIFOバッファ143がEmptyかどうかを調べ、EmptyであればS16に進み、そうでなければS14へ戻る。S16において、データカウンタ1423が0であるかどうかを調べ、0であればS17へ進み、そうでなければS10へ戻る。S17において、1バンド分のデータ転送が終了したので、バンドカウンタ131の値を1減らす。S18において、バンドカウンタ131の値を調べ、0であれば終了し、そうでなければS19へ進む。S19において、タイマカウンタ151が0であるかを調べ、0であればS3に戻り、そうでなければもう一度S19を実行する。以上が、高速転送制御部12が実行する制御フローである。
【0033】
一方、ホストPC側からのデータ転送を受信するプリンタ制御部17側においては、バスI/F回路18がシリアルバス上の転送プロトコルをモニターし、送られたデータを予め定められた手順に従って内部に取り込み、さらに転送制御回路19に受信したデータを送る。
【0034】
転送制御回路19は送られたデータをバッファに取り込んで、展開処理回路20に出力し、展開処理回路20は入力される中間データを展開して出力バッファに蓄える。出力回路21は、出力バッファに書き込まれたデータをプリントエンジンに22に出力する。この過程を図7によりさらに詳しく説明する。図7において、190は制御レジスタ及び制御部、191は入力バッファA、192は入力バッファB、200は展開処理部、201は出力バッファA、202は出力バッファBである。
【0035】
以下に転送制御回路B19及び展開処理回路20の詳細な構成を引用して動作を説明する。まず、制御レジスタ及び制御部190は、ホストPCからプリント開始命令を入力する。次に、入力バッファA191及び入力バッファB192は、最初の2つのバンドに対応する中間データを、順次バスI/F回路から入力する。入力バッファA191は格納した最初のバンドに対応する中間データを展開処理部200に送る。展開処理部200では、入力した中間データをビットマップデータに展開して出力バッファA201に格納する。
【0036】
展開処理部200において入力バッファA191の中間データの展開処理が終ると、制御レジスタ及び制御部190は、エンジン起動信号をプリントエンジン22へ送る。ここで、制御レジスタ及び制御部190はプリントエンジン22から、プリント動作開始信号が返ってくるのを待つ。プリント動作開始信号が返ってきたら、転送制御回路B19及び展開処理回路20は定常的な動作モードに入る。
【0037】
定常的な動作モードにおいては、転送制御回路B19及び展開処理回路20は、1つのバンドの処理に対して割り当てられる時間Tbを基準として基本動作サイクルを繰り返す。基本サイクルにおいては、入力バッファA191あるいは入力バッファB192のいずれか一方が、バスI/F回路18から1バンド分の中間データを入力し格納する。また、バスI/F回路18から中間データを入力していない方の入力バッファは、既に、その前のサイクルにおいて中間データを格納し終えているので、展開処理部200へ格納している中間データを出力する。また、展開処理部200は展開したビットマップデータを出力バッファA201あるいは出力バッファB202のいずれかに格納する。展開処理部200からの出力を格納していない方の出力バッファは、その前のサイクルでビットマップデータを格納し終えており、出力回路21に対して格納済みのデータを出力している。1つのTbが終了して次のTbが始まると、入力バッファA/B及び出力バッファA/Bの関係は逆転して、上で説明したものと反対の動作をする。このような動作を繰り返して最後の出力データを出力回路18に出力し終えると、制御レジスタ及び制御部190はプリントエンジン部22からエンジンプリント動作終了信号を入力する。
【0038】
図8は、制御レジスタ及び制御部19中の制御ビットの値の遷移を表した図である。制御ビットは、図8に示すように、Print,Engine Start,Idleの3ビットからなり、それぞれの値が1において、プリント中、プリントエンジン動作中、プリント動作アイドル中を表す。まず、図8(I)の状態においては、プリンタが動作しておらずアイドル状態にあり、Idleビットのみがアクティブでその他のビットはインアクティブである。ここで、ホストPCからプリント動作命令が入力されると、(II)の状態に遷移し、Printビットがアクティブになり、Idleビットはインアクティブになる。この状態において、制御レジスタ及び制御部190は、プリントエンジン22にエンジン起動信号を発信し、プリントエンジン22からエンジン動作開始信号を受信する。すると、(III)の状態に遷移し、プリントエンジン22が動作中であることを示すEngine Startビットがアクティブに変化する。最後に、エンジンプリント動作終了信号が入力されると、(IV)の状態に遷移し、Printビット及びEngine Startビットはインアクティブになり、Idleビットがアクティブに変化する。
【0039】
以上の動作のタイミングチャートを図9に示す。まず初期状態において制御ビットは(0,0,1)であり、アイドル状態である。プリント開始命令があると、制御ビットは(1,0,0)となるとともに、2バンド分のデータが順次転送される。その後、バンド毎の展開処理が実行され、プリントエンジンが起動信号が出力され、実際のプリント動作が開始する。プリント動作が開始すると、制御ビットは(1,1,0)となり、図9に示すように中間データの入力、入力中間データの展開処理、展開処理の終了した出力処理の3つの処理が並行して実行される。
【0040】
出力処理においては、前述のように1バンド毎に処理時間Tbを要するため、各処理はすべて時間Tbごとに後れを発生することなく進行することが必要となる。なお、転送処理、展開処理は、時間Tbと同一の時間を要することは必要でなく、時間Tb以内に終了していればよい。出力処理の終了時は、図9の下段に示すように処理対象の最終バンドの中間データ転送処理がまず終了し、その次のTbサイクルでその最終バンドの展開処理が実行され、つらに次のTbサイクルで出力処理が実行され、全体のプリント処理が終了する。プリント処理が終了すると制御ビットは(0,0,1)に変更する。
【0041】
尚、DMA回路14は、バスマスタモードによってPCIバス6あるいはシステムバスを制御可能なものであれば、CPU、シーケンサ、ステートマシンのいづれを代用しても良い。例えばCPU制御によるデータ転送制御を実行するバスマスタ転送回路によって上述のホスト計算機とプリンタ制御部間のデータ転送を制御してもよい。
【0042】
また、上記の説明においては、タイマカウンタがホスト計算機上に設置されていたが、これはプリンタ制御部上に設置されていても何ら問題はない。特に、IEEE1394においてサポートされるIsochronousデータ転送をサポートするためのサイクルタイマで代用しても良い。また、DMA回路14は、複数のDMA回路からなるマルチチャネル型のDMA回路であっても良い。また、複数のDMA回路をデイジーチェーン的につなげて用いても良い。
【0043】
【発明の効果】
以上で説明したように本発明によれば、ホスト計算機、プリンタ、及びホスト計算機とプリンタを結ぶパラレルあるいはシリアルバスからなるプリンタシステムにおいて、プリンタのバンド情報に基づいてホスト計算機からプリンタへデータ転送を行なうように起動されるDMA転送回路あるいはバスマスタ回路を有することとしたことにより、プリンタの処理するバンドの時間間隔などに応じてリアルタイム的にプリントに必要なデータを高速に送信することができるという効果がある。また、DMA転送回路を起動するタイマ回路を有し、該タイマ回路は予め定められたバンド処理時間をカウントすることとしたことにより、バンド時間間隔毎にDMA転送を開始できるという効果がある。
【0044】
また、タイマ回路はプリントエンジンから入力されるページ同期信号によって起動されることとしたことにより、DMA転送がプリントエンジンに正確に同期して行なえるという効果が有る。また、DMA転送回路はホスト計算機のシステムバス上に設することとしたことにより、DMA転送回路がホスト計算機システムのメインメモリに直接アクセスできるという効果がある。
【0045】
また、複数のDMA回路をデイジーチェーン的につないで動作させることによって転送を行なった場合には、メインメモリ4において転送するデータ領域が非連続的になった場合でもDMA転送を中断することなく効率的かつ高速にDMA転送が行なえるという効果がある。
【図面の簡単な説明】
【図1】 本発明のプリントシステムの実施例における主要構成を示す図である。
【図2】 本発明のプリントシステムのホスト計算機上のデコンポーズソフトウェアの構成を示す図である。
【図3】 本発明のプリントシステムの仮想メモリ空間上に展開される中間データのバンド構成を示す図である。
【図4】 本発明のプリントシステムにおけるDMA回路の内部構成を説明する図である。
【図5】 本発明のプリントシステムにおけるタイマ回路の内部構成を説明する図である。
【図6】 本発明のプリントシステムにおける転送制御回路Aの実行する制御フローを説明するフローチャートである。
【図7】 本発明のプリントシステムにおける転送制御回路B及び展開処理回路の内部構成を説明する図である。
【図8】 本発明のプリントシステムにおける制御ビットの状態遷移を説明する図である。
【図9】 本発明のプリントシステムにおけるプリント制御部の動作を示すタイミングチャートである。
【符号の説明】
1 プロセッサ
2 キャッシュメモリ
3 バス制御回路
4 メインメモリ
5 ホストバス
6 PCIバス
7 周辺バス制御回路
8 出力バッファ
9 ハードディスク装置
10 Ethernet I/Fコネクタ
11 シリアルバスコネクタ
12 高速転送制御部
13 転送制御回路A
14 DMA回路
15 タイマ回路
16 シリアルバスコネクタ
17 プリンタ制御部
18 バスI/F回路
19 転送制御回路B
20 展開処理回路
21 出力回路
22 プリントエンジン
100 スプール部
101 言語解釈部
102 描画処理部
103 バンド分割部
104 転送処理部
105 中間データ
131 バンドカウンタ
141 PCIバスI/F回路
142 アドレス発生回路
143 FIFOバッファ
144 内部バス
151 タイマカウンタ
152 定数レジスタ
190 制御レジスタ及び制御部
191 入力バッファA
192 入力バッファB
200 展開処理部
201 出力バッファA
202 出力バッファB
1421 アドレスレジスタ
1422 アドレスインクリメンタ
1423 データカウンタ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a printing system in which a host computer and a printer are connected by a peripheral bus such as a serial bus line. In particular, in a printing system in which a host computer and printer are connected by a peripheral bus such as a serial bus line, a mechanism is provided for transmitting data necessary for printing in real time according to the time interval of the band processed by the printer. The present invention relates to a printer system and a print control method that are capable of printing.
[0002]
[Prior art]
In recent printing systems, particularly color printing systems, the amount of data handled is increasing due to improvements in resolution of 600 dpi × 600 dpi or more. In order to meet the demand for system cost reduction, high-resolution color printers have taken measures to reduce memory by dividing the band and compressing and storing the decompressed data of each band. Also, there is a technology that aims to improve the processing performance at the same time by effectively using the host computer resources by taking over the part of the decomposing process that develops the page description language such as PDF and PostScript on the host computer connected to the printer. ing.
[0003]
However, in such a conventional printer system, since it is necessary to send intermediate data to the printer that is larger than the data size of the print data in the conventional page description language, that is, a part of the decomposing process is completed, the host computer and the printer The load of bus transfer connecting In addition, it is necessary to manage transfer processing for each band, which is a smaller unit than a page.
[0004]
[Problems to be solved by the invention]
Therefore, in a system using the above-described technology, conventionally, when transferring data between a host computer and a printer via a bus interface provided on the host computer, high-speed data at a small time interval as required. There was a problem that transfer performance could not be obtained. This is because communication between a host computer and a peripheral device such as a printer is managed by software called a device driver operating on the host in a bus such as an IEEE 1394 high-speed serial data bus or a USB (Universal Serial Bus) assumed here. This is because that.
[0005]
In addition, the above problem is further serious when the host computer OS is an OS that does not guarantee real-time performance, such as Windows 95 (Microsoft trademark) or Windows NT (Microsoft trademark) operating on an IBM compatible machine. Become.
[0006]
The present invention has been made in consideration of the above-described problems in the prior art. In a printing system in which a host computer and a printer are connected by a peripheral bus such as a serial bus line, the time of a band processed by the printer is obtained. An object of the present invention is to provide a mechanism for transmitting data necessary for printing at high speed in real time according to an interval or the like.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, a printer system according to the present invention includes a host computer, a printer controller, a print engine, a parallel connecting the host computer and the printer controller, or a serial bus, and a parallel connecting the printer controller and the print engine. Alternatively, a printer system including a serial bus, a conversion unit that is provided in the host computer and converts print data described in a page description language into intermediate data in units of bands that are band-like areas in print output, and the host computer A DMA transfer circuit for transferring intermediate data in band units from the host computer to the printer control unit via a parallel or serial bus connecting the host computer and the printer control unit; A constant register that is provided inside the host computer and that stores constants based on the time required for the print engine to process an area corresponding to one band, and a storage value that is provided inside the host computer and loads the stored value from the constant register and prints A timer circuit that counts the time required for the engine to process an area corresponding to one band and activates the DMA transfer circuit; An expansion processing circuit that expands intermediate data transferred by the DMA transfer circuit provided in the printer control unit into bitmap data in band units, and bitmap data that is provided in the printer control unit and expanded by the expansion processing circuit in band units The print engine has an output circuit for outputting to the print engine via a parallel or serial bus connecting the printer control unit and the print engine.
[0009]
Further, the timer circuit in the printer system of the present invention is activated by a page synchronization signal input from the print engine.
[0011]
Further, the DMA circuit in the printer system according to the present invention is installed on the system bus of the host computer.
[0012]
Furthermore, the printer system of the present invention is configured such that intermediate data in band units is transferred from the host computer to the printer controller by the bus master transfer circuit via a parallel or serial bus connecting the host computer and the printer controller. ing.
[0013]
The print control method of the present invention further comprises a host computer, a printer control unit, a print engine, a parallel or serial bus connecting the host computer and the printer control unit, and a parallel or serial bus connecting the printer control unit and the print engine. In the print control method in the printer system, a conversion step that is executed inside the host computer and converts print data described in a page description language into intermediate data in units of bands that are band-like areas in print output; This is a step executed inside the host computer, and it is a DMA transfer that transfers intermediate data in band units from the host computer to the printer controller via a parallel or serial bus connecting the host computer and printer controller. And the step, A step that is executed using a timer circuit inside the host computer, and the print engine loads a stored value from a constant register that stores a constant based on the time required for the print engine to process an area corresponding to one band. The timer circuit counts the time required to process the area corresponding to one band, and based on the count, intermediate data is transferred from the host computer to the printer controller via the parallel or serial bus. Determining the timing of a DMA transfer step for performing data transfer; The steps executed in the printer control unit are a development processing step for developing intermediate data transferred by the DMA transfer circuit into bitmap data in band units, and a step executed in the printer control unit. An output step of outputting the bitmap data developed in the step to the print engine in a band unit to the print engine via a parallel or serial bus connecting the printer control unit and the print engine to the print engine.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Details of the printer system and the print control method of the present invention will be described below based on embodiments.
[0016]
[Example 1]
FIG. 1 is a diagram showing main components in an embodiment of a printer system of the present invention. FIG. 1A is a block diagram of the host computer. 1 is a processor, 2 is a cache memory, 3 is a bus control circuit, 4 is a main memory, 5 is a host bus, 6 is a system bus, 7 is a peripheral bus control circuit, 8 is a serial bus output buffer, 9 is a hard disk device, 10 Is an Ethernet I / F connector, 11 is a serial bus connector, 12 is a high-speed transfer control unit, 13 is a transfer control circuit A, 14 is a DMA circuit, and 15 is a timer circuit. FIG. 1B is a block diagram of the color printer. Reference numeral 16 denotes a serial bus connector, 17 denotes a printer control unit, 18 denotes a bus I / F circuit, 19 denotes a transfer control circuit B, 20 denotes a development processing circuit, 21 denotes an output circuit, and 22 denotes a print engine.
[0017]
The host computer in this embodiment is an IBM compatible PC system, and the processor 1 is an Intel Pentium compatible processor. The system bus 6 is a PCI bus. The host computer uses computer resources such as the processor 1, the cache memory 2, the bus control circuit 3, the main memory 4, the host bus 5, the system bus 6, the peripheral bus control circuit 7, the hard disk device 9, and the Ethernet I / F connector 10. Then, the print job sent via the network is spooled and the print job is accepted.
[0018]
Further, the host computer shown in FIG. 1A develops individual pages constituting the received print job into intermediate data to be transmitted to the printer by software processing including a plurality of processes as shown in FIG. And stored in areas on the main memory 4 and the hard disk device 9. Even in this process, the host computer makes effective use of the computer resources listed above.
[0019]
Various processes shown in FIG. 2 will be described. In FIG. 2, 100 is a spool unit, 101 is a language interpretation unit, 102 is a drawing processing unit, 103 is a band dividing unit, and 104 is a transfer processing unit. The spool unit 100 spools the print job and outputs it to the language interpretation unit 101. The language interpretation unit 102 interprets the input page description language and breaks it down into drawing commands corresponding to characters, figures, and images. The drawing processing unit 102 inputs and executes a drawing command, and generates intermediate data to be transmitted to the printer. The band decomposition unit 103 manages the intermediate data for each band by rearranging the order of the intermediate data for each band constituting the page. Here, the band is obtained by dividing a page into a plurality of strip-like regions by a straight line having an angle of 90 degrees with respect to the main scanning direction. The transfer processing unit 104 is responsible for processing to send intermediate data managed for each band to the printer.
[0020]
FIG. 3 is a diagram schematically showing a state in which intermediate data developed on the main memory 4 of the host computer is stored. The intermediate data of band 1 of the page currently being printed is stored in the area from address A to address B of the main memory 4. Similarly, the intermediate data of band 2 is stored in an area from address B to address C of the main memory 4. Thereafter, similarly, the intermediate data of the band is stored in the order of numbers, and finally the intermediate data of the maximum band N is stored in the area from the address Y to the address Z of the main memory 4.
[0021]
Address management of the main memory 4 is performed by the host computer, but the address in FIG. 3 indicates a physical address. The transfer processing unit 104 transfers the intermediate data stored in the main memory 4 shown in FIG. 3 to the printer control unit 17, which will be described below from the hardware configuration and operation. The transfer processing unit 104 operates as software on the processor 1, and data transfer is performed from a memory system including a register on the processor, a primary cache memory, a secondary cache memory 2, a main memory 4, and a hard disk device 9. Intermediate data is transferred to the printer control unit 17 via transfer control means such as a host bus, bus control circuit 3, system bus 6, peripheral bus control circuit 7, serial bus output buffer 8, serial bus connector 11, and high-speed transfer control unit 12. Forward.
[0022]
At this time, the processor 1 DMA-transfers intermediate data on the main memory 4 to the serial bus output buffer 8 using the high-speed transfer control unit 12. The purpose of using the high-speed transfer control unit 12 without the processor 1 relying on software means is that the print control unit 17 performs transfer in units of band processing time on the host computer, and that the bandwidth is reduced by DMA transfer. The guaranteed high-speed transfer is performed and the transfer processing is released from the processor 1 at the same time.
[0023]
Hereinafter, the transfer method using the high-speed transfer control unit 12 will be described in more detail. The transfer control unit 104 transfers the band-divided intermediate data shown in FIG. 3 to the printer control unit 17, which will be described below from the hardware configuration and operation.
[0024]
The transfer control unit 104 operates as software on the processor 1, and data transfer is performed from a memory system including a register on the processor, a primary cache memory, a secondary cache memory 2, a main memory 4, and a hard disk device 9. Intermediate data is transferred to the printer control unit 17 via transfer control means such as the host bus 5, bus control circuit 3, system bus 6, peripheral bus control circuit 7, serial bus output buffer 8, serial bus connector 11, and high-speed transfer control unit 12. Forward. At this time, the processor 1 DMA-transfers intermediate data on the main memory 4 to the serial bus output buffer 8 using the high-speed transfer control unit 12. The purpose of using the high-speed transfer control unit 12 without the processor 1 relying on software means is that the print control unit 17 performs transfer in units of band processing time on the host computer, and that the bandwidth is reduced by DMA transfer. The guaranteed high-speed transfer is performed and the transfer processing is released from the processor 1 at the same time.
[0025]
Hereinafter, the transfer method in the printer system of the present invention using the high-speed transfer control unit 12 will be described in more detail. FIG. 4 is a detailed block diagram of the high-speed transfer control unit 12. In FIG. 4, 131 is a band counter, 141 is a PCI bus I / F circuit, 142 is an address generation circuit, 143 is a FIFO buffer, 151 is a timer counter, and 152 is a constant register.
[0026]
FIG. 5 is an internal block diagram of the address generation circuit 142, where 1421 is an address register, 1422 is an address incrementer, and 1423 is a data counter. Prior to the transfer, the processor 1 initializes a register in the high-speed transfer control unit. Address register 1421 is set with the address of serial bus output buffer 8. The address incrementer 1422 is set with a physical address on the main memory in which intermediate data to be transferred is stored, for example, the address A in FIG. In the data counter 1423, the number of words of intermediate data transferred at a time, for example, the number of words from address A to address B in FIG. In the constant register 152, the time for the print engine 22 to print an area corresponding to one band, in other words, the time corresponding to the time Tb for the printer controller 17 to output dot data in the area corresponding to one band to the print engine 22 is displayed. A constant for counting: C (Tb) is set.
[0027]
If the count frequency of the timer counter is Fco,
Tb = C (Tb) * Fco
The relationship holds.
In the band counter 131, the number of band areas is set.
[0028]
For example, in a configuration in which a plurality of printers having different printing speeds are connected to a host computer and an output printer is selected as necessary and printing is performed, the printer control unit in each printer has an area corresponding to one band. The time Tb for outputting the dot data to the print engine has a different value, and therefore the constant: C (Tb) also differs for each printer. In such a system configuration, the output printer is identified, and the identified printer-specific constant: C (Tb) is set in the constant register 152.
[0029]
Hereinafter, the operation of the high-speed transfer control unit 12 will be described. The high-speed transfer control unit 12 stores the intermediate data on the main memory 4 in the FIFO buffer according to the master transfer mode of the PCI bus, and further transfers the intermediate data from the FIFO buffer to the serial bus output buffer 8 to transfer the intermediate data. Transfer to the printer controller at high speed.
[0030]
The transfer control circuit A13 (see FIG. 1) controls the flow of this transfer process, and performs transfer control according to the flowchart shown in FIG. The transfer control circuit A13 is first activated by the host computer. This is performed via the PCI bus I / F circuit 141. First, when data for the first two bands in step S0 shown in FIG. 6, for example, data is stored in the main memory as shown in FIG. 3, the band 1 intermediate data and the band 2 intermediate data are transferred to the printer control unit. The value of the band counter is decreased by 2. Next, in S1, status information of the printer control unit 17 is checked.
[0031]
In S2, if the printer engine start status is ON, the process proceeds to S3. If not, that is, if the printer engine start status is OFF, the process returns to S1. If the printer engine start status is ON, the value of the constant register 152 is loaded into the timer counter 151 in S3. Next, in S10, the value set in the address incrementer 1422 of the address generation circuit 142 is output to the PCI bus via the PCI bus interface circuit 141, whereby one word of data is transferred from the main memory 4 to the FIFO buffer 143. Forward. At the same time, the value set in the address incrementer 1422 is incremented by one. Next, in S11, the value of the data counter 1423 is decremented by one. In S12, it is checked whether or not the value held by the data counter 1423 is 0. If the value is 0, the process jumps to S14, and if not, the process proceeds to S13. In S13, it is checked whether or not the FIFO buffer 143 is Full. If Full, the process proceeds to S14. If not, the process returns to S10. In S14, data for one word is transferred from the FIFO buffer 143 to the serial bus output buffer 8 this time.
[0032]
Next, in S15, it is checked whether or not the FIFO buffer 143 is Empty. If it is Empty, the process proceeds to S16, and if not, the process returns to S14. In S16, it is checked whether or not the data counter 1423 is 0. If 0, the process proceeds to S17, and if not, the process returns to S10. In S17, since the data transfer for one band is completed, the value of the band counter 131 is decreased by one. In S18, the value of the band counter 131 is checked. If it is 0, the process ends. If not, the process proceeds to S19. In S19, it is checked whether the timer counter 151 is 0. If it is 0, the process returns to S3, and if not, S19 is executed again. The control flow executed by the high-speed transfer control unit 12 has been described above.
[0033]
On the other hand, on the printer control unit 17 side that receives data transfer from the host PC side, the bus I / F circuit 18 monitors the transfer protocol on the serial bus, and sends the sent data to the inside according to a predetermined procedure. Further, the received data is sent to the transfer control circuit 19.
[0034]
The transfer control circuit 19 takes the sent data into the buffer and outputs it to the decompression processing circuit 20, and the decompression processing circuit 20 decompresses the input intermediate data and stores it in the output buffer. The output circuit 21 outputs the data written in the output buffer to the print engine 22. This process will be described in more detail with reference to FIG. In FIG. 7, 190 is a control register and control unit, 191 is an input buffer A, 192 is an input buffer B, 200 is a development processing unit, 201 is an output buffer A, and 202 is an output buffer B.
[0035]
The operation will be described below with reference to detailed configurations of the transfer control circuit B19 and the expansion processing circuit 20. First, the control register and control unit 190 inputs a print start command from the host PC. Next, the input buffer A 191 and the input buffer B 192 sequentially input intermediate data corresponding to the first two bands from the bus I / F circuit. The input buffer A 191 sends intermediate data corresponding to the stored first band to the expansion processing unit 200. In the expansion processing unit 200, the input intermediate data is expanded into bitmap data and stored in the output buffer A201.
[0036]
When the expansion processing unit 200 finishes the expansion processing of the intermediate data in the input buffer A 191, the control register and control unit 190 sends an engine start signal to the print engine 22. Here, the control register and control unit 190 waits for a print operation start signal to be returned from the print engine 22. When the print operation start signal is returned, the transfer control circuit B19 and the expansion processing circuit 20 enter a steady operation mode.
[0037]
In the steady operation mode, the transfer control circuit B19 and the expansion processing circuit 20 repeat the basic operation cycle based on the time Tb allocated for the processing of one band. In the basic cycle, either the input buffer A 191 or the input buffer B 192 inputs and stores intermediate data for one band from the bus I / F circuit 18. Further, since the input buffer to which the intermediate data is not input from the bus I / F circuit 18 has already stored the intermediate data in the previous cycle, the intermediate data stored in the expansion processing unit 200 is already stored. Is output. The expansion processing unit 200 stores the expanded bitmap data in either the output buffer A 201 or the output buffer B 202. The output buffer that does not store the output from the expansion processing unit 200 has finished storing the bitmap data in the previous cycle, and outputs the stored data to the output circuit 21. When one Tb is finished and the next Tb is started, the relationship between the input buffer A / B and the output buffer A / B is reversed to perform the operation opposite to that described above. When such operation is repeated and the last output data is output to the output circuit 18, the control register and control unit 190 inputs an engine print operation end signal from the print engine unit 22.
[0038]
FIG. 8 is a diagram showing the transition of the value of the control bit in the control register and control unit 19. As shown in FIG. 8, the control bit is composed of three bits of Print, Engine Start, and Idle, and each value is 1, indicating printing, print engine operation, and print operation idle. First, in the state of FIG. 8I, the printer is not operating and is in an idle state, only the Idle bit is active, and the other bits are inactive. Here, when a print operation command is input from the host PC, the state transits to the state (II), the Print bit becomes active, and the Idle bit becomes inactive. In this state, the control register and control unit 190 transmits an engine start signal to the print engine 22 and receives an engine operation start signal from the print engine 22. Then, the state transits to the state of (III), and the Engine Start bit indicating that the print engine 22 is operating changes to active. Finally, when the engine print operation end signal is inputted, the state transits to the state (IV), the Print bit and the Engine Start bit become inactive, and the Idle bit changes to active.
[0039]
A timing chart of the above operation is shown in FIG. First, in the initial state, the control bits are (0, 0, 1), which is an idle state. When there is a print start command, the control bits become (1, 0, 0), and two bands of data are sequentially transferred. Thereafter, the development process for each band is executed, the print engine outputs a start signal, and the actual printing operation starts. When the printing operation starts, the control bit becomes (1, 1, 0), and the three processes of the intermediate data input, the input intermediate data expansion process, and the output process after the expansion process are completed as shown in FIG. Executed.
[0040]
In the output process, as described above, the processing time Tb is required for each band. Therefore, it is necessary for all the processes to proceed without causing a delay every time Tb. The transfer process and the expansion process do not need to take the same time as the time Tb, and may be completed within the time Tb. At the end of the output process, as shown in the lower part of FIG. 9, the intermediate data transfer process for the final band to be processed is first completed, and the final band development process is executed in the next Tb cycle. The output process is executed in the Tb cycle, and the entire print process is completed. When the printing process is completed, the control bit is changed to (0, 0, 1).
[0041]
As long as the DMA circuit 14 can control the PCI bus 6 or the system bus in the bus master mode, any of a CPU, a sequencer, and a state machine may be used instead. For example, data transfer between the host computer and the printer control unit may be controlled by a bus master transfer circuit that executes data transfer control by CPU control.
[0042]
In the above description, the timer counter is installed on the host computer, but there is no problem even if it is installed on the printer control unit. In particular, a cycle timer for supporting isochronous data transfer supported in IEEE 1394 may be substituted. Further, the DMA circuit 14 may be a multi-channel type DMA circuit including a plurality of DMA circuits. A plurality of DMA circuits may be connected in a daisy chain.
[0043]
【The invention's effect】
As described above, according to the present invention, in a printer system comprising a host computer, a printer, and a parallel or serial bus connecting the host computer and the printer, data is transferred from the host computer to the printer based on the band information of the printer. By having the DMA transfer circuit or bus master circuit activated as described above, it is possible to transmit data necessary for printing at high speed in real time according to the time interval of the band processed by the printer. is there. Further, since the timer circuit for starting the DMA transfer circuit is included and the timer circuit counts a predetermined band processing time, there is an effect that DMA transfer can be started at every band time interval.
[0044]
Further, since the timer circuit is started by the page synchronization signal input from the print engine, there is an effect that the DMA transfer can be performed accurately in synchronization with the print engine. Further, since the DMA transfer circuit is provided on the system bus of the host computer, the DMA transfer circuit can directly access the main memory of the host computer system.
[0045]
Further, when transfer is performed by connecting a plurality of DMA circuits in a daisy chain and operating, even if a data area to be transferred in the main memory 4 becomes discontinuous, the DMA transfer is not interrupted. There is an effect that DMA transfer can be performed at high speed and at high speed.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a main configuration in an embodiment of a print system according to the present invention.
FIG. 2 is a diagram showing a configuration of decompression software on a host computer of the printing system of the present invention.
FIG. 3 is a diagram showing a band configuration of intermediate data developed in a virtual memory space of the printing system of the present invention.
FIG. 4 is a diagram illustrating an internal configuration of a DMA circuit in the print system of the present invention.
FIG. 5 is a diagram illustrating an internal configuration of a timer circuit in the print system of the present invention.
FIG. 6 is a flowchart illustrating a control flow executed by a transfer control circuit A in the print system of the present invention.
FIG. 7 is a diagram illustrating an internal configuration of a transfer control circuit B and a development processing circuit in the print system of the present invention.
FIG. 8 is a diagram illustrating state transitions of control bits in the print system of the present invention.
FIG. 9 is a timing chart illustrating an operation of a print control unit in the print system of the present invention.
[Explanation of symbols]
1 processor
2 Cache memory
3 Bus control circuit
4 Main memory
5 Host bus
6 PCI bus
7 Peripheral bus control circuit
8 Output buffer
9 Hard disk device
10 Ethernet I / F connector
11 Serial bus connector
12 High-speed transfer controller
13 Transfer control circuit A
14 DMA circuit
15 Timer circuit
16 Serial bus connector
17 Printer control unit
18 Bus I / F circuit
19 Transfer control circuit B
20 Development processing circuit
21 Output circuit
22 Print Engine
100 spool part
101 Language interpretation part
102 Drawing processing unit
103 Band division part
104 Transfer processing unit
105 Intermediate data
131 band counter
141 PCI bus I / F circuit
142 Address generation circuit
143 FIFO buffer
144 Internal bus
151 Timer counter
152 Constant register
190 Control register and control unit
191 Input buffer A
192 Input buffer B
200 Deployment processing unit
201 Output buffer A
202 Output buffer B
1421 Address register
1422 Address incrementer
1423 Data counter

Claims (7)

ホスト計算機と、プリンタ制御部と、プリントエンジンと、前記ホスト計算機と前記プリンタ制御部を結ぶパラレルあるいはシリアルバスと、前記プリンタ制御部とプリントエンジンを結ぶパラレルあるいはシリアルバスからなるプリンタシステムにおいて、
前記ホスト計算機内部に設けられページ記述言語により記述されるプリントデータをプリント出力における帯状領域であるバンド単位で中間的なデータに変換する変換部と、
前記ホスト計算機内部に設けられ前記バンド単位で前記中間的なデータを前記ホスト計算機から前記プリンタ制御部へ前記ホスト計算機と前記プリンタ制御部を結ぶ前記パラレルあるいはシリアルバスを介してデータ転送を行なうDMA転送回路と、
前記ホスト計算機内部に設けられ、前記プリントエンジンが1バンドに相当する領域を処理するのに要する時間に基づく定数を格納する定数レジスタと、
前記ホスト計算機内部に設けられ、前記定数レジスタから格納値をロードし、前記プリントエンジンが1バンドに相当する領域を処理するのに要する時間をカウントし、前記DMA転送回路を起動するタイマ回路と、
前記プリンタ制御部内に設けられ前記DMA転送回路により転送された前記中間的なデータを前記バンド単位でビットマップデータに展開する展開処理回路と、
前記プリンタ制御部内に設けられ前記展開処理回路が展開した前記ビットマップデータを前記バンド単位で前記プリントエンジンに前記プリンタ制御部と前記プリントエンジンを結ぶ前記パラレルあるいはシリアルバスを介して前記プリントエンジンに出力する出力回路と、
を有することを特徴とするプリンタシステム。
In a printer system comprising a host computer, a printer control unit, a print engine, a parallel or serial bus connecting the host computer and the printer control unit, and a parallel or serial bus connecting the printer control unit and the print engine,
A conversion unit that converts print data provided in the host computer and described in a page description language into intermediate data in band units that are band-like regions in print output;
DMA transfer provided in the host computer for transferring the intermediate data in units of bands from the host computer to the printer controller via the parallel or serial bus connecting the host computer and the printer controller. Circuit,
A constant register that is provided inside the host computer and stores a constant based on the time required for the print engine to process an area corresponding to one band;
A timer circuit that is provided inside the host computer, loads a stored value from the constant register, counts the time required for the print engine to process an area corresponding to one band, and activates the DMA transfer circuit;
A development processing circuit provided in the printer control unit for developing the intermediate data transferred by the DMA transfer circuit into bitmap data in units of bands;
The bitmap data provided in the printer control unit and developed by the development processing circuit is output to the print engine in units of bands to the print engine via the parallel or serial bus connecting the printer control unit and the print engine. An output circuit to
A printer system comprising:
前記タイマ回路は前記プリントエンジンから入力されるページ同期信号によって起動されることを特徴とする請求項に記載のプリンタシステム。The printer system according to claim 1 , wherein the timer circuit is activated by a page synchronization signal input from the print engine. 前記DMA転送回路は前記ホスト計算機のシステムバス上に設置されることを特徴とする請求項1に記載のプリンタシステム。  The printer system according to claim 1, wherein the DMA transfer circuit is installed on a system bus of the host computer. ホスト計算機と、プリンタ制御部と、プリントエンジンと、前記ホスト計算機と前記プリンタ制御部を結ぶパラレルあるいはシリアルバスと、前記プリンタ制御部とプリントエンジンを結ぶパラレルあるいはシリアルバスからなるプリンタシステムにおいて、
前記ホスト計算機内部に設けられページ記述言語により記述されるプリントデータをプリント出力における帯状領域であるバンド単位で中間的なデータに変換する変換部と、
前記ホスト計算機内部に設けられ前記バンド単位で前記中間的なデータを前記ホスト計算機から前記プリンタ制御部へ前記ホスト計算機と前記プリンタ制御部を結ぶ前記パラレルあるいはシリアルバスを介してデータ転送を行なうバスマスタ転送回路と、
前記ホスト計算機内部に設けられ、前記プリントエンジンが1バンドに相当する領域を処理するのに要する時間に基づく定数を格納する定数レジスタと、
前記ホスト計算機内部に設けられ、前記定数レジスタから格納値をロードし、前記プリントエンジンが1バンドに相当する領域を処理するのに要する時間をカウントし、前記バスマスタ転送回路を起動するタイマ回路と、
前記プリンタ制御部内に設けられ前記バスマスタ転送回路により転送された前記中間的なデータを前記バンド単位でビットマップデータに展開する展開処理回路と、
前記プリンタ制御部内に設けられ前記展開処理回路が展開した前記ビットマップデータを前記バンド単位で前記プリントエンジンに前記プリンタ制御部と前記プリントエンジンを結ぶ前記パラレルあるいはシリアルバスを介して前記プリントエンジンに出力する出力回路と、
を有することを特徴とするプリンタシステム。
In a printer system comprising a host computer, a printer control unit, a print engine, a parallel or serial bus connecting the host computer and the printer control unit, and a parallel or serial bus connecting the printer control unit and the print engine,
A conversion unit that converts print data provided in the host computer and described in a page description language into intermediate data in band units that are band-like regions in print output;
Bus master transfer provided in the host computer for transferring the intermediate data in the band unit from the host computer to the printer control unit via the parallel or serial bus connecting the host computer and the printer control unit Circuit,
A constant register that is provided inside the host computer and stores a constant based on the time required for the print engine to process an area corresponding to one band;
A timer circuit that is provided inside the host computer, loads a stored value from the constant register, counts the time required for the print engine to process an area corresponding to one band, and activates the bus master transfer circuit;
A development processing circuit provided in the printer control unit for developing the intermediate data transferred by the bus master transfer circuit into bitmap data in units of bands;
The bitmap data provided in the printer control unit and developed by the development processing circuit is output to the print engine in units of bands to the print engine via the parallel or serial bus connecting the printer control unit and the print engine. An output circuit to
A printer system comprising:
前記タイマ回路は前記プリントエンジンから入力されるページ同期信号によって起動されることを特徴とする請求項に記載のプリンタシステム。The printer system according to claim 4 , wherein the timer circuit is activated by a page synchronization signal input from the print engine. 前記バスマスタ回路はホスト計算機のシステムバス上に設置されることを特徴とする請求項に記載のプリンタシステム。The printer system according to claim 4 , wherein the bus master circuit is installed on a system bus of a host computer. ホスト計算機と、プリンタ制御部と、プリントエンジンと、前記ホスト計算機と前記プリンタ制御部を結ぶパラレルあるいはシリアルバスと、前記プリンタ制御部とプリントエンジンを結ぶパラレルあるいはシリアルバスからなるプリンタシステムにおけるプリント制御方法において、
前記ホスト計算機内部において実行されるステップであり、ページ記述言語により記述されるプリントデータをプリント出力における帯状領域であるバンド単位で中間的なデータに変換する変換ステップと、
前記ホスト計算機内部において実行されるステップであり、前記バンド単位で前記中間的なデータを前記ホスト計算機から前記プリンタ制御部へ前記ホスト計算機と前記プリンタ制御部を結ぶ前記パラレルあるいはシリアルバスを介してデータ転送を行なうDMA転送ステップと、
前記ホスト計算機内部のタイマ回路を利用して実行されるステップであり、前記プリントエンジンが1バンドに相当する領域を処理するのに要する時間に基づく定数を格納する定数レジスタから格納値をロードし、前記プリントエンジンが1バンドに相当する領域を処理するのに要する時間を前記タイマ回路によってカウントし、該カウントに基づいて、前記バンド単位で前記中間的なデータを前記ホスト計算機から前記プリンタ制御部へ、前記パラレルあるいはシリアルバスを介してデータ転送を行なうDMA転送ステップのタイミングを決定するステップと、
前記プリンタ制御部内において実行されるステップであり、前記DMA転送ステップにおいて転送された前記中間的なデータを前記バンド単位でビットマップデータに展開する展開処理ステップと、
前記プリンタ制御部内において実行されるステップであり、前記展開処理ステップにおいて展開された前記ビットマップデータを前記バンド単位で前記プリントエンジンに前記プリンタ制御部と前記プリントエンジンを結ぶ前記パラレルあるいはシリアルバスを介して前記プリントエンジンに出力する出力ステップと、
を有することを特徴とするプリント制御方法。
Print control method in printer system comprising host computer, printer control unit, print engine, parallel or serial bus connecting host computer and printer control unit, and parallel or serial bus connecting printer control unit and print engine In
A conversion step that is executed inside the host computer and converts print data described in a page description language into intermediate data in units of bands that are band-like regions in print output;
A step executed in the host computer, wherein the intermediate data in the band unit is transferred from the host computer to the printer controller via the parallel or serial bus connecting the host computer and the printer controller. A DMA transfer step for performing the transfer;
A step executed by using a timer circuit inside the host computer, loading a stored value from a constant register storing a constant based on a time required for the print engine to process an area corresponding to one band; The timer circuit counts the time required for the print engine to process an area corresponding to one band, and based on the count, the intermediate data is transferred from the host computer to the printer controller in units of bands. Determining the timing of a DMA transfer step for transferring data via the parallel or serial bus;
A step of executing in the printer control unit, a step of developing the intermediate data transferred in the DMA transfer step into bitmap data in units of bands;
A step executed in the printer control unit, and the bitmap data developed in the development processing step is connected to the print engine in units of bands via the parallel or serial bus connecting the printer control unit and the print engine. An output step of outputting to the print engine;
A print control method characterized by comprising:
JP25479898A 1998-09-09 1998-09-09 Printer system and print control method Expired - Fee Related JP3700410B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25479898A JP3700410B2 (en) 1998-09-09 1998-09-09 Printer system and print control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25479898A JP3700410B2 (en) 1998-09-09 1998-09-09 Printer system and print control method

Publications (2)

Publication Number Publication Date
JP2000089920A JP2000089920A (en) 2000-03-31
JP3700410B2 true JP3700410B2 (en) 2005-09-28

Family

ID=17270049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25479898A Expired - Fee Related JP3700410B2 (en) 1998-09-09 1998-09-09 Printer system and print control method

Country Status (1)

Country Link
JP (1) JP3700410B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4144240B2 (en) 2002-04-12 2008-09-03 セイコーエプソン株式会社 Control apparatus and control method

Also Published As

Publication number Publication date
JP2000089920A (en) 2000-03-31

Similar Documents

Publication Publication Date Title
JP4543340B2 (en) Image processing apparatus, image forming system, and program
US5671445A (en) Interface for transmitting graphics data to a printer from a host computer system in rasterized form
US8537396B2 (en) Print document conversion apparatus, print document conversion method, and computer readable medium
US5930464A (en) Apparatus for controlling a direct memory access operation in an image processing apparatus
JP3700410B2 (en) Printer system and print control method
JP2000148663A (en) Dma device and image forming device using the dma device
US20040190048A1 (en) Image forming device and method
JP2001096854A (en) Apparatus and method for printing processing
JPH11179975A (en) Color printer control device
JPH09265367A (en) Device and method for printer control
JP2001047677A (en) Printer control apparatus
JP3257902B2 (en) Printing apparatus and data transfer control method for printing apparatus
JP2000168174A (en) Printer
JPH03114856A (en) Printer data management system
JPH09179813A (en) Dma transfer device
JPH11119928A (en) Device and method for processing printing
JP3069867U (en) Electronic equipment
JPH08152978A (en) Controller for printer engine
JP2000047976A (en) Printer control unit
JP2002073301A (en) Information processing system and method, printer device, and storage medium which stores computer readable program
JP2001239707A (en) Printer controller and method for transferring data
JPH11180006A (en) Printer and method for processing print data
JP2000181638A (en) Printing system
JPH09277656A (en) Printing device
JPS63251246A (en) Data memory unit

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees