(57)【特許請求の範囲】
【請求項１】
複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置であって、
前記記憶手段に格納されている制御プログラムを更新する更新手段と、
前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択手段と、
前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記選択手段により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を無効化する制御手段と、
前記更新対象の制御プログラムの更新の残量を示す更新残量情報を保持する保持手段と、
を備え、
前記制御手段は、前記更新手段が更新対象の制御プログラムの更新を行っている間において、前記保持手段に保持された前記更新対象の制御プログラムの更新の残量を示す更新残量情報が設定値未満である場合は、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を有効化することを特徴とする画像形成装置。
【請求項２】
複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置であって、
前記記憶手段に格納されている制御プログラムを更新する更新手段と、
前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択手段と、
前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記選択手段により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を選択し、該選択した機能を代替機能としてユーザに提示する制御手段と、
前記更新対象の制御プログラムの更新の残量を示す更新残量情報を保持する保持手段と、
を備え、
前記制御手段は、前記更新手段が更新対象の制御プログラムの更新を行っている間において、前記保持手段に保持された前記更新対象の制御プログラムの更新の残量を示す更新残量情報が設定値未満である場合は、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を代替機能として用いないことを特徴とする画像形成装置。
【請求項３】
前記制御手段は、前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない代替機能によるモードに変更して画像形成ジョブを実行するか、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する画像形成ジョブの実行を中止するか、を選択する手段をユーザに提示することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置であって、
前記記憶手段に格納されている制御プログラムを更新する更新手段と、
前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択手段と、
前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記選択手段により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を選択し、該選択した機能を代替機能としてユーザに提示する制御手段と、
を備え、
前記制御手段は、前記更新手段が更新対象の制御プログラムの更新を行っている間であって、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない代替機能による動作モードに変更して画像形成ジョブを実行している間に、前記更新対象の制御プログラムの更新が完了した場合は、前記画像形成ジョブの動作モードを前記代替機能による動作モードへの変更前の動作モードに戻すことを特徴とする画像形成装置。
【請求項５】
前記画像形成ジョブで使用する機能には、前記画像形成装置が備える複数の給紙部のうちどの給紙部から用紙を給紙するかを指定する機能、用紙の片面と両面のうちどの面に画像形成を行うかを指定する機能、前記画像形成装置が備える複数の排紙部のうちどの排紙部に画像形成が完了した用紙を排紙するかを指定する機能、が含まれることを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置の制御方法であって、
前記記憶手段に格納されている制御プログラムを更新する更新工程と、
前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択工程と、
前記更新工程により更新対象の制御プログラムの更新を行っている間は、前記選択工程により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を無効化する制御工程と、
前記更新対象の制御プログラムの更新の残量を示す更新残量情報を保持する保持工程と、
を有し、
前記制御工程において、前記更新工程で更新対象の制御プログラムの更新を行っている間において、前記保持工程で保持された前記更新対象の制御プログラムの更新の残量を示す更新残量情報が設定値未満である場合は、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を有効化することを特徴とする制御方法。
【請求項７】
複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置の制御方法であって、
前記記憶手段に格納されている制御プログラムを更新する更新工程と、
前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択工程と、
前記更新工程により更新対象の制御プログラムの更新を行っている間は、前記選択工程により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を選択し、該選択した機能を代替機能としてユーザに提示する制御工程と、
前記更新対象の制御プログラムの更新の残量を示す更新残量情報を保持する保持工程と、
を備え、
前記制御工程において、前記更新工程で更新対象の制御プログラムの更新を行っている間において、前記保持工程で保持された前記更新対象の制御プログラムの更新の残量を示す更新残量情報が設定値未満である場合は、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を代替機能として用いないことを特徴とする画像形成装置。
【請求項８】
複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置の制御方法であって、
前記記憶手段に格納されている制御プログラムを更新する更新工程と、
前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択工程と、
前記更新工程により更新対象の制御プログラムの更新を行っている間は、前記選択工程により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を選択し、該選択した機能を代替機能としてユーザに提示する制御工程と、
を備え、
前記制御工程において、前記更新工程で更新対象の制御プログラムの更新を行っている間であって、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない代替機能による動作モードに変更して画像形成ジョブを実行している間に、前記更新対象の制御プログラムの更新が完了した場合は、前記画像形成ジョブの動作モードを前記代替機能による動作モードへの変更前の動作モードに戻すことを特徴とする制御装置。
【請求項９】
請求項６乃至８のいずれか１項に記載の画像形成装置の制御方法をコンピュータに実行させるためのコンピュータで読み取り可能なプログラムコードを有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマイクロプロセッサを有するモジュールを備える画像形成装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、画像形成装置に組み込まれたファームウェアの更新に関する技術として次のファームウェア更新システムが提案されている（例えば、特許文献１参照）。特許文献１記載のファームウェア更新システムは、以下のような制御によりファームウェアのバージョンアップを行っていた。
【０００３】
即ち、プリントジョブに関連する１つのソフトウェアパーツについて更新する場合、タイマジョブとして実行待ちになっている予約プリントジョブの中に、更新対象となるソフトウェアパーツを使用するものが含まれているか否かを判定する。更新対象となるソフトウェアパーツを使用するものが含まれていないと判定した場合には、当該ソフトウェアパーツの更新処理を行う。
【０００４】
また、上記予約プリントジョブの中に当該ソフトウェアパーツが含まれているが、ネットワーク上の他の画像形成装置が備えるソフトウェアパーツで代替できると判断した場合には、使用可能な画像形成装置を用いるように再スケジューリングする。また、代替できる画像処理装置が存在しないと判断した場合には、その更新要求を保留にする。
【０００５】
このように制御することで、ファームウェアの削除と更新・高速にでき且つタイマジョブを遂行するソフトウェアパーツについて、一般のジョブに支障を来さない範囲で適宜削除・更新することを試みることが開示されている。
【０００６】
また、従来、画像形成装置に組み込まれたファームウェアの更新に関する技術として次のファームウェア更新システムが提案されている（例えば、特許文献２参照）。特許文献２記載のファームウェア更新システムは、以下のような制御によりファームウェアのバージョンアップを行っていた。
【０００７】
まず、ファームウェアを外部からダウンロードしてＲＡＭ領域に一時格納し、その後にＰＲＯＭ領域に書き込むシステムにおいて、最初にＲＡＭ領域にファームウェアを一時格納した後にリセットする。更に、ＲＡＭ領域のファームウェアをＰＲＯＭ領域に書き込んだ後にファームウェアの動作を開始するファームウェア更新機能を有し、実行中及び実行待機中のジョブを検知する。そして、実行中及び実行待機中のジョブが検知されている間はファームウェア更新機能の動作を保留することが開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−１０８９５７号公報
【特許文献２】特開２００１−２７３１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
近年、画像形成装置はオフィスでのセンタープリンタとして使用されるといった需要が増加しているため、画像形成装置の機能には、よりダウンタイムを少なくすることが求められている。特に、画像形成装置のファームウェアの更新中において、画像形成装置のプリント機能がまったく使用できなくなってしまうという従来技術の課題の解決が要望されている。
【００１０】
上記の従来技術（先行技術）においては、画像形成装置の電源のＯＦＦ／ＯＮを行わずにファームウェアの更新をすることは可能であった。しかし、すでにファームウェアのバージョンアップを開始してから画像形成装置へ投入されるプリントジョブに対しては言及されていない。
【００１１】
例えば、画像形成装置に接続された後処理装置（フィニッシャ）のファームウェアを更新する場合に、先行技術に挙げられた方法では、システムの動作は継続しているがプリントジョブを受け入れる手段は確立していない。そのため、ユーザの利便性は充分には改善されない場合がある。
【００１２】
画像形成装置にプリントジョブを投入する場合、ユーザはファームウェアの更新が行われていない状態であることを確認した上で画像形成装置にプリントジョブの投入を行う必要がある。そのため、ファームウェア更新対象のモジュールの内容や種類に関わらず、ファームウェアの更新終了まで画像形成装置へのプリントジョブの投入を待たなければならないという課題があった。
【００１３】
本発明の目的は、制御プログラムの更新中でも画像形成動作を行うことを可能とした画像形成装置、制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明は、複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置であって、前記記憶手段に格納されている制御プログラムを更新する更新手段と、前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択手段と、  前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記選択手段により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を無効化する制御手段と、前記更新対象の制御プログラムの更新の残量を示す更新残量情報を保持する保持手段と、を備え、前記制御手段は、前記更新手段が更新対象の制御プログラムの更新を行っている間において、前記保持手段に保持された前記更新対象の制御プログラムの更新の残量を示す更新残量情報が設定値未満である場合は、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を有効化することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、画像形成装置で更新対象の制御プログラムの更新を行っている間は、画像形成ジョブで使用する選択可能な機能のうち更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を無効化する。これにより、画像形成装置で制御プログラムの更新中でも画像形成ジョブの開始や画像形成ジョブの実行の継続が可能となり、よりダウンタイムの少ない画像形成装置の運用を実現することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施の形態に係る画像形成装置の内部構成を示す構成図である。
【図２】画像形成装置のメインＣＰＵと分散モジュールコントローラの構成を示すブロック図である。
【図３】メインＣＰＵと分散モジュールコントローラの詳細構成を示すブロック図である。
【図４】画像形成装置の操作部の構成を示す図である。
【図５】操作部のジョブ選択画面を示す図である。
【図６】メインＣＰＵと分散モジュールコントローラのサブＣＰＵを接続するシリアル信号線の構成を示すブロック図である。
【図７】画像形成装置のファームウェア更新時のモード切替処理を示すフローチャートである。
【図８】画像形成装置のファームウェア更新時のデータ送信処理を示すフローチャートである。
【図９】画像形成装置のファームウェア更新時の通信シーケンスを示す図である。
【図１０】画像形成装置のファームウェア更新時の通信信号の波形を示すタイミングチャートである。
【図１１ａ】（ａ）、（ｂ）は、サブＣＰＵファームウェア更新状態テーブルを示す図である。
【図１１ｂ】（ｃ）、（ｄ）は、サブＣＰＵファームウェア更新状態テーブルを示す図である。
【図１２】画像形成装置の操作部表示情報更新処理を示すフローチャートである。
【図１３】機能ＩＤ−サブＣＰＵ関連テーブルを示す図である。
【図１４】ファームウェア更新中の操作部のジョブ選択画面を示す図である。
【図１５】本発明の第２の実施の形態に係る画像形成装置のプリントモード情報テーブルを示す図である。
【図１６】画像形成装置のプリントモード確定判断処理を示すフローチャートである。
【図１７】操作部の代替機能選択画面を示す図である。
【図１８】本発明の第３の実施の形態に係る画像形成装置の操作部表示情報更新処理を示すフローチャートである。
【図１９】操作部のジョブ選択画面を示す図である。
【図２０】本発明の第４の実施の形態に係る画像形成装置の操作部の代替機能選択画面を示す図である。
【図２１】画像形成装置のジョブ実行中の代替プリントモード判断処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１９】
〔第１の実施の形態〕
＜画像形成装置の全体構成＞
図１は、本発明の第１の実施の形態に係る画像形成装置の内部構成を示す構成図である。
【００２０】
図１において、画像形成装置は、画像読取部１４１、画像形成装置本体、フィニッシャ１６０を備えた複合機として構成されている。画像読取部１４１は、原稿台１４２、光学ユニット１４３、撮像部１４４等を備えている。画像形成装置本体は、イエロー（Ｙ）、マゼンダ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）に各々対応したプロセスユニット１０１ｙ、１０１ｍ、１０１ｃ、１０１ｋ等を有する画像形成部を備えている。フィニッシャ１６０は、画像形成が完了した用紙に後処理（ソート、ステイプル等）を行う。
【００２１】
プロセスユニット１０１ｋは、感光ドラム１０２ｋ、帯電ローラ１０３ｋ、現像器１０５ｋ、補助帯電ブラシ１０９ｋを備えている。図１ではプロセスユニット１０１ｋが備える感光ドラム、帯電ローラ、現像器、補助帯電ブラシのみ符号を付記し、プロセスユニット１０１ｙ、１０１ｍ、１０１ｃが備える感光ドラム、帯電ローラ、現像器、補助帯電ブラシの符号は省略する。以下ではプロセスユニット１０１ｋを例にとって説明し、プロセスユニット１０１ｙ、１０１ｍ、１０１ｃについては同様であるため説明を省略する。
【００２２】
感光ドラム１０２ｋは、プロセスユニット１０１ｋの中央部に収められており、ドラムモータ（不図示）により回転駆動される。帯電ローラ１０３ｋは、感光ドラム１０２ｋに高圧を印加して感光ドラム１０２ｋの表面を一様に帯電する。レーザスキャナユニット１０４ｋは、レーザダイオードから変調出力されたレーザをポリゴンミラー回転体を介して長手方向に走査するものであり、一様に帯電された感光ドラム１０２ｋ上に入力画像情報に従ってレーザ露光を行い、静電潜像を形成する。
【００２３】
現像器１０５ｋは、トナーとキャリアからなる二成分現像剤により、静電潜像に応じた可視トナー像を感光ドラム１０２ｋ上に形成する。トナーボトル１０６ｋは、現像器１０５ｋに対してトナーを供給する。一次転写ローラ１０７ｋは、感光ドラム１０２ｋに対向配置されており、Ｙ、Ｍ、Ｃ、Ｋの各色を逐次重ね合わせるために無端ベルト状部材である中間転写体１０８に対して感光ドラム１０２ｋからトナー像を一次転写する。補助帯電ブラシ１０９ｋは、一次転写ローラ１０７ｋで転写しきれなかった転写残トナーが一様な電荷を持つよう帯電する。
【００２４】
プロセスユニット１０１ｙ、１０１ｍ、１０１ｃに対しても、それぞれ、レーザスキャナユニット１０４ｙ、１０４ｍ、１０４ｃ、トナーボトル１０６ｙ、１０６ｍ、１０６ｃが設置されている。また、プロセスユニット１０１ｙ、１０１ｍ、１０１ｃの感光ドラムに対しても、それぞれ、一次転写ローラ１０７ｙ、１０７ｍ、１０７ｃが対向配置されている。これ以降、感光ドラム１０２、帯電ローラ１０３、現像器１０５、補助帯電ブラシ１０９と記載した場合、Ｙ、Ｍ、Ｃ、Ｋの各色を含むものとする。
【００２５】
中間転写体１０８に一次転写されたトナー像は、二次転写ローラ１１０により用紙に二次転写される。二次転写ローラ１１０で転写しきれなかった残トナーや、用紙に転写することを意図しない調整用のトナーは、中間転写体クリーナ１１１により回収される。パターン濃度検知センサ１１２は、中間転写体上に作像されたパターンの濃淡変化を検知する。
【００２６】
給紙カセット１１３（給紙部）に収納された用紙は、給紙ローラ１１４により給紙され、レジストローラ１１５により斜行を補正された後、二次転写ローラ１１０に送られる。用紙は、一面目に二次転写ローラ１１０でトナー像が転写された後、定着ローラ１１７及び加圧ローラ１１８によりトナーが熱定着される。その後、用紙は、排紙フラッパ１１９により排紙パス１２０を経由して排紙トレイ１２１（排紙部）に排紙されるか、両面反転駆動ローラ１２２に送られる。
【００２７】
両面反転駆動ローラ１２２に送られた用紙は、両面反転駆動ローラ１２２の逆転と両面反転フラッパ１２３の回動により両面再給紙駆動ローラ１２４に送られ、二面目に再度画像形成が行われた後、排紙トレイ１２１に排紙される。
【００２８】
用紙は、第二増設給紙カセット１２５（給紙部）、第三増設給紙カセット１２６（給紙部）にも収納されており、増設カセット第２給紙ローラ１２７、増設カセット第３給紙ローラ１２８からも給紙を行うことができる。
【００２９】
＜画像形成装置の制御系の構成＞
図２は、画像形成装置のメインＣＰＵと分散モジュールコントローラの構成を示すブロック図である。
【００３０】
図２において、メインＣＰＵ２０１は、図１に示した画像形成装置各部の制御を行う。フラッシュＲＯＭ２０２は、メインＣＰＵ２０１が動作するためのプログラムを格納している。ＳＲＡＭ２０３は、メインＣＰＵ２０１が一時的にデータを記憶しておくために使用される。バックアップＲＡＭ２０４は、画像形成装置の動作上で設定された情報を電源切断時も記録しておくことを可能にするメモリであり、バックアップバッテリ（不図示）により電源供給されている。
【００３１】
モータドライバ２０５は、給紙ローラ１１４、レジストローラ１１５等の回転を制御する。ＳＣＩ２０６は、メインＣＰＵ２０１のシリアルインターフェイスであり、８チャンネルの信号線によりメインＣＰＵ２０１に接続されたインターフェイス、ドライバ、各種の分散モジュールコントローラ等と通信を行う。メインＣＰＵ２０１は、ＳＣＩ２０６の各チャンネルを介して二本の信号線により全二重通信を行い、インターフェイス、ドライバ、各種の分散モジュールコントローラを制御する。
【００３２】
ネットワークインターフェイス（Ｉ／Ｆ）２０７は、入力画像信号を供給するシステムコントローラと接続するためのインターフェイスである。レーザドライバ２０８は、レーザスキャナユニット１０４ｙ、１０４ｍ、１０４ｃ、１０４ｋを制御する。ＹＭＣドラムモータ／高圧コントローラ２０９は、プロセスユニット１０１ｙ、１０１ｍ、１０１ｃに含まれる感光ドラム駆動モータの制御、帯電・現像・一次転写の高圧制御を行う。
【００３３】
Ｂｋドラム／ＩＴＢモータ二次転写高圧コントローラ２１０は、プロセスユニット１０１ｋに含まれる感光ドラム駆動モータの制御、帯電・現像・一次転写の高圧制御、中間転写体１０８の駆動モータの制御、二次転写ローラ１１０の二次転写高圧制御を行う。両面／反転ユニットコントローラ２１１は、両面反転駆動ローラ１２２、両面再給紙駆動ローラ１２４の回転、両面反転フラッパ１２３の回動を制御する。
【００３４】
オプションカセットコントローラ２１２は、第二増設給紙カセット１２５の増設カセット第２給紙ローラ１２７、第三増設給紙カセット１２６の増設カセット第３給紙ローラ１２８の回転を制御する。バッファパス／フィニッシャコントローラ２１３は、バッファパスユニット１５０とフィニッシャ１６０を制御するものであり、バッファパス搬送ローラ１５１の回転、フィニッシャ上トレイ１６１、フィニッシャ下トレイ１６２（排紙部）の昇降を制御する。
【００３５】
図３は、画像形成装置のメインＣＰＵと分散モジュールコントローラの詳細構成を示すブロック図である。
【００３６】
図３において、図２に示したメインＣＰＵ２０１と複数の分散モジュールコントローラ（ＹＭＣドラムモータ／高圧コントローラ２０９〜バッファパス／フィニッシャコントローラ２１３）とが、シリアル信号線により接続されている。図３では、メインＣＰＵ２０１と複数の分散モジュールコントローラがそれぞれ搭載されているボードをブロックで図示すると共に、ボード名を記載している。複数の分散モジュールコントローラは、サブＣＰＵ（マイクロプロセッサ）と、各々の制御プログラムを格納するフラッシュＲＯＭ（記憶手段）を備えている。以下、詳細構成を説明する。
【００３７】
ＹＭＣドラムモータ／高圧コントローラ２０９は、制御を行うサブＣＰＵ３０１、サブＣＰＵ３０１を制御する制御プログラムを格納したフラッシュＲＯＭ３０２、サブＣＰＵ３０１が動作する作業領域であるＳＲＡＭ３０３から構成される。サブＣＰＵ３０１は、ＹＭＣドラムモータ３０４、ＹＭＣ高圧ユニット３０５を制御する。ボード名はＹＭＣドラムドライバボードである。
【００３８】
Ｂｋドラム／ＩＴＢモータ二次転写高圧コントローラ２１０は、制御を行うサブＣＰＵ３１１、サブＣＰＵ３１１を制御する制御プログラムを格納したフラッシュＲＯＭ３１２、サブＣＰＵ３１１が動作する作業領域であるＳＲＡＭ３１３から構成される。サブＣＰＵ３１１は、ＢｋドラムＩＴＢモータ３１４、Ｂｋ高圧ユニット３１５、二次転写高圧ユニット３１６を制御する。ボード名はＢｋ−ＩＴＢドラムドライバボードである。
【００３９】
両面／反転ユニットコントローラ２１１は、制御を行うサブＣＰＵ３２１、サブＣＰＵ３２１を制御する制御プログラムを格納したフラッシュＲＯＭ３２２、サブＣＰＵ３２１が動作する作業領域であるＳＲＡＭ３２３から構成される。サブＣＰＵ３２１は、両面反転モータ３２４、両面再給紙モータ３２５を制御する。ボード名は両面反転モータドライバボードである。
【００４０】
オプションカセットコントローラ２１２は、制御を行うサブＣＰＵ３３１、サブＣＰＵ３３１を制御する制御プログラムを格納したフラッシュＲＯＭ３３２、サブＣＰＵ３３１が動作する作業領域であるＳＲＡＭ３３３から構成される。サブＣＰＵ３３１は、増設第２カセット給紙モータ３３４、増設第３カセット給紙モータ３３５を制御する。ボード名は増設カセット給紙モータドライバボードである。
【００４１】
バッファパス／フィニッシャコントローラ２１３は、制御を行うサブＣＰＵ３４１、サブＣＰＵ３４１を制御する制御プログラムを格納したフラッシュＲＯＭ３４２、サブＣＰＵ３４１が動作する作業領域であるＳＲＡＭ３４３から構成される。サブＣＰＵ３４１は、バッファパス搬送ローラ１５１を駆動するバッファモータ３４４、フィニッシャ上トレイ１６１とフィニッシャ下トレイ１６２の昇降を行うトレイ昇降モータ３４５、フィニッシャ１６０が備えるステイプル機構３４６を制御する。ボード名はバッファパス／フィニッシャドライバボードである。
【００４２】
＜操作部の構成＞
図４は、画像形成装置の操作部の構成を示す図である。
【００４３】
図４において、操作部４０１は、スイッチ、各種ボタン、各種キー、表示部を備えている。電源スイッチ４０２は、電源ユニットに電源供給を行う主電源をＯＮ／ＯＦＦする際に操作する。節電ボタン４０３は、画像形成装置を既定の節電モードへ移行させる際に操作する。電源ＬＥＤ４０４は、主電源がＯＮされている時に緑色に点灯する。また、電源ＬＥＤ４０４は、ユーザが操作した機能が動作中であるときは緑色に点滅し、何らかのエラー等が発生した場合は赤色に点灯することでユーザに異常を報知する。
【００４４】
液晶表示部４０５は、タッチパネル式のＴＦＴドットマトリクス型の液晶パネルから構成されており、画像形成装置が有する各モードの操作を行う機能、各モード・後述のプリントモード選択ボタン等の表示を行う機能、各モードの切り替えを行う機能を備えている。テンキー４０６は、コピー枚数やＦＡＸ送信先などを入力する際に操作する。リセットキー４０７は、入力内容をクリアし、現在選択中の各モードの初期状態へ戻す際に操作する。
【００４５】
スタートキー４０８は、液晶表示部４０５やテンキー４０６からの入力内容を基に、画像形成装置に実際に動作を開始させる際に操作する。ストップキー４０９は、スタートキー４０８の操作により開始された動作を、動作途中でキャンセルする際に操作する。ヘルプキー４１０は、ユーザに対する説明文章を液晶表示部４０５に表示する際に操作する。ユーザモードボタン４１１は、ユーザが自身に適した設定を予め行う際に操作する。
【００４６】
＜ジョブ選択画面の構成＞
図５は、操作部のジョブ選択画面を示す図である。
【００４７】
図５において、ジョブ選択画面５０１は、画像形成装置がコピーモードの時に操作部４０１の液晶表示部４０５に表示される画面である。ファンクション選択ボタン５０２は、ユーザがタッチしたファンクションキーに対応した動作ファンクション（コピー、ボックス、ＦＡＸ等）に切り替える際に操作する。動作ファンクションが切り替わると、それぞれの動作ファンクションの画面に切り替わる。
【００４８】
コピー設定表示部５０３には、コピーが実行可能かどうかの状態、用紙サイズの設定等のモード設定、テンキー４０６の入力により設定されたコピー枚数、コピー倍率選択ボタン５０５により設定されたコピー倍率が表示される。色モード設定部５０４（カラー選択ボタン、白黒選択ボタン）は、白黒モード／カラーモードを設定する際に操作する。コピー倍率選択ボタン５０５は、コピー倍率（縮小／等倍／拡大）を設定する際に操作する。
【００４９】
両面コピー設定ボタン５０６は、片面コピー／両面コピーを設定する際に操作する。用紙選択設定ボタン５０７は、どの給紙カセットの用紙を使用するか設定する際に操作する。排紙トレイ設定ボタン５０８は、プリント出力をどの排紙トレイに行うかを設定する際に操作する。ステータス表示部５１１には、画像形成装置に何らかの状態変化が発生した時にその旨のメッセージが表示される。
【００５０】
＜メインＣＰＵと分散モジュールコントローラの信号線接続＞
図６は、メインＣＰＵと分散モジュールコントローラのサブＣＰＵを接続するシリアル信号線の構成を示すブロック図である。
【００５１】
図６において、メインＣＰＵ２０１と、ＹＭＣドラムモータ／高圧コントローラ２０９のサブＣＰＵ３０１とは、ＲＥＳＥＴ信号線６０１、ＢＯＯＴＭＯＤＥ信号線６０２、ＴｘＤ信号線６０３、ＲｘＤ信号線６０４により接続されている。図６では分散モジュールコントローラのサブＣＰＵとしてＹＭＣドラムモータ／高圧コントローラ２０９のサブＣＰＵ３０１を例にとるが、他の分散モジュールコントローラのサブＣＰＵについても同様であり図示及び説明は省略する。
【００５２】
ＲＥＳＥＴ信号線６０１は、メインＣＰＵ２０１側が出力、サブＣＰＵ３０１側が入力であり、メインＣＰＵ２０１側が既定のタイミングでサブＣＰＵ３０１をリセットするためのものであり、二値のレベルを示す。動作時はＨレベル、リセット時はＬレベルである。
【００５３】
ＢＯＯＴＭＯＤＥ信号線６０２は、メインＣＰＵ２０１側が出力、サブＣＰＵ３０１側が入力であり、サブＣＰＵ３０１がリセットし、再起動してからの動作モードを決定するためのものであり、二値のレベルを示す。通常時はＨレベル、ファームウェア更新モード時はＬレベルである。
【００５４】
ＴｘＤ信号線６０３は、メインＣＰＵ２０１側からサブＣＰＵ３０１側へシリアル通信信号を送信する信号線であり、ＴＴＬレベルの調歩同期で８ビットずつ情報を送信している。
【００５５】
ＲｘＤ信号線６０４は、サブＣＰＵ３０１側からメインＣＰＵ２０１側へシリアル通信信号を送信する信号線であり、同じくＴＴＬレベルの調歩同期で８ビットずつ情報を送信している。
【００５６】
次に、上記の構成を備える本実施の形態の画像形成装置の動作について説明する。
【００５７】
＜サブＣＰＵのファームウェア更新処理＞
まず、具体例としてＹＭＣドラムモータ／高圧コントローラ２０９のサブＣＰＵ３０１のファームウェアの更新について図７乃至図１０を用いて詳細に説明する。
【００５８】
サブＣＰＵ３０１の制御プログラムを格納したフラッシュＲＯＭ３０２は、例えば３２Ｋバイトの容量を有し、既定の手順によりアクセスすることで書き込みが可能である。サブＣＰＵ３０１の制御プログラムの更新中は、更新対象であるフラッシュＲＯＭ３０２にプログラムコードが存在しては書き換えプログラム自体が動作することができない。
【００５９】
そのため、まず、サブＣＰＵ３０１のワーク領域であるＳＲＡＭ３０３上に書き換えプログラムを配置して動作させるプログラムモードに移行する必要がある。このファームウェア更新時のモード切替処理について図７を用いて説明する。
【００６０】
図７は、画像形成装置のファームウェア更新時のモード切替処理を示すフローチャートである。
【００６１】
図７において、メインＣＰＵ２０１は、ファームウェア更新時のモード切替処理を開始すると（ステップＳ７０１）、ファームウェア更新対象であるサブＣＰＵ３０１のＲＥＳＥＴ信号線６０１をＯＮする（ステップＳ７０２）。更に、ＢＯＯＴＭＯＤＥ信号線６０２をアクティブに設定する（プログラムモード設定）（ステップＳ７０３）。
【００６２】
サブＣＰＵ３０１は、ＢＯＯＴＭＯＤＥ信号線６０２がアクティブの状態でリセット解除が行われると（ステップＳ７０４）、フラッシュＲＯＭ３０２のプログラムモードで起動される。プログラムモードでは、サブＣＰＵ３０１は、ＴｘＤ信号線６０３からの通信待ちを行うと共に、フラッシュＲＯＭ３０２の書き換えプログラムをワークメモリであるＳＲＡＭ３０３に展開する（ステップＳ７０５）。
【００６３】
以降、メインＣＰＵ２０１とサブＣＰＵ３０１との通信の制御と、サブＣＰＵ３０１のフラッシュＲＯＭ３０２の書き換えの制御は、ＳＲＡＭ３０３上に展開された書き換えプログラムにより行われる。なお、ステップＳ７０６〜ステップＳ７０９の処理については図１０の説明箇所で後述する。
【００６４】
次に、メインＣＰＵ２０１とサブＣＰＵ３０１との通信について図８を用いて説明する。
【００６５】
図８は、画像形成装置のファームウェア更新時のデータ送信処理を示すフローチャートである。
【００６６】
図８において、メインＣＰＵ２０１は、データ送信処理を開始すると（ステップＳ８０１）、サブＣＰＵ３０１の持つフラッシュＲＯＭ３０２の書き換えを行うためのネゴシエーション情報をサブＣＰＵ３０１に送信する（ステップＳ８０２）。即ち、メインＣＰＵ２０１は、ファームウェア更新リクエストをサブＣＰＵ３０１に送信する。サブＣＰＵ３０１は、メインＣＰＵ２０１からファームウェア更新リクエストを受信すると、フラッシュメモリ書き換え可能応答をサブＣＰＵ３０１に返信する。
【００６７】
メインＣＰＵ２０１は、サブＣＰＵ３０１からフラッシュメモリ書き換え可能応答を受信したか否かを判定する（ステップＳ８０３）。フラッシュメモリは直接書き換えることができず、書き換えに先立って消去処理が必要である。
【００６８】
そのため、メインＣＰＵ２０１は、サブＣＰＵ３０１からフラッシュメモリ書き換え可能応答を受信すると、フラッシュメモリ消去要求をサブＣＰＵ３０１に送信する（ステップＳ８０４）。サブＣＰＵ３０１は、メインＣＰＵ２０１からフラッシュメモリ消去要求を受信し、フラッシュＲＯＭ３０２の全ブロックの消去が完了すると、フラッシュメモリ消去応答をメインＣＰＵ２０１に返信する。
【００６９】
次に、メインＣＰＵ２０１は、フラッシュＲＯＭ３０２に書き込むファームウェアイメージを例えば１２８バイトずつに分割してパケット（計２５６個）を生成し、先頭のパケットからサブＣＰＵ３０１に順次送信する。分割された先頭のパケットと最後のパケットには、それぞれ先頭マーカと終端マーカをヘッダ部分に設けている。そのため、分割された先頭のパケットは先頭マーカで識別してフラッシュＲＯＭ３０２の先頭ブロックから書き込みを開始し、分割された最後のパケットは終端マーカで識別が可能である。
【００７０】
サブＣＰＵ３０１は、メインＣＰＵ２０１からファームウェアイメージのパケットを受信すると、パケットのデータをフラッシュＲＯＭ３０２に順次書き込み、ブロックごとに書き込みが完了すると、ブロック書き込み完了応答をメインＣＰＵ２０１に返信する。メインＣＰＵ２０１は、サブＣＰＵ３０１からブロック書き込み完了応答を受信したか否かを判定する（ステップＳ８０５）。
【００７１】
メインＣＰＵ２０１は、サブＣＰＵ３０１からブロック書き込み完了応答を受信すると、ブロック書き込みをカウントするブロックカウンタを０に設定する（ステップＳ８０６）。次に、メインＣＰＵ２０１は、次のブロックのファームウェア書き込み要求と、次のパケット（ファームウェア更新データ）をサブＣＰＵ３０１に送信する（ステップＳ８０７）。
【００７２】
サブＣＰＵ３０１は、メインＣＰＵ２０１からファームウェア書き込み要求を受信すると、次のブロックのファームウェア書き込みを行い、書き込みが完了するとブロック書き込み完了応答をメインＣＰＵ２０１に返信する。メインＣＰＵ２０１は、サブＣＰＵ３０１からブロック書き込み完了応答を受信したか否かを判定する（ステップＳ８０８）。メインＣＰＵ２０１は、サブＣＰＵ３０１からブロック書き込み完了応答を受信すると、ブロックカウンタの値を１加算する（ステップＳ８０９）。
【００７３】
このように、サブＣＰＵ３０１ではフラッシュＲＯＭ３０２の書き込みが繰り返される。サブＣＰＵ３０１は、メインＣＰＵ２０１から計２５６個のパケットを順次受信し、フラッシュＲＯＭ３０２の全てのブロックの更新を終了すると、ファームウェア更新が終了となる。
【００７４】
メインＣＰＵ２０１は、ブロックカウンタの値が２５６に達したか否かを判定する（ステップＳ８１０）。上記の通り、サブＣＰＵ３０１では計２５６個のパケットを順次受信してフラッシュＲＯＭ３０２の全ブロックを更新終了したので、メインＣＰＵ２０１は、チェックサムの取得要求をサブＣＰＵ３０１に送信する（ステップＳ８１１）。チェックサムは、フラッシュＲＯＭ３０２の全領域の奇数アドレスの値と偶数アドレスの値とを総計した値の下位１６ビットを用いる。
【００７５】
サブＣＰＵ３０１は、メインＣＰＵ２０１からチェックサムの取得要求を受信すると、奇数アドレスと偶数アドレスのチェックサム値をメインＣＰＵ２０１に応答する。メインＣＰＵ２０１は、サブＣＰＵ３０１から奇数アドレスと偶数アドレスのチェックサム値の応答を受信したか否かを判定する（ステップＳ８１２）。
【００７６】
メインＣＰＵ２０１は、サブＣＰＵ３０１から奇数アドレスと偶数アドレスのチェックサム値の応答を受信すると、次の比較判断を行う。メインＣＰＵ２０１で予め保持しているチェックサム値と、サブＣＰＵ３０１から応答された奇数アドレスと偶数アドレスのチェックサム値とを比較し、両方のチェックサム値が一致するか否かを判定する（ステップＳ８１３）。
【００７７】
もしも両方のチェックサム値が一致しない場合は、フラッシュＲＯＭ３０２の情報が、メインＣＰＵ２０１からサブＣＰＵ３０１に送信したファームウェアイメージと一致していないことになる。そのため、メインＣＰＵ２０１は、リトライ制御を行うべく、フラッシュＲＯＭ３０２に書き込むファームウェアイメージを１２８バイトずつに分割してパケットを生成し、先頭パケットからサブＣＰＵ３０１に再度送信しなおす。
【００７８】
両方のチェックサム値が一致した場合は、メインＣＰＵ２０１は、サブＣＰＵ３０１の持つフラッシュＲＯＭ３０２のファームウェア更新が正常に終了していると判定する。これにより、ファームウェア更新処理を終了する（ステップＳ８１４）。
【００７９】
次に、上記図８で説明したファームウェア更新時におけるメインＣＰＵ２０１とサブＣＰＵ３０１との間の通信について要求と応答の組み合わせを図９を用いて重ねて説明する。
【００８０】
図９は、画像形成装置のファームウェア更新時の通信シーケンスを示す図である。
【００８１】
図９において、最初にメインＣＰＵ２０１が、ネゴシエーション情報を送信する（ステップＳ９０１）。これに対して、サブＣＰＵ３０１は、フラッシュメモリ書き換え可能応答を返す（ステップＳ９０２）。
【００８２】
次に、メインＣＰＵ２０１は、フラッシュメモリ消去要求を送信する（ステップＳ９０３）。サブＣＰＵ３０１は、フラッシュＲＯＭ３０２の全ブロックの消去が完了してから、フラッシュメモリ消去応答を返す（ステップＳ９０４）。
【００８３】
続けて、メインＣＰＵ２０１は、ファームウェアイメージを先頭ブロックであるＩＤ＝０から順番に送信する（ステップＳ９０５）。サブＣＰＵ３０１は、該当ブロックごとに書き込みが完了してから、ブロック書き込み完了応答を返す（ステップＳ９０６）。
【００８４】
更に、メインＣＰＵ２０１は、ブロックカウンタの値を＋１してＩＤに付加し、次のＩＤ＝１のファームウェアイメージを送信する（ステップＳ９０７）。サブＣＰＵ３０１も、また書き込みが完了してからブロック書き込み完了応答を返す（ステップＳ９０８）。
【００８５】
これらを繰り返し、メインＣＰＵ２０１は、最終ブロックのＩＤ＝２５５のファームウェアイメージを送信する（ステップＳ９０９）。これに対して、サブＣＰＵ３０１も、同様に書き込みが完了してからブロック書き込み完了応答を返すと（ステップＳ９１０）、ファームウェア更新が終了となる。
【００８６】
最後に、メインＣＰＵ２０１は、サブＣＰＵ３０１に対しチェックサムの取得要求を送信する（ステップＳ９１１）。サブＣＰＵ３０１は、チェックサムを計算し、チェックサム値をメインＣＰＵ２０１に返信する。チェックサムの処理については図８のステップＳ８１１〜ステップＳ８１３で説明した通りである。
【００８７】
サブＣＰＵ３０１の持つフラッシュＲＯＭ３０２のファームウェア更新を行った際の、ＲＥＳＥＴ信号線６０１、ＢＯＯＴＭＯＤＥ信号線６０２、ＴｘＤ信号線６０３、ＲｘＤ信号線６０４の通信波形は、図１０に示すようになっている。
【００８８】
図１０は、画像形成装置のファームウェア更新時の通信信号の波形を示すタイミングチャートである。
【００８９】
図１０において、ＲＥＳＥＴ信号線６０１とＢＯＯＴＭＯＤＥ信号線６０２の波形上に引出線で付記したステップＳ７０２〜ステップＳ７０８は上記図７のステップ番号に対応する。また、ＴｘＤ信号線６０３とＲｘＤ信号線６０４の波形上に引出線で付記したステップＳ８０１〜ステップＳ８１０は上記図８のステップ番号に対応する。
【００９０】
メインＣＰＵ２０１は、サブＣＰＵ３０１の持つフラッシュＲＯＭ３０２のファームウェアの更新を完了した場合、一度、サブＣＰＵ３０１をリセットする（ステップＳ７０６）。更に、メインＣＰＵ２０１は、ＢＯＯＴＭＯＤＥ信号をインアクティブに設定（通常モード設定）してから（ステップＳ７０７）、サブＣＰＵ３０１のリセット解除を行う（ステップＳ７０８）。これにより、図７のモード切替処理を終了する（ステップＳ７０９）。以上の処理により、サブＣＰＵ３０１は、フラッシュＲＯＭ３０２に書き込まれた新プログラムの実行を開始する。
【００９１】
＜サブＣＰＵのファームウェア更新状態管理＞
図３で説明したように、メインＣＰＵ２０１には複数のサブＣＰＵ３０１、３１１、３２１、３３１、３４１が、それぞれ別のシリアル信号線により接続されている。そのため、メインＣＰＵ２０１は、複数のサブＣＰＵ３０１、３１１、３２１、３３１、３４１それぞれに対し同時に通信を行うことができる。
【００９２】
よって、複数のサブＣＰＵのうちいずれかのサブＣＰＵがファームウェア更新中であっても、動作の継続が可能である。ただし、どのサブＣＰＵが司る機能がファームウェア更新中のために使用不能であるかの判断を行う必要があるため、メインＣＰＵ２０１は、ＳＲＡＭ２０３上に図１１に示すようにサブＣＰＵファームウェア更新状態テーブルを保持している。
【００９３】
図１１ａ、図１１ｂは、サブＣＰＵファームウェア更新状態テーブルを示す図である。
【００９４】
図１１ａ、図１１ｂにおいて、サブＣＰＵファームウェア更新状態テーブル１１０１は、１１０２〜１１０８から構成されている。１１０２〜１１０８は、それぞれサブＣＰＵが備えられた部位を示している。
【００９５】
１１０２は、ＹＭＣドラムモータ／高圧コントローラ２０９のサブＣＰＵのステータスである。１１０３は、Ｂｋドラム／ＩＴＢモータ二次転写高圧コントローラ２１０のサブＣＰＵのステータスである。１１０４は、オプションカセットコントローラ２１２のサブＣＰＵのステータスである。１１０５は、両面／反転ユニットコントローラ２１１のサブＣＰＵのステータスである。１１０６は、バッファパス／フィニッシャコントローラ２１３のサブＣＰＵのステータスである。
【００９６】
上記の各コントローラ２０９〜２１３のそれぞれのサブＣＰＵの状態は、１１０７に示すように動作中（Ａｃｔｉｖｅ）か、ファームウェア更新中（Ｕｐｄａｔｉｎｇ）で示され、１１０８に示すようにそれぞれ残り更新サイズ情報を保持している。残り更新サイズ情報は、メインＣＰＵ２０１からファームウェア更新対象のサブＣＰＵに転送する制御プログラムの残りサイズを示す情報、即ち、更新対象の制御プログラムの更新の残量を示す情報（更新残量情報）である。
【００９７】
例えば、図１１ａ（ａ）は、ＹＭＣドラムモータ／高圧コントローラ２０９のサブＣＰＵと、両面／反転ユニットコントローラ２１１のサブＣＰＵが、ファームウェア更新中であることを示している。
【００９８】
また、図１１ａ（ｂ）は、オプションカセットコントローラ２１２のサブＣＰＵと、バッファパス／フィニッシャコントローラ２１３のサブＣＰＵが、ファームウェア更新中であることを示している。
【００９９】
更に、図１１ｂ（ｃ）は、両面／反転ユニットコントローラ２１１のサブＣＰＵと、バッファパス／フィニッシャコントローラ２１３のサブＣＰＵが、ファームウェア更新中であることを示している。
【０１００】
一方、図１１ｂ（ｄ）は、ＹＭＣドラムモータ／高圧コントローラ２０９のサブＣＰＵだけが、ファームウェア更新中であることを示している。
【０１０１】
次に、本実施の形態の画像形成装置の特徴的な制御について説明する。
【０１０２】
＜ファームウェア更新中の操作部表示情報の更新＞
画像形成装置が備えるサブＣＰＵ３０１、３１１、３２１、３３１、３４１のいずれかのファームウェアの更新中における操作部表示情報の更新について図１２乃至図１４を用いて説明する。
【０１０３】
図１２は、操作部表示情報更新処理を示すフローチャートである。
【０１０４】
図１２において、操作部表示情報更新処理は、メインＣＰＵ２０１により、例えば５００ミリ秒おきに操作部４０１の液晶表示部４０５の画面に表示する情報を更新すべく実行される。メインＣＰＵ２０１は、操作部表示情報更新処理を開始すると、画像形成装置のプリント機能の項目１つ１つに対して順次実行可能かどうか判定すべく機能ＩＤ（図１３参照）を１とする（ステップＳ１２０１）。
【０１０５】
図１３は、機能ＩＤ−サブＣＰＵ関連テーブルを示す図である。
【０１０６】
図１３において、機能ＩＤ−サブＣＰＵ関連テーブル１３０１は、給紙段ＩＤ、色モード、片面／両面、排紙先ＩＤに機能分類されている。給紙段ＩＤの選択肢には、給紙カセット１１３（カセット１）、第二増設給紙カセット１２５（カセット２）、第三増設給紙カセット１２６（カセット３）がある。色モードの選択肢には、モノクロプリント、カラープリントがある。片面／両面の選択肢には、片面プリント、両面プリントがある。排紙先ＩＤの選択肢には、排紙トレイ１２１（トレイ１）、フィニッシャ上トレイ１６１、フィニッシャ下トレイ１６２がある。
【０１０７】
なお、機能ＩＤ−サブＣＰＵ関連テーブル１３０１は、予め画像形成装置の製品構成情報を基にフラッシュＲＯＭ２０２に記録されているが、製品立上げのモジュール接続情報を基に生成し、ＳＲＡＭ２０３に記録されているものでも良い。
【０１０８】
図１２に戻り、メインＣＰＵ２０１は、図１３の機能ＩＤ−サブＣＰＵ関連テーブル１３０１を参照し、機能ＩＤに対応する使用サブＣＰＵ情報を取得し、図１１のサブＣＰＵファームウェア更新状態テーブル１１０１のサブＣＰＵ状態と照合する。更に、メインＣＰＵ２０１は、機能ＩＤのプリントモードに対応するサブＣＰＵに関してファームウェア更新中（Ｕｐｄａｔｉｎｇ）か否かを判定する（ステップＳ１２０２）。
【０１０９】
機能ＩＤのプリントモードに対応するサブＣＰＵに関してファームウェア更新中である場合は、メインＣＰＵ２０１は、操作部４０１の液晶表示部４０５の画面上の該当プリントモード選択ボタンを無効化する（ステップＳ１２０３）。機能ＩＤのプリントモードに対応するサブＣＰＵに関してファームウェア更新中でない場合は、メインＣＰＵ２０１は、操作部４０１の液晶表示部４０５の画面上の該当プリントモード選択ボタンを有効化する（ステップＳ１２０４）。
【０１１０】
次に、メインＣＰＵ２０１は、画像形成装置が備える図１３の全ての機能ＩＤに対して順次確認するために、機能ＩＤが機能ＩＤｍａｘに達したか否かを確認する（ステップＳ１２０５）。機能ＩＤが機能ＩＤｍａｘに達してない場合は、メインＣＰＵ２０１は、機能ＩＤに１を加算し（ステップＳ１２０６）、上記ステップＳ１２０２の判断から再度実行する。
【０１１１】
機能ＩＤｍａｘは機能ＩＤの最大数を示す値であり、図１３の機能ＩＤ−サブＣＰＵ関連テーブル１３０１では機能ＩＤｍａｘ＝１１である。機能ＩＤが機能ＩＤｍａｘに達すると、メインＣＰＵ２０１は、以上の判断内容をもって、操作部表示情報を更新し（ステップＳ１２０７）、本処理を終了する。
【０１１２】
以上のプリントモード選択ボタンに関する有効・無効の判定結果は、図１４に示すように反映される。
【０１１３】
図１４は、操作部のジョブ選択画面を示す図である。
【０１１４】
給紙段選択（図１３の機能ＩＤ２の給紙段＝カセット２、機能ＩＤ３の給紙段＝カセット３）に関しては、図１１ａ（ｂ）のオプションカセットドライバのサブＣＰＵ３３１とフラッシュＲＯＭ３３２が更新中である場合について判断する。この時、図１４に示すように、該当する給紙部選択５０７のカセット２とカセット３を選択不可能とし、網掛け表示としている（図面上は×印で示す）。この状態では、操作部４０１の液晶表示部４０５（タッチパネル）からの押下を受け付けない。
【０１１５】
また、排紙先選択（図１３の機能ＩＤ１０のフィニッシャ上トレイ、機能ＩＤ１１のフィニッシャ下トレイ）に関しては、図１１ａ（ｂ）のバッファパス／フィニッシャドライバのサブＣＰＵ３４１とフラッシュＲＯＭ３４２が更新中である場合について判断する。この時、図１４に示すように、該当する給紙部選択５０８のフィニッシャ上トレイとフィニッシャ下トレイを選択不可能とし、網掛け表示としている（図面上は×印で示す）。この状態では、操作部４０１の液晶表示部４０５（タッチパネル）からの押下を受け付けない。
【０１１６】
以上説明したように本実施の形態によれば、画像形成装置でファームウェアの更新を行っている間は、画像形成ジョブで使用する選択可能な機能のうち更新対象のファームウェアにより制御されるサブＣＰＵを使用する機能を無効化する（縮退させる）。これにより、画像形成装置でファームウェアの更新中でも画像形成ジョブの開始や画像形成ジョブの実行の継続が可能となり、よりダウンタイムの少ない画像形成装置の運用を実現することが可能となる。
【０１１７】
〔第２の実施の形態〕
本発明の第２の実施の形態は、上記第１の実施の形態に対して図１５乃至図１７で説明する点において相違する。本実施の形態のその他の要素は、上記第１の実施の形態（図１乃至図６）の対応するものと同一なので説明を省略する。
【０１１８】
次に、本実施の形態の画像形成装置の特徴的な制御について説明する。
【０１１９】
＜ファームウェア更新中のプリントジョブ実行＞
画像形成装置におけるファームウェア更新中にプリントジョブ（画像形成ジョブ）を実行する場合について図１５乃至図１７を用いて説明する。
【０１２０】
図１５は、画像形成装置のプリントモード情報テーブルを示す図である。
【０１２１】
図１５において、プリントモード情報テーブル１５０１は、プリントモード情報として、給紙段ＩＤ１５０２、色モード１５０３、片面／両面指定１５０４、排紙先ＩＤ１５０５、後処理モード１５０６等の情報から構成されている。画像形成装置にプリントジョブを投入した場合、プリントジョブのデータにはプリントモード情報が含まれている。画像形成装置では通常はプリントモード情報に従ってプリント動作を決定する。
【０１２２】
図１１ｂ（ｃ）のサブＣＰＵファームウェア更新状態テーブル１１０１は、次の場合を示している。即ち、ＹＭＣドラムモータ／高圧コントローラ２０９のサブＣＰＵのステータス１１０２と、両面／反転ユニットコントローラ２１１のサブＣＰＵのステータス１１０５がファームウェア更新中の場合を示している。この時、画像形成装置にジョブが投入されると、図１６に示すプリントモード確定判断処理を行う。
【０１２３】
図１６は、画像形成装置のプリントモード確定判断処理を示すフローチャートである。
【０１２４】
図１６において、メインＣＰＵ２０１は、まず画像形成装置に投入されたプリントジョブ（画像形成ジョブ）を受け付ける（ステップＳ１６０１）。次に受け付けたプリントジョブに対してプリントモード解析を行い、図１５に示したプリントモード情報を抽出する（ステップＳ１６０２）。
【０１２５】
次に、メインＣＰＵ２０１は、上記プリントモード解析により抽出したプリントモード情報に対して順次、画像形成装置の各プリント機能が使用可能かどうかを確認すべく、機能ＩＤ（カウンタ機能ＩＤ）を１に初期化する（ステップＳ１６０３）。機能ＩＤ＝１は、図１３によると給紙段ＩＤ＝カセット１であることを示し、受け付けたプリントジョブのプリントモードと一致する。
【０１２６】
上記の各プリント機能には、図１３の機能分類（給紙段ＩＤ、色モード、片面／両面、排紙先ＩＤ）に各々対応したプリント機能（例えば、カセット１を使用したプリント、モノクロプリント、片面プリント、トレイ１を使用したプリント等）がある。
【０１２７】
次に、メインＣＰＵ２０１は、上記プリントモード解析により抽出したプリントモードに該当する機能ＩＤに対応するサブＣＰＵがファームウェア更新中であるか否かを判定する（ステップＳ１６０４）。機能ＩＤ＝１は、図１３の使用サブＣＰＵ情報からサブＣＰＵを使用しないと判断できるので、該当するサブＣＰＵはファームウェア更新中で無いため、代替機能を選択する必要は無い。
【０１２８】
次に、メインＣＰＵ２０１は、全ての機能ＩＤに関して順番にプリントモードをチェックするため、機能ＩＤが機能ＩＤｍａｘ（＝１１）に達しているか否かを判定する（ステップＳ１６０５）。まだ機能ＩＤが機能ＩＤｍａｘに達していなければ、メインＣＰＵ２０１は、機能ＩＤを＋１し（ステップＳ１６０６）、次の機能ＩＤに対してプリントモードをチェックする（ステップＳ１６０４）。
【０１２９】
機能ＩＤを＋１して順次チェックを進めると、図１３の機能分類から機能ＩＤ＝８が両面プリント指定であり、上記プリントモード解析により抽出したプリントモード情報と合致する。機能ＩＤ＝８で使用されるサブＣＰＵは、図１３の使用サブＣＰＵ情報から両面反転ドライバのサブＣＰＵであり、図１１のサブＣＰＵファームウェア更新状態テーブルからファームウェアの更新中である。
【０１３０】
そのため、メインＣＰＵ２０１は、同じ片面／両面指定で両面反転ドライバのサブＣＰＵを使用しない機能ＩＤ＝７を代替機能として選択し、操作部４０１の液晶表示部４０５に代替機能として表示（提示）する（ステップＳ１６０７）。
【０１３１】
同じく、機能ＩＤを＋１して順次チェックを進めると、図１３の機能分類から機能ＩＤ＝１０がフィニッシャ上トレイ指定であり、上記プリントモード解析により抽出したプリントモード情報と合致する。機能ＩＤ＝１０で使用されるサブＣＰＵは、図１３の使用サブＣＰＵ情報からバッファパスドライバとフィニッシャコントローラのサブＣＰＵである。また、バッファパスドライバのサブＣＰＵは、図１１のサブＣＰＵファームウェア更新状態テーブルからファームウェアの更新中である。
【０１３２】
そのため、メインＣＰＵ２０１は、排紙先ＩＤ指定としてバッファパスドライバのサブＣＰＵを使用しない機能ＩＤ＝９のトレイ１出力を代替機能として選択し、操作部４０１の液晶表示部４０５に代替機能として表示する。
【０１３３】
これらを各機能ＩＤについて順次判定を行い、機能ＩＤが機能ＩＤｍａｘに達すると（ステップＳ１６０５でＹＥＳ）、最終的に代替機能があったか否かを判定する（ステップＳ１６０８）。
【０１３４】
代替機能が必要なかった場合は、メインＣＰＵ２０１は、そのままプリントジョブを開始する（ステップＳ１６０９）。代替機能があった場合は、メインＣＰＵ２０１は、図１７に示す代替機能選択画面を操作部４０１の液晶表示部４０５に表示することで、ユーザに代替機能の選択を求める（ステップＳ１６１０）。
【０１３５】
図１７は、操作部の代替機能選択画面を示す図である。
【０１３６】
図１７において、代替機能選択画面（代替プリントモード選択ダイアログ）１７０１は、現在使用できない機能の通知と代替機能の選択を行うための画面である。１７０２と１７０４は、ファームウェア更新のために使用できない機能を表示したものである。
【０１３７】
即ち、代替機能選択画面１７０１の１７０２は、両面反転ユニットドライバのサブＣＰＵがファームウェア更新中であるため、用紙の両面にプリントする両面ジョブのプリントモードが使用できない状態であることを示している。１７０４は、バッファパスドライバ／フィニッシャコントローラのサブＣＰＵがファームウェア更新中であるため、排紙先をフィニッシャ上トレイとするプリントモードが使用できない状態であることを示している。
【０１３８】
代替機能選択ボタン１７０３は、両面ジョブの代替モードとして片面ジョブを選択する際に操作する。代替機能選択ボタン１７０５は、フィニッシャ上トレイ出力の代替モードとしてトレイ１（排紙トレイ１２１）出力を選択する際に操作する。代替プリント開始ボタン１７０６は、代替機能選択ボタン１７０３または１７０５で選択された代替モードに変更してプリントを開始することを決定する際に操作する。プリント中止ボタン１７０７は、代替モードを使用せずにプリント中止を決定する際に操作する。
【０１３９】
図１６に戻り、代替機能選択画面でユーザが代替機能を選択して代替プリント開始ボタン１７０６を操作した場合、メインＣＰＵ２０１は、代替機能によりプリントジョブを開始する（ステップＳ１６１１）。代替機能選択画面でユーザが代替機能を使用せずプリント中止ボタン１７０７を操作した場合、メインＣＰＵ２０１は、プリントジョブの実行を中止する（ステップＳ１６１２）。これにより、本処理を終了する。
【０１４０】
以上の制御により、画像形成装置がファームウェアの更新中であっても、ユーザが申告する代替機能を選択してプリントジョブを開始することができ、画像形成装置のよりダウンタイムの少ない運用を実現することが可能である。
【０１４１】
以上説明したように本実施の形態によれば、画像形成装置でファームウェアの更新を行っている間は、画像形成ジョブで使用する選択可能な機能のうち更新対象のファームウェアにより制御されるサブＣＰＵを使用しない機能を選択し、代替機能として表示する。これにより、画像形成装置でファームウェアの更新中でもユーザが申告する代替機能を選択することで、画像形成ジョブの開始や画像形成ジョブの実行の継続が可能となり、よりダウンタイムの少ない画像形成装置の運用を実現することが可能となる。
【０１４２】
〔第３の実施の形態〕
本発明の第３の実施の形態は、上記第１の実施の形態に対して図１８及び図１９で説明する点において相違する。本実施の形態のその他の要素は、上記第１の実施の形態（図１乃至図６）の対応するものと同一なので説明を省略する。
【０１４３】
次に、本実施の形態の画像形成装置の特徴的な制御について説明する。
【０１４４】
＜ファームウェア更新残量が少ない場合のプリントモード選択＞
画像形成装置のサブＣＰＵ３０１がファームウェアの更新中において、ファームウェア更新残量（ファームウェア情報の残り転送時間）が少ない場合のプリントモードの選択について図１８及び図１９を用いて説明する。
【０１４５】
図１８は、本実施の形態に係る画像形成装置の操作部表示情報更新処理を示すフローチャートである。
【０１４６】
図１８において、操作部表示情報更新処理は、メインＣＰＵ２０１により、例えば５００ミリ秒おきに操作部４０１の液晶表示部４０５の画面に表示する情報を更新すべく実行される。メインＣＰＵ２０１は、操作部表示情報更新処理を開始すると、画像形成装置のプリント機能の項目１つ１つに対して順次実行可能かどうか判定すべく機能ＩＤ（図１３参照）を１とする（ステップＳ１８０１）。
【０１４７】
次に、メインＣＰＵ２０１は、図１３の機能ＩＤ−サブＣＰＵ関連テーブル１３０１を参照し、機能ＩＤに対応する使用サブＣＰＵ情報を取得し、図１１のサブＣＰＵファームウェア更新状態テーブル１１０１のサブＣＰＵ状態と照合する。更に、メインＣＰＵ２０１は、機能ＩＤのプリントモードに対応するサブＣＰＵに関してファームウェア更新中（Ｕｐｄａｔｉｎｇ）か否かを判定する（ステップＳ１８０２）。
【０１４８】
機能ＩＤのプリントモードに対応するサブＣＰＵに関してファームウェア更新中でない場合は、メインＣＰＵ２０１は、操作部４０１の液晶表示部４０５の画面上の該当プリントモード選択ボタンを有効化する（ステップＳ１８０３）。
【０１４９】
機能ＩＤのプリントモードに対応するサブＣＰＵに関してファームウェア更新中の場合は、メインＣＰＵ２０１は、図１１のサブＣＰＵファームウェア更新状態テーブル１１０１の各サブＣＰＵの残り更新サイズ情報１１０８を評価する。そして、メインＣＰＵ２０１は、サブＣＰＵファームウェア更新状態テーブル１１０１（保持手段）の残り更新サイズ情報１１０８、即ち、残り転送サイズの値が、４ＫＢ未満（設定値未満）であるか否かを判定する（ステップＳ１８０４）。残り転送サイズとは、メインＣＰＵ２０１からファームウェア更新対象のサブＣＰＵに転送する制御プログラムの残りサイズである。
【０１５０】
残り転送サイズの値が４ＫＢ未満である場合は、まもなくファームウェアの更新が完了すると考えられるため、メインＣＰＵ２０１は、ジョブ開始の待ち時間として数秒間を要する旨を操作部４０１の液晶表示部４０５に表示する（ステップＳ１８０５）。更に、メインＣＰＵ２０１は、操作部４０１の液晶表示部４０５の画面上の該当プリントモード選択ボタンを有効化する（ステップＳ１８０３）。
【０１５１】
残り転送サイズが４ＫＢ以上である場合は、ファームウェアの更新にはまだ時間がかかると考えられるため、メインＣＰＵ２０１は、操作部４０１の液晶表示部４０５の画面上の該当プリントモード選択ボタンを無効化する（ステップＳ１８０６）。
【０１５２】
次に、メインＣＰＵ２０１は、画像形成装置が備える図１３の全ての機能ＩＤに対して順次確認するために、機能ＩＤが機能ＩＤｍａｘに達したか否かを確認する（ステップＳ１８０７）。機能ＩＤが機能ＩＤｍａｘに達してない場合は、メインＣＰＵ２０１は、機能ＩＤに１を加算し（ステップＳ１８０８）、上記ステップＳ１８０２の判断から再度実行する。機能ＩＤが機能ＩＤｍａｘに達すると、メインＣＰＵ２０１は、以上の判断内容をもって、操作部表示情報を更新し（ステップＳ１８０９）、本処理を終了する。
【０１５３】
なお、上記第２の実施の形態においても、サブＣＰＵがファームウェア更新中で、上記残り転送サイズの値が４ＫＢ未満の場合は、ファームウェア更新中のサブＣＰＵを使用しない機能を代替機能として表示（提示）しないようにしてもよい。
【０１５４】
以上のプリントモード選択ボタンに関する有効・無効の判定結果は、図１９に示すように反映される。
【０１５５】
図１９は、操作部のジョブ選択画面を示す図である。
【０１５６】
図１９において、ジョブ選択画面５０１は、操作部４０１の液晶表示部４０５に表示される画面である。色モード設定部５０４は、図１３の機能ＩＤ−サブＣＰＵ関連テーブル１３０１によればＹＭＣドラムモータ・高圧ドライバのサブＣＰＵ３０１と関連している。また、図１１ｂ（ｄ）のサブＣＰＵファームウェア更新状態テーブル１１０１によれば、ＹＭＣドラムモータ・高圧ドライバのサブＣＰＵ３０１はファームウェア更新中であり、残り転送サイズは３０７２バイトである。
【０１５７】
残り転送サイズは４ＫＢを下回っているため、まもなくサブＣＰＵのファームウェアの更新が完了すると判断される。これに伴い、ジョブ選択画面５０１の色モード設定部５０４のカラー選択ボタン５３１はグレー表示となる。ジョブ選択画面５０１の５３２に示すようにユーザにより「カラー」が指定された場合、ジョブの開始時にファームウェア更新の残り時間分、およそ数秒待ち時間がある旨が表示される。
【０１５８】
以上説明したように本実施の形態によれば、ファームウェアの更新残量（残り転送サイズ）が設定値未満の場合は、画像形成ジョブで使用する選択可能な機能のうち更新対象のファームウェアにより制御されるサブＣＰＵを使用する機能を有効化する。これにより、画像形成装置の機能面を維持しつつ、よりダウンタイムの少ない画像形成装置の運用を実現することが可能となる。
【０１５９】
〔第４の実施の形態〕
本発明の第４の実施の形態は、上記第１の実施の形態に対して図２０及び図２１で説明する点において相違する。本実施の形態のその他の要素は、上記第１の実施の形態（図１乃至図６）の対応するものと同一なので説明を省略する。
【０１６０】
次に、本実施の形態の画像形成装置の特徴的な制御について説明する。
【０１６１】
＜代替プリントジョブの復帰処理＞
画像形成装置がプリントジョブの開始時にファームウェア更新中であるが、プリントジョブの実行中にファームウェアの更新が完了した場合の処理について図２０及び図２１を用いて説明する。
【０１６２】
プリントジョブの開始時には一部の機能が該当するサブＣＰＵがファームウェア更新中であり、代替プリントモードを指定してプリントジョブを開始する。その際に、ファームウェアの更新が完了した時点で代替前の元のプリントモード（動作モード）に戻す方が良い場合がある。なお、一部の機能が該当するサブＣＰＵがファームウェア更新中とは、図１３に示すように、例えば機能分類が給紙段ＩＤの選択肢であるカセット１、２、３のうち、カセット２に対応するサブＣＰＵがファームウェア更新中の場合などが該当する。
【０１６３】
図２０は、本実施の形態に係る画像形成装置の操作部の代替機能選択画面を示す図である。
【０１６４】
図２０において、代替機能選択画面１７０１の２００１は、カセット２を駆動制御するオプションカセットコントローラ２１２のサブＣＰＵがファームウェア更新中であるため、カセット２が使用できない状態であることを示している。２００２は、代替プリントモードの給紙段としてカセット１を選択可能としている。
【０１６５】
２００３は、フィニッシャ上トレイを駆動制御するバッファパス／フィニッシャコントローラ２１３のサブＣＰＵがファームウェア更新中であるため、フィニッシャ上トレイが使用できない状態であることを示している。２００４は、代替プリントモードの排紙先としてトレイ１を選択可能としている。
【０１６６】
上記の代替プリントモードを用いてプリントジョブを開始するにあたって、全ページ代替プリント開始ボタン２００５を押下すると、全体を代替プリントモードでプリントジョブを実行する。途中まで代替（部分代替）プリント開始ボタン２００６を押下すると、途中まで代替プリントモードでプリントジョブを実行し、ファームウェア更新が完了次第、当初指定されていたプリントモードに置き換える。プリント中止ボタン２００７を押下すると、代替プリントモードでのプリントジョブを行わずにプリントを中止する。
【０１６７】
上記途中まで代替（部分代替）プリント開始ボタン２００６を押下した場合におけるジョブ実行中の代替プリントモード判断処理について図２１を用いて説明する。
【０１６８】
図２１は、画像形成装置のジョブ実行中の代替プリントモード判断処理を示すフローチャートである。
【０１６９】
図２１において、メインＣＰＵ２０１は、途中まで代替（部分代替）プリント開始ボタン２００６の押下により途中まで代替（部分代替）プリントジョブが開始された場合、更新中のサブＣＰＵのファームウェア更新情報を取得する（ステップＳ２１０１）。次に、メインＣＰＵ２０１は、取得したファームウェア更新情報を基に、更新中のサブＣＰＵのファームウェア更新が完了しているか否かを評価する（ステップＳ２１０２）。
【０１７０】
更新中のサブＣＰＵのファームウェアの更新が完了していない場合、メインＣＰＵ２０１は、プリント対象となる部数のプリント開始前にページ番号を１に設定し（ステップＳ２１０３）、画像形成部により各部のプリントを開始する（ステップＳ２１０４）。メインＣＰＵ２０１は、１ページプリントするごとに最終ページに達したか否かを評価し（ステップＳ２１０５）、最終ページでなければ、１ページ進めて（ステップＳ２１０６）、ステップＳ２１０４に戻り、画像形成部により次のページのプリントを行う。
【０１７１】
最終ページに達した場合、メインＣＰＵ２０１は、プリント中の部が最終部か否かを評価し（ステップＳ２１０７）、プリント中の部が最終部でなければ、次の部に進む（ステップＳ２１０８）。メインＣＰＵ２０１は、画像形成部により次の部をプリントするために１ページ目からプリントを行うにあたり、ステップＳ２１０１に戻り、再度、更新中のサブＣＰＵのファームウェア更新情報を取得する。
【０１７２】
更に、メインＣＰＵ２０１は、更新中のサブＣＰＵのファームウェア更新が完了しているか否かを評価する（ステップＳ２１０２）。更新中のサブＣＰＵのファームウェアの更新が完了している場合、メインＣＰＵ２０１は、代替前（変更前）の指定プリントモード（動作モード）に置き換え（ステップＳ２１０９）、プリント対象となる部の１ページ目からプリントを開始する。
【０１７３】
以上説明したように本実施の形態によれば、ファームウェア更新中で且つ代替機能による動作モードに変更して画像形成ジョブを実行している間に、ファームウェア更新が完了した場合は、動作モードを代替機能による動作モードへの変更前の動作モードに戻す。そのため、ユーザは途中からファームウェア更新後の状態でもってプリント成果物を入手することができる。これにより、画像形成装置のダウンタイムの少ない運用を実現しながら画像形成装置の性能を最大限に発揮させることが可能となる。
【０１７４】
〔他の実施の形態〕
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。前記プログラムは、本発明の画像形成装置の制御方法をコンピュータに実行させるためのコンピュータで読み取り可能なプログラムコードを有する。
【符号の説明】
【０１７５】
２０１  メインＣＰＵ
３０１、３１１、３２１、３３１、３４１  サブＣＰＵ
４０１  操作部
１１０１  サブＣＰＵファームウェア更新状態テーブル
１３０１  機能ＩＤ−サブＣＰＵ関連テーブル
【図１】
0005901242.tif 000002
【図２】
0005901242.tif 000003
【図３】
0005901242.tif 000004
【図４】
0005901242.tif 000005
【図５】
0005901242.tif 000006
【図６】
0005901242.tif 000007
【図７】
0005901242.tif 000008
【図８】
0005901242.tif 000009
【図９】
0005901242.tif 000010
【図１０】
0005901242.tif 000011
【図１１ａ】
0005901242.tif 000012
【図１１ｂ】
0005901242.tif 000013
【図１２】
0005901242.tif 000014
【図１３】
0005901242.tif 000015
【図１４】
0005901242.tif 000016
【図１５】
0005901242.tif 000017
【図１６】
0005901242.tif 000018
【図１７】
0005901242.tif 000019
【図１８】
0005901242.tif 000020
【図１９】
0005901242.tif 000021
【図２０】
0005901242.tif 000022
【図２１】
0005901242.tif 000023