(57)【要約】【課題】  ホストからファームウェアの書き換え用データを受信して、ファームウェアの書き換えを行うプリンタにおいて、誤ったファームウェアの書き換え用データを送信してしまった場合や、書き換え用データ自体に誤りがあった場合に、ホスト上のスプーラ内に残留するデータを削除し、書き換え用データが送信可能な状態に、容易に復帰するようにすること。【解決手段】  プリンタのファームウェアの書き換え時において、送信されてくるデータを受け捨てるデータ受け捨て手段と、不正な書き換え用データを受信した場合にデータを受け捨てる状態に移行するデータ受け捨て状態への移行手段とを備えたことを特徴とする。【選択図】  図１
2007172416.tif 000002
【特許請求の範囲】
【請求項１】
ホストから書き換え用データを受信して、ファームウェアの書き換えを行うプリンタにおいて、ファームウェアの書き換え時において、送信されてくるデータを受け捨てるデータ受け捨て手段と、不正な書き換え用データを受信した場合にデータを受け捨てる状態に移行するデータ受け捨て状態への移行手段とを備えていることを特徴とするプリンタ。
【請求項２】
データを受け捨てる状態から、通常のファームウェアの書き換え状態に復帰する書き換え状態への復帰手段を備えていることを特徴とする請求項１記載のプリンタ。
【請求項３】
書き換え用データがモトローラＳデータを含むことを特徴とする請求項１または２記載のプリンタプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタのファームウェアの書き換えに時に、不正な書き換え用データを誤って送信してしまった場合において、不正な書き換え用データを削除し、正常な状態に復帰するための技術に関する。
【背景技術】
【０００２】
図１０に示すように、プリンタのファームウェアの書き換えは、ホストからプリンタ１００２に対して書き換え用データを送信し、プリンタ１００１が受信したデータをプリンタ１００１内のフラッシュＲＯＭに書込むことにより行なっていた。
【０００３】
しかしながら、この書き換え時において、オペレータが誤ったデータを送信してしまった場合や、書き換え用データ自体に誤りがあった場合、プリンタは図１１に示すように、受信したデータが不正であることを検出し、「データエラー」と表示すると同時に、データの受信を中断する。オペレータは、「データエラー」の表示に気づき、書き換え用データの送信を中止し、スプーラ上からデータを削除する操作を行う。
【０００４】
しかしながら、スプーラ上からの削除には、暫く時間がかかってしまう。オペレータが、ファームウェア書き換えのリトライをしようとしても、このスプーラ上に残留してしまったデータのせいで、暫くの間、再送信ができない状態となってしまうという問題がある。
【０００５】
一方、電源断などによりダウンロードが中断してしまった場合に、自動的にダウンロードを再開する方法として、特許文献１に記載の方法がある。
【０００６】
しかしながら、特許文献１に記載の方法では、誤ったデータを送信してしまった場合や、書き換え用データ自体に誤りがあった場合には対応できない。スプーラ上に残留してしまっている不正な書き換えデータを削除してから、再度書き換え用データを送信しなおしたいという要求には対応できないという問題がある。
【０００７】
また、ファームウェアの書き換えに関するものではないが、印刷ジョブをキャンセルする方法としては、特許文献２に記載の方法がある。特許文献２に記載の方法は、キャンセルコマンドやプリンタのコントロールパネルの操作により、特定の印刷ジョブのキャンセルを行うというものである。
【０００８】
しかしながら、特許文献２に記載の方法は、印刷ジョブを対象としたものであり、ファームウェアの書き換えを対象としたものではない。
【０００９】
また、印刷ジョブのキャンセル開始や終了のために、キャンセルコマンドの送信や、コントロールパネルからの操作などの、何らかのアクションが必要となる問題がある。
【００１０】
【特許文献１】特開２００２−１７５１９４号公報
【００１１】
【特許文献２】特開平１０−２８９０７６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
プリンタのファームウェアの書き換え時において、オペレータが誤ったデータを送信してしまった場合や、書き換え用データ自体に誤りがあった場合に、ホスト装置のスプール（バッファ）内に残留するデータを削除し、書き換え用データが送信可能な状態に容易に復帰するようにすることを課題とする。
【課題を解決するための手段】
【００１３】
本発明は、プリンタのファームウェアの書き換え時において、送信されてくる書き換え用データを受け捨てる、データ受け捨て手段と、不正な書き換え用データを受信した場合に、データを受け捨てる状態に移行するデータ受け捨て状態への移行手段とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、プリンタのファームウェアの書き換え時において、オペレータが誤ったデータを送信してしまった場合や、書き換え用データ自体に誤りがあった場合に、ホストのスプーラ内に残留してしまうデータを削除でき、プリンタのファームウェア書き換えが可能な状態に、容易に復帰することが可能となる。
【発明を実施するための最良の形態】
【００１５】
本発明の実施の形態を図１〜９にもとづいて説明する。
【実施例１】
【００１６】
実施例１の処理の流れを、図２を参照して説明する。
【００１７】
図２は、ファームウェアの書き換え時において、不正な書き換えデータを受信した場合の処理の流れを模式的に説明する模式図である。
【００１８】
（１）のように、ホストはプリンタに対して書き換え用データの送信を始める。次にプリンタは、（２）のように書き換え用データを受信する。このとき、プリンタが書き換え用データの不正を検出すると、（３）のようにデータの受信を一時停止する。続いてプリンタは、（４）のように自動的にデータ受け捨て状態に移行する。データの受け捨てが完了すると、（５）のようにオペレータに対して書き換えのリトライを行うかどうかの判断を求める。オペレータが書き換えのリトライを選択すると、再び（１）のように書き換えデータの受信可能の状態になる。オペレータが書き換えのリトライを選択しない場合、処理を終了する。
【００１９】
次に、図３を参照して書き換え用データについて説明する。
【００２０】
書き換え用データは、ヘッダとモトローラＳデータより構成される。ヘッダは、ヘッダの識別をするための規定のコードで構成されている。規定のコードを検出することにより、ヘッダの検出が可能である。モトローラＳデータは、ＡＳＣＩＩコードとＣＲ、ＬＦコードで構成されている。レコード・タイプＳ１〜Ｓ３のレコードはデータを格納するデータ・レコードである。レコード・タイプＳ７〜Ｓ９のレコードはモトローラＳデータの終端を示すエンド・レコードである。
【００２１】
図１は、本発明の実施方法を説明するための機能ブロック図である。
【００２２】
０１０１はプリンタ、０１０２はホスト、０１０３は通信ケーブル、０１０４は書き換え用データ、０１０５はホストＩ／Ｆ処理部、０１０６は操作処理部、０１０７は表示処理部、０１０８はファームウェア書き換え処理部、０１０９はデータ受け捨て部、０１１０はＲＯＭ書き込み処理部、０１１１はモトローラＳデータ処理部、０１１２はヘッダ処理部、０１１３はヘッダ、０１１４はモトローラＳデータである。
【００２３】
プリンタ０１０１は、ホスト０１０２と通信ケーブル０１０３を用いて接続されている。
【００２４】
プリンタ０１０１は、ホストＩ／Ｆ処理部０１０５、操作処理部０１０６、表示処理部０１０７、ファームウェア書き換え処理部０１０８のそれぞれの機能を持つ。更に、ファームウェア書き換え処理部０１０８は、データ受け捨て部０１０９、ＲＯＭ書き込み処理部０１１０、モトローラＳデータ処理部０１１１、ヘッダ処理部０１１２の機能より構成される。
【００２５】
書き換え用データ０１０４は、ヘッダ０１１３、モトローラＳデータ０１１４より構成される。ホストＩ／Ｆ処理部０１０５は、通信ケーブル０１０３を通してホスト０１０２との通信を行う。操作処理部０１０６は、オペレータから操作を受け付ける。表示処理部０１０７は、情報の表示を行う。ファームウェア書き換え処理部０１０８は、ファームウェアの書き換え処理を行う。データ受け捨て部０１０９は、受信したモトローラＳデータの受け捨てを行う。ＲＯＭ書き込み処理部０１１０は、書き換え用データ０１０４を元にＲＯＭの書き込み処理を行う。モトローラＳデータ処理部０１１１は、モトローラＳデータ０１１４の処理を行う。ヘッダ処理部０１１２は、ヘッダの処理を行う。
【００２６】
オペレータが、不正な書き換え用データを送信してしまった場合や、データ自体に誤りがあった場合の動作について説明する。
【００２７】
ホスト０１０２は書き換え用データ０１０４を、プリンタ０１０１に対して送信する。プリンタ０１０１内のホストＩ／Ｆ処理部０１０５は、書き換え用データ０１０４を受信する。ファームウェア書き換え処理部０１０８は、ホストＩ／Ｆ処理部０１０５より書き換え用データ０１０４を取出し、ヘッダ処理部０１１２でヘッダの処理を行い、その後、モトローラＳデータ処理部０１１１でモトローラＳデータ０１１４の処理を行なう。このとき、ヘッダ処理部０１１２、または、モトローラＳデータ処理部０１１１において、書き換え用データ０１０４の異常を検出した場合、データ受け捨て部０１０９に処理を移し、データの受け捨て処理を行う。データ受け捨て部０１０９では、一定の期間データが送信されてこない場合、データの受け捨て処理を終了する。また、データ受け捨て部０１０９において新たなヘッダの受信を検出した場合には、データの受け捨て処理を終了し、モトローラＳデータ処理部０１１１に処理を移し、ファームウェアの書き換えを継続する。
【００２８】
次に、ファームウェアの書き換え処理の動作について説明する。
【００２９】
図４はファームウェアの書き換え処理のフローチャートである。処理０４０１においてヘッダの処理を行い、判断０４０２に進む。処理０４０１においてヘッダの不正を検出した場合には、ヘッダ・エラー発生フラグをＯＮにして処理を終了し、判断０４０２に進む。判断０４０２においてヘッダ・エラー発生フラグがＯＮであるかどうかを判断する。エラー発生フラグがＯＮである場合には、処理０４０６に進み、ヘッダ・エラー発生フラグがＯＮでなかった場合、処理０４０３に進む。処理０４０３においてモトローラＳデータの処理を行い、判断０４０４に進む。処理０４０３においてモトローラＳデータの不正を検出した場合には、データ・エラー発生フラグをＯＮにして処理を終了し、判断０４０４に進む。判断０４０４においてデータ・エラー発生フラグがＯＮであるかどうかを判断する。データ・エラー発生フラグがＯＮである場合には、処理０４０６に進み、エラー発生フラグがＯＮでなかった場合、処理０４０５に進む。処理０４０５においてＲＯＭの書き込み処理を行い、ファームウェア書き換え処理を終了する。処理０４０６においてデータの受け捨て処理を行い判断０４０７に進む。処理０４０６において一定期間データの受信がなかった場合には、データの受け捨て処理を終了し、判断０４０７に進む。また、データの受け捨て中にヘッダを受信した場合には、ヘッダ受信フラグをＯＮにして処理を終了し、判断０４０７に進む。判断０４０７においてヘッダ受信フラグがＯＮであるかどうかを判断する。ヘッダ受信フラグがＯＮである場合には、処理０４０３に進み、ヘッダ受信フラグがＯＮでなかった場合、処理０４０８に進む。処理０４０８においてオペレータに対してファームウェアの書き換えをリトライするかどうかの入力を求める表示を行い、判断０４０９に進む。判断０４０９においてオペレータがリトライを選択したかどうかを判断する。オペレータがリトライを選択した場合には、処理０４０１に進み、オペレータがリトライを選択しなかった場合にはファームウェア書き換え処理を終了する。
【００３０】
次に、ヘッダ処理について説明する。
【００３１】
図５はヘッダ処理のフローチャートである。処理０５０１においてデータの取得を行い、判断０５０２に進む。判断０５０２においてヘッダの受信が完了したかどうかを判断する。ヘッダの受信が完了した場合、判断０５０３に進み、ヘッダの受信が完了していない場合、処理０５０１に進む。判断０５０３において受信したヘッダに異常があるかどうかを判断する。受信したヘッダに異常がある場合、処理０５０５に進み、受信したヘッダに異常がない場合処理０５０４に進む。処理０５０４においてヘッダ情報を保存して処理を終了する。処理０５０５においてヘッダ・エラー発生フラグをＯＮにして処理を終了する。
【００３２】
次に、モトローラＳデータ処理について説明する。
【００３３】
図６はモトローラＳデータ処理のフローチャートである。処理０６０１においてモトローラＳのレコードの取得を行い、判断０６０２に進む。判断０６０２において取得したモトローラＳレコードに異常を検出した場合、処理０６０５に進む。異常を検出しなかった場合、処理０６０３に進む。判断０６０３において取得したモトローラＳレコードがエンド・レコードであった場合、モトローラＳデータ処理を終了する。エンド・レコードでなかった場合、処理０６０４に進む。処理０６０４において、モトローラＳレコードの保存を行い、処理０６０１に進む。処理０６０５においてデータ・エラー発生フラグをＯＮにして、モトローラＳデータ処理を終了する。
【００３４】
次に、データ受け捨て処理について説明する。
【００３５】
図７はデータ受け捨て処理のフローチャートである。判断０７０１においてデータの受信があった場合には処理０７０２に進む。データの受信がなかった場合には判断０７０６に進む。処理０７０２において、データの取得を行い、処理０７０３に進む。処理０７０３において取得したデータが、ヘッダに該当するかどうかのデータ解析を行い、判断０７０４に進む。判断０７０４においてヘッダを受信した場合には処理０７０５に進む。ヘッダを受信しなかった場合には判断０７０１に進む。処理０７０５においてヘッダ受信フラグをＯＮにして、データ受け捨て処理を終了する。判断０７０６において一定期間内にデータの受信がなかった場合には、データ受け捨て処理を終了する。一定期間内にデータの受信がある場合には、判断０７０１に進む。
【実施例２】
【００３６】
実施例２は、実施例１において、自動的にデータ受け捨て状態へ移行していた移行方法を、選択的な移行方法に変えたものである。
【００３７】
本発明の実施例２を、図８〜９を参照して説明する。
【００３８】
図８は、ファームウェアの書き換え時において、不正な書き換えデータを受信した場合の処理の流れを、模式的に説明する模式図である。（１）のように、ホストはプリンタに対して書き換え用データの送信を始める。プリンタは、（２）のように、書き換え用データを受信する。このとき、プリンタが書き換え用データの不正を検出すると、（３）のようにデータの受信を一時停止する。プリンタは、（４）のように、オペレータに対してデータの受け捨てを行うかどうかの判断を求める。オペレータがデータの受け捨てを選択すると、プリンタは、（５）のように、データ受け捨て状態に移行する。データの受け捨てが完了すると、（６）のようにオペレータに対して、書き換えのリトライを行うかどうかの判断を求める。オペレータが書き換えのリトライを選択すると、再び、（１）のように、書き換えデータの受信可能の状態になる。オペレータが書き換えのリトライを選択しない場合、処理を終了する。
【００３９】
次に、ファームウェアの書き換え処理の動作について説明する。
【００４０】
図９はファームウェア書き換え処理のフローチャートである。処理０９０１においてヘッダの処理を行い、判断０９０２に進む。処理０９０１においてヘッダの不正を検出した場合には、ヘッダ・エラー発生フラグをＯＮにして処理を終了し、判断０９０２に進む。判断０９０２において、ヘッダ・エラー発生フラグがＯＮであるかどうかを判断する。ヘッダ・エラー発生フラグがＯＮである場合には、処理０９０６に進み、ヘッダ・エラー発生フラグがＯＮでなかった場合、処理０９０３に進む。処理０９０３においてモトローラＳデータの処理を行い、判断０９０４に進む。処理０９０３においてモトローラＳデータの不正を検出した場合には、データ・エラー発生フラグをＯＮにして処理を終了し、判断０９０４に進む。
【００４１】
判断０９０４においてデータ・エラー発生フラグがＯＮであるかどうかを判断する。データ・エラー発生フラグがＯＮである場合には、処理０９０６に進み、データ・エラー発生フラグがＯＮでなかった場合、処理０９０５に進む。処理０９０５においてＲＯＭ書き込み処理を行い、ファームウェア書き換え処理を終了する。処理０９０６においてオペレータに対して、データの受け捨てを行うかどうかの判断を求める表示を行い、判断０９０７に進む。判断０９０７においてオペレータからデータ受け捨て要求があるかどうかを判断する。データ受け捨て要求がある場合には処理０９０８に進み、データ受け捨て要求がなかった場合、ファームウェア書き換え処理を終了する。処理０９０８においてデータの受け捨て処理を行い、判断０９０８に進む。
【００４２】
処理０９０８において、一定期間データの受信がなかった場合には、データの受け捨て処理を終了し、判断０９０９に進む。データの受け捨て中にヘッダを受信した場合には、ヘッダ受信フラグをＯＮにして処理を終了し、判断０９０９に進む。判断０９０９においてヘッダ受信フラグがＯＮであるかどうかを判断する。ヘッダ受信フラグがＯＮである場合には、処理０９０３に進み、ヘッダ受信フラグがＯＮでなかった場合、処理０９１０に進む。処理０９１０において、オペレータに対してファームウェアの書き換えをリトライするかどうかの判断を求める表示を行い、判断０９１１に進む。判断０９１１においてオペレータがリトライを選択したかどうかを判断する。オペレータがリトライを選択した場合には、処理０９０１に進み、オペレータがリトライを選択しなかった場合には、ファームウェア書き換え処理を終了する。
【図面の簡単な説明】
【００４３】
【図１】本発明の機能ブロック図である。（実施例１）
【図２】本発明の処理の流れを模式的に説明する模式図である。（実施例１）
【図３】本発明の書き換え用データ構成を示す説明図である。（実施例１）
【図４】本発明のファームウェアの書き換え処理のフローチャートである。（実施例１）
【図５】本発明のヘッダ処理のフローチャートである。（実施例１）
【図６】本発明のモトローラＳデータ処理のフローチャートである。（実施例１）
【図７】本発明のデータ受け捨て処理のフローチャートである。（実施例１）
【図８】本発明の処理の流れを模式的に説明する模式図である。（実施例２）
【図９】本発明のファームウェアの書き換え処理のフローチャートである。（実施例２）
【図１０】従来技術を示すシステム構成図である。
【図１１】従来技術を示す模式図である。
【符号の説明】
【００４４】
０１０１…プリンタ、０１０２…ホスト、０１０３…通信ケーブル、０１０４…書き換え用データ、０１０５…ホストＩ／Ｆ処理部、０１０６…操作処理部、０１０７…表示処理部、０１０８…ファームウェア書き換え処理部、０１０９…データ受け捨て部、０１１０…ＲＯＭ書き込み処理部、０１１１…モトローラＳデータ処理部、０１１２…ヘッダ処理部、０１１３…ヘッダ、０１１４…モトローラＳデータ、１００１…プリンタ、１００２…ホスト、１００３…書き換え用データ、１００４…ホストＩ／Ｆ、１００５…ＭＰＵ、１００６…ＲＯＭ、１００７…ＲＡＭ、１００８…エンジン、１００９…ヘッダ、１０１０…モトローラＳデータ。
【図１】
2007172416.tif 000003
【図２】
2007172416.tif 000004
【図３】
2007172416.tif 000005
【図４】
2007172416.tif 000006
【図５】
2007172416.tif 000007
【図６】
2007172416.tif 000008
【図７】
2007172416.tif 000009
【図８】
2007172416.tif 000010
【図９】
2007172416.tif 000011
【図１０】
2007172416.tif 000012
【図１１】
2007172416.tif 000013