(57)【要約】【課題】処理時間を短縮することが可能なプリント装置を提供すること。【解決手段】本発明は、プリント用紙に印刷データを印刷する印刷部（３０）と、印刷データのうち１ライン分のデータをそれぞれ保持することのできる第１記憶部（１２）および第２記憶部（１４）と、第２記憶部の１ライン分のデータの少なくとも一部を印刷部に印刷させる間に、印刷データのうち次の１ライン分のデータを第１記憶部に保持させる制御部（２０）と、を具備するプリント装置である。【選択図】図２
2008030253.tif 000002
【特許請求の範囲】
【請求項１】
プリント用紙に印刷データを印刷する印刷部と、
前記印刷データのうち１ライン分のデータをそれぞれ保持することのできる第１記憶部および第２記憶部と、
前記第２記憶部の１ライン分のデータの少なくとも一部を印刷部に印刷させる間に、前記印刷データのうち次の１ライン分のデータを前記第１記憶部に保持させる制御部と、を具備することを特徴とするプリント装置。
【請求項２】
前記制御部は、前記印刷データのうち１ライン分のデータを前記第１記憶部に保持させ、前記第１記憶部の前記１ライン分のデータを最初の分割データに分割し前記印刷部に印刷させ、前記第１記憶部の残りのデータを前記第２記憶部に転送し、前記第２記憶部の前記残りのデータを分割データに分割し前記印刷部に印刷させることを特徴とするプリント装置。
【請求項３】
前記印刷データは、文字コードデータであり、前記１ライン分のデータは１ライン分のドットデータであり、
前記制御部は、前記文字コードデータを前記ドットデータに変換し前記第１記憶部に保持させることを特徴とする請求項２記載のプリント装置。
【請求項４】
前記制御部は、前記１ライン分のデータおよび前記残りのデータのうち印刷するドット数を加算し、ドット数が所定ドット数以下となるように前記１ライン分のデータおよび前記残りのデータを分割データに分割することを特徴とする請求項３記載のプリント装置。
【請求項５】
前記ドット数の加算は所定ドット長毎に行うことを特徴とする請求項４記載のプリント装置。
【請求項６】
前記所定ドット数は設定可能であることを特徴とする請求項４記載のプリント装置。
【請求項７】
前記印刷部は、１ライン分のデータを保持し印刷するドットに対応する印刷記憶部を有し、
前記制御部は、前記分割データを印刷するために前記印刷記憶部に前記分割データを保持させ、前記分割データ以外には前記印刷部が対応する前記ドットを印刷しないデータを保持させることを特徴とする請求項２記載のプリント装置。
【請求項８】
前記印刷データを印刷するプリント用紙を駆動させる駆動部を具備し、
前記制御部は、前記１行分のデータを前記分割データに分割する数を演算し、前記分割する数に応じ、前記駆動部が前記プリント用紙を駆動するタイミングを決定することを特徴とする請求項２記載のプリント装置。
【請求項９】
前記印刷データを印刷するための発熱体を具備し、
前記制御部は、前記駆動部の駆動するタイミングと前記発熱体を発熱させるタイミングとを合わせることを特徴とする請求項８記載のプリント装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリント装置に関し、特に１ライン分のデータを保持する２つの記憶部を有するプリント装置に関する。
【背景技術】
【０００２】
従来のプリンタ（プリント装置）について図１を参照に説明する。図１のプリンタは、ＭＣＵ（Micro Controller Unit）２０（制御部）、ＲＡＭ（Random Access Memory）１０、印刷部３０、駆動部４０を有するサーマルプリンタであり、１ラインは５７６ドットで構成されている。プリンタは、ホストＰＣ（Personal Computer）４０に接続されており、ホストＰＣ４０から印刷する文字コードデータが転送されてくる。ＭＣＵ２０は、文字コードデータをパターンデータに変換し、プリントバッファ１１に保持させる。パターンデータは、例えば発色させるドット（印刷するドット）に対応するビットが“１”、非発色のドット（非印刷のドット）に対応するビットが“０”のデータである。ＲＡＭ１０のプリントバッファ１１は１ライン分のパターンデータを保持する。
【０００３】
１ライン分のパターンデータが変換されると、印刷部３０に１ライン分のデータが転送される。印刷部３０は、印刷するドットに対応し１ライン分のデータを保持できるシフトレジスタ３２（印刷記憶部）およびラッチレジスタ３４、４つの発熱体ドライブ３６、４つの発熱体３８を有する。ＭＣＵ２０はプリントバッファ１１の１ライン分のパターンデータをシフトレジスタ３２に転送する。ＭＣＵ２０からのラッチ信号により、シフトレジスタ３２のデータがラッチレジスタ３４に保持される。ＭＣＵ２０からのストローブ信号１により、ラッチレジスタ３４のうちドットＮｏ．１〜１４４に対応するパターンデータに応じ発熱体ドライブ３６が発熱体３８の各ドットを選択的に発熱させる。これにより、ドットＮｏ．１〜１４４がパターンデータに応じ印刷される。同様に、発熱体２〜４のドットＮｏ．１４５〜５７６についても印刷される。このように、印刷部３０はプリント用紙に印刷データを印刷する。駆動部５０は用紙搬送モータを有し、ＭＣＵ２０の指示でプリント用紙を駆動させる。
【０００４】
従来のプリンタにおいては、１度に発熱させるドット数に応じ発熱体３８に流れる電流容量が決まる。例えば図１の例では、発熱体３８毎に発熱させるため、１４４ドットを印刷するのに必要な電流容量が必要である。特許文献１および２には、電流容量を小さくすることを可能とするために、１ラインの画信号を黒ドット（画素）の計数を行って、複数のデータに分割する技術が開示されている。
【特許文献１】特開昭６１−５３８７５号公報
【特許文献２】特開平５−３３０１１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１および２の技術は、１ラインの画信号を黒ドット（画素）の計数を行うため、処理時間がかかるといった課題がある。本発明は、このような課題に鑑みてなされたものであり、処理時間を短縮することが可能なプリント装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、プリント用紙に印刷データを印刷する印刷部と、前記印刷データのうち１ライン分のデータをそれぞれ保持することのできる第１記憶部および第２記憶部と、前記第２記憶部の１ライン分のデータの少なくとも一部を前記印刷部に印刷させる間に、前記印刷データのうち次の１ライン分のデータを前記第１記憶部に保持させる制御部と、を具備することを特徴とするプリント装置である。本発明によれば、第２記憶部の１ライン分のデータの少なくとも一部を印刷している間に、第１記憶部に次のラインのデータを保持させるため、処理に要する時間を短縮することができる。
【０００７】
上記構成において、前記制御部は、前記印刷データのうち１ライン分のデータを前記第１記憶部に保持させ、前記第１記憶部の前記１ライン分のデータを最初の分割データに分割し前記印刷部に印刷させ、前記第１記憶部の残りのデータを前記第２記憶部に転送し、前記第２記憶部の前記残りのデータを分割データに分割し前記印刷部に印刷させる構成とすることができる。この構成によれば、１ライン分のデータを分割データに分割し印刷部が印刷するため、印刷するために必要な電力を削減することができる。
【０００８】
上記構成において、前記印刷データは、文字コードデータであり、前記１ライン分のデータは１ライン分のドットデータであり、前記制御部は、前記文字コードデータを前記ドットデータに変換し前記第１記憶部に保持させる構成とすることができる。文字コードデータからドットデータへの変換には時間を要する。このため、残りのデータの印刷の間に次の１ライン分のデータを変換することにより、処理時間を短縮することができる。
【０００９】
上記構成において、前記制御部は、前記１ライン分のデータおよび前記残りのデータのうち印刷するドット数を加算し、ドット数が所定ドット数以下となるように前記１ライン分のデータおよび前記残りのデータを分割データに分割する構成とすることができる。この構成によれば、分割データを印刷する際の電流容量を所定の電流容量以下に抑えることができる。
【００１０】
上記構成において、前記ドット数の加算は所定ドット長毎に行う構成とすることができる。この構成によれば、１ドットづつ加算するより、処理時間を短縮することができる。
【００１１】
上記構成において、前記所定ドット数は設定可能である構成とすることができる。この構成によれば、電流容量を任意に設定することができる。
【００１２】
上記構成において、前記印刷部は、１ライン分のデータを保持し印刷するドットに対応する印刷記憶部を有し、前記制御部は、前記分割データを印刷するために前記印刷記憶部に前記分割データを保持させ、前記分割データ以外には前記印刷部が対応する前記ドットを印刷しないデータを保持させる構成とすることができる。この構成によれば、印刷を複数の単位で行なっている場合も分割データのみを印刷することができる。
【００１３】
上記構成において、前記印刷データを印刷するプリント用紙を駆動させる駆動部を具備し、前記制御部は、前記１行分のデータを前記分割データに分割する数を演算し、前記分割する数に応じ、前記駆動部が前記プリント用紙を駆動するタイミングを決定する構成とすることができる。この構成によれば、プリント用紙を駆動するタイミングを最適化し、処理時間を短縮させることができる。
【００１４】
上記構成において、前記印刷データを印刷するための発熱体を具備し、前記制御部は、前記駆動部の駆動するタイミングと前記発熱体を発熱させるタイミングとを合わせる構成とすることができる。この構成によれば、プリント用紙の駆動と発熱体の発熱のタイミングを最適化し、処理時間を短縮させることができる。
【発明の効果】
【００１５】
本発明によれば、処理時間を短縮することが可能なプリント装置を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を用い本発明の実施例を説明する。
【実施例１】
【００１７】
図２は実施例１に係るプリント装置のブロック図である。図１に示した従来のプリント装置に対しＲＡＭ１０が、印刷データのうち１ライン分のデータをそれぞれ保持することのできる第１プリントバッファ１２（第１記憶部）および第２プリントバッファ１４（第２記憶部）を有している。その他の構成は図１と同じであり説明を省略する。１行分の文字を印字する際は１ドット毎のライン（１ライン）を複数ライン印刷する。文字コードデータを１ライン分のドットのデータとしたものがパターンデータである。１ライン分のデータは複数の文字に対応する複数のパターンデータを含んでいる。１ライン分のデータを一度に印刷するデータに分割したデータが分割データである。分割データを一度に印刷する際、発熱体３８に同時に通電することができるドット数が同時通電ドット数である。
【００１８】
実施例１の動作について説明する。図３から図６はＭＣＵ２０が行うフローチャートであり、図７（ａ）から図９（ｂ）はプリント装置内の動作を示すブロック図である。図３を参照に、ＭＣＵ２０は、第１プリントバッファ１２へ１ライン分のデータを展開する（ステップＳ１０）。図７（ａ）を参照に、ＭＣＵ２０はホストＰＣ４０から印刷する文字コードデータを受信する。受信した１文字分の文字コードデータを１つのパターンデータＰＤに変換し、第１プリントバッファ１２に展開する。図７（ｂ）を参照に、第１プリントバッファ１２に１ライン分のパターンデータＰＤ１〜ＰＤ６が展開されるまで文字コードデータからパターンデータＰＤへの展開を行う（ステップＳ１０）。なお、実際のパターンデータは１ラインの文字数分あるがここでは６個として図示している。
【００１９】
図３を参照に、後述する図５のフローとの整合をとるため、ＭＣＵ２０は、第２プリントバッファ１４が編集可能となるまで待機する（ステップＳ１２）。ＭＣＵ２０は、図４を用い後述する最初の分割データの処理を行う（ステップＳ１４）。ＭＣＵ２０は、１行の先頭のラインか判断する。Ｎｏの場合、ステップＳ１８、Ｓ２０を行わず、ステップＳ２２に進む。Ｙｅｓの場合、前の行の印字が完了するまで待機する。すなわち、印字ラインカウンタ＝０となるまで待機する（ステップＳ１８）。ＭＣＵ２０は印字ラインカウンタを１行ライン数とする（ステップＳ２０）。図５のフローと整合をとるため、シフトレジスタ３２にラッチ要求をする（ステップＳ２２）。１行分の文字コードデータの展開が完了していれば終了し、展開が完了していなければステップＳ１０に戻る（ステップＳ２４）。
【００２０】
図４を参照に、図３のステップＳ１４の最初の分割データの処理について説明する。ＭＣＵ２０は、分割数カウンタを０とする（ステップＳ７０）。分割当たりの通電ドット数を０とする（ステップＳ７１）。ＭＣＵ２０は、第１プリントバッファ１２からパターンデータＰＤを１バイト分取得する（ステップＳ７２）。図８を参照に、第１プリントバッファ１２の１バイトがＭＣＵ２０に転送される。図４を参照に、ＭＣＵ２０は、取得した１バイトのパターンデータＰＤ内の通電ドット数を算出し、分割当たりの通電ドット数に加算する（ステップＳ７４）。ＭＣＵ２０は、分割当たりの通電ドット数が同時通電ドット数を超えているか判断する（ステップＳ７６）。Ｎｏの場合、ＭＣＵ２０は、最初の分割データＤＤ１か判断する（ステップＳ８４）。最初の分割データＤＤ１の場合、ＭＣＵ２０は、パターンデータＰＤをシフトレジスタ３２の対応する領域へ転送し、非発色データ（ＮＵＬＬ  “０”）を第２プリントバッファ１４の対応する領域に転送する（ステップＳ８６）。図８を参照に、シフトレジスタ３２の最初の領域に最初の分割データＤＤ１のうちの最初の１バイト分のデータが保持される。一方、第２プリントバッファ１４の最初の領域には１バイト分の非発色データ“０”が保持される。
【００２１】
図４を参照に、ステップＳ７６において、同時通電ドット数を超過した場合、ＭＣＵ２０は、分割数カウンタに１を加える（ステップＳ７８）。分割当たりの通電ドット数を超過したドット数とする（ステップＳ８０）。ＭＣＵ２０は最初の分割データか判断する（ステップＳ８２）。最初の分割データの場合、ＭＣＵ２０は、１バイトのデータのうち同時通電ドット数を超過したビットをマスクしてシフトレジスタ３２へ転送し、残りの超過したビットを第２プリントバッファ１４に転送する（ステップＳ９０）。図８を参照に、最初の分割データＤＤ１がシフトレジスタ３２に保持され、第２プリントバッファ１４の対応する領域が非発色データとなる。図４を参照に、ステップＳ８２またはステップＳ８４で最初の分割データＤＤ１でない場合、ＭＣＵ２０は、パターンデータＰＤを対応する第２プリントバッファ１４の領域に転送し、非発色データをシフトレジスタ３２の対応する領域に転送する（ステップＳ８８）。図８を参照に、シフトレジスタ３２では第１分割データＤＤ１以外の領域は非発色データが保持され、第２プリントバッファ１４の最初の分割データＤＤ１に対応する領域以外の領域には、パターンデータＰＤが保持される。図４を参照に、１ライン分の処理が完了していなければステップＳ７１に戻り、完了していれば、最初の分割データの処理を終了する（ステップＳ９２）。このようにして、第１プリントバッファ１２のパターンデータＰＤのうち最初の分割データＤＤ１がシフトレジスタ３２に転送され、シフトレジスタ３２の他の領域は非発色データとなる。一方、最初の分割データＤＤ１以外の残りの第１プリントバッファ１２のデータは第２プリントバッファ１４の対応する領域に転送され、最初の分割データＤＤ１に対応する領域は非発色データとなる。
【００２２】
図５を参照に、ＭＣＵ２０が行う印刷処理について説明する。ＭＣＵ２０は図４のステップＳ７８で計数した分割数カウンタ（１ラインの分割データの数）に応じ各制御のタイミングを設定する（ステップＳ３２）。詳細は図１０（ａ）から図１４（ｈ）を用い後述する。ＭＣＵ２０は、モータ駆動のタイミングであれば（ステップＳ３４）、モータを１ステップ駆動させる（ステップＳ３６）。ＭＣＵ２０はヘッド通電のタイミングであれば（ステップＳ３８）以下を行う。ＭＣＵ２０は発熱体３８の通電時間を算出する（ステップＳ４０）。ＭＣＵ２０は図３のステップＳ２２のラッチ要求があるまで待機する（ステップＳ４２）。シフトレジスタ３２のデータをラッチレジスタ３４に保持する（ステップＳ４４）。ＭＣＵ２０は、第２プリントバッファ１４のパターンデータＰＤが全て転送完了していれば（ステップＳ４６）第２プリントバッファ１４を編集可能に設定する（ステップＳ４８）。これにより、図３のステップＳ１２においてステップＳ１４に進むことができる。ＭＣＵ２０は発熱体３８に通電すべく全てのストローブ信号（ストローブ信号１〜４）を発熱体ドライブ３６に送信する（ステップＳ５０）。シフトレジスタ３２は分割データＤＤ以外は非発色データのため、最初の分割データＤＤ１の領域のみ印刷される。
【００２３】
ＭＣＵ２０はデータ転送タイミングであれば（ステップＳ５２）図６を用い後述する残りのデータの分割処理を行う（ステップＳ５４）。シフトレジスタ３２のデータをラッチレジスタ３４へのラッチ要求を行なう（ステップＳ５６）。１ラインの処理が完了していれば（ステップＳ５８）印字ラインカウンタから１を減算する。印字ラインカウンタが０であれば（ステップＳ６２）、１行の印刷は終了しているため終了する。印字ラインカウンタが０でない場合、ステップＳ３２に戻り、次のラインの処理を行う。
【００２４】
図６を参照に、図５のステップＳ５４の残りの分割データの処理について説明する。ＭＣＵ２０は、分割当たりの通電ドット数を同時通電ドット数とする（ステップＳ１００）。分割当たりの通電ドット数が０か判断する（ステップＳ１０２）。最初は０ではないため、ＭＣＵ２０は、第２プリントバッファ１４からパターンデータＰＤを１バイト取得する（ステップＳ１０４）。取得した１バイトのデータ内の通電ドット数を算出し、分割当たりの通電ドット数から減算する（ステップＳ１０６）。分割当たりの通電ドット数が０より大きいか判断する（ステップＳ１０８）。０より大きければ、１バイト分のパターンデータＰＤをシフトレジスタ３２の対応する領域に転送し、非発色データを第２プリントバッファ１４の対応する領域に転送する（ステップＳ１１４）。ステップＳ１０８においてＮｏの場合、ＭＣＵ２０は、分割当たりの通電ドット数を０とする（ステップＳ１１０）。１ビットのデータのうち同時通電ドットを超過したビットをマスクしてシフトレジスタ３２に転送し、１ビットの残りの超過したビットを第２プリントバッファ１４に転送する（ステップＳ１１６）。
【００２５】
図９を参照に、このようにして、２分割目の分割データＤＤ２がシフトレジスタ３２の対応する領域に保持され、他の領域は非発色データが保持される。ステップＳ１０２において、Ｙｅｓの場合、つまり、次に分割すべき分割データ以降のデータ（図９のように、２分割目の分割データＤＤ２を分割した場合、３分割目の分割データ以降のデータ）の場合、ＭＣＵ２０は、非発色データをシフトレジスタ３２に転送する（ステップＳ１１２）。１ライン分の処理が完了していれば（ステップＳ１１８）、残りのデータの分割処理を終了する。完了していなければ、ステップＳ１０２に戻る。このようにして、分割すべき分割データを分割しシフトレジスタ３２に保持し、次に分割すべき分割データ以降のデータに対応する領域には非発色データを保持させる。第２プリントバッファ１４のデータを分割データに分割する。
【００２６】
図５および図６において、２分割目以降の分割データを分割処理し、印刷している間は、第１プリントバッファ１２を用いていないため、図３および図４において、次の１ラインのパターンデータを第１プリントバッファ１２に展開することができる。
【００２７】
次に、図５のステップＳ３２の分割数に応じた各制御タイミングおよびステップＳ３４からＳ５６の処理の一例を示す。図１０（ａ）から図１１（ｄ）はそれぞれ１ラインを１から８分割したときの分割数に応じた各制御タイミングを示す図である。図１２（ａ）から図１３（ｄ）はそれぞれ１ラインを１から８分割したときの各処理のタイミングチャートである。図１４は１ラインを１から８分割したときの発熱体３８への通電のタイミングをプリント用紙上に示した図である。この例では、発熱体３８に通電されると、用紙搬送モータが４ステップ駆動する間、プリント用紙に印刷される。つまり、用紙搬送モータが４ステップ分で１ドットが印刷される。４ステップのいずれかで発熱体３８に通電されることにより、以降４回ステップする間にドットが形成される。４ステップのいずれで発熱体３８に通電されるかにより、ドットが印刷される用紙搬出方向の位置が若干異なるが、１ステップで動くプリント用紙の量は非常に小さいため、ほとんど同じ位置で印刷したものと視認される。
【００２８】
図１０（ａ）を参照に、分割数カウンタが０、すなわち１ラインの分割数が１の場合、割り込み回数は４回であり、割り込み時間はそれぞれ発熱体３８への通電時間の約１／４である。第２プリントバッファ１４からシフトレジスタ３２へのデータ転送はいずれの割り込みにおいてもされない。発熱体３８への通電のためのストローブ信号は最初の割り込みＮｏ．１において送信される。モータ駆動はそれぞれの割り込みにおいてされる。図１２（ａ）を参照に、データ転送は図３のステップＳ１４において１ライン分のパターンデータＰＤが第１プリントバッファ１２からシフトレジスタ３２に転送される。このため、図４のステップＳ５２においてはいずれの割り込みでもデータ転送は行なわれない。割り込みＮｏ．１において図３ステップＳ２２でラッチ要求がされる。図５のステップＳ３６において、モータが１ステップ駆動される。図５のステップＳ５０においてストローブ信号が送信され通電が開始される。割り込みＮｏ．２から４においては、モータが１ステップずつ駆動される。割り込みＮｏ．４の途中において発熱体３８への通電が終了する。図１４の（ａ）を参照に、１ステップから４ステップのいずれかにおいて、１ラインの印刷すべきドットに対応する発熱体に通電される。
【００２９】
図１０（ｂ）および図１２（ｂ）を参照に、２分割の場合について説明する。割り込み周期は、割り込みＮｏ．１、２は最初の分割データの通電時間１の約１／２であり、割り込みＮｏ．３、４は２回目の分割データの通電時間２の約１／２である。最初の分割データＤＤ１は図３のステップＳ１４において第１プリントバッファ１２からシフトレジスタ３２に転送される。すなわちモータ駆動の前にシフトレジスタ３２に転送される。残りの分割データは、割り込みＮｏ．１、２において１ラインの半分づつ第２プリントバッファ１４からシフトレジスタ３２に転送される。発熱体３８の通電は、割り込みＮｏ．１、２とＮｏ．３、４とに２回に分けて行なわれる。図１４（ｂ）を参照に、１ラインのうち最初の分割データは１ステップまたは２ステップにおいて印刷され、残りの分割データは３ステップまたは４ステップにおいて印刷される。
【００３０】
図１０（ｃ）および図１２（ｃ）を参照に、３分割の場合について説明する。割り込み周期は、割り込みＮｏ．１、２はそれぞれ通電時間１、通電時間２であり、割り込みＮｏ．３、４は通電時間３の約１／２である。２番目、３番目の分割データがそれぞれ割り込みＮｏ．１、２において第２プリントバッファ１４からシフトレジスタ３２に転送される。発熱体３８の通電は、割り込みＮｏ．１と２と３、４との３回に分けて行なわれる。図１４（ｃ）を参照に、１ラインのうち最初の分割データは１ステップ、２番目の分割データは２ステップにおいて印刷され、３番目の分割データは３ステップまたは４ステップにおいて印刷される。
【００３１】
図１０（ｄ）および図１２（ｄ）を参照に、４分割の場合について説明する。割り込み周期は、それぞれ通電時間１から通電時間４である。第２プリントバッファ１４からシフトレジスタ３２へのデータ転送は割り込みＮｏ．１から３においてそれぞれ行なわれる。発熱体３８の通電はそれぞれの割り込みにおいて行なわれる。図１４（ｄ）を参照に、１ラインのうち各分割データは各ステップにおいて印刷される。
【００３２】
図１１（ａ）、図１２（ａ）および図１４（ｅ）を参照に、１ラインを５分割した場合は、１ステップの間に２回割り込みを行い、それぞれ２回通電を行う。図１１（ｂ）、図１２（ｂ）および図１４（ｆ）を参照に、６分割した場合は、１ステップおよび２ステップの間にそれぞれ２回割り込みを行い、それぞれ２回通電を行う。図１１（ｃ）、図１２（ｃ）および図１４（ｇ）を参照に、７分割した場合は、１ステップから３ステップの間にそれぞれ２回割り込みを行い、それぞれ２回通電を行う。図１１（ｄ）、図１２（ｄ）および図１４（ｈ）を参照に、８分割した場合は、１ステップから４ステップの間にそれぞれ２回割り込みを行い、それぞれ２回通電を行う。
【００３３】
実施例１においては、ＭＣＵ２０において、図３と図５のフローが並列して行われている。図５のステップＳ４８において第２プリントバッファ１４の編集可設定が行われるまでは、図３のフローはステップＳ１２で待機する。すなわち、最初の分割データの処理を行わない。第２プリントバッファ１４の編集可能となると、最初の分割データ処理（ステップＳ１４）を行う。すなわち、シフトレジスタ３２に最初の分割データＤＤ１を保持させ、残りのデータを第２プリントバッファ１４に保持させる。ステップＳ２２において、最初の分割データＤＤ１の印刷を指示する。ＭＣＵ２０は図５のフローにおいて、最初のステップのステップＳ４２においてラッチ要求があれば、ステップＳ５０において最初の分割データＤＤ１を印刷する。その後、図３のステップＳ１０における次のラインデータの展開と図５の各ステップが行われる。
【００３４】
このように、ＭＣＵ２０（制御部）は、図５において第２プリントバッファ１４（第２記憶部）の１ライン分のデータの少なくとも一部を印刷部３０に印刷させる間に、図３のステップＳ１０において、印刷データのうち次の１ライン分のデータを展開し第１プリントバッファ１２（第１記憶部）に保持させる。これにより、第２プリントバッファ１４の１ライン分のデータの少なくとも一部を印刷している間に、第１プリントバッファ１２に次のラインのデータを保持させるため、処理に要する時間を短縮することができる。
【００３５】
また、ＭＣＵ２０（制御部）は、図３のステップＳ１０のように、印刷データのうち１ライン分のデータを第１プリントバッファ１２（第１記憶部）に保持させる。図３のステップＳ１４および図４のように、第１プリントバッファ１２の１ライン分のデータを最初の分割データＤＤ１に分割し、ステップＳ２２および図５のステップＳ５０により印刷部３０に印刷させる。一方、図３のステップＳ１４および図４のように、第１プリントバッファ１２の残りのデータを第２プリントバッファ１４（第２記憶部）に転送する。図５のステップＳ５４および図６のように、第２プリントバッファ１４の残りのデータを分割データに分割し、ステップＳ５６およびステップＳ５０のように、残りのデータを印刷部３０に印刷させる。そして、残りのデータを分割し印刷部３０に印刷させる間に、印刷データのうち次の１ライン分のデータを第１プリントバッファ１２に保持させる。これにより、２番目以降の分割データを印刷している間、第１プリントバッファ１２に次のラインのデータを保持させるため、パターンデータの分割に要する時間を短縮し、かつ分割データ単位で印刷するため発熱体３８に通電する電流容量を抑えることができる。
【００３６】
さらに、ＭＣＵ２０に受信される印刷データは、文字コードデータであり、１ライン分のデータは１ライン分のドットデータであり、ＭＣＵ２０は、ステップＳ１０において、文字コードデータをドットデータに変換し第１プリントバッファ１２に保持させることが好ましい。文字コードデータからドットデータへの変換には時間を要するため、２番目以降の分割データの印刷の間に次の１ライン分のデータを変換することにより、処理時間を短縮することが有効である。文字コードデータをドットデータに変換し第１プリントバッファ１２に保持させる場合に限られないが、データの変換の処理に時間を要する場合に本実施例を適用することにより、処理時間の削減効果が大きい。
【００３７】
さらに、ＭＣＵ２０は、図４のように第１プリントバッファ１２の１ライン分のデータおよび図６のように第２プリントバッファ１４の残りのデータのうち印刷するドット数を加算し、ドット数が同時通電ドット数（所定ドット数）以下となるように１ライン分のデータおよび残りのデータを分割データに分割することが好ましい。これにより、分割データを印刷する際の電流容量を所定の電流容量以下に抑えることができる。
【００３８】
さらに、図４のステップＳ７２、図６のステップＳ１０４のように、ドット数の加算は複数のビットである１バイト（所定ドット長）毎に行うことが好ましい。このように、複数のドット毎に加算することにより、１ドットづつ加算するより、処理時間を短縮することができる。なお、実施例１では１バイト（８ドット）毎に加算していたが、任意の複数のドット単位毎に加算することができる。また、印刷時に同時に通電できるドット数である同時通電ドット数（所定ドット数）は、例えばコマンドやスイッチにより設定可能とすることができる。これにより、電流容量を任意に設定することができる。
【００３９】
さらに、図４のステップＳ８６からＳ９０および図６のステップＳ１１２からＳ１１６のように、ＭＣＵ２０は、分割データを印刷するためにシフトレジスタ３２（印刷記憶部）に分割データを保持させ、分割データ以外には非発色データ（つまり、印刷部３０が対応するドットを印刷しないデータ）を保持させることが好ましい。これにより、複数の発熱体３８および発熱体ドライブ３６全体にストローブ信号を加えても分割データのみを印刷することができる。図１に示した従来の例のように発熱体３８および発熱体ドライブ３６毎にストローブ信号を加える場合、印刷するドット数を算出したとしても、発熱体３８毎にしか印刷できないため処理時間が長くなってしまう。実施例１では、分割データのみ印刷が可能なため、発熱体３８に拘らず、同時通電ドット数の印刷が可能となる。
【００４０】
さらに、ＭＣＵ２０は、図４のステップＳ７８のように、１ライン行分のデータを分割データに分割する数を算出する。図１０（ａ）から図１４のように、分割する数に応じ、駆動部５０がプリント用紙を駆動するタイミングを決定することが好ましい。これにより、プリント用紙を駆動するタイミングを最適化し、処理時間を短縮させることができる。
【００４１】
さらに、ＭＣＵ２０は、駆動部５０の駆動するタイミングと発熱体３８を発熱させるため通電するタイミングを合わせる。つまり、図１２（ａ）から図１３（ｄ）のように、駆動部５０を駆動するステップと分割されたデータを印刷するための発熱体３８への通電とを同期させる。これにより、実施例１のように、複数のステップで１ドットを印刷する場合も、発熱体３８の発熱（ストローブ信号の送信）と駆動部５０（用紙搬送モータ）の駆動のタイミングを最適化し、処理時間を短縮させることができる。なお、実施例１はサーマルプリンタの例であったが、他のプリンタに本発明を適用することもできる。
【００４２】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００４３】
【図１】図１従来のプリント装置のブロック図である。
【図２】図２は実施例１に係るプリント装置のブロック図である。
【図３】図３はＭＣＵの制御を示すフローチャート（その１）である。
【図４】図４はＭＣＵの制御を示すフローチャート（その２）である。
【図５】図５はＭＣＵの制御を示すフローチャート（その３）である。
【図６】図６はＭＣＵの制御を示すフローチャート（その４）である。
【図７】図７は実施例１の動作を示すブロック図（その１）である。
【図８】図８は実施例１の動作を示すブロック図（その２）である。
【図９】図９は実施例１の動作を示すブロック図（その３）である。
【図１０】図１０（ａ）から図１０（ｄ）は分割数に応じた各制御タイミングを示す図（その１）である。
【図１１】図１１（ａ）から図１１（ｄ）は分割数に応じた各制御タイミングを示す図（その１）である。
【図１２】図１２（ａ）から図１２（ｄ）は分割数に応じた各処理のタイミングチャート（その１）である。
【図１３】図１３（ａ）から図１３（ｄ）は分割数に応じた各処理のタイミングチャート（その２）である。
【図１４】図１４（ａ）から図１４（ｈ）は１ラインを１から８分割したときの発熱体への通電のタイミングを用紙上に示す図である。
【符号の説明】
【００４４】
１０        ＲＡＭ
１２        第１プリントバッファ
１４        第２プリントバッファ
２０        ＭＣＵ
３０        印刷部
３２        シフトレジスタ
３４        ラッチレジスタ
３６        発熱体ドライブ
３８        発熱体
４０        ホストＰＣ
５０        駆動部
【図１】
2008030253.tif 000003
【図２】
2008030253.tif 000004
【図３】
2008030253.tif 000005
【図４】
2008030253.tif 000006
【図５】
2008030253.tif 000007
【図６】
2008030253.tif 000008
【図７】
2008030253.tif 000009
【図８】
2008030253.tif 000010
【図９】
2008030253.tif 000011
【図１０】
2008030253.tif 000012
【図１１】
2008030253.tif 000013
【図１２】
2008030253.tif 000014
【図１３】
2008030253.tif 000015
【図１４】
2008030253.tif 000016