(57)【要約】【課題】メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する画像形成装置において、ファームウエアに起因する動作不良を確実に防止する。【解決手段】ヘッダおよびフッタをファームウエアに設け、書換処理においてはヘッダおよびフッタを含めてファームウエアを書き換える。そして、ファームウエアの書換エラーについては、ヘッダおよびフッタの記憶内容を検証することで行っている。また、書換エラーを検出した際には、そのまま印刷モードには移行せずに、書換モードへの誘導処理を実行することで、書換モードに誘導し、書換モードを再度実行している。【選択図】        図６
2004348534.tif 000002
【特許請求の範囲】
【請求項１】
ファームウエアを記憶する書き換え可能な第１メモリと、
前記第１メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する制御手段とを備え、
前記制御手段は、必要に応じて、前記書換モードの実行時に書換エラーが発生したか否かを検出することを特徴とする画像形成装置。
【請求項２】
前記制御手段は、書換モードの実行後で、かつ次の印刷モードの実行前に、前記書換エラーが発生したか否かを検出し、前記書換エラーを検出した際には、前記印刷モードの実行に先立って前記書換モードを実行する請求項１記載の画像形成装置。
【請求項３】
イニシャル・プログラム・ローダを記憶する第２メモリをさらに備え、
前記制御手段は、装置への電源投入時に、前記イニシャル・プログラム・ローダに基づき、前記書換エラー検出を実行するとともに前記書換エラーを検出した際には前記書換モードに誘導する請求項１または２記載の画像形成装置。
【請求項４】
前記ファームウエアは少なくとも１つ以上のエラー検出情報を含んでおり、
前記制御手段は、必要に応じて、前記エラー検出情報を読出し、その読出し内容に基づき前記書換エラーを検出する請求項１ないし３のいずれかに記載の画像形成装置。
【請求項５】
前記エラー検出情報として、前記ファームウエアの先頭および最後尾にヘッダおよびフッタがそれぞれ設けられる請求項４記載の画像形成装置。
【請求項６】
メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する画像形成装置において、
必要に応じて、前記書換モードの実行時に書換エラーが発生したか否かを検出することを特徴とするファームウエアの書換方法。
【請求項７】
書換モードの実行後で、かつ次の印刷モードの実行前に、前記書換エラーが発生したか否かを検出し、前記書換エラーを検出した際には、前記印刷モードの実行に先立って前記書換モードを実行する請求項６記載のファームウエアの書換方法。
【請求項８】
メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する画像形成装置に、
前記書換モードの実行時に書換エラーが発生したか否かを検出する手順
を実行させるための書換プログラム。
【請求項９】
メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する画像形成装置に、
前記書換モードの実行時に書換エラーが発生したか否かを検出する手順と、
前記書換エラーを検出した際には、印刷モードの実行に先立って前記書換モードを実行する手順と
を実行させるための書換プログラム。
【請求項１０】
メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する画像形成装置に、
前記書換モードの実行時に書換エラーが発生したか否かを検出する手順
を実行させるための書換プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する画像形成装置に、
前記書換モードの実行時に書換エラーが発生したか否かを検出する手順と、
前記書換エラーを検出した際には、印刷モードの実行に先立って前記書換モードを実行する手順と
を実行させるための書換プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する画像形成装置、該装置におけるファームウエアの書換方法、書換プログラムならびに記録媒体に関するものである。
【０００２】
【従来の技術】
プリンタ、複写機、ファクシミリ装置などの画像形成装置として、例えば２つのコントローラを通信インターフェースを介して相互に通信可能に接続したものが従来より知られている（特許文献１参照）。この特許文献１に記載の画像形成装置では、ホストコンピュータなどの外部装置や内蔵スキャナー等から画像信号がメインコントローラに与えられると、このメインコントローラで該画像信号を解析し、種々の画像処理を施した後、その画像処理済の信号（例えばビデオ信号）をエンジンコントローラに与える。このエンジンコントローラは、中央演算処理装置としてのＣＰＵと、ファームウエアを記憶する書き換え可能な不揮発性メモリとを有しており、上記信号を受けると、フラッシュＲＯＭやＥＥＰＲＯＭなどの不揮発性メモリに記憶されているファームウエアに基づきエンジン部を制御して複写紙、転写紙、用紙およびＯＨＰ用透明シートなどのシートに画像信号に対応する画像を形成する（印刷モード）。
【０００３】
ここで、ファームウエアを書き換え可能な不揮発性メモリに記憶させているが、この理由は将来の機能追加やバージョンアップに柔軟に対応するためである。すなわち、機能追加やバージョンアップが必要となった場合には、機能追加などを盛り込んだファームウエアを新たに作成し、旧ファームウエアを新たなファームウエアに書き換えて更新する。具体的には、ホストコンピュータなどの装置外部から画像形成装置の不揮発性メモリ内のファームウエアを変更するコマンドを所定回数受信したとき、新しい内容のファームウエアに変更し、書き換えている（書換モード）。
【０００４】
【特許文献１】
特開平８−１６１２３１号公報（図２）
【０００５】
【発明が解決しようとする課題】
上記のようにしてファームウエアの書換動作を行っている際にファームウエアの書換エラーが生じる可能性がある。例えば、従来装置では、新たなファームウエアが通信インターフェースを介してエンジンコントローラ内の不揮発性メモリに書き込まれる。このような装置では、通信エラーにより正常なデータがエンジンコントローラに送られないことがある。また、不揮発性メモリへのデータの書込エラーが発生することもあった。そして、このような書換エラーが生じているにもかかわらず、そのまま印刷モードを実行すると、装置が誤動作したり、印刷不能となったりする。そこで、このようなファームウエアに起因する動作不良を回避するために適切な対応が要望される。
【０００６】
この発明は上記課題に鑑みなされたものであり、メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する画像形成装置において、ファームウエアに起因する動作不良を確実に防止することを目的とする。
【０００７】
【課題を解決するための手段】
この発明にかかる画像形成装置は、上記目的を達成するため、ファームウエアを記憶する書き換え可能な第１メモリと、第１メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する制御手段とを備え、制御手段は、必要に応じて、書換モードの実行時に書換エラーが発生したか否かを検出することを特徴としている。
【０００８】
このように構成された発明では、制御手段によって書換モードの実行時に書換エラーが発生したか否かが検出される。したがって、書換エラーが生じているにもかかわらず、そのまま印刷を実行するのを防止することができる。その結果、装置の誤動作や印刷不能などのファームウエアに起因する動作不良を確実に回避することができる。
【０００９】
その書換エラーの検出タイミングについては、書換モードの実行後で、かつ次の印刷モードの実行前に行うのが望ましい。そして、書換エラーを検出した際には、印刷モードの実行に先立って書換モードを実行することで、常にファームウエアの書換が完了した上で印刷動作が実行されることとなる。したがって、常に正常なファームウエアで印刷動作を実行することができる。
【００１０】
ここで、書換エラーの検出後に書換モードを実行させるために、イニシャル・プログラム・ローダを利用するのが効果的である。すなわち、第２メモリにイニシャル・プログラム・ローダを記憶する画像形成装置では、装置への電源投入時に、イニシャル・プログラム・ローダに基づき初期動作が実行される。そして、その初期動作において、書換エラー検出を実行するとともに書換エラーを検出した際には書換モードに誘導するように構成してもよい。これによって、書換エラーの検出、ならびに該エラー検出に対応して書換モードを確実に実行することができる。
【００１１】
また、ファームウエアが少なくとも１つ以上のエラー検出情報を含むように構成するとともに、エラー検出情報を読出し、その読出し内容に基づきエラー検出を行うようにしてもよい。このようにエラー検出情報を設けておくことで書換エラーを確実に検出することができる。また、エラー検出情報としては、ファームウエアの先頭および最後尾にそれぞれ設けたヘッダおよびフッタを用いることができる。このようにファームウエアの先頭および最後尾にエラー検出情報（ヘッダおよびフッタ）を設けることでファームウエアの書換中のいずれの段階で書換エラーが発生したとしても書換エラーを検出することができる。したがって、書換エラーを高精度に検出することができ、好適である。
【００１２】
また、この発明にかかるファームウエアの書換方法は、メモリに記憶されたファームウエアに基づき印刷動作を実行する印刷モードと、ファームウエアの書換処理を実行する書換モードとを選択的に実行する画像形成装置において、上記目的を達成するため、必要に応じて、書換モードの実行時に書換エラーが発生したか否かを検出することを特徴としている。また、この発明にかかる書換プログラムは、上記画像形成装置に、書換モードの実行時に書換エラーが発生したか否かを検出する手順を実行させるように構成している。さらに、この発明にかかる記録媒体は、上記書換プログラムを記録している。
【００１３】
このように構成された発明（ファームウエアの書換方法、書換プログラムならびに記録媒体）では、書換モードの実行時に書換エラーが発生したか否かを検出しているので、書換エラーが生じているにもかかわらず、そのまま印刷を実行するのを防止することができる。その結果、装置の誤動作や印刷不能などのファームウエアに起因する動作不良を確実に回避することができる。
【００１４】
なお、これらの発明（ファームウエアの書換方法、書換プログラムならびに記録媒体）における書換エラーの検出タイミングについては、この発明にかかる画像形成装置と同様に、書換モードの実行後で、かつ次の印刷モードの実行前に行うのが望ましい。そして、書換エラーを検出した際には、印刷モードの実行に先立って書換モードを実行することで、常にファームウエアの書換が完了した上で印刷動作が実行されることとなる。したがって、常に正常なファームウエアで印刷動作を実行することができる。
【００１５】
【発明の実施の形態】
図１はこの発明にかかる画像形成装置の一実施形態を示す図である。また、図２は図１の画像形成装置の電気的構成を示すブロック図である。この画像形成装置は、イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の４色のトナーを重ね合わせてフルカラー画像を形成したり、ブラック（Ｋ）のトナーのみを用いてモノクロ画像を形成する装置である。この画像形成装置では、ホストコンピュータ１００などの外部装置から画像信号が制御ユニット１のメインコントローラ１１に与えられると、このメインコントローラ１１で該画像信号を解析し、種々の画像処理を施した後、その画像処理済の信号をエンジンコントローラ１２に与える。このエンジンコントローラ１２は、フラッシュメモリ１２３に記憶されているファームウエアに基づきエンジン部ＥＧの各部を制御して複写紙、転写紙、用紙およびＯＨＰ用透明シートなどのシートＳに画像信号に対応する画像を形成する。
【００１６】
このエンジン部ＥＧでは、７つのユニット：（ａ）感光体ユニット２；（ｂ）イエロー現像ユニット（以下「Ｙ現像ユニット」という）３Ｙ；（ｃ）マゼンタ現像ユニット（「Ｍ現像ユニット」）３Ｍ；（ｄ）シアン現像ユニット（「Ｃ現像ユニット」）３Ｃ；（ｅ）ブラック現像ユニット（「Ｋ現像ユニット」）３Ｋ；（ｆ）中間転写ユニット４および（ｇ）定着ユニット５が装置本体６に対して着脱自在となっている。そして、すべてのユニット２、３Ｙ、３Ｍ、３Ｃ、３Ｋ、４、５が装置本体６に装着された状態で、図１に示すように、感光体ユニット２の感光体２１が図１の矢印方向Ｄ１に回転するとともに、その感光体２１の周りにその回転方向Ｄ１に沿って、帯電部２２、現像ユニット３Ｙ、３Ｍ、３Ｃ、３Ｋからなるロータリー現像部３およびクリーニング部２３がそれぞれ配置される。
【００１７】
７つのユニット２、３Ｙ、３Ｍ、３Ｃ、３Ｋ、４、５のうち感光体ユニット２には感光体２１、帯電部２２およびクリーニング部２３が収容されており、これらを一体的に装置本体６に対して着脱自在となっている。帯電部２２には図示を省略する帯電バイアス発生部から帯電バイアスが印加されており、感光体２１の外周面を均一に帯電させる。また、この感光体ユニット２には、感光体２１の回転方向Ｄ１における帯電部２２の上流側にクリーニング部２３が設けられており、一次転写後に感光体２１の外周面に残留付着しているトナーを掻き落とす。こうして、感光体２１の表面クリーニングを行っている。
【００１８】
帯電部２２によって帯電された感光体２１の外周面に向けて露光ユニット８から光ビームＬが照射される。この露光ユニット８は、エンジンコントローラ１２に設けられたレーザドライバ（図示省略）と電気的に接続されており、このレーザドライバから与えられる駆動信号に応じて露光ユニット８を制御し、光ビームＬを感光体２１上に露光して画像信号に対応する静電潜像を感光体２１上に形成する。
【００１９】
こうして形成された静電潜像はロータリー現像部３によってトナー現像される。このロータリー現像部３では、ブラック用の現像ユニット３Ｋ、シアン用の現像ユニット３Ｃ、マゼンタ用の現像ユニット３Ｍ、およびイエロー用の現像ユニット３Ｙが軸中心に回転自在に設けられている。そして、これらの現像ユニット３Ｙ、３Ｍ、３Ｃ、３Ｋは予め決められた複数の位置に移動位置決めされるとともに、感光体２１に対して選択的に現像位置で位置決めされる。図１ではブラック用の現像ユニット３Ｋが現像位置に位置決めされており、この位置決め状態で現像ユニット３Ｋに設けられた現像ローラ３１が感光体２１と対向配置されるが、その他の現像ユニット３Ｙ、３Ｍ、３Ｃについても現像ユニット３Ｋと全く同様に現像ユニットの現像位置への位置決めにより各現像ユニットに設けられた現像ローラ３１が感光体２１と対向配置される。
【００２０】
また、現像位置に位置決めされた現像ユニットでは、ユニットハウジング内に貯留されたトナーは現像ローラ３１に担持されながら、現像位置に搬送される。そして、現像ローラ３１に対して、所定の現像バイアスを印加することで現像位置に選択位置決めされたユニットハウジング内のトナーが現像ローラ３１から感光体２１に付着して静電潜像を顕像化する。こうして、選択された色のトナー像が感光体２１の表面に形成される。
【００２１】
上記のようにして現像部３で現像されたトナー像は、一次転写領域ＴＲ１で中間転写ユニット４の中間転写ベルト４１上に一次転写される。すなわち、中間転写ユニット４は複数のローラに掛け渡された中間転写ベルト４１と、中間転写ベルト４１を回転駆動する駆動部（図示省略）とを備えており、カラー画像をシートＳに転写する場合には、感光体２１上に形成される各色のトナー像を中間転写ベルト４１上に重ね合わせてカラー画像を形成する一方、単色画像をシートＳに転写する場合には、感光体２１上に形成されるブラック色のトナー像のみを中間転写ベルト４１上に転写して単色画像を形成する。
【００２２】
また、本実施形態にかかる画像形成装置では、パッチ画像の濃度を検出するために、中間転写ベルト４１が掛け渡された一のローラに対向してパッチセンサＰＳが配置されている。
【００２３】
こうして中間転写ベルト４１上に形成された画像については、所定の二次転写領域ＴＲ２において、カセット９から取り出されたシートＳ上に二次転写する。そして、トナー画像が転写されたシートＳを、ヒータ（図示省略）が内蔵された定着ユニット５に導入し、ここで加熱しながら圧力を加えることによってトナーをシートＳに定着させる。こうして画像が形成されたシートＳは装置本体６の上面部に設けられた排出トレイ部に搬送される。
【００２４】
次に、図２を参照しつつ図１の画像形成装置の電気的構成について説明する。メインコントローラ１１はホストインターフェース１１１、ＣＰＵ１１２、ＲＯＭ１１３、ＲＡＭ１１４およびエンジンインターフェース１１５を備えている。このメインコントローラ１１では、ホストインターフェース１１１によってホストコンピュータ１００との間の通信処理を行うように構成されており、ホストコンピュータ１００から送信された画像信号、後述するダウンロードプログラムやファームウェアファイルを受信する。そして、受信された画像信号などはＲＡＭ１１４に一次的に格納される。
【００２５】
ＣＰＵ１１２には、図示を省略する入出力ポートを介して装置本体６に取り付けられた操作パネル１３と電気的に接続されている。この操作パネル１３には、ＣＰＵ１１２に対してユーザが種々の指令を与えるために複数のスイッチ１３１が設けられるとともに、ユーザに対してメッセージや印刷状況などを表示するために表示部１３２が設けられており、操作パネル１３がマンマシンインターフェースとして機能している。
【００２６】
また、ＲＯＭ１１３には、予めメインコントローラ１１用のプログラムが記憶されており、このプログラムにしたがってＣＰＵ１１２およびロジック回路（図示省略）が作動することで、受信した画像信号に対して種々の画像処理を施す。すなわち、ホストコンピュータ１００から画像信号が与えられたメインコントローラ１１では、その画像信号に対応する画像内の各画素のＲＧＢ成分の階調レベルを示したＲＧＢデータを、対応するＣＭＹＫ成分の階調レベルを示したＣＭＹＫデータに変換する。また、各画素のＣＭＹＫデータに対し階調補正を行った後、さらに誤差拡散法、ディザ法、スクリーン法などのハーフトーニング処理を行い、１画素１色当たり例えば８ビットのハーフトーンＣＭＹＫデータを作成する。そして、そのハーフトーンＣＭＹＫデータを用いて、エンジン部ＥＧのＣＭＹＫ各色画像の露光レーザパルスをパルス幅変調するためのビデオ信号を作成し、エンジンインターフェース１１５を介してエンジンコントローラ１２に出力する。さらに、上記プログラムに基づきエンジンコントローラ１２に対してコマンドやデータなどを送信し、後述する印刷モードと書換モードとのモード切替、ならびに書換モードではエンジンコントローラ１２からのステータスに対応してデータ送信や待機などの処理を実行する。
【００２７】
一方、エンジンコントローラ１２は、図２に示すように、メインインターフェース１２１、ＣＰＵ１２２、フラッシュメモリ１２３およびＲＡＭ１２４を備えている。メインインターフェース１２１はメインコントローラ１１との間で通信を行うためのものであり、メインコントローラ１１から送信されるコマンドやデータなどを受信し、またメインコントローラ１１に対して後述する「データ要求」、「指示待ち要求」などのステータス等を送信する。
【００２８】
また、この実施形態では、「ファームウエアを記憶する書き換え可能なメモリ」としてフラッシュメモリ１２３を用いており、そのメモリ領域の一部をライトプロテクトするとともに、そのライトプロテクト領域にイニシャル・プログラム・ローダ（ＩＰＬ）を格納する一方、残りのメモリ領域にファームウエアを格納するように構成している。
【００２９】
そして、ＣＰＵ１２２はファームウエアを実行することによりエンジン部ＥＧの各部を制御して複写紙、転写紙、用紙およびＯＨＰ用透明シートなどのシートＳに画像信号に対応する画像を形成する（印刷モード）。このようにフラッシュメモリ１２３に記憶されたファームウエアに基づきメインコントローラ１１からのビデオ信号に対応する画像を作成する印刷モードでは、メインコントローラ１１がマスターとして機能するとともに、エンジンコントローラ１２がスレーブとして機能している。
【００３０】
また、このエンジンコントローラ１２では、上記印刷モード以外にファームウエアの書き換えを行う書換モードを実行可能となっている。すなわち、イニシャル・プログラム・ローダに基づきダウンロードプログラムがＲＡＭ１２４にロードされ、ＣＰＵ１２２がそのダウンロードプログラムを実行することでファームウエアの書換処理を実行する。この実施形態では、特に書換モードとなっている間、エンジンコントローラ１２がマスターとして機能するとともに、メインコントローラ１１がスレーブとして機能するように構成している。
【００３１】
さらに、エンジンコントローラ１２では、書換モードの実行とともに、その書換モード実行中に書換エラー（通信エラー、消去エラーおよび書込エラー）が発生したか否かを判別する。そして、書換エラーが発生した際には、ユーザに対してファームウエア書換処理の再実行を促すように装置各部を制御する。
【００３２】
このように、この実施形態にかかる画像形成装置では、ファームウエアの書換処理のみならず、その書換処理に失敗した場合についても適切な対応が取れるように構成されている。そこで、以下においては、（ｉ）ファームウエアの書換処理、（ｉｉ）書換実行中における書換エラーの検出処理、（ｉｉｉ）書換モードの再実行処理の順で本実施形態にかかる画像形成装置の動作について詳述する。
【００３３】
（ｉ）ファームウエアの書換処理
図３はメインコントローラとエンジンコントローラとの間で行われる通信手順を示す図であり、図４はエンジンコントローラでのデータの転送状態を示す模式図である。
【００３４】
上記のように構成された画像形成装置では、メインコントローラ１１がエンジンコントローラ１２に対してコマンドやデータ等を送信し、これを受けたスレーブとして動作しているエンジンコントローラ１２がフラッシュメモリ１２３に格納されているファームウエアに基づきエンジン部ＥＧの各部を制御して印刷処理を行っている（印刷モード）。このときのメモリ状態は図４（ａ）である。
【００３５】
そして、ファームウエアの書換が必要となると、画像形成装置に対して印刷モードから書換モードに切替える旨の指示を与えるとともに、ダウンロードプログラムおよび新しいファームウエアをメインコントローラ１１に与える。具体的な手順としては、例えばユーザやサービスエンジニアなどが操作パネル１３に設けられたスイッチ１３１群を操作してメインコントローラ１１のＣＰＵ１１２に対し書換モードへのモード切替を指示する。また、ユーザやサービスエンジニアなどは、ダウンロードプログラムおよび新しいファームウエアが記録されたＣＤ−ＲＯＭやフロッピー（登録商標）ディスクなどの外部記録媒体１０１をホストコンピュータ１００にセットする。なお、ＬＡＮなどによって画像形成装置に対して複数のホストコンピュータ１００が接続されている場合には、任意のホストコンピュータ１００を用いることができる。また、外部記録媒体を用いる代わりに、ＬＡＮを経由して所定のサーバに格納されているダウンロードプログラムおよび新しいファームウエアをホストコンピュータ１００のハードディスク（図示省略）に予めダウンロードしておいてもよい。
【００３６】
次に、ホストコンピュータ１００からメインコントローラ１１のＲＡＭ１１４にダウンロードプログラムおよび新しいファームウエアをコピーする。ここで、ホストコンピュータ１００にインストールされているプリンタドライバを用いて上記コピー動作を実行させるように構成してもよい。すなわち、プリンタドライバを起動すると、ファームウエアの書換処理を選択するためのボタンがディスプレイ上に表示されるように構成することができる。そして、そのボタンをユーザやサービスエンジニアなどが選択すると、ディスプレイ上にファームウエアの書換処理に必要な処理手順が表示され、それにしたがって操作することで、自動的に記録媒体（ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードディスクなど）に格納されているダウンロードプログラムおよび新しいファームウエアがメインコントローラ１１のＲＡＭ１１４にコピーされる。こうすることで、ユーザフレンドリーな装置となる。
【００３７】
こうしてＲＡＭ１１４へのコピーが完了すると、図３に示すように、メインコントローラ１１はエンジンコントローラ１２に対して「書換モード」コマンドを送信する。一方、このコマンドを受信したエンジンコントローラ１２は「了解」ステータスを送信する。これによって、印刷モードから書換モードに切り替わる。
【００３８】
この書換モードでは、エンジンコントローラ１２がマスターとして機能するとともに、メインコントローラ１１がスレーブとして機能し、以下のような通信が行われてファームウエアの書換処理が実行される。
【００３９】
（ｉ−１）ダウンロードプログラム１０２の書き込み（プログラム読込工程）
ＩＰＬに基づきＣＰＵ１２２が作動してメインコントローラ１１のＲＡＭ１１４に格納されているダウンロードプログラム１０２をエンジンコントローラ１２のＲＡＭ１２４に書き込む。具体的には、エンジンコントローラ１２からメインコントローラ１１に対し、「データ要求」ステータスを送信する。これを受けたメインコントローラ１１はダウンロードプログラム１０２のプログラム長ステータスを示すバイトサイズをエンジンコントローラ１２に返す。そして、エンジンコントローラ１２はメインコントローラ１１に対して「指示待ち要求」ステータスを送信し、これを受けてメインコントローラ１１が待機状態となる。
【００４０】
次に、ダウンロードプログラム１０２の送信を要求するため、エンジンコントローラ１２からメインコントローラ１１に対し、「データ要求」ステータスを送信する。これを受けたメインコントローラ１１はダウンロードプログラム１０２をエンジンコントローラ１２に送信する。そして、エンジンコントローラ１２は送信されてきたダウンロードプログラム１０２をＲＡＭ１２４に格納する（図４（ｂ））。それに続いて、エンジンコントローラ１２はメインコントローラ１１に対して「指示待ち要求」ステータスを送信し、これを受けてメインコントローラ１１が待機状態となる。
【００４１】
（ｉ−２）ファームウエア１０３の書き込み
次に、ダウンロードプログラムを起動してファームウエア１０３の書き込みを行う。まず、図４（ｃ）に示すように、フラッシュメモリ１２３に格納されている旧ファームウエアを消去する（消去工程）。
【００４２】
そして、新しいファームウエア１０３のヘッダ（Ｈｅａｄｅｒ）の送信を要求するために、エンジンコントローラ１２からメインコントローラ１１に対し、「データ要求」ステータスを送信する。これを受けたメインコントローラ１１は新ファームウエア１０３のヘッダ（Ｈｅａｄｅｒ）をエンジンコントローラ１２に送信する。こうしてエンジンコントローラ１２に読み込まれたヘッダは、図４（ｄ）に示すように、一旦ＲＡＭ１２４に格納された後、フラッシュメモリ１２３に書き込まれる（書込工程；書込手順）。そして、エンジンコントローラ１２はメインコントローラ１１に対して「指示待ち要求」ステータスを送信し、これを受けてメインコントローラ１１が待機状態となる。
【００４３】
また、ファームウエアの送信を要求するために、エンジンコントローラ１２からメインコントローラ１１に対し、「データ要求」ステータスを送信する。これを受けたメインコントローラ１１は新ファームウエア１０３のデータを単位長さ、例えば１２８バイト単位でエンジンコントローラ１２に送信する。こうしてエンジンコントローラ１２に読み込まれたファームウエアは、図４（ｅ）に示すように、一旦ＲＡＭ１２４に格納された後、フラッシュメモリ１２３に書き込まれる（書込工程；書込手順）。そして、エンジンコントローラ１２はメインコントローラ１１に対して「指示待ち要求」ステータスを送信し、これを受けてメインコントローラ１１が待機状態となる。この単位長さバイトでのデータ書込（図３の１点鎖線で囲った処理）をＮ回繰り返してファームウエア全体をフラッシュメモリ１２３に書込む。
【００４４】
それに続いて、ファームウエア１０３のフッタ（Ｆｏｏｔｅｒ）の送信を要求するために、エンジンコントローラ１２からメインコントローラ１１に対し、「データ要求」ステータスを送信する。これを受けたメインコントローラ１１は新ファームウエア１０３のフッタをエンジンコントローラ１２に送信する。こうしてエンジンコントローラ１２に読み込まれたフッタは、図４（ｆ）に示すように、一旦ＲＡＭ１２４に格納された後、フラッシュメモリ１２３に書き込まれる（書込工程；書込手順）。こうして、ファームウエアの書き換えが完了すると、エンジンコントローラ１２はメインコントローラ１１に対して「再起動要求」ステータスを送信し、これを受けてメインコントローラ１１が再起動処理を実行して装置全体が再起動され、上記のようにして書き換えられたファームウエアを有効なものとする。
【００４５】
（ｉｉ）書換実行中における書換エラーの検出処理
図５は、図１の画像形成装置における書換実行中における書換エラーの検出処理を示すフローチャートである。この画像形成装置は、書換モードが実行されている間、ステップＳ１〜Ｓ４を実行して書換エラーが発生したか否かを判別している。具体的には、メインコントローラ１１からエンジンコントローラ１２へのデータ転送を行うたびにメインコントローラ１１からエンジンコントローラ１２にチェックサムを送信し、このチェックサムに基づきデータ転送が良好に行われたことを確認する（ステップＳ１）。また、上記書換処理中にフラッシュメモリ１２３の消去エラーが発生したか否かを判別する（ステップＳ２）。さらに、フラッシュメモリ１２３へのデータの書込エラーが発生したか否かを判別する（ステップＳ３）。
【００４６】
そして、書換処理が完了するまでの間に１つでもエラーが発生すると、直ちにステップＳ５に進んで、エンジンコントローラ１２からメインコントローラ１１に「中断要求」ステータスを送信して書換処理を中断する。さらに、メインコントローラ１１によって「一旦電源をオフにし、数分後にオンしてください」という旨のメッセージを表示部１３２に表示するとともに、メインコントローラ１１からホストコンピュータ１００に同様のメッセージを送信してホストコンピュータ１００のディスプレイ上に表示させる（ステップＳ６）。なお、この実施形態では、画像形成装置の表示部１３２およびホストコンピュータ１００のディスプレイの両方に上記メッセージを表示しているが、いずれか一方のみに表示するようにしてもよい。
【００４７】
このように、この実施形態によれば、書換エラーが生じているにもかかわらず、そのまま印刷を実行するのを防止することができる。その結果、装置の誤動作や印刷不能などのファームウエアに起因する動作不良を確実に回避することができる。また、ユーザやサービスエンジニアに対して書換実行中において書換エラーが発生したことを報知することができる。
【００４８】
（ｉｉｉ）書換モードの再実行処理
次に、上記メッセージにしたがってユーザやサービスエンジニアが画像形成装置の電源を再投入すると、図６に示す書換モードの再実行処理を実行する。図６は、電源投入時の初期動作を示すフローチャートである。この実施形態では、電源投入時に、イニシャル・プログラム・ローダが起動され（ステップＳ１１）、ＣＰＵ１２２がその初期プログラムを実行することで書換モードの実行時に書換エラーが発生したか否かを検出している（ステップＳ１２、Ｓ１３）。より具体的には、ステップＳ１２でファームウエアのヘッダおよびフッタに記憶されている内容を読出す。
【００４９】
そして、ヘッダおよびフッタの記憶内容に基づきファームウエアが正常であるか否かを判別する（ステップＳ１３）。例えばヘッダおよびフッタの記憶内容がともに正しい値である場合には、ファームウエアは正常であると判別され、そのまま印刷モードに移行する。日常的に画像形成装置による印刷を行っている間、つまり上記したファームウエアの書換処理を行わない場合には、ステップＳ１３で「ＹＥＳ」と判別され、ホストコンピュータ１００などの外部装置から画像信号を受けて印刷動作を実行する。
【００５０】
また、ヘッダおよびフッタの記憶内容の少なくとも１つが異常な値である場合には、ファームウエアは異常であり、書換モードの実行時に書換エラーが発生したことがわかる。例えばヘッダおよびフッタの記憶内容がともに異常な値である場合には、消去エラーが発生した確率が高い。また、例えばヘッダの記憶内容が正しい値であるのに対し、フッタの記憶内容が異常な値である場合には、図４（ｅ）に示す書込工程中のエラー（書込エラー）が発生した確率が高い。いずれにしてもステップＳ１３で「ＮＯ」と判別した場合には、ステップＳ１４に進んで書換モードに誘導してファームウエアの書換処理を再度実行する。
【００５１】
図７は、書換モードへの誘導動作を示す図である。電源が投入されると、上記ステップＳ１１〜Ｓ１３が実行され、しかもステップＳ１３で「ＮＯ」と判別されると、書換モードへの誘導処理（ステップＳ１４）が実行される。この誘導処理では、メインコントローラ１１からエンジンコントローラ１２に対して「基本ステータス」の送信要求がなされる。この「基本ステータス」とは、図８の最上段に示すように８ビットのデータからなるもので、各ビットに対して「コール」、「休止中」などの画像形成装置の基本状態を示す内容を割り当てている。一方、この要求を受けたエンジンコントローラ１２は、誘導処理を実行すべく、「基本ステータス」中の「コールビット」に”１”をセットするとともに、その他のビットに”０”をセットした後、この「基本ステータス」をメインコントローラ１１に送信する。
【００５２】
次に、メインコントローラ１１は、「コールビット」に”１”をセットされているの対応してエンジンコントローラ１２に「コール詳細」の送信を要求する。この「コール詳細」とは、図８の中段に示すように８ビットのデータからなるもので、各ビットに対して「紙長短エラー」、「サービスコール」などのコールに関する内容を割り当てている。一方、この要求を受けたエンジンコントローラ１２は、「コール詳細」中の「サービスコール」に”１”をセットするとともに、その他のビットに”０”をセットした後、この「コール詳細」をメインコントローラ１１に送信する。
【００５３】
次に、メインコントローラ１１は、「サービスコール詳細」に”１”をセットされているの対応してエンジンコントローラ１２に「サービスコール詳細」の送信を要求する。この「サービスコール詳細」とは、図８の最下段に示すように８ビットのデータからなるもので、各ビットに対して「ダウンロードエラー」、「ファン」などのサービスコールに関する内容を割り当てている。一方、この要求を受けたエンジンコントローラ１２は、「サービスコール詳細」中の「ダウンロードエラー」に”１”をセットするとともに、その他のビットに”０”をセットした後、この「サービスコール詳細」をメインコントローラ１１に送信する。
【００５４】
さらに、メインコントローラ１１は、エンジンコントローラ１２に対して「書換モード」コマンドを送信する。一方、このコマンドを受信したエンジンコントローラ１２は「了解」ステータスを送信する。これによって、印刷モードから書換モードに切り替わる。こうして、書換モードへの誘導が完了し、その後は「（ｉ）ファームウエアの書換処理」で説明したと同様の手順でファームウエアの書換処理が再度実行される。
【００５５】
以上のように、この実施形態では、ヘッダおよびフッタを本発明の「エラー検出情報」としてファームウエアに設け、ヘッダおよびフッタを含めてファームウエアを書き換えるように構成しているので、ヘッダおよびフッタの記憶内容を検証することでファームウエアの書換エラーが発生したか否かを検出することができる。したがって、ファームウエアの異常を確実に検出することができる。しかも、本発明の「エラー検出情報」としてヘッダおよびフッタを設けているので、書換動作中のどの段階で書換エラーが発生した場合であっても、電源の再投入時に書換エラーの発生を検出することができる。
【００５６】
そして、書換エラーを検出した際には、そのまま印刷モードには移行せずに、書換モードを再度実行している。したがって、書換エラーが生じているにもかかわらず、そのまま印刷を実行するのを防止することができる。その結果、装置の誤動作や印刷不能などのファームウエアに起因する動作不良を確実に回避することができる。
【００５７】
また、書換エラーを検出した際には、印刷モードの実行に先立って書換モードを実行している。すなわち、ファームウエアの書換が完了した上で印刷動作が実行されるように構成されている。したがって、常に正常なファームウエアで印刷動作を実行することができ、高品質で印刷を行うことができる。
【００５８】
また、イニシャル・プログラム・ローダによりロードされるプログラムに基づき初期動作を実行するが、そのプログラムにより書換エラー検出（ステップＳ１２、Ｓ１３）と、書換モードへの誘導処理（ステップＳ１４）とを実行するように構成されている。そして、この実施形態では、ステータス構造を階層化するとともに、エンジンコントローラ１２がメインコントローラ１１からみて優先度の高いステータス、つまり図８の上位の「基本ステータス」から順に下位のステータスに移りながら書換モードに誘導するように構成している。すなわち、この実施形態では、図８に示すように以下の３つのステータス送信、
（ａ）「基本ステータス」の１ビット設定および送信、
（ｂ）「コール詳細」の１ビット設定および送信、
（ｃ）「サービスコール詳細」の１ビット設定および送信、
を送信することで書換モードに誘導するように構成しているので、プログラムをコンパクトなものとすることができる。また、これによってイニシャル・プログラム・ローダを記憶するためのメモリサイズを小型化することができる。
【００５９】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。上記実施形態では、ファームウエアにヘッダおよびフッタを本発明の「エラー検出情報」として設けているが、本発明の「エラー検出情報」はこれに限定されるものではない。例えば、通信エラー、消去エラーや書込エラーが発生すると、メモリの一部に書換エラーフラグを設定するように構成しているもよい。この場合、書換エラーフラグが本発明の「エラー検出情報」として機能する。そして、書換エラーフラグが設定されているか否かに応じて書換エラーの発生の有無を検出するようにしてもよい。また、上記実施形態のように書換エラーが発生した際に装置電源を一旦オフにする場合には、不揮発性メモリに書換エラーフラグが設定するのが望ましい。また、ＣＲＣ（＝Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）やチェックサムなどを「エラー検出情報」として用いるようにしてもよい。
【００６０】
また、上記実施形態では、ファームウエアおよびイニシャル・プログラム・ローダを同一のフラッシュメモリ１２３に記憶している。つまり、フラッシュメモリ１２３の書換可能なメモリ空間を本発明の「第１メモリ」として機能させるとともに、フラッシュメモリ１２３のライトプロテクト領域にイニシャル・プログラム・ローダ（ＩＰＬ）を本発明の「第２メモリ」として機能させている。もちろん、ファームウエアおよびイニシャル・プログラム・ローダを互いに独立したメモリ素子に記憶させるようにしてもよいことは言うまでもない。
【００６１】
また、上記実施形態では、ダウンロードプログラム１０２をメインコントローラ１１を経由して読み込んでいるが、予めエンジンコントローラ１２のフラッシュメモリ１２３のライトプロテクト領域に格納したり、別のＲＯＭなどの不揮発性メモリに格納してもよい。
【００６２】
また、上記実施形態では、操作パネル１３のスイッチ１３１群を操作することで書換モードへのモード切替を指示するように構成しているが、ホストコンピュータ１００からのモード切替を指示する、例えばホストコンピュータ１００で起動されたプリンタドライバから上記モード切替を指示するように構成してもよい。
【００６３】
また、上記実施形態では、ホストコンピュータ１００からの画像信号に基づき画像を形成する画像形成装置、つまりプリンタに本発明を適用しているが、本発明の適用対象はこれに限定されるものではなく、互いに通信可能に接続された２つのコントローラにより画像形成を行う複写機やファクシミリ装置などの画像形成装置全般に適用することができる。
【００６４】
さらに、上記実施形態では、２つのコントローラを通信インターフェースを介して相互に通信可能に接続した画像形成装置に対して本発明を適用しているが、次のような画像形成装置に対しても本発明を適用することができる。従来より周知のように、プリンタなどの画像形成装置として最低限度の機構、典型的にはビットマップ展開されたイメージデータをホスト装置から受けて単に印刷するだけの機能しか基本的に備えていないものであり、いわゆるダムプリンタまたはホストベースドプリンタと称される画像形成装置がある。この画像形成装置に対しても本発明を適用することができる。
【図面の簡単な説明】
【図１】この発明にかかる画像形成装置の一実施形態を示す図である。
【図２】図１の画像形成装置の電気的構成を示すブロック図である。
【図３】メインコントローラとエンジンコントローラとの間で行われる通信手順を示す図である。
【図４】エンジンコントローラでのデータの転送状態を示す模式図である。
【図５】図１の画像形成装置における書換実行中における書換エラーの検出処理を示すフローチャートである。
【図６】電源投入時の初期動作を示すフローチャートである。
【図７】書換モードへの誘導動作を示す図である。
【図８】図１の画像形成装置で採用されているステータス構造を示す図である。
【符号の説明】
１…制御ユニット（制御手段）、  １１…メインコントローラ（制御手段）、１２…エンジンコントローラ（制御手段）、  １０３…ファームウエア、  １２３…フラッシュメモリ（第１メモリ、第２メモリ）
【図１】
2004348534.tif 000003
【図２】
2004348534.tif 000004
【図３】
2004348534.tif 000005
【図４】
2004348534.tif 000006
【図５】
2004348534.tif 000007
【図６】
2004348534.tif 000008
【図７】
2004348534.tif 000009
【図８】
2004348534.tif 000010