(57)【要約】【課題】  ピクトブリッジ機能を有するインクジェット記録装置において、ＰＣを用いずに装置のファームウェアのアップデートを可能とするインクジェット記録装置を提供する。【解決手段】  ピクトブリッジインターフェースと、デバイスクラス判定手段とを備え、デバイスクラスがスチルイメージクラスであれば、ピクトブリッジのプロトコルに進み、マスストレージクラスだった場合は、ファームウェアのアップデートモードに進むことを特徴とするインクジェット記録装置。【選択図】        図１
2007069514.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムを記憶する書き換え可能な不揮発性メモリと、少なくとも前記不揮発性メモリの記憶容量以上の記憶容量を有するメモリと、デジタルカメラを接続するためのＵＳＢインターフェースと、ピクトブリッジ機能を有するインクジェット記録装置において、前記ＵＳＢインターフェースに、制御プログラムを記憶したＵＳＢインターフェースを有する記憶装置を接続すると、前記記憶装置とのＵＳＢ通信で得られる情報に基づいて、自動的にプログラム書き換えモードに移行し、前記不揮発性メモリに記憶した制御プログラムを、前記記憶装置に記憶した制御プログラムに書き換えることを特徴とするインクジェット記録装置。
【請求項２】
前記ＵＳＢインターフェースに接続されたＵＳＢ機器のデバイスクラスによって、ピクトブリッジモードか、プログラム書き換えモードかを判定することを特徴とする請求項１に記載のインクジェット記録装置。
【請求項３】
前記記憶装置に記憶されたデータが制御プログラムか否かを判定する手段を有し、プログラムでないと判定するとプログラムの書き換えを行わないことを特徴とする請求項１に記載のインクジェット記録装置。
【請求項４】
制御プログラムの所定のアドレスに所定の値を設定しておき、制御プログラムを書き換えるために、前記メモリに前記記憶装置に記憶したデータを展開した時、前記所定のアドレスに対応したアドレスに書き込まれたデータが前記所定の値であるか否かを確認し、所定の値であれば制御プログラムであると判定することを特徴とする請求項３に記載のインクジェット記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
近年ピクトブリッジと言う、ＵＳＢインターフェースを利用してカラー記録装置とデジタルカメラを直接接続してデジタルカメラ内の写真データをＰＣを介さずに印刷する規格が制定され、ほとんどのカラー記録装置にピクトブリッジ機能が搭載されている。
【０００２】
本発明は、このピクトブリッジ機能を有するインクジェット記録装置の制御プログラムのバージョンアップ方法に係るインクジェット記録装置に関するもので、特に簡単にバージョンアップを可能にするための技術に関するものである。
【背景技術】
【０００３】
従来から装置の制御プログラムのバージョンアップ技術についてはさまざまな提案が為されている。パーソナルコンピュータ（以下ＰＣとする）の周辺機器であれば、最も一般的な方法として、ＵＳＢ等のＰＣインターフェースを介して、ＰＣから新しい制御プログラムをダウンロードする方法が知られている。しかし、この方法はそもそもＰＣが必要なため、バージョンアップを行うためのシステムが高価になり、かつ操作も複雑になってしまうため、ＰＣを使用しない方法が提案されている。
【０００４】
例えばメモリカードインターフェースを設け、メモリカードに制御プログラムを記憶しておき、制御プログラムが格納されたメモリカードを挿入することでバージョンアップを行う方法が、特許文献１、特許文献２、特許文献３で提案されている。ＰＣを使用しないでＵＳＢインターフェース経由で拡張機能をダウンロードする方法が特許文献４で提案されている。
【特許文献１】特開平０９−３０５８３９号公報
【特許文献２】特開平１１−２４２５９６号公報
【特許文献３】特開２０００−１５５６７５号公報
【特許文献４】特開２００４−１２２５９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら従来技術では、ＰＣからのバージョンアップでは、前項に記述したとおりバージョンアップのためのシステムが高価になってしまう、操作が複雑になってしまう、と言った問題がある。また、ピクトブリッジ機能によってデジタルカメラの画像データだけを記録するためのデジタルカメラ専用記録装置もあり、そのような装置ではＰＣインターフェースを装備していないため、ＰＣからのバージョンアップができないと言う問題がある。
【０００６】
その問題を克服するため、前述のようにメモリカードによるバージョンアップ方法が提案されているが、これらの場合は共通してメモリカードインターフェースを設けなければならないと言う問題がある。
【０００７】
さらに特許文献１の提案では、メモリカードインターフェースを制御プログラムのバージョンアップ以外に他のデータの授受にも使用するため、メモリカードを挿入された際にメモリカードの種別認識、記憶されたファイルの内容を判定する種別認識手段が必要となりシステムが複雑になると言った問題がある。またメモリカード内にバージョンアップ以外のデータも含まれるため、バージョンアップのためのカード挿入なのか、他の目的でのカードの挿入なのかが不明なため、バージョンアップ時にも何らかの操作が必要となると言う問題がある。
【０００８】
さらに提案の中に具体的に示されていないが、プログラムのバージョン情報を比較する何らかの手段も必要となる。例えばプログラムファイルとは別にバージョン管理するデータファイルを設定してメモしカードに記憶しておき、その内容を解読してバージョンアップを行うか否かを判定するとか、プログラムファイル自体を解読して、そのプログラムのバージョンを判別する等の手段が必要となり、やはりバージョンアップのためのシステムが複雑になってしまうと言った問題がある。
【０００９】
特許文献２の提案では、装置の機能的には意味の無いバージョンアップのためだけの外部接続端子を設けなければならないと言う問題があるし、またメモリカード内に記憶されたプログラムコードをＣＰＵが直接読み込んで動作するため、プログラムコードそのものが決められたアドレスに展開されていなければならず、さらにプログラムのバージョンの比較をするために、バージョン情報も決められたアドレスに記憶されていなければならない構成なので、やはり専用の書き込み装置が必要になり、汎用性が無いと言う問題がある。当然プログラムコード以外のデータが記憶されたメモリカードを接続した場合は、装置は誤動作することになる。
【００１０】
特許文献３では、バージョンアップのためには本体の電源ＯＦＦ／ＯＮを行わなければならないと同時に所定の操作（実施例では電源投入時に原稿センサをＯＮにする）を行わなければならず、操作が面倒なばかりか誤操作も懸念される。例えば制御プログラムのバージョンアップではないのに、原稿を入れたまま電源を投入するとプログラム書き替えモードに移行してしまうと言った問題がある。
【００１１】
特許文献４では、ＰＣを用いないＵＳＢインターフェースからの拡張機能のダウンロード方法が提案されているが、この提案ではＵＳＢインターフェース部が、接続された機器によってＵＳＢホストとして機能したりＵＳＢデバイスとして機能したりしなければならないため、ハードウェア的にもホストドライバとデバイスドライバの両方を持たなければならず、複雑かつ高価な構成になってしまうと言う問題がある。さらにソフトウェア的にもさまざまなＵＳＢ機器（デバイスクラス）に対応した制御ドライバが必要なため、ＵＳＢインターフェース部のドライバソフトウェアが大規模なものになってしまうと言う問題がある。
【００１２】
また汎用のＵＳＢインターフェースを利用しているため、特許文献１の提案と同様に、ＵＳＢ機器が接続された際に、接続された機器の種別認識、記憶されたファイルの内容を判定する種別認識手段が必要となりシステムが複雑になると言った問題もある。
【００１３】
本発明は上記課題に鑑みてなされたものであり、プログラムのバージョンアップのために新たなインターフェースを設けることなく、かつ簡単にバージョンアップを可能にしたインクジェット記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
近年では、ＵＳＢインターフェースでＰＣと接続可能な小型の大容量記憶装置（以下ＵＳＢメモリとする）が普及している。本発明では前記課題を解決するために、このＵＳＢメモリを利用した制御プログラムのバージョンアップ方法を提案する。
【００１５】
すなわち、本発明のインクジェット記録装置は、装置全体を制御するための制御プログラムを記憶する書き換え可能な不揮発性メモリと、少なくとも前記制御プログラムを記憶した不揮発性メモリの記憶容量以上の記憶容量を有するメモリと、デジタルカメラを接続するためのＵＳＢインターフェースと、ピクトブリッジ機能を有し、前記ＵＳＢインターフェースに、制御プログラムを記憶したＵＳＢインターフェースを有する記憶装置を接続すると、前記記憶装置とのＵＳＢ通信で得られる情報に基づいて、自動的にプログラム書き換えモードに移行し、前記不揮発性メモリに記憶した制御プログラムを、前記記憶装置に記憶した制御プログラムに書き換えることを特徴とする。
【００１６】
また本発明のインクジェット記録装置は、前記ＵＳＢインターフェースに接続されたＵＳＢ機器のデバイスクラスによって、ピクトブリッジモードか、プログラム書き換えモードかを判定することを特徴とする。
【００１７】
本発明のインクジェット記録装置は、前記記憶装置に記憶されたデータがプログラムか否かを判定する手段を有し、プログラムでないと判定するとプログラムの書き換えを行わないことを特徴とする。
【００１８】
本発明のインクジェット記録装置は、制御プログラムの書き替えの際、制御プログラムを書き換えるために、前記メモリに展開したデータのうち所定のアドレスに書き込まれたデータが所定の値であるか否かを確認し、所定の値であれば制御プログラムであると判定することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、専用のメモリカードスロット等の、制御プログラムのバージョンアップのためのインターフェースを新たに設けることなく、元々インクジェット記録装置に搭載されているインターフェースによってバージョンアップが可能となる。ＵＳＢ通信上必須な情報に基づいて制御プログラムのバージョンアップが否かを判別するので、バージョンアップか否かの判別手段が簡単になる。
【００２０】
ＵＳＢメモリをピクトビリッジインターフェースに挿入するだけでバージョンアップ動作に移行するので、特別な操作を行うことなく制御プログラムのバージョンアップを行うことができる。インクジェット記録装置に搭載するＵＳＢ通信ドライバも、スチルイメージクラスとマスストレージクラスのみに対応すればよいので、ＵＳＢドライバソフトウェアが簡単になる。
【００２１】
また、ＰＣインターフェースを装備していないデジタルカメラ専用の記録装置でも同様に制御プログラムのバージョンアップが可能となる。
【００２２】
制御プログラムの書き替えの際、ＵＳＢメモリからダウンロードしたデータがプログラムか否かを判定するのに、メモリの所定のアドレスに記憶したデータだけで判定するので、判定のための処理が簡単になる。
【発明を実施するための最良の形態】
【００２３】
以下最良な実施の形態を、図面を用いて詳細に説明する。
【実施例１】
【００２４】
以下本発明を適用したインクジェット記録装置の実施の形態について説明する。
【００２５】
図１は本発明を実施したインクジェット記録装置のブロック図で、１０１はインクジェット記録装置本体を示している。
【００２６】
１０２はインクジェット記録装置を制御するＣＰＵ、１０３はＰＣから送られてくる記録するための画像データの記憶や、記録のための処理演算のために使用されるメモリ（以下ＲＡＭとする）、１０４はインクジェット記録装置全体を制御するための制御プログラムを記憶した、フラッシュメモリに代表される不揮発性の書き換え可能なメモリ（本実施例ではフラッシュメモリとする）で、ＣＰＵ１０２はこのフラッシュメモリ１０４に記憶された制御プログラムに従ってインクジェット記録装置全体を制御し、インクジェット記録装置に接続されたＰＣあるいはデジタルカメラから送られてくる画像データを、図示していない記録部によって記録する。
【００２７】
１０５はＵＳＢホストコントローラで、ＵＳＢホストとして動作し、接続されたＵＳＢデバイス、ここではデジタルカメラあるいはＵＳＢメモリと通信してデータの授受を行う。通常ＵＳＢホストはさまざまなＵＳＢ機器が接続されるため、全てのデバイスクラスに対応した通信ドライバを備えていなければならないが、本発明ではここに接続されるＵＳＢ機器はデジタルカメラあるいはＵＳＢメモリに限定しているため、スチルイメージクラスとマスストレージクラスのみに対応している。
【００２８】
１０６はＵＳＢデバイスコントローラで、接続されたＰＣとＵＳＢ通信してデータの授受を行う。１０７はＣＰＵと各ブロックを接続するシステムバス、１０８はデジタルカメラあるいはＵＳＢメモリと接続するためのＵＳＢ  ｔｙｐｅ−Ａコネクタで、いわゆるピクトブリッジインターフェースである。１０９はＰＣと接続するためのＵＳＢ  ｔｙｐｅ−Ｂコネクタである。
【００２９】
２０１はＰＣ、２０２はＵＳＢケーブル、３０１はデジタルカメラ、４０１はバージョンアップのための制御プログラムが記憶されたＵＳＢメモリである。
【００３０】
図２はフラッシュメモリ１０４の構造を示した図である。
【００３１】
フラッシュメモリは、あるメモリ空間ごとに複数のセクタで区切られていて、セクタごとに書き込み、消去が可能となっている。図２のフラッシュメモリは、セクタ０〜セクタＮのセクタに区切られていて、セクタ０にフラッシュメモリの中身を書き換えるためのプログラム（Ｌｏａｄｅｒプログラム）が記憶されている。
【００３２】
図４はバージョンアップ時のＲＡＭのメモリ空間の使用例を示したものである。
【００３３】
この例では、ＲＡＭの容量が８Ｍバイトで、プログラムのデータ容量即ちフラッシュメモリの容量が２Ｍバイトとなっていて、ＵＳＢメモリに記憶されたプログラムコードは、１０００００ｈ番地から２ＦＦＦＦＦｈ番地に展開される。
【００３４】
次に実際のバージョンアップ動作について、図３のフローチャートに沿って説明する。
【００３５】
まず、ステップＳ１０１でピクトブリッジインターフェース１０８に何らかのＵＳＢデバイスが接続されると、ステップＳ１０２に進みバスエニュメレーションによって、接続されたＵＳＢデバイスのデバイスクラスを確認する。ここでスチルイメージクラスであれば、デジタルカメラと判定して、ステップＳ１０３に進んでピクトブリッジモードの処理を行う。スチルイメージクラスでなければ、ステップＳ１０４でマスストレージクラスかを確認する。マスストレージクラスでなければ想定外のデバイスが接続されたことを意味するので、ステップＳ１１１で例えばエラー表示を行って終了する。
【００３６】
ステップＳ１０４でマスストレージクラスであれば、バージョンアップのための操作と判定して、ステップＳ１０５に進みバージョンアップ処理に移行する。ここからは、フラッシュメモリのセクタ０に書き込まれたＬｏａｄｅｒプログラムによってバージョンアップ動作が進められる。ステップＳ１０６では、ＵＳＢメモリからバージョンアップするプログラムファイルを読み出し、ＲＡＭの所定のエリアに展開してプログラムコードとして記憶する。
【００３７】
図４の例では、ＲＡＭの１０００００ｈ番地から順次プログラムコードが記憶される。このときＵＳＢメモリに記憶されているファイルは、既にプログラムコードに展開されたテキストデータ形式のファイルでも良いし、ｍｓｘファイル形式のＣＲＣチェックデータが付加されたパケット形式のものでも良い。その場合は、フラッシュメモリに予め記憶されたプログラムによって、単純なプログラムコードに戻されてＲＡＭに展開する。
【００３８】
ステップＳ１０７ではＲＡＭに展開したデータがプログラムコードであるか否かを確認する。具体的には、プログラムデータの所定のアドレスに、所定の値を予め設定しておき、ステップＳ１０６でＲＡＭに展開したデータの所定のアドレスに書き込まれた値と比較して、その値が前記所定の値と一致すれば、プログラムコードであると判断して、ステップＳ１０８に進んでバージョンアップ動作を続ける。値が一致しなければ、間違ったファイルと判断して、ステップＳ１１１に進んでエラー表示を行って、バージョンアップ動作を中止する。
【００３９】
図４の例では、２ＦＦＦＦＥｈ番地と２ＦＦＦＦＦｈ番地が確認用アドレスになっていて、それぞれ「３Ｂ」、「４Ｆ」と言う値が所定の値として記憶される。従って、このアドレスの値がそれぞれ「３Ｂ」、「４Ｆ」であればプログラムコードと判断してバージョンアップ動作を続けるが、違った値だった場合はバージョンアップ動作を中止する。
【００４０】
この所定の値は、例えばプロダクトＩＤのような規定値でも良いし、プログラムファイルのチェックサムを記録しておき、ＲＡＭに展開したデータのチェックサムを計算して、比較するようにしても良い。
【００４１】
ステップＳ１０８では、フラッシュメモリのセクタ１〜セクタＮに書き込まれたプログラムコードを消去する。フラッシュメモリの消去が終了すると、ステップＳ１０９に進んで、ＲＡＭに展開したプログラムコードを、フラッシュメモリのセクタ１から順次書き込んで行く。
【００４２】
全てのプログラムコードの書き込みが終了したら、ステップＳ１１０に進んでプログラムカウンタのスタート番地、すなわちＣＰＵのリセットを解除したときに最初にフェッチされる番地にジャンプして、イニシャル処理を行う。ウォッチドッグタイマを有するシステムであれば、ウォッチドッグタイマを止めてハードリセットをかけることでイニシャル処理に移行するようにしても良い。
【００４３】
以上の処理を行うことによって、ピクトブリッジのインターフェースに、プログラムコードを記憶したＵＳＢメモリを接続するだけで、簡単に制御プログラムのバージョンアップが実現できる。
【００４４】
本実施例ではＵＳＢメモリに記憶したデータがプログラムコードであるか否かを判定するために、ステップＳ１０７ではＲＡＭに展開したデータの所定のアドレスデータを確認したが、ステップＳ１０６でＵＳＢメモリからファイルを読み出す前に、ＵＳＢメモリに記憶されたファイル形式が、プログラムコードを記憶したファイル形式か否かで判定するようにしても良い。
【００４５】
また、ピクトブリッジのインターフェースにＵＳＢメモリを接続すること自体が、制御プログラムのバージョンアップ操作を意味しているので、ステップＳ１０７の確認シーケンスは省いても構わない。
【００４６】
また本実施例では、ピクトブリッジモードかパージョンアップモードかの判定を、デバイスクラスによって行っているが、デバイスディスクリプタの他の情報、例えばデバイスタイプによって判定しても良い。
【００４７】
また本実施例では、Ｌｏａｄｅｒプログラムをフラッシュメモリのセクタ０に配置したが、セクタ０に限るものではない。さらにマスクＲＯＭを含んだＣＰＵも存在し、そのようなＣＰＵではＬｏａｄｅｒプログラムをＣＰＵ内のマスクＲＯＭ領域に配置することも可能である。その場合は、フラッシュメモリの全領域のプログラムを書き換えることができる。もしくは、プログラムのアップデートモードに移行したら、ＬｏａｄｅｒプログラムをＲＡＭに移し、ＲＡＭに移されたプログラムによってプログラムの書き替えを行っても良い。この場合も、フラッシュメモリ全領域のプログラムを書き換えることができる。
【図面の簡単な説明】
【００４８】
【図１】本発明を実施したインクジェット記録装置のブロック図
【図２】不揮発性メモリの構造図
【図３】本発明の動作を示すフローチャート
【図４】プログラム展開領域の例を示す図
【符号の説明】
【００４９】
１０１  本発明のインクジェット記録装置
１０２  ＣＰＵ
１０３  ＲＡＭ
１０４  不揮発性メモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）
１０５  ＵＳＢホストコントローラ
１０６  ＵＳＢデバイスコントローラ
１０７  システムバス
１０８  ＵＳＢ  Ｔｙｐｅ‐Ａコネクタ
１０９  ＵＳＢ  Ｔｙｐｅ‐Ｂコネクタ
２０１  ＰＣ（パーソナルコンピュータ）
２０２  ＵＳＢケーブル
３０１  デジタルカメラ
４０１  ＵＳＢメモリ
【図１】
2007069514.tif 000003
【図２】
2007069514.tif 000004
【図３】
2007069514.tif 000005
【図４】
2007069514.tif 000006