(57)【特許請求の範囲】
【請求項１】
複数の素子が配列されたラインヘッドと、クロック信号によって入力端子から入力した入力データをシフトするシフトレジスターと、ラッチ信号により前記シフトレジスターの前記入力データを一時的に保持するラッチと、ストローブ信号に応じて該ラッチに保持された前記入力データを前記ラインヘッドの各素子に対して出力するドライバと、前記シフトレジスターから前記クロック信号により出力データを出力する出力端子と、前記クロック信号と前記入力データと前記ストローブ信号と前記ラッチ信号を出力するヘッド制御部とを備えるラインプリンターであって、
前記ラインヘッドの素子数を検出するための素子数検出データを生成し、前記ヘッド制御部が出力する前記クロック信号に同期して、前記シフトレジスターの前記入力端子に出力する素子数検出データ生成部と、
前記シフトレジスターに入力された素子数検出データが、前記出力端子から出力されることに基づき、前記ラインヘッドの素子数を検出する素子数カウント部と、
前記素子数と前記ラインヘッドのヘッド幅とに一意に対応する前記ラインヘッドの種類毎の素子の配列密度を記憶する記憶部と、
前記記憶部を参照して、前記素子数カウント部で検出された素子数と前記ヘッド幅とから素子の配列密度を判定する素子密度判定部と、
を有し、
前記素子密度判定部によって判定された素子の配列密度に応じて、ファームウェアの前記ラインヘッドに対する印刷制御に係る諸設定値を変更して印刷することを特徴とするラインプリンター。
【請求項２】
前記印刷制御に係る諸設定値は、印刷する文字の大きさ及び紙送りピッチの設定値であることを特徴とする請求項１に記載のラインプリンター。
【請求項３】
前記素子数検出データ生成部は、
前記クロック信号の最初の１クロックに対応する値を１とし以降０とする前記素子数検出データを生成し、
前記素子数カウント部は、
前記出力端子から出力される前記出力データが１となるまでの前記クロック信号のクロック数をカウントして、前記素子数を検出することを特徴とする請求項１または２に記載のラインプリンター。
【請求項４】
前記ラインヘッドは複数の発熱素子からなるサーマルヘッドであることを特徴とする請求項１〜３のいずれか１項に記載のラインプリンター。
【請求項５】
複数の素子が配列されたラインヘッドと、クロック信号によって入力端子から入力した入力データをシフトするシフトレジスターと、ラッチ信号により前記シフトレジスターの前記入力データを一時的に保持するラッチと、ストローブ信号に応じて該ラッチに保持された前記入力データを前記ラインヘッドの各素子に対して出力するドライバと、前記シフトレジスターから前記クロック信号により出力データを出力する出力端子と、前記クロック信号と前記入力データと前記ストローブ信号と前記ラッチ信号を出力するヘッド制御部と、前記素子数と前記ラインヘッドのヘッド幅とに一意に対応する前記ラインヘッドの種類毎の素子の配列密度を記憶する記憶部と、を備えるラインプリンターにおける前記ラインヘッドの素子の配列密度を判定する方法であって、
前記ラインヘッドの素子数を検出するための素子数検出データを生成し、前記ヘッド制御部が出力する前記クロック信号に同期して、前記シフトレジスターの前記入力端子に出力するステップと、
前記シフトレジスターに入力された素子数検出データが、前記出力端子から出力されることに基づき、前記ラインヘッドの素子数を検出するステップと、
前記記憶部を参照して、前記素子数カウント部で検出された素子数と前記ヘッド幅とから素子の配列密度を判定するステップと、
を含むラインヘッドの素子配列密度判定方法、により判定された前記配列密度に基づいて、ファームウェアの前記ラインヘッドに対する印刷制御に係る諸設定値を変更することを特徴とするラインプリンターの設定方法。
【請求項６】
前記印刷制御に係る諸設定値は、印刷する文字の大きさ及び紙送りピッチの設定値であることを特徴とする請求項５に記載のラインプリンターの設定方法。
【請求項７】
前記ラインヘッドは複数の発熱素子からなるサーマルヘッドであることを特徴とする請求項５または６に記載のラインプリンターの設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、固定されたラインヘッドに１ドットライン毎に印刷を行うサーマルプリンターなどのラインプリンターに関し、特に、サーマルヘッドの素子数検出方法およびサーマルヘッドの素子配列密度判定方法に関する。
【背景技術】
【０００２】
ＰＯＳプリンタなどでは、固定されたラインヘッドに１ドットライン毎に印刷を行うサーマルプリンターなどのラインプリンターが普及している（例えば、特許文献１または特許文献２参照）。
図７は、従来のサーマルプリンターの概略構成を示すブロック図である。直線状に配列された複数の発熱素子からなるサーマルヘッド１０１、これら発熱素子を発熱制御するラッチ・ドライバー１０２、ｎ段のＦＦ（フリップフロップ）からなるシフトレジスター１０３、ヘッド制御部１０４などで構成される。
【０００３】
ヘッド制御部１０４は、シフトレジスター１０３（の初段のＦＦ１０３−１）へクロック信号ＣＬＫに同期して１ドットライン分の印刷データ（シリアルデータ）を送信する。
１ドットライン分の印刷データの送信が完了した時点で、ヘッド制御部１０１は、ラッチ信号ＬＡＴをラッチ・ドライバー１０２へ送信する。これにより、をラッチ・ドライバー１０２内に１ドットライン分の印刷データがラッチされる（データが確定される）。このように、１ドットライン分のデータが確定した時点で、ヘッド制御部１０４は、ストローブ信号ＳＴＢをラッチ・ドライバー１０２へ送信する。
ラッチ・ドライバー１０２は、ストローブ信号ＳＴＢを受けている間、ラッチしたデータの“１”に相当するサーマルヘッド１０１の発熱素子に通電する。この通電によって記録媒体であるロール紙等に１ドット分の画像が形成された後、図示しない紙送り機構によって１ドット分の紙送りがなされて、上記の手順で１ドットライン毎の印刷が順次行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−３４１３５号公報（第２頁−第５頁、図１）
【特許文献２】特開２００２−２４８８００号公報（第４頁−第６頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、サーマルプリンターに搭載するサーマルヘッドの発熱素子の素子数や配列密度は多種多様である。このため、サーマルヘッドの種類毎に対応する制御基板を変えると製造・開発コストがかかる。
ところが、サーマルヘッド自体は受動素子であり、従来のサーマルプリンターでは、発熱素子の素子数や配列密度を自動的に判別することはできないので、制御基板にディップスイッチを設けて搭載するサーマルヘッドの種類に応じた機種選定を行っている。また、ヘッドの素子数や配列密度が変わるとサーマルプリンターのファームウェアを変更して別の仕様とする必要がある。
そのため、ディップスイッチの装備による制御基板のコスト上昇や、ファームウェアの仕様が多いことによる、ファームウェアの開発コスト上昇、管理上の煩雑さなどといった問題があった。
【０００６】
本発明の目的は上記課題を解消することに係り、外部よりラインヘッド（サーマルヘッド）の素子数を検出することができ、また、検出された素子数より素子の配列密度を判定することができるラインプリンター、ラインヘッドの素子数検出方法、ラインヘッドの素子配列密度判定方法およびラインプリンターの設定方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した目的を達成するために、本発明に係るラインプリンターは、複数の素子が配列されたラインヘッドと、クロック信号によって入力端子から入力した入力データをシフトするシフトレジスターと、ラッチ信号により前記シフトレジスターの前記入力データを一時的に保持するラッチと、ストローブ信号に応じて該ラッチに保持された前記入力データを前記ラインヘッドの各素子に対して出力するドライバと、前記シフトレジスターから前記クロック信号により出力データを出力する出力端子と、前記クロック信号と前記入力データと前記ストローブ信号と前記ラッチ信号を出力するヘッド制御部とを備えるラインプリンターであって、
前記ラインヘッドの素子数を検出するための素子数検出データを生成し、前記ヘッド制御部が出力する前記クロック信号に同期して、前記シフトレジスターの前記入力端子に出力する素子数検出データ生成部と、
前記シフトレジスターに入力された素子数検出データが、前記出力端子から出力されることに基づき、前記ラインヘッドの素子数を検出する素子数カウント部と、
を有することを特徴とする。
この場合、前記素子数検出データ生成部は、
前記クロック信号の最初の１クロックに対応する値を１とし以降０とする前記素子数検出データを生成し、
前記素子数カウント部は、
前記出力端子から出力される前記出力データが１となるまでの前記クロック信号のクロック数をカウントして、前記素子数を検出することを特徴とする。
上記構成によれば、ラインヘッドの素子数を検出することができる。よって、上記検出された素子数に基づいて、ラインプリンターのファームウェアのラインヘッドに対する設定値を自動的に変更して制御することができる。従って、ディップスイッチを制御基板に設ける必要が無くなり、製造コストを低減できる。また、他種類のファームウェアを作成しなくてもよいので、ファームウェアの開発コスト低減や、管理上の煩雑さを少なくすることができる。
好ましくは、前記素子数に対応する前記素子の配列密度を記憶する記憶部と、
前記記憶部を参照して、前記素子数カウント部で検出された素子数から素子の配列密度を判定する素子密度判定部と、
を有することを特徴とする。
上記構成によれば、ラインヘッドの素子数を検出することができ、さらに、検出された素子数より素子の配列密度を判定することができる。よって、上記検出された素子数や配列密度に基づいて、ファームウェアの設定値を自動的に変更して制御することができる。従って、ディップスイッチを制御基板に設ける必要が無くなり、製造コストを低減できる。また、他種類のファームウェアを作成しなくてもよいので、ファームウェアの開発コスト低減や、管理上の煩雑さを少なくすることができる。
好ましくは、前記制御部は、検出した前記素子数に基づいて印刷領域を決定することを特徴とする。
上記構成によれば、ラインヘッドの素子数とシフトレジスターの回路数が１対１で対応しているため、シフトレジスターに入力した信号の出力されたものから、素子数を検出することができ、当該素子数より印刷領域を決定し、ラインヘッドに適した範囲の印刷を行うことができる。
【０００８】
上述した目的を達成するために、本発明に係るラインヘッドの素子数検出方法は、複数の素子が配列されたラインヘッドと、クロック信号によって入力端子から入力した入力データをシフトするシフトレジスターと、ラッチ信号により前記シフトレジスターの前記入力データを一時的に保持するラッチと、ストローブ信号に応じて該ラッチに保持された前記入力データを前記ラインヘッドの各素子に対して出力するドライバと、前記シフトレジスターから前記クロック信号により出力データを出力する出力端子と、前記クロック信号と前記入力データと前記ストローブ信号と前記ラッチ信号を出力するヘッド制御部とを備えるラインプリンターにおける前記ラインヘッドの素子数を検出する方法であって、
前記ラインヘッドの素子数を検出するための素子数検出データを生成し、前記ヘッド制御部が出力する前記クロック信号に同期して、前記シフトレジスターの前記入力端子に出力するステップと、
前記シフトレジスターに入力された素子数検出データが、前記出力端子から出力されることに基づき、前記ラインヘッドの素子数を検出するステップと、
を含むことを特徴とする。
また、前記素子数検出データは、前記クロック信号の最初の１クロックに対応する値を１とし以降０とするものであり、
前記素子数の検出は、前記出力端子から出力される前記出力データが１となるまでの前記クロック信号のクロック数をカウントするものであることを特徴とする。
上記ラインヘッドの素子数検出方法によれば、ラインヘッドの素子数を検出することができる。よって、上記検出された素子数に基づいて、ファームウェアのラインヘッドに対する設定値を自動的に変更して制御することができる。従って、ディップスイッチを制御基板に設ける必要が無くなり、製造コストを低減できる。また、他種類のファームウェアを作成しなくてもよいので、ファームウェアの開発コスト低減や、管理上の煩雑さを少なくすることができる。
【０００９】
上述した目的を達成するために、本発明のラインヘッドの素子配列密度判定方法は、複数の素子が配列されたラインヘッドと、クロック信号によって入力端子から入力した入力データをシフトするシフトレジスターと、ラッチ信号により前記シフトレジスターの前記入力データを一時的に保持するラッチと、ストローブ信号に応じて該ラッチに保持された前記入力データを前記ラインヘッドの各素子に対して出力するドライバと、前記シフトレジスターから前記クロック信号により出力データを出力する出力端子と、前記クロック信号と前記入力データと前記ストローブ信号と前記ラッチ信号を出力するヘッド制御部と、前記素子数に対応する前記素子の配列密度を記憶する記憶部と、を備えるラインプリンターにおける前記ラインヘッドの素子の配列密度を判定する方法であって、
前記ラインヘッドの素子数を検出するための素子数検出データを生成し、前記ヘッド制御部が出力する前記クロック信号に同期して、前記シフトレジスターの前記入力端子に出力するステップと、
前記シフトレジスターに入力された素子数検出データが、前記出力端子から出力されることに基づき、前記ラインヘッドの素子数を検出するステップと、
検出した前記ラインヘッドの素子数より前記記憶部を参照して、前記配列密度を判定するステップと、
を含むことを特徴とする。
上記ラインヘッドの素子配列密度判定方法によれば、ラインヘッドの素子数を検出することができ、さらに、検出された素子数より素子の配列密度を判定することができる。よって、上記検出された素子数や配列密度に基づいて、ファームウェアのラインヘッドに対する設定値を自動的に変更して制御することができる。従って、ディップスイッチを制御基板に設ける必要が無くなり、製造コストを低減できる。また、他種類のファームウェアを作成しなくてもよいので、ファームウェアの開発コスト低減や、管理上の煩雑さを少なくすることができる。
【００１０】
上述した目的を達成するために、本発明のラインプリンターの設定方法は、上記ラインヘッドの素子数検出方法により検出された前記素子数および／または上記ラインヘッドの素子配列密度判定方法により判定された前記配列密度に基づいて、ファームウェアの前記ラインヘッドに対する設定値を変更することを特徴とする。
上記ラインプリンターの設定方法によれば、標準の素子数および素子配列密度のヘッドに対するファームウェアのみ用意しておけば、検出された素子数や素子配列密度に基づいて、印刷制御に係る諸設定値を変更して制御することができる。
【００１１】
また、ラインプリンターをサーマルプリンターに限定した場合は、以下のようにする。
サーマルプリンターは、複数の素子が配列されたサーマルヘッドと、クロック信号によって入力データをシフトするシフトレジスターと、ラッチ信号により前記シフトレジスターの前記入力データを一時的に保持するラッチと、ストローブ信号に応じて該ラッチに保持された前記入力データを前記サーマルヘッドの各素子に対して出力するドライバと、前記シフトレジスターから出力データを出力する出力端子と、前記クロック信号と前記入力データと前記ストローブ信号と前記ラッチ信号を出力するヘッド制御部とを備えるサーマルプリンターであって、
前記ヘッド制御部が出力する前記クロック信号に同期して、前記サーマルヘッドの素子数を検出するための素子数検出データを生成し、前記シフトレジスターに入力する素子数検出データ生成部と、
前記出力端子の前記出力データに基づき、前記素子数を検出する素子数カウント部と、
を有することを特徴とする。
この場合、前記素子数検出データ生成部は、最初の１クロックに対応する値を１とし以降０とする前記素子数検出データを生成し、
前記素子数カウント部は、
前記出力端子から出力される前記出力データが１となるまでの前記クロック数をカウントして、前記素子数を検出することを特徴とする。
好ましくは、前記素子数に対応する前記素子の配列密度を記憶する記憶部と、
前記記憶部を参照して、前記素子数カウント部で検出された素子数から素子の配列密度を判定する素子密度判定部と、
を更に有することを特徴とする。
【００１２】
また、ラインヘッドの素子数検出方法をサーマルヘッドの素子数検出方法に限定した場合は、以下のようにする。
サーマルヘッドの素子数検出方法は、複数の素子が配列されたサーマルヘッドと、クロック信号によって入力データをシフトするシフトレジスターと、ラッチ信号により前記シフトレジスターの前記入力データを一時的に保持するラッチと、ストローブ信号に応じて該ラッチに保持された前記入力データを前記サーマルヘッドの各素子に対して出力するドライバと、前記シフトレジスターの最終段のデータ出力を出力する出力端子と、前記クロック信号と前記入力データと前記ストローブ信号と前記ラッチ信号を出力するヘッド制御部と、を備えるサーマルプリンターにおける前記サーマルヘッドの素子数を検出する方法であって、
前記ヘッド制御部が出力する前記クロック信号に同期して、前記サーマルヘッドの素子数を検出するための素子数検出データを生成し、前記シフトレジスターに入力するステップと、
前記出力端子の前記出力データに基づき、前記素子数を検出するステップと、
を含むことを特徴とする。
また、前記素子数検出データは、最初の１クロックに対応する値を１とし以降０とするものであり、
前記素子数の検出は、前記出力端子から出力される前記出力データが１となるまでの前記クロック数をカウントするものであることを特徴とする。
【００１３】
また、ラインヘッドの素子配列密度判定方法をサーマルヘッドの素子配列密度判定方法に限定した場合は、以下のようにする。
サーマルヘッドの素子配列密度判定方法は、複数の素子が配列されたサーマルヘッドと、クロック信号によって入力データをシフトするシフトレジスターと、ラッチ信号により前記シフトレジスターの前記入力データを一時的に保持するラッチと、ストローブ信号に応じて該ラッチに保持された前記入力データを前記サーマルヘッドの各素子に対して出力するドライバと、前記シフトレジスターの最終段のデータ出力を出力する出力端子と、前記クロック信号と前記入力データと前記ストローブ信号と前記ラッチ信号を出力するヘッド制御部と、前記素子数に対応する前記素子の配列密度を記憶する記憶部と、を備えるサーマルプリンターにおける前記サーマルヘッドの素子の配列密度を判定する方法であって、
前記ヘッド制御部が出力する前記クロック信号に同期して、前記サーマルヘッドの素子数を検出するための素子数検出データを生成し、前記シフトレジスターに入力するステップと、
前記出力端子の前記出力データに基づき、前記素子数を検出するステップと、
検出した前記素子数より前記記憶部を参照して、前記配列密度を判定するステップと、
を含むことを特徴とする。
【００１４】
また、ラインプリンターの設定方法をサーマルプリンターの設定方法に限定した場合は、以下のようにする。
サーマルプリンターの設定方法は、上記サーマルヘッドの素子数検出方法により検出された前記素子数および／または上記サーマルヘッドの素子配列密度判定方法により判定された前記配列密度に基づいて、ファームウェアの前記サーマルヘッドに対する設定値を変更することを特徴とする。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係るサーマルプリンターの概略構成を示すブロック図である。
【図２】本発明の実施の形態におけるサーマルプリンターのサーマルヘッドの素子数検出動作手順を示すフローチャートである。
【図３】素子数検出データ生成部が出力する素子数検出データのタイミングチャートである。
【図４】素子数カウント部に入力する、シフトレジスター最終段の出力端子の出力信号のタイミングチャートである。
【図５】本発明の実施形態に係るサーマルプリンターのサーマルヘッドの素子配列密度判定動作手順を示すフローチャートである。
【図６】素子データテーブルのデータ構成の一例を示す表である。
【図７】従来のサーマルプリンターの概略構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、本発明に係るラインプリンター、サーマルプリンター、サーマルヘッドの素子数検出方法およびサーマルヘッドの素子配列密度判定方法の実施形態を説明する。
【００１７】
図１は、本発明の実施形態に係るラインプリンターでもあるサーマルプリンターの概略構成を示すブロック図である。
本実施形態のサーマルプリンター（ラインプリンター）は、サーマルヘッド１（ラインヘッド）、ラッチ・ドライバー２、ｎ段のＦＦ（フリップフロップ）からなるシフトレジスター３、シフトレジスター最終段のＦＦの出力端子４、ヘッド制御部１１、素子数カウント部１２、素子数検出データ生成部１３、素子データテーブル１４、素子密度判定部１５を有する。
【００１８】
素子数カウント部１２は、後述する素子数カウント動作により、サーマルヘッド１の素子数を検出する。素子数検出データ生成部１３は、素子数を検出する際に出力するデータを生成する。素子データテーブル１４は、検出された素子数に一意に対応する素子の配列密度を特定するために参照するデータテーブル、即ち、素子数に対応する素子の配列密度を記憶する記憶部である。素子密度判定部１５は、素子データテーブル１４の参照結果に基づいて、サーマルヘッド１の素子の配列密度を判定する。
【００１９】
ヘッド制御部１１は、シフトレジスター３（の初段のＦＦ３−１）へクロック信号ＣＬＫに同期して１ドットライン分の印刷データ（シリアルデータ）を送信する。
【００２０】
１ドットライン分の印刷データの送信が完了した時点で、ヘッド制御部１１は、ラッチ信号ＬＡＴをラッチ・ドライバー２へ送信する。これにより、をラッチ・ドライバー２内に１ドットライン分の印刷データがラッチされる（データが確定される）。このように、１ドットライン分のデータが確定した時点で、ヘッド制御部１１は、ストローブ信号ＳＴＢをラッチ・ドライバー２へ送信する。
【００２１】
ラッチ・ドライバー２は、ストローブ信号ＳＴＢを受けている間、ラッチしたデータの“１”に相当するサーマルヘッド１の発熱素子に通電する。この通電によって記録媒体であるロール紙等に１ドット分の画像が形成された後、図示しない紙送り機構によって１ドット分の紙送りがなされて、上記の手順で１ドットライン毎の印刷が順次行われる。
【００２２】
次に、上記構成のサーマルプリンターの、サーマルヘッドの素子数検出動作について説明する。
【００２３】
図２は、本発明の実施の形態におけるサーマルプリンターのサーマルヘッドの素子数検出動作手順を示すフローチャートである。はじめに、素子数検出データ生成部１３は、クロック信号と同期させて、生成した素子数検出データ２１をシフトレジスター３（の初段のＦＦ３−１）に入力する（ステップＳ１０）。
【００２４】
図３は、素子数検出データ生成部１３のデータ（Ｄａｔａ）端子から出力される素子数検出データ２１とクロック信号ＣＬＫのタイミングチャートである。図３に示すように、最初の１クロックに対応する値（データ）を１、それ以降のクロックに対応する値（データ）を０とするデータ信号を出力する。
【００２５】
次に、素子数カウント部１２のデータ入力端子（ＤａｔａＩＮ）に、シフトレジスター最終段のＦＦ３−ｎの出力端子（ＤＯ）４から出力された出力信号を入力する（ステップＳ１１）。
【００２６】
シフトレジスター３はサーマルヘッド１の素子数と同じ数だけＦＦがカスケード接続されているので、シフトレジスター最終段のＦＦ３−ｎの出力端子（ＤＯ）４の出力信号を素子数カウント部１２に取り込むことにより素子数を検出できる。
【００２７】
図４は、前述の図３のように素子数検出データ生成部１３のデータ（Ｄａｔａ）端子から出力される素子数検出データ２１が、シフトレジスター初段のＦＦ３−１の入力端子（ＤＩ）に入力された後、シフトレジスター最終段のＦＦ３−ｎの出力端子（ＤＯ）４から出力される出力信号（出力データ）と、クロック信号ＣＬＫのタイミングチャートである。
図４において、例えば、素子数が５１２である場合、５１２番目のクロックの立ち下がりに対応して、シフトレジスター最終段のＦＦ３−ｎの出力端子（ＤＯ）４から「１」の値のデータが出力され、素子数カウント部１２のデータ入力端子（ＤａｔａＩＮ）に入力する。従って、素子数カウント部１２のデータ入力端子（ＤａｔａＩＮ）へ入力するデータの値が「１」となるまでのクロック数をカウントすることにより素子数が検出される（ステップＳ１２）。
【００２８】
以上のように、素子数検出データ２１を出力し、シフトレジスター最終段のＦＦ３−ｎの出力端子４の出力信号が「１」となるまでのクロック数をカウントすることにより、サーマルヘッドの素子数を検出することができる。
【００２９】
次に、上記構成のサーマルプリンターの、サーマルヘッドの素子配列密度判定動作について説明する。
【００３０】
図５は、本発明の実施形態に係るサーマルプリンターのサーマルヘッドの素子配列密度判定動作手順を示すフローチャートである。図６は、素子データテーブル１４のデータ構成の一例を示す表である。
【００３１】
はじめに、図２のフローチャートのステップＳ１０からステップＳ１２と同様の手順でサーマルヘッド１の素子数が検出されると（ステップＳ２０からステップＳ２２）、素子密度判定部１５は、検出された素子数に基づいて、素子データテーブル１４を参照する（ステップＳ２３）。
【００３２】
検出した素子数とヘッド幅から対応するサーマルヘッドの種類は一意に検索される。例えば、図６の例では、検出された素子数が５１２であれば、サーマルヘッドの種類はヘッドＡであることがわかり、ヘッド素子密度が７ｄｏｔ／ｍｍ（１８０ｄｏｔ／ｉｎｃｈ）、ヘッド幅が７２ｍｍであることがわかる（一意に検索される）。即ち、素子データテーブル１５には、サーマルヘッドの種類毎の素子の配列密度が示されているので、素子密度判定部１５は、この素子データテーブル１５に基づいて、該当するサーマルヘッドの素子の配列密度を判定する（ステップＳ２４）。
【００３３】
以上のようにして、本実施形態に係るサーマルプリンターは、サーマルヘッドの素子数を検出することができ、さらに、検出した素子数に該当するサーマルヘッドの素子の配列密度を判定することができる。なお、上記の実施形態において、サーマルヘッドの素子数検出動作および素子配列密度判定動作は、サーマルヘッドを組み込んで、サーマルプリンターを初期化する時などに行うようにすればよい。
【００３４】
サーマルヘッドの素子数や配列密度によって、サーマルヘッドの印刷制御に係る諸設定値が変わるため、従来のサーマルプリンターではヘッドの種類毎に異なるファームウェアを用意していた。
【００３５】
これに対して、本実施形態に係るサーマルプリンターは、サーマルプリンター初期化時などに、上述のように、サーマルヘッドの素子数を検出および素子配列密度判定を行うことにより、自動的にサーマルヘッドの素子数や素子配列密度が検出できるので、標準の素子数および素子配列密度のヘッドに対するファームウェアのみ用意しておけば、上記検出された素子数や素子配列密度に基づいて、印刷制御に係る諸設定値を変更して制御することができる。
【００３６】
例えば、素子配列密度が７ｄｏｔ／ｍｍ（１８０ｄｏｔ／ｉｎｃｈ）のサーマルヘッドでは、印刷ドットの密度と紙送りピッチは０．１４１ｍｍである。また、素子配列密度が８ｄｏｔ／ｍｍ（２０３ｄｏｔ／ｉｎｃｈ）のサーマルヘッドでは、印刷ドットの密度と紙送りピッチは０．１２５ｍｍである。
【００３７】
記録媒体（印刷用紙）に対して印刷される画像の印刷領域が同じ大きさであるとすると、素子配列密度が８ｄｏｔ／ｍｍ（２０３ｄｏｔ／ｉｎｃｈ）のサーマルヘッドの方がデータ数が多いため、データ処理やデータ転送に掛かる時間が多い。
【００３８】
そして、印刷速度が速くなると影響が大きくなる。所定量の紙搬送（印刷速度）で見ても、１ドットラインのデータを印刷する時、素子配列密度が７ｄｏｔ／ｍｍ（１８０ｄｏｔ／ｉｎｃｈ）のサーマルヘッドの場合は、０．１４１ｍｍの紙送りができるのに対し、素子配列密度が８ｄｏｔ／ｍｍ（２０３ｄｏｔ／ｉｎｃｈ）のサーマルヘッドの場合は、０．１２５ｍｍである。
【００３９】
このように、サーマルヘッドの素子配列密度と印刷速度は相関関係がある。また、サーマルヘッドの素子配列密度が異なる場合は、発熱素子の大きさも異なることから（素子配列密度が２０３ｄｐｉのサーマルヘッドの方が発熱素子のサイズが小さい）、同じ温度となるまで発熱するための通電時間は、素子配列密度が７ｄｏｔ／ｍｍ（１８０ｄｏｔ／ｉｎｃｈ）のサーマルヘッドより、素子配列密度が８ｄｏｔ／ｍｍ（２０３ｄｏｔ／ｉｎｃｈ）のサーマルヘッドの方が小さくて済む。
【００４０】
さらに、本実施形態によって検出された素子数および素子配列密度に基づいて、印刷制御に係る諸設定値を変更して制御する例を挙げて説明する。
【００４１】
（ヘッド幅が同じで素子配列密度が異なる場合）
まず、標準仕様の素子配列密度が７ｄｏｔ／ｍｍであるファームウェアが搭載されているサーマルプリンターに対して、プリンタの初期化時に、前述の図５で示した、本発明の実施形態に係るサーマルプリンターのサーマルヘッドの素子配列密度判定動作手順により、素子配列密度を判定する。
【００４２】
この結果、素子配列密度が８ｄｏｔ／ｍｍであった場合、標準仕様の素子配列密度が７ｄｏｔ／ｍｍであるので、同じフォントを使うと、密度が高いため文字が小さく印刷されてしまうため、文字の大きさを変更する。例えば、フォントを複数種類持つことで幅の大きいフォントを選択して印刷桁数が標準仕様（素子配列密度が７ｄｏｔ／ｍｍ）の場合と同じになるようにする。或いは、同じフォントで印字桁数を、例えば標準仕様の場合に４２桁だったところを４７桁に変更する。
【００４３】
これによって、標準仕様のファームウェアであっても、素子配列密度が異なる仕様のサーマルヘッドを使用して、ホストコンピュータから指示された印刷内容を正確に印刷することができる。
【００４４】
また、印刷ドットの密度が異なる時は、紙送りピッチの変更も必要になる。素子配列密度が１８０ｄｐｉのサーマルヘッドの場合は、紙送りピッチも標準仕様で制御しているが、素子配列密度が標準仕様と異なる場合（８ｄｏｔ／ｍｍなど）である場合は、予め異なる歯数のギアを複数用意しておけば、ギアを切り替えて送り紙送りピッチの変更を行うことができる。あるいは、モータの制御による紙送りピッチの変更でもよい。
【００４５】
（素子配列密度が同じで素子数が異なる場合）
テキスト印刷の場合は、文字データからヘッドへ送信するデータをサーマルプリンターがシリアルデータに展開するため、素子数に合わせて、サーマルヘッドへ何ビット送信すればよいかが重要となる。
【００４６】
本発明の実施形態に係るサーマルプリンターでは、素子数を自動的に検出するので、素子数が異なるサーマルヘッドを搭載しても、検出された素子数に合わせて送信するデータのビット数を制御することができるので、テキストの印刷データをこぼすことがなく印刷できる。
【００４７】
以上、詳述したように、本発明に係るサーマルプリンター、サーマルヘッドの素子数検出方法およびサーマルヘッドの素子配列密度判定方法によれば、外部からサーマルヘッドの素子数を検出し、素子配列密度を判定することができる。
【００４８】
よって、上記検出された素子数や素子配列密度に基づいて、標準仕様のファームウェアのサーマルヘッドに対する設定値を自動的に変更して制御することができる。従って、ディップスイッチを制御基板に設ける必要が無くなり、製造コストを低減できる。また、他種類のファームウェアを作成しなくてもよいので、ファームウェアの開発コスト低減や、管理上の煩雑さを少なくすることができる。また、検出した素子数に基づいて印刷領域を決定することができる。
【符号の説明】
【００４９】
１…サーマルヘッド（ラインヘッド）、２…ラッチ・ドライバー、３…シフトレジスター、３−１，３−２，・・・，３−ｎ…シフトレジスターを構成するＦＦ（フリップフロップ）、４…シフトレジスター最終段のＦＦの出力端子、１１…ヘッド制御部、１２…素子数カウント部、１３…素子数検出データ生成部、１４…素子データテーブル（素子の配列密度を記憶する記憶部）、１５…素子密度判定部、２１…素子数検出データ
【図１】
0005407353.tif 000002
【図２】
0005407353.tif 000003
【図３】
0005407353.tif 000004
【図４】
0005407353.tif 000005
【図５】
0005407353.tif 000006
【図６】
0005407353.tif 000007
【図７】
0005407353.tif 000008