(57)【要約】【課題】  キャリッジを加減速させながら印刷する場合にも、正確な周期予測値を求めて、着弾誤差の少ない印刷を行う。【解決手段】インク滴を吐出する記録ヘッド221と、この記録ヘッドを搭載し印刷媒体上でその印刷媒体の搬送方向と直交する方向に移動するキャリッジと、キャリッジの位置を検出して位置検出信号を出力する位置検出装置（エンコーダ）206と、キャリッジの移動状態をキャリッジの移動に伴って位置検出信号の周期の形態で記憶する記憶装置220と、制御装置215とを備える。制御装置は、非印刷時に周期情報を周期テーブルに書き込み、印刷時に周期テーブルから周期情報を読み出す。周期情報は、非印刷時において、印刷時と同じ駆動条件でキャリッジを駆動したときに位置検出装置の位置検出信号から得られる周期情報である。制御装置215は、周期情報に基づいて予測周期を算出し、予測周期に基づいてヘッド駆動周期を算出し、記録ヘッド221を駆動する。【選択図】図３
2007076216.tif 000002
【特許請求の範囲】
【請求項１】
インク滴を吐出する記録ヘッドと、
前記記録ヘッドを搭載し、印刷媒体上を当該印刷媒体の搬送方向と直交する方向に移動するキャリッジと、
前記キャリッジの位置を検出し位置検出信号を出力する位置検出装置と、
前記キャリッジの移動状態を、当該キャリッジの移動に伴って位置検出信号の周期の形態で記憶する記憶装置と、
制御装置とを備え、
前記制御装置は、
非印刷時において印刷時と同じ駆動条件でキャリッジを駆動したときに前記位置検出装置の位置検出信号から得られる周期情報を前記記憶装置内の周期テーブルに書き込み、印刷時に前記周期テーブルから周期情報を読み出し、
前記読み出した周期情報に基づいて予測周期を算出し、この予測周期に基づいてヘッド駆動周期を算出し、このヘッド駆動周期に基づいて記録ヘッドを駆動して印刷することを特徴とするインクジェット記録装置。
【請求項２】
前記位置検出装置は、
等間隔に設けられた複数の被検出部と、
この被検出部を検出する検出装置とを備え、
この検出装置が出力する出力位置検出信号は、キャリッジの移動周期に同期した周期信号であることを特徴とする、請求項１に記載のインクジェット記録装置。
【請求項３】
前記制御装置は、設定及び変更を自在とするアドレスを指標として、周期テーブルに対する周期情報の書き込み及び／又は読み出しを行うことを特徴とする、請求項１に記載のインクジェット記録装置。
【請求項４】
前記予測周期は、前記周期テーブルから読み出した周期情報を補正して求める周期であり、
前記補正値は読み出した周期情報に基づく周期と印刷時に位置検出装置から出力される位置検出信号の周期の差分から算出される値であることを特徴とする請求項１に記載の記録装置。
【請求項５】
前記制御装置は、周期テーブル作成モードと周期テーブル読み出しモードとを備え、
非印刷時には周期テーブル作成モードに設定し、印刷時には周期テーブル読み出しモードに設定し、
前記周期テーブル作成モード時には、前記位置検出装置の位置検出信号から得られる周期情報を書き込んで周期テーブルを作成し、
前記周期テーブル読み出しモード時には、前記周期テーブルから周期情報を読み出すことを特徴とする、請求項１乃至４の何れかに記載のインクジェット記録装置。
【請求項６】
前記位置検出装置から出力される位置検出信号に基づいて前記キャリッジの位置を求めるカウンタを備え、
このカウンタで定まるエンコーダアドレスと前記記憶装置に設定したアドレスとを比較することによって、前記周期テーブルに対する書き込みタイミング及び／又は読み出しタイミングを決定することを特徴とする請求項３に記載のインクジェット記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録ヘッドをキャリッジに搭載し、キャリッジを往復移動させつつ記録ヘッドからインク滴を吐出させ、インク滴を紙面上に着弾させることによって所望の画像を紙面上に形成するインクジェット記録装置に関する。
【０００２】
特に、キャリッジの移動状況をリニアエンコーダで検出し、所望の位置でインクを吐出させ、着弾誤差の少ない高精度な印刷を実現するインクジェット記録装置に関する。
【背景技術】
【０００３】
紙等の記録媒体にインク滴を吐出させて記録媒体上にインク滴を着弾させ、インク滴で所望の画像を形成するインクジェット記録装置が知られている。
【０００４】
このようなインクジェット記録装置は、インク滴を吐出させる記録ヘッドをキャリッジに搭載し、このキャリッジを記録媒体上を移動させながら、最適なタイミングでインク滴を吐出させることが求められる。この要請は、インク滴を吐出させるタイミングに誤差があると、そのタイミングの誤差が着弾位置の誤差となり、印刷したい画像を忠実に記録媒体に形成することが出来なくなるためである。
【０００５】
インク滴の吐出タイミングを決定するために、吐出位置の基準となるタイミングトリガをリニアエンコーダの出力信号に基づいて生成し、このタイミングトリガに基づいてヘッド駆動パルスを出力している。
【０００６】
このタイミングトリガは、リニアエンコーダの１出力の間に複数生成するのが一般的であるため、予測するリニアエンコーダの出力周期の誤差がタイミングトリガの誤差に影響し、高精度、高画質な印刷の妨げとなる。キャリッジの加減速中の場合、その影響は顕著に起きやすい。
【０００７】
このような問題に対して、駆動タイミングを補正する手法として特許文献１，２に記載される技術が提案されている。
【０００８】
特許文献１は、印刷タイミングを前もって計測されるキャリッジの移動速度に応じた時間データから求めるものである。キャリッジがＮ−２個目及びＮ−１個目のスリット間隔上を移動する時の移動時間と、これらの移動時間の時間差を求め、Ｎ−１個目における移動時間と求めた時間差とからＮ個目における移動時間を求めて、これにより印字タイミング信号を生成し、現在のキャリッジの移動時間を基に現在の印字モードに応じた基本タイミング信号を生成し、現在の移動時間と印字ヘッドの印字用紙面への所定到達時間に等しく設定した移動時間とから補正時間を求めて、補正時間により基本タイミング信号を補正して印字タイミング信号を生成する。
【０００９】
また、特許文献２は、行の最初のドットに印字タイミングを決定した後、２つ目以降にドットの印字タイミングを定めるものであり、キャリッジの加速区間を仮想的な小区間に分割し、各小区間をキャリッジが走行する時間の時間データを用意し、この時間データから最初のドットの印字タイミングに対応する小区間以降の時間データの組みを、連続するＮ個の時間データを１組みとして多数組み選び、選んだ各組のＮ個の時間データを加算することにより、行の２つ目以降の各ドットの印字タイミングを決定するものである。
【００１０】
印字タイミングテーブルに、最初のドットの印字タイミングを定めた時間データＴ０に続いて、以後の各ドット間のピッチを複数Ｎ分割した小区間のキャリッジ走行時間を示した時間データ（Ｔ１１、Ｔ１２、Ｔ１３、Ｔ１４、…）を格納しておく。そして、各行の印字において、まず、最初のドットの印字タイミングデータ（Ｔ０）に必要な補正量αを加算して最初の印字タイミング（Ｔ０＋α）を決定した後、その補正量αが到達した小区間（例えばＴ１２）の次の小区間（例えばＴ１３）からＮ個ずつ時間データを取り出して加算することにより、２つ目以降の各ドットの印字タイミングを、例えば２つ目ドットに対してはＴ１３＋Ｔ１４＋Ｔ２１＋Ｔ２２、３つ目ドットに対してはＴ２３＋Ｔ２４＋Ｔ３１＋Ｔ３２、…というように決定する。
【００１１】
特許文献２は、印刷開始のタイミングをキャリッジの位置だけでなく、キャリッジがある位置に達してから所定時間後に印刷開始を行う制御において、この所定時間が各行毎に異なることで正確なタイミングが得られないという問題を考慮したものであり、各行毎の所定時間のずれを補正する補正値テーブルを持ち、各所定時間を行毎に補正して、印刷開始位置を正確にするものである。
【特許文献１】特開平５−１７７８７８号公報
【特許文献２】特開平１１−２９１５５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
前記した特許文献１によれば、現時点から1つ手前と2つ手前のエンコーダ出力間の周期を基に次のエンコーダ出力到来迄の時間を予測するため、ある程度正確に出力間周期を予測することができる。しかしながら、この周期予測では、エンコーダ出力周期の変化量が一定である場合には正確に予測することができるが、エンコーダ出力周期の変化量が変動する場合には正確に周期を予測することは困難であり、加速中の印字では誤差が大きくなってしまうという問題がある。
【００１３】
また、前記した特許文献２によれば、印刷開始位置を補正することは出来るが、それ以降は予め決められたテーブルにしたがって印刷駆動タイミングが決定されるため、この予め決められたテーブルに基づいて求められるヘッド駆動信号タイミングに誤差がある場合に、高精細な印刷が出来ないという問題がある。
【００１４】
また、上記テーブルは設計時に決定されるものであるため、実際の印刷動作時の記録装置や環境の状態が設計時から変動した場合には、高精細な印刷が出来ないという問題がある。
【００１５】
本発明は、上記問題を鑑み、プリンタや複写機等を含むインクジェット記録装置において、キャリッジを加減速させながら印刷する場合にも、正確な周期予測値を求めて、着弾誤差の少ない印刷を行うことを目的とする。
【００１６】
また、エンコーダ出力の周期の増分が変動する場合であっても、周期の累積誤差を低減することを目的とする。
【００１７】
また、エンコーダ出力の周期変動に対応した周期予測を、各印字時における状態に応じて求め、各印字時の状態に適応したヘッド駆動を行うことを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、本発明によるインクジェット記録装置は、インク滴を吐出する記録ヘッドと、この記録ヘッドを搭載すると共に印刷媒体上においてその印刷媒体の搬送方向と直交する方向に移動するキャリッジと、このキャリッジの位置を検出して位置検出信号を出力する位置検出装置と、キャリッジの移動状態をキャリッジの移動に伴って位置検出信号の周期の形態で記憶する記憶装置と、制御装置とを備える。
【００１９】
ここで、記憶装置は、非印刷時に周期情報を周期テーブルに書き込み、印刷時には周期テーブルから周期情報を読み出す。周期テーブルに書き込む周期情報は、非印刷時において、印刷時と同じ駆動条件でキャリッジを駆動したときに位置検出装置の位置検出信号から得られる周期情報である。
【００２０】
制御装置は、読み出した周期情報に基づいて予測周期を算出し、この予測周期に基づいてヘッド駆動周期を算出し、このヘッド駆動周期に基づいて記録ヘッドを駆動して印刷する。
【００２１】
位置検出装置は、等間隔に設けられた複数の被検出部と、この被検出部を検出する検出装置とを備える。この検出装置が出力する出力位置検出信号は、キャリッジの移動速度に同期した周期信号である。この位置検出装置は、例えば、光学式、磁気式等の各種エンコーダを用いることができ、光学式エンコーダの場合には、被検出部は光を透過・不透過とするスリット部や、光を反射・透過（あるいは吸収）する反射部を、移動方向に等間隔に複数配置することで構成することができる。検出装置は、この被検出部による透過光や反射光を検出する。キャリッジが等速度で移動している場合の出力位置検出信号の周期は一定となり、キャリッジが加速中あるいは減速中である場合の出力位置検出信号の周期は加減速に応じて変動する。
【００２２】
記憶装置は、設定及び変更を自在とするアドレスを指標として、周期テーブルに対する周期情報の書き込み及び／又は読み出しを行う。周期情報を書き込む場合には、設定されたアドレス位置を先頭位置として順に書き込みを行う。一方、書き込まれた周期情報を読み出す場合には、設定されたアドレス位置を参照して読み出しを行う。
【００２３】
予測周期は、周期テーブルから読み出した周期情報を補正して求める周期である。この予測周期を求めるための補正値は、読み出した周期情報に基づく周期と印刷時に位置検出装置から出力される位置検出信号の周期の差分から算出することができる。
【００２４】
制御装置は、周期テーブル作成モードと周期テーブル読み出しモードとを備える。周期テーブル作成モードの設定は非印刷時に行い、周期テーブル読み出しモードの設定は印刷時に行う。周期テーブル作成モード時には、位置検出装置の位置検出信号から得られる周期情報を書き込んで周期テーブルを作成する。また、周期テーブル読み出しモード時には、周期テーブルから周期情報を読み出す。
【００２５】
インクジェット記録装置は、位置検出装置から出力される位置検出信号に基づいてキャリッジの位置を求めるカウンタを備える。このカウンタで定まるエンコーダアドレスと記憶装置に設定したアドレスとを比較することによって、周期テーブルに対する書き込みタイミング及び／又は読み出しタイミングを決定する。
【００２６】
本発明のインクジェット記録装置は、印刷前に印刷時におけるキャリッジの速度と同じ駆動状態でキャリッジをプレスキャンする。このプレスキャン時におけるエンコーダパルス周期をエンコーダパルス周期予測値としてSDRAM等の記憶装置に格納する。印刷時には、この予測値に基づいてエンコーダパルス周期を予測し、さらに予測値に基づく周期の予測の際、実際のエンコーダのタイミングと、予測されたエンコーダ周期に基づくタイミングとの差分から予測値の補正値を算出し、上記予測値をこの補正値で補正して予測されたエンコーダ周期とする。この予測されたエンコーダパルス周期を等分割してヘッド駆動タイミング信号を生成する。これによって、キャリッジを加減速させながら印刷する場合にも、正確な周期予測値に基づいて、着弾誤差の少ない正確な印刷を行うことができる。
【発明の効果】
【００２７】
本発明によれば、キャリッジを加減速させながら印刷する場合にも、正確な周期予測値を求めて、着弾誤差の少ない印刷を行うことができる。
【００２８】
また、エンコーダの周期の増分が変動する場合であっても、周期の累積誤差を低減することができる。
【００２９】
また、エンコーダの周期変動に対応した周期予測を、各印字時における状態に応じて求め、各印字時の状態に適応したヘッド駆動を行うことができる。
【発明を実施するための最良の形態】
【００３０】
以下、添付図面を参照して本発明の実施形態について説明する。
【００３１】
図1は本発明のインクジェットの概略外形図である。本発明によるインクジェット記録装置は、キャリッジ100を、印刷用紙等の記録媒体Ｐの搬送方向Ｂと直交する方向に往復動自在とし、このキャリッジ100に搭載した記録ヘッド114によって記録媒体Ｐに文字や画像等の印刷を行う。記録ヘッド114は複数のインク容器105を備えることで色印刷に対応することができる。
【００３２】
キャリッジ100は、記録媒体Ｐの搬送方向Ｂと直交する方向に配置したガイドロッド102に沿ってスライド自在とすると共に、搬送ベルト101によって駆動する。この搬送ベルト101は、両端をプーリ103で支持し、一方のプーリ103をキャリッジモータ104で回転させることで駆動する。キャリッジ100の移動方向は、キャリッジモータ104の回転方向で制御される。
【００３３】
キャリッジ100の記録媒体Ｐの搬送方向Ｂと直交する方向での位置は、リニアスケール107及びリニアエンコーダセンサ106によって検出される。リニアスケール107は、例えば、等間隔に配置された光学的スリット（図示してない）で構成することができ、リニアエンコーダセンサ106はこのスリットを透過する光を検出することによってキャリッジ100の位置を検出する。なお、光学式リニアエンコーダは、透過光を検出するタイプの他に、反射光を検出するタイプを知られている。また、リニアエンコーダは光学式のほかに磁気式のものも知られている。
【００３４】
リニアエンコーダセンサ106の検出信号の周期は、スリット等の被検出体の配置間隔及びキャリッジ100の移動速度等に依存する。等間隔に配置した被検出体では、検出信号の周期は、キャリッジ100が等速移動の場合には一定の周期となり、キャリッジ100が加速中あるいは減速中の場合には周期は変動する。
【００３５】
なお、図１において、記録媒体Ｐは複数の搬送ローラ109〜112によって搬送方向Ｂに移動自在に支持されている。また、キャリッジ100の移動方向の一方の端部には、ヘッドの回復処理を行う回復処理部113が設けられている。
【００３６】
図２は、キャリッジ100が備える位置検出装置の概略を示している。位置検出装置は、等間隔に設けられた複数の被検出部と、この被検出部を検出する検出装置から構成される。図２では、被検出部として光学式リニアスケール107を備え、検出装置として位置検出用の光学式リニアエンコーダセンサ106を備える構成例を示している。
【００３７】
光学式リニアスケール107には、キャリッジ100の移動方向に沿って複数のスリット115が設けられ、光学式リニアエンコーダセンサ106が備える光源から発した光の内でこのスリットを透過した光を検出する。
【００３８】
なお、前述したように、キャリッジ100自体は、ガイドロッド202に案内されて、記録媒体Ｐの搬送方向（図２中のＬで示す）と直交する方向にスライド自在に支持されている。記録ヘッド114は、キャリッジ100から記録媒体Ｐに向けて取り付けられ、記録媒体Ｐの搬送位置と、キャリッジ100のガイドロッド202上における位置とによって、記録媒体Ｐの任意の位置に印刷を行う。
【００３９】
次に、記録装置の信号処理部分の概略構成を図３の概略図を用いて説明する。
図３は、記録装置の処理を電気的に処理するシステムコントロール部214の概略構成を示している。
【００４０】
システムコントロール部214は、画像処理を実行するカスタムＩＣであるSOC(system on chip)215と、フラッシュROM（FLASH ROM）218及びシンクロナスDRAM（SDRAM）220の記憶装置とを備え、外部のホストPC（HOSTPC）229から入力した画像データを画像処理し、この画像データに基づいて記録ヘッド221を駆動すると共に、光学式エンコーダ206で検出したキャリッジの検出位置信号を入力して好適なタイミングで印刷を行わせる。
【００４１】
SOC(system on chip)215は画像処理を実行する信号処理部であり、カスタムＩＣで構成することができ、コントロール部214に内蔵される。
【００４２】
SOC(system on chip)215は、内部に、システム全体を制御する中央処理装置（CPU CORE）216と、ホストＰＣ229から印刷したい所望の画像データを入力する外部インターフェース217と、CPU217が実行するプログラムが格納されているFLASH ROM218と、SOC215のインターフェースであるROMインターフェース219と、SDRAM220にダイレクトにアクセスする制御をするインターフェース部であるMEMC(memory controller )222と、光学式エンコーダ206からの入力信号に基づいて印刷駆動パルスの基準タイミングとなる印刷基準タイミング信号を生成するCRENCブロック223と、CRENCブロック223からの印刷基準タイミング信号に同期してSDRAM220から画像データを読み出すPBUFブロック224と、PBUFブロック224から読み出された画像データを一時保持するバッファであるSRAM225と、SRAM225に格納された画像データをCRENCブロック223から生成される印刷基準タイミング信号に同期して記録ヘッド221に転送するHSRAMCブロック226と、CRENCブロック223からの印刷基準タイミング信号に同期して記録ヘッド221にヘッド駆動パルスを出力するHPULSECブロック227とを備える。
【００４３】
なお、MEMC(memory controller )222には画像データ，位置補正値を格納するSDRAM220が接続される。CRENCブロック223には記録ヘッド221が接続され、システムコントロール部214から転送される画像データに基づいてノズルからインク滴を吐出させる。上記した各部の働きについては後述する。
【００４４】
インクジェット記録装置は、図１において、キャリッジ100をＡ 方向に往復（順方向及び逆方向）させ、それに同期して記録媒体ＰをＢ方向（紙搬送方向）に送りつつ、記録ヘッド114からインクを吐出させ、記録媒体Ｐに所望の画像を形成する。キャリッジ100の移動量、すなわち記録ヘッド114の移動量は光学式エンコーダ106の出力値から得られる。図４は光学式エンコーダ106からの出力信号波形の一例を示している。図４（ａ），（ｂ）はキャリッジ100が往路方向に移動時の出力信号波形であり、図４（ｃ），（ｄ）はキャリッジ100が復路方向に移動時の出力信号波形である。２つのセンサを移動方向に位置をずらして配置することによって、各センサからは移動方向に応じて位相差を異にする出力信号が出力される。これら２つの出力の位相関係から移動方向を判定することができる。
【００４５】
また、CRENCブロック223に内蔵された位置カウンタは、光学式エンコーダ106からの出力信号波形に基づいてその所定のエッジ（例えば、立ち上がり及び／又は立ち下がり）を計数する。このカウント値は、キャリッジ100の現在位置を表している。
【００４６】
図５及び表１は、エンコーダ信号の位相とカウンタ値の対応関係を示している。図５において、キャリッジが順方向に移動した際には、各出力信号波形（図５（ｂ），（ｃ））の立ち上がり及び立ち下がりにおいてカウンタ値をカウントアップさせ、キャリッジが逆方向に移動した際には各出力信号波形（図５（ｂ），（ｃ））の立ち上がり及び立ち下がりにおいてカウンタ値をカウントダウンさせている。
【００４７】
表１に、カウントアップとカウントダウンにおいて、Ａ相信号とＢ相信号の関係を示している。
【００４８】
【表１】
2007076216.tif 000003
【００４９】
例えば、カウントアップは、Ｂ相信号がロー（Ｌ）状態においてＡ相信号が立ち上がったとき、Ｂ相信号がハイ（H）状態においてＡ相信号が立ち下がったとき、Ａ相信号がハイ（Ｈ）状態においてＢ相信号が立ち上がったとき、Ａ相信号がロー（Ｌ）状態においてＢ相信号が立ち下がったときに行う。また、カウントダウンは、Ｂ相信号がロー（Ｌ）状態においてＡ相信号が立ち下がったとき、Ｂ相信号がハイ（H）状態においてＡ相信号が立ち上がったとき、Ａ相信号がハイ（Ｈ）状態においてＢ相信号が立ち下がったとき、Ａ相信号がロー（Ｌ）状態においてＢ相信号が立ち上がったときに行う。
【００５０】
CRENCブロック223は、内部の位置カウンタが示すカウンタ値に基づいてキャリッジ100の現在位置を判定し、キャリッジ100が印刷領域に差し掛かった時点で、印刷基準タイミングトリガ信号乃至ヘッド駆動タイミングを生成する。
【００５１】
ここで、印刷基準タイミング信号とは、図６に示すデータセットウインドウ、ブロックトリガ、ヒートトリガ、ヒートウインドウ、データトランスファウインドウである。この内、ヒートウインドウ及びブロックトリガはヘッド駆動タイミングを構成している。これら各信号の役割については後述する。
【００５２】
図６はSOC215内部のブロック図である。図6において，CRENCブロック223は印刷基準タイミングトリガ信号及びヘッド駆動タイミングを生成する。
【００５３】
PBUFブロック224は、CRENCブロック223によって生成された印刷基準タイミングトリガ信号を基準タイミングとして、SDRAM220内部から画像データを読み出し、読み出した画像データをSRAM225内に一時格納する。SRAM225内に格納された画像データは、CRENCブロック223によって生成された印刷基準タイミングトリガ信号を基準タイミングとして、HSRAMCブロック226を介して記録ヘッド221に転送される。HSRAMCブロック226がSRAM225から記録ヘッド221に対して転送する方式はシリアルデータ転送である。
【００５４】
HPULSECブロック227は、CRENCブロック223からのヘッド駆動タイミング信号（ヒートウインドウ、ブロックトリガ）に基づいてヘッド駆動パルスを生成し、記録ヘッド221を駆動する。
【００５５】
なお、CRENCブロック223には、外部のＣＰＵ216から着弾位置補正値の初期値書き込み、DREQ許可の設定、DMA開始アドレスの設定、動的レジ／静的レジモードの切替等の指令を受ける。
【００５６】
次に、図７を用いて、CRENCブロック223から記録ヘッド221への画像データのデータ転送について説明する。
【００５７】
図７は記録ヘッドを真下側から見た状態を模式的に示している。記録ヘッド221には6色分のノズル列228が配置されており、各色はＡ列、Ｂ列に分けられる。図７では、INK０ヘッド〜INK５ヘッドの６個のヘッドに、それぞれ、BK1，BK2，G1，G2,C，LCの各色を割り当て、各ヘッドはINK０AとINK０BのようにＡ列とＢ列に区分している。さらに、各Ａ列ノズル及びＢ列ノズルは、odd列とeven列に分けられる。odd列とeven列は、例えば、各ヘッドが有する複数のノズルを順に並べたときの奇数番目と偶数番目に対応し、各列は、ノズルの配列方向に対して位置をずらして配列することで、微細な配置間隔を可能とすることができる。
【００５８】
上記配列によれば、記録ヘッド221には、6色×２列×２列＝24列のノズル列が配置されている。また、図７に示すように、キャリッジは各ノズル列に対して垂直の方向に駆動する。上記した印刷基準タイミングトリガ信号のうち、ブロックトリガ、ヒートトリガは各列に共通のタイミングトリガである。また、それ以外のタイミング信号は１列に対して１本の信号が割り当てられる。したがって、24列のノズル列それぞれに割り当てられると、24本の信号となる。
【００５９】
したがって、ブロックトリガ、ヒートトリガ信号はbit型信号であり、その他のタイミング信号はbit_vector型の信号で、バス幅は24bitである。たとえば、ブロックトリガ信号、ヒートトリガ信号はblktrg,httrg等と表記され、各ノズル列に共通のタイミングトリガとなるのに対し、データセットウインドウは、dataset_window(23:0)等と表記され、各bitが各列に対応している。
【００６０】
次に、複数のノズルをブロック単位に分割して駆動するブロック分割駆動について説明する。
【００６１】
熱エネルギーを運動エネルギーに変換してインクを吐出させるインクジェット記録装置では、上記のような各ノズル列の全てのノズルを同時に駆動することはない。これは、多数のノズルを同時に駆動させると、記録ヘッドのヒータチップを同時に駆動することになり、そのため一時期に大きく電圧が降下し、印刷品位に影響を与えるからである。また、このような駆動の仕方をすると記録ヘッドの寿命が短命となり、故障率の増加を招くことにもなるため、望ましくない。
【００６２】
それで、従来、記録ヘッドを時分割で駆動する時分割駆動が採用されている。この時分割駆動は、本来同時に吐出させるべき１ノズル列の印刷に対して、ノズル列に含まれる複数のノズルを複数のブロックに分け、各ブロックを小時間間隔を空けて駆動して印刷する方式である。
【００６３】
例えば、1ノズル列のノズル数が640ノズルある場合には、この640ノズルを40ブロックに分ける。この分割により、1ブロックに含まれるノズル数は16ノズルとなる。40個の各ブロックを順番にブロック１、ブロック２、ブロック３、…ブロック40と番号付けし、ブロック１からブロック40まで順番に駆動する。このように、ブロックを単位として駆動すると、同時に吐出されるノズル数は最大で16ノズルであるため、記録ヘッドの電圧降下を抑制し、電圧降下による画質の劣化を抑えることが出来る。ここで、ブロック１〜ブロック40までの駆動時間は1カラム間に収まっていることが条件である。なお、１カラムは1ドット間に相当する。
【００６４】
図８は、ブロック分割駆動を説明するための図である。ブロック分割駆動において、画像データ（図８（ａ））は、ブロックトリガ周期（図８（ｂ））に従って、各ブロックを単位として送られ、画像データが送られた後、ヒータ駆動されて（図８（ｃ））１ブロック分の印刷が行われる。
【００６５】
また、各ブロックの駆動間隔は各ブロックで印刷するデータのデータ転送間隔以上でなければならない。例えば、ブロック１の16ノズルを駆動するには、その16ノズルに対応する画像データをヘッドに転送した後、ヘッドのヒータを同時に駆動してその16ノズルを同時に駆動しなければならない。このとき、ブロック１を駆動した後、ブロック２のデータを転送開始して転送が完了する前にヒータが駆動されてしまうと、ブロック２のノズルではデータが揃っていないため、印刷データを忠実な印字することができなくなる。
【００６６】
そのため、各ブロックを駆動するタイミング信号は、ヘッドの各ブロックへのデータ転送が間に合う周期でなければならない。このようにブロックトリガ周期がある一定値以上でなければ印刷のためのデータ転送が間に合わないため、印刷スピードの制約を受けることになる。
【００６７】
本発明はこのブロックトリガ周期の算出において、ブロックトリガ周期の基になる周期（予測周期）を補正することで、ブロックトリガ周期を補正し、最適なタイミングでヘッド駆動パルスを生成し、着弾誤差の少ない印刷を実現する。なお、予測周期については後述する。
【００６８】
以下、ブロック分割駆動の各形態について説明する。ブロック分割駆動の形態として、クオータ分割駆動、ハーフ分割駆動、及びフル駆動がある。
【００６９】
ブロック分割駆動において1列のノズルを何分割するかはヘッドの物理的構造に依存し、システムコントロール部においてソフト的に決定するものではない。ここでは一例として、記録ヘッドは最大で40分割する駆動仕様の場合を示している。この最大分割数が40である場合には、この最大分割数内での分割に応じて10分割駆動、20分割駆動、40分割駆動とすることもできる。これらの分割は、クオータ分割駆動、ハーフ分割駆動、フル駆動の呼称等でそれぞれ呼ばれている。
【００７０】
図９（ａ）はフル駆動の場合を示し、図９（ｂ）はハーフ分割駆動の場合を示し、図９（ｃ）はクオータ分割駆動の場合を示している。また、図９（ｄ）〜図９（ｆ）は、図８に示した画像データとブロックトリガ周期とヒータ駆動の関係を、図９（ｃ）はクオータ分割駆動に対応付けて示している。
【００７１】
クオータ分割駆動の場合は、一周期内において後述する補正予測周期を10等分した周期をブロックトリガ周期とし、ハーフ分割駆動の場合は、一周期内において補正予測周期を20等分した周期をブロックトリガ周期とし、フル駆動の場合は、一周期内において補正予測周期を40等分した周期をブロックトリガ周期とする。
【００７２】
いずれの場合も、１列が備える640ノズルは16ノズルを単位とする40個のブロックに分けられ、各ブロックは順番に駆動される。このとき、フル駆動の場合は１予測周期間に40ブロックの全てが駆動され、ハーフ駆動の場合は１予測周期間に20ブロックが駆動され、残りの20ブロックは次の予測周期間で駆動される。クオータ分割駆動の場合は１予測周期間に10ブロックが駆動され、次の1予測周期間に10ブロックが駆動され…4予測周期間で40ブロック全て駆動される。
【００７３】
次に、補正予測周期において、エンコーダ周期予測制御、予測値読み出し、補正、印刷前プレスキャンによる予測値テーブル作成等について説明する。
【００７４】
キャリッジの駆動は、定速度でキャリッジを駆動する他に、キャリッジを加速及び／又は減速させながらヘッドを駆動する場合がある。以下、キャリッジを加速する場合を例として説明する。
【００７５】
この場合、リニアエンコーダの被検出体が等間隔で配置されていると、リニアエンコーダの出力信号は一定周期のパルスにはならず、隣り合う周期間の各周期間において誤差が生じる。そのため、ブロックトリガ信号周期をエンコーダの前周期に基づいて算出すると、算出した周期は次のエンコーダ周期との間で誤差があるため、エンコーダ周期を予測する必要がある。
【００７６】
図１０は、キャリッジの加減速による周期ずれを説明するための図である。なお、ここでは、加速領域を誇張して示しているが、通常は、定速領域に比較して加速領域及び減速領域は短くなる。
【００７７】
印字起動した後、時間T0が経過した時点で印字タイミングの出力が始まり、加速領域では周期T1，T2，…TZの印字タイミングで印字が実行され、印字ドットが形成される。定速領域では、この周期Tは一定となるが、加速領域や減速領域では、速度が変動しているため、周期が変動する。
【００７８】
従来、前のエンコーダパルス周期の変動率から次のエンコーダパルス周期を計算して予測する方法があるが、この方法では予測値と実際値の誤差が大きく、高精度な印刷は困難である。
【００７９】
そこで、本発明では、印刷前にキャリッジをプレスキャンし、このプレスキャンで得られたエンコーダ周期変動のテーブルをSDRAMに格納する。プレスキャンの際には、印刷時とほぼ同じ速度状態でキャリッジを駆動させて、印刷時と同様の周期情報を取得する。
【００８０】
プレスキャン時と印刷時のスキャンの速度を、完全に一致させることはできないが、ある程度の速度誤差の範囲に収めることは、従来既知の速度サーボ制御を行うことで、速度を目標の速度に制御することによって十分に可能である。なお、プレスキャン時には印刷は行わない。このプレスキャンによる周期情報の取得は、従来のようにインクジェット記録装置の設計時ではなく、各利用者側において任意の時点で行うことができる。これによって、従来の設計時点で求めた周期情報のように固定された値でなく、インクジェット記録装置の利用履歴や、利用環境等の変動要素に応じた柔軟性に富んだ周期情報を取得することができる。
【００８１】
上記したように、プレスキャンによって作成された周期変動のテーブル（周期テーブル）に基づいて印刷時における印刷タイミングトリガ周期（ブロックトリガ周期、ヒートトリガ周期等）を算出することで、より正確なタイミングトリガを生成することができる。
【００８２】
以下、周期テーブルから読み出したエンコーダパルス周期を予測値と呼ぶ。予測値は前述のようにプレスキャンによって作成されるテーブルの値である。
【００８３】
図１１は、周期テーブルの作成を説明するための図である。
【００８４】
プレスキャンにおいて、エンコーダ206のA相信号の立ち上がりの周期をSDRAM305に連続アドレスで格納していく。SDRAM305への書き込みは、あるエンコーダアドレス（予測値参照開始アドレスADstart）から開始する。エンコーダアドレスとは、エンコーダ206出力に基づくキャリッジの位置カウンタ302の値であり、キャリッジ100の現在位置を示している。SDRAM305へエンコーダ出力のパルス間隔値を格納開始するエンコーダアドレスを予測値参照開始アドレスADstart304aとして、また、SDRAM305へのエンコーダ出力のパルス間隔値の格納を終了するエンコーダアドレスを、予測値参照終了アドレスADend304ｂとして、ASIC内のレジスタ304に保持する。
【００８５】
予測値参照開始アドレスADstart304a及び予測値参照終了アドレスADend304ｂは、CPUから所望の値を書き込むことができる。
【００８６】
SDRAM３０５内の周期テーブル（予測値テーブル）305aには、エンコーダアドレスに対応づけてエンコーダ出力のパルス間隔の予測値が書き込まれ、このエンコーダアドレスを参照することで任意に選択することができる。
【００８７】
プレスキャンにおいて、予測値参照開始アドレスADstart304aの位置にキャリッジが到達したとき、A相信号の立ち上がり信号に同期して周期レジスタの値を周期テーブル305aの先頭アドレスに書き込む。周期レジスタ303は、エンコーダ206のA相信号の立ち上がりから立ち下がりまでの期間をシステムCLKでカウントしており、このカウント値はA相信号の立ち上がりでリセットされる。その後、A相信号の立ち上がりに同期して周期レジスタ303の値を周期テーブル305aの次アドレスに書き込んでいく。
【００８８】
キャリッジが予測値参照終了アドレスADend304bに到達するまでこの処理を繰り返す。予測値参照終了アドレスADend 304bは、予測値参照開始アドレス340aと同様に、ASIC内部のレジスタ304に格納され、キャリッジの位置カウンタ302の値がこのレジスタの値と一致したとき、周期レジスタ303の周期をSDRAM305に書き込む。なお、予測値参照開始アドレスADstartから予測値参照終了アドレスADendまでの区間は、印刷領域を包含している必要がある。
【００８９】
このようにして作成された周期テーブルは、予測値参照開始アドレスから予測値参照終了アドレスまでのエンコーダ出力のパルス間隔の遷移が格納されている。エンコーダ出力をフィードバックして速度サーボ制御する制御系によれば、各プレスキャンによるばらつきを十分に小さくすることができ、当該インクジェット記録装置の条件が同じであれば、各印刷動作において同様の結果となる。
【００９０】
したがって、プレスキャンによって作成された周期テーブル（予測値テーブル）は、実駆動時との誤差が少ないエンコーダ周期を予測した値であるから、印刷時におけるヘッド駆動タイミングの基準とすることができる。
【００９１】
次に、周期テーブルを用いたヘッド駆動タイミング信号の生成動作について図１２及び図１３を用いて説明する。なお、図１２は前記した図１１とほぼ同様の構成であり、図１３は動作を説明するためのフローチャートである。これらのフローチャートの処理は、ＣＰＵがフラッシュＲＯＭ内に格納された各種プログラムを読み出して実行することにより実現される。
【００９２】
プレスキャンによって予測値を求めて周期テーブル（予測値テーブル）に格納しておく（S1）。プレスキャンを行った後に印刷を開始する(S2)。このとき、周期テーブル（予測値テーブル）に格納された周期の予測値を用いてヘッド駆動タイミング信号を生成する。
【００９３】
印刷時において、予測値参照開始アドレスADstartの位置にキャリッジが到達したとき(S3)、A相信号の立ち上がり信号に同期して(S4)、周期テーブル（予測値テーブル）305aからの読み出しを開始する(S5)。この読み出しにおいて、周期テーブル（予測値テーブル）305aの先頭アドレスADstartに書き込まれた予測値を参照して、この予測値に基づいてヘッド駆動タイミング信号（ヒートトリガ、ブロックトリガ等）を生成する(S6)。
【００９４】
これ以降、予測値参照終了アドレスADendまで、A相信号の立ち上がりに同期して周期テーブル（予測値テーブル）305aの次アドレスから予測値を読み出していき、そのとき読み出した予測値に基づいてヘッド駆動タイミング信号を生成する。
【００９５】
予測値が実際のエンコーダ周期との間で誤差を持つかはキャリッジの速度制御の精度に依存し、予測値と実際のエンコーダ出力のパルス間隔とを一致させることは難しく、多少の誤差が発生する。
【００９６】
そのため、実際のエンコーダ出力のパルス間隔が予測値を超えることがあり、又満たないこともある。
【００９７】
本発明では、実際のエンコーダ出力のパルス間隔が予測値を超えていた場合、次の予測値に当該超過時間を加算し、逆にエンコーダ出力のパルス間隔が予測値に満たない場合には、次の予測値から当該不足値を減算し、夫々補正していく。
【００９８】
図１４は、予測値と実際値との誤差を説明するための図である。
【００９９】
予測された周期が、実際のエンコーダパルス周期間に収まっている保証はなく、場合によっては、図１４に示すように、実際値が予測値よりも小さい場合がある。（予測値−実際周期）は、図１４においてTnover（例えば、T1over，T2over，T3over，…）で表記している。予測値に基づいて印刷を実行させるとTnoverが累積し、この累積値が大きいほど印刷結果は所望の印刷位置とずれてくる。
【０１００】
そこで、Tnoverの累積値を吸収する補正値を予測値に加算し、補正した予測値に基づいてヘッド駆動タイミングトリガを生成することで、印刷位置誤差を抑制する。
【０１０１】
図１４に示すように、予測値参照開始アドレスにキャリッジが到達すると、リニアエンコーダの最初のＡ相信号の立ち上がりeg1に同期して周期テーブル（予測値テーブル）から予測値T1を読み出す。もしも、この予測値T１が、次のＡ相信号の立ち上がりeg2迄の実際の周期T1’に等しいとき、すなわちT1=T1’のとき、キャリッジの移動周期予測はうまくいったといえる。しかし、実際は（T1−T1’）のように予測値と実際の値は異なる。
【０１０２】
図１４は、実際の周期T2’が次の予測値T2がよりも小さい場合を示している。実際の周期T2’がSDRAM中の周期テーブルから読み出した予測値T2より小さい場合、更に次の予測値T3はその差分(T2−T2’)だけ短くさせなければ、予測値の累積が実際値の累積よりも加算的に大きくなる場合がある。
【０１０３】
したがって、予測値T3を差分(T2−T2’)で補正した補正予測値HT3=T3−(T2−T2’)をヘッドの駆動タイミングトリガの基準周期として算出する。図１５は補正予測周期の一例を示している。
【０１０４】
ヘッドの駆動タイミングトリガは、補正予測周期を等分割した周期で生成し、これによって、ノズルからインクを吐出するタイミングを決定する。例えば、Ａ相信号のegｎ〜egｎ+1の間に駆動されるべきヘッドのタイミングトリガは、補正予測周期HTｎを等分割した周期で生成される。したがって、補正予測周期HTｎの開始位置はegｎに近いほど誤差が少なく、終了位置はegｎ+1に近いほど誤差が少ない。
【０１０５】
本発明による制御は、補正予測周期HTnの開始位置をegnになるべく近づけ、終了位置をegn+1になるべく近づけることによって、リニアスケール107にて定義されるキャリッジ位置に忠実で、高精度な印刷を行わせる。
【０１０６】
補正予測周期HTnは、その直前の補正予測周期HTn-1が終了し、かつＡ相信号のegnが入力されたとき開始される。
【０１０７】
Ａ相信号のegnが入力されたが、その直前の補正予測周期Tn-1がまだ終了していないときは、補正予測周期Tn-1が終了し次第、補正予測周期HTnは開始される。また、このとき、Ａ相信号のegnの入力時点から補正予測周期THn-1が終了するまでの時間T(n-1)overをカウントし、HTn=Tn−T(n-1)overとして補正予測周期HTnを算出する。
【０１０８】
図１６は予測値である予測周期のデータを格納した予測周期データテーブル（予測値テーブル）の一例を示している。予測周期データはSDRAM305に格納する。
【０１０９】
次に、図１７に示すように、実際値が予測値よりも大きい場合がある。（実際周期−予測値）は、図１７においてTnshort（例えば、図中のT2oshort）で表記している。予測値に基づいて印刷を実行させるとTnshortが累積し、この累積値が大きいほど印刷位置はやはりずれてくる。
【０１１０】
そこで、Tnshortの累積値を吸収する補正値を予測値に加算し、補正した予測値に基づいてヘッド駆動タイミングトリガを生成することで、誤差を抑制する。本発明のインクジェット記録装置では、実際値と予測値と差分を補正し、補正予測周期を算出し、さらに補正予測周期の累積値と実際値の差分に基づいて、上記した補正を実行する。
【０１１１】
図１７は、実際の値T2’が予測値T2よりも大きい場合を示している。実際の周期の値T2’がSDRAM中の周期テーブルから読み出した予測値Tより大きい場合、次の予測値T3はその差分(T2’−T2)だけ長くさせなければ、予測値の累積が実際値の累積よりも加算的に大きくなる場合がある。
【０１１２】
したがって、予測値T3を差分(T2’−T2)で補正した補正予測値HT3=T3＋(T2’−T2)をヘッドの駆動タイミングトリガの基準周期として算出する。図１７は補正予測周期の一例を示している。
【０１１３】
補正予測周期HTn-1が終了したがＡ相信号の立ち上がり信号egnが入力されないとき、補正予測周期HTn-1が終了してからＡ相信号の立ち上がり信号egnが入力されるまでの時間T(n-1)shortをカウントし、HTn=Tn+ T(n-1) short  として補正予測周期HTnを算出する。これらの処理によりHTnはTn’に近づき、印刷位置（インクの吐出位置）の誤差を小さくすることが出来る。
【０１１４】
図１８は補正予測周期の生成手順を説明するためのフローチャートである。このフローチャートでは、補正予測周期HTn-1の次の補正予測周期HTnを生成する手順について示している。
【０１１５】
直前の補正予測周期HTn-1が終了している場合において(S11)、Ａ相信号の立ち上がり信号egnが入力されていれば(S12)、次の補正予測周期値THnを開始(S18)し、Ａ相信号の立ち上がり信号egnが入力されていないときには(S12)、S14以降の（アンダーパルス）制御を行う。
【０１１６】
アンダーパルス制御では、補正予測周期HTn-1からＡ相信号の立ち上がり信号egnまでの時間T(n-1)shortを計数し(S14)、この時間T(n-1)shortを用いて、HTn=Tn+T(n-1)shortの演算で補正予測周期HTnを算出し(S15)、次の補正予測周期値THnを開始(S18)する。
【０１１７】
また、直前の補正予測周期HTn-1が終了していない場合において(S11)、Ａ相信号の立ち上がり信号egnが入力されていれば(S13)、S16以降の（オーバーパルス）制御を行う。
【０１１８】
オーバーパルス制御では、Ａ相信号の立ち上がり信号egnから補正予測周期HTn-1終了までの時間T(n-1)overを計数し(S16)、この時間T(n-1)overを用いて、HTn=Tn−T(n-1)overの演算で補正予測周期HTnを算出し(S17)、次の補正予測周期値THnを開始(S18)する。また、S13の工程でＡ相信号の立ち上がり信号egnが入力されていない場合にはS11の工程に戻る。
【０１１９】
次に、ブロックトリガ及びヒートトリガについて説明する。
【０１２０】
ヒートトリガ周期の算出方法は、補正予測周期を等分割して算出する。ヒートトリガは、プリントバッファPBUF224に画像データを取り込ませるタイミングトリガであり、ヒートトリガが入力されるとＳＯＣ内部のＰＢＵＦブロック224がSDRAM220内部の画像データ1カラム分の読み出しを開始する。
【０１２１】
ここで、1カラムとは、図７の記録ヘッドのノズル列1列分が駆動する画像データに相当する。また、ヒートトリガの周期は、インクジェット記録装置のキャリッジの走査方向の解像度によって決定される。例えば、リニアスケールの分解能が150dpiである場合には、補正予測周期も150dpiに相当する。
【０１２２】
図１９はこの補正予測周期とヒートトリガ（HTTRG）との関係を示し、図１９（ａ）はＡ相信号及びＢ相信号を示し、図１９（ｃ）はエンコーダ周期パルスを示し、図１９（ｄ）は補正予測周期カウンタ、及び補正予測周期を示し、図１９（ｅ）は600dpiのヒートトリガHTTRGを示し、図１９（ｆ）は1200dpiのヒートトリガHTTRGを示し、図１９（ｇ）は2400dpiのヒートトリガHTTRGを示し、図１９（ｈ）は4800dpiのヒートトリガHTTRGを示している。
【０１２３】
補正予測周期とヒートトリガの周期を一致させた場合には、この補正予測周期内にノズル列1列分の画像データが取り込まれる。
【０１２４】
補正予測値周期を等分割することで、高密度のヒートトリガを生成することができる。例えば、補正予測周期を４で割ると600dpi印刷時のヒートトリガ周期が算出でき、同様に、補正予測周期を８，１６，及び３２で等分割することによって、1200dpi,2400dpi,4800dpiのヒートトリガを生成することができる。ヒートトリガ周期は、記録装置の横方向印刷解像度に等しい。
【０１２５】
次に、ブロックトリガについて、図２０を用いて説明する。
【０１２６】
ブロックトリガは、ヘッドのノズルの駆動タイミングトリガであり、ヒートトリガ周期をさらに等分割することで算出する。例えば、前記したように、1ノズル列に配列される複数のノズル（例えば640ノズル）を40ブロックに分割して分割駆動するとき、クオータ駆動の場合は、ヒートトリガ周期を１０で割ることで、ブロックトリガ周期を算出する（図２０（ｂ））。ハーフ駆動の場合は、ヒートトリガ周期を２０で割ることでブロックトリガ周期を算出する（図２０（ｃ））。フル駆動の場合はヒートトリガ周期を４０で割ることでブロックトリガ周期を算出する（図２０（ｄ））。
【０１２７】
図２１は、ヘッドへのシリアルデータ転送を説明するためのタイミングチャートである。SOCからヘッドへの画像データ転送はシリアル転送である。データトランスファウインドウ内においてブロックトリガが入力される（図２１（ａ））と、そのブロックトリガに対応するブロックの画像データ1カラム分をヘッドに対して、ヘッドデータクロック（図２１（ｃ））の両エッジに同期してシリアルデータを転送する（図２１（ｄ））。なお、図２１（ｂ）はヘッドデータラッチ信号を示す。
【０１２８】
ブロック分割駆動におけるヘッドへのシリアルデータ転送方式は、従来既知の技術であるから，これ以上の詳細な解説は省略する。
【０１２９】
前記した図１９は、実際値が予測値よりも小さい場合にオーバーパルス制御を行った状態を示している。この場合には補正予測周期が連続する。補正予測周期が連続している場合は、ヒートトリガ、ブロックトリガともに連続で出力される。
【０１３０】
一方、図２２は、実際値が予測値よりも大きい場合にアンダーパルス制御を行った状態を示している。この場合には補正予測周期に不連続部分が発生する。図２２に示すように補正予測周期が連続していないときは、ヒートトリガ、ブロックトリガの非駆動領域が発生する。
【０１３１】
これは、補正予測周期HTn-1の終了タイミングが、実際のエンコーダA相信号の立ち上がりegnよりも前である場合に発生する。このようなヒートトリガ、ブロックトリガが駆動されない領域は、すなわちヘッドが駆動されない領域である。しかし、この領域は本来ヘッドが駆動されるべき領域であるから、この非駆動領域はできるだけ小さいことが望ましい。
【０１３２】
本発明のアンダーパルス制御は、周期のずれを次の周期部分で補償することで、非駆動領域が以後の予測周期に累積して拡大することを抑制するため、非駆動領域の影響を低減することができる。
【０１３３】
この非駆動領域で印刷動作を実行させないためには、この領域内でヒートトリガ、ブロックトリガは出力してはならない。このためには、補正予測周期でカウントされる期間のみ、ヒートトリガ、ブロックトリガは出力するようにする。つまり、Ａ相信号の立ち上がり信号egn-1からegnまでの間において、駆動されるヒートトリガの数、ブロックトリガの数は決まっているので、非駆動領域において駆動してしまうと、本来の数より余計に駆動してしまうことになり、画像データに忠実な印刷ができない。
【０１３４】
例えば、600dpi印刷の場合、ヒートトリガは１補正予測周期内で４回発生し、ブロックトリガはフル駆動時にはヒートトリガ回数の40倍の回数を出力し、ハーフ駆動時にはヒートトリガ回数の20倍の回数を出力し、クオータ駆動時はヒートトリガ回数の10倍の回数を出力する。
【０１３５】
このように、各補正予測周期間において、ヒートトリガ、ブロックトリガの出力回数をカウントし、非駆動領域において余計にヒートトリガ、ブロックトリガを出力することがないように動作する。
【０１３６】
このような方式により、1カラム分画像データをSDRAMから読み出した後、1カラム分印刷するという画像データ転送が実現することができ、SOCからヘッドまでの間に無駄なバッファを持つ必要がないとい利点を有する。一実施形態ではSOCからヘッドまでの間にSRAMを設け、この容量は必要十分な容量として３カラム分の画像データを格納する。
【０１３７】
次に、データセットウインドウについて、図２３，２４を用いて説明する。
【０１３８】
データセットウインドウ信号は、ノズル列毎に入力される信号であり、前記した実施形態ではノズル列が２４列あるので、それぞれに対応する２４個のデータセットウインドウが出力される。この２４個のデータセットウインドウに対応するために、データトランスファウインドウは２４ビットの信号である。
【０１３９】
また、データセットウインドウ印刷に伴うデータ処理を開始するタイミングを示唆する信号であり、キャリッジの位置カウンタ値で開始タイミングを指示する。
【０１４０】
CRENC部は、データセットウインドウ開始位置を指示するレジスタを持ち、CPUからリードライト可能である。図２４（ａ）に示すように、データセットウインドウ開始位置レジスタの値と内部位置カウンタの値を比較し、値が一致したとき、データセットウインドウが開始する。図２３（ｄ）の内部位置カウンタは、リニアスケールのエッジ（図２３（ａ），（ｂ））でカウントアップ、ダウンする。600dpiの解像度の場合には、データセット  ウインドウの開始位置も600dpiの単位で指示することができる。
【０１４１】
また、データセットウインドウの終了位置はカラム数カウンタの値（図２３（ｅ））で指示する。図２４（ｂ）に示すように、カラム数カウンタの値がデータセットウインドウ終了位置レジスタの値と一致したとき、データセットウインドウが終了する。カラム数カウンタとは、何カラム印刷したかをカウントするカウンタであり、ヒートトリガの数をカウントしている。
【０１４２】
また、ヒートトリガ、ブロックトリガは、前述したように補正予測周期間に出力されるが、データセットウインドウがアクティブのとき初めて機能がイネーブルとなる。すなわち、データセットウインドウはブロックトリガ、ヒートトリガのイネーブル信号として機能する。
【０１４３】
次に、印刷開始位置補正値Δについて図２５を用いて説明する。
【０１４４】
前述のデータセットウインドウは開始位置を600dpiで指示することができるため、印刷を開始する位置は600dpiで設定可能である。ここで、データセットウインドウ開始位置からどれだけ遅らせて実際のデータ処理を実行するかを設定するパラメータとして、印刷開始位置補正値Δがある。
【０１４５】
印刷開始アドレスに達すると、データセットウインドウがアクティブとなる（図２５（ａ））が、その時点からΔだけ遅れて実際のデータ処理を実行する。
【０１４６】
Δの値はブロックトリガ単位で設定可能である。すなわち、図２５の場合では600dpi印刷でクオータ駆動であるため、Δの単位は6000dpiとなる。補正値Δがあることで、印刷開始位置をより細かく設定可能である。
【０１４７】
図２５において、Taはデータセットウインドウ出力（図２５（ａ））を開始する時間であり、Tbは印刷データをプリントバッファから読み出しを開始する時間であってヒートトリガに同期する。Tcは印字データをヘッドへ転送を開始する時間であって、データトランスファウインドウ（図２５（ｄ））で出力開始してブロックトリガに同期する。Tdはインク吐出を開始する時間であり、ヒートウインドウ出力（図２５（ｆ））で開始して、ブロックトリガ（図２５（ｂ））に同期する。
【０１４８】
Ta〜Tbの間は開始位置補正のためのデータ処理休止期間であり、Tc〜Tdにかけて印刷データをSDRAMから読み出す処理を開始する。Tb〜Tcの間は２ヒートトリガ間隔であり（図２５（ｄ））、この間にPBUFブロックはSDRAMから２カラム分の画像データを読み出し、SRAM内にバッファしておく。ヘッドを駆動する手前に2カラム分の画像データをバッファしておくことで、より高速な印刷に対応できる。
【０１４９】
上記したように、SRAMは画像データのキャッシュメモリとしての役割を有する。また、ヒートトリガ（図２５（ｄ））のイネーブル信号はデータセットウインドウ（図２５（ａ））であるが、補正値Δが0以外のときは、データセットウインドウの開始位置TaからΔだけ遅れた時点Tbで出力が開始される内部印刷ウインドウ信号（図２５（ｃ））がヒートトリガのイネーブル信号として機能する。すなわち、内部印刷ウインドウ信号が0のときヒートトリガは無視される。したがって、Δ（Ta〜Tb）の間にヒートトリガが出力されても、PBUFブロックはSDRAMの画像データを読み出す処理を実行しない。
【０１５０】
次に、ヘッドへのデータ転送について図２６を用いて説明する。データ転送は、データトランスファウインドウ、ヒートウインドウ、及びブロックトリガにより行われる。
【０１５１】
データトランスファウインドウ（図２６（ａ））は、データセットウインドウと同様に、ノズル列毎に設定される信号であり、本実施形態の２４列のノズル列のそれぞれに対応して設定され、データトランスファウインドウは24ビットの信号である。
【０１５２】
データトランスファウインドウ（図２６（ａ））がアクティブで、かつブロックトリガ（ここでは図２６（ｃ）の10分割ブロックトリガ）が出力されたタイミングで、図２６（ｄ）に示すように、ヘッドに対して印刷データが転送開始される。図２６のヘッドへのデータ転送のタイミングチャートに示すように、ヘッドへのデータ転送タイミングの基準はブロックトリガ（図２６（ｃ））とし、そのイネーブル信号としてデータトランスファウインドウ（図２７（ａ））が機能している。データ読み出し、データ転送、及びヘッド駆動の各動作は、図２６（ｄ）に示すようにブロックトリガに同期して行われる。また、図２６（ｂ）のヒートウインドウにより図２６（ｄ）のヘッド駆動が開始される。
【０１５３】
図２５に示したように、Tcからデータトランスファウインドウ（図２５（ｅ））がアクティブとなり、画像データはヘッドに転送されるが、転送されたデータが駆動されるのはその2ブロックトリガ後であり、Tdからヘッドを駆動する。ヘッド駆動パルスの出力はブロックトリガ（図２５（ｂ））に同期するが、ヒートウインドウ（図２５（ｆ））がイネーブルとなっている。
【０１５４】
前記した図２５の印刷開始時のタイミングチャートに対して、図２７は印刷終了時のタイミングチャートを示している。
【０１５５】
Teは印刷終了アドレスであり、データセットウインドウ出力を停止し（図２７（ａ））、データトランスファウインドウ出力を停止する（図２７（ｅ））する時間であり、また、Tfはヒートウインドウ出力を停止して（図２７（ｆ））、インク吐出を停止する時間であって、それぞれヒートトリガに同期する。なお、図２７（ｂ）は１０分割ブロックトリガを示し、図２７（ｃ）は内部印刷ウインドウ信号を示し、図２７（ｄ）はヒートトリガを示している。
【０１５６】
Te〜Tfにかけて印刷データをSDRAMから読み出す処理を終了する。Te〜Tfの間は２ヒートトリガ間隔であり（図２７（ｄ））、この間にカラム数カウンタ（図２７（ｇ））のカウンタ値Ｎをデータセットウインドウ終了位置レジスタに格納する。（追加しました。ご検討ください）
【０１５７】
次に、ヘッド駆動パルスについて図２８を用いて説明する。ヘッド駆動パルスの生成はSOC内部のHPULSECブロックで処理される。
【０１５８】
図２８において、ヘッド駆動パルス（図２８（ｃ））のタイミングはブロックトリガ信号（図２８（ａ））を基準にして決定される。HPULSECは、内部のレジスタにPT01,PT02の各パラメータを持ち、このレジスタ値（図２８（ｂ））に基づいて、ブロックトリガ信号のタイミングを基準にヘッド駆動パルスは生成される。なお、レジスタはCPUからリード、ライト可能である。
【０１５９】
図２８に示されるように、ブロックトリガが入力されてから（図２８（ａ））所定時間後（PT01）にヘッドの駆動タイミングトリガが出力されてノズルヒータを加熱し、ノズルからインクが吐出され、所定時間後（PT02）にヘッドの終了タイミングトリガが出力されてインク吐出が終了する。
【０１６０】
図２８に示されるヒートウインドウは、ブロックトリガのイネーブル信号として機能し、ヒートウインドウ信号が0のときブロックトリガが1になっても、ブロックトリガは0として認識、処理される
【０１６１】
次に、印刷モードにおけるレジスタの設定について説明する。
【０１６２】
上述してきたように、記録装置は印刷解像度、及びブロック分割数を設定し、その設定値に基づいてヒートトリガ、ブロックトリガの周期を決定する。図２９に、プリントモード設定レジスタの一例を示す。プリントモード設定レジスタはCRENC部のレジスタであり、他のレジスタ同様、CPUからリード、ライト可能である。ブロックトリガ、ヒートトリガ周期算出において、このレジスタを参照し、レジスタ値にしたがって補正予測周期を等分割し、ブロックトリガ、ヒートトリガ周期を算出する。
【０１６３】
表２は、プリントモード設定レジスタの一例を示している。
【０１６４】
【表２】
2007076216.tif 000004
【０１６５】
上記表２の設定例では、“D1，D0”のアドレスに分割駆動数を設定する。例えば“00”により４０分割駆動（フル駆動）を設定し、“01”により２０分割駆動（ハーフ駆動）を設定し、“10”により１０分割駆動（クオータ駆動）を設定する。
【０１６６】
また、“D10〜D8”のアドレスに出力解像度を設定する。例えば“000”により600dpiの解像度を設定し、“001”により1200dpiの解像度を設定し、“010”により2400dpiの解像度を設定し、“011”により4800dpiの解像度を設定する。
【図面の簡単な説明】
【０１６７】
【図１】本発明のインクジェットの概略外形図である。
【図２】本発明のインクジェットに適用する被検出部の概略図である。
【図３】記録装置の信号処理部分の概略構成を説明するための図である。
【図４】光学式エンコーダセンサからの出力信号波形の一例を示す図である。
【図５】エンコーダ信号の位相とカウンタ値の対応関係を示す図である。
【図６】SOC5内部のブロック図である。
【図７】CRENCブロックから記録ヘッドへの画像データのデータ転送を説明するための図である。
【図８】ブロック分割駆動を説明するための図である。
【図９】ブロック分割駆動を説明するための図である。
【図１０】キャリッジの加減速による周期ずれを説明するための図である。
【図１１】周期テーブルの作成を説明するための図である。
【図１２】周期テーブルを用いたヘッド駆動タイミング信号の生成動作を説明するための図である。
【図１３】周期テーブルを用いたヘッド駆動タイミング信号の生成動作を説明するためのフローチャートである。
【図１４】予測値と実際値との誤差を説明するための図である。
【図１５】オーバーパルス制御を説明するための図である。
【図１６】補正予測周期のデータの一例を示す図である。
【図１７】アンダーパルス制御を説明するための図である。
【図１８】補正予測周期の生成手順を説明するためのフローチャートである。
【図１９】補正予測周期とヒートトリガ（HTTRG）との関係を示す図である。
【図２０】ブロックトリガを説明するための図である。
【図２１】ヘッドへのシリアルデータ転送を説明するためのタイミングチャートである。
【図２２】アンダーパルス制御を行った状態を示す図である。
【図２３】データセットウインドウを説明するための図である。
【図２４】データセットウインドウを説明するための図である。
【図２５】印刷開始時のタイミングチャートである。
【図２６】ヘッドへのデータ転送を説明するための図である。
【図２７】印刷終了時のタイミングチャートである。
【図２８】ヘッド駆動パルスを説明するための図である。
【図２９】プリントモード設定レジスタの一例を示す図である。
【符号の説明】
【０１６８】
１００  キャリッジ
１０１  搬送ベルト
１０２  ガイドロッド
１０３  プーリ
１０４  キャリッジモータ
１０５  インク容器
１０６  リニアエンコーダセンサ
１０７  リニアスケール
１０９〜１１２  搬送ローラ  
１１３  回復処理部
１１４  ヘッド
１１５  スリット
２１４  システムコントローラ部
２１５  SOC
２１６  中央処理装置
２１７  外部インターフェース
２１８  FLASH ROM
２１９  ROMインターフェース
２２０  SDRAM
２２１  記録ヘッド
２２２  MEMC
２２３  CRENCブロック
２２４  PBUFブロック
２２５  SRAM
２２６  HSRAMCブロック
２２７  HPULSECブロック
２２８  ノズル
２２９  HOST PC
【図１】
2007076216.tif 000005
【図２】
2007076216.tif 000006
【図３】
2007076216.tif 000007
【図４】
2007076216.tif 000008
【図５】
2007076216.tif 000009
【図６】
2007076216.tif 000010
【図７】
2007076216.tif 000011
【図８】
2007076216.tif 000012
【図９】
2007076216.tif 000013
【図１０】
2007076216.tif 000014
【図１１】
2007076216.tif 000015
【図１２】
2007076216.tif 000016
【図１３】
2007076216.tif 000017
【図１４】
2007076216.tif 000018
【図１５】
2007076216.tif 000019
【図１６】
2007076216.tif 000020
【図１７】
2007076216.tif 000021
【図１８】
2007076216.tif 000022
【図１９】
2007076216.tif 000023
【図２０】
2007076216.tif 000024
【図２１】
2007076216.tif 000025
【図２２】
2007076216.tif 000026
【図２３】
2007076216.tif 000027
【図２４】
2007076216.tif 000028
【図２５】
2007076216.tif 000029
【図２６】
2007076216.tif 000030
【図２７】
2007076216.tif 000031
【図２８】
2007076216.tif 000032
【図２９】
2007076216.tif 000033