(57)【要約】      （修正有）【課題】記録媒体に液体を吐出して記録を行う記録装置において、液体を吐出させるためのアクチュエーターの駆動を、よりフレキシブルに行うことができる記録装置を提供する。【解決手段】プリンターは、駆動波形に基づき、インクを吐出する印刷ヘッドと、駆動波形データに基づき、駆動波形を生成する駆動波形生成部３７１と、駆動波形データを記憶する記憶部８１１と記憶部８１２と、駆動波形生成部３７１への駆動波形データの入力を制御するメイン制御部８６と、を備え、メイン制御部８６が、記憶部８１１から読み出す駆動波形データを駆動波形生成部３７１に入力して駆動波形を生成する第１波形成形モードと、記憶部８１２から読み出す駆動波形データを駆動波形生成部３７１に入力して駆動波形を生成する第２波形成形モードと、を切り替える。【選択図】図１１
2018161817.tif 000002
【特許請求の範囲】
【請求項１】
駆動波形に基づき、液体を吐出する液体吐出ヘッドと、
駆動波形データに基づき、前記駆動波形を生成する駆動波形生成部と、
前記駆動波形データを記憶する第１記憶部と第２記憶部と、
前記駆動波形生成部への前記駆動波形データの入力を制御する制御部と、を備え、
前記制御部が、
前記第１記憶部から読み出す前記駆動波形データを前記駆動波形生成部に入力して前記駆動波形を生成する第１波形成形モードと、
前記第２記憶部から読み出す前記駆動波形データを前記駆動波形生成部に入力して前記駆動波形を生成する第２波形成形モードと、を切り替えることを特徴とする記録装置。
【請求項２】
前記第１記憶部および前記第２記憶部に前記駆動波形データを書き込む書き込み制御部を備えることを特徴とする請求項１に記載の記録装置。
【請求項３】
前記制御部および前記書き込み制御部が前記第１記憶部および前記第２記憶部にアクセスする領域のアドレスを管理するアクセス管理部を備え、
前記アクセス管理部は、前記書き込み制御部に対して、前記制御部がアクセスしている領域のアドレスをマスクすることを特徴とする請求項２に記載の記録装置。
【請求項４】
前記アクセス管理部は、前記書き込み制御部が、マスクされた前記アドレスの領域にアクセスしようとした場合に、前記書き込み制御部にエラー信号を送信することを特徴とする請求項３に記載の記録装置。
【請求項５】
前記アクセス管理部は、前記第１記憶部および前記第２記憶部に記憶する複数の前記駆動波形データの、それぞれの領域のアドレスおよび領域の大きさを変更可能に管理することを特徴とする請求項３または請求項４に記載の記録装置。
【請求項６】
複数の前記制御部および複数の前記駆動波形生成部を備えることを特徴とする請求項１から請求項５のいずれか一項に記載の記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に液体を吐出して記録を行う記録装置に関する。
【背景技術】
【０００２】
記録装置としてのインクジェットプリンターは、記録（印刷）対象の画像データに基づいて生成される種々の制御データに基づいて、インクを吐出するインクジェットヘッドを駆動して記録を行う。例えば、特許文献１に記載されているように、液体（インク）を吐出させるためのアクチュエーター（圧電素子）を駆動するための駆動波形データや、駆動波形データの必要部分を指定して吐出する液体（インク）の滴サイズを決める駆動波形マスク、駆動波形マスクのどのパターンを選択するかを決めることで液体（インク）の滴サイズを決める画像データ、などによりインクジェットヘッドを制御して記録を行う。
【０００３】
特許文献１に記載のインク吐出ヘッド制御装置では、予め、インクジェットヘッドドライブボードに搭載するメモリーに、駆動波形データおよび駆動波形マスクを記憶させておき、記録に際しては、画像データを、上流にある画像処理およびシステム制御ボードからハーネスを介してインクジェットヘッドドライブボードに送信して、インクジェットヘッドを駆動する構成としている。この構成によれば、予め、インクジェットヘッドドライブボードに搭載するメモリーに、駆動波形データおよび駆動波形マスクを記憶させているため、印刷中にハーネスを介してインクジェットヘッドドライブボードに送信する通信量を半減させることができるとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１２５９８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のインク吐出ヘッド制御装置では、アクチュエーター（圧電素子）を駆動するための駆動波形データを、予めインクジェットヘッドドライブボードに搭載するメモリーに記憶させておくため、記録中においては、駆動波形の選択やマスクはできるが、駆動波形の変更（駆動波形データの変更）を行うことができないという課題があった。例えば、インクジェットプリンター（記録装置）の使用環境（例えば温度や湿度）の変化に合わせて、より最適な記録を行わせるために、動的に駆動波形の変更を行いながら記録を行うことができないという課題があった。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例または形態として実現することが可能である。
【０００７】
［適用例１］  本適用例に係る記録装置は、駆動波形に基づき、液体を吐出する液体吐出ヘッドと、駆動波形データに基づき、前記駆動波形を生成する駆動波形生成部と、前記駆動波形データを記憶する第１記憶部と第２記憶部と、前記駆動波形生成部への前記駆動波形データの入力を制御する制御部と、を備え、前記制御部が、前記第１記憶部から読み出す前記駆動波形データを前記駆動波形生成部に入力して前記駆動波形を生成する第１波形成形モードと、前記第２記憶部から読み出す前記駆動波形データを前記駆動波形生成部に入力して前記駆動波形を生成する第２波形成形モードと、を切り替えることを特徴とする。
【０００８】
本適用例によれば、制御部が、第１記憶部から読み出す駆動波形データを駆動波形生成部に入力して駆動波形を生成する第１波形成形モードにおいては、制御部が、第２記憶部にアクセスしないため、第２記憶部に駆動波形データを書き込む、あるいは、第２記憶部に記憶される駆動波形データを変更するために第２記憶部を開放することができる。
また、第２記憶部から読み出す駆動波形データを駆動波形生成部に入力して駆動波形を生成する第２波形成形モードにおいては、制御部が、第１記憶部にアクセスしないため、第１記憶部に駆動波形データを書き込む、あるいは、第１記憶部に記憶される駆動波形データを変更するために第１記憶部を開放することができる。
また、制御部が、第１波形成形モードと第２波形成形モードとを交互に切り替えることができるため、駆動波形データの変更を受付けながら駆動波形の生成を継続することができる。
【０００９】
［適用例２］  上記適用例に係る記録装置において、前記第１記憶部および前記第２記憶部に前記駆動波形データを書き込む書き込み制御部を備えることを特徴とする。
【００１０】
本適用例によれば、第１記憶部および第２記憶部に駆動波形データを書き込む書き込み制御部を備えるため、第１波形成形モードで駆動波形を生成しながら、第２記憶部に駆動波形データを書き込む、あるいは、第２記憶部に記憶される駆動波形データを変更することができる。つまり、制御部によって第１波形成形モードで駆動波形を生成しながら、書き込み制御部によって第２波形成形モードで入力する駆動波形データを変更することができる。
また、第２波形成形モードで駆動波形を生成しながら、第１記憶部に駆動波形データを書き込む、あるいは、第１記憶部に記憶される駆動波形データを変更することができる。つまり、制御部によって第２波形成形モードで駆動波形を生成しながら、書き込み制御部によって第１波形成形モードで入力する駆動波形データを変更することができる。
その結果、駆動波形データの変更を行いながら駆動波形の生成を継続することができる。つまり、動的に駆動波形を変更しながら、それに対応させて、液体吐出ヘッドから液体を吐出させることができる。
【００１１】
［適用例３］  上記適用例に係る記録装置において、前記制御部および前記書き込み制御部が前記第１記憶部および前記第２記憶部にアクセスする領域のアドレスを管理するアクセス管理部を備え、前記アクセス管理部は、前記書き込み制御部に対して、前記制御部がアクセスしている領域のアドレスをマスクすることを特徴とする。
【００１２】
本適用例によれば、駆動波形を生成している際に駆動波形生成部に入力されている駆動波形データが書き換えられることが無くなるため、安定して駆動波形を生成することができる。
【００１３】
［適用例４］  上記適用例に係る記録装置において、前記アクセス管理部は、前記書き込み制御部が、マスクされた前記アドレスの領域にアクセスしようとした場合に、前記書き込み制御部にエラー信号を送信することを特徴とする。
【００１４】
本適用例によれば、書き込み制御部は、エラー信号を受信することにより、書き込み制御部がアクセスしようとした領域に記憶された駆動波形データに基づいて駆動波形が生成されている最中であることを認識することができる。その結果、第１記憶部や第２記憶部に駆動波形データを書き込む際のアドレス制御を、より確実に安定して行うことができるようになる。
【００１５】
［適用例５］  上記適用例に係る記録装置において、前記アクセス管理部は、前記第１記憶部および前記第２記憶部に記憶する複数の前記駆動波形データの、それぞれの領域のアドレスおよび領域の大きさを変更可能に管理することを特徴とする。
【００１６】
本適用例によれば、第１記憶部および第２記憶部が、複数の駆動波形データを記憶するため、より多彩な駆動波形を生成して液体吐出ヘッドを駆動することができる。また、それぞれの駆動波形データを格納する領域の大きさが変更可能であるため、領域の大きさが固定される場合と比較して、第１記憶部および第２記憶部を無駄なく必要な範囲で使用することができる。
【００１７】
［適用例６］  上記適用例に係る記録装置において、複数の前記制御部および複数の前記駆動波形生成部を備えることを特徴とする。
【００１８】
本適用例によれば、駆動波形生成部への駆動波形データの入力を制御する制御部を複数備え、また、駆動波形を生成する駆動波形生成部を複数備えるため、より多彩な駆動波形を生成して液体吐出ヘッドを駆動することができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態１に係る記録装置としてのプリンターの構成を示す正面図
【図２】実施形態１に係る記録装置としてのプリンターの構成を示すブロック図
【図３】プリンタードライバーの基本機能の説明図
【図４】印刷ヘッドの下面から見た、ノズルの配列の例を示す模式図
【図５】印刷ヘッドの要部断面図
【図６】印刷ヘッドを駆動する駆動制御系統の構成の例を説明するブロック図
【図７】インクを吐出させるための駆動信号を説明するためのタイミングチャート
【図８】従来技術における駆動信号生成回路の内部構成を示すブロック図
【図９】駆動信号生成テーブルの例を示す概念図
【図１０】駆動信号の一例を示す説明図
【図１１】実施形態１に係る駆動信号生成回路の内部構成を示すブロック図
【図１２】アクセス管理部の機能を説明するためのブロック図
【図１３】変形例１に係る駆動信号生成回路の内部構成を示すブロック図
【図１４】変形例１に係る駆動信号生成回路の内部構成を示すブロック図
【発明を実施するための形態】
【００２０】
以下に本発明を具体化した実施形態について、図面を参照して説明する。以下は、本発明の一実施形態であって、本発明を限定するものではない。なお、以下の各図においては、説明を分かりやすくするため、実際とは異なる尺度で記載している場合がある。また、図面に付記する座標においては、Ｚ軸方向が上下方向、＋Ｚ方向が上方向、Ｘ軸方向が前後方向、−Ｘ方向が前方向、Ｙ軸方向が左右方向、＋Ｙ方向が左方向、Ｘ−Ｙ平面が水平面としている。
【００２１】
（実施形態１）
図１は、実施形態１に係る「記録装置」としてのプリンター１００の構成を示す正面図、図２は、同ブロック図である。以下、「記録」の１形態である「印刷」について説明する。
プリンター１００は、プリンター１００に接続される画像処理装置１１０と共に印刷システム１を構成している。プリンター１００は、画像処理装置１１０から受信する画素データを含む印刷データに基づいて、ロール状に巻かれた状態で供給される長尺状の印刷媒体としてのロール紙５に所望の画像を印刷するインクジェットプリンターである。
【００２２】
＜画像処理装置の基本構成＞
画像処理装置１１０は、印刷制御部１１１、入力部１１２、表示部１１３、記憶装置１１４などを備え、プリンター１００に印刷を行わせる印刷ジョブの制御を行う。画像処理装置１１０は、好適例としてパーソナルコンピューターを用いて構成している。
画像処理装置１１０が動作するソフトウェアには、印刷する画像データを扱う一般的な画像処理アプリケーションソフトウェア（以下アプリケーションと言う）や、プリンター１００の制御や、プリンター１００に印刷を実行させるための印刷データを生成するプリンタードライバーソフトウェア（以下プリンタードライバーと言う）が含まれる。
【００２３】
印刷制御部１１１は、ＣＰＵ（Central Processing Unit）１１５や、ＡＳＩＣ（Application Specific Integrated Circuit）１１６、ＤＳＰ（Digital Signal Processor）１１７、メモリー１１８、プリンターインターフェイス部１１９などを備え、印刷システム１全体の集中管理を行う。
入力部１１２は、ヒューマンインターフェイスとして情報入力手段である。具体的には、例えば、キーボードや情報入力機器が接続されるポートなどである。
表示部１１３は、ヒューマンインターフェイスとしての情報表示手段（ディスプレー）であり、印刷制御部１１１の制御の基に、入力部１１２から入力される情報や、プリンター１００に印刷する画像、印刷ジョブに関係する情報などが表示される。
記憶装置１１４は、ハードディスクドライブ（ＨＤＤ）やメモリーカードなどの書き換え可能な記憶媒体であり、画像処理装置１１０が動作するソフトウェア（印刷制御部１１１で動作するプログラム）や、印刷する画像、印刷ジョブに関係する情報などが記憶される。
メモリー１１８は、ＣＰＵ１１５が動作するプログラムを格納する領域や動作する作業領域などを確保する記憶媒体であり、ＲＡＭ、ＥＥＰＲＯＭなどの記憶素子によって構成される。
【００２４】
＜記録装置（プリンター１００）の基本構成＞
プリンター１００は、印刷部１０、移動部２０、プリンター制御部３０などから構成されている。画像処理装置１１０から印刷データを受信したプリンター１００は、プリンター制御部３０によって印刷部１０、移動部２０を制御し、ロール紙５に画像を印刷（画像形成）する。
印刷データは、例えば、デジタルカメラなどによって得られた一般的な画像データ（例えば、ＲＧＢのデジタル画像情報）を、画像処理装置１１０が備えるアプリケーションおよびプリンタードライバーによってプリンター１００で印刷できるように変換処理した画像形成用のデータであり、プリンター１００を制御するコマンドを含んでいる。
【００２５】
印刷部１０は、ヘッドユニット１１、インク供給部１２などから構成されている。
移動部２０は、走査部４０、搬送部５０などから構成されている。走査部４０は、キャリッジ４１、ガイド軸４２、キャリッジモーター（図示省略）などから構成されている。搬送部５０は、供給部５１、収納部５２、搬送ローラー５３、プラテン５５などから構成されている。
【００２６】
ヘッドユニット１１は、「液体」としての印刷用インク（以下インクと言う）をインク滴として吐出する複数のノズル（ノズル列）を有する「液体吐出ヘッド」としての印刷ヘッド１３およびヘッド制御部１４を備えている。ヘッドユニット１１は、キャリッジ４１に搭載され、走査方向（図１に示すＸ軸方向）に移動するキャリッジ４１に伴って走査方向に往復移動する。ヘッドユニット１１（印刷ヘッド１３）が走査方向に移動しながらプリンター制御部３０の制御の下に、プラテン５５に支持されるロール紙５にインク滴を吐出することによって、走査方向に沿ったドットの列（ラスタライン）がロール紙５に形成される。
【００２７】
インク供給部１２は、インクタンクおよびインクタンクから印刷ヘッド１３にインクを供給するインク供給路（図示省略）などを備えている。
インクには、例えば、濃インク組成物からなるインクセットとして、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）の３色のインクセットにブラック（Ｋ）を加えた４色のインクセットなどがある。また、例えば、それぞれの色材の濃度を淡くした淡インク組成物からなるライトシアン（Ｌｃ）、ライトマゼンタ（Ｌｍ）、ライトイエロー（Ｌｙ）、ライトブラック（Ｌｋ）などのインクセットを加えた８色のインクセットなどがある。インクタンク、インク供給路、および同一インクを吐出するノズルまでのインク供給経路は、インク毎に独立して設けられている。
【００２８】
インク滴を吐出する方式（インクジェット方式）には、ピエゾ方式を用いている。ピエゾ方式は、圧力発生室に貯留されたインクに圧電素子（ピエゾ素子）を利用したアクチュエーターにより印刷情報信号に応じた圧力を加え、圧力発生室に連通するノズルからインク滴を噴射（吐出）し印刷する方式である。
【００２９】
移動部２０（走査部４０、搬送部５０）は、プリンター制御部３０の制御の下に、ロール紙５を印刷部１０に対し相対移動させる。
ガイド軸４２は、走査方向に延在しキャリッジ４１を摺接可能な状態で支持し、また、キャリッジモーターは、キャリッジ４１をガイド軸４２に沿って往復移動させる際の駆動源となる。つまり、走査部４０（キャリッジ４１、ガイド軸４２、キャリッジモーター）は、プリンター制御部３０の制御の下にキャリッジ４１を（つまりは、印刷ヘッド１３を）ガイド軸４２に沿って走査方向に移動させる。
【００３０】
供給部５１は、ロール紙５がロール状に巻かれたリールを回転可能に支持し、ロール紙５を搬送経路に送り出す。収納部５２は、ロール紙５を巻き取るリールを回転可能に支持し、印刷が完了したロール紙５を搬送経路から巻き取る。
搬送ローラー５３は、ロール紙５を走査方向と交差する搬送方向（図１に示すＹ軸方向）に移動させる駆動ローラーやロール紙５の移動に伴って回転する従動ローラーなどから成り、ロール紙５を供給部５１から印刷部１０の印刷領域（プラテン５５の上面で印刷ヘッド１３が走査移動する領域）を経由し、収納部５２に搬送する搬送経路を構成する。
【００３１】
プリンター制御部３０は、インターフェイス部３１、ＣＰＵ（Central Processing Unit）３２、メモリー３３、駆動制御部３４などを備え、プリンター１００の制御を行う。
インターフェイス部３１は、画像処理装置１１０のプリンターインターフェイス部１１９に接続され、画像処理装置１１０とプリンター１００との間でデータの送受信を行う。
ＣＰＵ３２は、プリンター１００全体の制御を行うための演算処理装置である。
メモリー３３は、ＣＰＵ３２が動作するプログラムを格納する領域や動作する作業領域などを確保する記憶媒体であり、ＲＡＭ、ＥＥＰＲＯＭなどの記憶素子によって構成される。
ＣＰＵ３２は、メモリー３３に格納されているプログラム、および画像処理装置１１０から受信した印刷データに従って、駆動制御部３４を介して印刷部１０、移動部２０を制御する。
【００３２】
駆動制御部３４は、ＣＰＵ３２の制御に基づいて動作するファームウェアＦＷを含み、印刷部１０（ヘッドユニット１１、インク供給部１２）、移動部２０（走査部４０、搬送部５０）の駆動を制御する。駆動制御部３４は、移動制御信号生成回路３５、吐出制御信号生成回路３６、駆動信号生成回路３７などを含む駆動制御回路、これら駆動制御回路を制御するファームウェアＦＷを内蔵するＲＯＭやフラッシュメモリー（図示省略）などから構成されている。
【００３３】
移動制御信号生成回路３５は、印刷データに基づき、ＣＰＵ３２からの指示に従って、移動部２０（走査部４０、搬送部５０）を制御する信号を生成する回路である。
吐出制御信号生成回路３６は、印刷データに基づき、ＣＰＵ３２からの指示に従って、インクを吐出するノズルの選択、吐出する量の選択、吐出するタイミングの制御などをするためのヘッド制御信号を生成する回路である。
駆動信号生成回路３７は、印刷ヘッド１３が備える圧力発生部７２（後述）を駆動する「駆動波形」としての駆動信号ＣＯＭを生成する回路である。駆動信号ＣＯＭ（駆動波形）については後述する。
【００３４】
以上の構成により、プリンター制御部３０は、搬送部５０（供給部５１、搬送ローラー５３）によって印刷領域に供給されたロール紙５に対し、ガイド軸４２に沿って印刷ヘッド１３を支持するキャリッジ４１を走査方向（Ｘ軸方向）移動させながら印刷ヘッド１３からインク滴を吐出する動作と、搬送部５０（搬送ローラー５３）により走査方向と交差する搬送方向（＋Ｙ方向）にロール紙５を移動させる動作とを繰り返すことにより、ロール紙５に所望の画像を形成（印刷）する。
【００３５】
＜プリンタードライバーの基本機能＞
図３は、プリンタードライバーの基本機能の説明図である。
ロール紙５への印刷は、画像処理装置１１０からプリンター１００に印刷データが送信されることにより開始される。印刷データは、プリンタードライバーによって生成される。
以下、印刷データの生成処理について、図３を参照しながら説明する。
【００３６】
プリンタードライバーは、アプリケーションから画像データ（例えば、テキストデータやフルカラーのイメージデータなど）を受け取り、プリンター１００が解釈できる形式の印刷データに変換し、印刷データをプリンター１００に出力する。アプリケーションからの画像データを印刷データに変換する際に、プリンタードライバーは、解像度変換処理、色変換処理、ハーフトーン処理、ラスタライズ処理、コマンド付加処理などを行う。
【００３７】
解像度変換処理は、アプリケーションから出力された画像データを、ロール紙５に印刷する際の解像度（印刷解像度）に変換する処理である。例えば、印刷解像度が７２０×７２０ｄｐｉに指定されている場合、アプリケーションから受け取ったベクター形式の画像データを７２０×７２０ｄｐｉの解像度のビットマップ形式の画像データに変換する。解像度変換処理後の画像データの各画素データは、マトリクス状に配置された画素から構成されている。各画素はＲＧＢ色空間の例えば２５６階調の階調値を有している。つまり、解像度変換後の画素データは、対応する画素の階調値を示すものである。
マトリクス状に配置された画素の内の、所定の方向に並ぶ１列分の画素に対応する画素データをラスタデータと言う。なお、ラスタデータに対応する画素が並ぶ所定の方向は、画像を印刷するときの印刷ヘッド１３の移動方向（走査方向）と対応している。
【００３８】
色変換処理は、ＲＧＢデータをＣＭＹＫ色系空間のデータに変換する処理である。ＣＭＹＫ色とは、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）であり、ＣＭＹＫ色系空間の画像データは、プリンター１００が有するインクの色に対応したデータである。従って、例えば、プリンター１００がＣＭＹＫ色系の１０種類のインクを使用する場合には、プリンタードライバーは、ＲＧＢデータに基づいて、ＣＭＹＫ色系の１０次元空間の画像データを生成する。
この色変換処理は、ＲＧＢデータの階調値とＣＭＹＫ色系データの階調値とを対応づけたテーブル（色変換ルックアップテーブルＬＵＴ）に基づいて行われる。なお、色変換処理後の画素データは、ＣＭＹＫ色系空間により表される例えば２５６階調のＣＭＹＫ色系データである。
【００３９】
ハーフトーン処理は、高階調数（２５６階調）のデータを、プリンター１００が形成可能な階調数のデータに変換する処理である。このハーフトーン処理により、２５６階調を示すデータが、例えば、２階調（ドット有り、無し）を示す１ビットデータや、４階調（ドット無し、小ドット、中ドット、大ドット）を示す２ビットデータに変換される。具体的には、階調値（０〜２５５）とドット生成率が対応したドット生成率テーブルから、階調値に対応するドットの生成率（例えば、４階調の場合は、ドット無し、小ドット、中ドット、大ドットのそれぞれの生成率）を求め、得られた生成率において、ディザ法・誤差拡散法などを利用して、ドットが分散して形成されるように画素データが作成される。
【００４０】
ラスタライズ処理は、マトリクス状に並ぶ画素データ（例えば上記のように１ビットや２ビットのデータ）を、印刷時のドット形成順序に従って並べ替える処理である。ラスタライズ処理には、ハーフトーン処理後の画素データによって構成される画像データを、印刷ヘッド１３（ノズル列）が走査移動しながらインク滴を吐出する各パスに割り付けるパス割り付け処理が含まれる。パス割り付けが完了すると、印刷画像を構成する各ラスタラインを形成する実際のノズルが割り付けられる。
【００４１】
コマンド付加処理は、ラスタライズ処理されたデータに、印刷方式に応じたコマンドデータを付加する処理である。コマンドデータとしては、例えば媒体の搬送仕様（搬送方向への移動量や速度など）に関わる搬送データなどがある。
プリンタードライバーによる前記一連の処理は、ＣＰＵ１１５の制御の元にＡＳＩＣ１１６およびＤＳＰ１１７（図２参照）によって行われ、印刷データ送信処理では、前記一連の処理で生成された印刷データが、プリンターインターフェイス部１１９を介してプリンター１００に送信される。
【００４２】
＜ノズル列＞
図４は、印刷ヘッド１３の下面から見た、ノズルの配列の例を示す模式図である。
図４に示すように、印刷ヘッド１３は、各色のインクを吐出するための複数のノズル７４が並んで形成されたノズル列（図４に示す例は、それぞれ♯１〜♯４００の４００個のノズルから成るブラックインクノズル列Ｋ、シアンインクノズル列Ｃ、マゼンタインクノズル列Ｍ、イエローインクノズル列Ｙ、グレーインクノズル列ＬＫ、ライトシアンインクノズル列ＬＣ）を備えている。
【００４３】
各ノズル列の複数のノズル７４は、搬送方向（Ｙ軸方向）に沿って、一定の間隔（ノズルピッチ）でそれぞれ整列して並んでいる。図４において、各ノズル列のノズル７４は、搬送方向下流側のノズル７４ほど若い番号が付されている（♯１〜♯４００）。つまり、♯１のノズル７４は、♯４００のノズル７４よりも搬送方向の下流側に位置している。各ノズル７４には、各ノズル７４を駆動してインク滴を吐出させるための圧力発生部７２が設けられている。
【００４４】
図５は、印刷ヘッド１３の要部断面図である。
印刷ヘッド１３は、インクを吐出するノズル７４およびノズル７４に対応するように設けられた圧力発生部７２を備えている。
圧力発生部７２は、圧力発生室としてのキャビティ７３、振動板７１、アクチュエーター７７などから構成されている。
【００４５】
キャビティ７３は、ノズル７４に連通し、内部にインクが充填される。
振動板７１は、キャビティ７３を構成する面の少なくとも一部を構成しており（図５に示す例では、キャビティ７３の天井面を構成している。）、振動板７１の変位（撓み）によりキャビティ７３の容積（つまりは内部圧力）が増減する。
アクチュエーター７７は、圧電薄膜７７ａ（ピエゾ素子）、圧電薄膜７７ａの表裏の一方の面を覆うように設けられた電極７７ｂ、圧電薄膜７７ａの表裏の他方の面を覆うように設けられた電極７７ｃなどによって構成されている。アクチュエーター７７は、キャビティ７３との間に振動板７１を挟むように、振動板７１に積層して設けられており、電極７７ｂと電極７７ｃとの間に電圧を印加して圧電薄膜７７ａ（ピエゾ素子）を変形させることにより、振動板７１を撓ませる（撓み振動させる）ことができる。
【００４６】
ノズル７４はノズルプレート７５に形成されている。また、ノズルプレート７５と振動板７１とによって挟まれるように位置するキャビティ基板７６に、キャビティ７３およびこれにインク供給口７９を介して連通するリザーバ７８とが形成されている。リザーバ７８は、インク供給路を介してインクタンク（図示省略）に連通している。
【００４７】
このような構成からなる圧力発生部７２において、電極７７ｂ，７７ｃとの間の電圧レベル（電位）を変化させる駆動信号（駆動波形）を印加することにより、図５の矢印で示すように振動板７１を撓み振動させることで、キャビティ７３内部の圧力を変化させ、キャビティ７３内部のインクを振動させたり、ノズル７４からインク滴を吐出させたりすることができる。
【００４８】
＜印刷ヘッドの駆動制御＞
次に、図６を参照し、印刷ヘッド１３の駆動制御について説明する。図６は、印刷ヘッド１３を駆動する駆動制御系統の構成の例を説明するブロック図である。
前述したように、ヘッドユニット１１は、印刷ヘッド１３、ヘッド制御部１４などにより構成されている。また、駆動制御部３４は、吐出制御信号生成回路３６および駆動信号生成回路３７を備え、ヘッド制御部１４を介して、印刷ヘッド１３を駆動制御する。
より具体的には、駆動制御部３４は、吐出制御信号生成回路３６が生成するヘッド制御信号と駆動信号生成回路３７が生成する駆動信号ＣＯＭとに基づいて、ヘッド制御部１４を介し、各ノズル７４のそれぞれに対応する圧力発生部７２（アクチュエーター７７）を選択的に駆動する。
【００４９】
駆動信号ＣＯＭは、ヘッド制御部１４が、印加する電圧のレベルを変化させてアクチュエーター７７を駆動し、キャビティ７３内のインクに圧力変動を生じさせることによりノズル７４からインクを吐出させるための基本駆動信号である。すなわち、駆動信号ＣＯＭ（駆動波形）のレベル（ここでは印加電圧レベル）を変化させ、アクチュエーター７７に印加することで、所望の量のインクをノズル７４から吐出させることが可能である。
ヘッド制御信号とは、駆動パルス選択データＳＩ＆ＳＰ、クロック信号ＣＬＫ、ラッチ信号ＬＡＴ、チャンネル信号ＣＨなどである。
駆動パルス選択データＳＩ＆ＳＰは、インク滴を吐出させるべきノズル７４に対応したアクチュエーター７７を指定する画素データＳＩおよび吐出する量に係る駆動信号ＣＯＭの波形パターンデータＳＰを含んでいる。
ラッチ信号ＬＡＴ、チャンネル信号ＣＨは、駆動信号ＣＯＭのタイミングを定める制御信号である。ラッチ信号ＬＡＴで一連の駆動信号ＣＯＭが出力され始め、チャンネル信号ＣＨ毎に駆動パルスＰＳが出力される。
【００５０】
＜インクの吐出駆動＞
次に、インクを吐出させるための駆動について説明する。
ヘッド制御部１４は、図６に示すように、制御回路９０、シフトレジスター９１、ラッチ回路９２、レベルシフター９３、選択スイッチ９４などから構成されている。
ヘッド制御部１４は、制御回路９０で、駆動制御部３４（吐出制御信号生成回路３６）から受信したヘッド制御信号から、波形選択信号ｑ０〜ｑ３（図７参照）を生成する。波形選択信号ｑ０〜ｑ３は、波形パターンデータＳＰ、およびクロック信号ＣＬＫ、ラッチ信号ＬＡＴ、チャンネル信号ＣＨなどタイミング信号に基づいて生成される。波形選択信号ｑ０〜ｑ３を生成するステップの説明は省略する。
【００５１】
シフトレジスター９１には、画素データＳＩが順次入力されると共に、クロック信号ＣＬＫの入力パルスに応じて記憶領域が初段から順次後段にシフトする。ラッチ回路９２は、ノズル数分の画素データＳＩがシフトレジスター９１に格納された後、入力されるラッチ信号ＬＡＴによってシフトレジスター９１の各出力信号をラッチする。ラッチ回路９２に保存された信号は、レベルシフター９３によって次段の選択スイッチ９４をオン／オフ（接続／遮断）できる電圧レベルに変換される。アクチュエーター７７には、レベルシフター９３の出力によって選択スイッチ９４がオンすると、駆動信号ＣＯＭが接続される。すなわち、アクチュエーター７７には、駆動パルスＰＳが印加される。
【００５２】
図７は、インクを吐出させるための駆動信号を説明するためのタイミングチャートである。図７に示す駆動パルスＰＳ１〜ＰＳ３は、アクチュエーター７７に印加される駆動信号（駆動波形）であり、インク滴を吐出させるための信号（駆動信号ＣＯＭに基づく信号）を示している。また、図７において、繰り返し周期である期間Ｔ（以下周期Ｔとも言う）は、ノズル７４が１画素分走査方向に移動する期間に対応する。例えば、印刷解像度が７２０ｄｐｉの場合、期間Ｔは、ノズル７４がロール紙５に対して１／７２０インチ移動するための期間に相当する。
【００５３】
ヘッド制御部１４は、駆動パルス選択データＳＩ＆ＳＰおよび波形選択信号ｑ０〜ｑ３に従って駆動信号ＣＯＭから選択的にインクを吐出させるための信号（駆動パルスＰＳ１〜ＰＳ３）をアクチュエーター７７に印加する。すなわち、波形選択信号ｑ０〜ｑ３によって選択的に駆動信号ＣＯＭ（駆動パルスＰＳ１〜ＰＳ３）を印加することによって、１つの画素内に大きさの異なるインク滴を吐出し、複数の階調を表現する。
【００５４】
具体的には、図７に示すように、大ドットの形成時（２ビットの画素データ（ドット階調値）が［１１］の場合）には、期間Ｔ１〜Ｔ３において、波形選択信号ｑ３によって、駆動信号ＣＯＭ（すなわち駆動パルスＰＳ１、駆動パルスＰＳ２および駆動パルスＰＳ３）が選択されてアクチュエーター７７（圧電薄膜７７ａ）に印加される。
中ドットの形成時（ドット階調値が［１０］の場合）には、期間Ｔ１〜Ｔ２において、波形選択信号ｑ２によって、駆動信号ＣＯＭ（すなわち駆動パルスＰＳ１および駆動パルスＰＳ２）が選択され、アクチュエーター７７に印加される。
小ドットの形成時（ドット階調値が［０１］の場合）には、期間Ｔ１において、波形選択信号ｑ１によって、駆動信号ＣＯＭ（すなわち駆動パルスＰＳ１）が選択され、アクチュエーター７７に印加される。
ドットを形成しない時（ドット階調値が［００］の場合）には、期間Ｔに亘って、波形選択信号ｑ０によって、駆動信号ＣＯＭは選択されない。従って、インクを吐出させるための信号は、アクチュエーター７７に印加されない。
【００５５】
＜駆動波形の生成＞
次に、駆動波形としての駆動信号ＣＯＭの生成について説明する。
駆動信号ＣＯＭ（駆動パルスＰＳ１〜ＰＳ３）は、台形波を含む波形で構成されている。駆動信号ＣＯＭ（駆動パルスＰＳ１〜ＰＳ３）は、インク滴を吐出するタイミングおよび１回当たりの吐出量を精度良く制御する必要があるため、台形波、つまり、時間と共にその出力値を変化させることができる波形で構成している。
【００５６】
＜駆動波形生成部（従来技術）＞
図８は、従来技術における駆動信号生成回路（以下、本実施形態の駆動信号生成回路３７と区別するために駆動信号生成回路３７ｃと言う）の内部構成を示すブロック図である。
駆動信号生成回路３７ｃは、駆動波形生成部３７１および駆動波形生成部３７１を制御する従来技術における波形制御部（以下、本実施形態の波形制御部３７２と区別するために波形制御部３７２ｃと言う）などから構成されている。
駆動波形生成部３７１は、加算器８３、出力レジスター８４、ＤＡＣ８５などの回路ユニットを備えている。また、波形制御部３７２ｃは、コントローラー８０、記憶部８１などの回路ユニットを備えている。
【００５７】
コントローラー８０は、ＣＰＵ３２の制御の下に駆動制御部３４において動作するファームウェアＦＷ（図示省略）によって動作する。
記憶部８１は、ＳＲＡＭ（Static Random Access Memory）によって構成され、内部には、予め準備される駆動信号生成テーブル８２が記憶される。
駆動信号生成テーブル８２は、駆動波形生成部３７１によって駆動信号ＣＯＭを生成するためのパラメーターテーブルであり、駆動信号ＣＯＭを台形波として生成するためのパラメーターとして、波形の傾きを規定する情報（傾き値ｇｎ）と、その傾きを適用するタイミング情報（タイミングｔｎ）などの情報を含んでいる。
【００５８】
コントローラー８０は、ファームウェアＦＷの制御の下に、記憶部８１に記憶されている駆動信号生成テーブル８２を参照し、所定のタイミングｔｎで所定の傾き値ｇｎを加算器８３の一方の入力にセットする。加算器８３は、一方の入力にセットされた傾き値ｇｎと他方の入力にセットされているデータとを加算して、その結果を出力レジスター８４に出力する。また、加算器８３の加算結果は、加算器８３の他方の入力に戻される。加算器８３の加算は、コントローラー８０が単位時間毎に出力する加算信号（図１０参照）を受信する都度行われる。つまり、加算器８３の出力は、加算信号が出力される周期を単位時間として、この単位時間毎に、傾き値ｇｎだけ漸増（あるいは漸減）していく。すなわち、傾き値ｇｎは、駆動信号ＣＯＭの駆動波形における波形の傾きに相当する。
【００５９】
出力レジスター８４は、加算器８３の出力の内、下位ビット（例えば下位６ビット）を切り捨てて、上位ビット（例えば上位１０ビット）をＤＡＣ８５に出力する。
ＤＡＣ８５は、デジタルアナログ変換器であり、入力されたデジタル値をアナログ信号に変換し、駆動信号ＣＯＭとして出力する。
なお、ＤＡＣ８５に入力されるデータはデジタルデータであり、傾き値ｇｎの大きさだけ階段状に漸増（漸減）するデータである。これに伴ってＤＡＣ８５の出力波形も階段状になることを防ぐために、ＤＡＣ８５の出力側には、積分回路（図示省略）が更に挿入されている。この積分回路により、駆動信号ＣＯＭは、滑らかに変化する信号として出力される。
【００６０】
図９は、駆動信号生成テーブル８２の例を示す概念図である。また、図１０は、駆動信号ＣＯＭの一例を示す説明図である。これらの図を参照し、実際の駆動信号ＣＯＭの生成する際の各部の働きについて説明する。
駆動信号ＣＯＭは、各期間Ｔ１〜Ｔ４（図７参照）において、以下に示す７つのフェーズ（Ｐ１〜Ｐ７）から構成されている。
Ｐ１：傾き値ｇ１＝０で初期電位Ｖ０に保たれる期間
Ｐ２：傾き値ｇ２（正の値）で高電位Ｖｈまで単調に増加する期間
Ｐ３：傾き値ｇ３＝０で高電位Ｖｈに保たれる期間
Ｐ４：傾き値ｇ４（負の値）で低電位Ｖｌまで単調に減少する期間
Ｐ５：傾き値ｇ５＝０で低電位Ｖｌに保たれる期間
Ｐ６：傾き値ｇ６（正の値）で初期電位Ｖ０まで単調に増加する期間
Ｐ７：傾き値ｇ７＝０で初期電位Ｖ０に保たれる期間
【００６１】
ここで、傾き値ｇｎ（ｎ＝１〜７）は、駆動信号ＣＯＭを単位時間毎に増加（正の値の場合）あるいは減少（負の値の場合）させる電圧値であり、図９に示すように、タイミングｔｎに対応する駆動信号生成テーブル８２として記憶部８１に記憶されている。
【００６２】
まず、駆動信号ＣＯＭの初期電位Ｖ０は、タイミングｔ１までの期間において、コントローラー８０の制御によりリセット電位として設定される。また、同時に、加算器８３の一方の入力には、傾き値ｇ１（＝０）がセットされる。
次に、フェーズＰ１の期間（タイミングｔ１からタイミングｔ２までの期間）、コントローラー８０は、加算器８３に加算信号を送信し、初期電位Ｖ０に対して傾き値ｇ１（＝０）の加算を繰り返してＤＡＣ８５から対応する電位（すなわち、初期電位Ｖ０が保たれた電位）を出力する。
【００６３】
次に、コントローラー８０は、加算器８３の一方の入力に傾き値ｇ２（正の値）をセットし、フェーズＰ２の期間（タイミングｔ２からタイミングｔ３までの期間）、加算器８３に加算信号を送信し、初期電位Ｖ０に対して傾き値ｇ２（正の値）の加算を繰り返してＤＡＣ８５から対応する電位（すなわち、初期電位Ｖ０から単調に増加する電位）を出力する。
【００６４】
次に、コントローラー８０は、加算器８３の一方の入力に傾き値ｇ３（＝０）をセットし、フェーズＰ３の期間（タイミングｔ３からタイミングｔ４までの期間）、加算器８３に加算信号を送信し、高電位Ｖｈに対して傾き値ｇ３（＝０）の加算を繰り返してＤＡＣ８５から対応する電位（すなわち、高電位Ｖｈが保たれた電位）を出力する。
【００６５】
次に、コントローラー８０は、加算器８３の一方の入力に傾き値ｇ４（負の値）をセットし、フェーズＰ４の期間（タイミングｔ４からタイミングｔ５までの期間）、加算器８３に加算信号を送信し、高電位Ｖｈに対して傾き値ｇ４（負の値）の加算を繰り返してＤＡＣ８５から対応する電位（すなわち、高電位Ｖｈから単調に減少する電位）を出力する。
【００６６】
次に、コントローラー８０は、加算器８３の一方の入力に傾き値ｇ５（＝０）をセットし、フェーズＰ５の期間（タイミングｔ５からタイミングｔ６までの期間）、加算器８３に加算信号を送信し、低電位Ｖｌに対して傾き値ｇ５（＝０）の加算を繰り返してＤＡＣ８５から対応する電位（すなわち、低電位Ｖｌが保たれた電位）を出力する。
【００６７】
次に、コントローラー８０は、加算器８３の一方の入力に傾き値ｇ６（正の値）をセットし、フェーズＰ６の期間（タイミングｔ６からタイミングｔ７までの期間）、加算器８３に加算信号を送信し、低電位Ｖｌに対して傾き値ｇ６（正の値）の加算を繰り返してＤＡＣ８５から対応する電位（すなわち、低電位Ｖｌから単調に増加する電位）を出力する。
【００６８】
次に、コントローラー８０は、加算器８３の一方の入力に傾き値ｇ７（＝０）をセットし、フェーズＰ７の期間（タイミングｔ７から次のタイミングｔ８＝ｔ１までの期間）、加算器８３に加算信号を送信し、初期電位Ｖ０に対して傾き値ｇ７（＝０）の加算を繰り返してＤＡＣ８５から対応する電位（すなわち、初期電位Ｖ０が保たれた電位）を出力する。
次の周期Ｔにおけるタイミングｔ１からは、上述したタイミングｔ１からの動作を同様に繰り返し、連続した駆動信号ＣＯＭの波形を生成する。
【００６９】
以上、駆動信号生成テーブル８２に基づいて駆動信号ＣＯＭが生成される処理について説明した。以上の説明からも分かるように、駆動信号生成テーブル８２は、駆動波形の１周期分を、波形の傾きを規定する情報（傾き値ｇｎ）と、その傾きを適用するタイミング情報（タイミングｔｎ）とによって生成できるようにするパラメーターテーブルである。なお、タイミングｔｎに基づいて駆動波形生成部３７１（加算器８３）に入力される傾き値ｇｎは、本願発明における「駆動波形データ」である。
【００７０】
なお、駆動信号生成回路３７が生成する駆動波形には、駆動信号ＣＯＭのように、ノズル７４からインクを吐出させるようにアクチュエーター７７を駆動する吐出駆動波形の他に、ノズル７４からインクを吐出させない程度にアクチュエーター７７を駆動する非吐出駆動波形などもある。非吐出駆動波形は、ヘッド制御部１４が、アクチュエーター７７を駆動してキャビティ７３やノズル７４内のインクを微振動させる駆動信号である。例えば、非吐出駆動波形を印加することにより、駆動信号ＣＯＭに基づく駆動パルスＰＳが印加されず、ノズル７４からインクが吐出しない期間において、ノズル７４に形成されたインクのメニスカスを振動させることにより、ノズル７４の先端領域におけるインクの溶媒成分の揮発などに伴う粘度上昇や硬化などを抑制させることができる。
また、吐出駆動波形は、１つの駆動信号ＣＯＭだけではなく、複数の駆動信号ＣＯＭを用いる場合もある。例えば、波高値（電圧レベル）や台形波の傾きが異なる波形を吐出駆動波形として複数用いる場合がある。
【００７１】
このように、複数の駆動波形を生成する場合には、それぞれの波形に対応する複数の駆動信号生成テーブル８２を予め準備して記憶部８１に記憶させておく必要がある。つまり、予め、複数の駆動信号生成テーブル８２を記憶部８１に記憶（登録）しておくことにより、アクチュエーター７７に様々な駆動波形を印加することができるようになる。駆動信号生成テーブル８２の記憶部８１への登録は、例えば、入力部１１２（図２参照）などから行うことができる。
【００７２】
印刷データに基づいて動作するファームウェアＦＷや、ＣＰＵ３２が動作するその他の制御プログラム（例えば、印刷ヘッド１３にクリーニング動作を行わせるメンテナンスプログラムなど）の制御に基づき、コントローラー８０は、所定の動作に対応する所定の駆動波形をアクチュエーター７７に印加するために、予め登録された複数の駆動信号生成テーブル８２の中から該当する駆動信号生成テーブル８２に次々アクセスし、読み出した駆動波形データ（傾き値ｇｎ）を駆動波形生成部３７１へ入力することにより様々な駆動波形を生成する。
しかしながら、このような従来技術による方法では、記憶部８１の記憶容量が有限であるため、予め登録できる駆動信号生成テーブル８２の数が限られてしまい、予め準備された駆動信号生成テーブル８２に基づく駆動波形以外の駆動波形を生成することができないという課題があった。例えば、（プリンター１００）の使用環境（例えば温度や湿度）の変化に合わせて、より最適な印刷を行わせるために、動的に（リアルタイムに）最適な駆動波形への変更を行いながら印刷を行うことができないという課題があった。
【００７３】
これに対して、本実施形態の記録装置（プリンター１００）は、駆動信号生成テーブル８２を記憶する２つの記憶部８１を備え、コントローラー８０が、一方の記憶部８１から読み出す駆動波形データ（傾き値ｇｎ）を駆動波形生成部３７１に入力して駆動波形を生成する第１波形成形モードと、他方の記憶部８１から読み出す駆動波形データ（傾き値ｇｎ）を駆動波形生成部３７１に入力して駆動波形を生成する第２波形成形モードと、を切り替えることができるように構成している。
また、コントローラー８０が、駆動波形データ（傾き値ｇｎ）を読み出すために一方の記憶部８１にアクセスしている間に、他方の記憶部８１に記憶している駆動信号生成テーブル８２の書き換えや、他方の記憶部８１への新たな駆動信号生成テーブル８２の登録を可能としている。
以下に具体的に説明する。
【００７４】
＜駆動波形生成部＞
図１１は、本実施形態に係る駆動信号生成回路３７の内部構成を示すブロック図である。
駆動信号生成回路３７は、駆動波形生成部３７１および駆動波形生成部３７１を制御する波形制御部３７２などから構成されている。
駆動波形生成部３７１は、前述したように、加算器８３、出力レジスター８４、ＤＡＣ８５などの回路ユニットを備えている（図８参照）。また、波形制御部３７２は、コントローラー８０、２つの記憶部８１（記憶部８１１、記憶部８１２）などの回路ユニットを備えている。記憶部８１１は、本願発明における「第１記憶部」である。また、記憶部８１２は、本願発明における「第２記憶部」である。
コントローラー８０は、メイン制御部８６、アクセス管理部８７などを含み構成されている。メイン制御部８６は、本願発明における「制御部」である。
【００７５】
メイン制御部８６は、コントローラー８０における主制御部である。メイン制御部８６は、プリンタードライバーや印刷データに基づいて動作するファームウェアＦＷや、ＣＰＵ３２が動作するその他の制御プログラムに従って、駆動波形データ（傾き値ｇｎ）を、２つの記憶部８１（記憶部８１１、記憶部８１２）のいずれかから読み出し、駆動波形生成部３７１に入力することによって駆動波形を生成する（駆動波形生成部３７１に駆動波形を生成させる）。
【００７６】
＜アクセス管理部＞
アクセス管理部８７は、駆動信号生成テーブル８２（図９参照）を２つの記憶部８１（記憶部８１１、記憶部８１２）のいずれかに登録する際、あるいは読み出す際の記憶領域（アドレス）を管理する回路ユニットである。アクセス管理部８７は、内部に備える回路ユニットにより、アドレス生成機能、アドレスマスク機能、エラー発報機能などの機能を有している。
【００７７】
図１２は、アクセス管理部８７の機能を説明するためのブロック図である。
アクセス管理部８７が有するアドレス生成機能は、新たに登録する駆動信号生成テーブル８２毎に、駆動信号生成テーブル８２を記憶させる記憶先のアドレスを生成する機能である。
駆動信号生成テーブル８２の登録は、前述したように、入力部１１２からの入力により、ＣＰＵ３２の制御の下に行うことができる他、プリンタードライバーや印刷データの指示に基づくファームウェアＦＷの制御の下に行うことができる。これらは、本願発明における「書き込み制御部」に相当する。以下では、図１１、図１２に示すように、これらを含んで書き込み制御部２００として説明する。
【００７８】
まず、書き込み制御部２００から駆動信号生成テーブル８２を登録するリクエストを受けると、アクセス管理部８７は、新たに登録する駆動信号生成テーブル８２に、波形番号を１から順に付与する（番号を割り振る）。この波形番号は、複数登録される駆動信号生成テーブル８２の中から所望の駆動信号生成テーブル８２（駆動波形）を特定するための識別情報であり、書き込み制御部２００やメイン制御部８６で共通の情報として扱われる。
アクセス管理部８７は、波形番号が振られた駆動信号生成テーブル８２のサイズを認識し、サイズに応じて記憶できる記憶部８１の連続領域を確保し、書き込み制御部２００に開放する。書き込み制御部２００は、該当領域に駆動信号生成テーブル８２を書き込む。この際、アクセス管理部８７は、波形番号、記憶部８１の領域情報（記憶部８１１に登録する場合には領域１、記憶部８１２に登録する場合には領域２の情報）、記憶領域の先頭アドレス、駆動信号生成テーブル８２のサイズ（占有する領域のアドレス数。あるいは、末尾アドレスでも良い。）などの情報を、アクセス管理部８７が有する登録レジスター８８に記憶する。
【００７９】
更に新たな駆動信号生成テーブル８２を登録するリクエストを受けると、アクセス管理部８７は、同様に次の波形番号を振り、新たな駆動信号生成テーブル８２のサイズを認識し、サイズに応じて記憶できる新たな記憶部８１の連続領域を確保し、書き込み制御部２００に開放する。書き込み制御部２００は、該当領域に新たな駆動信号生成テーブル８２を書き込む。
図１２に示す登録レジスター８８の例は、記憶部８１１に波形番号１〜３１の３１個、記憶部８１２に波形番号３２〜３４の３個の駆動信号生成テーブル８２（いずれもサイズＦＦ）が登録されている場合を示している。
このように、アクセス管理部８７は、記憶部８１１および記憶部８１２に記憶する複数の駆動波形データ（駆動信号生成テーブル８２）の、それぞれの領域のアドレスおよび領域の大きさを変更可能に管理する。
【００８０】
アクセス管理部８７が有するアドレスマスク機能は、書き込み制御部２００に対して、メイン制御部８６がアクセスしている領域のアドレスをマスクする機能である。本実施形態では、領域のマスクは、記憶部８１の領域情報（記憶部８１１に登録する場合には領域１、記憶部８１２に登録する場合には領域２の情報）によって識別される領域の単位（つまりは記憶部８１１、記憶部８１２の単位）で行う。例えば、メイン制御部８６が記憶部８１１に登録されている駆動信号生成テーブル８２にアクセスし、駆動波形データ（傾き値ｇｎ）を読み出している場合には、書き込み制御部２００に対して記憶部８１１がマスクされ、その結果として、書き込み制御部２００は、記憶部８１１に対して新たな駆動信号生成テーブル８２（駆動波形データ）の登録や、既に登録されている駆動信号生成テーブル８２（駆動波形データ）の変更を行うことはできない。一方、記憶部８１２は、マスクされることはなく、書き込み制御部２００に開放されているため、書き込み制御部２００は、アクセス管理部８７が有するアドレス生成機能に従って、記憶部８１２に対して新たな駆動信号生成テーブル８２（駆動波形データ）の登録や、既に登録されている駆動信号生成テーブル８２（駆動波形データ）の変更を行うことができる。
【００８１】
同様に、メイン制御部８６が記憶部８１２に登録されている駆動信号生成テーブル８２にアクセスし、駆動波形データ（傾き値ｇｎ）を読み出している場合には、書き込み制御部２００に対して記憶部８１２がマスクされ、その結果として、書き込み制御部２００は、記憶部８１２に対して新たな駆動信号生成テーブル８２（駆動波形データ）の登録や、既に登録されている駆動信号生成テーブル８２（駆動波形データ）の変更を行うことはできない。一方、記憶部８１１は、マスクされることはなく、書き込み制御部２００に開放されているため、書き込み制御部２００は、アクセス管理部８７が有するアドレス生成機能に従って、記憶部８１１に対して新たな駆動信号生成テーブル８２（駆動波形データ）の登録や、既に登録されている駆動信号生成テーブル８２（駆動波形データ）の変更を行うことができる。
【００８２】
アクセス管理部８７が有するエラー発報機能は、書き込み制御部２００が、マスクされたアドレスの領域にアクセスしようとした場合に、書き込み制御部２００にエラー信号を送信する機能である。つまり、アクセス管理部８７が有するアドレスマスク機能によって、マスクされている領域であるにも関わらず、書き込み制御部２００がアクセスしようとした場合に、アクセス管理部８７は、書き込み制御部２００に対して、エラー信号を送信する。
【００８３】
＜波形成形モードの切り替え＞
メイン制御部８６は、前述したように、プリンタードライバーや印刷データに基づいて動作するファームウェアＦＷや、ＣＰＵ３２が動作するその他の制御プログラムによって指定された波形番号に対応する駆動波形を生成するように駆動波形生成部３７１を制御する。そのため、まず、メイン制御部８６は、登録レジスター８８を参照し、指定された波形番号に対応する駆動信号生成テーブル８２が登録された記憶部８１にアクセスし、対応する駆動信号生成テーブル８２を参照して得られた駆動波形データ（傾き値ｇｎ）を駆動波形生成部３７１に入力する。すなわち、メイン制御部８６は、指定された波形番号に対応させて、記憶部８１１から読み出す駆動波形データ（傾き値ｇｎ）を駆動波形生成部３７１に入力して駆動波形を生成するモード（本願発明における第１波形成形モード）と、記憶部８１２から読み出す駆動波形データ（傾き値ｇｎ）を駆動波形生成部３７１に入力して駆動波形を生成するモード（本願発明における第２波形成形モード）と、を切り替える。
【００８４】
以上に説明した機能に基づく、具体的な印刷の一連の動作について説明する。
まず、印刷に先立ち、アクチュエーター７７を駆動する駆動波形を決定する。駆動波形には、上述したように、駆動信号ＣＯＭのような吐出駆動波形や、ノズル７４の先端領域におけるインクの硬化などを抑制するための非吐出駆動波形、ノズル７４の詰まりを解消するために強制的にインクの吐出（フラッシング）を行わせるための吐出駆動波形、何らかのエラー発生時に印刷を停止させる際の停止波形などが含まれる。駆動波形は、事前の充分な検討や評価を経て決定されることが好ましい。
【００８５】
次に、決定したそれぞれの駆動波形に対応する駆動信号生成テーブル８２（図９参照）を作成し、記憶部８１に登録する。駆動信号生成テーブル８２は、アクセス管理部８７の管理の下に、２つの記憶部８１（記憶部８１１、記憶部８１２）のいずれかに登録される。
次に、印刷、あるいは印刷ヘッド１３のメンテナンス動作を実行する。このとき、印刷データやプリンタードライバーは、登録された波形番号を認識しているため、ファームウェアＦＷを介して波形番号を指定しながら、アクチュエーター７７を駆動する。
【００８６】
指定された波形番号が変更されるまでの間、駆動信号生成回路３７は、対応する駆動信号生成テーブル８２に基づいた駆動波形の生成を継続する。
このとき、２つの記憶部８１（記憶部８１１、記憶部８１２）のうち、メイン制御部８６がアクセスしていない記憶部８１に対して、新たな駆動信号生成テーブル８２（駆動波形データ）の登録や、既に登録されている駆動信号生成テーブル８２（駆動波形データ）の変更を行うことができる。
【００８７】
例えば、プリンター１００が、プリンタードライバーの機能として、プリンター１００の動作環境（例えば温度）に対応させて駆動信号ＣＯＭのパルスレベル（電圧レベル）を変更するなどの機能を有する場合、印刷動作を止めることなく、この変更を行うことができる。例えば、所定の温度を超える温度変化が検知された場合に、プリンタードライバーは、検知した温度に対応する電圧レベルの駆動信号ＣＯＭが生成される新たな駆動信号生成テーブル８２を作成し、記憶部８１に登録することができる。登録が完了した時点で、新たな駆動信号ＣＯＭに対応する波形信号に切り替えることにより、印刷を停止することなく、対応する駆動波形が印加されるようになる。
【００８８】
以上述べたように、本実施形態による記録装置によれば、以下の効果を得ることができる。
メイン制御部８６が、記憶部８１１から読み出す駆動波形データを駆動波形生成部３７１に入力して駆動波形を生成する第１波形成形モードにおいては、メイン制御部８６が、記憶部８１２にアクセスしないため、記憶部８１２に駆動波形データを書き込む、あるいは、記憶部８１２に記憶される駆動波形データを変更するために記憶部８１２を開放することができる。
また、記憶部８１２から読み出す駆動波形データを駆動波形生成部３７１に入力して駆動波形を生成する第２波形成形モードにおいては、メイン制御部８６が、記憶部８１１にアクセスしないため、記憶部８１１に駆動波形データを書き込む、あるいは、記憶部８１１に記憶される駆動波形データを変更するために記憶部８１１を開放することができる。
また、メイン制御部８６が、第１波形成形モードと第２波形成形モードとを交互に切り替えることができるため、駆動波形データの変更を受付けながら駆動波形の生成を継続することができる。
【００８９】
また、書き込み制御部２００により、第１波形成形モードで駆動波形を生成しながら、記憶部８１２に駆動波形データを書き込む、あるいは、記憶部８１２に記憶される駆動波形データを変更することができる。つまり、メイン制御部８６によって第１波形成形モードで駆動波形を生成しながら、書き込み制御部２００によって第２波形成形モードで入力する駆動波形データを変更することができる。同様に、第２波形成形モードで駆動波形を生成しながら、記憶部８１１に駆動波形データを書き込む、あるいは、記憶部８１１に記憶される駆動波形データを変更することができる。つまり、メイン制御部８６によって第２波形成形モードで駆動波形を生成しながら、書き込み制御部２００によって第１波形成形モードで入力する駆動波形データを変更することができる。
その結果、駆動波形データの変更を行いながら駆動波形の生成を継続することができる。つまり、動的に駆動波形を変更しながら、それに対応させて、印刷ヘッド１３からインクを吐出させることができる。
【００９０】
また、メイン制御部８６および書き込み制御部２００が記憶部８１１および記憶部８１２にアクセスする領域のアドレスを管理するアクセス管理部８７を備え、アクセス管理部８７は、書き込み制御部２００に対して、メイン制御部８６がアクセスしている領域のアドレスをマスクする。その結果、駆動波形を生成している際に駆動波形生成部３７１に入力されている駆動波形データが書き換えられることが無くなるため、安定して駆動波形を生成することができる。
【００９１】
また、アクセス管理部８７は、書き込み制御部２００が、マスクされたアドレスの領域にアクセスしようとした場合に、書き込み制御部２００にエラー信号を送信する。そのため、書き込み制御部２００は、エラー信号を受信することにより、書き込み制御部２００がアクセスしようとした領域に記憶された駆動波形データに基づいて駆動波形が生成されている最中であることを認識することができる。その結果、記憶部８１１や記憶部８１２に駆動波形データを書き込む際のアドレス制御を、より確実に安定して行うことができるようになる。
【００９２】
また、記憶部８１１および記憶部８１２が、複数の駆動波形データを記憶するため、より多彩な駆動波形を生成して印刷ヘッド１３を駆動することができる。また、それぞれの駆動波形データを格納する領域の大きさが変更可能であるため、領域の大きさが固定される場合と比較して、記憶部８１１および記憶部８１２を無駄なく必要な範囲で使用することができる。
【００９３】
なお、本発明は、上述した実施形態に限定されず、上述した実施形態に種々の変更や改良などを加えることが可能である。変形例を以下に述べる。ここで、上述した実施形態と同一の構成部位については、同一の符号を使用し、重複する説明は省略している。
【００９４】
（変形例１）
図１３、図１４は、変形例１に係る駆動信号生成回路の内部構成を示すブロック図である。
実施形態１では、図１１に示すように、１つの駆動波形生成部３７１に対応する１つのコントローラー８０（メイン制御部８６）が、２つの記憶部８１（記憶部８１１、記憶部８１２）を切り替えて使う構成を説明したが、この構成に限定するものではない。
例えば、図１３に示すように、２つの駆動波形生成部３７１をそれぞれ制御するコントローラー８０（メイン制御部８６）が、２つの記憶部８１（記憶部８１１、記憶部８１２）を共有して使う構成であっても良い。また、このような組み合わせの構成が複数（図１３に示す例では２セット）のセットで構成されても良い。
また、例えば、図１４に示すように、３つの駆動波形生成部３７１をそれぞれ制御するコントローラー８０（メイン制御部８６）が、４つの記憶部８１（記憶部８１１、記憶部８１２）を共有して使う構成であっても良い。また、このような組み合わせの構成が複数のセット（図示省略）で構成されても良い。
【００９５】
なお、このような構成の場合、複数のコントローラー８０（メイン制御部８６）が複数の記憶部８１を共有するので、アクセス管理部８７は、個々のコントローラー８０内に設けられるのではなく、横断的に全体の記憶部８１に対する記憶領域（アドレス）の管理をするように設ける。横断的にアクセス管理部８７を設けることにより、例えば、図１３に示すような、複数のコントローラー８０と複数の記憶部８１とを組み合わせた構成が、複数セットある場合、あるセットのコントローラー８０が他のセットの記憶部８１にアクセス可能としてもよい。
【００９６】
本変形例によれば、駆動波形生成部３７１への駆動波形データの入力を制御するコントローラー８０（メイン制御部８６）を複数備え、また、駆動波形を生成する駆動波形生成部３７１を複数備えるため、より多彩な駆動波形を生成して印刷ヘッド１３を駆動することができる。例えば、ノズル列（図４参照）毎に異なる駆動信号ＣＯＭ（駆動信号ＣＯＭ‐Ａ〜駆動信号ＣＯＭ−Ｄ）を印加することや、同じノズル列に対して異なる駆動信号ＣＯＭを切り替えながら印加するように構成することができる。
【００９７】
（変形例２）
実施形態１では、図１１に示すように、１つの駆動波形生成部３７１に対応する１つのコントローラー８０（メイン制御部８６）が、２つの記憶部８１（記憶部８１１、記憶部８１２）を切り替えて使う構成を説明した。また、アクセス管理部８７が有するアドレスマスク機能において、書き込み制御部２００に対して、メイン制御部８６がアクセスしている領域のアドレスをマスクする際の対象の単位が、記憶部８１１および記憶部８１２の単位で行うと説明した。しかしながら、この構成に限定するものではなく、１つの記憶部８１で構成し、１つの記憶部８１内に複数の領域を設け、この領域毎に登録、読み出しの切り替えおよびマスク管理を行う構成であっても良い。例えば、１つの記憶部８１（１つのＳＲＡＭ領域）内で、波形番号単位（すなわち、駆動信号生成テーブル８２が書き込まれる領域の単位）で登録、読み出しの切り替えおよびマスク管理を行う構成であっても良い。
【符号の説明】
【００９８】
１…印刷システム、５…ロール紙、１０…印刷部、１１…ヘッドユニット、１２…インク供給部、１３…印刷ヘッド、１４…ヘッド制御部、２０…移動部、３０…プリンター制御部、３１…インターフェイス部、３２…ＣＰＵ、３３…メモリー、３４…駆動制御部、３５…移動制御信号生成回路、３６…吐出制御信号生成回路、３７…駆動信号生成回路、３７ｃ…駆動信号生成回路、４０…走査部、４１…キャリッジ、４２…ガイド軸、５０…搬送部、５１…供給部、５２…収納部、５３…搬送ローラー、５５…プラテン、７１…振動板、７２…圧力発生部、７３…キャビティ、７４…ノズル、７５…ノズルプレート、７６…キャビティ基板、７７…アクチュエーター、７７ａ…圧電薄膜、７７ｂ，７７ｃ…電極、７８…リザーバ、７９…インク供給口、８０…コントローラー、８１…記憶部、８２…駆動信号生成テーブル、８３…加算器、８４…出力レジスター、８５…ＤＡＣ、８６…メイン制御部、８７…アクセス管理部、８８…登録レジスター、９０…制御回路、９１…シフトレジスター、９２…ラッチ回路、９３…レベルシフター、９４…選択スイッチ、１００…プリンター、１１０…画像処理装置、１１１…印刷制御部、１１２…入力部、１１３…表示部、１１４…記憶装置、１１５…ＣＰＵ、１１６…ＡＳＩＣ、１１７…ＤＳＰ、１１８…メモリー、１１９…プリンターインターフェイス部、２００…書き込み制御部、３７１…駆動波形生成部、３７２…波形制御部、３７２ｃ…波形制御部、８１１…記憶部、８１２…記憶部。
【図１】
2018161817.tif 000003
【図２】
2018161817.tif 000004
【図３】
2018161817.tif 000005
【図４】
2018161817.tif 000006
【図５】
2018161817.tif 000007
【図６】
2018161817.tif 000008
【図７】
2018161817.tif 000009
【図８】
2018161817.tif 000010
【図９】
2018161817.tif 000011
【図１０】
2018161817.tif 000012
【図１１】
2018161817.tif 000013
【図１２】
2018161817.tif 000014
【図１３】
2018161817.tif 000015
【図１４】
2018161817.tif 000016