JP2005022418A - 印刷装置および駆動波形生成装置、駆動波形生成方法 - Google Patents

印刷装置および駆動波形生成装置、駆動波形生成方法 Download PDF

Info

Publication number
JP2005022418A
JP2005022418A JP2004293586A JP2004293586A JP2005022418A JP 2005022418 A JP2005022418 A JP 2005022418A JP 2004293586 A JP2004293586 A JP 2004293586A JP 2004293586 A JP2004293586 A JP 2004293586A JP 2005022418 A JP2005022418 A JP 2005022418A
Authority
JP
Japan
Prior art keywords
drive waveform
accumulation
adder
output
result
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.)
Pending
Application number
JP2004293586A
Other languages
English (en)
Inventor
Takakazu Fukano
孝和 深野
Yuichi Nishihara
雄一 西原
Noboru Tamura
登 田村
Noboru Asauchi
昇 朝内
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
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004293586A priority Critical patent/JP2005022418A/ja
Publication of JP2005022418A publication Critical patent/JP2005022418A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 駆動波形の生成過程において駆動波形データを累算する際に、累算結果が所定の範囲の上限あるいは下限のいずれかの境界値を超えることにより、駆動波形が急激に変化し、回路内に過電流が流れるのを防止する。
【解決手段】 加算器と第2のラッチの間に反転防止回路を設け、加算器の累算結果が所定の範囲の上限あるいは下限のいずれかの境界値を超えるときに、上限値または下限値、あるいは、それに近い値に修正する。
【選択図】 図3

Description

本発明は、駆動素子を動作させるための駆動波形を生成する技術に関する。
近年、コンピュータの出力装置として、数色のインクをインクヘッドから吐出するタイプのカラープリンタが普及し、コンピュータ等が処理した画像を多色多階調で印刷するのに広く用いられている。そして、多階調の印刷を実現するために、記録ヘッドのノズルから吐出されるインク滴の重量を制御し、印刷媒体上に形成されるインクドットの大きさを制御することが行われている。
従来、インクジェット式プリンタにおいては、インクドットを形成するか否かの2値化を行い、一定面積中のいくつの画素にインクドットを形成するかにより印刷画像の中間調を表現するのが一般的であった。しかし、最近では、濃淡のインクを用いて一画素に複数の異なる大きさのインクドットを形成することにより、印刷画像の中間調をより多階調で表現することが可能となっている。
例えば、ピエゾ素子を用いたインクジェットプリンタでは、大きさの異なるインクドットを形成するためには、記録ヘッドのノズル開口部におけるメニスカス(ノズル開口部におけるインクの表面形状)の制御やインク滴の吐出のタイミングの制御が重要である。したがって、所望のインクドットを形成するために、記録ヘッドのピエゾ素子を動作させる駆動波形を、形成するインクドットの大きさに応じて変化させることが行われている。
ピエゾ素子を動作させる駆動波形は、予め任意の時間での駆動電圧の絶対値を全てメモリに記憶しておく方法や、ピエゾ素子がコンデンサを形成することを利用して抵抗値の異なる抵抗をピエゾ素子との間でスイッチングする方法により制御されてきた。しかし、前者の場合は駆動波形を記憶しておくためにメモリを多く必要とし、後者の場合は複雑なタイミングのパルス信号を必要とする問題がある。
これらの問題点を解決するために、駆動波形の任意の時間での電圧の変化量を決め、その値を加算器により順次加算していくことによりプログラマブルに駆動波形を得る方法等が提案されている。
図12は、駆動波形を生成するための従来の駆動波形生成回路100の内部構成を示すブロック図である。図13は、図12に示した駆動波形生成回路100において駆動波形を生成していく過程を示す説明図である。図12に示す駆動波形生成回路100は、メモリ102と、累算部104と、デジタル/アナログ変換器104とを備えている。メモリ102には、駆動信号COMの波形を示す駆動波形データが格納されている。図13(a)に示したように、メモリ102から読み出された駆動波形データΔV1,ΔV2,ΔV3は、累算部104においてクロック信号CLKに同期して順次累算されていく。ここで、駆動波形データとは、クロック信号CLKの1周期t当たりの駆動電圧の変化量を表すデータである。この18ビットの累算結果のうち上位10ビットがデジタル/アナログ変換器106でデジタル/アナログ変換されることによって、駆動信号COMが生成される。
特開平11−20203号公報
図13の方法において、1画素区間にわたって駆動波形データΔV1,ΔV2,ΔV3,...を累算した値がゼロになれば、駆動波形の始端と終端のレベルは完全に一致する。しかし、実際には、1画素区間にわたる駆動波形データの累算値がゼロにならないことも多い。この理由は、駆動波形データを設定する際に演算誤差が生じるからである。例えば、第1の駆動波形データΔV1は、その累算期間8tにおける電圧変化の設計値δ1を、その期間8tにおける累算周期の数(即ち8)で除算することによって決定される。この除算が割り切れないときには、駆動波形データΔV1は、丸め誤差を含むことになる。この丸め誤差が、1画素区間の終端における累算値の誤差の原因である。このような誤差はデジタル/アナログ変換の対象とならない下位ビットのビット数を増加させれば減少し、上位ビットに関しては、誤差を0とすることは可能である。しかし、下位ビットに関しては、累算誤差をゼロにすることは困難である。
従来の駆動波形生成装置では、このような誤差が第2ラッチ108に1画素区間毎に順次蓄積されてゆき、所望の駆動波形からずれた波形が生成されてしまうことがある。すなわち、例えば、図14(a)に示した駆動波形を得ようとする場合に、図14(b)に示したように、誤差e1が1周期毎に累積されて、駆動波形の始端電位がずれてゆき、所望の駆動波形からずれてしまう。図14(b)の状態から更に誤差e1が蓄積されてゆくと、加算器106がオーバーフローやアンダーフローを起こしてしまい、駆動波形が突然大きく変化することがある。
図15は、正常な駆動波形と、加算器106がオーバーフローやアンダーフローを起こしたときの駆動波形とを示す説明図である。図15(b)に示すように、加算結果が加算器106の出力の上限値ULを超えると、加算器出力が下限値LLに近い値にジャンプするので、駆動波形が大幅に変化する。また、図15(c)に示すように、加算結果が加算器106の出力の下限値LLを超えると、加算器出力が上限値ULに近い値にジャンプするので、このときにも駆動波形が大幅に変化する。このように、累積誤差が蓄積されてゆくと、駆動波形が突然大きく変化し、回路内に過電流が流れる可能性があった。
本発明は、上記の問題を解決することを目的としてなされたものであり、駆動波形の生成過程において駆動波形データを累算する際に、累算誤差によって駆動波形が急激に変化するのを防止することを目的とする。
上述の課題の少なくとも一部を解決するため、本発明は、駆動波形を生成するための複数の駆動波形データを順次累算し、累算された複数ビットの累算結果のうち、特定の上位ビットをデジタル/アナログ変換してアナログ信号として出力する。駆動波形データを累算する際、複数ビットの累算結果が、所定の範囲のいずれかの境界値を超えようとするときに、累算結果をその境界値に近い所定の値に設定する。こうすることにより、累算結果が反対側の境界値にジャンプするのを防止することができるので、駆動波形が急激に変化することを防止することが可能となる。
なお、駆動波形データを累算する際に、累算結果のキャリー信号と駆動波形データの最上位ビットとに基づいて、累算結果が境界値を超えるか否かを判定するようにしてもよい。こうすることにより、累算結果が境界値を超えるか否かの判定を容易に行うことができる。
また、累算結果が所定の範囲の上限値を超えるときには、累算結果をその上限値に設定し、所定の範囲の下限値を超えるときには、累算結果をその下限値に設定してもよい。
なお、本発明は、印刷装置、駆動波形生成装置、駆動波形生成方法等の種々の形態で実現することが可能である。
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
A.印刷装置の全体構成:
B.駆動波形生成装置の構成と動作:
C.第2実施例:
D.第3実施例:
E.変形例:
A.印刷装置の全体構成:
図1は、本発明の印刷装置の全体構成を示すブロック図である。図1に示すように、印刷装置は、コンピュータ90と、制御回路40と、紙送りモータ23と、主走査を行うキャリッジモータ24と、記録ヘッド50と、を備えている。
コンピュータ90では、所定のオペレーティングシステムの下で、アプリケーションプログラムが動作している。オペレーティングシステムには、ビデオドライバやプリンタドライバが組み込まれており、ディスプレイに画像を表示したり、種々の画像処理が行われる。
制御回路40は、コンピュータ90からの印刷信号等を受け取るインタフェース41と、各種データの記憶を行うRAM42と、各種データ処理のためのルーチン等を記憶したROM43と、発振回路44と、CPU等からなる制御部45と、駆動波形生成回路46と、紙送りモータ23やキャリッジモータ24や記録ヘッド50に印刷信号や駆動信号を送るためのインタフェース47と、を備えている。
RAM42は、受信バッファ42Aや中間バッファ42Bあるいは出力バッファ42Cとして利用される。コンピュータ90からの印刷信号は、インタフェース41を介して受信バッファ42Aに蓄えられる。このデータは、中間コードに変換されて中間バッファ42Bに蓄えられる。そして、ROM43内のフォントデータやグラフィック関数等を参照して制御部45により必要な処理が行われ、ドットパターンデータが展開され、出力バッファ42Cに記憶される。ドットパターンデータは、インタフェース47を介して記録ヘッド50に送られる。
図2は、記録ヘッド50の電気的な構成を示すブロック図である。記録ヘッド50は、ノズルの数に対応した複数のシフトレジスタ51A〜51Nと、複数のラッチ回路52A〜52Nと、複数のレベルシフタ53A〜53Nと、複数のスイッチ回路54A〜54Nと、複数のピエゾ素子55A〜55Nと、を備えている。印刷信号SIは、発振回路44からのクロック信号CLKに同期してシフトレジスタ51A〜51Nに入力される。そして、ラッチ信号LATに同期してラッチ回路52A〜52Nにラッチされる。ラッチされた印刷信号SIは、レベルシフタ53A〜53Nによりスイッチ回路54A〜54Nを駆動できる電圧まで増幅され、スイッチ回路54A〜54Nに供給される。スイッチ回路54A〜54Nの入力側には、駆動波形生成回路46からの駆動信号COMが入力され、出力側にはピエゾ素子55A〜55Nが接続されている。
スイッチ回路54A〜54Nは、例えば、印刷信号SIが「1」の場合は駆動信号COMをピエゾ素子55A〜55Nに供給して動作させ、「0」の場合は遮断して動作させない。ピエゾ素子は、周知のように、電圧の印加により結晶構造が歪み、電気−機械エネルギの変換を極めて高速に行う素子である。図示しないが、駆動信号COMがピエゾ素子55A〜55Nに供給されると、それに応じてピエゾ素子55A〜55Nは変形し、インク室の壁も変形する。これによりノズルからのインク滴の吐出を制御する。吐出されたインク滴が印刷媒体に付着することにより印刷が行われる。
B.駆動波形生成装置の構成と動作:
B−1.駆動波形生成装置の内部構成:
図3は、駆動波形生成回路46の内部構成を示すブロック図である。駆動波形生成回路46は、制御部45から与えられる駆動波形データを記憶するメモリ60と、メモリ60から読み出された駆動波形データを一時的に保持する第1ラッチ62と、第1ラッチ62の出力と後述する第2ラッチ66の出力とを加算する加算器64と、反転防止回路65と、第2ラッチ66と、第2ラッチ66の出力をアナログ信号に変換するデジタル/アナログ変換器70と、を備えている。また変換されたアナログ信号をピエゾ素子が動作する電圧まで増幅する電圧増幅部72と、増幅された電圧信号に対応した電流供給を行うための電流増幅部74も備えている。加算器64と第2ラッチ66とは、駆動波形データを累算する累算部68を構成する。駆動波形生成回路46には、制御部45から種々の信号が供給される。即ち、メモリ60には、第1のクロック信号CLK1と、駆動波形データを表すデータ信号と、アドレス信号A0〜A3と、イネーブル信号とが供給されている。また、第1ラッチ62には、第2のクロック信号CLK2と、リセット信号RESETとが供給されている。反転防止回路65には、第3のクロック信号CLK3が供給されている。第2ラッチ66には、第3のクロック信号CLK3と、リセット信号RESETが供給されている。第1と第2ラッチ62,66に供給されるリセット信号RESETは、同じものである。また、反転防止回路65と第2ラッチ66に供給される第3のクロック信号CLK3も同じものである。なお、この駆動波形生成回路46は、図1に示した制御部45,RAM42およびROM43とともに駆動波形生成装置として機能する。また、反転防止回路65は、累算結果修正回路として機能する。
B−2.駆動波形の生成方法:
図4は、メモリ60内に駆動波形データを書きこむタイミングを示すタイミングチャートである。駆動波形COMの生成に先立って、駆動波形データを示すデータ信号と、そのデータ信号のアドレスとが、第1のクロック信号CLK1に同期して、制御部45からメモリ60に供給される。データ信号は1ビットであるが、図4に示したように、第1のクロック信号CLK1を同期信号とするシリアル転送によって、駆動波形データが1ビットずつ転送される。即ち、制御部45からメモリ60へ駆動波形データを転送する場合には、まず、第1のクロック信号CLK1に同期してデータ信号を複数ビット分供給する。その後、このデータを格納するための書きこみアドレスを表すアドレス信号A0〜A3と、イネーブル信号とを供給する。メモリ60は、このイネーブル信号が供給されたタイミングでアドレス信号を読み取り、受け取った駆動波形データをそのアドレスに書きこむ。アドレス信号A0〜A3は4ビットなので、最大16種類の駆動波形データをメモリ60に記憶しておくことができる。
図5は、駆動波形生成回路46において駆動波形を生成していく過程を示す説明図である。メモリ60内への駆動波形データの書きこみが終了した後、読出しアドレスBがアドレス信号A0〜A3として出力されると、メモリ60から最初の駆動波形データΔV1が出力される。その後、第2のクロック信号CLK2のパルスが発生すると、この駆動波形データΔV1が第1ラッチ62に保持される。この状態で、次に第3のクロック信号CLK3のパルスが発生すると、第2ラッチ66の18ビットの出力と、第1ラッチ62の16ビットの出力とが加算器64により加算され、その加算結果が第2ラッチ66に保持される。即ち、図5に示したように、一旦、アドレス信号に対応した駆動波形データが選択されると、その後、第3のクロック信号CLK3を受けるたびに、第2ラッチ66の出力には、その駆動波形データの値が累算されていく。この際、反転防止回路65は、加算器64の出力がその上限値"111...111"(18ビット)を超えるかどうかを判定する。そして、反転防止回路65は、その判定に応じた値を出力する。
図5に示した例では、アドレスBには、第3のクロック信号CLK3の1周期t当たりの電圧をΔV1だけ上昇させることを示す駆動波形データが格納されている。従って、第2のクロック信号CLK2によりアドレスBが有効になると、ΔV1ずつ電圧が上昇していくことになる。また、アドレスAには、駆動波形データとしてΔV2=0、即ち、電圧を保持することを示す値が格納されている。従って、第2のクロック信号CLK2によりアドレスAが有効になると、駆動信号の波形は、増減のないフラットな状態に保たれる。また、アドレスCには、第3のクロック信号CLK3の1周期t当たりの電圧をΔV3だけ低下させることを示す駆動波形データが格納されている。従って、第2のクロック信号CLK2によりアドレスCが有効になった後は、ΔV3ずつ電圧が低下していくことになる。なお、増加か減少かは、各アドレスに格納されたデータの符号により決定される。
こうして、加算器64により加算された18ビットの加算結果のうち、上位10ビットの電圧レベルデータDは、デジタル/アナログ変換器70に入力される。また、18ビットの加算結果全体は、加算器64に再入力される。この結果、第2ラッチ66から出力される電圧レベルデータDは、図5(a)に示したように段階的に変化する。この電圧レベルデータDは、デジタル/アナログ変換器70により変換され、図5(b)に示した駆動波形が形成される。
なお、メモリ60から読み出される駆動波形データは、負の数は2の補数表示で表現されている。また、加算器64に入力される駆動波形データは、16ビットであるが、加算されるときには、その最上位ビット(16ビット目)の値が17ビット目と18ビット目とにそのまま用いられる。このような加算器64の加算動作については後述する。
B−3.反転防止回路の内部構成と動作:
図6は反転防止回路65の内部構成を示すブロック図である。反転防止回路65は、18個のアンドゲートAGS0〜AGS17と、18個のアンドゲートAGR0〜AGR17と、18個のDフリップフロップDFF0〜DFF17と、を備えている。第1のアンドゲートAGS0〜AGS17は、第1ラッチ62から与えられた16ビットの駆動波形データの最上位ビットMSBの反転信号と、加算器64から出力されるキャリーCとの論理積をとり、その出力をDフリップフロップDFF0〜DFF17のセット端子Sに入力する。第2のアンドゲートAGR0〜AGR17は、第1ラッチ62から与えられた16ビットの駆動波形データの最上位ビットMSBと、加算器64から出力されるキャリーCの反転信号との論理積をとり、その出力をDフリップフロップDFF0〜DFF17のリセット端子Rに入力する。DフリップフロップDFF0〜DFF17は、クロック信号CLK3の立下りエッジに同期して、出力Q〜Q17を更新する。すなわち、セット端子Sとリセット端子Rがいずれも"0"のときは、加算器64の累算結果であるOUTOUT...OUT17をDフリップフロップDFF0〜DFF17の出力Q...Q17として、そのまま出力する。また、セット端子Sが"0"で、リセット端子Rが"1"のときは、DフリップフロップDFF0〜DFF17の出力Q〜Q17をすべて"0"にリセットする。更に、セット端子Sが"1"で、リセット端子Rが"0"のときは、DフリップフロップDFF0〜DFF17の出力Q〜Q17をすべて"1"にセットする。
なお、図6の実施例では、各DフリップフロップDFF0〜DFF17に対して、それぞれ一対のアンドゲートを設けているが、この代わりに、18個のDフリップフロップDFF0〜DFF17の全体で一対のアンドゲートを共有するようにしてもよい。
図7は、加算器64において行われる加算処理と加算結果の修正方法とを説明する説明図である。ここでは簡単のため、加算結果は8ビットであり、第1ラッチ62から与えられる駆動波形データは6ビットであるものとして説明する。なお、実際の駆動波形データは、16ビットの2の補数表示で表現されており、加算器64において加算される際には、その最上位ビットMSB(16ビット目)の値が17ビット目と18ビット目とにそのまま用いられる。そこで、以下の説明では、6ビットの駆動波形データの最上位ビットMSB(6ビット目)の値(図中○で囲った値)を、7ビット目と8ビット目とにそのまま用いて加算を実行する。
図7(a)は、累算結果"11100100"(10進数の「228」)に駆動波形データ"010110"(10進数の「22」)を加算する場合である。この加算では、桁上がりはなくキャリーCは"0"である。また、駆動波形データのMSBは"0"である。従って、DフリップフロップDFFのセット端子Sおよびリセット端子Rには、ともに"0"が入力され、DフリップフロップDFF0〜DFF17からは、加算結果"11111010"がそのまま出力される。
図7(b)は、累算結果"11101011"(10進数の「235」)に駆動波形データ"010110"(10進数の「22」)を加算する場合である。この加算では、桁上がりがあり、キャリーCは"1"である。また、駆動波形データのMSBは"0"である。従って、DフリップフロップDFFのセット端子Sには"1"が、リセット端子Rには"0"がそれぞれ入力され、DフリップフロップDFF0〜DFF17からは、上限値"11111111"が出力される。
図7(c)は、累算結果"00011101"(10進数の「29」)に駆動波形データ"101010"(10進数の「−22」)を加算する場合である。この加算では、桁上がりがあり、キャリーCは"1"である。また、駆動波形データのMSBは"1"である。従って、DフリップフロップDFFのセット端子Sおよびリセット端子Rには、ともに"0"が入力され、DフリップフロップDFF0〜DFF17からは、"00000111"がそのまま出力される。
図7(d)は、累算結果"00001101"(10進数の「13」)に駆動波形データ"101010"(10進数の「−22」)を加算する場合である。この加算では、桁上がりがなく、キャリーCは"0"である。また、駆動波形データのMSBは"1"である。従って、DフリップフロップDFFのセット端子Sには"0"が、リセット端子Rには"1"がそれぞれ入力され、DフリップフロップDFF0〜DFF17からは、下限値"00000000"が出力される。
このように第1の実施例では、加算器64における加算結果が上限値または下限値を越えるようとするときに、第2ラッチ66に入力される加算結果が強制的に上限値または下限値に設定される。この結果、駆動電圧波形が急激に変化して回路に過電流が流れることを防止することができる。
C.第2実施例:
図8は、第2実施例における累算部の構成を示すブロック図である。加算器64の前段および第2ラッチ66の後段は、前述した第1実施例の駆動波形生成回路46と同様であるので説明は省略する。第2実施例では、加算器64と第2ラッチ66との間にセレクタ67が設けられている。また、セレクタ67には、データレジスタ63a,63bおよび判定回路69が接続されており、これらデータレジスタ63a,63bと、セレクタ67と、判定回路69が反転防止回路として機能する。
第1のデータレジスタ63aには、各ビットがすべて"1"である18ビットのデータが設定されている。また、第2のデータレジスタ63bには、各ビットがすべて"0"である18ビットのデータが設定されている。セレクタ67は、判定回路69の出力に応じて、データレジスタ63a,63bおよび加算器64から入力された3つのデータのうちの1つを選択して出力する。
判定回路69は、図6に示した一対のアンドゲート(例えばAGS0、AGR0)と同じ一対のアンドゲート69a、69bを有している。すなわち、この判定回路69は、加算器64から出力されるキャリーCと駆動波形データのMSBとに基づいて、加算器64の加算結果がその上限値あるいは下限値を超えるかどうかの判定を行い、その判定結果を示す2ビットのデータQ69を出力する。
図9は、加算器64から出力されるキャリーCおよび駆動波形データのMSBに応じた、セレクタ67の出力Q67を説明する説明図である。キャリーCおよび駆動波形データのMSBがともに"0"あるいは、ともに"1"のときは、判定回路69の出力Q69は"00"であり、セレクタ67は、加算器64の累算結果Q64をそのまま出力する。また、キャリーCが"0"、駆動波形データのMSBが"1"のときは、判定回路69の出力Q69は"01"であり、セレクタ67は、各ビットがすべて"0"である18ビットのデータを出力する。更に、キャリーCが"1"、駆動波形データのMSBが"0"のときは、判定回路69の出力Q69は"10"であり、セレクタ67は、各ビットがすべて"1"である18ビットのデータを出力する。
このように、第2実施例の回路によっても、駆動電圧波形が急激に変化して回路に過電流が流れることを防止することができる。
D.第3実施例:
図10は、第3実施例としての駆動波形生成回路46の内部構成を示すブロック図である。第3実施例では、第2ラッチ66に図1の制御部45からフロア信号FLOORが入力されている点以外は第1実施例と同じである。
図13を用いて説明したように、累算部68における累算値は、下位ビットに累算誤差を含んでいる。この下位ビットに含まれる累算誤差により、所望の駆動波形からずれた波形が生成されてしまう。そこで、第3実施例では、累算部68における18ビットのデータのうち下位8ビットの累算誤差をフロア信号FLOORを用いてクリアしている。
図11は、第2ラッチ66の下位8ビットをクリアするタイミングを示すタイミングチャートである。ここでは、1画素区間の周期T毎に、同一の駆動波形が繰り返されるものとしている。1画素区間の始端と終端における電圧レベルデータDの値VM(以下、「始端レベル」と呼ぶ)は、ゼロでない所定の値を有している。1画素区間の始端と終端は、制御部45内で生成される印刷タイミング信号PTSによって規定されている。印刷タイミング信号PTSは、各画素位置にインクドットを形成する際に、駆動波形の出力の開始を指示する信号である。フロア信号FLOORは、第2ラッチ66の下位8ビットをクリアするタイミングt0を指示する信号である。フロア信号FLOORが制御部45から第2ラッチ66に入力されると、第2ラッチ66の下位8ビットのみがクリアされ、上位10ビットは始端レベルVMに維持される。第3実施例では、フロア信号FLOORは、印刷タイミング信号PTSと同じタイミング、すなわち、駆動波形の1周期毎に入力される。この場合は、印刷タイミング信号PTSをフロア信号FLOORとして用いてもよい。また、このタイミングはこれに限定されるものではなく、例えば、第2ラッチ66から出力される電圧レベルデータDがVMになるタイミングt0、t1等、予め出力値が分かっているタイミングでフロア信号FLOORを入力して、下位8ビットをクリアしてもよい。
第3実施例によれば、駆動波形データの誤差を所定のタイミングでクリアするため、駆動波形データの誤差の累積を防止し、容易に所望の複雑なプロファイルの駆動波形を得ることができる。更に、何らかの理由でフロア信号FLOORによる駆動波形データの誤差のクリアが行われずに、加算器64における累算結果が上限値あるいは下限値を越えるようなことがあっても、駆動電圧波形が急激に変化して回路に過電流が流れることを防止することができる。
E.変形例:
本発明は、上述の実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々なる態様での実施が可能であり、例えば、以下のような変形も可能である。
E−1.変形例1:
上記実施例では、加算器64の加算結果がその上限値(各ビットがすべて"1"である18ビットの値)または下限値(各ビットがすべて"0"である18ビットの値)を超えるときに、第2ラッチ66に保持されるデータを強制的に上限値または下限値に設定するようにしていたが、第2ラッチ66に保持されるデータは、加算結果の上限値または下限値に近い任意の値に設定することが可能である。例えば、上限値の代わりに、特定の下位数ビットをすべて"0"に設定し、それ以上の上位ビットをすべて"1"に設定するような設定値を用いることも可能である。
また、上記実施例では、反転防止回路65が、加算器64の加算結果の上限値と下限値のいずれかを超えるか否かを判定していたが、この代わりに、加算器64の取り得る全範囲のうちの所定の範囲のいずれかの境界値を超えるか否かを判定するようにしてもよい。例えば、加算器64の出力が8ビットの場合には、加算結果は10進数で0〜255の値を取り得るが、その上限値「255」と下限値「0」を超えるか否かを判定する代わりに、5〜250の範囲の値のいずれかの境界値(「5」または「250」)を超えるか否かを判定するようにしてもよい。すなわち、一般には、駆動波形データの累算結果が、所定の範囲のいずれかの境界値を超えようとするときに、その累算結果をその境界値に近い所定の設定値に設定するようにすればよい。
E−2.変形例2:
本発明の駆動波形生成装置および駆動波形生成方法は、上述した実施の形態に示した印刷装置に用いられるだけでなく、その他のアクチュエータ等を駆動する駆動波形生成装置,駆動波形生成方法としても適用できる。
本発明の印刷装置の全体構成を示すブロック図である。 記録ヘッドの電気的な構成を示すブロック図である。 本発明の駆動波形生成回路の内部構成を示すブロック図である。 メモリ内に駆動波形データを書きこむタイミングを示すタイミングチャートである。 駆動波形を生成していく過程を説明する説明図である。 本発明の反転防止回路の内部構成を示すブロック図である。 加算器64において行われる加算処理と加算結果の修正方法とを説明する説明図である。 本発明の第2実施例における累算部の構成を示すブロック図である。 加算器64から出力されるキャリーCおよび駆動波形データのMSBに応じた、セレクタの出力を説明する説明図である。 本発明の第3実施例としての駆動波形生成回路の内部構成を示すブロック図である。 第3の実施例におけるフロア信号を入力するタイミングを説明する説明図である。 従来の駆動波形生成回路の内部構成を示すブロック図である。 駆動波形を生成していく方法を説明する説明図である。 駆動波形の生成過程における誤差の累積を説明する説明図である。 正常な駆動波形と、加算器がオーバーフローやアンダーフローを起こしたときの駆動波形とを示す説明図である。
符号の説明
23...紙送りモータ
24...キャリッジモータ
40...制御回路
41...インタフェース
42...RAM
42A...受信バッファ
42B...中間バッファ
42C...出力バッファ
43...ROM
44...発振回路
45...制御部
46...駆動波形生成回路
50...記録ヘッド
51A〜51N...シフトレジスタ
52A〜52N...ラッチ回路
53A〜53N...レベルシフタ
54A〜54N...スイッチ回路
55A〜55N...ピエゾ素子
60...メモリ
62...第1ラッチ
63a...データレジスタ
63b...データレジスタ
64...加算器
65...反転防止回路
66...第2ラッチ
67...セレクタ
68...累算部
68a...累算部
69...判定回路
69a...アンドゲート
69b...アンドゲート
70...D/A変換器
72...電圧増幅部
74...電流増幅部
90...コンピュータ
100...駆動波形生成回路
102...メモリ
104...累算部
106...D/A変換器

Claims (11)

  1. 印刷すべき画像の印刷信号に基づいて、記録媒体上に画像を記録する印刷装置であって、
    複数のノズルと前記複数のノズルを駆動してインク滴を吐出させるための複数の駆動素子とを有する印刷ヘッドと、
    前記複数の駆動素子に伝送される駆動波形を生成する駆動波形生成回路と、
    を備え、
    前記駆動波形生成回路は、
    前記駆動波形を生成するための複数の駆動波形データを記憶するためのメモリと、
    前記メモリからそれぞれ所定の読出しタイミングで1つずつ順次読み出された前記駆動波形データを、所定の累算タイミングで順次累算していく累算部と、
    前記累算部における前記複数ビットの累算結果が所定の範囲のいずれかの境界値を超えようとするときに、前記累算結果を前記境界値に近い所定の設定値に設定する累算結果修正回路と、
    前記累算部で得られた複数ビットの累算結果のうち、特定の上位ビットをデジタル/アナログ変換してアナログ信号として出力するデジタル/アナログ変換器と、
    を備える印刷装置。
  2. 請求項1記載の印刷装置であって、
    前記累算部は、
    前記累算結果を保持するための第1のラッチ回路と、
    前記メモリから読み出された前記駆動波形データと、前記第1のラッチ回路で保持された前記累算結果とを加算することによって、前記累算結果を更新する加算器と、を有しており、
    前記駆動波形データは、2の補数表示で表現されており、
    前記累算結果修正回路は、前記加算器のキャリー信号と前記駆動波形データの最上位ビットとに基づいて、前記加算器から出力される前記累算結果が前記境界値を超えるか否かを判定する判定部を備える
    印刷装置。
  3. 請求項2記載の印刷装置であって、
    前記累算結果修正回路は、更に、
    前記加算器と前記第1のラッチ回路との間に介挿されて、前記加算器の出力を保持する第2のラッチ回路を備えており、
    前記判定部は、前記加算器から出力される前記累算結果が前記境界値を超えるときに、前記第2のラッチ回路の出力を前記境界値に近い前記所定の設定値に設定する
    印刷装置。
  4. 請求項3記載の印刷装置であって、
    前記判定部は、
    前記加算器から出力される前記累算結果が、前記加算器の出力の上限値を超えるときに、前記第2のラッチ回路の出力を前記上限値に設定し、
    前記加算器から出力される前記累算結果が、前記加算器の出力の下限値を超えるときに、前記第2のラッチ回路の出力を前記下限値に設定する
    印刷装置。
  5. 駆動素子を駆動させるための駆動波形を生成する駆動波形生成装置であって、
    前記駆動波形を生成するための複数の駆動波形データを記憶するためのメモリと、
    前記メモリからそれぞれ所定のタイミングで1つずつ順次読み出された前記駆動波形データを、所定の累算タイミングで順次累算していく累算部と、
    前記累算部における前記複数ビットの累算結果が所定の範囲のいずれかの境界値を超えようとするときに、前記累算結果を前記境界値に近い所定の設定値に設定する累算結果修正回路と、
    前記累算部で得られた複数ビットの累算結果のうち、特定の上位ビットをデジタル/アナログ変換してアナログ信号として出力するデジタル/アナログ変換器と、
    を備える駆動波形生成装置。
  6. 請求項5記載の駆動波形生成装置であって、
    前記累算部は、
    前記累算結果を保持するための第1のラッチ回路と、
    前記メモリから読み出された前記駆動波形データと、前記第1のラッチ回路で保持された前記累算結果とを加算することによって、前記累算結果を更新する加算器と、を有しており、
    前記駆動波形データは、2の補数表示で表現されており、
    前記累算結果修正回路は、前記加算器のキャリー信号と前記駆動波形データの最上位ビットとに基づいて、前記加算器から出力される前記累算結果が前記境界値を超えるか否かを判定する判定部を備える
    駆動波形生成装置。
  7. 請求項6記載の駆動波形生成装置であって、
    前記累算結果修正回路は、更に、
    前記加算器と前記第1のラッチ回路との間に介挿されて、前記加算器の出力を保持する第2のラッチ回路を備えており、
    前記判定部は、前記加算器から出力される前記累算結果が前記境界値を超えるときに、前記第2のラッチ回路の出力を前記境界値に近い前記所定の設定値に設定する
    駆動波形生成装置。
  8. 請求項7記載の駆動波形生成装置であって、
    前記判定部は、
    前記加算器から出力される前記累算結果が、前記加算器の出力の上限値を超えるときに、前記第2のラッチ回路の出力を前記上限値に設定し、
    前記加算器から出力される前記累算結果が、前記加算器の出力の下限値を超えるときに、前記第2のラッチ回路の出力を前記下限値に設定する
    駆動波形生成装置。
  9. 駆動素子を駆動させるための駆動波形生成方法であって、
    (a)前記駆動波形を生成するための複数の駆動波形データを、それぞれ所定のタイミングで1つずつ順次選択する工程と、
    (b)前記選択された駆動波形データを、所定の累算タイミングで順次累算する工程と、
    (c)前記複数ビットの累算結果が所定の範囲のいずれかの境界値を超えようとするときに、前記累算結果を前記境界値に近い所定の設定値に設定する工程と、
    (d)前記複数ビットの累算結果のうち、特定の上位ビットをデジタル/アナログ変換する工程と、
    を備える駆動波形生成方法。
  10. 請求項9記載の駆動波形生成方法であって、
    前記工程(c)は、前記累算結果のキャリー信号と前記駆動波形データの最上位ビットとに基づいて、前記累算結果が前記境界値を超えるか否かを判定する工程を含む
    駆動波形生成方法。
  11. 請求項10記載の駆動波形生成方法であって、
    前記工程(c)は、
    前記累算結果が、前記所定の範囲の上限値を超えるときに、前記累算結果を前記上限値に設定し、
    前記累算結果が、前記所定の範囲の下限値を超えるときに、前記累算結果を前記下限値に設定する工程を含む
    駆動波形生成方法。
JP2004293586A 2004-10-06 2004-10-06 印刷装置および駆動波形生成装置、駆動波形生成方法 Pending JP2005022418A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004293586A JP2005022418A (ja) 2004-10-06 2004-10-06 印刷装置および駆動波形生成装置、駆動波形生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004293586A JP2005022418A (ja) 2004-10-06 2004-10-06 印刷装置および駆動波形生成装置、駆動波形生成方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP25981699A Division JP3767270B2 (ja) 1999-09-14 1999-09-14 印刷装置および駆動波形生成装置、駆動波形生成方法

Publications (1)

Publication Number Publication Date
JP2005022418A true JP2005022418A (ja) 2005-01-27

Family

ID=34191867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004293586A Pending JP2005022418A (ja) 2004-10-06 2004-10-06 印刷装置および駆動波形生成装置、駆動波形生成方法

Country Status (1)

Country Link
JP (1) JP2005022418A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006218766A (ja) * 2005-02-10 2006-08-24 Fuji Xerox Co Ltd 液滴吐出ヘッド、画像記録装置、記録方法、及び画像記録方法
JP7076946B2 (ja) 2017-02-27 2022-05-30 キヤノン株式会社 液体吐出装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006218766A (ja) * 2005-02-10 2006-08-24 Fuji Xerox Co Ltd 液滴吐出ヘッド、画像記録装置、記録方法、及び画像記録方法
JP7076946B2 (ja) 2017-02-27 2022-05-30 キヤノン株式会社 液体吐出装置

Similar Documents

Publication Publication Date Title
KR100388512B1 (ko) 잉크젯프린터의헤드구동장치
US7278698B2 (en) Liquid ejection apparatus, liquid ejection head thereof, and liquid ejection method
JP2001121697A (ja) 駆動素子を動作させるための駆動波形の生成
JP2002144567A (ja) インクジェット式プリントヘッドの駆動波形生成装置及び駆動波形生成方法
JP3767270B2 (ja) 印刷装置および駆動波形生成装置、駆動波形生成方法
JP4442976B2 (ja) 印刷ヘッドの駆動素子を駆動させるための駆動波形の生成
KR20080010407A (ko) 잉크젯 프린터 구동기 회로 구조
US20040223016A1 (en) Driving device of ink-jet print head, control method of the driving device, and liquid drop discharge apparatus
JP2005022418A (ja) 印刷装置および駆動波形生成装置、駆動波形生成方法
JP4572631B2 (ja) 印刷装置および駆動波形生成装置、駆動波形生成方法
JP2006218766A (ja) 液滴吐出ヘッド、画像記録装置、記録方法、及び画像記録方法
JP2006248161A (ja) 記録装置
JPH1158732A (ja) インクジェットヘッド駆動装置
JP2001260330A (ja) 印刷ヘッドの駆動素子を駆動させるための駆動波形の生成
JP5202394B2 (ja) 液滴吐出ヘッド及び液滴吐出装置
JP2001080071A (ja) 印刷装置および駆動波形生成装置、駆動波形生成方法
JP2001138551A (ja) インクジェット式記録装置および同装置における記録ヘッドのアクチュエータ駆動信号設定方法
JP4655682B2 (ja) 記録装置
EP1085655A2 (en) Driving waveform generating device and method for ink-jet recording head
JP2019500238A (ja) 液体吐出装置及び吐出選択信号生成回路
JPH09109389A (ja) インクジェット記録装置の記録素子駆動用集積回路
JP4300819B2 (ja) インクジェット式ヘッド制御回路、インクジェット式ヘッドモジュール、データ転送方法、及び液滴吐出装置
JP2004255789A (ja) 描画装置及びインク吐出ヘッドの駆動方法
JP4227852B2 (ja) インクジェットヘッド駆動波形の生成装置及び同生成方法
JP2001113695A (ja) インクジェット式記録ヘッドの駆動装置および印刷装置