【解決手段】リード部504、カウント部505、レベル算出部506およびパルス生成部507で構成される駆動制御部は、ドットデータバッファ102Cに保持されているドットデータに、次の単位時間における駆動数に対応するカウント値を算出する。駆動制御部は、そのカウント値と、カウント保持部501およびレベル保持部502に保持されている駆動数および電圧降下量の履歴を示す履歴情報とに基づいて、電源ラインを介して記録素子に供給する駆動電圧を制御する。
複数の記録素子を備えた記録ヘッドと、前記記録素子に駆動電圧を供給するための電源ラインと、前記記録素子を用いて記録する記録データを保持するデータ保持部とを有する記録装置において、
駆動した前記記録素子の数である駆動数の単位時間ごとの履歴と、前記電源ラインで生じた電圧降下量の単位時間ごとの履歴とを示す履歴情報を保持する保持部と、
前記記録データに基づいて、次の単位時間における前記駆動数である次駆動数を算出し、前記次駆動数と前記履歴情報とに基づいて、前記電源ラインを介して前記記録素子に供給する駆動電圧を制御する駆動制御部と、をさらに有することを特徴とする記録装置。
前記駆動制御部は、前記次駆動数と前記履歴情報とに基づいて、前記次の単位時間において前記電源ラインで生じる電圧降下量を予測値として算出し、前記次駆動数および前記予測値に基づいて、前記駆動電圧を制御することを特徴とする請求項1に記載の記録装置。
前記駆動制御部は、記録を行っていない待機状態の場合、一定の時間間隔ごとに、前記次駆動数をゼロとして前記予測値を算出し、当該次駆動数および当該予測値に基づいて、前記保持部に保持されている履歴情報を更新する、請求項2ないし5のいずれか1項に記載の記録装置。
複数の記録素子を備えた記録ヘッドと、前記記録素子に駆動電圧を供給するための電源ラインと、前記記録素子を用いて記録する記録データを保持するデータ保持部とを有する記録装置の制御方法において、
駆動した前記記録素子の数である駆動数の単位時間ごとの履歴と、前記電源ラインで生じた電圧降下量の単位時間ごとの履歴とを示す履歴情報を保持するステップと、
前記記録データに基づいて、次の単位時間における前記駆動数である次駆動数を算出し、前記次駆動数と前記履歴情報とに基づいて、前記電源ラインを介して前記記録素子に供給する駆動電圧を制御するステップと、を含むことを特徴とする記録装置の制御方法。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面を参照して説明する。なお、各図面において同じ機能を有するものには同じ符号を付け、その説明を省略する場合がある。
【0010】
(第1の実施形態)
(記録装置の構成)
図1は、本発明の第1の実施形態に係る記録装置の外観を示す斜視図である。
図1に示す記録装置1は、記録媒体Pに対して記録を行う。「記録」とは、印刷などにより記録媒体P上に形成物を形成することだけでなく、記録媒体Pを加工することで形成物を形成することも含む。形成物は、文字、図形、画像、模様またはパターンなどであり、有意な情報でもよく、有意な情報でなくてもよい。また、形成物は、人間にとって視認可能でもよいし、視認可能でなくてもよい。記録媒体Pは、一般的な記録装置で用いられる紙に限るものではなく、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材および皮革のような形成物を形成できるものであればよい。
本実施形態では、記録装置1は、液体を吐出する液体吐出装置であり、より具体的には、インクジェット方式に従って液体としてインクを吐出して、記録媒体Pに記録を行なうインクジェット記録装置である。
【0011】
図1に示す記録装置1は、記録を行う複数の記録素子を備えた記録ヘッド3を搭載したキャリッジ2を備える。本実施形態では、記録ヘッド3は、記録素子として熱エネルギーを発生させるヒータ、より具体的には、電気エネルギーを熱エネルギーに変換する発熱抵抗素子を備える。また、記録ヘッド3は、インクを吐出する複数の吐出口(図示せず)を備え、記録素子は、吐出口ごとに設けられる。記録素子には、記録素子を駆動するための電力を供給する電源ライン(図示せず)が接続され、電源ラインを介して駆動電圧として駆動パルス電圧が供給される。電源ラインには、電源ラインの急激な電圧降下を抑制するためにコンデンサが備わっていてもよい。記録素子は、供給された駆動パルス電圧に応じて駆動する。つまり、記録素子は、供給された駆動パルス電圧に応じて熱エネルギーを発生させることで、対応する吐出口からインクを吐出する。
記録装置1は、キャリッジ2を走査方向Aに往復移動させながら、記録ヘッド3の吐出口からインクを吐出させる。そして、記録装置1は、インクの吐出に合わせて、給紙機構4に給紙された記録媒体Pを間欠的に移動させることで、記録媒体Pに記録を行う。
なお、記録ヘッド3として、記録幅が記録媒体Pの幅方向全体に対応したフルライン記録ヘッドを用いてもよい。この場合、記録装置1は、記録ヘッド3を走査させずに、記録媒体Pを間欠的に搬送させながら、その搬送タイミングに合わせて記録ヘッド3の吐出口からインクを吐出して記録を行う。
【0012】
記録装置1は、記録ヘッド3に供給するインクを貯留する貯留部であるインクカートリッジ5を備える。
図1の例では、インクカートリッジ5は、キャリッジ2に対して着脱可能に設けられる。また、記録装置1は、カラー記録を実現するために、インクカートリッジ5として、シアン(C)、マゼンタ(M)、イエロ(Y)およびブラック(K)のそれぞれのインクを貯留する4つのインクカートリッジを搭載している。これら4つのインクカートリッジ5は、それぞれ独立に着脱可能である。
また、記録装置1は、キャリッジ2の走査方向Aに沿って、キャリッジ2の走査方向Aのキャリッジ位置であるキャリッジ位置を検出するためのスケール6が設けられている。スケール6には、一定の間隔でスリットが設けられている。キャリッジ2に搭載されたエンコーダ(不図示)がキャリッジ2の移動に応じてスケール6に設けられたスリットを読み取る。エンコーダは、スリットを読み取るたびに、走査方向Aにおけるキャリッジ2の位置(つまり、記録ヘッド3の位置)を示すエンコーダ信号を出力する。エンコーダ信号は、インクを吐出するための制御に使用される。
【0013】
(制御系)
図2は、
図1に示した記録装置1の制御に係る制御系の構成を示すブロック図である。
図2に示すように記録装置1の制御系100は、ROM(Read Only Memory)101と、RAM(Random access memory)102と、CPU(Central Processing Unit)103と、操作パネル104とを有する。また、制御系100は、ホストインタフェース105と、画像処理部106と、データ処理部107と、記録ヘッド制御部108と、エンコーダ処理部109とを有する。
ROM101は、CPU103の動作を規定するプログラムを記録する。RAM102は、ROM101に記録されたプログラムによる演算処理のワーク領域として使用される。また、RAM102は、一時的にデータを保持するデータ保持部として機能する。本実施形態では、RAM102は、データ保持部として、受信バッファ102A、多値データバッファ102Bおよびドットデータバッファ102Cを有する。CPU103は、ROM101に記録されたプログラムを読み取り、その読み取ったプログラムを実行して、記録装置1全体を制御する。例えば、CPU103は、記録ヘッド3の駆動制御や記録媒体Pの搬送制御などを行う。操作パネル104は、記録装置1のユーザから、種々の情報や指示を受け付ける。
【0014】
ホストインタフェース105は、外部装置であるホスト装置900から、記録データを受け付ける。ホストインタフェース105が受け付けた記録データは、RAM102の受信バッファ102Aに保持される。
画像処理部106は、受信バッファ102Aに保持された記録データを各色成分(CMYK)の値を示す多値データに変換して、RAM102の多値データバッファ102Bに保持させる。
データ処理部107は、多値データバッファ102Bに保持された多値データを2値のドットデータである2値データに変換して、RAM102のドットデータバッファ102Cに保持させる。
記録ヘッド制御部108は、ドットデータバッファ102Cに保持されている2値データに応じた駆動パルス電圧を、電源ラインを介して記録ヘッド3に供給することで、記録ヘッド3によるインクの吐出を制御する。記録ヘッド制御部108は、2値データを必要に応じて間引く間引き処理などを行ってもよい。
エンコーダ処理部109は、キャリッジ2に搭載されたエンコーダからのエンコーダ信号に基づいて、データ処理部107および記録ヘッド制御部108の動作タイミングを制御する。具体的には、エンコーダ処理部109は、エンコーダ信号に応じたヒートトリガ信号をデータ処理部107に出力することで、データ処理部107の動作タイミングを制御する。また、エンコーダ処理部109は、エンコーダ信号に応じたブロックトリガ信号を記録ヘッド制御部108に出力することで、記録ヘッド制御部108の動作タイミングを制御する。なお、データ処理部107および記録ヘッド制御部108が動作タイミングは、記録媒体Pの搬送タイミングに応じて決定される。
【0015】
(吐出口の構成)
図3は、キャリッジ2に搭載される記録ヘッド3の吐出口の構成を示す図である。
図3(a)は、記録ヘッド3の一例を示す平面図である。
図3(a)の例では、記録ヘッド3は、4色(CMYK)のインクのそれぞれに対応する4つのヘッドユニット201を備える。4つのヘッドユニット201は、
図1に示したキャリッジ2の走査方向Aに対応するX方向に並設される。
図3(b)は、ヘッドユニット201を示す平面図である。ヘッドユニット201は、複数の記録素子202を含む記録素子列203を複数備える。本実施形態では、記録素子列203として4つの記録素子列203A〜203Dが設けられている。ヘッドユニット201は、記録素子202のそれぞれと重なるようにインクを吐出する吐出口(図示せず)を数備えている。ヘッドユニット201の4つ記録素子列203A〜203Dに含まれる吐出口の全てから同じ色のインク、具体的には、ヘッドユニット201に対応する色のインクが吐出される。
記録素子列203A〜203Dは、X方向に並設され、記録素子列203A〜102Dに含まれる複数の記録素子202は、X方向と略直交するY方向に沿って配列される。このとき、記録素子202は、別々の記録素子列203に含まれ、かつ、互いに隣接する記録素子202がY方向に関して同じ位置に並ぶように配置される。これにより、X方向に沿って4つの記録素子202が並ぶ。X方向に沿って並んだ4つの記録素子202によって吐出されるインクは、記録媒体P上の同じライン位置にドットを形成する。
図3(c)は、記録ヘッド3の別の例を示す平面図である。
図3(c)の例では、記録ヘッド3は、ヘッドユニット201をY方向に複数配置している。これにより、記録ヘッド3の記録幅を長くすることが可能になる。また、記録幅が記録媒体の幅方向全体に対応させることで、記録ヘッド3をフルライン記録ヘッドとして用いてもよい。
【0016】
(動作タイミング)
図4は、ヒートトリガ信号およびブロックトリガ信号を示す図である。本実施形態では、記録素子202に駆動電力を供給する電源ラインの電圧降下による記録素子202への影響を低減するために、1カラム分の記録データを複数のタイミングに時分割して記録する時分割駆動を行う。1カラム分の記録データを時分割する分割数は特に限定されないが、
図4の例は、分割数を32である。
キャリッジ2に搭載されたエンコーダは、キャリッジの位置を示すエンコーダ信号として、エンコーダ信号(A相)401とエンコーダ信号(B相)402とをエンコーダ処理部109に出力する。エンコーダ信号(B相)402は、エンコーダ信号(A相)401とは位相が4分の1周期ずれた信号である。
エンコーダ処理部109は、エンコーダ信号401の立ち上がりエッジのタイミングで立ち上がる基準パルス信号403を生成する。さらに、エンコーダ処理部109は、基準パルス信号403を逓倍することで、エンコーダ信号(A相)401およびエンコーダ信号(B相)402のそれぞれの変化点で立ち上がるヒートトリガ信号404を生成してデータ処理部107に出力する。ヒートトリガ信号404における立ち上がりの間隔は、1ライン分の記録解像度のドットを記録する間隔に相当する。
また、エンコーダ処理部109は、ヒートトリガ信号404の間隔(パルス間隔)を32分割することでブロックトリガ信号428を生成して記録ヘッド制御部108に出力する。
記録ヘッド制御部108は、ブロックトリガ信号428に従って、ドットデータバッファ102Cに保持されている2値データに応じた駆動パルス電圧を記録ヘッド3に供給することで、記録媒体P上の所望の位置に記録を行う。
【0017】
(駆動パルス生成部)
図5は、
図2に示した記録ヘッド制御部108の機能的な構成を示すブロック図である。
図5では、記録ヘッド制御部108の機能的な構成のうち、駆動パルス電圧を生成して記録ヘッド3に供給する駆動パルス生成部108aの構成が示されている。
図5に示すように駆動パルス生成部108aは、カウント保持部501と、レベル保持部502と、テーブル保持部503と、リード部504と、カウント部505と、レベル算出部506と、パルス生成部507とを有する。
カウント保持部501およびレベル保持部502は、単位時間内に駆動した記録素子202の数である駆動数の単位時間ごとの履歴と、単位時間内に電源ラインで生じた電圧降下量の単位時間ごとの履歴とを示す履歴情報を保持する保持部を構成する。単位時間は、例えば、1ライン分のドットを記録する記録時間をN分割した時間である。記録時間は、具体的には、記録ヘッド3(キャリッジ2)の1走査分の移動時間に相当する。また、記録ヘッド3がフルライン記録ヘッドの場合、記録時間は、記録媒体Pの1回分の搬送時間に相当する。Nは、例えば、記録幅に記録解像度を乗算し、さらに分割数である32を乗算した値である。例えば、記録幅が5inch、記録解像度が1200dpiの場合、Nは、5×1200×32=192000となる。
カウント保持部501は、履歴情報として、駆動数の単位時間ごとの履歴を示す駆動履歴情報を保持する。カウント保持部501は、少なくとも第1の所定数分の駆動数の履歴を保持することができる容量を有する。
レベル保持部502は、履歴情報として、単位時間内に電源ラインで生じた電圧降下量の単位時間ごとの履歴を示す電圧履歴情報を保持する。レベル保持部502は、少なくとも第2の所定数分の電圧降下量を保持することができる容量を有する。また、レベル保持部502は、本実施形態では、電圧降下量として、複数のレベルに区分けした電圧降下レベルを保持する。
テーブル保持部503は、駆動数と駆動パルス電圧との対応関係を示すテーブルであるパルス生成テーブルを電圧降下レベルごとに保持する格納部である。
図6は、パルス生成テーブルの一例を示す図である。
図6に示すパルス生成テーブル600では、駆動数601と、駆動パルス電圧を示す駆動パルス情報602とが対応付けられている。駆動パルス情報602は、駆動パルス電圧の4つの変化点0〜3を含む。変化点0〜3は、記録装置1のシステムクロックの周期内における駆動パルス電圧の変化点の位置を示す。
【0018】
リード部504、カウント部505、レベル算出部506およびパルス生成部507は、電源ラインを介して記録素子202に供給する駆動パルス電圧を制御する駆動制御部を構成する。
リード部504は、ブロックトリガ信号428の1周期であるブロックトリガ期間内に記録するドットデータをドットデータバッファ102Cから読み出す。
カウント部505は、リード部504が読み出したドットデータに基づいて、ブロックトリガ期間内の各単位時間における駆動数をカウントしてカウント値を生成する。カウント部505は、生成したカウント値に基づいて、カウント保持部501に保持されている駆動履歴情報を更新する。
レベル算出部506は、カウント部505が生成したカウント値と、カウント保持部501およびレベル保持部502に保持されている履歴情報とに基づいて、次の単位時間内における電圧降下レベルを予測値として算出する。このとき、レベル算出部506は、カウント値としては、次の単位時間における記録素子の駆動数である次駆動数をカウントした値を用いる。また、レベル算出部506は、履歴情報としては、次の単位時間よりも前(より具体的には、次の単位時間の直近)の第1の所定数分のカウント値と第2の所定数分の電圧降下レベルとを用いる。
具体的には、電圧降下レベルがどの程度生じるかは、カウント値つまり記録を行う駆動数に応じてある程度決定されるため、レベル算出部506は、先ず、カウント値に応じて電圧降下レベルの予測値を算出する。しかしながら、電圧降下レベルは、電源ラインに備わったコンデンサにチャージされている電圧に応じて変化する。このため、レベル算出部506は、第1の所定数分の駆動数と第2の所定数分の電圧降下レベルとで予測値を補正することで、予測値を決定する。
レベル算出部506は、算出した予測値に基づいて、レベル保持部502に保持されている電圧履歴情報を更新する。
パルス生成部507は、カウント部505にて生成されたカウント値と、レベル算出部506にて算出された予測値とに基づいて、記録ヘッド3の供給する駆動パルス電圧を制御する。
具体的には、パルス生成部507は、先ず、テーブル保持部503に保持されたパルス生成テーブルのうち、レベル算出部506にて算出された予測値に対応するパルス生成テーブルを確認する。続いて、パルス生成部507は、確認したパルス生成テーブルにおいて、カウント部505が生成した次の単位時間のカウント値に対応する駆動パルス情報を選択する。パルス生成部507は、選択した駆動パルス情報に基づいて、駆動パルス電圧を生成して記録ヘッド3に供給する。例えば、パルス生成部507は、駆動パルス情報が示す変化点0〜3でHレベルとLレベルとが切り替わる駆動パルス電圧を生成して記録ヘッド3に供給する。
以上説明した構成では、カウント保持部501、レベル保持部502およびテーブル保持部503は、記録ヘッド制御部108に含まれていたが、ROM101またはRAM102で実現されてもよい。
【0019】
(動作の説明)
図7は、駆動パルス生成部108aの動作を説明するためのフローチャートである。
先ず、リード部504は、ブロックトリガ信号428の立ち上がりエッジをトリガとして、ブロックトリガ信号428のブロックトリガ期間内に転送を行うドットデータをドットデータバッファ102Cから読み出す。リード部504は、読み出したドットデータをカウント部505に出力する(ステップS701)。
カウント部505は、リード部504からのドットデータに基づいて、ブロックトリガ期間内の各単位時間における駆動数をカウントしたカウント値を生成する。カウント部505は、生成したカウント値に基づいて、カウント保持部501に保持されている駆動履歴情報を更新する。カウント部505は、生成したカウント値をパルス生成部507およびレベル算出部506に出力する(ステップS702)。
レベル算出部506は、カウント部505からのカウント値に基づいて、次の単位時間内における電圧降下レベルの予測値を算出し、算出した予測値をパルス生成部507に出力する(ステップS703)。ステップS703の処理は、具体的には、以下のステップS711〜613の処理を含む。
先ず、レベル算出部506は、先ず、カウント保持部501内の第1の所定数分のカウント値を確認する(ステップS711)。また、レベル算出部506は、レベル保持部502内の第2の所定数分の電圧降下レベルを確認する(ステップS712)。そして、レベル算出部506は、次の単位時間のカウント値と、確認した第1の所定数分のカウント値と第2の所定数分の電圧降下レベルとに基づいて、電圧降下レベルの予測値を算出する。レベル算出部506は、算出した予測値に基づいて、レベル保持部502に保持されている電圧履歴情報を更新するとともに、その予測値をパルス生成部507に出力する(ステップS713)。
パルス生成部507は、テーブル保持部503に保持されたパルス生成テーブルのうち、レベル算出部506からの予測値に対応するパルス生成テーブルを確認する。パルス生成部507は、確認したパルス生成テーブルにおいて、カウント部505からのカウント値に対応する駆動パルス情報を選択する(ステップS704)。パルス生成部507は、選択した駆動パルス情報に基づいて、駆動パルス電圧を生成して記録ヘッド3に供給する(ステップS705)。
【0020】
図8および
図9は、上記動作を実施した場合における電源ラインの電圧降下量の変化の一例を示す図である。具体的には、
図8は、一定時間間隔で同じ駆動数の記録を続けた際の電圧降下量の変化を示し、
図9は、一定時間間隔で駆動数をランダムで変えながら記録し続けた際の電圧降下量の変化を示す。
図8および
図9では、横軸は時間を示し、縦軸は電圧降下量を示す。
図8の例では、電圧降下量は単調増加しており、
図9の例では、電圧降下量は
図8の例よりも複雑な変動をしている。しかしながら、両方の例において、電圧降下量は連続的に変動しており、過去のカウント値と電圧降下レベルとから、次の電圧降下レベルを予測することができる。
【0021】
なお、記録装置1が記録を行っていない待機状態の場合、カウント部505は、一定の時間間隔ごとに、カウント値としてゼロをカウントし、そのカウント値(ゼロ)に基づいて、カウント保持部501に保持されている駆動履歴情報を更新する。また、レベル算出部506は、次の単位時間におけるカウント値をゼロとして電圧降下レベルの予測値を算出し、その予測値に基づいて、レベル保持部502に保持されている電圧履歴情報を更新する。
【0022】
以上説明したように本実施形態によれば、駆動制御部は、ドットデータバッファ102Cに保持されているドットデータに、次の単位時間における駆動数に対応するカウント値を算出する。駆動制御部は、そのカウント値と、カウント保持部501およびレベル保持部502に保持されている駆動数および電圧降下量の履歴を示す履歴情報とに基づいて、電源ラインを介して記録素子202に供給する駆動電圧を制御する。このため、電源ラインにバッファが設けられていても、コンデンサにチャージされている電圧によって変化する電圧降下量を考慮して駆動電圧を制御することが可能になるため、動作不良の発生を抑制することが可能になる。
また、本実施形態では、駆動制御部は、次の単位時間におけるカウント値と次の単位時間における電圧降下量の予測値とに基づいて、カウント保持部501およびレベル保持部502に保持されているに保持されている履歴情報を更新する。このため、記録装置1の駆動中に履歴情報を順次更新することが可能になるため、継続して駆動電圧を適正に制御することが可能になる。
また、本実施形態では、駆動制御部は、記録を行っていない待機状態の場合、一定の時間間隔ごとに、次の単位時間におけるカウント値をゼロとして、カウント保持部501およびレベル保持部502に保持されているに保持されている履歴情報を更新する。このため、電源ラインに備わっているコンデンサの自己放電などを考慮することが可能になるため、より適切に駆動電圧を制御することが可能になる。
【0023】
(第2の実施形態)
本実施形態では、第1の実施形態で説明した駆動パルス生成部108aの機能の少なくとも一部をプログラム(より具体的には、ファームウェア)によって実現する。この場合、CPU103は、ファームウェアに従って、記録ヘッド制御部108の処理に対して、単位時間ごとに駆動パルス電圧を制御する制御処理を割り込み処理として発生させる。単位時間は、第1の実施形態と同じように1ライン分のドットを記録する記録時間をN分割した時間である。Nは、第1の実施形態とは異なり、単位時間が制御処理の実行に適した値となるように調整される。
制御処理は、例えば、第1の実施形態におけるカウント部505およびレベル算出部506が行う処理と同様である。また、ROM101をパルス生成テーブルを電圧降下レベルごとに保持する格納部として用い、RAM102をパルス生成テーブルのいずれかを保持する一時保持部として用いてもよい。この場合、CPU103は、制御処理において、電圧降下レベルの予測値を算出するたびに、RAM102に保持されているパルス生成テーブルを、ROM101において予測値に応じたテーブルに更新する。そして、記録ヘッド制御部108は、RAM102に保持されているテーブルにおいて、カウント値と対応する駆動電圧を記録素子に供給する。
【0024】
以上説明したように本実施形態によれば、カウント保持部501、レベル保持部502およびレベル算出部506などのハードウェア回路を削減することが可能になる。
【0025】
(第3の実施形態)
本実施形態では、パルス生成テーブルに関する処理が第1の実施形態と異なる。具体的には、ROM101がパルス生成テーブルを電圧降下レベルごとに保持する格納部として機能し、テーブル保持部503がパルス生成テーブルのいずれかを保持する一時保存部として機能する。また、CPU103は、レベル算出部506が予測値を算出する度に、テーブル保持部503に保持されているパルス生成テーブルを、ROM101においてレベル算出部506が算出した予測値に対応するテーブルに更新する更新部として機能する。パルス生成部507は、テーブル保持部503に保持されたパルス生成において、次の単位時間のカウント値に対応する駆動パルスを記録ヘッド3に供給する。
【0026】
図10は、本実施形態における駆動パルス生成部108aの動作を説明するためのフローチャートである。
先ず、
図7で説明したステップS701〜S703までの処理が実行される。その後、CPU103は、ファームウェアに従って、テーブル保持部503に保持されているパルス生成テーブルを、ROM101においてレベル算出部506にて算出された予測値に応じたテーブルに更新する(ステップS721)。
その後、パルス生成部507は、テーブル保持部503に保持されたパルス生成テーブルを確認する。パルス生成部507は、そのパルス生成テーブルにおいて、カウント部505からのカウント値に対応する駆動パルス情報を選択する(ステップS722)。パルス生成部507は、選択した駆動パルス情報に基づいて、駆動パルス電圧を生成して記録ヘッド3に供給する(ステップS723)。
【0027】
以上説明したように本実施形態によれば、CPU103は、レベル算出部506が予測値を算出する度に、テーブル保持部503に保持されているパルス生成テーブルを、ROM101においてレベル算出部506が算出した予測値に応じたテーブルに更新する。このため、テーブル保持部503の容量を低減させることが可能になる。
【0028】
以上説明した各実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。