(57)【要約】【課題】ソフトウェアを用いて熱履歴制御の履歴パターン生成を行うことによる利点を活かしつつ、ハードウェアの回路規模を極力増やさずに多履歴の高速印字化を可能にする。【解決手段】サーマルプリンタは、サーマルヘッド１６に接続されるサーマルヘッドインターフェースＬＳＩ１５と、ＬＳＩ１５に接続されるＣＰＵ１１、通信制御部１２、ＲＡＭ１４、及びＲＯＭ１３を有する。ＣＰＵ１１は、ＲＯＭ１３のソフトウェア１３１に従いサーマルプリンタの過去の印字ドットを参照し各履歴要因に対する履歴パターンの生成処理を行う。この際、これから印字するラインの印加開始前に予め１ライン中の履歴要因数および各履歴タイマ値をタイマ回路１５２のレジスタに設定し、設定された履歴要因数分の履歴タイマ値を順次タイマ回路１５２に展開し、１ライン中におけるＬＳＩ１５へのアクセスを減らし、ソフトウェア１３１により数ライン先の履歴パターン生成を行う。【選択図】  図１
2006305859.tif 000002
【特許請求の範囲】
【請求項１】
サーマルヘッド内の発熱素子を駆動する駆動回路に接続されるサーマルヘッドインターフェース回路と、
前記サーマルヘッドインターフェース回路に接続されるプロセッサとを有し、
前記プロセッサは、予め設定された熱履歴制御アルゴリズムに基づくソフトウェアに従い、今回印加しようとするドットラインの印字データと、過去印加されているドットラインの印字データのうち予め設定されたドット位置に対応する履歴要因を成す印字データとを比較して前記履歴要因毎にその履歴パターンを成す印字データを生成し、
前記サーマルヘッドインターフェース回路は、前記履歴要因毎に予め割り当てた時間に対応するタイマ値を設定してカウントするタイマ回路を有し、
前記タイマ回路によりカウントされるタイマ値に基づくタイミングに従い、前記履歴要因の履歴パターンを成す印字データを前記サーマルヘッドに転送することにより、今回印加しようとするドットラインの印字データの印加時間を調整して前記サーマルヘッドの熱履歴制御を行う熱履歴制御装置であって、
前記タイマ回路は、前記履歴要因毎に個別にタイマ値を設定する複数の第１レジスタと、前記複数の第１レジスタのうち所定数の第１レジスタを有効化するための履歴要因数を設定する第２レジスタとを有し、
前記プロセッサは、今回印加しようとするドットラインの印字データの印加開始前に、前記履歴要因数を前記第２レジスタに設定すると共に、設定された履歴要因数に応じて有効化される前記所定数の第１レジスタに前記履歴要因のタイマ値を個別に設定し、
前記サーマルヘッドインターフェース回路は、今回印加しようとするドットラインの印字データの印字時に、前記タイマ回路により前記所定数の第１レジスタに設定されたタイマ値をカウントし、カウントされるタイマ値に基づくタイミングに従い、前記履歴要因の履歴パターンを成す印字データを前記サーマルヘッドに転送することを特徴とする熱履歴制御装置。
【請求項２】
前記プロセッサは、今回印加しようとするドットラインの印字データを印加中に、次のドットラインの印字データに対して前記履歴要因毎にその履歴パターンを生成することを特徴とする請求項１記載の熱履歴制御装置。
【請求項３】
前記履歴パターンを成す印字データは、今回印加しようとするドットラインの印字データが通電ドットに対応するデータであり且つ前記履歴要因を成す印字データが非通電ドットに対応するデータである場合に通電ドットに対応するデータとし、それ以外の場合に非通電ドットに対応するデータとして、生成されるものであることを特徴とする請求項１又は２記載の熱履歴制御装置。
【請求項４】
前記プロセッサは、ＣＰＵであり、
前記サーマルヘッドインターフェース回路は、前記ＣＰＵにバスを介して接続される集積回路であることを特徴とする請求項１乃至３のいずれか１項に記載の熱履歴制御装置。
【請求項５】
サーマルヘッド内の発熱素子を駆動する駆動回路に接続されるサーマルヘッドインターフェース回路と、
前記サーマルヘッドインターフェース回路に接続されるプロセッサとを有し、
前記プロセッサは、予め設定された熱履歴制御アルゴリズムに基づくソフトウェアに従い、今回印加しようとするドットラインの印字データと、過去印加されているドットラインの印字データのうち予め設定されたドット位置に対応する履歴要因を成す印字データとを比較して前記履歴要因毎にその履歴パターンを成す印字データを生成し、
前記サーマルヘッドインターフェース回路は、前記履歴要因毎に予め割り当てた時間に対応するタイマ値を設定してカウントするタイマ回路を有し、当該タイマ回路は、前記履歴要因毎に個別にタイマ値を設定する複数の第１レジスタと、前記複数の第１レジスタのうち所定数の第１レジスタを有効化するための履歴要因数を設定する第２レジスタとを有し、
前記タイマ回路によりカウントされるタイマ値に基づくタイミングに従い、前記履歴要因の履歴パターンを成す印字データを前記サーマルヘッドに転送することにより、今回印加しようとするドットラインの印字データの印加時間を調整して前記サーマルヘッドの熱履歴制御を行う熱履歴制御装置の動作方法であって、
前記プロセッサが、今回印加しようとするドットラインの印字データの印加開始前に、前記履歴要因数を前記第２レジスタに設定すると共に、設定された履歴要因数に応じて有効化される前記所定数の第１レジスタに前記履歴要因のタイマ値を個別に設定するステップと、
前記サーマルヘッドインターフェース回路が、今回印加しようとするドットラインの印字データの印字時に、前記タイマ回路により前記所定数の第１レジスタに設定されたタイマ値をカウントし、カウントされるタイマ値に基づくタイミングに従い、前記履歴要因の履歴パターンを成す印字データを前記サーマルヘッドに転送するステップとを有することを特徴とする熱履歴制御装置の動作方法。
【請求項６】
前記プロセッサが、今回印加しようとするドットラインの印字データを印加中に、次のドットラインの印字データに対して前記履歴要因毎にその履歴パターンを生成するステップをさらに有することを特徴とする請求項５記載の熱履歴制御装置の動作方法。
【請求項７】
請求項１乃至４のいずれか１項に記載の熱履歴制御装置と、
前記熱履歴制御装置に接続されるサーマルヘッドとを備えたことを特徴とするサーマルプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、熱履歴制御装置、その動作方法、及びサーマルプリンタに係り、特にこれから印字しようとするラインのドットに対して過去の印字動作で生じる蓄熱の影響を抑えるための熱履歴制御方式に関する。
【背景技術】
【０００２】
ライン型サーマルヘッドを備えたサーマルプリンタは、例えばＰＯＳ（Point Of Sales）装置に搭載されるレシート発行用プリンタ等、各種のプリンタに利用されている。このサーマルプリンタで用いるライン型サーマルヘッドでは、ＰＯＳ装置等のホスト側から送信されてくる印字コマンド及び印字データに基づき、印字データを成すドット列の各ドットに割り当てられた複数の発熱素子を選択的に駆動し、これにより各発熱素子で発生する熱により記録紙等の印字媒体に所望の印字を行うようになっている。
【０００３】
このようなサーマルプリンタには、これから印字しようとするラインのドットに対して過去の印字動作で生じる蓄熱の影響を抑えるため、過去に印字したラインのドットイメージの一部を記憶し、これに基づいてサーマルヘッドの発熱素子への印加時間を制御する熱履歴制御が行われている（例えば、特許文献１参照）。以下、従来例の熱履歴制御について、特許文献１に開示されている内容を参照して説明する。
【０００４】
従来の熱履歴制御では、まず印字完了後のラインを数ライン分保持しておき、これから印字するドットに対して蓄熱の影響を及ぼす可能性がある過去の印字ドットを調査する。その結果、仮に該当するドットを過去に印字していた場合は、何も印字していない場合と比べて蓄熱の影響があると考えられるため、サーマルヘッドへの通電時間を短くする。この場合、過去の印字動作による蓄熱の影響度は、過去の印字ドット数及びドット位置により異なるため、過去の印字履歴を一定のパターンに従ってモデル化し、モデル化された複数の対象ドットを「履歴要因」とし、各履歴要因に対しそれぞれ時間的な重み付けを行う。その後、過去にどの位置のドットで印字されていたかを判定し、印字していた履歴要因に割り当てた時間を全体の印加時間から間引く方法がとられている。この一例を図６に示す。
【０００５】
例えば、図６に示す例では、これから印字するドットラインのデータと、過去４ドットライン分のデータ（ドットイメージ）とをメモリに保持しておき、この中から一定のパターンに従い履歴要因を成すドットを抜き出してモデル化する。図６の例では、モデル化された履歴要因を成すドットは、これから印字するドットラインのドットＴ０に対し、過去１ドットライン前（直前）のドットＴａ及びその左右に隣接するドットＴｂ１、Ｔｂ２と、過去２ドットライン前のドットＴｂ０及びその左右に隣接するドットＴｃ１、Ｔｃ２と、過去３ドットライン前のドットＴｃ０と、過去４ドットライン前のドットＴｄとから構成される（図中の白丸は非通電ドット、黒丸は通電ドットを表す）。
【０００６】
次いで、過去に何も印字していない場合の必要な印加時間をＴとし、この印加時間Ｔを上記のモデル化された過去の履歴要因を成すドットＴａ、Ｔｂ１、Ｔｂ２、Ｔｂ０、Ｔｃ１、Ｔｃ２、Ｔｃ０、Ｔｄの時間配分で分割する。時間配分は、過去の履歴要因を成すドットＴａ、Ｔｂ１、Ｔｂ２、Ｔｂ０、Ｔｃ１、Ｔｃ２、Ｔｃ０、Ｔｄがこれから印字するドットＴ０に及ぼす蓄熱の影響度により決定する。
【０００７】
例えば、図６の例では、これから印字するドットラインのドットＴ０に対し、過去１ドットライン前（直前）のドットＴａと、過去３ドットライン前のドットＴｃ０とを比べると、ドットＴｃ０よりもドットＴａの方がこれから印字するドットＴ０に対する蓄熱影響度が大きいため、一般にはドットＴｃ０よりもドットＴａの方に大きな時間を割り当てておく。
【０００８】
その後、これから印字するドットＴ０に対し、過去にどの履歴要因を印字しているかを調査し、過去に印字した履歴要因には通電しないデータ（ＯＦＦ）として“０”を、過去に印字していない履歴要因には通電するデータ（ＯＮ）として“１”をそれぞれ演算し、その演算結果をセットする。これにより、履歴制御を無視して純粋に感熱紙が発色するような熱エネルギーに対応する印加時間Ｔから、過去に印字した履歴要因があればこれに割り当てられた時間を間引くことで印加時間Ｔを調節する。
【０００９】
例えば、図６の例では、これから印字するドットＴ０に対して、過去に印字したドットはＴｂ２、Ｔｂ０、Ｔｃ０の３箇所である。つまり、過去に何も印字していない場合に比べ、この時点でこれら３箇所の印加による蓄熱が発生していると考えられるため、
印加時間＝Ｔ−（Ｔｂ２＋Ｔｂ０＋Ｔｃ０）
とすることで、熱エネルギーが補正される。このとき、Ｔｂ２、Ｔｂ０、Ｔｃ０には、それぞれ予め蓄熱の影響度に応じた重み付けとして、各要因に時間が割り当てられている。このようにして１ドットライン中の全ドットに対して同様の処理を行い、これらの処理結果を１履歴要因づつサーマルヘッドへ転送していく。すなわち、１ラインを印字するため、１ラインの同じドット位置に印加すべきデータとして、これから印字するドットＴ０のほか、そのドットＴ０に対応する履歴要因を成すドットＴａ、Ｔｂ１、Ｔｂ２、Ｔｂ０、Ｔｃ１、Ｔｃ２、Ｔｃ０、Ｔｄ毎に複数回（図６の例ではドットＴ０を含めて９回）サーマルヘッドに転送する。
【００１０】
図７は、上記の熱履歴制御を専用回路（外部回路又は専用ＬＳＩ等）を用いてハードウェアで行う場合の熱履歴制御装置の構成を示す。
【００１１】
図７に示す従来例の熱履歴制御装置は、発熱素子５２及びシフトレジスタ５１を有するサーマルヘッド５と、このサーマルヘッド５に接続されるサーマルヘッドインターフェースＬＳＩ４と、このＬＳＩ４にバスを介して接続されるＣＰＵ１、ＲＯＭ２、及びＲＡＭ３とを有する。この構成において、ＬＳＩ４内に設けた熱履歴制御回路４４を用いて上記の履歴要因の演算処理を行っており、この熱履歴制御回路４４に過去の印字データを保持する機構も設けている。このため、ハードウェアとして保持できる印字ライン数が固定されてしまい、最大で生成できる履歴パターン数が限られてしまう。これは、更なる印字速度の高速化等で、より高精度な熱履歴制御を行う必要が出てきた場合には大きな障壁となる。また、ハードウェアの回路規模が非常に大きくなり、システムコストの増大を招く。
【００１２】
図８は、上記の熱履歴制御をソフトウェアで行う場合の熱履歴制御装置の構成を示す（特許文献１参照）。
【００１３】
図８に示す従来例の熱履歴制御装置は、発熱素子５２及びシフトレジスタ５１を有するサーマルヘッド５と、このサーマルヘッド５に接続されるサーマルヘッドインターフェースＬＳＩ４と、このＬＳＩ４にバスを介して接続されるＣＰＵ１、ＲＯＭ２、及びＲＡＭ３とを有する。ＲＡＭ３内の印字データ格納エリア３１には、これから印字するドットイメージと、過去１ドットライン前から４ドットライン前までの過去の印字ラインのドットイメージとが格納される。
【００１４】
ＣＰＵ１は、ＲＯＭ２に格納されているソフトウェア（後述の履歴パターン生成アルゴリズムに基づくソフトウェア）２１を実行することにより、これから印字するラインの各ドットに対してこの印字データ格納エリア３１を参照し、過去の印字ラインの対応するドット又はその左右に隣接するドットが過去に印字していたかどうかを過去ｎライン分全てについて比較を行い、該当ドットが過去に印字していたときに“０”、過去に印字していないときに“１”とするように演算を行う。その演算結果を履歴パターン格納エリア３２へ格納していき、過去ｎライン分全ての演算が完了した後、各履歴要因に対応する演算結果（以下、「履歴パターン」と呼ぶ）毎にパラレル／シリアル変換回路４１へ転送を行う。これと並行して、各履歴要因に割り付けた時間（以下、「履歴タイマ値」と呼ぶ）をタイマ回路４２へその都度セットすることで、データラッチ信号の発生タイミングを調整し、履歴要因毎に時間的な重み付けを行う。
【００１５】
上記履歴パターン生成アルゴリズムの一例を図９及び図１０に基づき説明する。図９及び図１０は、サーマルヘッドにより印字される１ドットラインが６４０ドット（８０バイト）で構成される場合を例示している。
【００１６】
図９において、まず過去の履歴要因を成すドットＴａ、Ｔｂ１、Ｔｂ２、Ｔｂ０、Ｔｃ１、Ｔｃ２、Ｔｃ０、Ｔｄに対応する履歴パターンのうち、ドットＴａに対応する履歴パターンを生成する。ドットＴａは、これから印字するドットＴ０から見て直前ドットＴａに位置する。従って、印字データ格納エリア３１からこれから印字する印字データ（Ｎ）を成すドット列Ｎのうち最下位ビット側から３２ドット（４バイト）分のドット列Ｎと、１ドットライン過去の印字データを成す６４０ビット分のドット列Ｋ１のうち最下位ビット側から３２ドット分のドット列Ｋ１とをＣＰＵ１内の図示しない演算用レジスタへロードする。次いで、３２ドット分のドット列Ｎを成す各ドット自身がそれぞれ印字ドットか否かを判断し、非印字ドットであれば、ドット列Ｔａのドットを通電しないデータ“０”とし、印字ドットであれば、ドット列Ｎと同じドット位置にあるドット列Ｋ１が印字ドットか否かを判断し、印字ドットであれば、ドット列Ｔａを通電しないデータ“０”とし、非印字ドットであれば、ドット列Ｔａを通電するデータ“１”となるよう演算する。即ち、２つのドット列Ｎ、Ｋ１の同じドット位置のドットにおいて、ドット列Ｎが“１”、ドット列Ｋ１が“０”であれば、ドット列Ｔａが“１”、それ以外であれば、ドット列Ｔａが“０”となる。
【００１７】
次いで、上記の３２ドット分の演算結果からなるドット列Ｔａを履歴パターン格納エリア３２へ格納する。以後、上記と同様の処理を３２ドット毎に行い、１ドットライン分に相当する回数（図９の例では６４０ビット分に相当する２０回）行う。これにより、ドットＴａに対応する履歴パターンとして、６４０ドット分の演算結果からなるドット列Ｔａが形成される。
【００１８】
次いで、ドットＴｂ１に対応する履歴パターンを生成する。ドットＴｂ１は、これから印字するドットＴ０から見て直前ドットＴａの左側に位置しているため、図１０に示すように、ドット列Ｋ１を１ビット右側へシフト演算し、その位置で上記と同様の演算を行い、その演算結果を履歴パターン格納エリア３２へ格納する。以後、上記のドット列Ｔａと同様に３２ドット毎に同様の演算を行い履歴パターン格納エリア３２へ格納していくことで、ドットＴｂ１に対応する履歴パターンとして、６４０ドット分の演算結果からなるドット列Ｔｂ１が形成される。
【００１９】
次いで、ドットＴｂ２は、上記のドットＴｂ１とは逆に直前ドットＴａの右側に位置していることから、ドット列Ｋ１を１ビット左側にシフト演算し、その後で上記と同様の演算を行う。以降、ドットＴｂ０からドットＴｄまで上記と同様のアルゴリズムで履歴パターンを生成する。これにより、過去の履歴要因を成すドットＴａ、Ｔｂ１、Ｔｂ２、Ｔｂ０、Ｔｃ１、Ｔｃ２、Ｔｃ０、Ｔｄの全ての履歴パターンを生成する。
【００２０】
その後、過去の履歴要因毎に履歴パターンをパラレル／シリアル変換回路４１へ転送し、一つの履歴パターンの転送が終了した時点でその履歴パターン毎の印加時間を決定する履歴タイマ値をタイマ回路４２へセットし、並行して印加中の一つ前の履歴要因の印加が終了するのを待つ。
【００２１】
タイマ回路４２は、セットされた値をカウント後、ヘッド制御信号生成回路４３へカウントアップを通知する。ヘッド制御信号生成回路４３は、タイマ回路４２からのカウントアップ通知を受けて、データラッチ信号をサーマルヘッド５内のシフトレジスタ５１へ出力する。シフトレジスタ５１は、データラッチ信号を受信し、それまでにシフトインしていた履歴パターンをラッチして、次のデータラッチ信号が受信されるまで、発熱素子５２を駆動する。ヘッド制御信号生成回路４３は、このデータラッチ信号のほか、発熱素子５２の駆動を許可する印加許可信号と、実際に履歴パターンをシフトインさせるために必要なシフトクロック信号との出力も行う。
【００２２】
図１１は、上記の動作タイミングを示す。
【００２３】
上記従来例によれば、履歴パターンの生成処理をソフトウェアで行うことにより、システムのコスト低減が可能となると共に、熱履歴制御回路に頼っていた処理をソフトウェアで処理することにより、マイクロプロセッサの性能と物理的な印加周期の制限を除けば理論上は無限に履歴パターンを生成でき、より高精度な熱履歴制御を行うことができる。
【特許文献１】特開２００４−０５８４４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
上述した従来例の熱履歴制御装置では、履歴パターンの生成処理を外部回路や専用ＬＳＩを用いたハードウェア生成からソフトウェア生成に変更することで上記のようなコスト低減や熱履歴制御の高精度化等の利点が得られるものの、１）１ラインの印字時間中に次ラインの履歴パターンの生成処理を行う、２）プリンタ制御をソフトウェアの多重割込みで行い、１ラインの印字時間内にその多重割込みによる処理を行う、３）１ラインの印字時間内にＲＡＭからサーマルヘッドインターフェースＬＳＩへのＤＭＡ転送によるサーマルヘッドインターフェースＬＳＩへのアクセス増加等によりＣＰＵバスの占有時間が多くなる等の制約があった。
【００２５】
一方、この分野では多履歴（多階調）の高速印字化は、今後必要不可欠とされており、この場合には、上記制約により、最悪の場合は、ソフトウェアによる処理１ラインの印字時間内に次ラインの履歴パターンの生成処理が間に合わなくなることも想定される。
【００２６】
本発明は、このような従来の事情を考慮にしてなされたもので、ソフトウェアを用いて熱履歴制御の履歴パターン生成を行うことによる利点を活かしつつ、ハードウェアの回路規模を極力増やさないで、多履歴の高速印字化を可能にすることを目的とする。
【課題を解決するための手段】
【００２７】
上記目的を達成するため、本発明に係る熱履歴制御装置は、サーマルヘッド内の発熱素子を駆動する駆動回路に接続されるサーマルヘッドインターフェース回路と、前記サーマルヘッドインターフェース回路に接続されるプロセッサとを有し、前記プロセッサは、予め設定された熱履歴制御アルゴリズムに基づくソフトウェアに従い、今回印加しようとするドットラインの印字データと、過去印加されているドットラインの印字データのうち予め設定されたドット位置に対応する履歴要因を成す印字データとを比較して前記履歴要因毎にその履歴パターンを成す印字データを生成し、前記サーマルヘッドインターフェース回路は、前記履歴要因毎に予め割り当てた時間に対応するタイマ値を設定してカウントするタイマ回路を有し、前記タイマ回路によりカウントされるタイマ値に基づくタイミングに従い、前記履歴要因の履歴パターンを成す印字データを前記サーマルヘッドに転送することにより、今回印加しようとするドットラインの印字データの印加時間を調整して前記サーマルヘッドの熱履歴制御を行う熱履歴制御装置であって、前記タイマ回路は、前記履歴要因毎に個別にタイマ値を設定する複数の第１レジスタと、前記複数の第１レジスタのうち所定数の第１レジスタを有効化するための履歴要因数を設定する第２レジスタとを有し、前記プロセッサは、今回印加しようとするドットラインの印字データの印加開始前に、前記履歴要因数を前記第２レジスタに設定すると共に、設定された履歴要因数に応じて有効化される前記所定数の第１レジスタに前記履歴要因のタイマ値を個別に設定するステップと、前記サーマルヘッドインターフェース回路は、今回印加しようとするドットラインの印字データの印字時に、前記タイマ回路により前記所定数の第１レジスタに設定されたタイマ値をカウントし、カウントされるタイマ値に基づくタイミングに従い、前記履歴要因の履歴パターンを成す印字データを前記サーマルヘッドに転送するステップとを有することを特徴とする。
【００２８】
本発明において、前記プロセッサは、今回印加しようとするドットラインの印字データを印加中に、次のドットラインの印字データに対して前記履歴要因毎にその履歴パターンを生成するステップをさらに有してもよい。
【００２９】
本発明において、前記履歴パターンを成す印字データは、今回印加しようとするドットラインの印字データが通電ドットに対応するデータであり且つ前記履歴要因を成す印字データが非通電ドットに対応するデータである場合に通電ドットに対応するデータとし、それ以外の場合に非通電ドットに対応するデータとして、生成されるものであってもよい。
【００３０】
本発明において、前記プロセッサは、ＣＰＵであり、前記サーマルヘッドインターフェース回路は、前記ＣＰＵにバスを介して接続される集積回路であってもよい。
【００３１】
また本発明に係る熱履歴制御装置の動作方法は、サーマルヘッド内の発熱素子を駆動する駆動回路に接続されるサーマルヘッドインターフェース回路と、前記サーマルヘッドインターフェース回路に接続されるプロセッサとを有し、前記プロセッサは、予め設定された熱履歴制御アルゴリズムに基づくソフトウェアに従い、今回印加しようとするドットラインの印字データと、過去印加されているドットラインの印字データのうち予め設定されたドット位置に対応する履歴要因を成す印字データとを比較して前記履歴要因毎にその履歴パターンを成す印字データを生成し、前記サーマルヘッドインターフェース回路は、前記履歴要因毎に予め割り当てた時間に対応するタイマ値を設定してカウントするタイマ回路を有し、当該タイマ回路は、前記履歴要因毎に個別にタイマ値を設定する複数の第１レジスタと、前記複数の第１レジスタのうち所定数の第１レジスタを有効化するための履歴要因数を設定する第２レジスタとを有し、前記タイマ回路によりカウントされるタイマ値に基づくタイミングに従い、前記履歴要因の履歴パターンを成す印字データを前記サーマルヘッドに転送することにより、今回印加しようとするドットラインの印字データの印加時間を調整して前記サーマルヘッドの熱履歴制御を行う熱履歴制御装置の動作方法であって、前記プロセッサが、今回印加しようとするドットラインの印字データの印加開始前に、前記履歴要因数を前記第２レジスタに設定すると共に、設定された履歴要因数に応じて有効化される前記所定数の第１レジスタに前記履歴要因のタイマ値を個別に設定し、前記サーマルヘッドインターフェース回路が、今回印加しようとするドットラインの印字データの印字時に、前記タイマ回路により前記所定数の第１レジスタに設定されたタイマ値をカウントし、カウントされるタイマ値に基づくタイミングに従い、前記履歴要因の履歴パターンを成す印字データを前記サーマルヘッドに転送することを特徴とする。
【００３２】
本発明において、前記プロセッサが、今回印加しようとするドットラインの印字データを印加中に、次のドットラインの印字データに対して前記履歴要因毎にその履歴パターンを生成してもよい。
【００３３】
さらに本発明に係るサーマルプリンタは、上記のいずれかに記載の熱履歴制御装置と、前記熱履歴制御装置に接続されるサーマルヘッドとを備えたことを特徴とする。
【発明の効果】
【００３４】
本発明によれば、ソフトウェアを用いて熱履歴制御の履歴パターン生成を行うことによる利点を活かしつつ、ハードウェアの回路規模を極力増やさないで、多履歴の高速印字化を可能にすることができる。
【発明を実施するための最良の形態】
【００３５】
次に、本発明に係る熱履歴制御装置、その動作方法、及びサーマルプリンタを実施するための最良の形態について、図面を参照して詳細に説明する。なお、ここで使用される「履歴要因」、「履歴パターン」、及び「履歴タイマ値」の用語の意味は、前述した従来例（特許文献１）と同様であるため、その詳細は省略する。
【００３６】
本実施形態は、前述した従来例（特許文献１）の熱履歴制御装置（図８〜図１１参照）に改良を加えたもので、ＰＯＳ装置等のホスト側から送信されてくる印字コマンドおよびこれから印字するラインのドットイメージデータを受信し、ＲＯＭに格納されている熱履歴制御アルゴリズムに基づくソフトウェアに従い、過去の印字ドットを参照し、各履歴要因に対する履歴パターンを生成しその履歴パターンに基づき熱履歴制御を行うサーマルプリンタに適用したものである。
【００３７】
図１は、本実施形態によるサーマルプリンタの全体構成図である。
【００３８】
図１に示すサーマルプリンタは、ＣＰＵ１１と、このＣＰＵ１１にバスを介して接続される通信制御部１２、ＲＯＭ１３、ＲＡＭ１４、及びサーマルヘッドインターフェースＬＳＩ１５と、このＬＳＩ１５に接続されるシフトレジスタ１６１及び発熱素子１６２を有するサーマルヘッド１６とを備えている。
【００３９】
ＣＰＵ１１は、ＲＯＭ１３に格納されるソフトウェア１３１を実行することにより、サーマルプリンタとしての用紙搬送制御や用紙カット制御等の制御のほか、前述した従来例（特許文献１）と同様に各履歴要因に対する履歴パターンの生成処理（図９、図１０参照）を含む熱履歴制御を行う。
【００４０】
通信制御部１２は、図示しないＰＯＳ装置等のホストに接続され、そのホストから送信されてくる印字コマンドおよび印字データを受信する。
【００４１】
ＲＯＭ１３には、ＣＰＵ１１により実行されるソフトウェア１３１が格納される。ソフトウェア１３１は、前述した熱履歴制御アルゴリズムに基づくソフトウェアが含まれる。
【００４２】
ＲＡＭ１４には、印字データ格納エリア１４１と、履歴パターン格納エリア１４２とが含まれる。
【００４３】
印字データ格納エリア１４１には、これから印字するラインの所定ドット数（例えば６４０ドット）のドット列のデータからなるドットイメージと、既に印字が完了した過去複数ラインのドット列のデータからなるドットイメージとが保持される。
【００４４】
履歴パターン格納エリア１４２には、印字データ格納エリア１４１に格納されている過去の印字データに基づき、前述の熱履歴制御アルゴリズムに従い演算された演算結果に相当する各履歴要因の履歴パターンを成す所定ドット数（例えば６４０ドット）のドット列からなる印字データが履歴要因毎に格納される。
【００４５】
サーマルヘッドインターフェースＬＳＩ１５は、ＣＰＵ１１によるサーマルプリンタとしての用紙搬送制御や用紙カット制御等の制御のほか、各履歴要因に対する履歴パターンの生成処理を含む熱履歴制御に伴う動作を行う。具体的にこのＬＳＩ１５は、パラレル／シリアル変換回路１５１、タイマ回路１５２、及びヘッド制御信号生成回路１５３を有する。
【００４６】
パラレル／シリアル変換回路１５１は、通信制御部１２からバスを介して送られてくるバスインタフェースのパラレルデータ（印字データ）をシリアルデータに変換してサーマルヘッドのシフトレジスタ１６１に出力する。
【００４７】
タイマ回路１５２は、各履歴要因に割り付けた時間である履歴タイマ値によりタイマカウント動作を行う。
【００４８】
ヘッド制御信号生成回路１５３は、タイマ回路１５２で生成された動作タイミングに従い、サーマルヘッド１６に内蔵されているシフトレジスタ１６１に与える所定の制御信号、即ちデータラッチ信号、印加許可信号、及びシフトクロック信号を生成する。
【００４９】
図２（ａ）及び（ｂ）は、従来例（特許文献１）のタイマ回路１５２と比較して、本実施形態のタイマ回路１５２の内部構成を説明するものである。
【００５０】
図２（ａ）に示す従来例のタイマ回路４２は、各履歴要因のタイマ値を設定するタイマ値設定レジスタ４２１と、タイマ値設定レジスタ４２２にて設定された時間をカウントし、データラッチ信号を出力するタイマ４２２とを備えている。
【００５１】
これに対し、図２（ｂ）に示す本実施形態のタイマ回路１５２は、履歴要因毎に個々にタイマ値を設定する複数（ｎ）個のタイマ値設定レジスタ１５２２（レジスタ１、レジスタ２、レジスタ３、…、レジスタｎ）と、複数の履歴要因のうち何個の履歴要因を用いるかその要因数に対応して、各タイマ値設定レジスタ１５２２の内、何個のレジスタを有効にするかを設定する要因数設定レジスタ１５２１と、タイマ値設定レジスタ１５２２にて設定された時間をカウントし、データラッチ信号を出力するタイマ１５２３とを備える。図２（ａ）に示す従来例のタイマ回路４２１と比べると、タイマ値設定レジスタ１５２２を履歴要因毎に複数有している点と、新たに要因数設定レジスタ１５２１を有している点とが相違している。
【００５２】
次に、図３〜図５を参照して、本実施例の動作について、図８に示す従来例（特許文献１）の動作と比較して説明する。
【００５３】
なお、前述の従来例（図９〜図１１）では、これから印字するドットＴ０に対し、過去の履歴要因として、ドットＴａ、Ｔｂ１、Ｔｂ２、Ｔｂ０、Ｔｃ１、Ｔｃ２、Ｔｃ０、Ｔｄを用いた場合を例示しているが、本例では、そのうち、ドットＴａ、Ｔｂ１、Ｔｂ０のみを用いた場合を例示している（図６参照）。この場合、１ラインのドット列内の同じドット位置で印字する１ラインの印字データとして、これから印字しようとするドットＴａの印字データ（非通電データ“０”又は通電データ“１”）のほか、履歴要因を成すドットＴａ、Ｔｂ１、Ｔｂ０に対応する履歴パターンの印字データ（非通電データ“０”又は通電データ“１”）が、それぞれに割り当てられた履歴タイマ値に基づく動作タイミングで、サーマルヘッド５のシフトレジスタ５１へ転送され、発熱素子５２を介して印字される。
【００５４】
まず、図３及び図４を参照して、従来例の動作を説明する。
【００５５】
図３は、図８に示す従来例のサーマルヘッドインターフェースＬＳＩの動作タイミングを示す動作図、図４は、図３に加え、図８に示す従来例のＣＰＵによるソフトウェアの動作タイミングを加味した場合の動作図である。ここで、図３及び図４中の印加スタート、データラッチ信号、及び印加許可信号の各信号は、ヘッド制御信号生成回路からシフトレジスタに与えられる制御信号に対応する。
【００５６】
いま、図３及び図４において、図示しないホスト側から印字データが送られ、ＲＡＭの印字データ格納エリアにライン毎に格納される。ＣＰＵは、ＲＯＭ内のソフトウェアを実行することにより、履歴タイマ値をサーマルヘッドインターフェースＬＳＩ内のタイマ回路のタイマ値設定レジスタにセットし、ライン毎に印字データを転送する。
【００５７】
この際、ＣＰＵは、ソフトウェアを実行することにより、１ライン目のパターン生成、ｎライン目のパターン生成の処理を順次行うと共に、印加スタート及びデータラッチ信号の各制御信号（論理Ｌレベル）に同期して、１ライン目のパターン生成時に印加スタート前の履歴タイマ値としてＴｂ０の転送時間であるダミータイマ値をセットし、ｎライン目のパターン生成時にＴｂ０、Ｔｂ１、Ｔａ、Ｔ０の各履歴要因に対応する履歴タイマ値をセットする。これは、タイマ値を設定するタイマ値設定レジスタを１段しか有していないためである。データラッチ信号は、割込み信号等によりサーマルヘッドインターフェースＬＳＩからＣＰＵ側に通知される。
【００５８】
その後、サーマルヘッドインターフェースＬＳＩ側では、印加スタートから始まる１ライン搬送時間内に、データラッチ信号及び印加許可信号の各制御信号（論理Ｌレベル）に同期して、１ラインのドット列を成す印字データとして、各履歴要因を成すＴｂ０、Ｔｂ１、Ｔａ、Ｔ０の順に、それぞれの印字データ（履歴パターンの印字データ）をサーマルヘッドのシフトレジスタに転送及びラッチさせ、発熱素子を選択的に駆動して印字動作を行わせる。
【００５９】
従って、従来例では、ＣＰＵがソフトウェアを実行することにより、１ライン搬送時間内に、ホスト側から転送されてきたｎライン目のデータに対する履歴パターン生成処理と、各履歴要因に対するタイマ値のセットとを同優先度にて処理するため、高速印字の場合、１ライン搬送時間は短くなり、ソフトウェアの負荷率は高くなる。とくに、多履歴の場合、各履歴要因に対するタイマ値の設定が増え、かつ生成する履歴パターンも増え、ソフトウェアの負荷率は高くなる。これにより、高速多履歴としての制限が発生することになる。
【００６０】
これに対し、図５は、図１に示す本実施形態によるサーマルヘッドインターフェースＬＳＩ１５の動作タイミングと、ＣＰＵ１１によるソフトウェア１３１の動作タイミングとを含む動作図である。
【００６１】
上述の図３及び図４に示す従来例では、タイマ値を設定するタイマ値設定レジスタを１個しか有していなかったため、印加スタート前に各履歴要因を成すＴｂ０、Ｔｂ１、Ｔａ、Ｔ０に割り当てられる履歴タイマ値を設定することができない。
【００６２】
これに対し、本実施形態では、タイマ回路１５２に各履歴要因のタイマ値を設定するタイマ値設定レジスタ１５２２を複数有しているため、印加スタート前に全ての履歴要因に対するタイマ値を設定することが可能となる。また、要因数設定レジスタ１５２１を有しているため、複数のタイマ値設定レジスタ１５２２に対しレジスタの有効化を図ることも可能となる。これにより、印加スタート前に、ＣＰＵ１１側では、ソフトウェア１３１を実行することで、各履歴要因のタイマ値および履歴要因数を把握することが可能となる。
【００６３】
いま、図５において、図示しないホスト側から印字データが送られ、ＲＡＭ１４の印字データ格納エリア１４１にライン毎に格納される。ＣＰＵ１１は、ＲＯＭ１３内のソフトウェア１３１を実行することにより、履歴要因数を要因数設定レジスタ１５２１に設定し、各履歴要因のタイマ値を複数のタイマ値設定レジスタ１５２２に設定する。
【００６４】
次いで、サーマルヘッドインターフェースＬＳＩ１５側では、印字スタートに対応する制御信号（論理Ｌレベル）に同期して、タイマ回路１５２が起動する。
【００６５】
タイマ回路１５２では、要因数設定レジスタ１５２１にて有効化された複数（ｎ）のタイマ値設定レジスタ１５２２（レジスタ１、レジスタ２、レジスタ３、…、レジスタｎ）から、各履歴要因に対するタイマ値の設定値がタイマ１５２３にロードされる。タイマ１５２３は、ロードされた設定値のカウントを行い、カウントアップ毎にデータラッチ信号を発生する。これと同時に、次のタイマ値設定レジスタ１５２２からそのタイマ値の設定値をロードし、カウントを行う。この動作は、要因数設定レジスタ１５２１にて有効化された全てのタイマ値設定レジスタ１５２２に対し繰り返し行われる。
【００６６】
ＣＰＵ１１側では、ソフトウェア１３１を実行することにより、印加スタート前に１ライン目の履歴パターン生成処理を行い、各履歴要因に対するタイマ値をタイマ値設定レジスタに設定し、その履歴要因数を要因数設定レジスタ１５２１に設定する。また、印加スタート後に、ホスト側から転送されてきたｎライン目のデータに対する履歴パターン生成処理を優先的に行い、Ｔ０転送が終了した後にｎライン目の各履歴要因に対するタイマ値をタイマ値設定レジスタ１５２２に設定し、その履歴要因数を要因数設定レジスタ１５２１に設定する。
【００６７】
このとき、サーマルヘッドインターフェースＬＳＩ１５側で生成される印加スタート後のデータラッチ信号は、ＣＰＵ１１側のソフトウェア１３１へは通知されない。これにより、ＣＰＵ１１側では、ソフトウェア１３１が、他の信号に阻害されることなく履歴パターン生成処理を優先的に行うことができる。よって、１ライン搬送時間中のソフトウェア１３１の負荷率は、従来例よりも低くなり、高速多履歴としての発生していた制限はなくなり、高速多履歴化が可能となる。
【００６８】
従って、本実施形態によれば、次のような効果が得られる。
【００６９】
１）従来では、履歴要因数分の割込みが１ライン中にソフトウェアに通知され、高速になる程１ライン印字時間は短くなるため、高速化になる程割込み処理の影響が大きかった。これに対し、本実施形態では、１ライン中のソフトウェア処理である割込み処理を減らすことにより、ソフトウェア負荷を軽減することができる。
【００７０】
２）サーマルヘッドインターフェースＬＳＩの規模を増加して高速多履歴化を実現する場合、ソフトウェア生成にしたメリットが軽減されてしまう。これに対し、本実施形態では、レジスタ追加のみという軽微な対応で、履歴パターンの生成をハードウェアからソフトウェアにしたことにより、サーマルヘッドインターフェースＬＳＩの規模を増加させることなく、実現が可能となる。
【００７１】
３）本実施形態では、従来、履歴要因数分、毎回行っていたサーマルヘッドインターフェースＬＳＩへのアクセスを減らすことができ、ソフトウェア負荷の軽減を行い、次ライン以降の履歴パターンの生成に処理時間およびＣＰＵバスを費やすことが可能となる。これにより、１ライン中における印字及び履歴制御にかけるＣＰＵバスの占有時間を減らすことができる。なお、ＤＭＡ転送（ＲＡＭからサーマルヘッドインターフェースＬＳＩ）におけるＣＰＵバスの占有時間の減少は、バス幅を増やすことにより容易に対処が可能である。
【００７２】
以上説明したように、本実施形態によれば、サーマルプリンタの過去の印字ドットを参照し各履歴要因に対する履歴パターンの生成処理において、これから印字するラインの印加開始前に予め１ライン中の履歴要因数および各履歴タイマ値を設定することにより、設定された履歴要因数分の履歴タイマ値を順次タイマ回路に展開し１ライン中におけるサーマルヘッドインターフェースＬＳＩへのアクセスを減らし、その分ソフトウェアにより数ライン先の履歴パターン生成を行うことにより、より高速印字での多履歴印字を行うことができる。言い換えると、新たに履歴要因数レジスタ及び複数の履歴タイマ値設定レジスタを設けることで、従来タイマ回路のカウントアップによりソフトウェアが行っていた処理（次履歴要因の履歴タイマ値の設定）をハードウェアが行うことにより、１ライン中におけるソフトウェアの処理を大幅に軽減させ、次ライン以降の履歴パターンの生成を行うことが可能となる。
【００７３】
なお、上記の履歴パターンの転送順序、印加許可信号の電気的論理、及び履歴要因数は、本実施形態に適用するものであって、これに限定するものではない。また、本実施形態では、熱履歴制御のみを行う場合を説明しているが、例えば多階調制御（例えば、特開２００４−２５５８１４号公報参照）を行う場合にも適用可能である。
【産業上の利用可能性】
【００７４】
本発明は、ＰＯＳ端末等に搭載されるライン型サーマルヘッドを備えたサーマルプリンタの用途に適用できる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態によるサーマルプリンタの全体構成を示す概略ブロック図である。
【図２】（ａ）は、従来例のタイマ回路の内部構成を示す概略ブロック図、（ｂ）は図１に示すタイマ回路の内部構成を示す概略ブロック図である。
【図３】従来例の熱履歴制御装置の動作を説明する概略タイミングチャートである。
【図４】従来例の熱履歴制御装置の動作をソフトウェアの動作と共に説明する概略タイミングチャートである。
【図５】図１に示す熱履歴制御装置の動作を説明する概略タイミングチャートである。
【図６】従来例の熱履歴制御方法を説明する図である。
【図７】従来例の熱履歴制御を専用回路を用いてハードウェアで行う場合の熱履歴制御装置の全体構成を示す概略ブロック図である。
【図８】従来例の熱履歴制御をソフトウェアを用いて行う場合の熱履歴制御装置の全体構成を示す概略ブロック図である。
【図９】図８に示す熱履歴制御装置による履歴要因の履歴パターン生成を説明する図である。
【図１０】図９に続き、図８に示す熱履歴制御装置による履歴要因の履歴パターン生成を説明する図である。
【図１１】図８に示す熱履歴制御装置の動作を説明する概略タイミングチャートである。
【符号の説明】
【００７６】
１１  ＣＰＵ
１２  通信制御部
１３  ＲＯＭ
１４  ＲＡＭ
１５  サーマルヘッドインターフェース
１６  サーマルヘッド
１３１  ソフトウェア
１４１  印字データ格納エリア
１４２  履歴パターン格納エリア
１５１  パラレル／シリアル変換回路
１５２  タイマ回路
１５３  ヘッド制御信号生成回路
１６１  シフトレジスタ
１６２  発熱素子
１５２１  要因数設定レジスタ
１５２２  タイマ値設定レジスタ
１５２３  タイマ
【図１】
2006305859.tif 000003
【図２】
2006305859.tif 000004
【図３】
2006305859.tif 000005
【図４】
2006305859.tif 000006
【図５】
2006305859.tif 000007
【図６】
2006305859.tif 000008
【図７】
2006305859.tif 000009
【図８】
2006305859.tif 000010
【図９】
2006305859.tif 000011
【図１０】
2006305859.tif 000012
【図１１】
2006305859.tif 000013