JP4359752B2 - Data transfer device for liquid ejection data, liquid ejection device - Google Patents

Data transfer device for liquid ejection data, liquid ejection device Download PDF

Info

Publication number
JP4359752B2
JP4359752B2 JP2003162153A JP2003162153A JP4359752B2 JP 4359752 B2 JP4359752 B2 JP 4359752B2 JP 2003162153 A JP2003162153 A JP 2003162153A JP 2003162153 A JP2003162153 A JP 2003162153A JP 4359752 B2 JP4359752 B2 JP 4359752B2
Authority
JP
Japan
Prior art keywords
data
recording
liquid ejection
stored
transfer
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
JP2003162153A
Other languages
Japanese (ja)
Other versions
JP2004142416A5 (en
JP2004142416A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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
Priority to JP2003162153A priority Critical patent/JP4359752B2/en
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to US10/649,545 priority patent/US7083244B2/en
Priority to CNU032053908U priority patent/CN2655529Y/en
Priority to EP06005830A priority patent/EP1677203B1/en
Priority to CNB031553117A priority patent/CN1310161C/en
Priority to DE60314572T priority patent/DE60314572T2/en
Priority to DE60316856T priority patent/DE60316856T2/en
Priority to AT03018737T priority patent/ATE365945T1/en
Priority to EP03018737A priority patent/EP1394684B1/en
Publication of JP2004142416A publication Critical patent/JP2004142416A/en
Publication of JP2004142416A5 publication Critical patent/JP2004142416A5/ja
Priority to US11/408,280 priority patent/US7458652B2/en
Application granted granted Critical
Publication of JP4359752B2 publication Critical patent/JP4359752B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本願発明は、液体噴射ヘッドからインク等の液体を被噴射媒体へ噴射する液体噴射装置に入力された液体噴射データを液体噴射ヘッドへ転送するための液体噴射データのデータ転送装置、及び該液体噴射データのデータ転送装置を備えた液体噴射装置に関する。
【0002】
【従来の技術】
液体噴射装置としてのいわゆるインクジェット式記録装置は、記録ヘッドから記録紙等にインクを噴射して画像データ等を記録する。ライン展開可能にデータ圧縮されている画像データ等をライン展開してビットマップイメージに展開し、展開したビットマップイメージを記録紙の記録面に形成する如く記録ヘッドのヘッド面に配設されている多数のノズルアレイから複数色のインク滴を噴射する。複数色のインク滴を記録面に噴射して多数のインクドットを形成することによって記録紙上に画像を形成する。尚、ライン展開可能な圧縮データとは、例えば一般的に広く知られているランレングス圧縮方式等による圧縮データであり、バイト単位で順次展開可能な圧縮方式による圧縮データのことである。
【0003】
一般的にこのようなインクジェット式記録装置は、パーソナルコンピュータ等の外部装置からライン展開可能にデータ圧縮されている画像データを入力し、入力した圧縮データをライン展開(解凍)し、展開したビットマップイメージに必要なデータ処理を行った後にそのデータを記録ヘッドのレジスタへ転送するデータ転送装置を備えている。従来の一般的なデータ転送装置は、例えば、図36に示すような構成を成している。
【0004】
データ転送装置10は、データ転送経路としてシステムバスSBを備えている。システムバスSBには、マイクロプロセッサ(MPU)11、RAM12、及びヘッド制御部13がデータ転送可能に接続されており、ヘッド制御部13に記録ヘッド62が接続されている。図示していないパーソナルコンピュータやデジタルカメラ等の情報処理装置からデータ転送される圧縮された記録データは、システムバスSBを介してRAM12へ格納される。
【0005】
RAM12の圧縮データ格納エリアに格納されている圧縮された記録データは、システムバスSB経由でマイクロプロセッサ11へ1バイトずつ順次データ転送され(符号Aで示した経路)、プログラムによる圧縮データの解凍手順によって1バイトずつ順次解凍された後、再びRAM12へシステムバスSB経由で1バイトずつデータ転送されて(符号Bで示した経路)、RAM12の所望のビットマップイメージエリアに格納される。RAM12のビットマップイメージエリア内に展開データが全て格納された時点で、ビットマップイメージエリア内の展開データがシステムバスSB経由でヘッド制御部13内部のレジスタ(図示せず)に1バイトずつデータ転送され(符号Cで示した経路)、そのビットマップイメージに基づいて記録ヘッド62の各ノズルアレイから記録紙へインクが噴射される。
【0006】
また、データ転送処理を高速化する従来技術の一例としては、システムバスとローカルバスとの2つの独立したバスを設け、システムバスとローカルバスとの間に2つのバスコントローラを配置したものが公知である。データ転送装置において、一方のバスコントローラがシステムバス側に接続されているメインメモリにアクセスしている間、他方のバスコントローラがローカルバス側に接続されているローカルメモリをアクセスする並列処理を行うことによって、データ転送処理を高速化するものである(例えば、特許文献1参照)。
【0007】
【特許文献1】
特許第3251053号公報
【0008】
【発明が解決しようとする課題】
上記のような構成を成す従来の液体噴射装置のデータ転送装置10において、液体噴射実行速度を向上させるためには、つまり、インクジェット式記録装置において、記録速度をより高速にするためには、以下のような課題が障壁となってしまう。
【0009】
まず、圧縮された記録データをプログラムによって1バイトずつソフトウェア展開(解凍)していくので、大量の圧縮データを高速に処理することができない。仮に高速なクロックで動作可能な処理能力の高いマイクロプロセッサ11を用いれば高速化することができるが、そのような高価なマイクロプロセッサ11を実装するとデータ転送装置10のコストが大幅に高くなってしまうという問題が生じる。
【0010】
また、RAM12へのデータ転送及びRAM12からのデータ転送が全てマイクロプロセッサ11を介して行われるので、マイクロプロセッサ11が他のデータ処理や演算等を実行している間、例えば、マイクロプロセッサ11がRAM12へプログラム等をフェッチしている間、データ転送が待たされてしまう場合があり、それによって、データ転送遅延が生じてしまうので、高速なデータ転送ができなかった。
【0011】
さらに、前述した特許文献1に開示されている従来技術においては、やはり、圧縮された記録データをプログラムによって1バイトずつソフトウェア展開(解凍)していくことになるので、大量の圧縮データを高速に展開処理することができない。したがって、情報処理装置からデータ転送される圧縮された記録データを展開して記録ヘッドへデータ転送して記録を実行する記録装置等の液体噴射装置においては、データ転送処理を高速に行うことが可能な構成であっても圧縮データを展開する処理が依然として遅いために液体噴射実行速度を向上させることができないことになってしまう。
【0012】
本願発明は、このような状況に鑑み成されたものであり、その課題は、圧縮データの高速な展開処理と、液体噴射ヘッドへの高速なデータ転送とを実現し、液体噴射装置の液体噴射実行速度を従来と比較して飛躍的に高速化することにある。
【0013】
【課題を解決するための手段】
上記課題を達成するため、本願発明の第1の態様は、メインメモリからシステムバスを経由してワード単位でDMA転送されるライン展開可能に圧縮された液体噴射データをハードウェア展開可能なデコード回路と、該デコード回路にて展開した液体噴射データがワード単位で格納されるラインバッファと、前記メインメモリからライン展開可能に圧縮された液体噴射データを前記デコード回路へDMA転送し、該ラインバッファに展開された液体噴射データをワード単位でローカルメモリへDMA転送し、前記ローカルメモリに格納された展開後の液体噴射データを液体噴射ヘッドのレジスタへ順次DMA転送するDMA転送手段とを有するデコードユニットを備えた液体噴射データのデータ転送装置であって、前記デコードユニットは、前記ラインバッファに展開されたデータをワード単位で前記ローカルメモリ上のビットマップエリアへDMA転送する際に、所定のワード数毎に異なるビットマップエリアへ格納していくデータ分割手段を備えている、ことを特徴とした液体噴射データのデータ転送装置である。
【0014】
まず、従来1バイトずつ行っていたメインメモリからの圧縮された液体噴射データのデータ転送をワード(2バイト)単位でデータ転送することによって、データ転送速度を2倍以上に高速化することができる。例えば、システムバスを16ビットバスとすると、1回のデータ転送で1ワード(2バイト)ずつメインメモリに格納されている圧縮された液体噴射データを読み出すことができ、システムバスを32ビットバスとすると、2ワード(4バイト)ずつメインメモリに格納されている圧縮された液体噴射データを読み出すことができる。
【0015】
また、従来プログラムによって圧縮された液体噴射データをソフトウェア展開していた処理を、デコード回路によってハードウェア展開する。つまり、圧縮データの展開処理以外にも多数の様々なデータ処理手順を順次実行するシングルスレッドのプログラムによって圧縮データを展開するより、圧縮データの展開専用のデコード回路によって圧縮データの展開のみを独立して実行することによって、圧縮された液体噴射データの展開処理を高速に実行することができる。
【0016】
さらに、DMA(Direct・Memory・Access)転送によって高速なデータ転送が可能になる。DMA転送とは、転送元及び転送先アドレスや転送数を所定のレジスタに設定すると、後はマイクロプロセッサを介することなくハードウェアにて高速にデータ転送を行うことができる公知の転送方式である。
【0017】
ところで、例えば、液体噴射装置としてのインクジェット式記録装置等は、圧縮された記録データを展開したビットマップデータに基づいて、液体噴射ヘッドとしての記録ヘッドのヘッド面に多数配設されているノズルアレイからインクを記録紙に噴射して記録紙の表面にインクドットを形成して記録を実行する。このヘッド面に多数配設されているノズルアレイは、同じ色のインクを噴射する多数のノズルアレイが記録ヘッドの走査方向と直交方向に配置されてノズル列を形成しており、インク色毎のノズル列が記録ヘッドの走査方向に複数列並んだ状態で配置されている。
【0018】
ここで、記録ヘッドの走査方向を主走査方向、ヘッド面に沿って主走査方向と直交する方向を副走査方向とすると、インクジェット式記録装置は、記録紙に対して記録ヘッドを主走査方向に往復動させながらノズルアレイからインクを噴射して記録紙にインクドットを形成する動作と、記録紙を副走査方向に所定の移動量で相対的に移動させる動作とを交互に実行して記録を実行するということになる。そして、展開後のビットマップデータにおける副走査方向の解像度は、記録ヘッドの副走査方向の解像度と同じとは限らず、液体噴射ヘッドの解像度より高い解像度を有するビットマップデータである場合が多い。つまり、展開後のビットマップデータにおける副走査方向のドット間隔が、副走査方向の隣接するノズルアレイの間隔より小さい場合には、副走査方向に隣接するインクドットを1回の主走査で同時に形成することができない。例えば、ビットマップデータの解像度が360dpiであるのに対して記録ヘッドの解像度は、その1/2の180dpiであるといった場合である。
【0019】
このような場合には、副走査方向に隣接するインクドットは、異なる主走査動作時に形成することになる。しかし、デコード回路にて展開したビットマップデータは、副走査方向に隣接して形成されるインクドットデータが連続して並んでいるデータ構成となっているので、展開後のビットマップデータをそのまま記録ヘッドに転送して記録することができない。そのため、副走査方向に隣接するインクドットデータを異なるビットマップエリアに格納して異なる主走査時に記録ヘッドに転送できるように展開後のビットマップデータを分割する必要がある。そして、従来は、プログラムによって圧縮された記録データを展開した後、プログラムによるデータ処理でビットマップデータを分割していた。
【0020】
しかし、デコード回路によって高速なハードウェア展開処理を行ってもその後のデータの分割処理を従来のようにプログラムで行うとすると、デコード回路にて展開した液体噴射データをローカルメモリに格納した後、プログラムでローカルメモリに格納されている展開後の液体噴射データを1つずつ別々のビットマップエリアへ分割して格納していかなければならず、それによって、圧縮された液体噴射データを高速に展開処理した効果が小さくなってしまう。
【0021】
そこで、ラインバッファに展開されたデータをワード単位でローカルメモリ上のビットマップエリアへDMA転送する際に、所定のワード数毎に異なるビットマップエリアへ格納していくデータ分割手段をデコードユニット内に設ける。つまり、デコードユニットにおいて、圧縮された液体噴射データを展開処理した後、ラインバッファに格納されている展開後の液体噴射データをデータ分割手段によって、副走査方向に隣接するインクドットを、それぞれ異なる主走査時に形成することができるように、ローカルメモリ上の異なるビットマップエリアへDMA転送する。それによって、圧縮された液体噴射データの展開処理と、展開後の液体噴射データの分割とを高速に行うことができる。
【0022】
これにより、本願発明の第1の態様に示した液体噴射データのデータ転送装置によれば、デコード回路を内蔵したデコードユニット、及びマイクロプロセッサを介することなく高速なデータ転送が可能なDMA転送とによって、圧縮データの高速な展開処理と、液体噴射ヘッドへの高速なデータ転送とを実現することができるので、液体噴射装置の液体噴射実行速度を従来と比較して飛躍的に高速化することができるという作用効果が得られる。
【0023】
そして、ラインバッファに格納されている展開後の液体噴射データをローカルメモリ上の異なるビットマップエリアへ分割しながらDMA転送するデータ分割手段によって、圧縮された液体噴射データをデコード回路によって高速にハードウェア展開処理する効果を最大限に発揮することができる。
【0024】
本願発明の第2の態様は、前述した第1の態様において、前記データ分割手段は、液体噴射データの解像度と前記液体噴射ヘッドの解像度との比に応じて分割するビットマップエリアの数を設定する、ことを特徴とした液体噴射データのデータ転送装置である。
【0025】
本願発明の第2の態様に示した液体噴射データのデータ転送装置によれば、液体噴射データの解像度と前記液体噴射ヘッドの解像度との比に応じて分割するビットマップエリアの数を設定することによって、前述した第1の態様に示した発明による作用効果を得ることができる。
【0026】
本願発明の第3の態様は、前述した第1の態様又は第2の態様において、前記メインメモリから前記デコード回路へDMA転送される圧縮データの先頭データを含むワードデータにおいては、圧縮された液体噴射データのデータ開始アドレス値を前記システムバスが1回のデータ転送で転送可能なデータのバイト数で除算した余りの数のバイト数だけ、先頭からデータを無効にする無効データマスク処理手段を備えている、ことを特徴とした液体噴射データのデータ転送装置である。
【0027】
16ビットバス等によるワード単位でのDMA転送は、常に偶数アドレスを先頭にして転送することしかできない。すると、例えば、システムバスが16ビットバスで、1回のデータ転送動作で1ワード(2バイト)ずつデータ転送を行う場合、メインメモリに格納されている圧縮された液体噴射データのデータ開始アドレスが奇数アドレスであると、圧縮データの先頭データを含む1ワード(2バイト)の転送データの中に、当該液体噴射データと無関係のバイトデータが混在することになる。つまり、ワードデータの1バイト目(偶数アドレスのバイトデータ)は、当該液体噴射データと無関係のバイトデータであり、ワードデータの2バイト目(奇数アドレスのバイトデータ)が当該液体噴射データの先頭のバイトデータとなる。そのため、開始アドレスが奇数アドレスの圧縮された液体噴射データをメインメモリからワード単位でデコード回路へDMA転送してハードウェア展開処理してしまうと、元の液体噴射データの先頭に無関係なデータがついた状態の液体噴射データが展開されてしまうことになる。
【0028】
そこで、メインメモリからデコード回路へDMA転送される圧縮データの先頭データを含む転送データに無関係なバイトデータが含まれている場合には、その無関係なバイトデータを無効にしてからデコード回路にてハードウェア展開する。具体的には、まず、メインメモリからデコード回路へのデータ転送経路であるシステムバスが1回のデータ転送で何バイトのデータを転送できるかを求める。例えば、16ビットバスならば、16ビット/1バイト(8ビット)=2バイトとなり、32ビットバスなら4バイト、64ビットバスなら8バイトになる。
【0029】
そして、メインメモリからデコード回路でDMA転送する圧縮された液体噴射データのデータ開始アドレスを、上記のシステムバスが1回のデータ転送で転送できるデータのバイト数で除算した余りを求める。つまり、データ開始アドレスをシステムバスが1回のデータ転送で転送するバイト数で除算して余りが生じなければ、圧縮データの先頭データを含むワード単位の転送データは、最初のバイトデータ(偶数アドレス)が圧縮された液体噴射データの先頭のバイトデータとなり、無関係なバイトデータが含まれていないことになる。一方、余りが出た場合には、圧縮データの先頭データを含むワード単位の転送データは、先頭からその余りの数のバイト数だけ無関係なバイトデータが含まれていることになる。
【0030】
したがって、無関係なバイトデータを含んでいる可能性があるメインメモリからデコード回路へDMA転送される圧縮データの先頭データを含むワードデータにおいては、メインメモリからデコード回路でDMA転送する圧縮された液体噴射データのデータ開始アドレスを、上記のシステムバスが1回のデータ転送で転送できるデータのバイト数で除算した余りの数のバイト数だけ無効にした上でデコード回路にてハードウェア展開してラインバッファに格納する。それによって、メインメモリからデコード回路へDMA転送される圧縮データの先頭データを含むワードデータに含まれた無関係なバイトデータのみを無効にして、圧縮された液体噴射データのみをデコード回路にて展開処理をしていくことができる。
【0031】
これにより、本願発明の第3の態様に示した液体噴射データのデータ転送装置によれば、前述した第1の態様又は第2の態様に示した発明による作用効果に加えて、メインメモリからデコード回路へ圧縮された液体噴射データをワード単位でDMA転送することによって、さらに高速なデータ転送が可能になるとともに、メインメモリからワード単位でデコード回路へDMA転送される圧縮された液体噴射データに無関係なバイトデータが含まれる場合には、上記説明した無効データマスク処理手段によって的確に無関係なバイトデータを無効にした上で、圧縮された液体噴射データのみを確実に先頭からハードウェア展開処理することができるという作用効果が得られる。
【0032】
本願発明の第4の態様は、前述した第1の態様又は第2の態様において、前記メインメモリから前記デコード回路へDMA転送される圧縮データの先頭データを含むワードデータにおいては、前記メインメモリに格納されている圧縮データのデータ開始アドレスが奇数アドレスの場合には、先頭1バイトのデータを無効にする無効データマスク処理手段を備えている、ことを特徴とした液体噴射データのデータ転送装置である。
【0033】
このように、メインメモリからデコード回路へDMA転送される圧縮データの先頭データを含む転送データに無関係なバイトデータが含まれている場合には、その無関係なバイトデータを無効にしてからデコード回路にてハードウェア展開する。具体的には、圧縮された液体噴射データは、メインメモリからシステムバスを経由して1ワードずつでDMA転送されるので、メインメモリに格納されている圧縮された液体噴射データのデータ開始アドレスが奇数アドレスであると、圧縮データの先頭データを含む1ワード(2バイト)の転送データは、ワードデータの1バイト目(偶数アドレスのバイトデータ)が当該液体噴射データと無関係のバイトデータであり、ワードデータの2バイト目(奇数アドレスのバイトデータ)が当該液体噴射データの先頭のバイトデータとなる。
【0034】
そこで、メインメモリに格納されている圧縮された液体噴射データのデータ開始アドレスが奇数アドレスである場合には、メインメモリからデコード回路へDMA転送される圧縮データの先頭データを含むワードデータの先頭1バイトを無効にする。それによって、メインメモリからデコード回路へDMA転送される圧縮データの先頭データを含むワードデータに含まれた無関係なバイトデータのみを無効にして、圧縮された液体噴射データのみをデコード回路にて展開処理をしていくことができる。
【0035】
これにより、本願発明の第4の態様に示した液体噴射データのデータ転送装置によれば、前述した第1の態様又は第2の態様に示した発明による作用効果に加えて、メインメモリからデコード回路へ圧縮された液体噴射データを1ワードずつDMA転送することによって、さらに高速なデータ転送が可能になるとともに、メインメモリから1ワードずつデコード回路へDMA転送される圧縮された液体噴射データに無関係なバイトデータが含まれる場合には、上記説明した無効データマスク処理手段によって的確に無関係なバイトデータを無効にした上で、圧縮された液体噴射データのみを確実に先頭からハードウェア展開処理することができるという作用効果が得られる。
【0036】
本願発明の第5の態様は、前述した第1の態様〜第4の態様のいずれかにおいて、前記デコードユニットは、前記デコード回路にて展開した液体噴射データを前記ラインバッファの0バイト目を空けた状態で1バイト目から格納していくデータ格納開始位置シフト手段を有している、ことを特徴とした液体噴射データのデータ転送装置である。
【0037】
例えば、液体噴射装置としてのインクジェット式記録装置等は、圧縮された記録データを展開したビットマップデータに基づいて、液体噴射ヘッドとしての記録ヘッドのヘッド面に多数配設されているノズルアレイからインクを記録紙に噴射して記録紙の表面にインクドットを形成して記録を実行する。ところが、展開したビットマップデータをローカルメモリ上のビットマップエリアに格納し、記録ヘッドへ転送する際に、ビットマップエリアのデータ開始アドレスが奇数アドレスとなっている必要がある場合がある。したがって、従来は、プログラムによって圧縮された記録データをソフトウェア展開処理した後に、プログラムによってビットマップエリアのデータ開始アドレスが奇数アドレスになるように、展開後のビットマップデータをデータ転送処理していた。しかし、デコード回路にてワード単位でハードウェア展開し、展開後のビットマップデータをワード単位でローカルメモリにDMA転送すると、常に偶数アドレスを先頭にして転送することしかできない。
【0038】
そこで、デコード回路にて展開したビットマップデータをラインバッファに格納する際に、デコード回路にて展開した液体噴射データをラインバッファの0バイト目を空けた状態で1バイト目から格納していくデータ格納開始位置シフト手段をデコードユニット内に設ける。つまり、デコードユニットにおいて、圧縮された液体噴射データの展開処理した後、展開後の液体噴射データをラインバッファに格納する際に、ラインバッファの0バイト目を空けた状態で1バイト目から格納し、ラインバッファに格納された展開後の液体噴射データをラインバッファの0バイト目からローカルメモリのビットマップエリアへDMA転送する。
【0039】
ラインバッファには、0バイト目を開けた状態で1バイト目から、つまり奇数バイト目から展開後の液体噴射データが格納されているので、そのままラインバッファの0バイト目からローカルメモリのビットマップエリアにワード単位でDMA転送すると、ビットマップエリアの最初の偶数アドレスエリアには、ラインバッファの0バイト目に格納されていた空データが格納される。そして、次の奇数アドレスエリアにラインバッファの1バイト目に格納されていた展開後の液体噴射データの先頭データが格納されることになる。したがって、ビットマップエリアのデータ開始アドレスを奇数アドレスとすることができる。
【0040】
これにより、本願発明の第5の態様に示した液体噴射データのデータ転送装置によれば、前述した第1の態様〜第4の態様のいずれかに示した発明による作用効果に加えて、展開したビットマップデータをローカルメモリ上のビットマップエリアに格納し、記録ヘッドへ転送する際に、ビットマップエリアのデータ開始アドレスが奇数アドレスとなっている必要がある場合には、デコード回路にて展開したビットマップデータをラインバッファに格納する際に、デコード回路にて展開した液体噴射データをラインバッファの0バイト目を空けた状態で1バイト目から格納していくデータ格納開始位置シフト手段によって、ビットマップエリアのデータ開始アドレスを奇数アドレスとすることができるという作用効果が得られる。
【0041】
本願発明の第6の態様は、前述した第1の態様〜第5の態様のいずれかにおいて、前記デコードユニットは、前記所定ワード数から1バイト減算したバイト数の展開後のデータが前記ラインバッファに格納される毎に、前記ラインバッファに格納された展開後の液体噴射データを液体噴射ヘッドへ転送するデータ格納終了位置シフト手段を有している、ことを特徴とした液体噴射データのデータ転送装置である。
【0042】
前述したように、液体噴射装置としてのインクジェット式記録装置等は、圧縮された記録データを展開したビットマップデータに基づいて、液体噴射ヘッドとしての記録ヘッドのヘッド面に多数配設されているノズルアレイからインクを記録紙に噴射して記録紙の表面にインクドットを形成して記録を実行する。ところが、展開したビットマップデータをローカルメモリ上のビットマップエリアに格納し、記録ヘッドへ転送するビットマップエリアのデータブロックのバイト数が奇数バイトとなっている必要がある場合がある。例えば、通常は記録ヘッドへ転送するビットマップエリアのデータブロックのバイト数が16バイトに設定されており、特定の条件下においては、1バイト少ない15バイトにする必要があるような場合であり、従来は、プログラムによって圧縮された液体噴射データをバイト単位でソフトウェア展開処理した後、プログラムによって、1バイトずつメモリのビットマップエリアへ格納していたので、データブロックのバイト数が奇数バイトであっても問題なかった。
【0043】
しかし、デコード回路にてワード単位でハードウェア展開し、展開後のビットマップデータをワード単位でローカルメモリにDMA転送すると、常にワード単位、つまり2バイトずつデータを転送することしかできない。そのため、例えば、通常は16バイトに設定されているビットマップエリアのデータブロックのバイト数を15バイトにする、つまり、16バイトに設定されているデータブロックの最後の1バイトだけを空きバイトとするといったことができない。
【0044】
そこで、所定ワード数から1バイト減算したバイト数の展開後のデータがラインバッファに格納される毎に、ラインバッファに格納された展開後の液体噴射データを液体噴射ヘッドへ転送するデータ格納終了位置シフト手段によって、ローカルメモリ上のビットマップエリアに奇数バイト数毎のデータブロックを構成することができる。つまり、所定ワード数から1バイト減算したバイト数の展開後のデータがラインバッファに格納された時点で、最後の1ワードのデータは後半の1バイトが空の状態である。
【0045】
そして、ラインバッファに格納されているデータをローカルメモリのビットマップエリアへワード単位でDMA転送することによって、ビットマップエリアの所定ワード数のデータブロックを最後の1バイトが空の状態、つまり所定ワード数から1バイト減算したバイト数のデータブロックとすることができる。尚、ワード単位で展開した残りの1バイトのデータは、例えば、ラインバッファに設けた予備の格納エリアに一時的に格納した後、ラインバッファの0バイト目に格納する。あるいは、ラインバッファを複数設けておいて、他のラインバッファの0バイト目にそのまま格納しても良い。
【0046】
これにより、本願発明の第6の態様に示した液体噴射データのデータ転送装置によれば、前述した第1の態様〜第5の態様のいずれかに示した発明による作用効果に加えて、展開したビットマップデータをローカルメモリ上のビットマップエリアに格納し、記録ヘッドへ転送する際に、ビットマップエリアのデータブロックが奇数バイト数のデータブロックとなっている必要がある場合には、所定ワード数から1バイト減算したバイト数の展開後のデータがラインバッファに格納される毎に、ラインバッファに格納された展開後の液体噴射データを液体噴射ヘッドへ転送するデータ格納終了位置シフト手段によって、ローカルメモリ上のビットマップエリアに奇数バイト数毎のデータブロックを構成することができるという作用効果が得られる。
【0047】
本願発明の第7の態様は、前述した第1の態様〜第6の態様のいずれかにおいて、前記システムバスとローカルバスとの2系統の独立したバスと、前記システムバスにデータ転送可能に接続された前記メインメモリと、前記ローカルバスにデータ転送可能に接続された前記ローカルメモリとを備え、前記デコードユニットは、前記システムバスと前記ローカルバスとの間に相互にデータ転送可能に接続されている、ことを特徴とした液体噴射データのデータ転送装置である。
【0048】
このように、システムバスとローカルバスとの2つの独立したバスと、ローカルバスに接続されたローカルメモリとを備えた構成によって、マイクロプロセッサからメモリへのアクセス経路から分離して独立したメモリから液体噴射ヘッドへの液体噴射データのデータ転送経路を確保することができる。したがって、システムバス側と非同期にローカルバス側でローカルメモリから液体噴射ヘッドのレジスタへのデータ転送を実行することができる。それによって、マイクロプロセッサからメモリへのアクセス等によってメモリから液体噴射ヘッドへの液体噴射データのデータ転送が中断され、液体噴射データのデータ転送遅延が生じて液体噴射実行速度が低下してしまうことがない。
【0049】
これにより、本願発明の第7の態様に示した液体噴射データのデータ転送装置によれば、前述した第1の態様〜第6の態様のいずれかに示した発明による作用効果に加えて、システムバスとローカルバスとの独立した2系統のバスと、デコード回路を内蔵したデコードユニット、及びマイクロプロセッサを介することなく高速なデータ転送が可能なDMA転送手段とによって、圧縮データの高速な展開処理と、液体噴射ヘッドへの高速なデータ転送とを実現することができるので、液体噴射装置の液体噴射実行速度を従来と比較して飛躍的に高速化することができるという作用効果が得られる。
【0050】
本願発明の第8の態様は、前述した第7の態様において、前記メインメモリ、前記デコードユニット、及び前記液体噴射ヘッドのレジスタは、それそれ回路ブロックとして1つのASICに内蔵されており、前記デコードユニットと前記液体噴射ヘッドのレジスタとは、前記ASIC内部の専用バスによって接続されている、ことを特徴とした液体噴射データのデータ転送装置である。
【0051】
このように、圧縮データを格納するメインメモリがデコードユニットと同じASIC内に回路ブロックとして構成されていることによって、特に1クロックでデータを転送するような高速なDMA転送が可能になる。したがって、圧縮された液体噴射データをデコードユニットへより高速にデータ転送を行うことができるようになる。また、液体噴射ヘッドのレジスタも同じASICに内蔵された回路ブロックで構成され、デコードユニットとASIC内部の専用バスで接続されていることによって、ローカルメモリから液体噴射ヘッドへの展開後の液体噴射データのデータ転送をより高速に行うことができるようになる。
【0052】
これにより、本願発明の第8の態様に示した液体噴射データのデータ転送装置によれば、前述した第7の態様に示した発明による作用効果に加えて、圧縮された液体噴射データをデコードユニットへより高速にデータ転送することができ、かつ、ローカルメモリから液体噴射ヘッドへの展開後の液体噴射データのデータ転送をより高速に行うことができるので、液体噴射装置の液体噴射実行速度をより高速化することができるという作用効果が得られる。
【0053】
本願発明の第9の態様は、前述した第7の態様又は第8の態様において、前記ラインバッファは、所定のワード数の展開データを格納可能なバッファ領域を2面有し、一面側に前記デコード回路にて展開した液体噴射データが順次格納され、所定のワード数の展開データが蓄積された時点で他面側に前記デコード回路にて展開した液体噴射データが順次格納されるとともに、所定のワード数の展開データが蓄積された時点で所定のワード数毎に展開データを前記ローカルメモリへDMA転送する、ことを特徴とした液体噴射データのデータ転送装置である。
【0054】
このように、ラインバッファは、所定のワード数の展開データを格納可能なバッファ領域を2面有しており、デコード回路にて展開したデータを一面側に格納していき、所定のワード数分蓄積された時点で、一面側の展開データをDMA転送手段によってワード単位で転送している間、デコード回路にて展開したデータを他面側に格納していくとができるので、圧縮データの展開処理とデータ転送処理とを平行して行うことができる。
【0055】
これにより、本願発明の第9の態様に示した液体噴射データのデータ転送装置によれば、前述した第7の態様又は第8の態様に示した発明による作用効果に加えて、圧縮データの展開処理とデータ転送処理とを平行して行うことができるので、液体噴射装置の液体噴射実行速度をより高速化することができるという作用効果が得られる。
【0056】
本願発明の第10の態様は、前述した第7の態様〜第9の態様のいずれかにおいて、前記ローカルバスにおける前記デコードユニットから前記ローカルメモリ、及び前記ローカルメモリから前記液体噴射ヘッドのレジスタへのデータ転送は、バースト転送によって行われる、ことを特徴とした液体噴射データのデータ転送装置である。
【0057】
バースト転送とは、データ転送を高速化する公知の手法の1つであり、連続したデータを転送する際に、アドレスの指定などの手順を一部省略することによって、所定のデータブロックのデータを全て転送し終えるまでの間バスを占有して転送することでデータ転送速度を上げるデータ転送方式である。メモリの読み書きの高速化など、様々な局面で利用されるデータ転送を高速化するための一般的な手法である。そして、従来システムバスを経由して行われていた液体噴射ヘッドへのデータ転送をシステムバスから独立したローカルバス経由で行うので、ローカルバス経由のデコードユニットからローカルメモリ、及びローカルメモリから液体噴射ヘッドのレジスタへのデータ転送をバースト転送によって行うことができる。
【0058】
つまり、システムバスを経由してメモリから液体噴射ヘッドへのデータ転送を行う従来のデータ転送装置においては、液体噴射ヘッドに対して所定のデータブロックのデータを全て転送し終えるまでの間バスを占有して転送すると、マイクロプロセッサの要求によるデータ転送等を実行できなくなるなどの弊害が生じてしまうが、システムバスから独立したローカルバスにおいては、そのような弊害が生じないので、ローカルバスを経由する液体噴射ヘッドへのデータ転送をバースト転送で行うことができる。
【0059】
これにより、本願発明の第10の態様に示した液体噴射データのデータ転送装置によれば、前述した第7の態様〜第9の態様のいずれかに示した発明による作用効果に加えて、ローカルバスを経由する液体噴射ヘッドへのデータ転送をバースト転送で行うことによって、液体噴射装置の液体噴射実行速度をより高速化することができるという作用効果が得られる。
【0060】
また、システムバスとローカルバスが独立しており、デコードユニットのデコード回路とラインバッファとによって、システムバス側のデータ転送と非同期に液体噴射ヘッドへのデータ転送を行うことができるので、バースト転送による転送速度の高速化の効果を最大限に発揮することができるという作用効果が得られる。
【0061】
本願発明の第11の態様は、前述した第1の態様〜第10の態様のいずれかにおいて、前記圧縮された液体噴射データは、ランレングス圧縮データであり、前記デコード回路は、ランレングス圧縮データをハードウェア展開可能なデコード回路である、ことを特徴とした液体噴射データのデータ転送装置である。
【0062】
本願発明の第11の態様に示した液体噴射データのデータ転送装置によれば、ライン展開可能なランレングス圧縮データをハードウェア展開可能なデコード回路によって、前述した第1の態様〜第10の態様のいずれかに示した発明による作用効果を得ることができる。
【0063】
本願発明の第12の態様は、前述した第1の態様〜第11の態様のいずれかにおいて、前記デコードユニットは、前記メインメモリからDMA転送された非圧縮の液体噴射データを前記デコード回路にてハードウェア展開せずに、前記ラインバッファへ格納する手段を備えている、ことを特徴とした液体噴射データのデータ転送装置である。
【0064】
本願発明の第12の態様に示した液体噴射データのデータ転送装置によれば、前述した第1の態様〜第11の態様のいずれかに示した発明による作用効果に加えて、メインメモリに格納されている液体噴射データが非圧縮の液体噴射データである場合には、デコード回路にてハードウェア展開せずに、そのままラインバッファへ格納する手段を備えているので、非圧縮の液体噴射データにおける液体噴射実行速度もより高速化することができるという作用効果が得られる。
【0065】
本願発明の第13の態様は、前述した第1の態様〜第12の態様のいずれかに示した液体噴射データのデータ転送装置を備えた液体噴射装置である。
本願発明の第13の態様に示した液体噴射装置によれば、液体噴射装置において、前述した第1の態様〜第12の態様のいずれかに示した発明による作用効果を得ることができる。
【0066】
【発明の実施の形態】
以下、本願発明の実施の形態を図面に基づいて説明する。
まず、本願発明に係る「液体噴射装置」としてのインクジェット式記録装置の第1実施例について説明する。図1は、本願発明に係るインクジェット式記録装置の概略の平面図であり、図2はその側面図である。
【0067】
インクジェット式記録装置50には、記録紙Pに記録を実行する記録手段として、キャリッジガイド軸51に軸支され、主走査方向Xに移動するキャリッジ61が設けられている。キャリッジ61には、記録紙Pにインクを噴射して記録を行う「液体噴射ヘッド」としての記録ヘッド62が搭載されている。記録ヘッド62と対向して、記録ヘッド62のヘッド面と記録紙Pとのギャップを規定するプラテン52が設けられている。そして、キャリッジ61とプラテン52の間に記録紙Pを副走査方向Yに所定の搬送量で搬送する動作と、記録ヘッド62を主走査方向Xに一往復させる間に記録ヘッド62から記録紙Pにインクを噴射する動作とを交互に繰り返すことによって記録紙Pに記録が行われる。
【0068】
給紙トレイ57は、例えば普通紙やフォト紙等の記録紙Pを給紙可能な構成となっており、記録紙Pを自動給紙する給紙手段としてのASF(オート・シート・フィーダー)が設けられている。ASFは、給紙トレイ57に設けられた2つの給紙ローラ57b及び図示してない分離パッドを有する自動給紙機構である。この2つの給紙ローラ57bの1つは、給紙トレイ57の一方側に配置され、もう1つの給紙ローラ57bは、記録紙ガイド57aに取り付けられており、記録紙ガイド57aは、記録紙Pの幅に合わせて幅方向に摺動可能に給紙トレイ57に設けられている。そして、給紙ローラ57bの回転駆動力と、分離パッドの摩擦抵抗により、給紙トレイ57に置かれた複数の記録紙Pを給紙する際に、複数の記録紙Pが一度に給紙されることなく1枚ずつ正確に自動給紙される。
【0069】
記録紙Pを副走査方向Yに搬送する記録紙搬送手段として、搬送駆動ローラ53と搬送従動ローラ54が設けられている。搬送駆動ローラ53は、ステッピング・モータ等の回転駆動力により回転制御され、搬送駆動ローラ53の回転により、記録紙Pは副走査方向Yに搬送される。搬送従動ローラ54は、複数設けられており、それぞれ個々に搬送駆動ローラ53に付勢され、記録紙Pが搬送駆動ローラ53の回転により搬送される際に、記録紙Pに接しながら記録紙Pの搬送に従動して回転する。搬送駆動ローラ53の表面には、高摩擦抵抗を有する皮膜が施されている。搬送従動ローラ54によって、搬送駆動ローラ53の表面に押しつけられた記録紙Pは、その表面の摩擦抵抗によって搬送駆動ローラ53の表面に密着し、搬送駆動ローラ53の回転によって副走査方向に搬送される。
【0070】
また、給紙ローラ57bと搬送駆動ローラ53との間には、従来技術において公知の技術による紙検出器63が配設されている。紙検出器63は、立位姿勢への自己復帰習性が付与され、かつ記録紙搬送方向にのみ回動し得るよう記録紙Pの搬送経路内に突出する状態で枢支されたレバーを有し、このレバーの先端が記録紙Pに押されることでレバーが回動し、それによって記録紙Pが検出される構成を成す検出器である。紙検出器63は、給紙ローラ57bより給紙された記録紙Pの始端位置、及び終端位置を検出し、その検出位置に合わせて記録領域が決定され、記録が実行される。
【0071】
一方、記録された記録紙Pを排紙する手段として、排紙駆動ローラ55と排紙従動ローラ56が設けられている。排紙駆動ローラ55は、ステッピング・モータ等の回転駆動力により回転制御され、排紙駆動ローラ55の回転により、記録紙Pは副走査方向Yに排紙される。排紙従動ローラ56は、周囲に複数の歯を有し、各歯の先端が記録紙Pの記録面に点接触するように鋭角的に尖っている歯付きローラになっている。複数の排紙従動ローラ56は、それぞれ個々に排紙駆動ローラ55に付勢され、記録紙Pが排紙駆動ローラ55の回転により排紙される際に記録紙Pに接して記録紙Pの排紙に従動して回転する。
【0072】
そして、給紙ローラ57bや搬送駆動ローラ53、及び排紙駆動ローラ55を回転駆動する図示していない回転駆動用モータ、並びにキャリッジ61を主走査方向に駆動する図示していないキャリッジ駆動用モータは、記録制御部100により駆動制御される。また、記録ヘッド62も同様に、記録制御部100により制御されて記録紙Pの表面にインクを噴射する。
【0073】
図3は、本願発明に係るインクジェット記録装置50の概略のブロック図である。
インクジェット式記録装置50は、各種記録処理の制御を実行する記録制御部100を備えている。記録制御部100は、システムバスSBとローカルバスLBとの2系統の独立したバスを備えている。システムバスSBには、MPU(マイクロプロセッサ)24、ROM21、RAM22、不揮発性記憶媒体23、I/O25、及びデコード回路28がデータ転送可能に接続されている。MPU24では各種処理の演算処理が行われる。ROM21には、MPU24の演算処理に必要なソフトウェア・プログラム及びデータがあらかじめ記憶されている。RAM22は、ソフトウェア・プログラムの一時的な記憶領域、MPU24の作業領域等として使用される。また、フラッシュメモリ等の不揮発性記憶媒体23には、MPU24における演算処理結果の所定のデータが格納され、インクジェット記録装置50の電源断の間においても該データを保持する構成となっている。
【0074】
さらに、記録制御部100は、外部装置とのインターフェース機能を有するインターフェース部27を介して、パーソナルコンピュータ等の情報処理装置200と接続され、その情報処理装置200との間において、システムバスSBを介して各種情報やデータの入出力が可能な構成となっている。そして、I/O25は、MPU24における演算処理結果に基づいて、入出力部26を介して各種モータドライバ31に対して出力制御を行い、かつ各種センサー32からの入力情報等を入力する。各種モータドライバ31は、インクジェット式記録装置50の各種モータを駆動制御する駆動制御回路であり、記録制御部100によって制御される。また、各種センサー32は、インクジェット記録装置50の各種状態情報を検出し、入出力部26を介してI/O25に出力する。
【0075】
記録実行時には、情報処理装置200がホスト側となり、情報処理装置200から圧縮された記録データ(液体噴射データ)が出力され、インクジェット式記録装置50は、インターフェース部27からシステムバスSBを介して圧縮された記録データを入力する。デコード回路28は、圧縮された記録データをハードウェア展開した後、展開後の記録データをローカルバスLB経由でローカルメモリ29へ格納する。ローカルメモリ29に格納された展開後の記録データは、再びローカルバスLBを介してヘッド制御部33内部のレジスタから記録ヘッド62へ転送される。ヘッド制御部33は、記録ヘッド62に対して制御を行い、記録ヘッド62のヘッド面に多数配設されたノズルアレイから各色のインクを記録紙Pの記録面に噴射する。
【0076】
このように、システムバスSBとローカルバスLBとの独立した2系統のバスと、圧縮データをハードウェア展開するデコード回路28とによって、圧縮データの高速な展開処理と、記録ヘッド62への高速なデータ転送とを実現することができるので、インクジェット式記録装置50の記録実行速度を従来と比較して飛躍的に高速化することができる。つまり、従来のように、MPU24において、圧縮データの展開処理以外にも多数の様々なデータ処理手順を順次実行するシングルスレッドのプログラムによって圧縮データを展開するのではなく、圧縮データの展開専用のデコード回路28によって圧縮データの展開のみを独立して実行することによって、圧縮された記録データの展開処理を高速に実行することができるものである。
【0077】
また、システムバスSBとローカルバスLBとの2つの独立したバスと、ローカルバスLBに接続されたローカルメモリ29とを備えた構成によって、MPU24が接続されているシステムバスSBから分離されて独立した記録ヘッド62への記録データのデータ転送経路(ローカルバスLB)を確保することができる。したがって、システムバスSB側と非同期にローカルバスLB側でローカルメモリ29から記録ヘッドのレジスタへのデータ転送を実行することができる。それによって、MPU24からRAM22へのアクセス等によって記録ヘッド62への記録データのデータ転送が中断され、記録データのデータ転送遅延が生じて記録実行速度が低下してしまうことがない。
【0078】
さらに、当該実施例においては、デコード回路28とローカルバスLBとの間にワード単位で展開後のデータを格納するラインバッファ281が設けられている。デコード回路28にて展開された記録データは、いったんラインバッファ281に一時的に格納される。ラインバッファ281に格納された展開後の記録データは、2ワード毎にローカルバスLBを介してローカルメモリ29へデータ転送される。このように、デコード回路28とローカルバスLBとの間にワード単位で展開後のデータを格納するラインバッファ281を設けても良い。ワード単位で展開後のデータを格納するラインバッファ281を設けて、従来プログラムによって1バイトずつ展開していた圧縮データをワード単位(2バイト)で展開してラインバッファ281に格納してワード単位でローカルメモリ29へデータ転送することによって、一度に展開してデータ転送する圧縮データの量が従来の2倍の量になるので、圧縮データの展開処理をより高速に実行することができるようになり、より好ましいと言える。
【0079】
図4は、本願発明に係る「液体噴射データのデータ転送装置」としてのデータ転送装置10の構成を示したブロック図である。図5は、データ転送装置10における記録データの流れを模式的に示したタイミングチャートである。
【0080】
記録制御部100は、ASIC(特定用途向け集積回路)4を備えており、ASIC4は、前述したインターフェース部27、前述したヘッド制御部33、受信バッファ部42、及び本願発明に係る「デコードユニット」としてのDECU41を内蔵している。DECU41は、前述したデコード回路28、ラインバッファ281、及び「DMA転送手段」を内蔵している(詳細は後述する)。また、システムバスSB、及びローカルバスLBは、16ビットバスであり、所定のデータ転送周期毎に1ワード(2バイト)のデータを転送することができる。以下、図5に示したタイミングチャートを参照しながらデータ転送装置10における記録データの流れを説明する。
【0081】
圧縮された記録データは、情報処理装置200からインターフェース部27を介して「メインメモリ」としての受信バッファ部42へシステムバスSBを経由して1ワードずつDMA転送される(符号T1)。前述したように、DMA転送とは、転送元及び転送先アドレスや転送数を所定のレジスタに設定すると、後はMPU24を介することなくハードウェアにて高速にデータ転送を行うことができる転送方式である。次に、受信バッファ部42からシステムバスSBを介してDECU41へDMA転送される(符号T2)。つづいて、DECU41の内部でデコード回路28によって、圧縮された1ワードのデータがハードウェア展開され、展開された記録データがラインバッファ281へ格納される(符号T3)。
【0082】
展開されてラインバッファ281に格納された記録データは、ラインバッファ281に格納された記録データが所定バイト数に達した時点で、システムバスSB側のデータ転送とは非同期にローカルバスLBを経由してローカルメモリ29のビットマップエリアへDMA転送される(符号T4)。つづいて、ローカルメモリ29のビットマップエリアへ格納されたビットマップデータとしての記録データは、再びローカルバスLBを経由してDECU41へDMA転送され(符号T5)、DECU41から内部バスIBを経由してヘッド制御部33へDMA転送され(符号T6)、ヘッド制御部33内部のレジスタに格納された後、記録ヘッド62へDMA転送される(符号T7)。
【0083】
このように、受信バッファ部42(メインメモリ)からデコード回路28へのデータ転送、デコード回路28からローカルメモリ29へのデータ転送、及びローカルメモリ29から記録ヘッド62へのデータ転送をDMA転送としても良く、それによって、より高速なデータ転送が可能になり、より好ましい。また、圧縮データを格納する「メインメモリ」が受信バッファ部42としてDECU41と同じASIC4内に回路ブロックとして構成されていることによって、特に1クロックでデータを転送するような高速なDMA転送が可能になる。尚、ASIC4に受信バッファ部42を設けず、RAM22の一部を「メインメモリ」として使用しても良い。
【0084】
図6は、本願発明に係る「デコードユニット」としてのDECU41の構成を示したブロック図である。
前述した「DMA転送手段」としてのS−DMAコントローラ411は、システムバスSB側のDMA転送をコントロールする。S−DMAコントローラ411によって、受信バッファ部42に格納されている圧縮された記録データが1ワードずつ展開処理コントローラ412へDMA転送される。展開処理コントローラ412は、前述したデコード回路28とラインバッファ281を内蔵している。受信バッファ部42からS−DMAコントローラ411によって1ワードずつDMA転送された圧縮された記録データは、デコード回路28にて1ワードずつハードウェア展開され、展開された記録データがラインバッファ281へ格納されて蓄積される。
【0085】
同じく「DMA転送手段」としてのL−DMAコントローラ413は、ローカルバスLB側のDMA転送をコントロールする。また、ローカルメモリコントローラ414は、ローカルバスLBに接続されているローカルメモリ29の読み出し、及び書き込みを制御する。そして、ラインバッファ281に所定バイト数の展開後の記録データが蓄積された時点で、ラインバッファ281に蓄積された展開後の記録データは、L−DMAコントローラ413によってローカルメモリコントローラ414を介してローカルバスLB経由でローカルメモリ29へシステムバスSB側のDMA転送とは非同期にDMA転送される。ローカルメモリ29へDMA転送された展開後の記録データは、ローカルメモリ29の所定のビットマップエリアへ格納される。
【0086】
同じく「DMA転送手段」としてのI−DMAコントローラ415は、ASIC4内のDECU41とヘッド制御部33との間の専用バスである内部バスIBのDMA転送をコントロールする。ローカルメモリ29のビットマップエリアに格納された展開後の記録データは、I−DMAコントローラ415によってローカルメモリコントローラ414を介してローカルバスLB及び内部バスIBを経由してヘッド制御部33へDMA転送され、ヘッド制御部33内部のレジスタに格納された後、記録ヘッド62へDMA転送される。
【0087】
また、ラインバッファ281からローカルメモリ29へのDMA転送は、L−DMAコントローラ413によってバースト転送され、ローカルメモリ29から記録ヘッド62へのDMA転送は、I−DMAコントローラ415によってバースト転送される。前述したように、バースト転送とは、連続したデータを転送する際にアドレスの指定などの手順を一部省略することによって、所定のデータブロックのデータを全て転送し終えるまでの間バスを占有して転送するデータ転送方式である。L−DMAコントローラ413は、ラインバッファ281に所定バイト数の展開後の記録データが蓄積された時点で、所定バイト数の展開後の記録データを1ワードずつ、所定バイト数ローカルメモリ29へDMA転送し終えるまでローカルバスLBを占有してバースト転送する。I−DMAコントローラ415は、ローカルメモリ29のビットマップエリアに格納されている展開後の記録データを所定バイト数のデータブロック毎に1ワードずつ、1つのデータブロックを全て記録ヘッド62へDMA転送し終えるまでローカルバスLBを占有してバースト転送する。
【0088】
そして、ラインバッファ281からローカルメモリ29へのバースト転送と、ローカルメモリ29から記録ヘッド62へのバースト転送とが競合した場合には、ローカルメモリ29から記録ヘッド62へのバースト転送が優先され、ローカルメモリ29から記録ヘッド62へのバースト転送中は、ラインバッファ281からローカルメモリ29へのバースト転送は一時停止し、ローカルメモリ29から記録ヘッド62への記録データに基づく記録ヘッド62のノズルアレイからのインク噴射動作が途切れないようになっている。
【0089】
このように、記録ヘッド62に対して所定のデータブロックのデータを全て転送し終えるまでの間ローカルバスLBを占有して転送することにより、システムバスSB側のMPU24の要求によってデータ転送等を実行できなくなるなどの弊害が生じないので、記録ヘッド62への記録データのデータ転送を高速に行うことができる。
【0090】
図7及び図8は、DECU41内部において、圧縮された記録データがデコード回路28でハードウェア展開され、ラインバッファ281へ格納されるまでを模式的に示したものである。また、図9は、展開後の記録データがラインバッファ281からローカルメモリ29へ転送されて格納されるまでを模式的に示したものである。
【0091】
当該実施例においては、圧縮された記録データは、ランレングス圧縮方式によって圧縮されている。ランレングス圧縮方式は、公知のデータ圧縮方式であり、以下簡単に説明する。ランレングス圧縮データは、バイト境界の圧縮データであり、カウント(1バイト)とデータ(1バイト又は複数バイト)とがセットになっている。つまり、ランレングス圧縮データは、まずカウントがあり、その後には必ずデータがあるという構成になっている。カウントの値が128以上(負の定数)、つまり、80H以上の場合には、次の1バイトのデータを繰り返して展開することを意味しており、257からカウントの値を減算した数だけ、そのカウントの次の1バイトのデータを繰り返して展開する。一方、カウントの値が127以下、つまり、7FH以下の場合には、そのカウント以降に繰り返さないでそのまま展開するデータがつづくことを意味しており、そのカウントの値に1を加算したバイト数だけ、そのカウント以降のデータをそのまま繰り返さずに展開する。
【0092】
つづいて、ラインバッファ281の構成について説明する。ラインバッファ281は、8ワード(16バイト)の格納エリアに予備格納エリア1ワード(2バイト)を加えた9ワードのデータ格納エリアを2面有しており、それぞれA面、B面とする。デコード回路28にて1ワードずつ展開された記録データは、1ワードずつ順番にラインバッファ281のA面かB面のどちらか一面側に順次格納されていき、所定バイト数、当該実施例においては16バイトの展開データが蓄積された時点で、他面側に順次格納されていく。また、蓄積された16バイトの展開データは、前述したように、ローカルバスLBを経由してローカルメモリ29にDMA転送され、ローカルメモリ29の所定のビットマップエリアに格納される。
【0093】
このように、ラインバッファ281は、16バイトの展開後の記録データを格納可能なバッファ領域を2面有しており、デコード回路28にて展開した記録データを一面側に格納していく。そして、16バイト分蓄積された時点で、一面側の展開後の記録データをDMA転送手段によってワード単位で転送している間、デコード回路28にて展開した記録データを他面側に格納していくとができるので、圧縮された記録データの展開処理とデータ転送処理とを平行して行うことができる。
【0094】
つづいて、ランレングス圧縮データの一例を挙げ、その圧縮データがデコード回路28にて展開され、ラインバッファ281に格納され、ラインバッファ281からローカルメモリ29へ格納される記録データの流れを説明する。
【0095】
受信バッファ部(メインメモリ)42には、図示の如くFEHから始まる24ワード(48バイト)のランレングス圧縮された記録データが格納されているとする。ランレングス圧縮された記録データは、1ワードずつ、つまり、2バイトずつデコード回路28へシステムバスSBを経由してDMA転送され、ハードウェア展開され、ラインバッファ281へ格納される。当該実施例においては、ランレングス圧縮データのデータ開始アドレスは、偶数アドレスであり、ローカルメモリ29側のビットマップデータ(イメージデータ)のデータ開始アドレスは、偶数アドレスとなる。また、ラインバッファ281からローカルメモリ29へDMA転送されるデータブロックのバイト数(1ラインバイト数)は、16バイトである。
【0096】
尚、図7に示したメインメモリ、DECU41内部のラインバッファ281、及び図9に示したローカルメモリ29は、向かって左上端が偶数アドレスであり、左から右へ向かって順番に上位アドレスとなっていき、以下の図面においても全て同様とする。
【0097】
以下、1ワードずつ順を追って説明していく。まず、受信バッファ部42から最初の1ワードの圧縮された記録データ(FEH、01H)がDECU41内部のデコード回路28へDMA転送される(転送S1)。FEHはカウントであり、01Hはデータである。カウントの値FEH=254であり、128以上なので、257−254=3回、データ01Hが繰り返して展開され、ラインバッファ281のA面側に1バイトずつ順次格納される。次に、デコード回路28にDMA転送されるランレングス圧縮データは、03H、02Hである(転送S2)。03Hはカウントであり、02Hはデータである。カウントの値03H=3であり、127以下なので、このカウントの次のデータから3+1=4バイト、繰り返さないで展開するデータがあることになる。つまり、カウント03H以降のデータ02H、78H、55H、44Hが繰り返さずにそのまま展開され、ラインバッファ281のA面に順次格納される(転送S2〜S4)。転送S4にてDMA転送されたワードデータの上位側(奇数アドレス側)のFBHはカウントであり、次の1バイトのデータが6回(257−251=6)繰り返して展開されることになる。
【0098】
つづいて、デコード回路28にDMA転送される圧縮された記録データは、FFH、FEHである(転送S5)。下位アドレス側(偶数アドレス側)のFFHはデータであり、その前のカウントFBHのデータである。したがって、FFHが6回繰り返して展開され、ラインバッファ281のA面側に順次格納される。また、上位アドレス側(奇数アドレス側)のFEHはカウントであり、次の1バイトのデータが3回(257−254=3)繰り返して展開されることになる。つづいて、デコード回路28にDMA転送される圧縮された記録データは、11H、06Hである(転送S6)。下位アドレス側(偶数アドレス側)の11Hはデータであり、その前のカウントFEHのデータである。したがって、11Hが3回繰り返して展開され、ラインバッファ281のA面側に順次格納される。また、上位アドレス側(奇数アドレス側)の06Hはカウントであり、以降7バイト(6+1=7)のデータ(66H、12H、77H、45H、89H、10H、55H)が繰り返さずにそのまま展開され、ラインバッファ281のB面側に順次格納される(転送S7〜S10)。
【0099】
一方、ラインバッファ281のA面側に1ラインバイト数、つまり16バイトの展開後の記録データが蓄積された時点で(転送S6の時点)、16バイトを1ラインのデータブロックとして、ローカルメモリ29へ1ワードずつDMA転送する。その際、L−DMAコントローラ413は(図6)、1ラインの展開後の記録データを全てローカルメモリ29へDMA転送し終えるまでローカルバスLBを占有してバースト転送する(転送D1)。ローカルメモリ29へ転送された1ライン分の記録データは、ローカルメモリ29の所定のビットマップエリア内に、偶数アドレスを先頭にして下位アドレスから1ワードずつ順次格納されていく(図9(a))。
【0100】
つづいて、デコード回路28にDMA転送される圧縮された記録データは、10H、FAHである(転送S11)。下位アドレス側(偶数アドレス側)の10Hはデータであり、その前のカウントFBHのデータである。したがって、10Hが6回繰り返して展開され、ラインバッファ281のB面側に順次格納される。また、上位アドレス側(奇数アドレス側)のFAHはカウントであり、次の1バイトのデータが7回(257−250=7)繰り返して展開されることになる。つづいて、デコード回路28にDMA転送される圧縮された記録データは、20H、08Hである(転送S12)。下位アドレス側(偶数アドレス側)の20Hはデータであり、その前のカウントFAHのデータである。したがって、20Hが7回繰り返して展開され、ラインバッファ281のB面側に順次格納され、B面側の蓄積データが16バイトに達した時点で残りのデータがA面側に順次格納される。また、上位アドレス側(奇数アドレス側)の08Hはカウントであり、以降9バイト(8+1=9)のデータ(12H、13H、14H、15H、16H、17H、18H、19H、20H)が繰り返さずにそのまま展開され、ラインバッファ281のA面側に順次格納される(図8の転送S13〜S17)。
【0101】
一方、ラインバッファ281のB面側に1ラインバイト数、つまり16バイトの展開後の記録データが蓄積された時点で(転送S12の時点)、16バイトを1ラインのデータブロックとして、ローカルメモリ29へ1ワードずつDMA転送する。その際、L−DMAコントローラ413は(図6)、1ラインの展開後の記録データを全てローカルメモリ29へDMA転送し終えるまでローカルバスLBを占有してバースト転送する(転送D2)。ローカルメモリ29へ転送された1ライン分の記録データは、ローカルメモリ29の所定のビットマップエリア内に、偶数アドレスを先頭にして下位アドレスから1ワードずつ順次格納されていく(図9(b))。
【0102】
つづいて、デコード回路28にDMA転送される圧縮された記録データは、11H、02Hである(転送S18)。下位アドレス側(偶数アドレス側)の11Hはデータであり、その前のカウントFDH(転送S17の上位アドレス側)のデータである。したがって、11Hが3回(257−254=3)繰り返して展開され、ラインバッファ281のA面側に順次格納され、A面側の蓄積データが16バイトに達した時点で残りのデータがB面側に順次格納される。また、上位アドレス側(奇数アドレス側)の02Hはカウントであり、以降3バイト(2+1=3)のデータ(98H、B0H、F2H)が繰り返さずにそのまま展開され、ラインバッファ281のB面側に順次格納される(転送S19〜S20)。
【0103】
一方、ラインバッファ281のA面側に1ラインバイト数、つまり16バイトの展開後の記録データが蓄積された時点で(転送S18の時点)、16バイトを1ラインのデータブロックとして、ローカルメモリ29へ1ワードずつDMA転送する。その際、L−DMAコントローラ413は(図6)、1ラインの展開後の記録データを全てローカルメモリ29へDMA転送し終えるまでローカルバスLBを占有してバースト転送する(転送D3)。ローカルメモリ29へ転送された1ライン分の記録データは、ローカルメモリ29の所定のビットマップエリア内に、偶数アドレスを先頭にして下位アドレスから1ワードずつ順次格納されていく(図9(c))。
【0104】
つづいて、デコード回路28にDMA転送される圧縮された記録データは、ABH、03Hである(転送S21)。下位アドレス側(偶数アドレス側)のABHはデータであり、その前のカウントFCH(転送S20の上位アドレス側)のデータである。したがって、ABHが5回(257−252=5)繰り返して展開され、ラインバッファ281のB面側に順次格納される。また、上位アドレス側(奇数アドレス側)の03Hはカウントであり、以降4バイト(3+1=4)のデータ(FFH、FEH、FCH、FDH)が繰り返さずにそのまま展開され、ラインバッファ281のB面側に順次格納される(転送S22〜S23)。
【0105】
つづいて、デコード回路28にDMA転送される圧縮された記録データは、FEH、FFHである(転送S24)。下位アドレス側(偶数アドレス側)のFEHはカウントであり、上位アドレス側(奇数アドレス側)のFFHは、カウントFEHのデータである。したがって、FFHが3回(257−254=3)繰り返して展開され、ラインバッファ281のB面側に順次格納される。ラインバッファ281のB面側に1ラインバイト数、つまり16バイトの展開後の記録データが蓄積された時点で(転送S24の時点)、16バイトを1ラインのデータブロックとして、ローカルメモリ29へ1ワードずつDMA転送する。その際、L−DMAコントローラ413は(図6)、1ラインの展開後の記録データを全てローカルメモリ29へDMA転送し終えるまでローカルバスLBを占有してバースト転送する(転送D4)。
【0106】
ローカルメモリ29へ転送された1ライン分の記録データは、ローカルメモリ29の所定のビットマップエリア内に、偶数アドレスを先頭にして下位アドレスから1ワードずつ順次格納されていく(図9(d))。そして、1回の主走査パスでインクを噴射するビットマップデータ分の記録データがローカルメモリ29に格納された時点で、ローカルメモリ29から記録ヘッド62へDMA転送される。その際、I−DMAコントローラ415は(図6)、1回の主走査パスでインクを噴射するビットマップデータ分の記録データを全てヘッド制御部33へDMA転送し終えるまでローカルバスLBを占有してバースト転送する。
【0107】
このようにして、従来プログラムによって圧縮された記録データをソフトウェア展開していた処理を、デコード回路28によってハードウェア展開することによって、圧縮された記録データの展開処理を高速に実行することができる。また、従来プログラムによって1バイトずつ展開していた圧縮された記録データをワード単位(2バイト)で展開していくので、圧縮された記録データの展開処理をより高速に実行することができる。そして、システムバスSBとローカルバスLBとの2つの独立したバスと、ローカルバスLBに接続されたローカルメモリ29とを備えた構成によって、システムバスSB側と非同期にローカルバスLB側でローカルメモリ29から記録ヘッド62へのデータ転送を実行することができる。それによって、MPU24からROM21やRAM22へのアクセス等により、記録ヘッド62への記録データのデータ転送が中断され、記録データの転送遅延が生じて記録実行速度が低下してしまうことがない。さらに、DMA転送によってさらに高速なデータ転送が可能になる。
【0108】
したがって、圧縮された記録データの高速な展開処理と、記録ヘッド62への高速なデータ転送とを実現することができるので、インクジェット式記録装置50の記録実行速度を従来と比較して飛躍的に高速化することができる。ちなみに、従来技術においては1Mバイト/秒前後だった記録ヘッド62へのデータ転送速度は、本願発明に係るデータ転送装置10によって、8〜10Mバイト/秒にまで高速化することが可能になる。尚、記録ヘッド62のデータ処理能力が低いと、いくら高速なデータ転送を行っても記録ヘッド62のデータ処理能力の記録実行速度しか得られないので、十分処理の高い記録ヘッド62を配設する必要があるのは言うまでもないことである。
【0109】
また、本願発明に係るインクジェット式記録装置50の第2実施例としては、上述した第1実施例に加えて、DECU41からローカルメモリ29へ展開後の記録データをDMA転送して所定のビットマップエリアへ格納する際に、ビットマップエリアの下位アドレスから順番に格納する(横方向へ格納する)のではなく、記録ヘッド62にとって都合の良いデータ配列となるように1ラインのデータを縦方向に変換して格納していくものが挙げられる。
【0110】
図10は、展開後の記録データがラインバッファ281からローカルメモリ29へ転送されて格納されるまでを模式的に示したものであり、1ラインのデータが縦方向に変換されて格納される状態を示したものである。
【0111】
DMA転送先であるローカルメモリ29のビットマップエリアにおいて、1ラインのデータが縦方向に配置されて格納されるように、DECU41内部の展開処理コントローラ412(図6)にて、ラインバッファ281に格納されている展開後の記録データに1ワード毎に、転送先アドレスを個別に設定する。そして、DECU41内部のL−DMAコントローラ413(図6)は、その個別の転送先アドレスをDMA転送の転送先アドレスに設定して、ラインバッファ281に格納されている展開後の記録データを1ワードずつローカルメモリ29へDMA転送する(データ並び替え手段)。
【0112】
このように、ラインバッファ281から1ライン(16バイト)の記録データをローカルメモリ29へDMA転送する際に、DECU41の内部で展開後の記録データの並び替えを行うことによって、従来のようにプログラムで1バイトずつ順番にメモリ内のデータの並び替えを行うのと比較して、必要な記録データの並び替えを瞬時に行うことができるので、記録データの並び替えを高速に行うことができる。
【0113】
さらに、本願発明に係るインクジェット式記録装置50の第3実施例としては、上述した第1実施例、又は第2実施例に加えて、受信バッファ部42に格納されているランレングス圧縮された記録データのデータ開始アドレスが奇数アドレスである場合には、受信バッファ部42からデコード回路28へDMA転送されるランレングス圧縮データの先頭データを含むワードデータの先頭1バイトのデータを無効にする無効データマスク処理手段を備えたものが挙げられる。
【0114】
図11及び図12は、圧縮された記録データがデコード回路28でハードウェア展開され、ラインバッファ281へ格納されるまでを模式的に示したものであり、圧縮された記録データのデータ開始アドレスが奇数アドレスとなっている場合を示したものである。
【0115】
受信バッファ部42(メインメモリ)に格納されているランレングス圧縮された記録データの先頭のバイトデータ(FEH)は、先頭のワードデータの上位アドレス(奇数アドレス)に格納されている。つまり、この先頭のバイトデータを含むワードデータの下位アドレス(偶数アドレス)には、記録データとは無関係なデータ(AAH)が格納されている。しかし、受信バッファ部42からデコード回路28へ1ワードずつDMA転送すると、偶数アドレスを先頭にして転送することしかできない。したがって、ランレングス圧縮された記録データの先頭のワードデータをそのままデコード回路28にてハードウェア展開して処理してしまうと、記録データとは無関係なデータが含まれた状態で展開されてしまうことになり、圧縮された記録データを正しく展開することができなくなってしまう。
【0116】
そこで、展開処理コントローラ412(図6)において、先頭のバイトデータを含むワードデータの下位アドレス(偶数アドレス)の無関係なバイトデータをマスクして無効にしてからデコード回路28にて展開する。つまり、そのままデコード回路28にて先頭の1ワードを展開すると、AAHがカウントでFEHがデータになってしまうが、無関係なデータであるAAHを無効にすることによって、FEHをカウントとして正しく展開していくことができる。
【0117】
次にデコード回路28にDMA転送される圧縮された記録データは、01H、03Hである(転送S31)。下位アドレス側(偶数アドレス側)の01Hはデータであり、その前のカウントFEHのデータである。したがって、01Hが3回(257−254=3)繰り返して展開され、ラインバッファ281のA面側に順次格納される。また、上位アドレス側(奇数アドレス側)の03Hはカウントであり、以降4バイト(3+1=4)のデータ(02H、78H、55H、44H)が繰り返さずにそのまま展開され、ラインバッファ281のA面側に順次格納される(転送S32〜S33)。以下、第1実施例と同様の手順でランレングス圧縮された記録データが1ワードずつ展開されてラインバッファ281に順次格納され(転送S32〜S54)、1ラインバイト数(16バイト)の展開後の記録データが蓄積された時点でローカルメモリ29へDMA転送される(転送D1〜D4)。尚、受信バッファ部42に格納されているランレングス圧縮された記録データのデータ開始アドレスが、奇数アドレスか否かは、例えばMPU24にて実行されるファームウェアプログラム等で判定すれば良い。
【0118】
このようにして、受信バッファ部42に格納されているランレングス圧縮された記録データのデータ開始アドレスが奇数アドレスであっても、ランレングス圧縮された記録データの先頭から正確にデコード回路28にてハードウェア展開することができる。
【0119】
さらに、本願発明に係るインクジェット式記録装置50の第4実施例としては、上述した第1実施例〜第3実施例に加えて、1ラインバイト数を奇数バイトとしたものが挙げられる。
【0120】
図13及び図14は、圧縮された記録データがデコード回路28でハードウェア展開され、ラインバッファ281へ格納されるまでを模式的に示したものであり、前述した第1実施例又は第2実施例において、1ラインバイト数を15バイトとした場合を示したものである。また、図15は、第4実施例において、展開後の記録データがラインバッファ281からローカルメモリ29へ転送されてライン縦並び変換されて格納されるまでを模式的に示したものであり、図16は、ライン縦並び変換されずに格納されるまでを模式的に示したものである。
【0121】
前述したように、展開後の記録データは、ラインバッファ281からローカルメモリ29へ1ワードずつDMA転送されるので、ローカルメモリ29のビットマップエリアへ展開後の記録データの格納も1ワードずつ行われ、DECU41からローカルメモリ29へ奇数バイトの記録データをDMA転送することができない。そこで、展開処理コントローラ412(図6)において、ラインバッファ281の1ラインバイト数を奇数バイト、当該実施例においては15バイトに設定し、ラインバッファ281のA面側、又はB面側に15バイトの展開後の記録データが蓄積された時点で、ローカルメモリ29へDMA転送する。したがって、15バイト目の記録データが含まれるワードデータの上位アドレス側(奇数アドレス側)は00Hの状態でDMA転送されることになる(データ格納終了位置シフト手段)。
【0122】
転送S61〜S64までは、第1実施例(図7)の転送S1〜S4と同じなので説明は省略する。つづいて、デコード回路28にDMA転送される圧縮された記録データは、FFH、FFHである(転送S65)。下位アドレス側(偶数アドレス側)のFFHはデータであり、その前のカウントFBHのデータである。したがって、FFHが6回(257−251=6)繰り返して展開され、ラインバッファ281のA面側に順次格納される。また、上位アドレス側(奇数アドレス側)のFFHはカウントであり、次のデータが2回(257−255=2)繰り返して展開され、ラインバッファ281のA面側に順次格納されることになる。
【0123】
つづいて、デコード回路28にDMA転送される圧縮された記録データは、11H、06Hである(転送S66)。下位アドレス側(偶数アドレス側)の11Hはデータであり、その前のカウントFFHのデータである。したがって、FFHが2回繰り返して展開され、ラインバッファ281のA面側に順次格納される。また、上位アドレス側(奇数アドレス側)の06Hは、カウントであり、以降7バイト(6+1=7)のデータ(66H、12H、77H、45H、89H、10H、55H)が繰り返さずにそのまま展開され、ラインバッファ281のB面側に順次格納される(転送S67〜S70)。
【0124】
一方、ラインバッファ281のA面側に1ラインバイト数、つまり15バイトの展開後の記録データが蓄積された時点で(転送S66の時点)、15バイトを1ラインのデータブロックとして、ローカルメモリ29へ1ワードずつDMA転送する。その際、L−DMAコントローラ413は(図6)、1ラインの展開後の記録データを全てローカルメモリ29へDMA転送し終えるまでローカルバスLBを占有してバースト転送する(転送D1)。ローカルメモリ29へ転送された1ライン分の記録データは、ローカルメモリ29の所定のビットマップエリア内に、偶数アドレスを先頭にして下位アドレスから1ワードずつ、前述したデータ並び替え手段によってライン縦並び変換されて格納されていく(図15(a))。また、ライン縦並び変換しなければ、そのまま順次格納されていく(図16(a))。以下、同様にしてランレングス圧縮された記録データをデコード回路28にてハードウェア展開していき(転送S71〜S84)、ラインバッファ281に1ライン分15バイトの展開後の記録データが蓄積された時点でローカルメモリ29へDMA転送する(転送D2〜D4)。
【0125】
図17及び図18は、圧縮された記録データがデコード回路28でハードウェア展開され、ラインバッファ281へ格納されるまでを模式的に示したものであり、前述した第3実施例において、1ラインバイト数を15バイトとした場合を示したものである。
【0126】
転送S91〜S94までは、第2実施例(図11)の転送S31〜S34と同じなので説明は省略する。つづいて、デコード回路28にDMA転送される圧縮された記録データは、FFH、11Hである(転送S95)。下位アドレス側(偶数アドレス側)のFFHはカウントであり、上位アドレス側(奇数アドレス側)の11Hはデータである。したがって、11Hが2回(257−255=2)繰り返して展開され、ラインバッファ281のA面側に順次格納される。
【0127】
そして、ラインバッファ281のA面側に1ラインバイト数、つまり15バイトの展開後の記録データが蓄積された時点で(転送S95の時点)、15バイトを1ラインのデータブロックとして、ローカルメモリ29へ1ワードずつDMA転送される。その際、L−DMAコントローラ413は(図6)、1ラインの展開後の記録データを全てローカルメモリ29へDMA転送し終えるまでローカルバスLBを占有してバースト転送する(転送D1)。ローカルメモリ29へ転送された1ライン分の記録データは、ローカルメモリ29の所定のビットマップエリア内に、偶数アドレスを先頭にして下位アドレスから1ワードずつ、前述したデータ並び替え手段によってライン縦並び変換されて格納されていく(図15(a))。また、ライン縦並び変換しなければ、そのまま順次格納されていく(図16(a))。以下、同様にしてランレングス圧縮された記録データは、デコード回路28にてハードウェア展開され(転送S71〜S84)、ラインバッファ281に1ライン分15バイトの展開後の記録データが蓄積された時点でローカルメモリ29へDMA転送される(転送D2〜D4)。
【0128】
このようにして、ラインバッファ281に奇数バイトの展開後の記録データが蓄積された時点でローカルメモリ29へDMA転送することによって、最後のワードデータの上位アドレス側が00Hの状態で転送されるので、ローカルメモリ29のビットマップエリアに格納された展開後の記録データは、図15(d)及び図16(d)に示したように、1ラインの最後の1バイトが00Hとなり、1ラインの記録データをデータ開始アドレスが偶数アドレスで奇数バイトとなるように、記録データをローカルメモリ29のビットマップエリアに格納していくことができる。
【0129】
さらに、本願発明に係るインクジェット式記録装置50の第5実施例としては、上述した第2実施例〜第4実施例のいずれかに加えて、1ラインの記録データをデータ開始アドレスが奇数アドレスとなるように、記録データをローカルメモリ29のビットマップエリアに格納するものが挙げられる。
【0130】
記録ヘッド62のヘッド面に複数並んで配設されているノズル列は、ノズル列毎に噴射するインクの色が決まっている。一方、ローカルメモリ29のビットマップエリアに格納されている記録データは、ライン毎に各ノズル列に対応したインク色毎のデータとなっている。そして、そのノズル列の間隔によるインク噴射タイミングのずれを補正する手段において、先頭アドレスを奇数アドレスにして1ラインの記録データをローカルメモリ29のビットマップエリアに格納する必要がある場合がある。
【0131】
しかし、前述したように、受信バッファ部42からデコード回路28へ1ワードずつDMA転送することによって、ローカルメモリ29のビットマップエリアへ展開後の記録データは常に偶数アドレスを先頭にして格納されるので、そのままでは奇数アドレスを先頭にして記録データを格納することができない。そこで、展開処理コントローラ412(図6)において、デコード回路28にて展開した記録データをラインバッファ281に格納する際に、ラインバッファ281の0バイト目を空けた状態で、1バイト目から格納していく(データ格納開始位置シフト手段)。つまり、デコードユニット28において、圧縮された記録データの展開処理した後、展開後の記録データをラインバッファ281に格納する際に、ラインバッファ281の0バイト目を空けた状態で1バイト目から格納し、ラインバッファ281に格納された展開後の記録データをラインバッファ281の0バイト目からローカルメモリ29のビットマップエリアへDMA転送する。
【0132】
図19及び図20は、圧縮された記録データがデコード回路28でハードウェア展開され、ラインバッファ281へ格納されるまでを模式的に示したものであり、前述した第2実施例において、ラインバッファ281の0バイト目を空の状態のまま1バイト目から展開後の記録データを展開するようにした場合を示したものである。また、図21は、1ライン16バイトの展開後の記録データがラインバッファ281からローカルメモリ29へ転送され、ライン縦並び変換されて奇数アドレスを先頭にして格納されるまでを模式的に示したものである。
【0133】
前述したように、ラインバッファ281は、A面及びB面とも8ワード(16バイト)分の格納エリアに加えて、1ワード(2バイト)の予備格納エリアを備えている。デコード回路28にて1ワードずつ展開された記録データは、ラインバッファ281のA面側の0バイト目が空のままの状態で、1バイト目から格納されていく。そして、0バイト目を空にしたことによって格納エリアからはみ出してしまう16バイト目の記録データが予備格納エリアへ格納される。
【0134】
ラインバッファ281のA面側に16バイトの展開後の記録データが蓄積された時点で16バイト分の格納エリアと予備格納エリアとの計18バイト(9ワード)分の記録データが1ラインのデータブロックとして、ローカルメモリ29へ1ワードずつDMA転送される。その際、L−DMAコントローラ413は(図6)、1ラインの展開後の記録データを全てローカルメモリ29へDMA転送し終えるまでローカルバスLBを占有してバースト転送する(転送D1)。ローカルメモリ29へ転送された1ライン分の記録データは、ローカルメモリ29の所定のビットマップエリア内に、偶数アドレスを先頭にして下位アドレスから1ワードずつ、前述したデータ並び替え手段によってライン縦並び変換されて格納されていく(図21(a))。したがって、先頭に1バイトの空データが付加された状態でローカルメモリ29へDMA転送されてビットマップエリアの偶数アドレスに格納されるので、1ラインの記録データは、先頭のデータが奇数アドレスから格納された状態となる。
【0135】
以下、同様にしてランレングス圧縮された記録データをデコード回路28にてハードウェア展開していき、ラインバッファ281に1ライン分16バイトの展開後の記録データが蓄積された時点でローカルメモリ29へDMA転送する(転送D2〜D4)。尚、転送S121〜S144の説明は、図7に示した転送S1〜S24の説明と同様なので省略する。
【0136】
このようにして、デコード回路28にて1ワードずつ展開された記録データは、ラインバッファ281のA面側の0バイト目が空のままの状態で、1バイト目から格納されていき、16バイトの展開後の記録データが格納された時点でローカルメモリ29へDMA転送することによって、最初のワードデータの下位アドレス側が00Hの状態で転送されるので、ローカルメモリ29のビットマップエリアに格納された展開後の記録データは、図21(d)に示したように、1ラインの最初の1バイトが00Hとなり、1ラインの記録データをデータ開始アドレスが奇数アドレスとなるように、記録データをローカルメモリ29のビットマップエリアに格納していくことができる。
【0137】
また、図22及び図23は、圧縮された記録データがデコード回路28でハードウェア展開され、ラインバッファ281へ格納されるまでを模式的に示したものであり、前述した第4実施例において、ラインバッファ281の0バイト目を空の状態のまま1バイト目から展開後の記録データを展開するようにした場合を示したものである。また、図24は、1ライン15バイトの展開後の記録データがラインバッファ281からローカルメモリ29へ転送され、ライン縦並び変換されて奇数アドレスを先頭にして格納されるまでを模式的に示したものである。
【0138】
このように、1ラインバイト数を15バイト、つまり奇数バイトとすることもできる。したがって、図24(d)に示したように、1ラインの最初の1バイトが00Hとなり、1ライン15バイトの記録データをデータ開始アドレスが奇数アドレスとなるようにローカルメモリ29のビットマップエリアに格納していくことができる。
【0139】
また、図25及び図26は、圧縮された記録データがデコード回路28でハードウェア展開され、ラインバッファ281へ格納されるまでを模式的に示したものであり、前述した第3実施例において、ラインバッファ281の0バイト目を空の状態のまま1バイト目から展開後の記録データを展開し、1ラインの記録データを16バイトとした場合を示したものである。同様に、図27及び図28は、前述した第3実施例において、ラインバッファ281の0バイト目を空の状態のまま1バイト目から展開後の記録データを展開し、1ラインの記録データを15バイトとした場合を示したものである。
【0140】
このように、受信バッファ部42に奇数アドレスを先頭にして格納されている圧縮された記録データを、デコード回路28にて展開した後、1ライン16バイト、又は15バイトの記録データをローカルメモリ29のビットマップエリアに奇数アドレスを先頭にして格納することもできる。
【0141】
さらに、本願発明に係るインクジェット式記録装置50の第6実施例としては、上述した第1実施例〜第5実施例のいずれかに加えて、展開後の記録データをローカルメモリ29の異なる2つのビットマップエリアへ格納するものが挙げられる。図29は、1ライン16バイトの展開後の記録データがラインバッファ281からローカルメモリ29へ転送され、ライン縦並び変換されて偶数アドレスを先頭にして異なる2つのビットマップエリアへ格納されるまでを模式的に示したものである。
【0142】
展開後のビットマップデータにおける副走査方向Yのドット間隔が、副走査方向Yの隣接するノズルアレイの間隔より小さい場合には、副走査方向Yに隣接するインクドットを1回の主走査で同時に形成することができないので、異なる主走査動作時に形成することになる。しかし、デコード回路28にて展開したビットマップデータは、副走査方向Yに隣接して形成されるインクドットデータが連続して並んでいるデータ構成となっているので、展開後のビットマップデータをそのまま記録ヘッド62に転送して記録することができない。そのため、副走査方向Yに隣接するインクドットデータを異なるビットマップエリアに格納して異なる主走査時に記録ヘッド62に転送できるように展開後のビットマップデータを分割する必要がある。
【0143】
そこで、あらかじめローカルメモリ29内に2つの異なるビットマップエリアを設ける。ここでは、それぞれイメージ1、イメージ2とする。DMA転送先であるローカルメモリ29のビットマップエリアにおいて、1ラインのデータがイメージ1とイメージ2とに交互に格納されるように、展開処理コントローラ412(図6)にてラインバッファ281に格納されている展開後の記録データに1ワード毎に、転送先アドレスを個別に設定する。そして、DECU41内部のL−DMAコントローラ413(図6)は、その個別の転送先アドレスをDMA転送の転送先アドレスに設定して、ラインバッファ281に格納されている展開後の記録データを1ワードずつローカルメモリ29へDMA転送する(データ分割手段)。
【0144】
まず、ラインバッファ281のA面側に1ライン分16バイトの展開後の記録データが蓄積された時点で1ライン分の記録データがローカルメモリ29へDMA転送され(転送D1)、イメージ1へ格納される(図29(a))。つづいて、ラインバッファ281のB面側に1ライン分16バイトの展開後の記録データが蓄積された時点で1ライン分の記録データがローカルメモリ29へDMA転送され(転送D2)、イメージ2へ格納される(図29(b))。つづいて、ラインバッファ281のA面側に1ライン分16バイトの展開後の記録データが蓄積された時点で1ライン分の記録データがローカルメモリ29へDMA転送され(転送D3)、イメージ1へ格納される(図29(c))。そして、ラインバッファ281のB面側に1ライン分16バイトの展開後の記録データが蓄積された時点で1ライン分の記録データがローカルメモリ29へDMA転送され(転送D4)、イメージ2へ格納される(図29(d))。
【0145】
このようにして、圧縮された記録データを展開処理した後、ラインバッファ281に格納されている展開後の記録データを、副走査方向Yに隣接するインクドットが、それぞれ異なる主走査時に形成されるように、展開された記録データを1ライン分ずつローカルメモリ29の異なるビットマップエリアへDMA転送する。それによって、圧縮された記録データの展開処理(デコード回路28)と展開後の記録データの分割(展開処理コントローラ412)とをハードウェア処理によって高速に行うことができる。また、図30は、1ライン16バイトの展開後の記録データがラインバッファ281からローカルメモリ29へ転送され、ライン縦並び変換されずにそのまま偶数アドレスを先頭にして異なる2つのビットマップエリアへ格納されるまでを模式的に示したものである。
【0146】
また、図31は、1ライン15バイトの展開後の記録データがラインバッファ281からローカルメモリ29へ転送され、ライン縦並び変換されて偶数アドレスを先頭にして異なる2つのビットマップエリアへ格納されるまでを模式的に示したものである。図32は、1ライン15バイトの展開後の記録データがラインバッファ281からローカルメモリ29へ転送され、ライン縦並び変換されずにそのまま偶数アドレスを先頭にして異なる2つのビットマップエリアへ格納されるまでを模式的に示したものである。
【0147】
このように、1ラインバイト数を奇数バイトとして、ラインバッファ281に奇数バイトの展開後の記録データが格納された時点でローカルメモリ29へDMA転送することによって、1ライン分の記録データは、最後のワードデータの上位アドレス側が00Hの状態で転送される。したがって、ローカルメモリ29のビットマップエリアに格納された展開後の記録データは、1ラインの最後の1バイトが00Hとなり、1ラインの記録データは、データ開始アドレスが偶数アドレスで奇数バイトとなるように、イメージ1とイメージ2との2つの異なるビットマップエリアへライン毎にそれぞれ格納される。
【0148】
また、図33は、1ライン16バイトの展開後の記録データがラインバッファ281からローカルメモリ29へ転送され、ライン縦並び変換されて奇数アドレスを先頭にして異なる2つのビットマップエリアへ格納されるまでを模式的に示したものである。図34は、1ライン15バイトの展開後の記録データがラインバッファ281からローカルメモリ29へ転送され、ライン縦並び変換されて奇数アドレスを先頭にして異なる2つのビットマップエリアへ格納されるまでを模式的に示したものである。
【0149】
このように、デコード回路28にて1ワードずつ展開された記録データは、ラインバッファ281のA面側の0バイト目が空のままの状態で、1バイト目から格納されていき、16バイトの展開後の記録データが格納された時点でローカルメモリ29へDMA転送することによって、最初のワードデータの下位アドレス側が00Hの状態で転送されるので、ローカルメモリ29のビットマップエリアに格納された展開後の記録データは、1ラインの最初の1バイトが00Hとなり、1ラインの記録データをデータ開始アドレスが奇数アドレスとなるように、イメージ1とイメージ2との2つの異なるビットマップエリアへライン毎にそれぞれ格納される。
【0150】
さらに、本願発明に係るインクジェット式記録装置50の第7実施例としては、前述した第1実施例〜第6実施例のいずれかにおいて、受信バッファ部42に格納されている記録データが非圧縮データである場合には、展開処理をせずにビットマップエリアへ格納するものが挙げられる。図35は、非圧縮の記録データがそのままラインバッファ281に格納され、ローカルメモリ29へDMA転送される状態を模式的に示したものである。
【0151】
このように、情報処理装置200等から受信バッファ部42へ転送された記録データが非圧縮のデータである場合には、デコード回路28にて展開処理せずに、そのままラインバッファ281に1ワードずつ格納される。そして、その後は、圧縮された記録データをデコード回路28にて展開した場合と同様に、展開処理コントローラ(図6)において、前述した第2実施例〜第6実施例に示したように、1ラインバイト数を16バイト又は15バイトに設定し、記録データの並び替えたり、あるいは、先頭アドレスを奇数アドレスにしてローカルメモリ29へ格納したり、2つの異なるビットマップエリアに格納したりすることができる。
【0152】
尚、本願発明は上記実施例に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本願発明の範囲内に含まれるものであることは言うまでもない。
【図面の簡単な説明】
【図1】 本願発明に係るインクジェット式記録装置の平面図である。
【図2】 本願発明に係るインクジェット式記録装置の側面図である。
【図3】 本願発明に係るインクジェット記録装置のブロック図である。
【図4】 データ転送装置の構成を示したブロック図である。
【図5】 記録データの流れを示したタイミングチャートである。
【図6】 DECUの構成を示したブロック図である。
【図7】 圧縮データが展開される流れを模式的に示したものである。
【図8】 圧縮データが展開される流れを模式的に示したものである。
【図9】 展開後の記録データを模式的に示したものである。
【図10】 展開後の記録データを模式的に示したものである。
【図11】 圧縮データが展開される流れを模式的に示したものである。
【図12】 圧縮データが展開される流れを模式的に示したものである。
【図13】 圧縮データが展開される流れを模式的に示したものである。
【図14】 圧縮データが展開される流れを模式的に示したものである。
【図15】 展開後の記録データを模式的に示したものである。
【図16】 展開後の記録データを模式的に示したものである。
【図17】 圧縮データが展開される流れを模式的に示したものである。
【図18】 圧縮データが展開される流れを模式的に示したものである。
【図19】 圧縮データが展開される流れを模式的に示したものである。
【図20】 圧縮データが展開される流れを模式的に示したものである。
【図21】 展開後の記録データを模式的に示したものである。
【図22】 圧縮データが展開される流れを模式的に示したものである。
【図23】 圧縮データが展開される流れを模式的に示したものである。
【図24】 展開後の記録データを模式的に示したものである。
【図25】 圧縮データが展開される流れを模式的に示したものである。
【図26】 圧縮データが展開される流れを模式的に示したものである。
【図27】 圧縮データが展開される流れを模式的に示したものである。
【図28】 圧縮データが展開される流れを模式的に示したものである。
【図29】 展開後の記録データを模式的に示したものである。
【図30】 展開後の記録データを模式的に示したものである。
【図31】 展開後の記録データを模式的に示したものである。
【図32】 展開後の記録データを模式的に示したものである。
【図33】 展開後の記録データを模式的に示したものである。
【図34】 展開後の記録データを模式的に示したものである。
【図35】 非圧縮の記録データが転送される状態を示したものである。
【図36】 従来技術におけるデータ転送装置を示したブロック図である。
【符号の説明】
4 ASIC、10 データ転送装置、21 ROM、22 RAM、24 MPU、27 インターフェース部、28 デコード回路、29 ローカルメモリ、33 ヘッド制御部、41 DECU(デコードユニット)、42 受信バッファ部、50 インクジェット式記録装置、51 キャリッジガイド軸、52 プラテン、53 搬送駆動ローラ、54 搬送従動ローラ、55 排紙駆動ローラ、56 排紙従動ローラ、57 給紙トレイ、57b 給紙ローラ、61 キャリッジ、62 記録ヘッド、63 紙検出器、100 記録制御部、200 情報処理装置、281 ラインバッファ、411 S−DMAコントローラ、412 展開処理コントローラ、413 L−DMAコントローラ、414 ローカルメモリコントローラ、415 I−DMAコントローラ、X 主走査方向、Y 副走査方向、SB システムバス、LB ローカルバス、IB 内部バス
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data transfer device for liquid ejection data for transferring liquid ejection data input from a liquid ejection head to a liquid ejection apparatus that ejects a liquid such as ink onto an ejection target medium, and the liquid ejection. The present invention relates to a liquid ejecting apparatus including a data transfer device.
[0002]
[Prior art]
A so-called ink jet recording apparatus as a liquid ejecting apparatus ejects ink from a recording head onto recording paper or the like to record image data or the like. Image data or the like that has been compressed so as to be line-developable is line-developed and developed into a bitmap image, and the developed bitmap image is disposed on the recording surface of the recording paper so as to be formed on the recording surface of the recording paper. A plurality of ink droplets are ejected from a large number of nozzle arrays. An image is formed on the recording paper by ejecting ink droplets of a plurality of colors onto the recording surface to form a large number of ink dots. The compressed data that can be expanded in line is, for example, compressed data by a generally known run-length compression method or the like, and is compressed data by a compression method that can be sequentially expanded in units of bytes.
[0003]
In general, such an ink jet recording apparatus inputs image data that has been compressed so that line expansion is possible from an external device such as a personal computer, and expands (decompresses) the input compressed data to expand the bitmap. A data transfer device is provided that performs necessary data processing on the image and then transfers the data to a register of the recording head. A conventional general data transfer apparatus has a configuration as shown in FIG. 36, for example.
[0004]
The data transfer device 10 includes a system bus SB as a data transfer path. A microprocessor (MPU) 11, a RAM 12, and a head control unit 13 are connected to the system bus SB so as to be able to transfer data, and a recording head 62 is connected to the head control unit 13. Compressed recording data transferred from an information processing apparatus such as a personal computer or a digital camera (not shown) is stored in the RAM 12 via the system bus SB.
[0005]
The compressed recording data stored in the compressed data storage area of the RAM 12 is sequentially transferred byte by byte to the microprocessor 11 via the system bus SB (path indicated by symbol A), and the compressed data is decompressed by the program. Are sequentially decompressed one byte at a time, and then data is again transferred byte by byte to the RAM 12 via the system bus SB (path indicated by symbol B) and stored in a desired bitmap image area of the RAM 12. When all the development data is stored in the bitmap image area of the RAM 12, the development data in the bitmap image area is transferred to the register (not shown) in the head controller 13 byte by byte via the system bus SB. Then, based on the bitmap image, ink is ejected from each nozzle array of the recording head 62 onto the recording paper.
[0006]
Also, as an example of the prior art for speeding up data transfer processing, there is known a system in which two independent buses, a system bus and a local bus, are provided and two bus controllers are arranged between the system bus and the local bus. It is. In the data transfer device, while one bus controller is accessing the main memory connected to the system bus side, the other bus controller performs parallel processing to access the local memory connected to the local bus side. To speed up the data transfer process (see, for example, Patent Document 1).
[0007]
[Patent Document 1]
Japanese Patent No. 3251053
[0008]
[Problems to be solved by the invention]
In the data transfer apparatus 10 of the conventional liquid ejecting apparatus configured as described above, in order to improve the liquid ejecting execution speed, that is, in order to increase the recording speed in the ink jet recording apparatus, the following is performed. Issues such as will become a barrier.
[0009]
First, since the compressed recording data is expanded (decompressed) byte by byte by a program, a large amount of compressed data cannot be processed at high speed. If the microprocessor 11 having a high processing capacity capable of operating with a high-speed clock is used, the processing speed can be increased. However, if such an expensive microprocessor 11 is mounted, the cost of the data transfer apparatus 10 is significantly increased. The problem arises.
[0010]
Further, since data transfer to and from the RAM 12 are all performed via the microprocessor 11, while the microprocessor 11 is performing other data processing or computations, for example, the microprocessor 11 is While fetching a program or the like, there is a case where data transfer is kept waiting, thereby causing a data transfer delay, and thus high-speed data transfer cannot be performed.
[0011]
Furthermore, in the prior art disclosed in Patent Document 1 described above, since compressed recording data is expanded (decompressed) byte by byte by a program, a large amount of compressed data is processed at high speed. Unable to deploy. Therefore, in a liquid ejecting apparatus such as a recording apparatus that decompresses compressed recording data transferred from the information processing apparatus and transfers the data to the recording head to execute recording, the data transfer process can be performed at high speed. Even with a simple configuration, the process of expanding the compressed data is still slow, so the liquid jet execution speed cannot be improved.
[0012]
The present invention has been made in view of such a situation, and its problem is to realize high-speed decompression processing of compressed data and high-speed data transfer to the liquid ejecting head, and the liquid ejecting of the liquid ejecting apparatus. The purpose is to dramatically increase the execution speed compared to the conventional one.
[0013]
[Means for Solving the Problems]
To achieve the above object, according to a first aspect of the present invention, there is provided a decoding circuit capable of hardware-expanding liquid jet data compressed so as to be line-expanded and DMA-transferred from a main memory via a system bus in units of words. A line buffer in which the liquid ejection data developed by the decoding circuit is stored in units of words, and the liquid ejection data compressed from the main memory so as to be capable of line development are DMA-transferred to the decoding circuit, and the line buffer A decode unit having DMA transfer means for DMA-transferring the developed liquid ejection data to a local memory in word units and sequentially transferring the developed liquid ejection data stored in the local memory to a register of the liquid ejection head; A liquid transfer data transfer apparatus comprising the decoding unit, When the data expanded in the line buffer is DMA-transferred to the bitmap area on the local memory in word units, data dividing means for storing the data in different bitmap areas for each predetermined number of words is provided. This is a data transfer device for liquid ejection data.
[0014]
First, the data transfer rate of the compressed liquid jet data from the main memory, which has conventionally been performed byte by byte, can be increased by a factor of two or more by transferring the data in units of words (2 bytes). . For example, if the system bus is a 16-bit bus, compressed liquid jet data stored in the main memory can be read out by one word (2 bytes) at a time in one data transfer. Then, the compressed liquid ejection data stored in the main memory every 2 words (4 bytes) can be read.
[0015]
In addition, the processing for developing the liquid ejection data compressed by the conventional program in software is expanded in hardware by the decoding circuit. In other words, in addition to the compressed data decompression process, the compressed data is decompressed by a decoding circuit dedicated to decompressing compressed data, rather than decompressing the compressed data by a single thread program that sequentially executes a number of various data processing procedures. By executing the above, it is possible to execute the decompression process of the compressed liquid ejection data at high speed.
[0016]
Furthermore, high-speed data transfer is possible by DMA (Direct Memory Access) transfer. DMA transfer is a well-known transfer method in which data transfer can be performed at high speed by hardware without using a microprocessor when the transfer source and transfer destination addresses and the number of transfers are set in predetermined registers.
[0017]
By the way, for example, an ink jet recording apparatus as a liquid ejecting apparatus has a plurality of nozzle arrays arranged on a head surface of a recording head as a liquid ejecting head based on bitmap data obtained by developing compressed recording data. Ink is then ejected onto the recording paper to form ink dots on the surface of the recording paper and recording is performed. A large number of nozzle arrays arranged on the head surface are arranged in a direction orthogonal to the scanning direction of the recording head so that a plurality of nozzle arrays that eject ink of the same color are arranged in a direction perpendicular to the scanning direction of the recording head. A plurality of nozzle rows are arranged in the scanning direction of the recording head.
[0018]
Here, when the scanning direction of the recording head is the main scanning direction and the direction perpendicular to the main scanning direction along the head surface is the sub-scanning direction, the ink jet recording apparatus moves the recording head to the main scanning direction with respect to the recording paper. Recording is performed by alternately performing an operation of forming ink dots on the recording paper by ejecting ink from the nozzle array while reciprocating, and an operation of relatively moving the recording paper by a predetermined movement amount in the sub-scanning direction. It will be executed. The resolution in the sub-scanning direction in the developed bitmap data is not necessarily the same as the resolution in the sub-scanning direction of the recording head, and is often bitmap data having a resolution higher than the resolution of the liquid jet head. That is, if the dot interval in the sub-scanning direction in the developed bitmap data is smaller than the interval between adjacent nozzle arrays in the sub-scanning direction, ink dots adjacent in the sub-scanning direction are simultaneously formed in one main scan. Can not do it. For example, the resolution of the bitmap data is 360 dpi, whereas the resolution of the recording head is 180 dpi, which is a half of the resolution.
[0019]
In such a case, ink dots adjacent in the sub-scanning direction are formed during different main scanning operations. However, since the bitmap data developed by the decoding circuit has a data configuration in which ink dot data formed adjacent to each other in the sub-scanning direction is continuously arranged, the developed bitmap data is recorded as it is. It cannot be transferred to the head for recording. Therefore, it is necessary to divide the developed bitmap data so that the ink dot data adjacent in the sub-scanning direction can be stored in different bitmap areas and transferred to the recording head during different main scans. Conventionally, after expanding the recording data compressed by the program, the bitmap data is divided by data processing by the program.
[0020]
However, even if high-speed hardware expansion processing is performed by the decoding circuit, if the subsequent data division processing is performed by a program as in the conventional case, the liquid ejection data expanded by the decoding circuit is stored in the local memory, and then the program The expanded liquid ejection data stored in the local memory must be divided and stored in separate bitmap areas one by one, thereby expanding the compressed liquid ejection data at high speed The effect will be reduced.
[0021]
Therefore, when the data expanded in the line buffer is DMA-transferred to the bitmap area on the local memory in units of words, a data dividing means for storing the data in a different bitmap area every predetermined number of words is provided in the decode unit. Provide. In other words, after the compressed liquid ejection data is expanded in the decoding unit, the expanded liquid ejection data stored in the line buffer is divided into different main ink dots in the sub-scanning direction by the data dividing means. DMA transfer to a different bitmap area on the local memory so that it can be formed during scanning. Thereby, the decompression process of the compressed liquid ejection data and the division of the liquid ejection data after the decompression can be performed at high speed.
[0022]
As a result, according to the liquid ejection data transfer device shown in the first aspect of the present invention, by the decode unit incorporating the decode circuit and the DMA transfer capable of high-speed data transfer without using the microprocessor. Since it is possible to realize high-speed decompression processing of compressed data and high-speed data transfer to the liquid ejecting head, the liquid ejecting speed of the liquid ejecting apparatus can be dramatically increased as compared with the prior art. The effect that it can be obtained.
[0023]
Then, the compressed liquid ejection data is hardware-processed at high speed by the decoding circuit by the data dividing means for DMA transfer while dividing the expanded liquid ejection data stored in the line buffer into different bitmap areas on the local memory. The effect of deploying can be maximized.
[0024]
According to a second aspect of the present invention, in the first aspect described above, the data dividing unit sets the number of bitmap areas to be divided according to a ratio between the resolution of the liquid jet data and the resolution of the liquid jet head. This is a data transfer device for liquid ejection data.
[0025]
According to the liquid ejection data transfer device shown in the second aspect of the present invention, the number of bitmap areas to be divided is set according to the ratio between the resolution of the liquid ejection data and the resolution of the liquid ejection head. Thus, the operational effects of the invention shown in the first aspect described above can be obtained.
[0026]
According to a third aspect of the present invention, in the first aspect or the second aspect described above, in the word data including the head data of the compressed data DMA-transferred from the main memory to the decoding circuit, the compressed liquid There is provided invalid data mask processing means for invalidating data from the beginning by the number of remaining bytes obtained by dividing the data start address value of the ejection data by the number of data bytes that can be transferred by the system bus in one data transfer. The liquid ejection data transfer device is characterized by the above.
[0027]
DMA transfer in units of words using a 16-bit bus or the like can always be performed with an even address as the head. Then, for example, when the system bus is a 16-bit bus and data is transferred one word (2 bytes) at a time in one data transfer operation, the data start address of the compressed liquid ejection data stored in the main memory is When the address is an odd number, byte data unrelated to the liquid ejection data is mixed in one word (2 bytes) of transfer data including the head data of the compressed data. That is, the first byte of the word data (byte data at even addresses) is byte data unrelated to the liquid ejection data, and the second byte of the word data (byte data at odd addresses) is the head of the liquid ejection data. It becomes byte data. For this reason, if the compressed liquid ejection data having an odd start address is DMA-transferred from the main memory to the decoding circuit in units of words and hardware development processing is performed, irrelevant data is added to the head of the original liquid ejection data. Thus, the liquid ejection data in the state is developed.
[0028]
Therefore, if the transfer data including the head data of the compressed data DMA-transferred from the main memory to the decoding circuit includes irrelevant byte data, the irrelevant byte data is invalidated and the decoding circuit performs hardware processing. Deploy the wear. Specifically, first, the system bus, which is a data transfer path from the main memory to the decode circuit, determines how many bytes of data can be transferred in one data transfer. For example, for a 16-bit bus, 16 bits / 1 byte (8 bits) = 2 bytes, for a 32-bit bus, 4 bytes, and for a 64-bit bus, 8 bytes.
[0029]
Then, the remainder obtained by dividing the data start address of the compressed liquid jet data DMA-transferred from the main memory by the decoding circuit by the number of data bytes that can be transferred by the system bus in one data transfer is obtained. In other words, if there is no remainder when the data start address is divided by the number of bytes transferred by the system bus in one data transfer, the transfer data in word units including the head data of the compressed data is the first byte data (even address) ) Is the first byte data of the compressed liquid ejection data, and irrelevant byte data is not included. On the other hand, if there is a remainder, the transfer data in units of words including the head data of the compressed data includes irrelevant byte data from the head by the number of bytes of the remainder.
[0030]
Therefore, in the word data including the head data of the compressed data DMA-transferred from the main memory to the decoding circuit, which may contain irrelevant byte data, the compressed liquid jet to be DMA-transferred from the main memory by the decoding circuit. The data start address of the data is invalidated by the remainder of the number of bytes divided by the number of bytes of data that can be transferred in one data transfer by the above system bus. To store. As a result, only the irrelevant byte data included in the word data including the head data of the compressed data DMA-transferred from the main memory to the decoding circuit is invalidated, and only the compressed liquid jet data is expanded by the decoding circuit. Can continue.
[0031]
Thereby, according to the data transfer apparatus for liquid ejection data shown in the third aspect of the present invention, in addition to the operational effects of the invention shown in the first aspect or the second aspect described above, decoding is performed from the main memory. DMA transfer of compressed liquid ejection data to the circuit in units of words enables faster data transfer and is independent of compressed liquid ejection data DMA-transferred from the main memory to the decode circuit in units of words. If invalid byte data is included, the invalid data mask processing means described above invalidates the irrelevant byte data accurately, and only the compressed liquid ejection data is reliably subjected to hardware development processing from the beginning. The effect of being able to be obtained is obtained.
[0032]
According to a fourth aspect of the present invention, in the first aspect or the second aspect described above, word data including head data of compressed data DMA-transferred from the main memory to the decoding circuit is stored in the main memory. When the data start address of the stored compressed data is an odd address, the liquid jet data transfer device is provided with invalid data mask processing means for invalidating the data of the first byte. is there.
[0033]
As described above, when irrelevant byte data is included in the transfer data including the head data of the compressed data DMA-transferred from the main memory to the decoding circuit, the irrelevant byte data is invalidated and then transferred to the decoding circuit. And deploy hardware. Specifically, since the compressed liquid ejection data is DMA-transferred from the main memory via the system bus one word at a time, the data start address of the compressed liquid ejection data stored in the main memory is If the address is an odd address, the transfer data of one word (2 bytes) including the head data of the compressed data is the byte data in which the first byte of the word data (byte data of the even address) is unrelated to the liquid ejection data, The second byte of the word data (byte data at odd addresses) is the first byte data of the liquid ejection data.
[0034]
Therefore, when the data start address of the compressed liquid ejection data stored in the main memory is an odd address, the first 1 of word data including the first data of the compressed data DMA-transferred from the main memory to the decoding circuit. Disable bytes. As a result, only the irrelevant byte data included in the word data including the head data of the compressed data DMA-transferred from the main memory to the decoding circuit is invalidated, and only the compressed liquid jet data is expanded by the decoding circuit. Can continue.
[0035]
Thus, according to the data transfer device for liquid ejection data shown in the fourth aspect of the present invention, in addition to the operational effects of the invention shown in the first aspect or the second aspect described above, decoding from the main memory is possible. DMA transfer of compressed liquid ejection data to the circuit word by word enables faster data transfer and is independent of the compressed liquid ejection data DMA-transferred from the main memory to the decoding circuit word by word If invalid byte data is included, the invalid data mask processing means described above invalidates the irrelevant byte data accurately, and only the compressed liquid ejection data is reliably subjected to hardware development processing from the beginning. The effect of being able to be obtained is obtained.
[0036]
According to a fifth aspect of the present invention, in any one of the first to fourth aspects described above, the decoding unit clears the 0th byte of the line buffer from the liquid jet data developed by the decoding circuit. A data transfer apparatus for liquid ejection data, characterized by having a data storage start position shift means for storing data from the first byte in a state where the data is stored.
[0037]
For example, an ink jet recording apparatus or the like as a liquid ejecting apparatus uses a plurality of nozzle arrays arranged on the head surface of a recording head as a liquid ejecting head based on bitmap data obtained by developing compressed recording data. Is ejected onto the recording paper to form ink dots on the surface of the recording paper and recording is performed. However, when the developed bitmap data is stored in the bitmap area on the local memory and transferred to the recording head, the data start address of the bitmap area may need to be an odd address. Therefore, conventionally, after the recording data compressed by the program is processed by software expansion, the expanded bitmap data is subjected to data transfer processing by the program so that the data start address of the bitmap area becomes an odd address. However, when hardware is expanded in units of words in the decoding circuit and the bitmap data after expansion is DMA-transferred to the local memory in units of words, it is always possible to transfer only with even addresses as the head.
[0038]
Therefore, when the bitmap data developed by the decoding circuit is stored in the line buffer, the liquid jet data developed by the decoding circuit is stored from the first byte with the 0th byte of the line buffer being vacant. Storage start position shifting means is provided in the decode unit. That is, after the compressed liquid ejection data is expanded in the decoding unit, when the expanded liquid ejection data is stored in the line buffer, the 0th byte of the line buffer is stored from the first byte. Then, the expanded liquid jet data stored in the line buffer is DMA-transferred from the 0th byte of the line buffer to the bit map area of the local memory.
[0039]
In the line buffer, the liquid jet data after expansion is stored from the 1st byte with the 0th byte opened, that is, from the odd byte, so the bit map area of the local memory starts from the 0th byte of the line buffer. When DMA transfer is performed in word units, empty data stored in the 0th byte of the line buffer is stored in the first even address area of the bitmap area. Then, the head data of the expanded liquid ejection data stored in the first byte of the line buffer is stored in the next odd address area. Therefore, the data start address of the bitmap area can be an odd address.
[0040]
Thereby, according to the data transfer apparatus for liquid ejection data shown in the fifth aspect of the present invention, in addition to the operational effects of the invention shown in any of the first to fourth aspects described above, the expansion When the bit map data is stored in the bit map area on the local memory and transferred to the recording head, the data start address in the bit map area must be an odd address. When storing the bitmap data in the line buffer, the data storage start position shift means for storing the liquid ejection data developed by the decoding circuit from the first byte with the 0th byte of the line buffer being empty, There is an effect that the data start address of the bitmap area can be an odd address.
[0041]
According to a sixth aspect of the present invention, in any one of the first to fifth aspects described above, the decoding unit is configured such that the data after expansion of the number of bytes obtained by subtracting one byte from the predetermined number of words is the line buffer. Data transfer end position shift means for transferring the developed liquid jet data stored in the line buffer to the liquid jet head each time the data is stored in the line buffer. Device.
[0042]
As described above, an ink jet recording apparatus or the like as a liquid ejecting apparatus has a plurality of nozzles arranged on the head surface of a recording head as a liquid ejecting head based on bitmap data obtained by developing compressed recording data. Ink is ejected from the array onto the recording paper to form ink dots on the surface of the recording paper and recording is performed. However, there are cases where the expanded bitmap data is stored in the bitmap area on the local memory, and the number of bytes in the data block in the bitmap area to be transferred to the recording head needs to be an odd number of bytes. For example, the number of bytes of the data block in the bitmap area that is normally transferred to the recording head is set to 16 bytes, and under certain conditions, it is necessary to reduce the number of bytes by 1 to 15 bytes. Conventionally, after the liquid ejection data compressed by the program is processed by software development in units of bytes, the program stores the bytes one by one in the memory bitmap area. Therefore, the number of bytes in the data block is an odd number of bytes. There was no problem.
[0043]
However, if the hardware is expanded in units of words by the decoding circuit, and the bitmap data after expansion is DMA-transferred to the local memory in units of words, the data can always be transferred only in units of words, that is, by 2 bytes. Therefore, for example, the number of bytes of the data block in the bitmap area that is normally set to 16 bytes is set to 15 bytes, that is, only the last 1 byte of the data block set to 16 bytes is set as an empty byte. I can't.
[0044]
Therefore, every time the expanded data of the number of bytes obtained by subtracting 1 byte from the predetermined number of words is stored in the line buffer, the data storage end position for transferring the expanded liquid ejection data stored in the line buffer to the liquid ejection head By the shift means, a data block for each odd number of bytes can be configured in the bitmap area on the local memory. In other words, when the expanded data of the number of bytes obtained by subtracting one byte from the predetermined number of words is stored in the line buffer, the last one word of data is in an empty state.
[0045]
Then, the data stored in the line buffer is DMA-transferred to the bitmap area of the local memory in units of words, so that a data block having a predetermined number of words in the bitmap area is in an empty state, that is, a predetermined word The number of bytes can be a data block obtained by subtracting one byte from the number. The remaining 1-byte data expanded in units of words is temporarily stored, for example, in a spare storage area provided in the line buffer, and then stored in the 0th byte of the line buffer. Alternatively, a plurality of line buffers may be provided and stored as they are at the 0th byte of other line buffers.
[0046]
Thereby, according to the data transfer apparatus of the liquid ejection data shown in the sixth aspect of the present invention, in addition to the operational effects of the invention described in any of the first to fifth aspects described above, the expansion When storing the bitmap data in the bitmap area on the local memory and transferring it to the print head, if the data block in the bitmap area needs to be a data block with an odd number of bytes, the specified word The data storage end position shift means for transferring the expanded liquid ejection data stored in the line buffer to the liquid ejection head every time the expanded data of the number of bytes obtained by subtracting 1 byte from the number is stored in the line buffer, The effect of being able to configure a data block for each odd number of bytes in the bitmap area on the local memory is obtained. .
[0047]
According to a seventh aspect of the present invention, in any of the first to sixth aspects described above, two independent buses, the system bus and a local bus, are connected to the system bus so that data can be transferred. The main memory and the local memory connected to the local bus so as to be able to transfer data, and the decode unit is connected between the system bus and the local bus so as to be able to transfer data to each other. This is a data transfer device for liquid ejection data.
[0048]
As described above, the configuration including the two independent buses of the system bus and the local bus and the local memory connected to the local bus allows the liquid from the independent memory to be separated from the access path from the microprocessor to the memory. A data transfer path for liquid ejection data to the ejection head can be secured. Accordingly, data transfer from the local memory to the register of the liquid jet head can be executed on the local bus side asynchronously with the system bus side. As a result, the data transfer of the liquid ejection data from the memory to the liquid ejection head is interrupted due to access from the microprocessor to the memory, etc., resulting in a delay in the data transfer of the liquid ejection data and a decrease in the liquid ejection execution speed. Absent.
[0049]
Thereby, according to the data transfer apparatus of the liquid ejection data shown in the seventh aspect of the present invention, in addition to the operational effects of the invention shown in any of the first to sixth aspects described above, the system High-speed decompression processing of compressed data by two independent buses, a bus and a local bus, a decode unit incorporating a decode circuit, and a DMA transfer means capable of high-speed data transfer without using a microprocessor In addition, since high-speed data transfer to the liquid ejecting head can be realized, there is an effect that the liquid ejecting execution speed of the liquid ejecting apparatus can be dramatically increased as compared with the prior art.
[0050]
According to an eighth aspect of the present invention, in the seventh aspect described above, the main memory, the decode unit, and the register of the liquid jet head are each incorporated in one ASIC as a circuit block. The unit and the register of the liquid ejecting head are connected to each other by a dedicated bus inside the ASIC.
[0051]
As described above, since the main memory for storing the compressed data is configured as a circuit block in the same ASIC as the decoding unit, high-speed DMA transfer that transfers data in one clock becomes possible. Accordingly, the compressed liquid ejection data can be transferred to the decoding unit at a higher speed. The register of the liquid ejecting head is also configured by a circuit block built in the same ASIC, and is connected to the decoding unit and a dedicated bus inside the ASIC, so that the liquid ejecting data after the expansion from the local memory to the liquid ejecting head is performed. Data transfer can be performed at higher speed.
[0052]
Thereby, according to the data transfer device for liquid ejection data shown in the eighth aspect of the present invention, in addition to the operational effects of the invention shown in the seventh aspect described above, the compressed liquid ejection data is decoded by the decoding unit. Since the data transfer of the liquid jet data after the development from the local memory to the liquid jet head can be performed at a higher speed, the liquid jet execution speed of the liquid jet device can be further increased. The effect of speeding up can be obtained.
[0053]
According to a ninth aspect of the present invention, in the seventh aspect or the eighth aspect described above, the line buffer has two buffer areas that can store expanded data of a predetermined number of words, and the line buffer includes the buffer area on one side. The liquid ejection data developed by the decoding circuit is sequentially stored, and when the development data of a predetermined number of words is accumulated, the liquid ejection data developed by the decoding circuit is sequentially stored on the other side, and the predetermined data The liquid ejection data transfer device is characterized in that when the expansion data of the number of words is accumulated, the expansion data is DMA-transferred to the local memory every predetermined number of words.
[0054]
As described above, the line buffer has two buffer areas in which decompressed data of a predetermined number of words can be stored, and the data expanded by the decoding circuit is stored on one side, and the data corresponding to the predetermined number of words is stored. At the time of accumulation, the decompressed data can be stored on the other side while the decompressed data on the one side is being transferred to the other side while the decompressed data is being transferred in word units by the DMA transfer means. Processing and data transfer processing can be performed in parallel.
[0055]
Thereby, according to the data transfer apparatus for liquid ejection data shown in the ninth aspect of the present invention, in addition to the operational effects of the invention shown in the seventh aspect or the eighth aspect, the decompression of the compressed data is performed. Since the process and the data transfer process can be performed in parallel, the liquid jet execution speed of the liquid jet apparatus can be further increased.
[0056]
According to a tenth aspect of the present invention, in any one of the seventh to ninth aspects described above, the decoding unit in the local bus is connected to the local memory and the local memory to the register of the liquid jet head. The data transfer is performed by burst transfer, and is a data transfer device for liquid ejection data.
[0057]
Burst transfer is one of the well-known methods for speeding up data transfer. When transferring continuous data, data in a predetermined data block can be transferred by omitting some procedures such as address designation. This is a data transfer system that increases the data transfer speed by occupying the bus until all the data is transferred. This is a general technique for speeding up data transfer used in various aspects such as speeding up reading and writing of memory. Since data transfer to the liquid jet head that has been performed via the conventional system bus is performed via a local bus that is independent of the system bus, the decode unit via the local bus transfers to the local memory, and the local memory to the liquid jet head. Data transfer to these registers can be performed by burst transfer.
[0058]
In other words, in the conventional data transfer device that transfers data from the memory to the liquid jet head via the system bus, the bus is occupied until all data of a predetermined data block is transferred to the liquid jet head. If the data is transferred in this way, there will be a problem such as the inability to execute data transfer at the request of the microprocessor. However, such a problem does not occur in the local bus independent of the system bus. Data transfer to the liquid jet head can be performed by burst transfer.
[0059]
Thus, according to the liquid ejection data transfer device shown in the tenth aspect of the present invention, in addition to the operational effects of the invention described in any of the seventh to ninth aspects, By performing data transfer to the liquid ejecting head via the bus by burst transfer, there is an effect that the liquid ejecting execution speed of the liquid ejecting apparatus can be further increased.
[0060]
In addition, since the system bus and the local bus are independent, the data transfer to the liquid jet head can be performed asynchronously with the data transfer on the system bus side by the decode circuit and the line buffer of the decode unit. An effect is obtained that the effect of increasing the transfer speed can be maximized.
[0061]
According to an eleventh aspect of the present invention, in any one of the first to tenth aspects described above, the compressed liquid ejection data is run-length compressed data, and the decoding circuit includes run-length compressed data. This is a data transfer device for liquid ejection data, characterized in that it is a decoding circuit capable of developing hardware.
[0062]
According to the data transfer apparatus for liquid ejection data shown in the eleventh aspect of the present invention, the above-described first to tenth aspects are provided by the decode circuit capable of hardware-expanding run-length compressed data capable of line expansion. The effect by the invention shown in any of the above can be obtained.
[0063]
According to a twelfth aspect of the present invention, in any one of the first to eleventh aspects described above, the decoding unit receives uncompressed liquid ejection data DMA-transferred from the main memory in the decoding circuit. A liquid ejection data transfer device characterized by comprising means for storing in the line buffer without hardware development.
[0064]
According to the data transfer device for liquid ejection data shown in the twelfth aspect of the present invention, in addition to the operational effects of the invention described in any one of the first to eleventh aspects, it is stored in the main memory. In the case where the liquid ejection data that has been applied is non-compressed liquid ejection data, since the decoding circuit does not develop hardware, it is provided with means for storing in the line buffer as it is. The effect that the liquid jet execution speed can be further increased is obtained.
[0065]
A thirteenth aspect of the present invention is a liquid ejecting apparatus including the data ejecting data transfer device according to any of the first to twelfth aspects.
According to the liquid ejecting apparatus shown in the thirteenth aspect of the present invention, in the liquid ejecting apparatus, it is possible to obtain the operational effects of the invention shown in any of the first to twelfth aspects.
[0066]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
First, a first embodiment of an ink jet recording apparatus as a “liquid ejecting apparatus” according to the present invention will be described. FIG. 1 is a schematic plan view of an ink jet recording apparatus according to the present invention, and FIG. 2 is a side view thereof.
[0067]
The ink jet recording apparatus 50 is provided with a carriage 61 that is supported by a carriage guide shaft 51 and moves in the main scanning direction X as recording means for executing recording on the recording paper P. A recording head 62 as a “liquid ejecting head” that performs recording by ejecting ink onto the recording paper P is mounted on the carriage 61. A platen 52 that defines the gap between the head surface of the recording head 62 and the recording paper P is provided facing the recording head 62. Then, the recording paper P is transported between the carriage 61 and the platen 52 in the sub-scanning direction Y by a predetermined transport amount, and the recording head 62 is moved back and forth in the main scanning direction X from the recording head 62 to the recording paper P. Recording is performed on the recording paper P by alternately repeating the operation of ejecting ink.
[0068]
The paper feed tray 57 is configured to feed recording paper P such as plain paper or photo paper, for example, and an ASF (auto sheet feeder) as a paper feeding means for automatically feeding the recording paper P is provided. Is provided. The ASF is an automatic paper feed mechanism having two paper feed rollers 57b provided on the paper feed tray 57 and a separation pad (not shown). One of the two paper feed rollers 57b is disposed on one side of the paper feed tray 57, the other paper feed roller 57b is attached to the recording paper guide 57a, and the recording paper guide 57a is a recording paper. The paper feed tray 57 is slidable in the width direction according to the width of P. When a plurality of recording sheets P placed on the sheet feeding tray 57 are fed due to the rotational driving force of the sheet feeding roller 57b and the frictional resistance of the separation pad, the plurality of recording sheets P are fed at a time. The paper is automatically and accurately fed one by one.
[0069]
A conveyance driving roller 53 and a conveyance driven roller 54 are provided as recording paper conveyance means for conveying the recording paper P in the sub-scanning direction Y. The conveyance driving roller 53 is rotationally controlled by a rotational driving force such as a stepping motor, and the recording paper P is conveyed in the sub-scanning direction Y by the rotation of the conveyance driving roller 53. A plurality of transport driven rollers 54 are provided and are individually urged by the transport driving roller 53, and the recording paper P is in contact with the recording paper P when the recording paper P is transported by the rotation of the transport driving roller 53. Rotates following the transport of A film having a high frictional resistance is applied to the surface of the transport driving roller 53. The recording paper P pressed against the surface of the transport driving roller 53 by the transport driven roller 54 comes into close contact with the surface of the transport driving roller 53 by the frictional resistance of the surface, and is transported in the sub-scanning direction by the rotation of the transport driving roller 53. The
[0070]
Further, a paper detector 63 according to a known technique in the prior art is disposed between the paper feed roller 57b and the conveyance drive roller 53. The paper detector 63 has a lever that is pivotally supported in a state that it is given a self-returning behavior to a standing posture and protrudes into the conveyance path of the recording paper P so as to be able to rotate only in the recording paper conveyance direction. The detector is configured to detect the recording paper P by rotating the lever when the tip of the lever is pressed against the recording paper P. The paper detector 63 detects the start end position and the end position of the recording paper P fed from the paper feed roller 57b, determines the recording area according to the detected position, and executes recording.
[0071]
On the other hand, a discharge driving roller 55 and a discharge driven roller 56 are provided as means for discharging the recorded recording paper P. The paper discharge driving roller 55 is rotationally controlled by a rotational driving force such as a stepping motor, and the recording paper P is discharged in the sub-scanning direction Y by the rotation of the paper discharge driving roller 55. The paper discharge driven roller 56 is a toothed roller having a plurality of teeth around it and sharply sharpened so that the tip of each tooth makes point contact with the recording surface of the recording paper P. The plurality of paper discharge driven rollers 56 are individually urged by the paper discharge driving roller 55, and come into contact with the recording paper P when the recording paper P is discharged by the rotation of the paper discharge driving roller 55. Rotates following paper discharge.
[0072]
A rotation driving motor (not shown) that rotates the paper feed roller 57b, the conveyance driving roller 53, and the paper discharge driving roller 55, and a carriage driving motor (not shown) that drives the carriage 61 in the main scanning direction are provided. The drive is controlled by the recording control unit 100. Similarly, the recording head 62 is controlled by the recording control unit 100 to eject ink onto the surface of the recording paper P.
[0073]
FIG. 3 is a schematic block diagram of the ink jet recording apparatus 50 according to the present invention.
The ink jet recording apparatus 50 includes a recording control unit 100 that controls various recording processes. The recording control unit 100 includes two independent buses, a system bus SB and a local bus LB. An MPU (microprocessor) 24, a ROM 21, a RAM 22, a nonvolatile storage medium 23, an I / O 25, and a decoding circuit 28 are connected to the system bus SB so as to be able to transfer data. The MPU 24 performs various types of processing. The ROM 21 stores in advance software programs and data necessary for the arithmetic processing of the MPU 24. The RAM 22 is used as a temporary storage area for software programs and a work area for the MPU 24. The nonvolatile storage medium 23 such as a flash memory stores predetermined data as a result of the arithmetic processing in the MPU 24 and holds the data even when the inkjet recording apparatus 50 is powered off.
[0074]
Furthermore, the recording control unit 100 is connected to an information processing device 200 such as a personal computer via an interface unit 27 having an interface function with an external device, and is connected to the information processing device 200 via a system bus SB. It is possible to input and output various information and data. And I / O25 is based on the arithmetic processing result in MPU24, and various motors via the input / output part 26 driver 31 performs output control and inputs input information from various sensors 32. Various motors driver Reference numeral 31 denotes a drive control circuit that drives and controls various motors of the ink jet recording apparatus 50, and is controlled by the recording control unit 100. Various sensors 32 detect various state information of the ink jet recording apparatus 50 and output the information to the I / O 25 via the input / output unit 26.
[0075]
At the time of recording, the information processing apparatus 200 becomes the host side, and the compressed recording data (liquid ejection data) is output from the information processing apparatus 200, and the ink jet recording apparatus 50 compresses from the interface unit 27 via the system bus SB. Input the recorded data. The decoding circuit 28 expands the compressed recording data in hardware, and then stores the expanded recording data in the local memory 29 via the local bus LB. The expanded recording data stored in the local memory 29 is again transferred from the register in the head control unit 33 to the recording head 62 via the local bus LB. The head controller 33 controls the recording head 62 and ejects ink of each color onto the recording surface of the recording paper P from a large number of nozzle arrays arranged on the head surface of the recording head 62.
[0076]
As described above, the two independent buses of the system bus SB and the local bus LB, and the decoding circuit 28 that decompresses the compressed data by hardware, and the high-speed decompression processing of the compressed data and the high-speed to the recording head 62. Since data transfer can be realized, the recording execution speed of the ink jet recording apparatus 50 can be dramatically increased as compared with the conventional case. That is, unlike the conventional case, the MPU 24 does not expand the compressed data by a single thread program that sequentially executes a number of various data processing procedures in addition to the compressed data expansion processing. By performing only decompression of compressed data independently by the circuit 28, decompression processing of compressed recording data can be performed at high speed.
[0077]
In addition, the configuration including two independent buses of the system bus SB and the local bus LB and the local memory 29 connected to the local bus LB is separated and independent from the system bus SB to which the MPU 24 is connected. A data transfer path (local bus LB) for recording data to the recording head 62 can be secured. Therefore, data transfer from the local memory 29 to the register of the print head can be executed on the local bus LB side asynchronously with the system bus SB side. As a result, the data transfer of the recording data to the recording head 62 is interrupted by the MPU 24 accessing the RAM 22, and the recording execution speed is not lowered due to the data transfer delay of the recording data.
[0078]
Further, in this embodiment, a line buffer 281 is provided between the decode circuit 28 and the local bus LB for storing the expanded data in units of words. The recording data developed by the decoding circuit 28 is temporarily stored in the line buffer 281 once. The expanded recording data stored in the line buffer 281 is transferred to the local memory 29 via the local bus LB every two words. As described above, the line buffer 281 for storing the expanded data in units of words may be provided between the decoding circuit 28 and the local bus LB. A line buffer 281 is provided for storing the expanded data in word units, and the compressed data that has been expanded byte by byte by the conventional program is expanded in word units (2 bytes) and stored in the line buffer 281 and stored in word units. By transferring the data to the local memory 29, the amount of compressed data to be decompressed and transferred at a time becomes twice the amount of conventional data, so that the decompression processing of the compressed data can be executed at a higher speed. It is more preferable.
[0079]
FIG. 4 is a block diagram showing the configuration of the data transfer apparatus 10 as the “data transfer apparatus for liquid ejection data” according to the present invention. FIG. 5 is a timing chart schematically showing the flow of recording data in the data transfer apparatus 10.
[0080]
The recording control unit 100 includes an ASIC (Application Specific Integrated Circuit) 4, and the ASIC 4 includes the interface unit 27 described above, the head control unit 33 described above, the reception buffer unit 42, and the “decode unit” according to the present invention. As a built-in DECU41. The DECU 41 incorporates the decoding circuit 28, the line buffer 281 and the “DMA transfer means” described above (details will be described later). Further, the system bus SB and the local bus LB are 16-bit buses, and can transfer data of one word (2 bytes) every predetermined data transfer cycle. Hereinafter, the flow of recording data in the data transfer apparatus 10 will be described with reference to the timing chart shown in FIG.
[0081]
The compressed recording data is DMA-transferred word by word from the information processing apparatus 200 via the interface unit 27 to the reception buffer unit 42 as a “main memory” via the system bus SB (reference T1). As described above, DMA transfer is a transfer method in which data can be transferred at high speed by hardware without going through the MPU 24 after setting the transfer source and transfer destination addresses and the number of transfers in predetermined registers. is there. Next, DMA transfer is performed from the reception buffer unit 42 to the DECU 41 via the system bus SB (reference T2). Subsequently, the compressed one-word data is developed into hardware by the decoding circuit 28 in the DECU 41, and the developed recording data is stored in the line buffer 281 (reference T3).
[0082]
The recording data expanded and stored in the line buffer 281 passes through the local bus LB asynchronously with the data transfer on the system bus SB side when the recording data stored in the line buffer 281 reaches a predetermined number of bytes. Then, the data is DMA transferred to the bitmap area of the local memory 29 (reference T4). Subsequently, the recording data as the bitmap data stored in the bitmap area of the local memory 29 is again DMA-transferred to the DECU 41 via the local bus LB (reference numeral T5), and from the DECU 41 via the internal bus IB. It is DMA-transferred to the head controller 33 (reference T6), stored in a register inside the head controller 33, and then DMA-transferred to the recording head 62 (reference T7).
[0083]
As described above, the data transfer from the reception buffer unit 42 (main memory) to the decode circuit 28, the data transfer from the decode circuit 28 to the local memory 29, and the data transfer from the local memory 29 to the recording head 62 may be DMA transfers. Good, which allows for faster data transfer and is more preferred. In addition, the “main memory” for storing the compressed data is configured as a circuit block in the same ASIC 4 as the DECU 41 as the reception buffer unit 42, thereby enabling high-speed DMA transfer, particularly transferring data in one clock. Become. Note that the ASIC 4 may not be provided with the reception buffer unit 42 and a part of the RAM 22 may be used as the “main memory”.
[0084]
FIG. 6 is a block diagram showing the configuration of the DECU 41 as a “decode unit” according to the present invention.
The S-DMA controller 411 serving as the “DMA transfer means” described above controls DMA transfer on the system bus SB side. The S-DMA controller 411 DMA-transfers the compressed recording data stored in the reception buffer unit 42 to the expansion processing controller 412 word by word. The development processing controller 412 includes the decoding circuit 28 and the line buffer 281 described above. The compressed recording data DMA-transferred word-by-word by the S-DMA controller 411 from the reception buffer unit 42 is decompressed hardware by word in the decoding circuit 28, and the decompressed recording data is stored in the line buffer 281. Accumulated.
[0085]
Similarly, an L-DMA controller 413 as “DMA transfer means” controls DMA transfer on the local bus LB side. The local memory controller 414 controls reading and writing of the local memory 29 connected to the local bus LB. When the expanded recording data of a predetermined number of bytes is stored in the line buffer 281, the expanded recording data stored in the line buffer 281 is locally stored by the L-DMA controller 413 via the local memory controller 414. The DMA transfer is performed asynchronously with the DMA transfer on the system bus SB side to the local memory 29 via the bus LB. The expanded recording data DMA-transferred to the local memory 29 is stored in a predetermined bitmap area of the local memory 29.
[0086]
Similarly, an I-DMA controller 415 as “DMA transfer means” controls DMA transfer of the internal bus IB which is a dedicated bus between the DECU 41 in the ASIC 4 and the head controller 33. The expanded recording data stored in the bitmap area of the local memory 29 is DMA-transferred by the I-DMA controller 415 via the local memory controller 414 to the head controller 33 via the local bus LB and the internal bus IB. After being stored in a register inside the head controller 33, it is DMA-transferred to the recording head 62.
[0087]
Further, DMA transfer from the line buffer 281 to the local memory 29 is burst transferred by the L-DMA controller 413, and DMA transfer from the local memory 29 to the recording head 62 is burst transferred by the I-DMA controller 415. As described above, burst transfer occupies the bus until all the data in a given data block has been transferred by omitting some of the procedures such as address designation when transferring continuous data. This is a data transfer method for transferring data. The L-DMA controller 413 DMA-transfers the expanded recording data of a predetermined number of bytes to the local memory 29 by a predetermined number of bytes one by one when the expanded recording data of the predetermined number of bytes is accumulated in the line buffer 281. The burst is transferred while occupying the local bus LB until the processing is completed. The I-DMA controller 415 DMA-transfers the expanded recording data stored in the bitmap area of the local memory 29, one word at a time for each data block of a predetermined number of bytes, to the recording head 62. The local bus LB is occupied until the transfer is completed, and burst transfer is performed.
[0088]
When the burst transfer from the line buffer 281 to the local memory 29 and the burst transfer from the local memory 29 to the recording head 62 compete, the burst transfer from the local memory 29 to the recording head 62 is prioritized, and the local transfer During the burst transfer from the memory 29 to the recording head 62, the burst transfer from the line buffer 281 to the local memory 29 is temporarily stopped, and from the nozzle array of the recording head 62 based on the recording data from the local memory 29 to the recording head 62. The ink ejection operation is not interrupted.
[0089]
In this way, data transfer or the like is executed at the request of the MPU 24 on the system bus SB side by occupying and transferring the local bus LB until all the data of the predetermined data block is transferred to the recording head 62. Since there is no adverse effect such as being impossible, the data transfer of the recording data to the recording head 62 can be performed at high speed.
[0090]
FIGS. 7 and 8 schematically show how compressed recording data is developed in hardware by the decoding circuit 28 and stored in the line buffer 281 inside the DECU 41. FIG. 9 schematically shows the process until the expanded recording data is transferred from the line buffer 281 to the local memory 29 and stored.
[0091]
In this embodiment, the compressed recording data is compressed by the run length compression method. The run length compression method is a known data compression method, and will be briefly described below. The run-length compressed data is compressed data at byte boundaries, and a count (1 byte) and data (1 byte or a plurality of bytes) are set. In other words, the run-length compressed data has a configuration in which there is a count first and then there is always data. When the count value is 128 or more (negative constant), that is, 80H or more, it means that the next 1-byte data is repeatedly expanded, and the number obtained by subtracting the count value from 257 is as follows: The next 1-byte data of the count is repeatedly expanded. On the other hand, when the count value is 127 or less, that is, 7 FH or less, it means that data that is expanded without repeating after that count is continued, and only the number of bytes obtained by adding 1 to the count value. The data after the count is expanded without being repeated.
[0092]
Next, the configuration of the line buffer 281 will be described. The line buffer 281 has two 9-word data storage areas including an 8-word (16-byte) storage area and a spare storage area of 1 word (2-byte). The recording data expanded one word at a time by the decode circuit 28 is sequentially stored on the one side of the A side or B side of the line buffer 281 one by one in order, and a predetermined number of bytes, in this embodiment When the 16-byte expanded data is accumulated, it is sequentially stored on the other side. The accumulated 16-byte expanded data is DMA-transferred to the local memory 29 via the local bus LB and stored in a predetermined bitmap area of the local memory 29 as described above.
[0093]
As described above, the line buffer 281 has two buffer areas in which 16 bytes of expanded recording data can be stored, and the recording data expanded by the decoding circuit 28 is stored on one side. At the time when 16 bytes are accumulated, the recording data developed by the decoding circuit 28 is stored on the other side while the recording data after development on one side is transferred in word units by the DMA transfer means. Therefore, the compressed recording data expansion process and the data transfer process can be performed in parallel.
[0094]
Next, an example of run-length compressed data will be described, and the flow of recording data that is decompressed by the decoding circuit 28 and stored in the line buffer 281 and stored from the line buffer 281 to the local memory 29 will be described.
[0095]
Assume that the reception buffer section (main memory) 42 stores run-word compressed recording data of 24 words (48 bytes) starting from FEH as shown in the figure. The run-length compressed recording data is DMA-transferred to the decoding circuit 28 via the system bus SB one word at a time, that is, every two bytes, developed in hardware, and stored in the line buffer 281. In this embodiment, the data start address of run-length compressed data is an even address, and the data start address of bitmap data (image data) on the local memory 29 side is an even address. Further, the number of bytes (number of one line byte) of the data block DMA-transferred from the line buffer 281 to the local memory 29 is 16 bytes.
[0096]
In the main memory shown in FIG. 7, the line buffer 281 inside the DECU 41, and the local memory 29 shown in FIG. 9, the upper left end is an even address, and the upper address is sequentially from left to right. The same applies to the following drawings.
[0097]
In the following, explanations will be given step by step. First, the first one word of compressed recording data (FEH, 01H) is DMA-transferred from the reception buffer unit 42 to the decoding circuit 28 in the DECU 41 (Transfer S1). FEH is a count and 01H is data. Since the count value FEH = 254 and 128 or more, the data 01H is repeatedly expanded 257-254 = 3 times, and is sequentially stored byte by byte on the A side of the line buffer 281. Next, the run-length compressed data DMA-transferred to the decoding circuit 28 is 03H and 02H (Transfer S2). 03H is a count, and 02H is data. Since the count value 03H = 3 and 127 or less, there is 3 + 1 = 4 bytes from the next data of this count, and there is data to be expanded without repeating. That is, the data 02H, 78H, 55H, and 44H after the count 03H are expanded as they are without being repeated, and are sequentially stored on the A surface of the line buffer 281 (transfers S2 to S4). The FBH on the upper side (odd address side) of the word data DMA-transferred in the transfer S4 is a count, and the next 1-byte data is expanded six times (257-251 = 6).
[0098]
Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is FFH and FEH (Transfer S5). The FFH on the lower address side (even address side) is data, and is the data of the previous count FBH. Therefore, the FFH is expanded six times and is sequentially stored on the A side of the line buffer 281. Further, the FEH on the higher address side (odd address side) is a count, and the next 1-byte data is repeatedly expanded three times (257-254 = 3). Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is 11H and 06H (Transfer S6). 11H on the lower address side (even address side) is data, and is data of the previous count FEH. Accordingly, 11H is expanded three times and stored sequentially on the A side of the line buffer 281. Further, 06H on the higher address side (odd address side) is a count, and 7-byte (6 + 1 = 7) data (66H, 12H, 77H, 45H, 89H, 10H, 55H) is expanded as it is without being repeated, The data are sequentially stored on the B side of the line buffer 281 (transfer S7 to S10).
[0099]
On the other hand, when recording data after development of one line byte number, that is, 16 bytes, is accumulated on the A side of the line buffer 281 (at the time of transfer S6), 16 bytes are used as a data block of one line, and the local memory 29 DMA transfer word by word. At that time, the L-DMA controller 413 (FIG. 6) performs burst transfer occupying the local bus LB until all the recording data after development of one line is DMA-transferred to the local memory 29 (transfer D1). The recording data for one line transferred to the local memory 29 is sequentially stored in a predetermined bitmap area of the local memory 29 word by word from the lower address with the even address as the head (FIG. 9A). ).
[0100]
Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is 10H and FAH (Transfer S11). 10H on the lower address side (even address side) is data, and is data of count FBH before that. Therefore, 10H is expanded six times and stored sequentially on the B side of the line buffer 281. The FAH on the higher address side (odd address side) is a count, and the next 1-byte data is repeatedly expanded 7 times (257−250 = 7). Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is 20H and 08H (Transfer S12). 20H on the lower address side (even address side) is data, and is data of count FAH before that. Therefore, 20H is expanded seven times and stored sequentially on the B surface side of the line buffer 281. When the accumulated data on the B surface side reaches 16 bytes, the remaining data is sequentially stored on the A surface side. Further, 08H on the higher address side (odd address side) is a count, and 9 bytes (8 + 1 = 9) data (12H, 13H, 14H, 15H, 16H, 17H, 18H, 19H, 20H) are not repeated thereafter. The data is expanded as it is and sequentially stored on the A side of the line buffer 281 (transfers S13 to S17 in FIG. 8).
[0101]
On the other hand, when recording data after development of one line byte number, that is, 16 bytes, is accumulated on the B side of the line buffer 281 (at the time of transfer S12), 16 bytes are used as a data block of one line, and the local memory 29 DMA transfer word by word. At that time, the L-DMA controller 413 (FIG. 6) performs burst transfer occupying the local bus LB until all the recording data after development of one line is DMA-transferred to the local memory 29 (transfer D2). The recording data for one line transferred to the local memory 29 is sequentially stored in a predetermined bit map area of the local memory 29 word by word from the lower address starting with the even address (FIG. 9B). ).
[0102]
Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is 11H and 02H (Transfer S18). 11H on the lower address side (even address side) is data, and data on the previous count FDH (upper address side of transfer S17). Therefore, 11H is expanded three times (257-254 = 3) and is stored in sequence on the A side of the line buffer 281. When the accumulated data on the A side reaches 16 bytes, the remaining data becomes the B side. Are stored sequentially. Further, 02H on the higher address side (odd address side) is a count, and thereafter, 3 bytes (2 + 1 = 3) of data (98H, B0H, F2H) are expanded as they are without being repeated, and are displayed on the B side of the line buffer 281. Stored sequentially (transfers S19 to S20).
[0103]
On the other hand, when recording data after development of one line byte number, that is, 16 bytes, is accumulated on the A side of the line buffer 281 (at the time of transfer S18), 16 bytes are used as a data block of one line, and the local memory 29 DMA transfer word by word. At that time, the L-DMA controller 413 (FIG. 6) performs burst transfer occupying the local bus LB until DMA transfer of all the recording data after development of one line is completed to the local memory 29 (transfer D3). The recording data for one line transferred to the local memory 29 is sequentially stored in a predetermined bit map area of the local memory 29 word by word from the lower address with the even address as the head (FIG. 9C). ).
[0104]
Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is ABH and 03H (Transfer S21). ABH on the lower address side (even address side) is data, and is data on the previous count FCH (upper address side of transfer S20). Therefore, ABH is repeatedly expanded five times (257-252 = 5) and is sequentially stored on the B side of the line buffer 281. Further, 03H on the higher address side (odd address side) is a count, and thereafter 4 bytes (3 + 1 = 4) of data (FFH, FEH, FCH, FDH) are expanded as they are without being repeated, and the B side of the line buffer 281 Are sequentially stored (transfer S22 to S23).
[0105]
Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is FEH and FFH (Transfer S24). The lower address side (even address side) FEH is a count, and the upper address side (odd address side) FFH is data of a count FEH. Therefore, the FFH is repeatedly developed three times (257−254 = 3) and sequentially stored on the B surface side of the line buffer 281. When the recording data after development of one line byte number, that is, 16 bytes, is accumulated on the B side of the line buffer 281 (at the time of transfer S24), 16 bytes are set as one line data block to the local memory 29. DMA transfer word by word. At that time, the L-DMA controller 413 (FIG. 6) performs burst transfer occupying the local bus LB until all of the recording data after development of one line is DMA-transferred to the local memory 29 (transfer D4).
[0106]
The recording data for one line transferred to the local memory 29 is sequentially stored in a predetermined bit map area of the local memory 29 word by word from the lower address with the even address as the head (FIG. 9D). ). Then, when the recording data for the bitmap data for ejecting ink in one main scanning pass is stored in the local memory 29, the data is DMA-transferred from the local memory 29 to the recording head 62. At this time, the I-DMA controller 415 (FIG. 6) occupies the local bus LB until all of the recording data for the bitmap data for ejecting ink in one main scanning pass is DMA-transferred to the head controller 33. And burst transfer.
[0107]
In this way, the processing for expanding the recording data compressed by the conventional program in software is expanded in hardware by the decoding circuit 28, so that the expansion processing of the compressed recording data can be executed at high speed. In addition, since the compressed recording data that has been expanded byte by byte by the conventional program is expanded in units of words (2 bytes), the expanded processing of the compressed recording data can be executed at higher speed. The local memory 29 on the local bus LB side is asynchronous with the system bus SB side by a configuration including two independent buses of the system bus SB and the local bus LB and the local memory 29 connected to the local bus LB. To the recording head 62 can be executed. As a result, the data transfer of the recording data to the recording head 62 is not interrupted by the MPU 24 accessing the ROM 21 or the RAM 22, and the recording execution speed is not lowered due to the transfer delay of the recording data. Furthermore, data transfer at higher speed becomes possible by DMA transfer.
[0108]
Accordingly, it is possible to realize a high-speed expansion process of the compressed recording data and a high-speed data transfer to the recording head 62, so that the recording execution speed of the ink jet recording apparatus 50 is dramatically increased as compared with the conventional case. The speed can be increased. Incidentally, the data transfer speed to the recording head 62, which was around 1 Mbyte / sec in the prior art, can be increased to 8-10 Mbyte / sec by the data transfer apparatus 10 according to the present invention. If the data processing capacity of the recording head 62 is low, only the recording execution speed of the data processing capacity of the recording head 62 can be obtained no matter how fast the data transfer is performed. Needless to say, there is a need.
[0109]
Further, as a second embodiment of the ink jet recording apparatus 50 according to the present invention, in addition to the first embodiment described above, the recording data after development from the DECU 41 to the local memory 29 is DMA-transferred to obtain a predetermined bitmap area. When storing the data in the vertical direction, the data is not stored in order from the lower address of the bitmap area (stored in the horizontal direction), but the data of one line is converted in the vertical direction so that the data arrangement is convenient for the recording head 62. And store it.
[0110]
FIG. 10 schematically shows a state from when the expanded recording data is transferred from the line buffer 281 to the local memory 29 and stored, and one line of data is converted into a vertical direction and stored. Is shown.
[0111]
In the bitmap area of the local memory 29 that is the DMA transfer destination, data is stored in the line buffer 281 by the development processing controller 412 (FIG. 6) in the DECU 41 so that one line of data is arranged and stored in the vertical direction. A transfer destination address is individually set for each word in the expanded recording data. Then, the L-DMA controller 413 (FIG. 6) in the DECU 41 sets the individual transfer destination address as the transfer destination address of the DMA transfer, and stores the expanded recording data stored in the line buffer 281 by one word. DMA transfer to the local memory 29 one by one (data rearranging means).
[0112]
In this way, when DMA-transferring one line (16 bytes) of recording data from the line buffer 281 to the local memory 29, the recording data after expansion is rearranged inside the DECU 41, thereby allowing the program to be executed as in the prior art. Thus, compared with the case where the data in the memory is rearranged sequentially byte by byte, the necessary recording data can be rearranged instantaneously, so that the rearrangement of the recording data can be performed at high speed.
[0113]
Further, as a third embodiment of the ink jet recording apparatus 50 according to the present invention, in addition to the first embodiment or the second embodiment described above, the run-length compressed recording stored in the reception buffer unit 42 is used. When the data start address of the data is an odd address, invalid data that invalidates the first byte data of the word data including the first data of the run-length compressed data DMA-transferred from the reception buffer unit 42 to the decoding circuit 28 The thing provided with the mask processing means is mentioned.
[0114]
FIG. 11 and FIG. 12 schematically show how compressed recording data is developed in hardware by the decoding circuit 28 and stored in the line buffer 281. The data start address of the compressed recording data is shown in FIG. This shows the case of an odd address.
[0115]
The first byte data (FEH) of the run-length compressed recording data stored in the reception buffer unit 42 (main memory) is stored at the upper address (odd address) of the first word data. That is, data (AAH) unrelated to the recording data is stored at the lower address (even address) of the word data including the first byte data. However, if DMA transfer is performed word by word from the reception buffer unit 42 to the decode circuit 28, transfer can be performed only with an even address as the head. Therefore, if the first word data of the run-length compressed recording data is expanded and processed as it is in the decoding circuit 28, it is expanded in a state in which data unrelated to the recording data is included. As a result, the compressed recording data cannot be correctly expanded.
[0116]
Therefore, in the development processing controller 412 (FIG. 6), the irrelevant byte data of the lower address (even address) of the word data including the first byte data is masked and invalidated, and then developed by the decoding circuit 28. In other words, if the first word is expanded by the decoding circuit 28 as it is, AAH is counted and FEH becomes data. By invalidating AAH which is irrelevant data, FEH is correctly expanded as count. I can go.
[0117]
Next, the compressed recording data DMA-transferred to the decoding circuit 28 is 01H and 03H (Transfer S31). 01H on the lower address side (even address side) is data, and is data of the previous count FEH. Accordingly, 01H is repeatedly developed three times (257−254 = 3) and sequentially stored on the A surface side of the line buffer 281. Further, 03H on the upper address side (odd address side) is a count, and thereafter 4 bytes (3 + 1 = 4) of data (02H, 78H, 55H, 44H) are expanded as they are without being repeated, and the A side of the line buffer 281 Are sequentially stored (transfer S32 to S33). Subsequently, the run-length compressed recording data in the same procedure as in the first embodiment is expanded word by word and sequentially stored in the line buffer 281 (transfer S32 to S54), after expansion of the number of line bytes (16 bytes). Is transferred to the local memory 29 at the time when the recorded data is accumulated (transfers D1 to D4). Note that whether or not the data start address of the run-length compressed recording data stored in the reception buffer unit 42 is an odd address may be determined by, for example, a firmware program executed by the MPU 24.
[0118]
In this way, even if the data start address of the run-length compressed recording data stored in the reception buffer unit 42 is an odd address, the decoding circuit 28 accurately detects the start of the run-length compressed recording data. Hardware can be deployed.
[0119]
Further, as a fourth embodiment of the ink jet recording apparatus 50 according to the present invention, in addition to the first to third embodiments described above, one in which the number of line bytes is an odd number of bytes can be mentioned.
[0120]
FIGS. 13 and 14 schematically show the process until the compressed recording data is developed in hardware by the decoding circuit 28 and stored in the line buffer 281. The first embodiment or the second embodiment described above is shown in FIGS. In the example, the case where the number of bytes per line is 15 bytes is shown. Further, FIG. 15 schematically shows the process until the expanded recording data is transferred from the line buffer 281 to the local memory 29 and is converted into the vertical line and stored in the fourth embodiment. 16 schematically shows the process until the data is stored without being line-up converted.
[0121]
As described above, since the expanded recording data is DMA-transferred from the line buffer 281 to the local memory 29 word by word, the expanded recording data is stored in the bitmap area of the local memory 29 word by word. The recording data of odd bytes cannot be DMA-transferred from the DECU 41 to the local memory 29. Therefore, in the expansion processing controller 412 (FIG. 6), the number of one line byte of the line buffer 281 is set to an odd number of bytes, in this embodiment, 15 bytes, and 15 bytes are set to the A side or B side of the line buffer 281. Is transferred to the local memory 29 at a time point when the recording data after the development of is stored. Therefore, the upper address side (odd address side) of the word data containing the 15th byte recording data is DMA-transferred in the state of 00H (data storage end position shifting means).
[0122]
Since the transfers S61 to S64 are the same as the transfers S1 to S4 in the first embodiment (FIG. 7), description thereof is omitted. Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is FFH and FFH (Transfer S65). The FFH on the lower address side (even address side) is data, and is the data of the previous count FBH. Therefore, the FFH is repeatedly developed 6 times (257-251 = 6) and sequentially stored on the A side of the line buffer 281. Further, FFH on the higher address side (odd address side) is a count, and the next data is expanded twice (257-255 = 2) and is sequentially stored on the A side of the line buffer 281. .
[0123]
Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is 11H and 06H (Transfer S66). 11H on the lower address side (even address side) is data, and is data of count FFH before that. Therefore, the FFH is expanded twice and stored sequentially on the A side of the line buffer 281. Further, 06H on the higher address side (odd address side) is a count, and 7 bytes (6 + 1 = 7) data (66H, 12H, 77H, 45H, 89H, 10H, 55H) are expanded as they are without being repeated. Are sequentially stored on the B side of the line buffer 281 (transfers S67 to S70).
[0124]
On the other hand, at the time when the recording data after development of one line byte number, that is, 15 bytes, is accumulated on the A side of the line buffer 281 (at the time of transfer S66), the local memory 29 DMA transfer word by word. At that time, the L-DMA controller 413 (FIG. 6) performs burst transfer occupying the local bus LB until all the recording data after development of one line is DMA-transferred to the local memory 29 (transfer D1). The recording data for one line transferred to the local memory 29 is arranged vertically in a predetermined bit map area of the local memory 29 by the above-described data rearranging means, word by word starting from the lower address starting with the even address. It is converted and stored (FIG. 15 (a)). If the line is not converted vertically, it is stored as it is (FIG. 16 (a)). Thereafter, the run-length compressed recording data is developed in hardware by the decoding circuit 28 (transfer S71 to S84), and the 15-byte expanded recording data for one line is accumulated in the line buffer 281. At the time, DMA transfer to the local memory 29 is performed (transfer D2 to D4).
[0125]
FIGS. 17 and 18 schematically show how compressed recording data is developed in hardware by the decoding circuit 28 and stored in the line buffer 281. In the third embodiment described above, one line is shown. This shows a case where the number of bytes is 15 bytes.
[0126]
Since the transfer S91 to S94 are the same as the transfer S31 to S34 in the second embodiment (FIG. 11), the description is omitted. Subsequently, the compressed recording data DMA-transferred to the decoding circuit 28 is FFH and 11H (Transfer S95). FFH on the lower address side (even address side) is a count, and 11H on the upper address side (odd address side) is data. Therefore, 11H is repeatedly developed twice (257-255 = 2) and is sequentially stored on the A side of the line buffer 281.
[0127]
Then, when recording data after the development of one line byte number, that is, 15 bytes, is accumulated on the A side of the line buffer 281 (at the time of transfer S95), 15 bytes are used as a data block of one line, and the local memory 29 One word at a time is DMA transferred. At that time, the L-DMA controller 413 (FIG. 6) performs burst transfer occupying the local bus LB until all the recording data after development of one line is DMA-transferred to the local memory 29 (transfer D1). The recording data for one line transferred to the local memory 29 is arranged vertically in a predetermined bit map area of the local memory 29 by the above-described data rearranging means, word by word starting from the lower address starting with the even address. It is converted and stored (FIG. 15 (a)). If the line is not converted vertically, it is stored as it is (FIG. 16 (a)). Thereafter, the recording data that has been run-length compressed in the same manner is developed in hardware by the decoding circuit 28 (transfers S71 to S84), and the recording data after 15 bytes for one line are accumulated in the line buffer 281. Thus, the data is DMA-transferred to the local memory 29 (transfers D2 to D4).
[0128]
In this way, when the recording data after the development of the odd number of bytes is accumulated in the line buffer 281, the upper address side of the last word data is transferred in the state of 00H by DMA transfer to the local memory 29. In the expanded recording data stored in the bitmap area of the local memory 29, as shown in FIGS. 15 (d) and 16 (d), the last 1 byte of one line is 00H, and the recording data of one line is recorded. The recorded data can be stored in the bit map area of the local memory 29 so that the data start address is an even address and an odd number of bytes.
[0129]
Further, as a fifth embodiment of the ink jet recording apparatus 50 according to the present invention, in addition to any of the second to fourth embodiments described above, one line of recording data is converted into an odd-numbered data start address. As described above, the recording data is stored in the bitmap area of the local memory 29.
[0130]
In a plurality of nozzle rows arranged side by side on the head surface of the recording head 62, the color of ink ejected for each nozzle row is determined. On the other hand, the recording data stored in the bitmap area of the local memory 29 is data for each ink color corresponding to each nozzle row for each line. Then, in the means for correcting the deviation of the ink ejection timing due to the interval between the nozzle rows, it may be necessary to store the recording data for one line in the bit map area of the local memory 29 with the leading address being an odd address.
[0131]
However, as described above, since the DMA transfer is performed word by word from the reception buffer unit 42 to the decoding circuit 28, the recording data after being expanded to the bitmap area of the local memory 29 is always stored with the even address as the head. As it is, the recording data cannot be stored starting from the odd address. Therefore, when the recording data expanded by the decoding circuit 28 is stored in the line buffer 281 in the expansion processing controller 412 (FIG. 6), the data is stored from the first byte with the 0th byte of the line buffer 281 left blank. (Data storage start position shifting means). That is, in the decoding unit 28, after the compressed recording data is expanded, when the expanded recording data is stored in the line buffer 281, the first byte is stored with the 0th byte of the line buffer 281 left empty. Then, the expanded recording data stored in the line buffer 281 is DMA-transferred from the 0th byte of the line buffer 281 to the bitmap area of the local memory 29.
[0132]
FIGS. 19 and 20 schematically show how compressed recording data is developed in hardware by the decoding circuit 28 and stored in the line buffer 281. In the second embodiment described above, the line buffer This shows a case where the expanded recording data is expanded from the first byte while the 0th byte of 281 is empty. Further, FIG. 21 schematically shows a state where recording data after development of 16 bytes per line is transferred from the line buffer 281 to the local memory 29, converted into vertical line alignment and stored with the odd address as the head. Is.
[0133]
As described above, the line buffer 281 has a spare storage area of 1 word (2 bytes) in addition to a storage area of 8 words (16 bytes) on both sides A and B. The recording data expanded one word at a time by the decoding circuit 28 is stored from the first byte with the 0th byte on the A side of the line buffer 281 left empty. Then, the recording data of the 16th byte that protrudes from the storage area by emptying the 0th byte is stored in the spare storage area.
[0134]
When 16 bytes of expanded recording data is accumulated on the A side of the line buffer 281, a total of 18 bytes (9 words) of recording data of the storage area for 16 bytes and the spare storage area is one line of data. As a block, it is DMA-transferred to the local memory 29 word by word. At that time, the L-DMA controller 413 (FIG. 6) performs burst transfer occupying the local bus LB until all the recording data after development of one line is DMA-transferred to the local memory 29 (transfer D1). The recording data for one line transferred to the local memory 29 is arranged vertically in a predetermined bit map area of the local memory 29 by the above-described data rearranging means, word by word starting from the lower address starting with the even address. It is converted and stored (FIG. 21 (a)). Therefore, DMA transfer to the local memory 29 is performed with 1 byte of empty data added to the head, and the data is stored at even addresses in the bitmap area. It will be in the state.
[0135]
Subsequently, the run-length compressed recording data is developed in hardware by the decoding circuit 28, and when the recording data after development of 16 bytes for one line is stored in the line buffer 281, it is stored in the local memory 29. DMA transfer (transfer D2 to D4). The description of the transfers S121 to S144 is the same as the description of the transfers S1 to S24 shown in FIG.
[0136]
In this way, the recording data expanded one word at a time by the decoding circuit 28 is stored from the first byte with the 0th byte on the A side of the line buffer 281 left empty, and 16 bytes. When the recording data after the expansion of the data is stored, it is transferred to the local memory 29 by DMA transfer, so that the lower address side of the first word data is transferred in the state of 00H, so that it is stored in the bitmap area of the local memory 29. As shown in FIG. 21 (d), the expanded recording data is stored in local data so that the first byte of one line is 00H and the recording data of one line is an odd address. The data can be stored in the bitmap area of the memory 29.
[0137]
FIGS. 22 and 23 schematically show the process until the compressed recording data is hardware-developed by the decoding circuit 28 and stored in the line buffer 281. In the fourth embodiment described above, FIG. This shows a case where the expanded recording data is expanded from the first byte while the 0th byte of the line buffer 281 is empty. Further, FIG. 24 schematically shows the process from the recording data after development of 15 bytes per line being transferred from the line buffer 281 to the local memory 29, being converted into a vertical line arrangement and stored with the odd address as the head. Is.
[0138]
In this way, the number of bytes per line can be 15 bytes, that is, odd bytes. Therefore, as shown in FIG. 24 (d), the first 1 byte of one line is 00H, and the recording data of 15 bytes of 1 line is stored in the bit map area of the local memory 29 so that the data start address is an odd address. Can be stored.
[0139]
FIGS. 25 and 26 schematically show how compressed recording data is hardware-developed by the decoding circuit 28 and stored in the line buffer 281. In the third embodiment described above, FIGS. This shows a case where the expanded recording data is expanded from the first byte while the 0th byte of the line buffer 281 is empty, and the recording data of one line is 16 bytes. Similarly, in FIGS. 27 and 28, in the third embodiment described above, the expanded recording data is expanded from the first byte while the 0th byte of the line buffer 281 is empty, and the recording data for one line is expanded. The case of 15 bytes is shown.
[0140]
As described above, after the compressed recording data stored in the reception buffer unit 42 with the odd address as the head is expanded by the decoding circuit 28, the recording data of 16 bytes per line or 15 bytes is converted into the local memory 29. It is also possible to store an odd address in the bitmap area.
[0141]
Furthermore, as a sixth embodiment of the ink jet recording apparatus 50 according to the present invention, in addition to any of the first to fifth embodiments described above, the expanded recording data is stored in two different local memories 29. Those stored in the bitmap area are listed. In FIG. 29, the recording data after development of 16 bytes per line is transferred from the line buffer 281 to the local memory 29, and is converted into vertical line alignment and stored in two different bitmap areas starting with an even address. It is shown schematically.
[0142]
When the dot interval in the sub-scanning direction Y in the developed bitmap data is smaller than the interval between adjacent nozzle arrays in the sub-scanning direction Y, the ink dots adjacent in the sub-scanning direction Y are simultaneously used in one main scan. Since it cannot be formed, it is formed during different main scanning operations. However, the bitmap data developed by the decode circuit 28 has a data configuration in which ink dot data formed adjacent to each other in the sub-scanning direction Y is continuously arranged. It cannot be transferred to the recording head 62 and recorded. Therefore, it is necessary to divide the developed bitmap data so that ink dot data adjacent in the sub-scanning direction Y can be stored in different bitmap areas and transferred to the recording head 62 during different main scans.
[0143]
Therefore, two different bitmap areas are provided in the local memory 29 in advance. Here, they are image 1 and image 2, respectively. In the bitmap area of the local memory 29 that is the DMA transfer destination, the data is stored in the line buffer 281 by the development processing controller 412 (FIG. 6) so that one line of data is alternately stored in the image 1 and the image 2. A transfer destination address is individually set for each word in the expanded recording data. Then, the L-DMA controller 413 (FIG. 6) in the DECU 41 sets the individual transfer destination address as the transfer destination address of the DMA transfer, and stores the expanded recording data stored in the line buffer 281 by one word. DMA transfer is performed to the local memory 29 one by one (data dividing means).
[0144]
First, when 16 bytes of expanded recording data for one line is accumulated on the A side of the line buffer 281, the recording data for one line is DMA-transferred to the local memory 29 (Transfer D 1) and stored in Image 1. (FIG. 29A). Subsequently, when the expanded recording data of 16 bytes for one line is accumulated on the B side of the line buffer 281, the recording data for one line is DMA-transferred to the local memory 29 (transfer D <b> 2) and transferred to image 2. Stored (FIG. 29B). Subsequently, when the expanded recording data of 16 bytes for one line is accumulated on the A side of the line buffer 281, the recording data for one line is DMA-transferred to the local memory 29 (transfer D 3), and to image 1. Stored (FIG. 29 (c)). Then, when 16 bytes of expanded recording data for one line is accumulated on the B side of the line buffer 281, the recording data for one line is DMA-transferred to the local memory 29 (transfer D 4) and stored in image 2. (FIG. 29D).
[0145]
In this way, after the compressed print data is expanded, the expanded print data stored in the line buffer 281 is formed with ink dots adjacent in the sub-scanning direction Y at different main scans. As described above, the expanded recording data is DMA-transferred to different bit map areas of the local memory 29 line by line. As a result, decompression processing of the compressed recording data (decoding circuit 28) and division of the recording data after decompression (decompression processing controller 412) can be performed at high speed by hardware processing. In FIG. 30, the recording data after development of 16 bytes per line is transferred from the line buffer 281 to the local memory 29, and is stored in two different bitmap areas with the even address as the head without being subjected to line vertical alignment conversion. This is a schematic illustration of the process up to.
[0146]
Further, in FIG. 31, the recording data after development of 15 bytes per line is transferred from the line buffer 281 to the local memory 29, and is converted into vertical line alignment and stored in two different bitmap areas starting with an even address. This is shown schematically. In FIG. 32, the recording data after the development of 15 bytes per line is transferred from the line buffer 281 to the local memory 29, and is stored in two different bitmap areas with the even address as the head without being subjected to the line vertical alignment conversion. This is shown schematically.
[0147]
As described above, when the number of line bytes is set to an odd number of bytes and the record data after development of the odd number of bytes is stored in the line buffer 281, the data is transferred to the local memory 29 by DMA transfer. The upper address side of the word data is transferred in a state of 00H. Therefore, the expanded recording data stored in the bitmap area of the local memory 29 has the last 1 byte of one line as 00H, and the recording data of one line has an even address and an odd number of bytes as the data start address. Are stored for each line in two different bitmap areas of image 1 and image 2, respectively.
[0148]
In FIG. 33, the recording data after development of 16 bytes per line is transferred from the line buffer 281 to the local memory 29, and is converted into vertical line alignment and stored in two different bitmap areas starting from odd addresses. This is shown schematically. In FIG. 34, the recording data after development of 15 bytes per line is transferred from the line buffer 281 to the local memory 29, and is converted into vertical line alignment and stored in two different bitmap areas starting with odd addresses. It is shown schematically.
[0149]
In this way, the recording data expanded one word at a time by the decoding circuit 28 is stored from the first byte with the 0th byte on the A side of the line buffer 281 left empty, and is stored in 16 bytes. When the expanded recording data is stored, it is transferred to the local memory 29 by DMA transfer, so that the lower address side of the first word data is transferred in the state of 00H. Therefore, the expansion stored in the bitmap area of the local memory 29 is performed. After the recording data, the first byte of one line is 00H, and the recording data of one line is transferred to two different bitmap areas of image 1 and image 2 so that the data start address is an odd address. Respectively.
[0150]
Furthermore, as a seventh embodiment of the ink jet recording apparatus 50 according to the present invention, in any one of the first to sixth embodiments described above, the recording data stored in the reception buffer unit 42 is uncompressed data. In such a case, the data is stored in the bitmap area without performing the expansion process. FIG. 35 schematically shows a state in which uncompressed recording data is stored in the line buffer 281 as it is and DMA-transferred to the local memory 29.
[0151]
As described above, when the recording data transferred from the information processing apparatus 200 or the like to the reception buffer unit 42 is uncompressed data, the decoding circuit 28 does not perform the decompression process, and the word data is stored in the line buffer 281 as it is. Stored. Thereafter, in the same way as when the compressed recording data is expanded by the decoding circuit 28, the expansion processing controller (FIG. 6) uses 1 as shown in the second to sixth embodiments. The number of line bytes can be set to 16 bytes or 15 bytes, and the recorded data can be rearranged, stored in the local memory 29 with the start address being an odd address, or stored in two different bitmap areas. it can.
[0152]
It should be noted that the present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the invention described in the claims, and these are also included in the scope of the present invention. Needless to say.
[Brief description of the drawings]
FIG. 1 is a plan view of an ink jet recording apparatus according to the present invention.
FIG. 2 is a side view of an ink jet recording apparatus according to the present invention.
FIG. 3 is a block diagram of an ink jet recording apparatus according to the present invention.
FIG. 4 is a block diagram showing a configuration of a data transfer apparatus.
FIG. 5 is a timing chart showing the flow of recording data.
FIG. 6 is a block diagram showing a configuration of a DECU.
FIG. 7 schematically shows a flow of decompressing compressed data.
FIG. 8 schematically shows a flow of decompressing compressed data.
FIG. 9 schematically shows recorded data after development.
FIG. 10 schematically shows the recorded data after development.
FIG. 11 schematically shows a flow of decompressing compressed data.
FIG. 12 schematically shows a flow of decompressing compressed data.
FIG. 13 schematically shows a flow of decompressing compressed data.
FIG. 14 schematically shows a flow of decompressing compressed data.
FIG. 15 schematically shows recorded data after development.
FIG. 16 schematically shows recorded data after development.
FIG. 17 schematically shows a flow of decompressing compressed data.
FIG. 18 schematically shows a flow of decompressing compressed data.
FIG. 19 schematically shows a flow of decompressing compressed data.
FIG. 20 schematically shows a flow of decompressing compressed data.
FIG. 21 schematically shows recorded data after development.
FIG. 22 schematically shows a flow of decompressing compressed data.
FIG. 23 schematically shows a flow of developing compressed data.
FIG. 24 schematically shows recorded data after development.
FIG. 25 schematically shows a flow of decompressing compressed data.
FIG. 26 schematically shows a flow of decompressing compressed data.
FIG. 27 schematically shows a flow of decompressing compressed data.
FIG. 28 schematically shows a flow of decompressing compressed data.
FIG. 29 schematically shows the recorded data after development.
FIG. 30 schematically shows recorded data after development.
FIG. 31 schematically shows recorded data after development.
FIG. 32 schematically shows recorded data after development.
FIG. 33 schematically shows recorded data after development.
FIG. 34 schematically shows the recorded data after development.
FIG. 35 shows a state where uncompressed recording data is transferred.
FIG. 36 is a block diagram showing a data transfer apparatus in the prior art.
[Explanation of symbols]
4 ASIC, 10 data transfer device, 21 ROM, 22 RAM, 24 MPU, 27 interface unit, 28 decoding circuit, 29 local memory, 33 head control unit, 41 DECU (decoding unit), 42 reception buffer unit, 50 inkjet recording Device, 51 Carriage guide shaft, 52 Platen, 53 Conveyance drive roller, 54 Conveyance driven roller, 55 Discharge drive roller, 56 Discharge driven roller, 57 Feed tray, 57b Feed roller, 61 Carriage, 62 Recording head, 63 Paper detector, 100 recording control unit, 200 information processing device, 281 line buffer, 411 S-DMA controller, 412 development processing controller, 413 L-DMA controller, 414 local memory controller, 415 I-DMA controller, X Scanning direction, Y sub-scanning direction, SB a system bus, LB a local bus, IB Internal bus

Claims (11)

システムバスとローカルバスとの2系統の独立したバスと、
前記システムバスにデータ転送可能に接続されたメインメモリと、
前記ローカルバスにデータ転送可能に接続されたローカルメモリと、
前記システムバスと前記ローカルバスとの間に相互にデータ転送可能に接続され、前記メインメモリから前記システムバスを経由してワード単位でDMA転送されるライン展開可能に圧縮された液体噴射データをハードウェア展開可能なデコード回路、該デコード回路にて展開した液体噴射データがワード単位で格納されるラインバッファ、及び前記メインメモリからライン展開可能に圧縮された液体噴射データを前記デコード回路へDMA転送し、該ラインバッファに展開された液体噴射データをワード単位でローカルメモリへDMA転送し、前記ローカルメモリに格納された展開後の液体噴射データを液体噴射ヘッドのレジスタへ順次DMA転送するDMA転送手段を有するデコードユニットと、を備え
前記メインメモリ、前記デコードユニット、及び前記液体噴射ヘッドのレジスタは、それぞれ回路ブロックとして1つのASICに内蔵されており、前記デコードユニットと前記液体噴射ヘッドのレジスタとは、前記ASIC内部の専用バスによって接続され、
前記デコードユニットは、前記ラインバッファに展開されたデータをワード単位で前記ローカルメモリ上のビットマップエリアへDMA転送する際に、所定のワード数毎に異なるビットマップエリアへ格納していくデータ分割手段を備えている、ことを特徴とした液体噴射データのデータ転送装置。
Two independent buses, a system bus and a local bus,
A main memory connected to the system bus for data transfer;
A local memory connected to the local bus for data transfer;
Wherein said system bus is interconnected to enable data transfer between the local bus, the hard and liquid ejection data DMA transferred by line deployable compressed by word via the system bus from the main memory Clothing deployable decoding circuitry, DMA line buffer liquid ejection data developed by said decode circuit is stored word by word, and the liquid ejection data line deployable compressed from said main memory to said decode circuit DMA transfer for transferring the liquid jet data expanded in the line buffer to the local memory in word units, and sequentially transferring the liquid jet data after expansion stored in the local memory to the register of the liquid jet head comprising a decoding unit having a hand stage, a
The main memory, the decode unit, and the register of the liquid ejecting head are each incorporated in one ASIC as a circuit block. The decode unit and the register of the liquid ejecting head are connected by a dedicated bus inside the ASIC. Connected,
The decoding unit stores data expanded in the line buffer in a different bitmap area for each predetermined number of words when DMA-transferring the data expanded in the word buffer to the bitmap area on the local memory A data transfer device for liquid ejection data, comprising:
請求項1において、前記データ分割手段は、液体噴射データの解像度と前記液体噴射ヘッドの解像度との比に応じて分割するビットマップエリアの数を設定する、ことを特徴とした液体噴射データのデータ転送装置。  2. The liquid ejection data data according to claim 1, wherein the data dividing means sets the number of bitmap areas to be divided in accordance with a ratio between the resolution of the liquid ejection data and the resolution of the liquid ejection head. Transfer device. 請求項1又は2において、前記メインメモリから前記デコード回路へDMA転送される圧縮データの先頭データを含むワードデータにおいては、圧縮された液体噴射データのデータ開始アドレス値を前記システムバスが1回のデータ転送で転送可能なデータのバイト数で除算した余りの数のバイト数だけ、先頭からデータを無効にする無効データマスク処理手段を備えている、ことを特徴とした液体噴射データのデータ転送装置。  3. The data start address value of compressed liquid jet data is set to one time for the system bus in word data including head data of compressed data DMA-transferred from the main memory to the decode circuit. A data transfer apparatus for liquid ejection data, comprising invalid data mask processing means for invalidating data from the beginning by the number of remaining bytes divided by the number of bytes of data that can be transferred by data transfer . 請求項1又は2において、前記メインメモリから前記デコード回路へDMA転送される圧縮データの先頭データを含むワードデータにおいては、前記メインメモリに格納されている圧縮データのデータ開始アドレスが奇数アドレスの場合には、先頭1バイトのデータを無効にする無効データマスク処理手段を備えている、ことを特徴とした液体噴射データのデータ転送装置。  3. The word data including the head data of compressed data DMA-transferred from the main memory to the decoding circuit according to claim 1 or 2, wherein the data start address of the compressed data stored in the main memory is an odd address Includes an invalid data mask processing means for invalidating the data of the first byte, and a liquid jet data transfer device characterized by the above. 請求項1〜4のいずれか1項において、前記デコードユニットは、前記デコード回路にて展開した液体噴射データを前記ラインバッファの0バイト目を空けた状態で1バイト目から格納していくデータ格納開始位置シフト手段を有している、ことを特徴とした液体噴射データのデータ転送装置。  5. The data storage according to claim 1, wherein the decoding unit stores the liquid ejection data developed by the decoding circuit from the first byte in a state where a zeroth byte is left in the line buffer. A data transfer device for liquid ejection data, comprising start position shifting means. 請求項1〜5のいずれか1項において、前記デコードユニットは、前記所定ワード数から1バイト減算したバイト数の展開後のデータが前記ラインバッファに格納される毎に、前記ラインバッファに格納された展開後の液体噴射データを液体噴射ヘッドへ転送するデータ格納終了位置シフト手段を有している、ことを特徴とした液体噴射データのデータ転送装置。  6. The decode unit according to any one of claims 1 to 5, wherein the decode unit stores the expanded data having a number of bytes obtained by subtracting one byte from the predetermined number of words each time the data is stored in the line buffer. A data transfer apparatus for transferring liquid ejection data, characterized by further comprising a data storage end position shift means for transferring the liquid ejection data after development to the liquid ejection head. 請求項1〜6のいずれか1項において、前記ラインバッファは、所定のワード数の展開データを格納可能なバッファ領域を2面有し、一面側に前記デコード回路にて展開した液体噴射データが順次格納され、所定のワード数の展開データが蓄積された時点で他面側に前記デコード回路にて展開した液体噴射データが順次格納されるとともに、所定のワード数の展開データが蓄積された時点で所定のワード数毎に展開データを前記ローカルメモリへDMA転送する、ことを特徴とした液体噴射データのデータ転送装置。 7. The line buffer according to claim 1, wherein the line buffer has two buffer areas that can store development data of a predetermined number of words, and the liquid ejection data developed by the decoding circuit is on one side. When the expansion data of the predetermined number of words is stored sequentially, the liquid ejection data expanded by the decoding circuit is sequentially stored on the other side, and the expansion data of the predetermined number of words is stored A data transfer apparatus for liquid ejection data, wherein the expanded data is DMA-transferred to the local memory every predetermined number of words. 請求項1〜7のいずれか1項において、前記ローカルバスにおける前記デコードユニットから前記ローカルメモリ、及び前記ローカルメモリから前記液体噴射ヘッドのレジスタへのデータ転送は、バースト転送によって行われる、ことを特徴とした液体噴射データのデータ転送装置。In any one of claims 1-7, wherein said from the decoding unit in the local bus data transfer in the local memory, and from the local memory to a register of said liquid ejecting head is performed by burst transfer, it A data transfer device for liquid ejection data. 請求項1〜のいずれか1項において、前記圧縮された液体噴射データは、ランレングス圧縮データであり、前記デコード回路は、ランレングス圧縮データをハードウェア展開可能なデコード回路である、ことを特徴とした液体噴射データのデータ転送装置。In any one of claims 1-8, wherein the compressed liquid ejection data is a run-length compressed data, said decoding circuit is a hardware deployable decode circuit run-length compressed data, the A data transfer device for liquid ejection data. 請求項1〜のいずれか1項において、前記デコードユニットは、前記メインメモリからDMA転送された非圧縮の液体噴射データを前記デコード回路にてハードウェア展開せずに、前記ラインバッファへ格納する手段を備えている、ことを特徴とした液体噴射データのデータ転送装置。In any one of claims 1 to 9, wherein the decoding unit, the uncompressed liquid ejection data DMA-transferred from said main memory without hardware development by said decode circuit is stored into the line buffer A data transfer device for liquid ejection data, comprising: means. 請求項1〜10のいずれか1項に記載の液体噴射データのデータ転送装置を備えた液体噴射装置。A liquid ejecting apparatus provided with a data transferring apparatus for transferring liquid ejection data as claimed in any one of claims 1-10.
JP2003162153A 2002-08-26 2003-06-06 Data transfer device for liquid ejection data, liquid ejection device Expired - Fee Related JP4359752B2 (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP2003162153A JP4359752B2 (en) 2002-08-26 2003-06-06 Data transfer device for liquid ejection data, liquid ejection device
EP03018737A EP1394684B1 (en) 2002-08-26 2003-08-26 A data transferring apparatus for transferring liquid ejection data and a liquid ejecting apparatus
EP06005830A EP1677203B1 (en) 2002-08-26 2003-08-26 A data transferring apparatus for transferring liquid ejection data and a liquid ejecting apparatus
CNB031553117A CN1310161C (en) 2002-08-26 2003-08-26 Data transmitting apparatus for liquid spray data and liquid spraying apparatus
DE60314572T DE60314572T2 (en) 2002-08-26 2003-08-26 A data transfer device for transferring liquid ejection data and a liquid ejection device
DE60316856T DE60316856T2 (en) 2002-08-26 2003-08-26 Data transfer device for transferring liquid discharge data and liquid discharge device
US10/649,545 US7083244B2 (en) 2002-08-26 2003-08-26 Data transferring apparatus for transferring liquid ejection data and a liquid ejecting apparatus
CNU032053908U CN2655529Y (en) 2002-08-26 2003-08-26 Data transmission apparatus of liquid injecting data, liquid injecting device
AT03018737T ATE365945T1 (en) 2002-08-26 2003-08-26 A DATA TRANSMISSION DEVICE FOR TRANSMITTING LIQUID EXHAUST DATA AND A LIQUID EXHAUST DEVICE
US11/408,280 US7458652B2 (en) 2002-08-26 2006-04-19 Data transferring apparatus for transferring liquid ejection data and a liquid ejecting apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002245243 2002-08-26
JP2003162153A JP4359752B2 (en) 2002-08-26 2003-06-06 Data transfer device for liquid ejection data, liquid ejection device

Publications (3)

Publication Number Publication Date
JP2004142416A JP2004142416A (en) 2004-05-20
JP2004142416A5 JP2004142416A5 (en) 2005-10-27
JP4359752B2 true JP4359752B2 (en) 2009-11-04

Family

ID=32472647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003162153A Expired - Fee Related JP4359752B2 (en) 2002-08-26 2003-06-06 Data transfer device for liquid ejection data, liquid ejection device

Country Status (1)

Country Link
JP (1) JP4359752B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100374300C (en) * 2004-11-04 2008-03-12 凌阳科技股份有限公司 Ink jet printing control device

Also Published As

Publication number Publication date
JP2004142416A (en) 2004-05-20

Similar Documents

Publication Publication Date Title
JP4182343B2 (en) Data transfer device for liquid ejection data, liquid ejection device
JP4359752B2 (en) Data transfer device for liquid ejection data, liquid ejection device
JP4359751B2 (en) Data transfer device for liquid ejection data, liquid ejection device
JP4336952B2 (en) Data transfer device for liquid ejection data, liquid ejection device
JPH0939306A (en) Printer
US7458652B2 (en) Data transferring apparatus for transferring liquid ejection data and a liquid ejecting apparatus
JP2005088574A (en) Apparatus for transferring liquid ejection data, and liquid ejection apparatus
JP4412478B2 (en) Data transfer device for liquid ejection data, liquid ejection device
JP2004142417A (en) Transfer unit of liquid ejection data, and liquid ejector
US7167933B2 (en) Data transferring apparatus for transferring liquid ejection data and a liquid ejecting apparatus
JP2005028874A (en) Liquid ejection data transfer unit, liquid ejector
JP2005035293A (en) Data transferring apparatus for liquid ejection data, and liquid ejecting apparatus
EP1507213B1 (en) A data transferring apparatus for transferring liquid ejection data and a liquid ejecting apparatus
US7177955B2 (en) Data transferring apparatus for transferring liquid ejection data and a liquid ejecting apparatus including a header analyzing unit that analyzes a header of liquid ejection controlling data
JP2004086440A (en) Data transfer device for data on liquid discharge and liquid injection device
JP4038639B2 (en) Printer and its image data transfer method
JP2005031994A (en) Liquid injection control data transfer device, and liquid injection device equipped with liquid injection control data transfer device
JP2002137457A (en) Printer and its controlling method
JP2004072600A (en) Image rotation system and image rotation method
JP2005288846A (en) Recorder and method of controlling it
JP2003251868A (en) Printer and method of managing buffer
JPH082021A (en) Page printer device
JPH0731431B2 (en) Recording device
JP2004351792A (en) Recorder
JPH09156168A (en) Recording apparatus

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050902

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090608

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090728

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees