(57)【要約】【課題】記録ヘッドへの転送データにエラーが発生した場合であっても、そのエラーに起因して記録ヘッドに不具合が生じることを回避できるようにする。【解決手段】記録データと記録ヘッドを制御するための制御データとの各々をコマンド形式に変換して転送データとして伝送路を介して記録ヘッドに送信する送信工程と、記録ヘッドにおいて、受信した転送データにおける誤りを検出する工程と、を設け、誤りを検出したのちの送信工程において、制御データに関するコマンドのうち誤りが発生した転送データに含まれていたコマンドであってかつ次の転送データには含まれない予定のコマンドが当該次の転送データに含まれるように、当該次の転送データを再構成して送信する。【選択図】図１
2019064174.tif 000002
【特許請求の範囲】
【請求項１】
複数の記録素子を有する記録ヘッドを備え、前記複数の記録素子を駆動して記録データに基づく記録を記録媒体に行なう記録装置であって、
伝送路を介して前記記録ヘッドに対して接続され、前記記録データと前記記録ヘッドを制御するための制御データとの各々をコマンド形式に変換して転送データとして前記記録ヘッドに送信するコントローラと、
前記記録ヘッドに設けられて前記記録ヘッドで受信した前記転送データにおける誤りを検出し、誤りを検出したことを示す信号を前記コントローラに送信する誤り検出手段と、
を備え、
前記コントローラは、前記誤りを検出したことを示す信号を受信したときに、前記制御データに関するコマンドのうち誤りが発生した転送データに含まれていたコマンドであってかつ次の転送データには含まれない予定のコマンドが当該次の転送データに含まれるように、当該次の転送データを再構成して送信することを特徴とする記録装置。
【請求項２】
前記コントローラは、前記転送データに含ませることができるコマンドの数に制限がある場合に、前記制御データに関するコマンドに関して所定の優先順位に基づいて選択を行ない、選択したコマンドを前記転送データに含める、請求項１に記載の記録装置。
【請求項３】
前記誤り検出手段によって誤りが検出された場合に、正常な前記転送データが受信されるまで前記記録媒体への記録を停止する、請求項１または２に記載の記録装置。
【請求項４】
前記誤り検出手段は、前記記録データに関するコマンドについての誤りとそれ以外のコマンドについての誤りとを区別して検出する、請求項１または２に記載の記録装置。
【請求項５】
前記誤り検出手段によって検出された誤りが前記記録データに関するコマンド以外のコマンドに関するものであった場合に、正常な転送データが受信されるまで前記記録媒体への記録を停止する、請求項４に記載の記録装置。
【請求項６】
前記誤り検出手段によって検出された誤りが前記記録データに関するコマンド以外の所定のコマンドに関するものであった場合に、正常な転送データが受信されるまで前記記録媒体への記録を停止するか記録動作を継続かを選択することができる、請求項４に記載の記録装置。
【請求項７】
前記記録装置はインクジェット記録装置であり、前記制御データに関するコマンドは、前記記録素子を駆動する波形を規定するコマンドを含む、請求項１乃至６のいずれか１項に記載の記録装置。
【請求項８】
複数の記録素子を有する記録ヘッドを備え、前記複数の記録素子を駆動して記録データに基づく記録を記録媒体に行なう記録装置の制御方法であって、
前記記録データと前記記録ヘッドを制御するための制御データとの各々をコマンド形式に変換して転送データとして伝送路を介して前記記録ヘッドに送信する送信工程と、
前記記録ヘッドにおいて、受信した前記転送データにおける誤りを検出する工程と、
を有し、
前記誤りを検出したのちの前記送信工程において、前記制御データに関するコマンドのうち誤りが発生した転送データに含まれていたコマンドであってかつ次の転送データには含まれない予定のコマンドが当該次の転送データに含まれるように、当該次の転送データを再構成して送信することを特徴とする制御方法。
【請求項９】
前記転送データに含ませることができるコマンドの数に制限がある場合に、前記送信工程において、前記制御データに関するコマンドに関して所定の優先順位に基づいて選択を行い、選択したコマンドを前記転送データに含める、請求項８に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に対して画像などを記録する記録装置とその制御方法とに関する。
【背景技術】
【０００２】
紙などの記録媒体に対して画像などを記録しあるいは印字する記録装置では、一般に、複数の記録素子を備えて実際の記録動作を行う記録ヘッドと、記録ヘッドを制御するコントローラを備える本体部とが分離して設けられる。記録媒体の全面に記録を行うために、本体部に対して記録ヘッドが相対的に移動する構成となっていることも多い。記録ヘッドと本体部とが分離して設けられる記録装置の一つとして、吐出口から記録液（例えばインク）を吐出することによりカラー（多色）での画像記録も可能なインクジェット記録装置がある。インクジェット記録装置は、比較的簡便で優れた記録装置として幅広い産業分野で需要が高まっており、より高速での記録が可能であることや、より高品位の画像の記録が可能であることが求められている。
【０００３】
記録速度の向上への要求に応える形で、インクジェット記録装置では、記録ヘッドに設けられる吐出口の数の増加や、吐出周波数の高速化などが図られている。これに伴い、コントローラから記録ヘッドに転送される制御データに関し、単位時間あたりの転送量が増加し、加えて転送周期も短くなって転送頻度が上昇している。制御データは、記録ヘッドの動作を制御するデータであって、例えば、記録ヘッド内に設けられる記録素子を駆動するための波形を指定するデータなどを含んでいる。転送データ量の増大及び転送頻度の上昇に対応する方法として、特許文献１には、コントローラにおいて制御データをコマンドに変換して記録ヘッドに転送し、記録ヘッドでは、受信したコマンドを制御データにデコードすること開示されている。インクジェット記録装置以外の記録装置においても、記録ヘッドへの制御データをコマンドに変換してから記録ヘッドに転送することが行なわれている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０４３３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
制御データをコマンドに変換して転送するとしても、記録ヘッドへの制御データの転送周期をさらに短くしようとした場合、転送周期ごとにすべてのコマンドを記録ヘッドに転送することが次第に困難になってくる。このような状況に対応して、各コマンドをそれぞれ必要なときにのみ、例えばそのコマンドに対応するデータに変更があったときにのみ転送する構成を採用することが考えられる。しかしながらこのように構成した場合、コマンドやそれに対応する制御データに誤りがあったときに次にそのコマンドを受信するまでその誤りが継続することとなるので、記録が不適切なものとなったり、記録ヘッド自体の不具合を招くおそれがある。例えば、制御データの内、記録素子の駆動波形を設定する箇所に誤りがあった場合には、記録ヘッド内部に格納されている駆動波形設定データが更新されず、古いデータに基づいて記録素子が駆動され、記録がなされることとなる。その場合、本来供給されるべきエネルギーに比べて記録素子に供給されるエネルギーが不足しあるいは過剰となり、その結果、適切な記録、例えば画像形成を行えなくなる。さらにはこのような状態が継続することにより、記録ヘッドに対して不要なストレスが与えられ、記録ヘッドにおける不具合の原因となることがある。記録ヘッドへの転送データにエラーが生じた場合のこのような問題点は、インクジェット記録装置だけでなく、他の記録装置においても起こり得るものである。
【０００６】
本発明の目的は、上述したような課題を解決し、記録ヘッドへの転送データにエラーが発生した場合であっても、そのエラーに起因して記録ヘッドに不具合が生じることを回避することができる記録装置と、その制御方法とを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の記録装置は、複数の記録素子を有する記録ヘッドを備え、複数の記録素子を駆動して記録データに基づく記録を記録媒体に行なう記録装置であって、伝送路を介して記録ヘッドに対して接続され、記録データと記録ヘッドを制御するための制御データとの各々をコマンド形式に変換して転送データとして記録ヘッドに送信するコントローラと、記録ヘッドに設けられて記録ヘッドで受信した転送データにおける誤りを検出し、誤りを検出したことを示す信号をコントローラに送信する誤り検出手段と、を備え、コントローラは、誤りを検出したことを示す信号を受信したときに、制御データに関するコマンドのうち誤りが発生した転送データに含まれていたコマンドであってかつ当該次の転送データには含まれない予定のコマンドが当該次の転送データに含まれるように、当該次の転送データを再構成して送信することを特徴とする。
【０００８】
本発明の制御方法は、複数の記録素子を有する記録ヘッドを備え、複数の記録素子を駆動して記録データに基づく記録を記録媒体に行なう記録装置の制御方法であって、記録データと記録ヘッドを制御するための制御データとの各々をコマンド形式に変換して転送データとして伝送路を介して記録ヘッドに送信する送信工程と、記録ヘッドにおいて、受信した転送データにおける誤りを検出する工程と、を有し、誤りを検出したのちの送信工程において、制御データに関するコマンドのうち誤りが発生した転送データに含まれていたコマンドであってかつ次の転送データには含まれない予定のコマンドが当該次の転送データに含まれるように、当該次の転送データを再構成して送信することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、記録ヘッドへの転送データにエラーが発生した結果、古いデータあるいは誤ったデータが記録ヘッドに格納された場合であっても、次の転送データによりそのデータが更新されるので、転送データでのエラーに起因して記録ヘッドに不具合が生じることを回避することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の一形態の記録装置であるインクジェット記録装置の構成を示すブロック図である。
【図２】インクジェット記録装置の記録部の概略構成を示す斜視図である。
【図３】記憶部における記録データの格納フォーマットを示す図である。
【図４】読み出し許可信号を示すタイミング図である。
【図５】転送許可信号を示すタイミング図である。
【図６】記録ヘッドに転送されるデータの構成の一例を示す図である。
【図７】転送データの各コマンドのフォーマットを示す図である。
【図８】駆動信号とパラメータＰＴ０〜ＰＴ３との関係を示すタイミング図である。
【図９】転送データの内のＣＲＣ検査の対象となる範囲を示す図である。
【図１０】記録ヘッドのデータ受信部の構成を示すブロック図である。
【図１１】記録ヘッドへの転送データの変更例を示す図である。
【図１２】転送するデータの優先順位を示す図である。
【図１３】エラー発生時に転送されるコマンドの一例を示す図である。
【図１４】転送されるコマンドを変更する処理を示すフローチャートである。
【図１５】ＣＲＣ検査の対象となる範囲の別の例を示す図である。
【発明を実施するための形態】
【００１１】
次に、本発明の実施の形態について、図面を参照して説明する。以下の説明では、本発明に基づく記録装置が、インクを吐出することにより記録データに基づく記録を記録媒体に行なうインクジェット記録装置である場合を説明する。しかしながら本発明が適用される記録装置は、インクジェット記録装置に限定されるものではなく、記録ヘッドを備えて紙などの記録媒体に画像などを記録する装置であれば、どのような形式のものであってもよい。図１は、本発明の実施の一形態の記録装置であるインクジェット記録装置の全体的な回路構成を示しており、図２は、インクジェット記録装置の記録部の概略構成を示している。
【００１２】
図２に示すように、インクジェット記録装置は、例えば連続紙の形態で供給される記録媒体２０９に対して画像などの記録を行うものである。記録媒体２０９は、一対の給紙ローラ２０７，２０８によって挟持されて給紙されるとともに、紙送りローラ２０５と補助ローラ２０６によって挟持されており、紙送りローラ２０５を図示矢印方向に回転させることにより、図示ｙ方向に搬送される。記録媒体２０９の表面の上方には、記録媒体２０９の表面に対して平行かつ図示ｘ方向に延びるガイド軸２１０が設けられている。ガイド軸２１０にはキャリッジ２０３が摺動自在に係合しており、キャリッジ２０３はガイド軸２１０に沿って移動することができる。またガイド軸２１０に平行かつキャリッジ２０３に対向するように、エンコーダスケール２０４が設けられている。エンコーダスケール２０３には、２５．４ｍｍあたり１５０本の密度でスリットが設けられている。エンコーダセンサ（不図示）が発光した光をこのエンコーダスケール２０４に照射して、キャリッジ２０３においてその透過光を検出する。キャリッジ２０３は、その走査位置すなわちｘ方向での位置に応じ、エンコーダスケール２０４からの透過光に基づいたＡ相及びＢ相の信号を出力する。ここでＢ相信号はＡ相信号より９０度遅れた位相関係にある。Ａ相及びＢ相の信号をカウントすることによって、キャリッジ２０３の正確な走査位置を知ることができる。
【００１３】
キャリッジ２０３は、記録ヘッドをカートリッジ形態のものとしたヘッドカートリッジ２０２と、インクカートリッジ２０１とがそれぞれ着脱自在に装着されるものである。インクカートリッジ２０１は、ブラック（Ｂｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）の４色のインクを個別に貯留するものであり、それぞれ色のインクの貯留室が一体に形成されたものである。ヘッドカートリッジ２０２には、インクカートリッジ２０１に貯留される４色のインクに対応して１色あたり２列の記録素子列、計８列の記録素子列が設けられている。ヘッドカートリッジ２０２は、これら８列の記録素子列が単一のユニットを形成するように構成されている。各記録素子列は、図示ｙ方向に１列に配置した例えば３８４個の吐出口を備えており、吐出口ごとに、対応する吐出口からインクを吐出するためのエネルギーを発生する記録素子が設けられている。１本の記録素子列に設けられる吐出口の数は３８４に限定されるものではなく、適宜に増減することができる。記録素子列の吐出口から、後述する記録データに応じてそれぞれの色のインクが吐出され、これにより記録媒体２０９に画像や文字などの記録がなされることになる。
【００１４】
図２に示すような記録部を有するインクジェット記録装置の回路構成が図１に示されている。インクジェット記録装置の本体部では、内部バス１５０に対し、記憶部１０１とデータ読み出し部１０４とＣＰＵ（中央処理装置）１０７が接続し、さらに、許可信号生成部１０２と転送データ生成部１０５とが設けられている。記憶部１０１は、記録ヘッド５００から吐出されるインクの各色ごとの２列の記録素子列に対応した記録データを格納するものである。記録データのフォーマットについては後述する。許可信号生成部１０２は、上述したエンコーダセンサから入力されるＡ相及びＢ相の信号からキャリッジ２０３の走査位置を特定する。そして許可信号生成部１０３は、特定した走査位置に応じて、データ読み出し部１０３及び転送データ生成部１０５に対し、それぞれ読み出し許可信号１０４及び転送許可信号１０６を出力する。データ読み出し部１０４は、許可信号生成部１０３からの読み出し許可信号１０４を読み出しのためのタイミング信号として使用して、記憶部１０１から記録データの読み出しを行い転送データ生成部１０５に送信する。許可信号生成部１０２、データ読み出し部１０４及び転送データ生成部１０５によって、記録データと記録ヘッド５００を制御するための制御データとの各々をコマンド形式に変換して転送データとして記録ヘッド５００に送信するコントローラが構成されている。
【００１５】
転送データ生成部１０５は、記録ヘッド５００を駆動するために、下記の４つのデータ及び信号をコマンド形式のデータフォーマットに変換する：
（１）  データ読み出し部１０４から受信した記録データ；
（２）  インクの吐出のために記録素子に印加される駆動信号の波形等を規定する制御データ；
（３）  記録ヘッド５００の吐出口内に配置されてインクを加熱する加熱素子（以下、サブヒータと称する）をオン／オフするための制御データ；
（４）  記録ヘッド５００に送信されるデータのＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）データ。
【００１６】
転送データ生成部１０５は、許可信号生成部１０２からの転送許可信号１０６をタイミング信号として用いて、コマンド形式に変換されたデータを転送データとして記録ヘッド５００に転送する。このとき、データ読み出し部１０４から記録データを受信してから転送許可信号１０６を受信するまでの間は、転送データ生成部１０５は、その内部に設けられているバッファ（不図示）に、コマンド形式に変換された転送データを一時的に格納する。転送データ生成部１０５は、さらに、記録ヘッド５００からＣＲＣエラー信号を受信する。ＣＲＣエラーが発生したときの処理については後述する。ＣＰＵ１０７は、本実施形態で示すインクジェット記録装置の全体の動作の制御を行なうものであるが、特に、許可信号生成部１０２、データ読み出し部１０４及び転送データ生成部１０５に対して各種の設定を行なう機能を有する。
【００１７】
図３は、記憶部１０１における記録データの格納フォーマットの一例を示している。ここでは、記録データに基づいてインクを吐出して記録が行なわれる紙などの記録媒体上のイメージとして、ある色についての１つの記録素子列に関する記録データの格納フォーマットを表している。ここで主走査方向は、キャリッジ２０３によって記録ヘッドが往復移動する方向、すなわち図２でのｘ方向である。副走査方向は、記録媒体２０９の搬送方向、すなわち図２でのｙ方向であり、記録素子列を構成する複数の吐出口は副走査方向に配置している。この格納フォーマットでは、記録媒体の左上部分に記録される記録データは、アドレスｓａｄに、ビットＤ０からビットＤ１５までからなる１６ビットのデータとして格納されており、副走査方向に対しては、連続したアドレスで格納されている。なおｓａｄは、記憶部１０１でのアドレスを示す任意の変数である。一番左側からｎ列分隣の記録データはｓａｄからｎ＊ｏｆｆｓｅｔ（ｏｆｆｓｅｔは任意の変数）だけ離れた領域に格納されている。他の記録素子列についても、それぞれ異なる領域に同一のフォーマットで格納されている。
【００１８】
図４は、読み出し許可信号１０３の詳細を示している。読み出し許可信号１０３は、読み出し許可フラグと読み出しトリガとから構成され、このフラグとトリガとのペアが記録素子列ごとに用意される。読み出しトリガは、実際の読み出しタイミングを規定するパルス信号である。ここで示す例では、読み出し許可フラグ及び読み出しトリガは、いずれも、‘Ｈ’及び‘Ｌ’の２値のレベルのいずかを取る信号であって、‘Ｈ’のレベルのときに有効状態を示すものである。許可信号生成部１０２は、上述のエンコーダセンサから入力される信号に基づいてキャリッジ２０３が所定の走査位置に到達したと判断すると、読み出し許可フラグを、有効状態を示す‘Ｈ’のレベルに遷移させる。許可信号生成部１０２はまた、記憶部１０１に格納された記録データの１列を記録媒体に記録する周期で、読み出しトリガを有効状態を示す‘Ｈ’のレベルに遷移させる。
【００１９】
読み出し許可フラグが‘Ｈ’レベルの時に読み出しトリガの出力が‘Ｈ’レベルになると、データ読み出し部１０４は、記憶部１０１の中から１列分の記録データの１列分の読み出しを行ない、読み出した記録データを転送データ生成部１０５へ送信する。この読み出しの詳細は後述する。記録データを受信した転送データ生成部１０５は、駆動信号の波形を規定する制御データなどともに記録データをコマンド形式のデータフォーマットに変換したのち、内部のバッファへ格納する。読み出しトリガの出力が再び‘Ｈ’レベルになると、上記の処理が、前回読み出した１列隣の記録データに対して同様に行なわれる。
【００２０】
本実施形態において、１回の読み出し処理で読み出される１列分の記録データは、具体的には、記憶部１０１において所定の列の記録データが格納されている領域のうち、記録素子列の吐出口の数に応じた範囲のものとなる。例えば記録素子列１つあたりの吐出口の数が３８４であり、記録媒体の左上の位置から記録を行なう場合を考える。最初に読み出し許可フラグが‘Ｈ’である時に読み出しトリガの出力が‘Ｈ’になると、データ読み出し部１０４は、記憶部１０１のアドレスｓａｄからｓａｄ＋０ｘ２Ｅまでの領域から合計３８４ビットの記録データを連続して読み出す。読み出しトリガの出力が再度‘Ｈ’レベルになると、データ読み出し部１０４は、同様に記憶部１０１の、先程の隣の列にあたるアドレスｓａｄ＋ｏｆｆｓｅｔからｓａｄ＋ｏｆｆｓｅｔ＋０ｘ３０までの領域を連続して読み出す。その後、読み出しトリガの出力が‘Ｈ’レベルになるたびに、データ読み出し部１０４は、アドレスをｏｆｆｓｅｔだけ加算した領域の記録データを記憶部１０１から順次読み出していく。図４に示した例では、読み出し許可フラグが‘Ｈ’レベルである間に読み出しトリガが２４回‘Ｈ’レベルとなっているので、２４列分の記録データの読み出しが行なわれたことになる。読み出し許可フラグが‘Ｈ’レベルである間に読み出しトリガを何回‘Ｈ’レベルとするかの設定は、ＣＰＵ１０７によって許可信号生成部１０２に対して行なわれる。
【００２１】
図５は、転送許可信号１０６の詳細を示している。転送許可信号１０６は、記録素子列ごとに設定されるものであって、転送許可フラグと転送トリガとから構成されている。読み出し許可信号１０３の場合と同様に、許可信号生成部１０２は、キャリッジの走査位置に基づいて転送許可フラグと転送トリガとを出力する。転送許可フラグが有効状態を示す‘Ｈ’レベルのときに転送トリガの出力が有効状態を示す‘Ｈ’レベルになると、転送データ生成部１０５は、その内部のバッファからコマンド形式である所定のデータを読み出し、転送データとして記録ヘッド５００へ送信する。
【００２２】
図５は、図４と同様に、２４列分の記録データを記録ヘッド５００へ転送するときの波形を示している。図５では転送許可フラグが‘Ｈ’である間に、パルス信号である転送トリガが３８４回‘Ｈ’レベルとなっている。これは、記録ヘッド５００の各記録素子列において、１列の記録データを１６時分割して記録を行なっているためである。全ての吐出口から同時にインクを吐出することが可能な電源をインクジェット記録装置が備えることは、装置のコストアップや、大電流が流れることによるノイズ発生の面から好ましくないために、ここでは時分割記録を行なっている。１列の記録データを１６時分割して記録を行なう詳細な方法は、以下に示すものとなる。各記録素子列を構成する複数の記録素子をそれぞれが２４素子からなる１６のグループ（本例では３８４素子÷１６時分割＝２４素子）に分割し、各グループに含まれる記録素子をそれぞれ０から１５までの計１６のブロックに割り当てる。そして、１列のデータを印字する時間を１６時分割したそれぞれのタイミングにおいて、各ブロックの記録素子を順次駆動し、記録データに応じて最終的には全て記録素子が駆動されるようにする。
【００２３】
図６は転送データ生成部１０５によって生成されて記録ヘッド５００へ送信される転送データの一例を示している。転送データに含ませることができる各コマンドは、図７に示すようなフォーマットとなっており、１バイト長から５バイト長のものである。図６において先頭に「◎」を付したデータは、コマンドの１バイト目となるデータである。各コマンドは、その１バイト目のデータによって、どのコマンドであるかが識別される。スタートコマンドだけは１バイトで構成されているので２バイト目移行は存在しないが、その他のコマンドについては、その２バイト目以降にそのコマンドに付随するデータが格納される。図６に示す転送データでは、転送の開始を示すためにスタートコマンドが先頭に配置され、引き続いて各記録素子列の記録データ、記録ヘッド５００の駆動タイミング信号、サブヒータの制御信号を順に転送したのち、ＣＲＣデータを転送している。これらのデータの全てはコマンド形式であって、転送トリガ（図５）が‘Ｈ’レベルとなってから次に‘Ｈ’レベルとなるまでの間に転送される必要がある。
【００２４】
以下、各コマンドのデータの内容について、図７に基づいて説明する。図７において「ｘ」で示すビットは、ドントケア(don't care)ビット、すなわち‘０’でも‘１’でもよいビットを示している。本実施形態では記録素子列が８列存在するので、記録データコマンドの１バイト目としても、記録素子列の選択のために８種類のコマンドが用意されている。例えば、ブラック（Ｂｋ）のインクに対応する２列の記録素子列の選択のために、「記録データＢｋ０」と「記録データＢｋ１」が用意されている。他のシアン（Ｃ）、マゼンタ（Ｍ）及びイエロー（Ｙ）の各色ごとに２列設けられる記録素子列についても同様にコマンドが用意されている。記録ヘッド５００に設けられる記録素子列の数がさらに多い場合には、各々が排他となるように追加の記録データコマンドを設定する。２バイト目では、１６ブロックのいずれのブロックのデータを転送するかを示している。記録データコマンドの２バイト目は、図６において、「データ長／BLK Num」と記載されている。記録データコマンドの３〜５バイト目は、記録データ本体であって、２バイト目で指定されたブロックに属する２４素子について、それぞれ‘０’か‘１’かによって、記録（すなわちインク吐出）を行なう／行なわないを示している。
【００２５】
ＨＥタイミングコマンドでは、記録ヘッド５００の駆動タイミング信号を転送するためのコマンドである。駆動タイミング信号は、記録ヘッド５００内で各記録素子を駆動する際の駆動信号（ＨＥ）の波形やタイミングを規定するものである。例えば記録素子として発熱素子が使用される場合、駆動信号（ＨＥ）は、それが‘Ｌ’レベルのときにその発熱素子に電圧が印加されるようにする信号であり、発熱素子に直列に設けられるトランジスタのエミッタあるはゲートに印加される信号である。ここに示す例では、図８に示すように駆動信号（ＨＥ）の変化点が規定され、パラメータＰＴ０〜ＰＴ３により、タイミング起点から各変化点までの時間を設定する。ＨＥタイミングコマンドの１バイト目ではパラメータＰＴ０〜ＰＴ３のいずれかが選択され、２バイト目は、選択したパラメータについてのタイミングデータを示している。タイミングデータは、図８のタイミング起点から対応する変化点までのサイクル数によって表される。サブヒータコマンドは、サブヒータのオン／オフを制御するための信号を転送するコマンドである。２バイト目の最下位ビットＤ０が‘０’か‘１’かにより、サブヒータのオン／オフが制御される。記録ヘッド５００が複数チャネルのサブヒータを備えている場合には、各チャネルのオン／オフの制御のために、サブヒータコマンドの２バイト目のＤ７〜Ｄ１のいずれかのビットをチャネルごとに割り当ててそのチャネルのサブヒータの制御を行なう。ＣＲＣコマンドでは、ＣＲＣ計算によって得られたデータを２バイト目のＣＲＣ検出データとして格納する。本実施形態では、図９に示すように、スタートコマンドの次のコマンドからＣＲＣコマンドの１バイト目までをＣＲＣ検査対象の範囲とする。ＣＲＣコマンドは、その性質上、一連のコマンドの最後に転送される。
【００２６】
図１０は、記録ヘッド５００において転送データ生成部１０５からの転送データの受信を行うデータ受信部の構成を示している。インクジェット記録装置の本体側の転送データ生成部１０５と記録ヘッド５００のデータ受信部とは、例えばシリアルバスなどである伝送路を介して接続している。転送データは、クロック信号ＣＬＫに同期したデータ信号ＤＡＴＡの形態で伝送される。データ受信部は、コマンドデコーダ５０１とヒータ選択駆動部５０２とサブヒータ駆動部５０３とＣＲＣ検出部５０４とによって構成されている。コマンドデコーダ５０１は、クロック信号ＣＬＫと転送データの実体であるデータ信号ＤＡＴＡとを受信し、各コマンドの１バイト目のデータをデコードして、受信したコマンドがいずれのコマンドであるかを識別する。コマンドデコーダ５０１は、コマンドを識別すると、識別されたコマンド種類に応じ、ヒータ選択駆動部５０２、サブヒータ駆動部５０３及びＣＲＣ検出部５０４のいずれかに、識別したコマンドの２〜５バイト目のデータを転送する。クロック信号ＣＬＫは、同期のために、ヒータ選択駆動部５０２、サブヒータ駆動部５０３及びＣＲＣ検出部５０４にも供給されている。
【００２７】
ヒータ選択駆動部５０２は、コマンドデコーダ５０１から転送されてきたデータのうち記録データに基づいて駆動すべき記録素子を選択し、選択した記録素子に対応する吐出口からインクを吐出するために、駆動信号（ＨＥ）に基づいてその記録素子を駆動する。また、ＨＥタイミングコマンドに含まれるパラメータＰＴ０〜ＰＴ３のデータが転送された場合には、ヒータ選択駆動部５０２は、駆動信号（ＨＥ）の波形を変化させる制御を行なう。サブヒータ駆動部５０３は、サブヒータコマンドの２バイト目のデータに基づいて、サブヒータをオンあるいはオフする制御を行なう。ＣＲＣ検出部５０５は、誤り検出手段であって、このデータ受信部が受信したデータについてＣＲＣ演算を行ない、転送データに含まれているＣＲＣ検出データと一致するかを判定する。実際に受信したデータから算出されたＣＲＣ検出データと転送データに含まれていたＣＲＣ検出データとが一致しないときは、ＣＲＣ検出部５０４は、伝送エラー発生を示すＣＲＣエラー信号を出力する。ＣＲＣエラー信号は、転送データ生成部１０５、ヒータ選択駆動部５０２及びサブヒータ駆動部５０３に送られる。一例においてヒータ選択駆動部５０２及びサブヒータ駆動部５０３は、ＣＲＣエラー信号を受信すると、記録ヘッド５００で受信したデータに誤りがあると判断し、それぞれインクを吐出制御するための駆動信号とサブヒータを駆動する信号を非駆動状態とする。この非駆動状態は、正常な、すなわち誤りを含まない転送データを受信するまで継続する。非駆動状態が継続することにより、最終的には記録媒体への記録が停止することになる。
【００２８】
上述した図６は、記録ヘッド５００に転送されるデータの一例を示している。しかしながら、ここで高速記録を行なう場合を考えると、図５に示す転送トリガでのパルス間の間隔、すなわちトリガにおけるパルスと次のパルスとの時間間隔が短くなる。そのため、図６に示すような長さの転送データを記録ヘッド５００に送信することが難しくなり、転送データに含めることができるコマンドの数が制限されるようになる。転送データに含まれるコマンドのうち、スタートコマンド及び記録データコマンドを省略することはできない。ＣＲＣコマンドもエラー検出のために省略することが難しい。これに対し、ＨＥタイミングコマンドに含まれるデータのうち、ＰＴ０及びＰＴ３は、実際に記録を行なっているときに変更する必要はないものである。また、ＰＴ１及びＰＴ２についても、記録ヘッド５００の温度や、同時に駆動される記録素子の数などに応じて加減されることがあるものの、必ずしもデータ転送を行なうごとに毎回送信しなければならないものではない。すなわち、データ転送ごとに一連のＨＥタイミングデータの全てを送信する必要はない。サブヒータはインクの温度の制御のためにオン／オフされるが、インクの温度はそれほど急激には変化しないので、同様の理由により、サブヒータコマンドをデータ転送ごとに毎回送信する必要はない。
【００２９】
したがって図７に示したコマンド群は、毎回必ず送信するコマンド（スタートコマンド、記録データコマンド及びＣＲＣコマンド）と、必ずしも毎回送信するわけではないコマンド（ＨＥタイミングコマンド及びサブヒータコマンド）とに分類することができる。そこで本実施形態では、転送トリガ（図５）の間隔が短い場合には、この間隔に合わせ、図１１に示すように、必ずしも毎回送信するわけではないコマンドの中からその時点で更新する必要のあるコマンドの１つのみを選択し、転送データの長さを短くする。その結果、図１１に示す転送データは図６に示す転送データよりも８バイト（６４ビット）短くなっており、転送トリガ（図５）の２つのパルスの期間（‘Ｈ’レベルと次の‘Ｈ’レベルの期間）の長さに転送データが収めることが容易になる。なお、ＨＥタイミングコマンドとサブヒータコマンドを同じタイミングで転送する必要がある場合が発生する。このような場合には、図１２の表に示す優先順位でもって転送されるコマンドを決定し、優先順位が低い方のコマンドについては、次のデータ転送時に転送するよう制御する。
【００３０】
本実施形態では、必ずしも毎回送信する必要がないコマンドについては、更新する必要が生じたときだけ転送データに含めて記録ヘッド５００に送信している。この場合、伝送エラーによりコマンドが記録ヘッド５００において正しく受信されないことがある。正しく受信されたか否かはＣＲＣ検査によって判明するが、正しく受信されなかった場合には、記録ヘッド５００は、それ以前に正しく受信されたコマンドによって設定された状態のままとなる。エラーが発生した場合、ＣＲＣエラーの信号を受信した転送データ生成部１０５が、エラーが発生した転送データをそのまま再送信するという構成も考えられる。その一方で、記録データに誤りがある可能性があることを無視できるものとして、転送データ生成部１０５が次の転送データを送信するという構成もある。エラーがあっても転送データ生成部１０５が次の転送データを送信する構成では、例えば、ＨＥタイミングデータに関しては、本来更新されるべきであるにもかかわらず、記録ヘッド５００側においては更新されないままとなるという事態が発生する。ＨＥタイミングコマンドで規定される駆動信号（ＨＥ）の波形が更新されないままだと、記録素子が不適な駆動信号により駆動されることとなって、記録ヘッド５００にストレスが加わる。これが長期化すれば、記録ヘッド５００での不具合の発生につながる。
【００３１】
そこでここでは、エラー発生時に記録データコマンドの再送を行なわない場合であっても、記録データコマンド以外のコマンドであって次の転送データには含まれない予定のコマンドについては、転送データに再度含まれるよう転送データを再構成し送信する。このような転送データの再構成の処理は、転送データ生成部１０５が実行する。図１３は、ＣＲＣエラーを示す信号が記録ヘッド５００から転送データ生成部１０５に送信された場合の、転送データ生成部１０５が生成する転送コマンドについて示している。ＨＥタイミングコマンドのうちＰＴ１に関するものは、通常時には、毎回転送する必要はないが、図１３（ａ）に示すように、ｎ回目の転送データで記録ヘッド５００に送られたものとする。ｎ回目の転送データについて記録ヘッド５００側でエラーが検出されなかった場合には、図１３（ｂ）に示すように、転送データ生成部１０５は、次のｎ＋１回目の転送データにサブヒータコマンドを含める。一方、ｎ回目の転送データに関してＣＲＣエラー信号を受信した場合、転送データ生成部１０５は、ｎ＋１回目の転送データにおいて、図１３（ｃ）に示すように、図１２に示す優先順位に基づき、サブヒータコマンドの代わりにＰＴ１に関するコマンドを含める。ここで転送データに含められなかったサブヒータコマンドは、ｎ＋２回目のデータ転送において記録ヘッド５００に送られる。このようにＣＲＣエラーを検出したときにＰＴ１に関するコマンドを再送することにより、パラメータＰＴ１の更新機会が損なわれないこととなって、記録ヘッド５００に不要なストレスを与えることが防がれる。
【００３２】
ここで示した処理においてＣＲＣエラーが連続して発生した場合、転送データ生成部１０５は、データ転送が成功するまでＰＴ１についてのコマンドを再送し続けることになる。しかしながら３回以上連続してＣＲＣエラー信号を受信した場合には、転送データ生成部１０５は、シリアルバスなどの伝送路に定常的な問題があると判断し、データ転送を中止してその旨をＣＰＵ１０７に通知する。その結果、インクジェット記録装置は、最終的には記録動作自体を停止する。
【００３３】
図１４は、ｎ回目のデータ転送を例に挙げて、図１３を用いて説明した転送データ生成部１０５の処理をフローチャートとして示したものである。転送データ生成部１０５は、ステップ６０１において、ｎ回目のデータ転送をスタートさせ、ステップ６０２において、ＣＲＣエラーの回数をカウントするための変数ａに０を代入する。次に、ステップ６０３において、ｎ回目のデータ転送においてＣＲＣエラーが発生したか否かを判断する。ここでエラーが発生していない場合には、ステップ６１１に進み、（ｎ＋１）回目のデータ転送を行なって、ｎ回目のデータ転送に関する処理を終了する。一方、ステップ６０３においてＣＲＣエラーが発生していた場合には、ステップ６０４において、ｎ回目のデータ転送に再送対象となるコマンドが含まれていたかどうかを判断する。再送対象となるコマンドは、例えば、各ＨＥタイミングコマンド及びサブヒータコマンドである。ここで再送対象となるコマンドが含まれていなかった場合は、ステップ６１１に進み、（ｎ＋１）回目のデータ転送を行なって、ｎ回目のデータ転送に関する処理を終了する。ステップ６０４において再送対象のコマンドが含まれていた場合には、ステップ６０５に進む。
【００３４】
転送データ生成部１０５は、ステップ６０５において、エラーカウントの変数ａに１を加え、ステップ６０６において、この変数ａが２よりも大きいか否かを判断する。変数ａが２より大きい場合には、伝送路に定常的な問題があると判断し、ステップ６１２に進み、データ転送を停止し、最終的には記録動作自体を停止して、一連の処理を終了する。一方、ステップ６０６においてａが２以下である場合には、転送データ生成部１０５は、ステップ６０７に進み、ｎ回目のデータ転送で転送を行なった再送対象となるコマンドを含めて（ｎ＋ａ）回目のデータ転送をスタートし、ステップ６０８に進む。転送データ生成部１０５は、ステップ６０８において、（ｎ＋ａ）回目のデータ転送においてＣＲＣエラーが発生したか否かを判断し、ここでＣＲＣエラーが発生していた場合はステップ６０５に戻ってステップ６０５移行の処理を繰り返す。ステップ６０８においてＣＲＣエラーが発生していなかった場合は、ステップ６０９に進む。転送データ生成部１０５は、ステップ６０９において、本来（ｎ＋１）回目のデータ転送時に送信する予定になっていた再送対象コマンドを含めて、（ｎ＋ａ＋１）回目のデータ転送をスタートし、ステップ６１０に進む。ステップ６１０において転送データ生成部１０５は、変数ａに０を代入し、ｎ回目のデータ転送に関する処理を終了する。
【００３５】
図１４に示すフローチャートは、転送データについてのｎ回目の転送に関するものであるが、ｎ＋１回目、ｎ＋２回目、…などの転送も同様に行なわれる。例えば、図１４のステップ６１１の（ｎ＋１）回目のデータ転送スタートは、（ｎ＋１）回目のデータ転送に関して同様の処理を実行する場合のステップ６０１に相当する処理であり、（ｎ＋１）回目のデータ転送では、その後、ステップ６０２以降が実行される。
【００３６】
（その他の実施形態）
上述した実施形態では、スタートコマンドの次のコマンドからＣＲＣコマンドの１バイト目までをＣＲＣ適用データ範囲としていたが、記録データが誤っていても記録ヘッドには不要なストレスを与えるまでには至らないとも考えることもできる。そのように考える場合には、ＣＲＣ検出部５０４において、記録データコマンドについての誤りとそれ以外のコマンドについての誤りを区別して検出することができる。具体的には、図１５に示すように、ＨＥタイミングコマンドとサブヒータコマンドとＣＲＣコマンドの１バイト目とのみをＣＲＣ適用データ範囲とすることも可能である。図１５に示すようにＣＲＣ適用データ範囲を設定した場合には、記録ヘッド５００にストレスを与える可能性がない場合におけるコマンドの再送をなくすことができる。このときは、記録データコマンドに誤りがあってもそれは検出されないのでそのまま転送データの送信は続行し、インクジェット記録装置の記録動作も継続する。記録データコマンド以外のコマンドでのエラーが検出された場合には、例えば、正常な転送データを受信するまで、駆動信号とサブヒータを駆動する信号とを非駆動状態とする。さらにこの場合、サブヒートコマンドのデータに誤りがあってＣＲＣエラーが発生したとしても、即座には記録ヘッドの不具合までには至らないと考えることができる。そこで、制御データに関するコマンドであってもサブヒートコマンドでのデータエラーの場合には、駆動信号もサブヒータを駆動する信号も非駆動状態にしないようにする選択が可能な構成としてもよい。この選択は、例えば、ユーザからの入力により、事前にＣＰＵ１０７によって転送データ生成部１０５に設定される。
【符号の説明】
【００３７】
１０５    転送データ生成部
５００    記録ヘッド
５０１    コマンドデコーダ
５０２    ＣＲＣ検出部
【図１】
2019064174.tif 000003
【図２】
2019064174.tif 000004
【図３】
2019064174.tif 000005
【図４】
2019064174.tif 000006
【図５】
2019064174.tif 000007
【図６】
2019064174.tif 000008
【図７】
2019064174.tif 000009
【図８】
2019064174.tif 000010
【図９】
2019064174.tif 000011
【図１０】
2019064174.tif 000012
【図１１】
2019064174.tif 000013
【図１２】
2019064174.tif 000014
【図１３】
2019064174.tif 000015
【図１４】
2019064174.tif 000016
【図１５】
2019064174.tif 000017