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