説明

記録装置、記録装置の制御方法、及び、プログラム

【課題】ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶された記録装置において、ファームウェアが書き換えられた場合、設定値を書き換え後のファームウェアに対応させた上で、設定値を利用した各種処理を正常に行える状態とする。
【解決手段】プリンター1の制御部14は、ファームウェア25を書き換える際、書き換え後のファームウェア25に対応して追加すべき設定値である追加設定値の情報を、フラッシュメモリー19に記憶すると共に、ファームウェア25の書き換え後に実行される初期化処理に際し、フラッシュメモリー19の追加設定値の情報に基づいて、設定値をEEPROM20に書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録媒体に記録する記録装置、当該記録装置の制御方法、及び、当該記録装置を制御するためのプログラムに関する。
【背景技術】
【0002】
従来、ファームウェア、及び、各種設定値を記憶し、各種設定値を参照しつつ、ファームウェアを実行することにより、記録に係る各種動作を実行する記録装置(印刷制御装置)が知られている(例えば、特許文献1参照)。
この種の記録装置では、ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶されたものがある。例えば、フラッシュメモリーと、EEPROMとを備え、ファームウェアをフラッシュメモリーに、設定値をEEPROMにそれぞれ記憶する記録装置がある。これにより、ファームウェア及び設定値の特性(書き換えの頻度や、データの大きさ、書き換え時に書き換え対象となるデータの大きさ等)及びそれぞれの記憶媒体の特性(データを消去する際の単位、書き換え可能回数、経済性(値段)等)を踏まえて、ファームウェア及び設定値のそれぞれを適切な記憶媒体に記憶させた状態とすることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−203926号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、上述した記録装置のように、ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶されたものでは、ファームウェアの書き換えに際し、ファームウェアとは別の記憶領域に記憶された設定値を、書き換え後のファームウェアに確実に対応させた上で、書き換え後に行われる設定値を利用した各種処理を正常に行える状態としたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶された記録装置において、ファームウェアが書き換えられた場合、設定値を書き換え後のファームウェアに対応させた上で、設定値を利用した各種処理を正常に行える状態とすることを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、記録媒体に記録する記録装置であって、ファームウェアが第1の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第1の記憶領域と異なる第2の記憶領域に記憶されており、前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第1の記憶領域に記憶すると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第1の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第2の記憶領域に書き込む制御部を備えることを特徴とする。
この構成によれば、まず、ファームウェアの書き換えの際に、当該ファームウェアの書き換えと同時に、書き換え後のファームウェアに対応して追加すべき設定値である追加設定値の情報が1の記憶領域に記憶される。そして、ファームウェアの書き換え後に実行される初期化処理において、当該1の記憶領域に記憶された追加設定値の情報に基づいて、他の記憶領域に追加すべき設定値が記憶されることとなるため、他の記憶領域に記憶された設定値を、書き換え後のファームウェアに対応した状態とすることができる。さらに、初期化処理時に、ファームウェアの書き換えに対応して追加すべき設定値が他の領域に書き込まれるため、以後、設定値を参照してファームウェアを実行する際に、追加すべき設定値が不定であることに起因したエラー等が発生することが防止され、設定値を利用した各種処理を正常に行える状態となる。
さらに、上記構成では、ファームウェアの書き換え後に行われる初期化処理時に、ファームウェアの書き換えに対応して他の領域における設定値を書き換える(例えば、他の領域における設定に係るデータを、一旦、削除し、必要な全ての設定を新たに書き込む)のではなく、追加すべき設定値のみが新たに書き込まれることとなるため、初期化処理に伴って既存の設定値が変更されることが防止され、再設定の手間を省けると共に、既存の設定値が変更されることに起因した不具合が発生することを効果的に防止することができる。
【0006】
また、上記発明の記録装置であって、本発明は、前記第1の記憶領域では、前記第1の記憶領域に記憶されている前記ファームウェアに対応する設定値のバージョンを示す情報が記憶されており、前記第2の記憶領域では、現在前記第2の記憶領域に記憶されている設定値のバージョンを示す情報が記憶されており、前記制御部は、前記ファームウェアを書き換える際、前記追加設定値の情報を、前記追加設定値に対応する設定値のバージョンを示す情報と対応付けて前記第1の記憶領域に記憶すると共に、書き換え後の前記ファームウェアに対応する設定値のバージョンを示す情報を前記第1の記憶領域に記憶し、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第1の記憶領域に記憶した書き換え後の前記ファームウェアに対応する設定値のバージョンを示す情報と、前記第2の記憶領域に記憶されている設定値のバージョンを示す情報とを比較して、バージョンの差異を検出し、前記第1の記憶領域において、当該差異分のバージョンと対応付けて記憶された前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第2の記憶領域に書き込むことを特徴とする。
この構成によれば、1の記憶領域に記憶した書き換え後のファームウェアに対応する設定値のバージョンを示す情報と、他の記憶領域に記憶されている設定値のバージョンを示す情報とを比較して、バージョンの差異を検出し、1の記憶領域において、当該差異分のバージョンと対応付けて記憶された追加設定値の情報に基づいて、当該追加設定値に対応する設定値を他の記憶領域に書き込むという単純な作業で、確実に追加すべき設定値を、他の記憶領域に書き込むことが可能となる。
【0007】
また、上記発明の記録装置であって、本発明は、前記第1の記憶領域と、前記第2の記憶領域とは、それぞれ異なる記憶媒体に形成されていることを特徴とする。
ここで、ファームウェアをフラッシュメモリーに、設定値をEEPROMにそれぞれ記憶する等、ファームウェア、設定値の特性、及び、フラッシュメモリー、EEPROMの特性を反映して、ファームウェアと設定値とを、それぞれ異なる記憶媒体に記憶することは、しばしばある。
以上を踏まえ、上記構成によれば、ファームウェアと設定値とが、それぞれ異なる記憶媒体に記憶されている記録装置において、ファームウェアが書き換えられた場合、設定値を書き換え後のファームウェアに対応させた上で、設定値を利用した各種処理を正常に行える状態とすることが可能となる。
【0008】
また、上記発明の記録装置であって、本発明は、設定値には、光学的な検出に用いる閾値と、各種動作に関する実行条件とのうち、少なくとも一方が含まれることを特徴とする。
ここで、光学的な検出に用いる閾値は、記録装置ごとに異なっており、記録装置ごとに個別に設定される。また、記録に係る動作に関する各種実行条件も、記録装置が設置される環境や、記録装置に求められる記録品質によって異なるため、記録装置ごとに個別に設定される。
これを踏まえ、上記構成によれば、ファームウェアが書き換えられた場合であっても、既存の、光学的な検出に用いる閾値、又は、記録に係る動作に関する各種実行条件については、その値、内容が変更されないため、再設定する手間を省くことができると共に、再設定されていないことに起因した不具合等が発生するリスクを低減できる。
【0009】
また、上記目的を達成するために、本発明は、ファームウェアが第1の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第1の記憶領域と異なる第2の記憶領域に記憶され、記録媒体に記録する記録装置の制御方法であって、前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第1の記憶領域に記憶すると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第1の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第2の記憶領域に書き込むことを特徴とする。
この制御方法によれば、まず、ファームウェアの書き換えの際に、当該ファームウェアの書き換えと同時に、書き換え後のファームウェアに対応して追加すべき設定値である追加設定値の情報が1の記憶領域に記憶される。そして、ファームウェアの書き換え後に実行される初期化処理において、当該1の記憶領域に記憶された追加設定値の情報に基づいて、他の記憶領域に追加すべき設定値が記憶されることとなるため、他の記憶領域に記憶された設定値を、書き換え後のファームウェアに対応した状態とすることができる。さらに、初期化処理時に、ファームウェアの書き換えに対応して追加すべき設定値が他の領域に書き込まれるため、以後、設定値を参照してファームウェアを実行する際に、追加すべき設定値が不定であることに起因したエラー等が発生することが防止され、設定値を利用した各種処理を正常に行える状態となる。
さらに、上記制御方法では、ファームウェアの書き換え後に行われる初期化処理時に、ファームウェアの書き換えに対応して他の領域における設定値を書き換える(例えば、他の領域における設定に係るデータを、一旦、削除し、必要な全ての設定を新たに書き込む)のではなく、追加すべき設定値のみが新たに書き込まれることとなるため、初期化処理に伴って既存の設定値が変更されることが防止され、再設定の手間を省けると共に、既存の設定値が変更されることに起因した不具合が発生することを効果的に防止することができる。
【0010】
また、上記目的を達成するために、本発明は、記録媒体に記録する記録装置を制御する制御部により実行されるプログラムであって、前記記録装置には、ファームウェアが第1の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第1の記憶領域と異なる第2の記憶領域に記憶されており、前記制御部に、前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第1の記憶領域に記憶させると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第1の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第2の記憶領域に書き込ませることを特徴とする。
このプログラムを実行すれば、まず、ファームウェアの書き換えの際に、当該ファームウェアの書き換えと同時に、書き換え後のファームウェアに対応して追加すべき設定値である追加設定値の情報が1の記憶領域に記憶される。そして、ファームウェアの書き換え後に実行される初期化処理において、当該1の記憶領域に記憶された追加設定値の情報に基づいて、他の記憶領域に追加すべき設定値が記憶されることとなるため、他の記憶領域に記憶された設定値を、書き換え後のファームウェアに対応した状態とすることができる。さらに、初期化処理時に、ファームウェアの書き換えに対応して追加すべき設定値が他の領域に書き込まれるため、以後、設定値を参照してファームウェアを実行する際に、追加すべき設定値が不定であることに起因したエラー等が発生することが防止され、設定値を利用した各種処理を正常に行える状態となる。
さらに、上記プログラムによれば、ファームウェアの書き換え後に行われる初期化処理時に、ファームウェアの書き換えに対応して他の領域における設定値を書き換える(例えば、他の領域における設定に係るデータを、一旦、削除し、必要な全ての設定を新たに書き込む)のではなく、追加すべき設定値のみが新たに書き込まれることとなるため、初期化処理に伴って既存の設定値が変更されることが防止され、再設定の手間を省けると共に、既存の設定値が変更されることに起因した不具合が発生することを効果的に防止することができる。
【発明の効果】
【0011】
本発明によれば、ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶された記録装置において、ファームウェアが書き換えられた場合、設定値を書き換え後のファームウェアに対応させた上で、設定値を利用した各種処理を正常に行える状態とする。
【図面の簡単な説明】
【0012】
【図1】プリンター及びホストコンピューターの構成を示すブロック図である。
【図2】プリンターの動作を示すフローチャートである。
【図3】ファームウェアの書き換えの説明に使用する図である。
【図4】初期値テーブル及び初期値テーブルバージョン情報を示す図である。
【図5】設定値データ及び現在設定値バージョン情報を示す図である。
【図6】設定値データ及び現在設定値バージョン情報の変化の様子を示す図。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係るプリンター1、及び、ホストコンピューター10の機能的構成を示すブロック図である。
図1に示すように、プリンター1は、記録ヘッド11を備え、ホストコンピューター10の制御の下、この記録ヘッド11に形成されたノズルからインクを吐出して、記録媒体にドットを形成するインクジェット式プリンターであり、制御部14と、入力部15と、表示部16と、プリントエンジン17と、媒体検出センサー18と、フラッシュメモリー19と、EEPROM20と、インターフェイス部21を備えている。
制御部14は、CPUや、ワークエリアとして機能するRAM23、その他の周辺回路を備え、フラッシュメモリー19に記憶されたファームウェア25を読み出して実行することにより、プリンター1の各部を中枢的に制御する。
入力部15は、プリンター1に設けられた各種スイッチに接続され、スイッチに対する操作を検出し、制御部14に出力する。
表示部16は、プリンター1に設けられたLEDに接続され、制御部14の制御の下、LEDに対して制御信号を出力して、LEDを所定の態様で点灯/消灯させる。また、液晶表示パネル等の表示パネルを設け、表示部16により表示パネルに各種情報を表示する構成としてもよい。
【0014】
プリントエンジン17は、記録媒体にインクを吐出してドットを形成することにより画像を記録する記録ヘッド11や、この記録ヘッド11を走査させるキャリッジ、記録媒体を所定方向に搬送する搬送ローラー等の記録に係る装置、機構を備え、制御部14の制御の下、記録に係る装置、機構を制御して、記録媒体に記録を行う。
媒体検出センサー18は、記録媒体の搬送経路上に設けられた反射型のフォトセンサーであり、当該センサーが設けられた位置における記録媒体の有無を非接触で検出する。
より詳細には、媒体検出センサー18が備えるフォトトランジスターによる受光量を示す値が制御部14に出力され、制御部14は、フォトトランジスターによる受光量が閾値TH1を上回っている場合は、当該センサーに対応する位置に記録媒体が位置していると判別し、一方、閾値TH1を下回っている場合は、当該センサーに対応する位置に記録媒体が位置していないと判別する。
インターフェイス部21(I/F)は、制御部14の制御の下、ホストコンピューター10との間で、所定の規格に準拠した通信を行う。
【0015】
フラッシュメモリー19、及び、EEPROM20は、それぞれ、不揮発性の半導体メモリーである。周知のとおり、フラッシュメモリー19は、ブロック単位でデータの書き換え(データの消去、及び、新たなデータの書き込み)が行われる一方、EEPROM20は、バイト単位でのデータの書き換え(データの消去、及び、新たなデータの書き込み)が可能である。また、フラッシュメモリー19は、EEPROM20と比較して、経済的(安価)である。
これを踏まえ、本実施形態では、第1の記憶領域としてのフラッシュメモリー19には、ファームウェア25が記憶される一方、第2の記憶領域としてのEEPROM20には、設定値データ26が記憶される。ファームウェア25とは、プリンター1を制御するプログラムである。設定値データ26とは、各種設定値が集合したデータである。設定値とは、ファームウェア25の実行に際して利用される設定や、条件等の具体的な値のことであり、例えば、設定として印字速度が存在する場合の印字速度の値(例えば、高速、中速、及び、低速のうちいずれかを示す値)等である。設定値の具体的な他の例については後述する。
このようにフラッシュメモリー19には、ファームウェア25が記憶される一方、EEPROM20には、設定値データ26が記憶されるのは、以下に理由による。すなわち、設定値は、それぞれ個別に変更されるものであるため、比較的小さなデータを必要に応じて書き換えることが求められており、記憶する記憶媒体としてバイト単位でデータの書き換えが可能なEEPROM20が適しており、一方、ファームウェア25は、書き換えの際には、ファームウェア25全体が一旦消去され、新たなファームウェア25が書き込まれることとなるため、ブロック単位でのデータの書き換えしかできないことによるデメリットが小さく、逆に、経済的な面でのメリットが大きいフラッシュメモリー19が、記憶される記憶媒体として適しているからである。
【0016】
本実施形態に係るプリンター1は、ノズルチェック処理を実行可能である。
ノズルチェック処理とは、記録ヘッド11に設けられたノズルのそれぞれについて、インクの吐出不良が発生しているか否かを検出する処理である。
ノズルチェック処理は、例えば、以下のようにして行われる。
すなわち、まず、所定の位置に記録ヘッド11を搬送する。当該所定の位置において、記録ヘッド11からインクが吐出され着弾する領域には、導電材が配置されていると共に、導電材を流れる電流の状態または電荷の変化を検出可能な構成となっている。記録ヘッド11の一のノズルの近傍には、吐出するインクを帯電させる電極が配置されている。
そして、記録ヘッド11の一のノズルから、電極により帯電したインク滴(液滴)を、導電材が配置された領域に吐出すると共に、着弾したインクの電荷により導電材を流れる電流の状態または電荷の変化を検出し、検出した電流または電荷の状態に基づいて、想定された態様で、想定された量のインクが吐出されたか否かを判別することにより、当該一のノズルに、インクの吐出不良が発生しているか否かを検出する。1回のノズルチェック処理では、記録ヘッド11に設けられた全てのノズルについて吐出不良の検出が順次行われる。
このほか、一のノズルから、ノズルチェックのために、記録媒体にインクを吐出し、記録媒体に形成されたドットをスキャナーなどで光学的に読み取って、当該一のノズルに吐出不良が生じているか否かを判別するようにしてもよい。すなわち、1つ1つのノズルについて、ノズルの吐出不良が検出できるのであれば、いかなる方法を用いてノズルチェックを行ってもよい。
【0017】
ホストコンピューター10には、プリンター1を制御するためのプリンタードライバーがインストールされている。
プリンター1により記録媒体に記録を行う際、ホストコンピューター10は、プリンタードライバーを読み出して実行することにより、プリンター1を制御するための制御コマンドを生成し、プリンター1に出力する。
制御コマンドが入力されたプリンター1は、順次、制御コマンドを読み出して実行することにより、プリントエンジン17を制御して、記録媒体への記録に係る各種動作を、順次、実行する。
【0018】
次いで、ファームウェア25の書き換え時におけるプリンター1の動作について説明する。
【0019】
図2は、プリンター1の動作を示すフローチャートである。
以下の説明において、制御部14の機能は、CPUがファームウェア25を読み出して実行する等、ソフトウェアとハードウェアとの協働により実現される。
ステップSA1において、ファームウェア25の書き換えが行われる。
ファームウェア25の書き換えとは、機能拡張や、プログラム修正等を目的として行われるファームウェア25のバージョンアップのことである。データとしての書き換え後のファームウェア25は、ホストコンピューター10から入力される。また、プリンター1に接続可能な専用の端末から書き換え後のファームウェア25に係るデータを入力する構成としてもよい。
【0020】
図3は、ステップSA1における、ファームウェア25の書き換えについて説明するための図である。
ファームウェア25の書き換えは、例えば、以下のようにして実行される。
図3(A)に示すように、まず、ファームウェア25に含まれるブートプログラム28が、RAM23に退避される。このブートプログラム28は、各種ブート処理を行うプログラムであり、少なくとも、フラッシュメモリー19におけるデータの書き換え(データの消去、及び、データの書き込み)に係る処理を行う機能を有している。
次いで、図3(B)に示すように、制御部14は、RAM23に格納したブートプログラム28を読み出して実行することにより、フラッシュメモリー19から、ファームウェア25を消去する。
次いで、図3(C)に示すように、制御部14は、ホストコンピューター10から入力された書き換え後の新たなファームウェア25に基づいて、フラッシュメモリー19に、当該ファームウェア25を書き込む。
図3に示すように、このファームウェア25には、初期値テーブル30、及び、初期値テーブルバージョン情報31が含まれている。
【0021】
図4(A)は、初期値テーブル30を示す図であり、図4(B)は、初期値テーブルバージョン情報31を示す図である。
図4(A)に示すように、初期値テーブル30は、設定値バージョンフィールド30aと、初期値フィールド30bと、設定アドレスフィールド30cとを備えている。
ここで、ファームウェア25の書き換えが行われる場合、ファームウェア25の書き換えと併せて、新たに設定値が追加される場合がある。例えば、バージョン1.0のファームウェア25と、バージョン1.1のファームウェア25とが存在し、バージョン1.0のファームウェア25では印字速度の変更ができず、一方、バージョン1.1のファームウェア25では、印字速度の変更ができるものとする。この場合において、バージョン1.0のファームウェア25を、バージョン1.1のファームウェア25に書き換える際に、印字速度に係る設定値が追加されることがある。
そして、本実施形態では、ファームウェア25の書き換えに伴って追加される設定値について、ファームウェア25の書き換えごとに、異なる設定値バージョンが付与される。
例えば、バージョン1.0のファームウェア25が、バージョン1.1のファームウェア25に書き換えられた場合に、当該書き換えに伴って追加される設定値については、設定値バージョン2が付与され、さらに例えば、バージョン1.1のファームウェア25が、バージョン1.2のファームウェア25に書き換えられた場合に、当該書き換えに伴って追加される設定値については、設定値バージョン3が付与される。
本実施形態では、時間的に新しいファームウェア25の書き換えに伴って追加される設定値ほど、付与される設定値バージョンの値が大きいものとされる。従って、設定値バージョン3の設定値は、設定値バージョン2の設定値よりも、時間的に後に追加された設定値であり、同様に、設定値バージョン2の設定値は、設定値バージョン1の設定値よりも、時間的に後に追加された設定値である。
【0022】
初期値テーブル30は、過去のファームウェア25の書き換えに伴って追加された設定値、及び、追加すべき設定値(以下、「追加設定値」という。)について、設定値バージョンと、当該設定値の初期値と、EEPROM20において当該設定値が格納される領域のアドレスと、を対応づけて記憶するテーブルである。
具体的には、初期値テーブル30の1件のレコードにおいて、設定値バージョンフィールド30aには、当該レコードに対応する設定値の設定値バージョンを示すデータが格納され、初期値フィールド30bには、当該レコードに対応する設定値の初期値を示すデータが格納され、設定アドレスフィールド30cには、EEPROM20における当該レコードに対応する設定値が格納される領域のアドレスを示すデータが格納される。
本実施形態では、初期値テーブル30は、ファームウェア25を構成するプログラム上に定義されたテーブルである。なお、初期値テーブル30は、フラッシュメモリー19に、ファームウェア25によって参照可能な態様で記憶されたデータであってもよい。
メーカー等のファームウェア25を開発する主体は、新たなファームウェア25の開発に際し、過去のファームウェア25の書き換えにおいて追加された設定値のそれぞれ、及び、当該新たなファームウェア25によって古いファームウェア25を書き換える際に追加すべき設定値のそれぞれについて、各設定値のレコードが形成された初期値テーブル30をファームウェア25に定義する。
【0023】
また、図4(B)に示すように、初期値テーブルバージョン情報31は、初期値テーブル30において最も値が大きい設定値バージョンを示す情報を含むデータである。従って、初期値テーブルバージョン情報31は、この初期値テーブル30が定義されたファームウェア25によって古いファームウェア25を書き換える際に、追加する設定値がある場合は、当該設定値に付与された設定値バージョンを示した状態となる。
例えば、初期値テーブル30が、図4(A)に示す状態である場合、最も値の大きい設定値バージョンは、「4」であるため、図4(B)に示すように、初期値テーブルバージョン情報31が示す値は、「4」となる。
【0024】
さて、前掲図2に戻り、ステップSA1においてファームウェア25の書き換えが行われると、制御部14は、ファームウェア25の書き換えに伴う初期化処理を開始する(ステップSA2)。
「ファームウェア25の書き換えに伴う初期化処理」とは、書き換え後のファームウェア25を正常に実行できる状態とするための各種リセット処理や、各種イニシャル処理、ファームウェア25の書き換えが正常に行われたか否かの確認のための初期動作確認等の処理を含む、ファームウェア25の書き換え後に必ず行われる処理である。
次いで、制御部14は、フラッシュメモリー19の初期値テーブルバージョン情報31を参照し、初期値テーブルバージョン情報31が示す値を取得する(ステップSA3)。
次いで、制御部14は、EEPROM20の現在設定値バージョン情報40を参照し、現在設定値バージョン情報40が示す値を取得する(ステップSA4)。
ここで、EEPROM20に記憶された現在設定値バージョン情報40、及び、設定値データ26について図を用いて説明する。
【0025】
図5(A)は、設定値データ26の一部を示す図であり、図5(B)は、現在設定値バージョン情報40を示す図である。
図5(A)の例では、EEPROM20に形成された記憶領域において、アドレス<0030>が割り振られた領域R1に値Xを示すデータが格納されている。この領域R1は、上述した閾値TH1の値が格納される領域である。
ここで、上述したように、制御部14は、フォトトランジスターの受光量が、閾値TH1を上回っている場合は、当該センサーに対応する位置に記録媒体が位置していると判別し、一方、閾値TH1を下回っている場合は、当該センサーに対応する位置に記録媒体が位置していないと判別する。しかしながら、センサーの感度の個体差や、光の照射方向のずれ、プリンター1の個体差に起因したセンサーの位置ずれ、各部材の経年劣化の状況、その他ハードウェア的、ソフトウェア的な要因により、閾値TH1は、プリンター1ごとに、その適切な値が異なっている場合が多い。これを踏まえ、閾値TH1の値は、ユーザー、その他の権限のあるものにより、適切な値に、事後的に、変更される。閾値TH1の変更は、所定のソフトウェアツールを用いて実行可能な構成となっている。そして、事後的に変更された閾値TH1は、プリンター1固有の状況を反映した値となっており、その値が不必要に変更されることを防止する必要がある。
この閾値TH1は、過去のファームウェア25の書き換え時に追加された設定値である。
【0026】
また、図5(A)の例では、アドレス<0040>が割り振られた領域R2に値Yを示すデータが格納されている。この領域R2は、上述したノズルチェック処理に関する実行条件J1を示す値が格納される領域である。
具体的には、本実施形態に係るプリンター1では、記録媒体への記録に係る動作を阻害しないことを条件に、所定の間隔(例えば10分ごと)で、ノズルチェック処理を実行する構成となっており、領域R2には、実行条件J1として、ノズルチェック処理を実行する間隔を示す値(例えば、10分)が格納される。
実行条件J1の値は、プリンター1に求められる記録品質や、プリンター1が設置されている環境、プリンター1の使用頻度等によって、適切な値が異なっている。これを踏まえ、実行条件J1の値は、ユーザー、その他の権限のあるものにより、事後的に、変更される。実行条件J1の変更は、所定のソフトウェアツールを用いて実行可能な構成となっている。
そして、事後的に変更された実行条件J1は、プリンター1固有の状況を反映した値となっており、その値が不必要に変更されることを防止する必要がある。
この実行条件J1は、過去のファームウェア25の書き換え時に追加された設定値である。
【0027】
また、図5(A)の例では、アドレス<0050>が割り振られた領域R3、及び、アドレス<0060>が割り振られた領域R4は、何らデータが格納されていない未使用領域となっている。
【0028】
図5(B)に示す現在設定値バージョン情報40は、ファームウェア25の書き換えに伴って、EEPROM20に記憶された追加設定値のうち、最も直近に記憶された設定値の設定値バージョン、換言すれば、EEPROM20に追加して記憶された追加設定値の設定値バージョンうち最も値の大きな設定値バージョンを示す情報を含むデータである。
図5(B)の例では、現在設定値バージョン情報40が示す値は「2」となっている。これは、設定値バージョン2、及び、設定値バージョン2より前の追加設定値については、EEPROM20に追加して記憶されている一方、設定値バージョン2以降の追加設定値については、EEPROM20に未だ記憶されていないことを示している。
【0029】
さて、前掲図2に戻り、ステップSA3において現在設定値バージョン情報40が示す値を取得すると、制御部14は、当該現在設定値バージョン情報40が示す値と、ステップSA3において取得した初期値テーブルバージョン情報31が示す値とが異なっているか否かを判別する(ステップSA5)。
これら値が異なっていない場合(ステップSA5:NO)、制御部14は、処理手順をステップSA9へ移行する。
一方、これら値が異なっている場合(ステップSA5:YES)、制御部14は、さらに、今回のファームウェア25の書き換えに伴って追加すべき設定値であって、かつ、未だEEPROM20に記憶されていない設定値に係る設定値バージョンを検出する(ステップSA6)。具体的には、制御部14は、EEPROM20に記憶された追加設定値のそれぞれの設定値バージョンと、初期値テーブル30に記憶された各追加設定値のそれぞれの設定値バージョンとの差分を検出する。
例えば、初期値テーブル30が、図4(A)に示す状態であり、かつ、初期値テーブルバージョン情報31が示す値が、図4(B)の例のように、「4」(設定値バージョン4)であり、一方、現在設定値バージョン情報40が示す値が、図5(B)の例のように、「2」(設定値バージョン2)であるとした場合、差分として、設定値バージョン3、及び、設定値バージョン4を検出する。これら設定値バージョン3、及び、設定値バージョン4に係る設定値は、未だEEPROM20に記憶されていない一方、初期値テーブル30のこれら設定値バージョンに係る追加設定値の情報が含まれているため、今回のファームウェア25の書き換えに伴って、追加すべき追加設定値である。
【0030】
次いで、制御部14は、ステップSA6で検出した設定値バージョンに係る追加設定値の初期値をEEPROMに書き込む(ステップSA7)。
具体的には、ステップSA7において、まず、制御部14は、初期値テーブル30にアクセスし、各レコードの設定値バージョンフィールド30aに格納されたデータの内容に基づいて、ステップSA6で検出した設定値バージョン(例えば、設定値バージョン3、及び、設定値バージョン4)のレコードを特定する。例えば、ステップSA6で検出した設定値バージョンが、設定値バージョン3、及び、設定値バージョン4であり、初期値テーブル30の状態が図4(A)の状態であるものとすると、ステップSA7において、制御部14は、図4(A)の初期値テーブル30のレコードRC3、及び、レコードRC4を特定する。次いで、制御部14は、特定したレコードの初期値フィールド30b、及び、設定アドレスフィールド30cに基づいて、EEPROM20の所定の領域に、各追加設定値の初期値を書き込む。例えば、制御部14は、初期値テーブル30のレコードRC3に基づいて、当該レコードRC3の設定アドレスフィールド30cに格納されたデータが示すアドレス(アドレス<0050>)が割り振られたEEPROM20の記憶領域に、当該レコードRC3の初期値フィールド30bに格納されたデータが示す値(値A3)を書き込む。同様に、制御部14は、初期値テーブル30のレコードRC4に基づいて、当該レコードRC4の設定アドレスフィールド30cに格納されたデータが示すアドレス(アドレス<0060>)が割り振られたEEPROM20の記憶領域に、当該レコードRC4の初期値フィールド30bに格納されたデータが示す値(値A4)を書き込む。
【0031】
図6(A)は、ステップSA7の処理による設定値データ26の変化の様子を示す図である。この図6(A)では、図4(A)の初期値テーブル30のレコードRC3、及び、レコードRC4に基づいて、追加設定値がEEPROM20に書き込まれた場合の設定値データ26の変化を示している。
図6(A)に示すように、ステップSA7の処理により、未使用であった領域R3に新たに追加された追加設定値の初期値(値A3)が書き込まれる。これにより、当該追加設定値が、追加されたこととなり、制御部14により、当該追加設定値を利用可能となる。例えば、制御部14は、当該追加設定値を利用する場合は、適宜、領域R3に書き込まれたデータが示す値を取得する。
すなわち、ステップSA7の処理により、今回のファームウェア25の書き換えに伴って追加すべき設定値について、EEPROM20に適切に書き込まれることとなる。
【0032】
次いで、制御部14は、現在設定値バージョン情報40の値を、初期値テーブルバージョン情報31の値により更新する(ステップSA8)。
これにより、現在設定値バージョン情報40の値が、現時点における、設定値データ26に対応した値、すなわち、現在、EEPROM20に記憶された追加設定値の設定値バージョンのうち、最も値の大きい設定値バージョンの値となる。
図6(B)は、ステップSA8の処理による現在設定値バージョン情報40の変化の様子を示す図である。図6(B)では、図4(B)の初期値テーブルバージョン情報31の値により、現在設定値バージョン情報40の値が更新された場合を示している。
図6(B)に示すように、ステップSA8の処理により、現在設定値バージョン情報40の値が、「2」から「4」へと更新され、図4(B)の初期値テーブルバージョン情報31の値と同一となる。
【0033】
続くステップSA9において、制御部14は、ファームウェア25の書き換え後に行うべき初期化処理に含まれる各種処理を実行する。
ここで、初期化処理に際し、EEPROM20に記憶された追加設定値であって、今回のファームウェア25の書き換えに伴って新たに追加された追加設定値を利用して処理を実行する場合もある。
この場合において、従来は、追加設定値を記憶すべきEEPROM20の記憶領域に何らデータが記憶されておらず、また、不正なデータ(いわゆるゴミデータ)が記憶され、これにより、処理が、設定値不正によりエラーとなる場合があった。しかしながら、本実施形態では、初期化処理に含まれる各種処理の実行に先んじて、新たに追加される追加設定値の初期値が、確実に、EEPROM20の適切な記憶領域に書き込まれるため、設定値不正によるエラーが発生することを防止できる。
また、従来は、上記のような設定値不正によるエラーの発生を防止すべく、初期化処理が行われる前に、ソフトウェアツールを用いて、新たに追加した追加設定値の値をEEPROM20の適切な記憶領域に書き込むようにしていたが、本実施形態では、この書き込みに係る作業を省略することができ、作業の容易性の向上、及び、処理に要する時間の短縮化を実現できる。また、書き込みの際の人為的なミスにより、EEPROM20に記憶された追加設定値の値が正常なものではなく、これに起因して初期化処理時にエラーが生じることも確実に防止可能である。
さらに、本実施形態では、新たに追加される追加設定値以外の設定値(過去に追加された追加設定値も含む)については、その値が変更されない。
例えば、上述した閾値TH1や、実行条件J1に関しては、ファームウェア25の書き込みがあった場合であっても、書き込み前の値が維持されることとなる(図6(A)参照)。これにより、不必要な設定値の変更が行われ、これにより、設定値を再設定する作業が生じたり、また、何らかの不具合が発生したりすることを効果的に防止できる。特に、上述したように、閾値TH1や、実行条件J1は、プリンター1固有の状況を反映した値となっており、その値が不必要に変更されることを防止する必要があるが、ファームウェア25の書き換えがあった場合であっても、これら閾値TH1や、実行条件J1が変更されることはない。
【0034】
以上説明したように、本実施形態に係るプリンター1ではファームウェア25がフラッシュメモリー19(第1の記憶領域)に記憶され、ファームウェア25の実行に供する各種設定値がフラッシュメモリー19と異なるEEPROM20(第2の記憶領域)に記憶されている。そして、制御部14は、ファームウェア25を書き換える際、書き換え後のファームウェア25に対応して追加すべき設定値である追加設定値の情報を、ファームウェア25に定義された初期値テーブル30という形で、フラッシュメモリー19に記憶すると共に、ファームウェア25の書き換え後に実行される初期化処理に際し、フラッシュメモリー19に記憶した追加設定値の情報(初期値テーブル30に含まれる情報)に基づいて、当該追加設定値に対応する設定値をEEPROM20に書き込む。
これによれば、まず、ファームウェア25の書き換えの際に、当該ファームウェア25の書き換えと同時に、書き換え後のファームウェア25に対応して追加すべき設定値である追加設定値の情報が、ファームウェア25に定義された初期値テーブル30という形で、フラッシュメモリー19に記憶される。そして、ファームウェア25の書き換え後に実行される初期化処理において、当該フラッシュメモリー19に記憶された追加設定値の情報に基づいて、EEPROM20に追加すべき設定値が記憶されることとなるため、EEPROM20に記憶された設定値を、書き換え後のファームウェア25に対応した状態とすることができる。さらに、初期化処理時に、ファームウェア25の書き換えに対応して追加すべき設定値がEEPROM20に書き込まれるため、以後、設定値を参照してファームウェア25を実行する際に、追加すべき設定値が不定であることに起因したエラー等が発生することが防止され、設定値を利用した各種処理を正常に行える状態となる。
さらに、上記構成では、ファームウェア25の書き換え後に行われる初期化処理時に、ファームウェア25の書き換えに対応してEEPROM20における設定値を書き換える(例えば、他の領域における設定に係るデータを、一旦、削除し、必要な全ての設定を新たに書き込む)のではなく、追加すべき設定値のみが新たに書き込まれることとなるため、初期化処理に伴って既存の設定値が変更されることが防止され、再設定の手間を省けると共に、既存の設定値が変更されることに起因した不具合が発生することを効果的に防止することができる。
【0035】
また、本実施形態に係るプリンター1では、フラッシュメモリー19では、現在フラッシュメモリー19に記憶されているファームウェア25に対応する設定値バージョンを示す情報が初期値テーブルバージョン情報31として記憶されており、また、EEPROM20では、現在EEPROM20に記憶されている設定値の設定値バージョンを示す情報が現在設定値バージョン情報40として記憶されている。そして、制御部14は、ファームウェア25を書き換える際、追加設定値の情報(初期値、及び、EEPROM20において初期値を書き込む記憶領域のアドレス)を、追加設定値に対応する設定値バージョンを示す情報と対応付けてフラッシュメモリー19に記憶すると共に、書き換え後のファームウェア25に対応する設定値バージョンを示す情報を初期値テーブルバージョン情報31としてフラッシュメモリー19に記憶し、ファームウェア25の書き換え後に実行される初期化処理に際し、フラッシュメモリー19に記憶した初期値テーブルバージョン情報31が示す値(書き換え後のファームウェア25に対応する設定値バージョンを示す情報)と、EEPROM20に記憶されている現在設定値バージョン情報40が示す値(設定値バージョンを示す情報)とを比較して、設定値バージョンの差異を検出し、初期値テーブル30における当該差異分の設定値バージョンと対応付けて記憶された追加設定値の情報に基づいて、当該追加設定値に対応する設定値をEEPROM20に書き込む。
これによれば、フラッシュメモリー19に記憶された初期値テーブルバージョン情報31の値と、EEPROM20に記憶された現在設定値バージョン情報40とを比較して、設定値バージョンの差異を検出し、初期値テーブル30において当該差異分の設定値バージョンと対応付けて記憶された追加設定値の情報に基づいて、当該追加設定値に対応する設定値をEEPROM20に書き込むという単純な作業で、確実に追加すべき設定値を、EEPROM20に書き込むことが可能となる。
【0036】
また、本実施形態では、ファームウェア25をフラッシュメモリー19に、設定値データ26をEEPROM20にそれぞれ記憶しているが、このような形態の記録装置は、広く普及している。
そして、本実施形態で説明した発明を、このような広く普及した記録装置に適用することにより、ファームウェア25が書き換えられた場合、設定値を書き換え後のファームウェア25に対応させた上で、設定値を利用した各種処理を正常に行える状態とすることが可能となる。
【0037】
また、本実施形態では、設定値には、光学的な検出に用いる閾値である閾値TH1と、ノズルチェック処理に関する実行条件J1が含まれている。
そして、上述したように、閾値TH1や、実行条件J1は、事後的にプリンター1ごとに個別に設定される値であるため、一旦設定された後は、ファームウェア25の書き換えが行われた場合であっても、当該書き換えに伴って変更したくないとするニーズがある。
そして、本実施形態によれば、ファームウェア25が書き換えられた場合であっても、既存の閾値TH1や、実行条件J1については、その値、内容が変更されないため、再設定する手間を省くことができると共に、再設定されていないことに起因した不具合等が発生するリスクを低減できる。
【0038】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、光学的な検出に用いる閾値として、媒体検出センサー18に係る閾値TH1を例としたが、これに限らない。すなわち、上記の閾値とは、光学的な検出に用いる閾値であって、ファームウェア25の書き換えに伴ってその値を変更すべきでない閾値を広く含む概念である。
同様に、各種動作に関する実行条件として、ノズルチェック処理に係る実行条件J1を例としたが、これに限らない。すなわち、上記の実行条件とは、プリンター1の動作を規定し、また、制御するための条件であって、ファームウェア25の書き換えに伴ってその値を変更すべきでない実行条件を広く含む概念である。
また、図1に示す各機能部はハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また、上記実施形態では、プリンター1自身が制御部14や、フラッシュメモリー19、EEPROM20等を備えた構成を例に挙げて説明したが、例えば、制御部14等を備えた制御装置を、プリンター1に外部接続される別の装置としてもよい。
また、本発明を適用可能な記録装置は、ファームウェア25と、設定値とが別の記憶領域に記憶されたものであれば特に制限されず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンター、熱昇華型プリンターのいずれであってもよく、他の方式で文字や画像を形成するプリンターであってもよいし、他の装置に組み込まれるプリンターであってもよい。
また、本発明を適用可能なプログラムは、ホストコンピューター10に搭載されるプリンタードライバーに含むものであってもよい。
また、図2に記載のフローチャートの各ステップを実行するプログラムを、プリンター1の内部の記憶媒体に記憶させたもの、またはプリンター1の外部の記憶媒体に記憶させたものを読み出して、制御部14により実行させることもできる。
【符号の説明】
【0039】
1…プリンター(記録装置)、19…フラッシュメモリー(第1の記憶領域)、20…EEPROM(第2の記憶領域)、25…ファームウェア、26…設定値データ(設定値)、30…初期値テーブル、31…初期値テーブルバージョン情報、40…現在設定値バージョン情報。

【特許請求の範囲】
【請求項1】
記録媒体に記録する記録装置であって、
ファームウェアが第1の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第1の記憶領域と異なる第2の記憶領域に記憶されており、
前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第1の記憶領域に記憶すると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第1の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第2の記憶領域に書き込む制御部を備えることを特徴とする記録装置。
【請求項2】
前記第1の記憶領域では、前記第1の記憶領域に記憶されている前記ファームウェアに対応する設定値のバージョンを示す情報が記憶されており、
前記第2の記憶領域では、前記第2の記憶領域に記憶されている設定値のバージョンを示す情報が記憶されており、
前記制御部は、
前記ファームウェアを書き換える際、前記追加設定値の情報を、前記追加設定値に対応する設定値のバージョンを示す情報と対応付けて前記第1の記憶領域に記憶すると共に、書き換え後の前記ファームウェアに対応する設定値のバージョンを示す情報を前記第1の記憶領域に記憶し、
前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第1の記憶領域に記憶した書き換え後の前記ファームウェアに対応する設定値のバージョンを示す情報と、前記第2の記憶領域に記憶されている設定値のバージョンを示す情報とを比較して、バージョンの差異を検出し、前記第1の記憶領域において、当該差異分のバージョンと対応付けて記憶された前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第2の記憶領域に書き込むことを特徴とする請求項1に記載の記録装置。
【請求項3】
前記第1の記憶領域と、前記第2の記憶領域とは、それぞれ異なる記憶媒体に形成されていることを特徴とする請求項1又は2に記載の記録装置。
【請求項4】
前記各種設定値には、光学的な検出に用いる閾値と、各種動作に関する実行条件とのうち、少なくとも一方が含まれることを特徴とする請求項1ないし3のいずれかに記載の記録装置。
【請求項5】
ファームウェアが第1の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第1の記憶領域と異なる第2の記憶領域に記憶され、記録媒体に記録する記録装置の制御方法であって、
前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第1の記憶領域に記憶すると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第1の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第2の記憶領域に書き込むことを特徴とする記録装置の制御方法。
【請求項6】
記録媒体に記録する記録装置を制御する制御部により実行されるプログラムであって、
前記記録装置には、ファームウェアが第1の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第1の記憶領域と異なる第2の記憶領域に記憶されており、
前記制御部に、
前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第1の記憶領域に記憶させると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第1の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第2の記憶領域に書き込ませることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−220963(P2012−220963A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−82421(P2011−82421)
【出願日】平成23年4月4日(2011.4.4)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】