(57)【要約】【課題】プリンタの誤動作または未動作を抑制すること。【解決手段】不揮発性メモリ内の第１領域４２にプリンタの第１設定を、前記不揮発性メモリ内のそれぞれ異なる第２領域４０に複数のコードを、それぞれ書き込む書き込み部と、前記複数のコードのうち少なくとも１つのコードが前記書き込み部が書き込んだ対応するコードと一致しない場合、前記第１領域４２に前記プリンタの第２設定を、前記それぞれ異なる第２領域４０に前記複数のコードを、書き込む再書き込み部と、を具備するプリンタ。【選択図】  図５
2011245817.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリ内の第１領域にプリンタの第１設定を、前記不揮発性メモリ内のそれぞれ異なる第２領域に複数のコードを、それぞれ書き込む書き込み部と、
前記複数のコードのうち少なくとも１つのコードが前記書き込み部が書き込んだ対応するコードと一致しない場合、前記第１領域に前記プリンタの第２設定を、前記それぞれ異なる第２領域に前記複数のコードを、書き込む再書き込み部と、
を具備することを特徴とするプリンタ。
【請求項２】
前記第２領域の少なくとも１つは、前記第１設定を書き込むセクタの先頭領域および末尾領域の少なくとも一方を含むことを特徴とする請求項１記載のプリンタ。
【請求項３】
前記第２領域の少なくとも１つは、前記第１領域の直前および直後の領域の少なくとも一方を含むことを特徴とする請求項１または２記載のプリンタ。
【請求項４】
前記第２領域の少なくとも１つは、連続した複数の前記第１領域の直前および直後の領域の少なくとも一方を含むことを特徴とする請求項１または２記載のプリンタ。
【請求項５】
前記第２設定は、前記プリンタのデフォルト設定であることを特徴とする請求項１から４のいずれか一項記載のプリンタ。
【請求項６】
前記第２設定は、設定可能であることを特徴とする請求項１から４のいずれか一項記載のプリンタ。
【請求項７】
不揮発性メモリ内の第１領域にプリンタの第１設定を、前記不揮発性メモリ内のそれぞれ異なる第２領域に複数のコードを、それぞれ書き込むステップと、
前記複数のコードのうち少なくとも２つのコードが前記書き込み部が書き込んだ対応するコードと一致しない場合、前記第１領域に前記プリンタの第２設定を、前記それぞれ異なる第２領域に前記複数のコードを、書き込むステップと、
を含むことを特徴とするプリンタの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタおよびプリンタの制御方法に関し、特に、不揮発性メモリに設定を書き込むプリンタおよびプリンタの制御方法に関する。
【背景技術】
【０００２】
動作モード等の各種設定情報を不揮発性メモリに書き込むプリンタが知られている（例えば特許文献１）。各種設定情報を不揮発性メモリに書き込んでおくことにより、再始動した際に、電源遮断前の各種設定情報を読み出すことができる。これにより、各種設定情報を再設定しなくともよい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１７５０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば不揮発性メモリ内に各種設定を書き込み中に電源が遮断された場合等、不揮発性メモリ内の各種設定が破壊された場合、プリンタが誤動作する、または起動しなくなることがある。
【０００５】
本発明は、上記課題に鑑みなされたものであり、プリンタの誤動作または未動作を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、不揮発性メモリ内の第１領域にプリンタの第１設定を、前記不揮発性メモリ内のそれぞれ異なる第２領域に複数のコードを、それぞれ書き込む書き込み部と、前記複数のコードのうち少なくとも１つのコードが前記書き込み部が書き込んだ対応するコードと一致しない場合、前記第１領域に前記プリンタの第２設定を、前記それぞれ異なる第２領域に前記複数のコードを、書き込む再書き込み部と、を具備することを特徴とするプリンタである。本発明によれば、プリンタの誤動作または未動作を抑制することができる。
【０００７】
上記構成において、前記第２領域の少なくとも１つは、前記第１設定を書き込むセクタの先頭領域および末尾領域の少なくとも一方を含む構成とすることができる。この構成によれば、プリンタの誤動作または未動作をより抑制することができる。
【０００８】
上記構成において、前記第２領域の少なくとも１つは、前記第１領域の直前および直後の領域の少なくとも一方を含む構成とすることができる。この構成によれば、プリンタの誤動作または未動作をより抑制することができる。
【０００９】
上記構成において、前記第２領域の少なくとも１つは、連続した複数の前記第１領域の直前および直後の領域の少なくとも一方を含む構成とすることができる。
【００１０】
上記構成において、前記第２設定は、前記プリンタのデフォルト設定である構成とすることができる。
【００１１】
上記構成において、前記第２設定は、設定可能である構成とすることができる。
【００１２】
本発明は、不揮発性メモリ内の第１領域にプリンタの第１設定を、前記不揮発性メモリ内のそれぞれ異なる第２領域に複数のコードを、それぞれ書き込むステップと、前記複数のコードのうち少なくとも２つのコードが前記書き込み部が書き込んだ対応するコードと一致しない場合、前記第１領域に前記プリンタの第２設定を、前記それぞれ異なる第２領域に前記複数のコードを、書き込むステップと、を含むことを特徴とするプリンタの制御方法である。本発明によれば、プリンタの誤動作または未動作を抑制することができる。
【発明の効果】
【００１３】
本発明によれば、プリンタの誤動作または未動作を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１に係るプリンタのブロック図である。
【図２】図２は、制御部のメインルーチンの処理を示すフローチャートである。
【図３】図３は、初期化処理内の処理の例を示すフローチャートである。
【図４】図４は、不揮発性メモリのメモリ領域を示す図である。
【図５】図５（ａ）から図５（ｄ）は、セクタ３内の領域を示す図である。
【図６】図６は、コマンド処理内の処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照し、実施例について説明する。
【実施例１】
【００１６】
実施例１は、サーマルプリンタの例である。図１は、実施例１に係るプリンタのブロック図である。図１のように、プリンタ１００は、制御部１０、不揮発性メモリ１６、ＲＯＭ（Read Only Memory）１８、機械部２０、操作部２２および入出力部２４を備えている。制御部１０は、例えばＣＰＵ（Central Processing Unit）であり、操作部２２および入出力部２４からの入力情報に基づき、機械部２０、操作部２２および入出力部２４を制御する。制御部１０は、読み出し部１２、書き込み部１３および再書き込み部１４として機能する。読み出し部１２は、不揮発性メモリ１６内の第１領域からプリンタ１００の設定である第１設定を読み出す。書き込み部１３は不揮発性メモリ１６に、プリンタ１００の動作設定である第１設定を書き込む。再書き込み部１４は、不揮発性メモリ１６内の第１設定情報が破壊されている場合、第１領域に第２設定を書き込む。このように、第１設定は、プリンタ１００が動作するための設定であり、第２設定は、第１設定が記憶されている不揮発性メモリの領域が壊れた場合に、再書き込みを行うための設定である。
【００１７】
機械部２０は、サーマルヘッド、用紙送り機構等を含んでおり、用紙に文字や図形を印刷する。操作部２２は、電源スイッチや各種操作スイッチを含んでいる。使用者が操作部２２を操作することにより、プリンタ１００の各種設定が可能である。入出力部２４が、外部との情報の入出力を行う。例えば、外部から印刷する文字や図柄の情報が入出力部２４に入力する。また、印刷結果を入出力部２４から外部に出力する。
【００１８】
図２は、制御部のメインルーチンの処理を示すフローチャートである。図２のように、制御部１０は、プリンタ１００の電源を投入する（ステップＳ１０）。例えば、操作部２２の電源スイッチがオンとなった場合、または、外部装置から入出力部２４を介し、電源オンの要求があった場合、制御部１０は、プリンタ１００の電源を投入する。制御部１０は、初期化処理を行う（ステップＳ１２）。制御部１０はリセット要求がなされているか判断する（ステップＳ１４）。Ｙｅｓの場合、ステップＳ１２に戻る。Ｎｏの場合、制御部１０は、プリンタ１００の状態が変化したか判断する。プリンタ１００の状態に変化がある場合、例えば入出力部２４から外部装置にプリンタ１００の状態を通知する（ステップＳ１６）。制御部１０は電源オフの要求があるかを判断する（ステップＳ１８）。例えば、操作部２２の電源スイッチがオフとなった場合、または、外部装置から入出力部２４を介し、電源オフの要求があった場合、制御部１０は、電源オフの要求があると判断する。Ｙｅｓの場合、制御部１０は、プリンタの設定（第１設定）を不揮発性メモリ１６内の第１領域に、複数のコードを不揮発性メモリ１６内のそれぞれ異なる第２領域にそれぞれ書き込む（ステップＳ２８）。制御部１０は、電源オフ処理を行う（ステップＳ３０）。
【００１９】
ステップＳ１８においてＮｏの場合、制御部１０はプリンタ１００がエラー状態か判断する（ステップＳ２０）。Ｙｅｓの場合、ステップＳ１４に戻る。Ｎｏの場合、制御部１０は、入出力部２４から入力されたコマンドまたは制御部１０が発生したコマンドに基づき、コマンドに対応する処理を行う（ステップＳ２２）。制御部１０は、印字データがあるか判断する（ステップＳ２４）。例えば入出力部２４から印字データが入力されているか判断する。Ｎｏの場合、ステップＳ１４に戻る。Ｙｅｓの場合、印字処理を行う（ステップＳ２６）。その後、ステップＳ１４に戻る。
【００２０】
図３は、初期化処理内の処理の例を示すフローチャートである。図３のように、制御部１０の読み出し部１２は、不揮発性メモリ１６内の複数の第２領域に対応する複数のコードを読み出す（ステップＳ４０）。制御部１０は、読み出された複数のコードがそれぞれ正規のコードと一致するか判断する（ステップＳ４２）。Ｙｅｓの場合、読み出し部１２は、不揮発性メモリ１６の第１領域から第１設定を読み出す（ステップＳ４４）。Ｎｏの場合、再書き込み部１４は、不揮発性メモリ１６の第１領域にプリンタ１００の第２設定（例えばデフォルト等）を、それぞれ異なる第２領域に複数のコードを、書き込む（ステップＳ４６）。その後終了する。
【００２１】
実施例１によれば、図２のステップＳ２８のように、書き込み部１３が不揮発性メモリ１６内の第１領域にプリンタ１００の第１設定を、不揮発性メモリ１６内のそれぞれ異なる第２領域に複数のコードを、それぞれ書き込む。図３のステップＳ４６のように、複数のコードのうち少なくとも１つのコードが書き込み部１３が書き込んだ対応するコードと一致しない場合、第１領域にプリンタ１００の第２設定を、それぞれ異なる第２領域に複数のコードを、書き込む。このように、複数のコードのうち少なくとも１つのコードが書き込み部１３が書き込んだコードと異なる場合、不揮発性メモリ１６のセクタのデータが壊れている可能性がある。そこで、例えばデフォルト等の第２設定を不揮発性メモリ１６内の対応する領域に書き込むことにより、プリンタ１００が動作することができる。また、２つ以上のコードでデータの破壊の有無を判断するため、より正確に判断することができる。なお、図３のステップＳ４２において、配置した複数のコード全てについて正規のコードと一致するか判定しなくてもよい。すなわち、配置した複数のコードのうち少なくとも２以上のコードについて正規のコードと一致するか判定すればよい。
【００２２】
表１は、不揮発性メモリ１６内に書き込む設定のアドレスの割当例である。例えば、アドレス３００００〜３００７Ｆには、プリンタ設定情報を割り当てる。プリンタ設定情報としては、例えば、用紙の有無を検出するしきい値、改行量、改ページ量、行間スペース、文字サイズ、文字フォント、余白幅等がある。アドレス３０１００〜３０１ＦＦには、ＲＳ−２３２Ｃ通信設定情報を割り当てる。アドレス３０２００〜３０２ＦＦには、ＩｒＤＡ（Infrared Data Association）通信設定情報を割り当てる。アドレス３０２００〜３０３ＦＦには、ＵＳＢ（Universal Serial Bus）通信設定情報を割り当てる。３０４００〜３０４ＦＦには、Ｂｕｌｕｔｏｏｔｈ通信設定情報を割り当てる。
【表１】
2011245817.tif 000003
【００２３】
図４は、不揮発性メモリのメモリ領域を示す図である。不揮発性メモリ１６としては、例えばフラッシュメモリを用いる。不揮発性メモリ１６のメモリ領域は、例えば６４Ｋｂｙｔｅのセクタに分かれており、セクタ毎に、プログラムおよび設定情報等が割り当てられている。実施例１においては、セクタ３にプリンタの設定が書き込まれている。
【００２４】
図５（ａ）から図５（ｄ）は、セクタ３内の領域を示す図である。図５（ａ）のように、セクタ３０内には設定を書き込む領域３４と書き込まない領域３２が存在する。第１設定が書き込まれる領域が第１領域４２であり、コードが書き込まれる領域が第２領域４０である。図５（ａ）の例では、セクタ３０の中央領域が領域３４である。領域３４は、セクタ３０のいずれの領域でもよい。領域３４内の第１領域４２に第１設定が書き込まれている。コードがセクタの先頭領域および末尾領域の第２領域４０に書き込まれている。先頭領域または末尾領域のデータが壊れているとセクタ内のデータが壊れている可能性が高い。よって、第２領域４０の少なくとも１つは、第１設定を書き込むセクタの先頭領域および末尾領域の少なくとも一方を含むことにより、データの破壊をより検出することが可能となる。よって、プリンタの誤動作または未動作をより抑制することができる。
【００２５】
図５（ｂ）例では、第１設定のうちの少なくとも１つの設定が書き込まれた第１領域４２の直後にコードが書きこまれている。また、図５（ｃ）の例では、第１設定のうちの少なくとも１つの設定が書き込まれた第１領域４２の直前と直後にコードが書き込まれている。このように、第２領域４０の少なくとも１つは、第１領域４２の直前および直後の領域の少なくとも一方を含むことが好ましい。これにより、より設定データの破壊を検出することができる。よって、プリンタの誤動作または未動作をより抑制することができる。
【００２６】
図５（ｄ）の例では、複数の第１設定をそれぞれ書き込む第１領域４２が複数連続して割り当てられている。割り当てられた第１領域４２の直前領域および直後領域にコードを書き込んでいる。例えば、表１において、プリンタ設定情報の直前領域および直後領域にコードを書き込む。このように、第２領域４０の少なくとも１つは、連続した複数の第１領域４２の直前および直後の領域の少なくとも一方を含むこともできる。これにより、第１設定の設定値が多い場合に第２領域４０の数を少なくできる。
【００２７】
図３のステップＳ４６において、不揮発性メモリ１６に書き込む第２設定は、例えばＲＯＭ１８に格納されているプリンタ１００の設定のデフォルト値とすることができる。また、第２設定は、不揮発性メモリ１６の他のセクタ（例えば図４のセクタｎ）に格納しておき、設定可能とすることもできる。
【００２８】
図６は、コマンド処理内の処理の例を示すフローチャートである。図６を参照にし、制御部１０は、コマンドデータの解析を行う（ステップＳ５０）。制御部１０は、コマンドが第１設定の変更コマンドか判断する（ステップＳ５２）。Ｙｅｓの場合、制御部１０は、第１設定を変更し、変更した第１設定を不揮発性メモリ１６に書き込む（ステップＳ５４）。このとき、例えばフラッシュメモリにおいては、セクタ（例えば図４のセクタ３）全体を消去し、第１設定およびコードを再度書き込む。その後終了する。ステップＳ５２においてＮｏの場合、制御部１０は、コマンドが第２設定の変更コマンドか判断する（ステップＳ５６）。Ｙｅｓの場合、制御部１０は第２設定が書き込まれているセクタ（例えば図４のセクタｎ）に第２設定を書き込む。これにより、第２設定を変更することができる。ステップＳ５６においてＮｏの場合、終了する。図６のように、第２設定は設定可能とすることができる。
【００２９】
コードとしては、複数のコード全てが異なるコードでもよいし、全てが同じコードでもよい。また少なくとも一部が同じコードでもよい。コードが長いと、コードの一致を判定するのに時間がかかる。一方、コードが短いと、コードが壊れているかの確認ができない場合がある。そこで、例えばコードを４バイトとすることができる。例えば、コードが書き込まれていない場合、第２領域を「ＦＦＦＦＦＦＦＦ」とすることができる。
【００３０】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３１】
１０    制御部
１２    読み出し部
１３    書き込み部
１４    再書き込み部
１６    不揮発性メモリ
４０    第２領域
４２    第１領域
【図１】
2011245817.tif 000004
【図２】
2011245817.tif 000005
【図３】
2011245817.tif 000006
【図４】
2011245817.tif 000007
【図５】
2011245817.tif 000008
【図６】
2011245817.tif 000009