(57)【要約】      （修正有）【課題】ＵＳＢのダウンストリームポートと、アップストリームポートを持つ記録装置が複数台ある場合に、記録装置同士をＵＳＢケーブルで接続し、通信を行いＲＯＭ情報のやり取りを行うことで、その複数台のうちの、最新のＲＯＭバージョンへのアップデートを可能にする。【解決手段】ＵＳＢのダウンストリームポートとアップストリームポートを少なくとも一つずつ備えることを特徴とし、それと同機種で且つファームウェアのバージョンが異なる装置がＵＳＢにより接続された場合に、新しいファームウェアを搭載している装置からプログラムを読み出し、ＵＳＢインターフェースを利用して古いファームウェアを搭載している装置に送信し、それを受信した古いファームウェアを搭載している装置は、ダウンロードモードプログラムで立ち上がり、不揮発性記憶媒体上の古いファームウェアを書き換えることを特徴とする記録装置。【選択図】図１
2006243997.tif 000002
【特許請求の範囲】
【請求項１】
記録装置をはじめとする組み込み機器において、その機器が通常利用する装置本来の動作を目的とするプログラムが格納されている領域と、その機器のファームウェアを書き換えるためのプログラムを格納している領域を別々に確保されている不揮発記憶媒体を持ち、不揮発性の記憶媒体を含む記憶手段と、その記憶媒体にデータを入力する手段と、前記記憶媒体に記憶された内容を読み出す手段と、前記記憶媒体に記憶された内容を前記入力手段により入力されたデータに書き換える手段と、前記記憶媒体に記憶されたデータに従って当該装置を制御する制御手段とを備え、且つ装置が本来の動作を目的とするプログラムを動作させるための必要最小限の揮発性記憶媒体を備え、且つインターフェースとしてＵＳＢのダウンストリームポートと、ＵＳＢのアップストリームポートを少なくとも其々一つずつ備え、且つＵＳＢのどちらのインターフェースからも前記記憶媒体を書き換えるための情報を受信する受信手段を備え、且つ前記記憶媒体上のファームウェアを書き換え作業中に、その進行状況を示すための表示機能を備えることを特徴とし、それと同機種で且つファームウェアのバージョンが異なる装置がＵＳＢにより接続された場合に、その時点における相互の上記記憶媒体上のファームウェア情報から、どちらか一方のファームウェアのバージョンアップが可能かどうかを判断する手段を持ち、その判断によりバージョンアップが可能と判断した場合に、新しいファームウェアを搭載している装置の前記記憶媒体からプログラムを上記読み出し手段により読み出し、前記インターフェースを利用し、古いファームウェアを搭載している装置に送信し、その新しいプログラムを受信した古いファームウェアを搭載している装置は、受信した新しいプログラムを一旦前記揮発性記憶媒体上に格納し、ファームウェアを書き換えるためのプログラムで立ち上がり、前記不揮発性記憶媒体上の古いファームウェアを、前記記揮発性憶媒体上に格納された新しいプログラムで書き換えることを特徴とするダウンロードシステム。
【請求項２】
請求項１記載のダウンロードシステムにおいて、相互の前記記憶媒体上のファームウェア情報から、どちらか一方のファームウェアのバージョンアップが可能と判断した場合に、接続している装置両方とも、不揮発性記憶媒体上のプログラムを書き換えるモードに移行することを特徴とし、外部からの書き換えに関する情報以外を遮断後、新しいファームウェアを搭載している装置の前記記憶媒体からプログラムを上記読み出し手段により読み出し、前記インターフェースを利用して送信し、古いファームウェアを搭載する装置にて不揮発性記憶媒体上のプログラムの書き換えを行うことを特徴とするダウンロードシステム。
【請求項３】
請求項１記載のダウンロードシステムにおいて、前記不揮発性記憶媒体上のプログラムの書き換えを判断する場合に、前記不揮発性記憶媒体を書き換えるためのプログラム固有の情報により、前記不揮発性記憶媒体のその部分の書き換えの可否を判断し、前記不揮発性記憶媒体上の装置本来の動作を目的とするプログラム固有の情報により、前記不揮発性記憶媒体上のその部分の書き換えの可否を判断し、前記不揮発性記憶媒体上の書き換えを、格納されてある部分のプログラムの其々の状態により判断することを特徴とし、且つＰＣに接続されている場合には、前記不揮発性記憶媒体上において書き換える部分の確認画面を表示し、且つ書き換えを書き換えるプログラム領域毎に別々に行うかどうかの確認も同時に行うことを特徴とし、その確認後、新しいファームウェアを搭載している装置が、古いファームウェアを搭載している装置に対して新しいプログラムを送信し、古いファームウェアが格納されている前記不揮発性記憶媒体を新しいプログラムに書き換えることを特徴とするダウンロードシステム。
【請求項４】
請求項１記載のダウンロードシステムにおいて、且つ前記不揮発性記憶媒体への書き込みサイズに対する書き込み時間を定数として前記不揮発性記憶媒体上のプログラム内に持つ装置において、古いファームウェアを搭載する装置が、新しいプログラムを受信完了した時点で、前記不揮発性記憶媒体上の書き込みサイズに対する書き込み時間より算出した、今回の書き換えにかかると予想される時間を、装置利用不可時間として通知することを特徴とし、且つＰＣが接続されている場合には、ＰＣの画面上にもその通知を行い、確認後古いファームウェアを搭載する装置の前記不揮発性記憶媒体の書き換えを行うことを特徴とするダウンロードシステム。
【請求項５】
請求項４記載のダウンロードシステムにおいて、対象となる装置が充電池により駆動し、充電池の残りの電池量を取得する手段を備え、且つ残りの電池量から駆動時間を計算する手段を備える装置において、古いファームウェアを搭載する装置が、新しいプログラムを受信完了した時点で、前記残りの電池量から駆動時間を推測する推測手段により推測した時間と、前記不揮発性記憶媒体上の書き込みサイズに対する書き込み時間より算出した時間の比較をプログラム書き換えの可否を判断条件とすることを特徴とし、書き換え不可と判断した場合には、装置に搭載されている前記表示装置によりその状況を通知し、且つＰＣが接続されている場合には、ＰＣの画面上にもその状況を表示して、中止を促すことを特徴とし、また、書き換え可能と判断した場合には、古いファームウェアを搭載する装置の前記不揮発性記憶媒体の書き換えを行うことを特徴とするダウンロードシステム。
【請求項６】
請求項１記載のダウンロードシステムにおいて、装置が動作するための情報や、フラグ、又は装置の動作の履歴に関する情報を格納する不揮発性記憶媒体を、プログラムが格納されている前記不揮発性記憶媒体とは別に備え、且つその中に前回の、受信した新しいプログラムのサイズ及び、受信に要した時間を格納する領域を備え、且つ前記不揮発性記憶媒体への書き込みサイズに対する書き込み時間を定数として前記不揮発性記憶媒体上のプログラム内に持つ装置において、接続された相互の装置本来の動作の制御を行うプログラムが格納されている領域、及び不揮発性記憶媒体を書き換えるためのプログラムが格納された領域其々の書き換えの可否を判断後、前記不揮発性記憶媒体上の書き換え領域が決定時点において、それが複数回目である場合に、前記もう一方の不揮発性記憶媒体上から、前記読み出し手段により受信時間と受信サイズを取得し、それと今回の書き換える領域のサイズから今回のプログラムの受信から、不揮発性記憶媒体上のプログラムの書き換え終了までの時間を推測し、その時間を装置利用不可時間として通知することを特徴とし、且つＰＣが接続されている場合には、ＰＣの画面上にもその通知を行い、確認後古いファームウェアを搭載する装置の前記不揮発性記憶媒体の書き換えを行うことを特徴とするダウンロードシステム。
【請求項７】
請求項６記載のダウンロードシステムにおいて、対象となる装置が充電池により駆動し、充電池の残りの電池量を取得する手段を備え、且つ残りの電池量から駆動時間を計算する手段を備える装置で、接続された相互の装置本来の動作の制御を行うプログラムが格納されている領域、及び不揮発性記憶媒体を書き換えるためのプログラムが格納された領域其々の書き換えの可否を判断後、前記不揮発性記憶媒体上の書き換え領域が決定時点において、それが複数回目である場合に、前記もう一方の不揮発性記憶媒体上から、前記読み出し手段により受信時間と受信サイズを取得し、それと今回の書き換える領域のサイズから今回のプログラムの受信から、不揮発性記憶媒体上のプログラムの書き換え終了までの時間と、前記残りの電池量から駆動時間を推測する推測手段により推測した時間との比較をプログラムの書き換えの判断条件に加えることを特徴とし、書き換え不可と判断した場合には、装置に搭載されている前記表示装置によりその状況を通知し、且つＰＣが接続されている場合には、ＰＣの画面上にもその状況を表示して、中止を促すことを特徴とし、また、書き換え可能と判断した場合には、古いファームウェアを搭載する装置の前記不揮発性記憶媒体の書き換えを行うことを特徴とするダウンロードシステム。
【請求項８】
請求項１記載のダウンロードシステムにおいて、前記不揮発性記憶媒体上のプログラムの書き換えが正常に終了した場合に、その後自動的に、その機器が通常利用する装置本来の動作を目的とするプログラムのモードで起動することを特徴とするダウンロードシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込み機器のファームウェアを書き換える機能を提供するダウンロードに関する。
【背景技術】
【０００２】
近年、電気的に書き換え可能な不揮発性メモリ（フラッシュＲＯＭ）の普及により、印刷装置やデジタルカメラ、ビデオ、複写機等、オンラインやＩＣカードなどからプログラムをダウンロードすることによって、印刷装置をはじめとする様々な電子機器の制御プログラムを書き換えることが可能な製品が増えてきた。
【０００３】
以前は、電子機器に搭載されるプログラムを変更するためには、その装置に搭載しているＲＯＭやＣＰＵ自身を取り替えなければならず、非常に煩雑な上に技術を要していた。しかし、プログラムをダウンロードすることが可能な装置では、プログラムの不具合の修正だけでなく、新機能の追加も比較的簡単な操作で行えるようになった。
【０００４】
しかし、ここで簡単な操作とは言っても、工場の生産部門などでは、一区画、一フロア内に数十台から数百台の装置が存在するような環境であり、この比較的簡単な書き換え作業でも、一台ごとにそのプログラムを更新するには、多大な労力が必要になっていた。
【０００５】
そこで、この労力を軽減するために、例えば特許文献１に見られるように、新たなプログラムをネットワーク上のサーバにロードし、そのネットワークに接続されている各印刷装置がそのサーバから新たなプログラムをダウンロードするようにして、プログラム書き換えの手間を省くことが提案されている。このようにすれば、ネットワーク上に何台の印刷装置が接続されて利用されていても、１台のサーバに最新のプログラムを保持していれば、自動的に各印刷装置のプログラムも最新のものに更新するという提案がなされている。
【０００６】
さらに、特許文献２にて、ホスト装置とネットワークを介して接続された複数の印刷装置におけるプログラム更新方法で、各印刷装置が、ネットワーク上にて自身と同じプログラムで動作している印刷装置を検索し、その検索した印刷装置のプログラムのバージョン情報を取得し、その取得したプログラムのバージョンと自身のプログラムのバージョンとの新旧を比較して、自身のプログラムのバージョンの方が古いときには、該検索した印刷装置からそのプログラムをダウンロードして自身のプログラムを更新するという提案がなされている。
【特許文献１】特開平９−２５１３５５号公報
【特許文献２】特開２０００−２１５０３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、いずれの提案もネットワークを想定したものであり、サーバやホストとなるＰＣが必要となってしまう。オフィスなどサーバやホストになるＰＣが存在する環境では、有効な手段となり得るが、例えば、不具合修正のため生産現場で大量の台数に対して、装置に搭載されるプログラムの修正が必要になった場合、スペースがコストに直結するような環境では必ずしもサーバやホストとなれるＰＣが対象となる装置と直ぐに接続できる環境にないという問題がある。その環境では、最小限の部品で、大量の装置のプログラムを書き換える必要があり、上記方法では効率が悪かった。
【０００８】
また、ホストにＰＣを利用して装置に搭載されるプログラムを書き換えようとすると、シリアル番号を持つデバイスでは、書き換えを行う機械が異なるたびに、システムにその装置がＵＳＢデバイスとして登録されるため、システムが重くなり、不安定になることが多くあった。
【０００９】
さらに、近年カメラから直接印刷装置に印刷できたり、初心者に分かり難いＰＣを排除する傾向も少なくない、その中で上記のような手段が何処まで有効であるかは疑問である。
【００１０】
この発明は、このような問題を解決するためになされたものであり、サーバやホストとなるＰＣが存在しない環境で、新しい制御プログラムが搭載された装置が一台あるだけで、他の装置のプログラムのバージョンアップを自動に行うことを目的とする。
【課題を解決するための手段】
【００１１】
本件の第一の発明は、記録装置をはじめとする組み込み機器において、その機器が通常利用する装置本来の動作を目的とするプログラム（以後ユーザープログラムと記述する）が格納されている領域と、その機器のファームウェアを書き換えるためのプログラム（以後ダウンロードプログラムと記述する）を格納している領域を別々に確保されている不揮発記憶媒体を持ち、不揮発性の記憶媒体を含む記憶手段と、その記憶媒体にデータを入力する手段と、前記記憶媒体に記憶された内容を読み出す手段と、前記記憶媒体に記憶された内容を前記入力手段により入力されたデータに書き換える手段と、前記記憶媒体に記憶されたデータに従って当該装置を制御する制御手段とを備え、且つ装置が本来の動作を目的とするプログラムを動作させるための必要最小限の揮発性記憶媒体を備え、且つインターフェースとしてＵＳＢのダウンストリームポートと、ＵＳＢのアップストリームポートを少なくとも其々一つずつ備え、且つＵＳＢのどちらのインターフェースからも前記記憶媒体を書き換えるための情報を受信する受信手段を備え、且つ前記記憶媒体上のファームウェアを書き換え作業中に、その進行状況を示すための表示機能を備えることを特徴とし、それと同機種で且つファームウェアのバージョンが異なる装置がＵＳＢにより接続された場合に、その時点における相互の上記不揮発性記憶媒体上のファームウェア固有の情報から、どちらか一方のファームウェアのバージョンアップが可能かどうかを判断する手段を持ち、その判断によりバージョンアップが可能と判断した場合に、新しいファームウェアを搭載している装置の前記記憶媒体からプログラムを上記読み出し手段により読み出し、前記インターフェースを利用し、古いファームウェアを搭載している装置に送信し、その新しいプログラムを受信した古いファームウェアを搭載している装置は、受信した新しいプログラムを一旦、前記揮発性記憶媒体上に格納し、ファームウェアを書き換えるためのプログラムで立ち上がり、前記不揮発性記憶媒体上の古いファームウェアを、前記記揮発性憶媒体上に格納された新しいプログラムで書き換えることを特徴とするダウンロードシステムである。
【００１２】
本件の第二の発明は、第一の発明において、相互の前記記憶媒体上のファームウェア情報から、どちらか一方のファームウェアのバージョンアップが可能と判断した場合に、接続している装置両方とも、不揮発性記憶媒体上のプログラムを書き換えるモードに移行することを特徴とし、外部からの書き換えに関する情報以外を遮断後、新しいファームウェアを搭載している装置の前記記憶媒体からプログラムを上記読み出し手段により読み出し、前記インターフェースを利用して送信し、古いファームウェアを搭載する装置にて不揮発性記憶媒体上のプログラムの書き換えを行うことを特徴とするダウンロードシステムである。
【００１３】
本件の第三の発明は、第一の発明において、前記不揮発性記憶媒体上のプログラムの書き換えを判断する場合に、ダウンロードプログラム固有の情報により、前記不揮発性記憶媒体のその部分の書き換えの可否を判断し、ユーザープログラム固有の情報により、前記不揮発性記憶媒体上のその部分の書き換えの可否を判断し、前記不揮発性記憶媒体上の書き換えを、格納されてある部分のプログラムの其々の状態により判断することを特徴とし、且つＰＣに接続されている場合には、前記不揮発性記憶媒体上において書き換える部分の確認画面を表示し、且つ書き換えを書き換えるプログラム領域毎に別々に行うかどうかの確認も同時に行うことを特徴とし、その確認後、新しいファームウェアを搭載している装置が、古いファームウェアを搭載している装置に対して新しいプログラムを送信し、古いファームウェアが格納されている前記不揮発性記憶媒体を新しいプログラムに書き換えることを特徴とするダウンロードシステムである。
【００１４】
本件の第四の発明は、第一の発明において、前記不揮発性記憶媒体への書き込みサイズに対する書き込み時間を定数として前記不揮発性記憶媒体上のプログラム内に持つ装置において、古いファームウェアを搭載する装置が、新しいプログラムを受信完了した時点で、前記不揮発性記憶媒体上の書き込みサイズに対する書き込み時間より算出した、今回の書き換えにかかると予想される時間を、装置利用不可時間として通知することを特徴とし、且つＰＣが接続されている場合には、ＰＣの画面上にもその通知を行い、確認後古いファームウェアを搭載する装置の前記不揮発性記憶媒体の書き換えを行うことを特徴とするダウンロードシステムである。
【００１５】
本件の第五の発明は、第四の発明において、装置が充電池により駆動し、充電池の残りの電池量を取得する手段を備え、且つ残りの電池量から駆動時間を計算する手段を備える装置において、古いファームウェアを搭載する装置が、新しいプログラムを受信完了した時点で、前記残りの電池量から駆動時間を推測する推測手段により推測した時間と、前記不揮発性記憶媒体上の書き込みサイズに対する書き込み時間より算出した時間の比較をプログラム書き換えの可否を判断条件とすることを特徴とし、書き換え不可と判断した場合には、装置に搭載されている前記表示装置によりその状況を通知し、且つＰＣが接続されている場合には、ＰＣの画面上にもその状況を表示して、中止を促すことを特徴とし、また、書き換え可能と判断した場合には、古いファームウェアを搭載する装置の前記不揮発性記憶媒体の書き換えを行うことを特徴とするダウンロードシステムである。
【００１６】
本件の第六の発明は、第一の発明において、装置が動作するための情報や、装置の動作の履歴に関する情報を格納する不揮発性記憶媒体を、プログラムが格納されている前記不揮発性記憶媒体とは別に備え、且つその中に前回の、受信した新しいプログラムのサイズ及び、受信に要した時間を格納する領域を備え、且つ前記不揮発性記憶媒体への書き込みサイズに対する書き込み時間を定数として前記不揮発性記憶媒体上のプログラム内に持つ装置において、接続された相互の装置本来の動作の制御を行うプログラムが格納されている領域、及び不揮発性記憶媒体を書き換えるためのプログラムが格納された領域其々の書き換えの可否を判断後、前記不揮発性記憶媒体上の書き換え領域が決定時点において、それが複数回目である場合に、前記もう一方の不揮発性記憶媒体上から、前記読み出し手段により受信時間と受信サイズを取得し、それと今回の書き換える領域のサイズから今回のプログラムの受信から、不揮発性記憶媒体上のプログラムの書き換え終了までの時間を推測し、その時間を装置利用不可時間として通知することを特徴とし、且つＰＣが接続されている場合には、ＰＣの画面上にもその通知を行い、確認後古いファームウェアを搭載する装置の前記不揮発性記憶媒体の書き換えを行うことを特徴とするダウンロードシステムである。
【００１７】
本件の第七の発明は、第六の発明において、装置が充電池により駆動し、充電池の残りの電池量を取得する手段を備え、且つ残りの電池量から駆動時間を計算する手段を備える装置で、接続された相互のユーザープログラムが格納されている領域、及びダウンロードプログラムが格納された領域其々の書き換えの可否を判断後、前記不揮発性記憶媒体上の書き換え領域が決定時点において、それが複数回目である場合に、前記もう一方の不揮発性記憶媒体上から、前記読み出し手段により受信時間と受信サイズを取得し、それと今回の書き換える領域のサイズから今回のプログラムの受信から、不揮発性記憶媒体上のプログラムの書き換え終了までの時間と、前記残りの電池量から駆動時間を推測する推測手段により推測した時間との比較をプログラムの書き換えの判断条件に加えることを特徴とし、書き換え不可と判断した場合には、装置に搭載されている前記表示装置によりその状況を通知し、且つＰＣが接続されている場合には、ＰＣの画面上にもその状況を表示して、中止を促すことを特徴とし、また、書き換え可能と判断した場合には、古いファームウェアを搭載する装置の前記不揮発性記憶媒体の書き換えを行うことを特徴とするダウンロードシステムである。
【００１８】
本件の第八の発明は、第一の発明において、前記不揮発性記憶媒体上のプログラムの書き換えが正常に終了した場合に、その後自動的に、ユーザーモードで起動することを特徴とするダウンロードシステムである。
【発明の効果】
【００１９】
このような構成の発明であれば、ある組み込み機器のアップデートを行いたい場合に、ホストＰＣが無い状況においても、新しいバージョンの同機種の機器が存在すれば、ＵＳＢケーブルにより相互の機器を接続するだけで、古い機種のプログラムのアップデートが可能になる。機器同士のアップデートであれば、ＰＣのようにＵＳＢデバイスを登録することも無く、機器自身の動作が重くなったり不安定になったりすることが無いのは言うまでも無い利点である。
【００２０】
書き換え時間の予測する機能を実現できるので、バッテリー駆動の装置においては、不揮発性記憶媒体上のプログラムの書き換え作業中に電源が無くなるという事故が減りユーザーとしても非常に安心してまた、手軽にプログラムのアップデートが行うことができるようになる。また、バッテリー駆動の装置でなくても、制御プログラムの書き換え作業にかかる時間が予測できるため、使えなくなる時間により困る人を最小限に留めることのできるタイミングで、プログラムの書き換えを行うようにすることも可能になる。
【００２１】
工場のような、大量生産の現場において、大量の数の、装置の制御プログラムのアップデートを行う場合には、装置のアップストリームポートと次の装置のダウンストリームポートをカスケード状に接続していくことにより、装置をおくことのできるスペースがあり、且つ電源がとることができ、且つＵＳＢケーブルさえ用意できれば事実上何台でも同時にプログラムの書き換えが可能になるたり、プログラムのアップデート作業の効率アップを図ることができる。
【発明を実施するための最良の形態】
【００２２】
本発明の最良の形態は、記録装置をはじめとする組み込み機器において、ユーザープログラムが格納されている領域と、ダウンロードプログラムを格納している領域を別々に確保されているフラッシュＲＯＭをはじめとする不揮発記憶媒体を持ち、不揮発性の記憶媒体を含む記憶手段と、その記憶媒体にデータを入力する手段と、前記記憶媒体に記憶された内容を読み出す手段と、前記記憶媒体に記憶された内容を前記入力手段により入力されたデータに書き換える手段と、前記記憶媒体に記憶されたデータに従って当該装置を制御する制御手段とを備え、且つＤＲＡＭ、ＳＲＡＭのようなユーザープログラムを動作させるための必要最小限の揮発性記憶媒体を備え、且つインターフェースとしてＵＳＢのダウンストリームポートと、ＵＳＢのアップストリームポートを少なくとも其々一つずつ備え、且つＵＳＢのどちらのインターフェースからも前記記憶媒体を書き換えるための情報を受信する受信手段を備え、且つ前記記憶媒体上のファームウェアを書き換え作業中に、その進行状況を示すためのＬＥＤや液晶などの表示機能を備えることを特徴とし、それと同機種で且つファームウェアのバージョンが異なる装置がＵＳＢにより接続された場合に、その時点における相互の上記不揮発性記憶媒体上のバージョン情報や、リリース日などのファームウェア固有の情報から、どちらか一方のファームウェアのバージョンアップが可能かどうかを判断する手段を持ち、その判断によりバージョンアップが可能と判断した場合に、新しいファームウェアを搭載している装置の前記記憶媒体からプログラムを上記読み出し手段により読み出し、前記インターフェースを利用し、古いファームウェアを搭載している装置に送信し、その新しいプログラムを受信した古いファームウェアを搭載している装置は、受信した新しいプログラムを一旦、前記揮発性記憶媒体上に格納し、ファームウェアを書き換えるためのプログラムで立ち上がり、前記不揮発性記憶媒体上の古いファームウェアを、前記記揮発性憶媒体上に格納された新しいプログラムで書き換え、正常に終了した場合に、その後自動的に、ユーザープログラムが起動することを特徴とするダウンロードシステムである。
【実施例１】
【００２３】
実施例１は、本発明を記録装置に適応させた例である。以下、図を用いて詳細に説明する。
【００２４】
図１は本発明を適用した記録装置の主要な部分の構成図である。１００は本発明を適用した記録装置本体である。１０１はＵＳＢのアップストリームポート、ダウンストリームポートの物理インターフェースからデータを送受信するデータ送受信部であり、受信データはＲＡＭに転送する。１０２はプリンタを動作させるためのプログラム、データ、テーブル等の入ったフラッシュＲＯＭである。本実施例では、富士通製のフラッシュメモリ「ＭＢＭ２９ＰＬ３２ＢＭ」を使用した。１０３はプログラムにおける実際の命令を一つ一つ実行していくＣＰＵである。１０４は、データ受信時や、プログラム実行時など一時的にデータをロードする為や、プログラムコードを格納するためのＲＡＭである。１０５は、仕向け情報や、シリアル番号、様々な調整値や、エラー履歴を格納するためのＥＥＰＲＯＭである。１０６は、ＲＡＭに格納されたデータを印字するためのデータに展開したものを基にして、実際にヘッドを使用してインクを吐出し、印刷を行うためのデータ印字部である。
【００２５】
図２は本発明を適用した記録装置の外観を簡略化した図である。２００は給紙トレイである。２０１は、電源ボタンで、このボタンを押下することで、記録装置の電源オン、電源オフを行う。２０２は続行ボタンで、エラー発生した場合からの復帰させる時と、印刷を中止、キャンセルする時に、使用するボタンである。２０３は印刷された紙を排紙時に受け止めるための排紙トレイである。２０４はＬＥＤでありアイドル状態、パワーオン動作中、エラー中、印刷中、エラーの詳細を点滅周期や、点滅回数点灯色によりユーザーに視覚的に分かるようにしている。２０５はＵＳＢインターフェースのダウンストリームポートであり、ＵＳＢ接続におけるホスト側となる。２０６はＵＳＢインターフェースのアップストリームポートであり、ＵＳＢ接続におけるデバイス側となる。
【００２６】
図３は、本発明で記録装置制御用プログラム及び、記録装置上のフラッシュＲＯＭ書き換え用プログラムを格納しているフラッシュＲＯＭの領域の区切り方を示した図である。フラッシュＲＯＭの先頭から０ｘ００００ＦＦＦＦにユーザープログラム領域を書き換えるためのファームウェアを格納するためのダウンロードプログラム領域としている。そして０ｘ０００１００００から０ｘ００３ＦＦＦＦＦに通常記録装置として動作するためのプログラムを格納するためのユーザープログラム領域としている。また、それぞれのエリアで、チェックサムが０になるようにして、格納している。
【００２７】
図４は、本発明を適用した記録装置をＵＳＢケーブルにより接続し、且つホスト側の記録装置に搭載されているファームウェアがデバイス側のファームウェアよりも新しい場合の処理の流れを示した図である。４００は、ＵＳＢ接続におけるホスト側の記録装置であり、４０１はデバイス側の記録装置である。つまり、記録装置４００のダウンストリームポートと、記録装置４０１のアップストリームポートをＵＳＢケーブルで接続する状況である。４１０でＥｎｅｒｍｅｒａｔｉｏｎを行い、接続を確立する。その後４１１でプリンタクラスのリクエストのＤｅｖｉｃｅＩＤを利用して機種名、バージョン情報を取得する。本実施例では、プリンタクラスのリクエストで行っているが、リリース日やＲＯＭ作成日など、機種名やバージョン情報以外のアップデートを行うかどうかを判断する材料になり得る情報の取得も含め、ベンダー固有のリクエストで取得することは可能である。
【００２８】
分岐４１３で、４１１、４１２で取得したデバイス側の機種情報と、ホスト側の自身の機種情報を照らし合わせ、ＲＯＭの書き換えが可能かどうか、つまり同じファームウェアを使用している機種同士でかつ、ホスト側とデバイス側でファームウェアのバージョンが異なるかどうか調べる。この場合に、機種が異なったり、同機種でもバージョンが同じであったりする場合には、何も行わない。分岐４１３で、同じファームウェアを利用し、且つホスト側のファームウェアのバージョンとデバイス側のそれとが異なる場合に次の４１４の処理に進む。
【００２９】
この図４では、ホスト側のファームウェアがデバイス側のそれよりも新しい場合について説明する。その場合には、４１４で書き換えモードに移行するための準備を促すための通知を行う。デバイス側の記録装置は、その通知をもって、書き換えモードの準備処理を行う。
【００３０】
具体的には、印刷中など動作中であれば、動作終了後、キャリッジ退避処理や、キャッピング処理を行い、ダウンロードが優先的に行うことができるように各部の終了・停止処理を行う。その後４１６にて、デバイス側の記録装置は、ホスト側の記録装置に、書き換えモード移行準備終了を通知する。その後４１７にて、ホスト側の記録装置は、自身のフラッシュＲＯＭから格納されている情報を読み出し、デバイス側に渡す書き換えを行うためのＲＯＭデータを作成する。その後４１８にて、ホスト側の記録装置は、４１７で作成したＲＯＭデータを送信し、デバイス側の記録装置はそれを受信する。その後４１９にて正常にデータを受信できたかを確認し、出来なかった場合は４２２で搭載しているＬＥＤにてエラー表示を行う。
【００３１】
また、４２１で正常に受信できたと判断した場合は、４２０にてダウンロードプログラムのブートアドレスにジャンプして、４１８で受信したＲＯＭデータにより、デバイス側の記録装置に搭載されているフラッシュＲＯＭ上の古いファームウェアの書き換え処理を行う。この書き換え処理が正常に終了できなかった場合は、４２２でＬＥＤをエラー点滅させる。正常に書き換え処理を完了できた場合は、ダウンロードプログラムを抜け、４２３にてユーザーモードプログラムの起動処理を開始し、通常の電源オン状態、つまりアイドル状態に移行する。
【００３２】
図５は、本発明を適用した記録装置をＵＳＢケーブルにより接続し、且つデバイス側の記録装置に搭載されているファームウェアがホスト側のファームウェアよりも新しい場合の処理の流れを示した図である。
【００３３】
５００は、ＵＳＢ接続におけるホスト側の記録装置であり、５０１はデバイス側の記録装置である。５１０でＥｎｅｒｍｅｒａｔｉｏｎを行い、接続を確立する。その後５１１でプリンタクラスのリクエストのＤｅｖｉｃｅＩＤを利用して機種名、バージョン情報を取得する。分岐５１３で、５１１、５１２で取得したデバイス側の機種情報と、ホスト側の自身の機種情報を照らし合わせ、ＲＯＭの書き換えが可能かどうか、つまり同じファームウェアを使用している機種同士でかつ、ホスト側とデバイス側でファームウェアのバージョンが異なるかどうか調べる。この場合に、機種が異なったり、同機種でもバージョンが同じであったりする場合には、何も行わない。
【００３４】
分岐５１３で、同じファームウェアを利用し、且つホスト側のファームウェアのバージョンとデバイス側のそれとが異なる場合に次の５１４の処理に進む。この図５では、デバイス側のファームウェアがホスト側のそれよりも新しい場合について説明する。その場合には、５１４でホスト側の記録装置は、書き換えモードに移行するための準備として、印刷中など動作中であれば、動作終了後、キャリッジ退避処理や、キャッピング処理を行い、ダウンロードが優先的に行うことができるように各部の終了・停止処理を行う。その後５１５にてデバイス側の記録装置にＲＯＭデータを要求する。その要求をデバイス側の記録装置が受け取ると、５１６にて自身のフラッシュＲＯＭから格納されている情報を読み出し、ホスト側に渡す書き換えを行うためのＲＯＭデータを作成する。
【００３５】
デバイス側の記録装置は、作成が完了すると、その旨を５１７にて通知する。その通知をトリガとして、５１８にてホスト側の記録装置は、デバイス側の記録装置が５１６で作成したＲＯＭデータを取得する。その後５１９にてホスト側の記録装置は、正常にデータを受信できたかを確認し、出来なかった場合は５２２で搭載しているＬＥＤにてエラー表示を行う。また、５２１で正常に受信できたと判断した場合は、５２０にてダウンロードプログラムのブートアドレスにジャンプして、５１８で取得したＲＯＭデータにより、ホスト側の記録装置に搭載されているフラッシュＲＯＭ上の古いファームウェアの書き換え処理を行う。この書き換え処理が正常に終了できなかった場合は、５２２でＬＥＤをエラー点滅させる。正常に書き換え処理を完了できた場合は、ダウンロードプログラムを抜け、５２３にてユーザーモードプログラムの起動処理を開始し、通常の電源オン状態、つまりアイドル状態に移行する。
【００３６】
この本発明を適用した記録装置により、ピアトゥーピアの状況でＲＯＭの書き換えが自動的に行えるだけでなく、書き換えの必要な記録装置が複数台場合、例えば図６のように５台あるには、記録装置１から記録装置５を、記録装置のダウンストリームポートと他の記録装置のアップストリームポートを連結する。その後、先頭に新しいファームウェアの記録装置を接続することで、まず記録装置１のファームウェアがアップデートされ、書き換え終了後のユーザー−モードの起動処理時に、記録装置２との再接続が行われ、その際に記録装置２のアップデートが可能と判断し、書き換え処理を行なう。同様の流れで記録装置３、記録装置４、記録装置５とファームウェアのアップデートを自動的に行なうことが可能である。
【図面の簡単な説明】
【００３７】
【図１】実施例１における構成図
【図２】実施例１における外観図
【図３】実施例１におけるフラッシュＲＯＭの領域の切り分けを示す図
【図４】ホスト側の記録装置のプログラムが新しい場合を示す図
【図５】デバイス側の記録装置のプログラムが新しい場合を示す図
【図６】複数台の記録装置のファームウェアをアップデートする場合を示す図
【符号の説明】
【００３８】
１００  記録装置
１０１  データ送受信部
１０２  フラッシュＲＯＭ
１０３  ＣＰＵ
１０４  ＲＡＭ
１０５  ＥＥＰＲＯＭ
１０６  データ印字部
２００  給紙トレイ
２０１  電源ボタン
２０２  続行ボタン
２０３  排紙トレイ
２０４  ＬＥＤ
２０５  ＵＳＢインターフェースのダウンストリームポート
２０６  ＵＳＢインターフェースのアップストリームポート
【図１】
2006243997.tif 000003
【図２】
2006243997.tif 000004
【図３】
2006243997.tif 000005
【図４】
2006243997.tif 000006
【図５】
2006243997.tif 000007
【図６】
2006243997.tif 000008