(57)【要約】      （修正有）【課題】装置が複数のＣＰＵを有していてもファームウェアデータの更新に必要な時間を短縮することができる画像形成装置を提供する。【解決手段】画像形成装置は、装置が有する各機能部の動作を統括的に制御するマスタユニット、各機能部のうち特定の機能部の制御をマスタユニットからの制御信号に基づいてそれぞれ行う複数のスレーブユニットを有する。また、スレーブユニットそれぞれのファームウェアデータが格納される複数のＲＯＭを有する。スレーブユニットが制御する機能部を特定するための配置ＩＤがＲＯＭに格納されており、スレーブユニットは、マスタユニットにより他のスレーブユニットと同時に又は並行して格納された単一のファームウェアデータの中から配置ＩＤに基づいて自ユニットの設定情報を特定して設定する。【選択図】図５
2018060435.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に画像を形成する画像形成装置であって、
前記画像形成装置が有する各機能部の動作を統括的に制御する第１の制御手段と、
前記各機能部のうち特定の機能部の制御を前記第１の制御手段からの制御信号に基づいてそれぞれ行う複数の第２の制御手段と、
前記第２の制御手段それぞれのファームウェアデータが格納される複数の記憶手段と、を有し、
前記記憶手段には、前記第２の制御手段が制御する機能部を特定するための識別情報が格納されており、
前記第２の制御手段それぞれは、前記第１の制御手段により他の第２の制御手段と同時に又は並行して格納された単一のファームウェアデータの中から前記識別情報に基づいて自制御手段の設定情報を特定して設定することを特徴とする、
画像形成装置。
【請求項２】
前記第１の制御手段は、前記複数の第２の制御手段それぞれのファームウェアデータの更新を、前記単一のファームウェアデータを各記憶手段に格納することにより実施することを特徴とする、
請求項１に記載の画像形成装置。
【請求項３】
前記第１の制御手段は、前記第２の制御手段それぞれのファームウェアデータの更新が正常に完了したか否かを判別して、正常に完了しなかった場合には更新失敗を表す情報を出力することを特徴とする、
請求項１又は２に記載の画像形成装置。
【請求項４】
前記第１の制御手段は、前記各記憶手段に格納したファームウェアデータを取得し、取得したファームウェアデータと、当該各記憶手段に格納する前のファームウェアデータとを比較して更新が正常に完了したか否かを判別することを特徴とする、
請求項３に記載の画像形成装置。
【請求項５】
画像を読み取る画像読取装置と、
前記画像読取装置で読み取られた読取データに基づいて所定の記録媒体に画像を形成する請求項１乃至４いずれか一項に記載の画像形成装置と、を有することを特徴とする、
画像形成システム。
【請求項６】
情報処理装置が有する各機能部の動作を統括的に制御する第１の制御手段と、
前記各機能部のうち特定の機能部の制御を前記第１の制御手段からの制御信号に基づいてそれぞれ行う複数の第２の制御手段と、
前記第２の制御手段それぞれのファームウェアデータが格納される複数の記憶手段と、を有し、
前記記憶手段には、前記第２の制御手段が制御する機能部を特定するための識別情報が格納されており、
前記第２の制御手段それぞれは、前記第１の制御手段により他の第２の制御手段と同時に又は並行して格納された単一のファームウェアデータの中から前記識別情報に基づいて自制御手段の設定情報を特定して設定することを特徴とする、
情報処理装置。
【請求項７】
装置が有する各機能部の動作を制御するマスタユニットと、
前記各機能部のうち特定の機能部の制御を前記マスタユニットからの制御信号に基づいてそれぞれ行う複数のスレーブユニットと、
前記スレーブユニットそれぞれのファームウェアデータが格納される複数の記憶部と、を有する装置のファームウェアデータの更新方法であって、
前記記憶部には、前記スレーブユニットが制御する機能部を特定するための識別情報が格納されており、前記マスタユニットにより他のスレーブユニットと同時に又は並行して前記記憶部に格納された単一のファームウェアデータの中から前記識別情報に基づいて自ユニットの設定情報を特定して設定する工程、を有することを特徴とする、
ファームウェアデータの更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置が有するファームウェアデータを更新する技術に関する。
【背景技術】
【０００２】
記録媒体（例えば、用紙などのシート）上に画像を形成する画像形成装置、あるいは画像形成装置を含んだ画像形成システムでは、各機能構成を制御するための制御ソフトウエア（ファームウェアデータとも称す）を有する。
近年、このような装置に組み込まれたＣＰＵ（Central Processing Unit）のファームウェアデータは、書き換え可能なＲＯＭに格納され動作修正や機能追加といった目的のために書き換え更新される機会が増えている。
【０００３】
一方、多機能化や高性能化のために、レーザスキャナユニット用のＣＰＵやシート搬送ユニット用のＣＰＵといった、制御目的ごとに画像形成システムをサブユニットに分割してそれぞれにＣＰＵを備える構成も増えている。つまり、画像形成システムに組み込まれるＣＰＵの数、及び、ファームウェアデータを更新する機会は増加傾向にある。そのため、ファームウェアデータを更新するために必要な時間なども増加している。
【０００４】
例えば、特許文献１に開示された更新方法では、複数のファームウェアデータをまとめたデータパックの中から、装着されている装置に合うデータのみを更新する、というものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１６４８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された方法では、接続されていない制御ＣＰＵに対するファームウェアデータの更新手順を省略することで不要な時間の発生を防ぐ、というものである。そのため、装置が有するＣＰＵの数に比例してファームウェアデータを更新するための時間が増加してしまう、という課題が残る。
【０００７】
本発明は、装置が複数のＣＰＵを有していてもファームウェアデータの更新に必要な時間を短縮することができる画像形成装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【０００８】
本発明は、記録媒体に画像を形成する画像形成装置であって、前記画像形成装置が有する各機能部の動作を統括的に制御する第１の制御手段と、前記各機能部のうち特定の機能部の制御を前記第１の制御手段からの制御信号に基づいてそれぞれ行う複数の第２の制御手段と、前記第２の制御手段それぞれのファームウェアデータが格納される複数の記憶手段と、を有し、前記記憶手段には、前記第２の制御手段が制御する機能部を特定するための識別情報が格納されており、前記第２の制御手段それぞれは、前記第１の制御手段により他の第２の制御手段と同時に又は並行して格納された単一のファームウェアデータの中から前記識別情報に基づいて自制御手段の設定情報を特定して設定することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、同一（単一）のファームウェアデータを複数のスレーブユニットに同時に又は並行して書き込み可能に構成されるため、ファームウェアデータの更新に必要な時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る画像形成システムの構成の一例を示す図。
【図２】画像形成装置の構成の一例を説明するための図。
【図３】画像形成装置の機能構成の一例を説明するためのブロック図。
【図４】（ａ）は、従来一般の画像形成システムにおけるファームウェアデータの更新処理を説明するためのタイミングチャート。（ｂ）は、本実施形態に係る画像形成装置におけるファームウェアデータの更新処理を説明するためのタイミングチャート。
【図５】画像形成装置の各スレーブユニットが有するＲＯＭに格納されるデータの構成の一例を示す図。
【図６】画像形成装置におけるファームウェアデータの更新処理の処理手順の一例を示すフローチャート。
【図７】配置ＩＤを用いた起動時の初期化処理の処理手順の一例を示すフローチャート。
【図８】基本的なスレーブユニット制御処理の処理手順の一例を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明を画像形成システムに適用した場合を例に挙げて説明を進める。
なお、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下で説明する個別の実施形態によって限定されるものではない。
【００１２】
［装置の全体構成例］
図１は、本実施形態に係る画像形成システムの構成の一例を示す図である。
画像形成システム１０００は、原稿の画像を読み取る画像読取装置２００、画像形成装置１００、ＵＩ（ユーザ・インタフェース）装置６００を含んで構成される。
【００１３】
画像読取装置２００は、原稿台ガラス上に載置された原稿を読み取って画像データを出力する。
画像形成装置１００は、画像読取装置２００で読み取られた読取データ、あるいはネットワークを介して接続された外部装置から入力された画像データに基づいて記録媒体（例えば、用紙等のシート）に画像を形成する。
ＵＩ装置６００は、タッチパネル付き液晶ディスプレイなどの表示画面を有する。ＵＩ装置６００は、また、表示画面上に表示されるＧＵＩ（グラフィカル・ユーザ・インタフェース）を介して、ユーザへの情報提示、ユーザからの印刷モードや後処理モードの指定などのジョブ入力操作を受け付ける。
【００１４】
［画像形成装置の構成例］
図２は、画像形成装置１００の構成の一例を説明するための図である。
画像形成装置１００は、フルカラーの画像形成に対応したイエロー（Ｙ）、マゼンダ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）のプロセスユニットであるプロセスユニット１０１ｙ〜１０１ｋを有する。各プロセスユニットには、感光ドラム、現像器、帯電ローラなどを含んで構成される。
以下、それぞれが同様の構成からなるイエロー、マゼンダ、シアン、ブラックの各プロセスユニットうち、代表してブラックのプロセスユニットを取り上げて説明する。
【００１５】
プロセスユニット１０１ｋには、その中央部に感光ドラム１０２ｋが配設されており、ドラムモータ（不図示）の駆動力が伝達されて回転駆動される。
帯電ローラ１０３ｋは、高圧を印加して感光ドラム１０２ｋの表面を一様に帯電する。
【００１６】
レーザスキャナユニット１０４ｋは、レーザダイオードから変調出力されたレーザをポリゴンミラー回転体を介して長手方向（シートの搬送方向に直交する方向）に走査する。
レーザスキャナユニット１０４ｋは、一様に帯電された感光ドラム１０２ｋ上に入力画像情報に従ってレーザ露光を行うことで静電潜像を形成する。
現像器１０５ｋは、トナーとキャリアからなる二成分現像剤を用いて静電潜像に応じた可視トナー像を感光ドラム上に形成する。
【００１７】
トナーボトル１０６ｋは、トナーが充填されたトナーボトルであり、現像器１０５ｋに対してトナーを供給する。
一次転写ローラ１０７ｋは、Ｙ、Ｍ、Ｃ、Ｋ各色を逐次重ね合わせる為に無端ベルト状部材である中間転写体１０８に対して感光ドラムから一次転写するためのものである。
補助帯電ブラシ１０９ｋは、一次転写ローラで転写しきれなかった転写残トナーが一様な電荷を有するように帯電させる。
【００１８】
なお、プロセスユニット１０１ｙ〜１０１ｋに含まれる感光ドラム１０２ｋ、帯電ローラ１０３ｋ、現像器１０５ｋ、補助帯電ブラシ１０９ｋに関しては、ブラックについてのみ述べたが、イエロー、マゼンダ、シアンも共通である。
以下、感光ドラム１０２、帯電ローラ１０３、現像器１０５、補助帯電ブラシ１０９と示した場合には、イエロー、マゼンダ、シアン、ブラックの各色が有する構成に対応するものとして説明を進める。
【００１９】
中間転写体１０８に一次転写されたトナー像は、二次転写ローラ１１０を介してシート上に二次転写される。なお、二次転写ローラ１１０で転写しきれなかった残トナーや、シート上に転写することを意図しない調整用のトナー像は、中間転写体クリーナ１１１によって回収される。
パターン濃度検知センサ１１２は、中間転写体上に作像されたパターンの濃淡変化を検出する。
【００２０】
シートは給紙カセット１１３に収納されており、給紙ローラ１１４を介して搬送路に向けて搬送される。その後シートは、レジストローラ１１５により斜行が補正されてから二次転写ローラ１１０に送られる。
二次転写ローラ１１０によりトナー像が転写された後、ヒータを備えた定着ローラ１１７、及び加圧ローラ１１８を介してトナーが熱定着される。
その後シートは、設定内容に応じて排紙フラッパ１１９によって排紙パス１２０を経由して排紙されたり、両面反転駆動１２２に送られたりする。
【００２１】
また、両面反転駆動１２２に送られたシートは、両面反転駆動１２２の逆転と両面反転フラッパ１２３の回動によって両面再給紙駆動１２４に送られ、再度二面目の画像形成をした後に排紙される。
なお、シートは第二増設給紙カセット１２５、第三増設給紙カセット１２６にも収められており、増設カセット給紙ローラ１２７および増設カセット給紙ローラ１２８からも給紙を行うことができる。
【００２２】
図３は、画像形成装置１００の機能構成の一例を説明するためのブロック図である。
画像形成装置１００は、装置が有する各機能部を統括的に制御するマスタユニット（第１の制御手段）として機能するプリンタエンジンユニット９００を有する。また、画像形成装置１００が有する各機能部のうち特定の機能部の制御を担う複数のスレーブユニット８０１、８０２、８０３（第２の制御手段）を有する。
例えば、スレーブユニット８０１は、プリンタエンジンユニット９００からの制御信号に基づいてレーザスキャナユニット１０４ｙ〜ｋの動作を制御する。また、スレーブユニット８０２は、プリンタエンジンユニット９００からの制御信号に基づいて定着ローラ１１７、加圧ローラ１１８の動作を制御して定着制御を行う。また、スレーブユニット８０３は、プリンタエンジンユニット９００からの制御信号に基づいてシート搬送の動作を制御する。
【００２３】
プリンタエンジンユニット９００は、マスタＣＰＵ（Central Processing Unit）９０１、ＲＯＭ（Read only memory）９０２、ＲＡＭ（Random access memory）９０３と通信インタフェース９０４、９０５を有する。ＲＯＭ、ＲＡＭは、各種データを記憶する記録手段（記憶部）として機能する。
マスタＣＰＵ９０１は、画像形成装置１００が有する他の制御部、例えばスレーブユニット８０１、８０２、８０３に対して制御信号を出力して統制して画像形成を制御する。ＲＯＭ９０２は、マスタＣＰＵ９０１が動作するためのプログラムが格納される。ＲＡＭ９０３は、ＣＰＵが一時的にデータを記憶しておくために使用される。
【００２４】
通信インタフェース９０４は、スレーブユニット８０１、８０２、８０３それぞれとの通信を仲介する。また、通信インタフェース９０５は、不図示のファームデータが格納された外部記憶装置、画像読取装置２００、ＵＩ装置６００などの画像形成装置１００の外部機器との通信を仲介する。
【００２５】
スレーブユニット８０１は、スレーブＣＰＵ８１１、ＲＯＭ８２１、ＲＡＭ８３１、通信インタフェース８４１を有する。
また、スレーブユニット８０２は、スレーブＣＰＵ８１２、ＲＯＭ８２２、ＲＡＭ８３２、通信インタフェース８４２を有する。
また、スレーブユニット８０３は、スレーブＣＰＵ８１３、ＲＯＭ８２３、ＲＡＭ８３３、通信インタフェース８４３を有する。
【００２６】
ＲＯＭ８２１、８２２、８２３は、それぞれに対応するスレーブＣＰＵ８１１、８１２、８１３が動作するためのプログラムが格納される。
ＲＡＭ８３１、８３２、８３３、は、それぞれに対応するＣＰＵが一時的にデータを記憶しておくために使用される。
【００２７】
通信インタフェース８４１、８４２、８４３は、各スレーブユニットそれぞれがプリンタエンジンユニット９００（マスタＣＰＵ９０１）との通信を仲介する。
なお、マスタＣＰＵ９０１は、通信インタフェース８４１、８４２、８４３を介して、各スレーブユニットのＲＯＭ８２１、８２２、８２３、あるいはＲＡＭ８３１、８３２、８３３に対して直接データを読み出したり、書き込みを行ったりすることができる。
【００２８】
なお、スレーブユニット８０１、８０２、８０３は、ＣＰＵを含む同一の制御回路部（ＳＯＣ：System On a Chip）として構成することが可能である。
また、各スレーブユニットは、画像形成装置１００における配置位置、機能的な役割などに応じて接続される機器（例えば、センサ、アクチュエータなど）が異なる。
【００２９】
スレーブユニット８０１は、マスタＣＰＵ９０１からの制御信号に基づいて、各レーザスキャナユニットのポリゴンミラー回転体を回転させるためのポリゴンモータ（不図示）の駆動を制御する。このように、スレーブユニット８０１は、レーザスキャナユニットの動作に係る制御を行う。
【００３０】
スレーブユニット８０２は、マスタＣＰＵ９０１からの制御信号に基づいて、定着ローラ１１７における定着ヒータ（不図示）を介した加熱を制御する。このように、スレーブユニット８０２は、定着の動作に係る制御を行う。
【００３１】
スレーブユニット８０３は、マスタＣＰＵ９０１からの制御信号に基づいて、給紙ローラ１１４などシート搬送に係る各ローラの駆動を制御する。具体的には、搬送モータ（不図示）の駆動を制御してシート搬送に係る制御を行う。
【００３２】
図４は、ファームウェアデータの更新処理の一例を説明するための図である。なお、図４（ａ）は、従来一般の画像形成システムにおけるファームウェアデータの更新処理を説明するためのタイミングチャートである。また、図４（ｂ）は、本実施形態に係る画像形成装置１００におけるファームウェアデータの更新処理を説明するためのタイミングチャートである。
【００３３】
図４（ａ）に示す従来例のファームウェアデータの更新処理では、画像形成装置に組み込まれた複数のスレーブユニットに対して、１つずつ順次にファームウェアデータの更新を行うことが見て取れる。
具体的には、始めにマスタＣＰＵ１は、スレーブＲＯＭ２に格納されているデータを消去するための所定のＲＥＱＵＥＳＴコマンドを送信して、スレーブＲＯＭ２に新しいデータを格納する準備を行う。
【００３４】
次に、マスタＣＰＵ１から新しいデータ（新しいファームウェアデータ）を所定の単位で分割してスレーブＲＯＭ２へ送信して格納させる。このような格納手順を繰り返し行う。
ここでデータを分割して送信する理由は、ＲＯＭ媒体の書き換え特性、例えば書き込み完了までの待ち時間発生や通信経路の通信プロトコルによるデータ長制限などにより、一度に大量のデータ格納ができないためである。
【００３５】
そして、マスタＣＰＵ１は、新しいデータ全ての送信が終了した後に、スレーブＲＯＭ２に格納された新しいデータを読み出し、読み出したデータに対して例えばチェックサムなどを用いた周知の誤り検出を行う。このように、スレーブＲＯＭ２に格納されたデータの整合性を確認するまでの処理が終了して１つのＲＯＭの更新が完了する。その後、更新手順を残りのスレーブＲＯＭ３、４に対しても実施する。
このように従来一般の画像形成システムにおけるファームウェアデータの更新処理では、複数のスレーブユニットに対して１つずつ順次にファームウェアデータを更新を行う。
【００３６】
これに対して本実施形態に係る画像形成装置１００では、複数のスレーブユニットを有する構成であっても、ファームウェアデータの共通化を図ることにより更新手順の並行処理（並列処理）化が可能になる。そのため、ファームウェアデータの更新に必要な時間を短縮することができる。以下、具体的にこの点について図５、図６を用いて説明する。
【００３７】
本実施形態に係る画像形成装置１００では、接続された複数のスレーブユニット（制御回路部（ＳｏＣ））に対して同一（単一）のファームデータを同時に又は並行して格納（書き込み）を行う。また、書き込み完了後の起動において配置ＩＤ（スレーブユニットが制御する機能部を特定するための識別情報）に基づいてレジスタ設定を行うように構成される。
【００３８】
図５は、画像形成装置１００の各スレーブユニットが有するＲＯＭ８２１、８２２、８２３に格納されるデータ（ファームウェアデータ）の構成の一例を示す図である。
図５に示す配置ＩＤ４００１は、スレーブユニット個別に値が設定されるＳｏＣ種別情報である。配置ＩＤ４００１は、画像形成装置１００のいずれのユニットを制御するかをスレーブユニット自身が特定する際に使用するデータである。
なお、配置ＩＤ４００１は装置の組み立て時などの最初のファームウェアデータ格納時にあらかじめ格納されるものであり、ファームウェアデータの更新時には変更の必要がないため更新ファームウェアデータに含まれないデータである。
【００３９】
制御処理情報４００２は、スレーブユニットに共通の制御処理プログラムである。制御処理情報４００２は、配置ＩＤ４００１を参照して設定パターン情報４００３〜４００５のいずれかの設定データ列（設定情報）をスレーブユニットに設定するためのデータである。
例えば、スレーブユニットが有する所定のレジスタに、設定パターン情報４００３〜４００５のいずれかの設定データ列を設定する。これにより、スレーブユニットに接続されたセンサやアクチュエータなどの周辺回路を作動させることが可能になる。
【００４０】
設定パターン情報４００３〜４００５は、配置ＩＤ４００１の値に対応する設定データ列（設定情報）である。設定パターン情報４００３〜４００５は、例えば通信インタフェース８４１、８４２、８４３のボーレート設定値などスレーブユニットに共通する項目のデータで構成される。
設定パターン情報には、例えば設定パターン情報４００３であればレーザーキャナユニットの制御用、設定パターン情報４００４であれば定着制御用などと、個々のスレーブユニットに適したデータ値がそれぞれ格納される。
【００４１】
図６は、画像形成装置１００におけるファームウェアデータの更新処理の処理手順の一例を示すフローチャートである。図６に示す各処理は、主としてマスタＣＰＵ９０１により実施される。また、マスタＣＰＵ９０１は、ファームウェアデータの更新処理の開始の指示を受け付けたことを契機に、図６に示す処理を開始する。
【００４２】
マスタＣＰＵ９０１は、各通信インタフェース（９０４、及び、８４１等）を介して、スレーブユニットのＲＯＭ８２１、８２２、８２３の全てに対して既に格納されているデータを消去するための所定のＲＯＭ消去コマンドをマルチキャスト送信する（Ｓ５００１）。
なお、ＲＯＭ消去コマンドの送信が大凡同じタイミングで送信可能であれば、特にマルチキャストである必要はない。このように、ＲＯＭ消去コマンドの送信は、特にその通信方式を限定するものではない。
【００４３】
また、画像形成装置１００では、スレーブＣＰＵ８１１、８１２、８１３の介在なしにマスタＣＰＵ９０１がスレーブユニットのＲＯＭ８２１、８２２、８２３を書き換え可能な構成としている。そのため、通信ボーレートなどの通信パラメータは特に設定処理をしない場合には一律所定の値になるように構成しておく。
【００４４】
一方、ＣＰＵの起動モードを更新モードに切り替えることで、ＣＰＵを更新処理用の小さなプログラム（ブートプログラム）で動作させる。起動されたブートプログラムにより通信設定処理やファームウェアデータの送受信、ファームウェアデータの更新処理が行われるように構成することもできる。
【００４５】
マスタＣＰＵ９０１は、スレーブユニットのＲＯＭ８２１、８２２、８２３の全てがＲＯＭ消去動作を完了したか否かを判別する（Ｓ５００２）。
マスタＣＰＵ９０１は、完了したと判別した場合（Ｓ５００２：Ｙｅｓ）、スレーブユニットのＲＯＭ８２１、８２２、８２３の全てに対して新しいファームウェアデータ１パケット分の所定の書き込みコマンドをマルチキャスト送信する（Ｓ５００３）。
【００４６】
マスタＣＰＵ９０１は、スレーブユニットのＲＯＭ８２１、８２２、８２３においてファームウェアデータ１パケット分の書き込みが完了したか否かを判別する（Ｓ５００４）。
マスタＣＰＵ９０１は、完了したと判別した場合（Ｓ５００４：Ｙｅｓ）、スレーブユニットのＲＯＭ８２１、８２２、８２３の全てにおいて新しいファームウェアデータ全ての書き込みが完了したか否かを判別する（Ｓ５００５）。つまり、全更新サイズ分のファームウェアデータの格納が完了したか否かを判別する。
【００４７】
マスタＣＰＵ９０１は、全更新サイズ分のファームウェアデータの書き込みが完了していないと判別した場合（Ｓ５００５：Ｎｏ）、ステップＳ５００３の処理に戻る。また、そうでない場合（Ｓ５００５：Ｙｅｓ）、ステップＳ５００６の処理に進む。なお、ステップＳ５００６の処理以降において、更新処理により各スレーブＲＯＭに格納されたデータ（ファームウェアデータ）の検証を行う。
【００４８】
マスタＣＰＵ９０１は、スレーブユニットのＲＯＭ８２１に格納されたファームウェアデータを読み出す（Ｓ５００６）。なお、前述したように配置ＩＤ４００１が格納されている領域は変更していないので、チェックする必要がないため読み出し対象から除外する。
【００４９】
マスタＣＰＵ９０１は、Ｓ５００６の処理において読み出したファームウェアデータに基づいてチェックサムを導出する（Ｓ５００７）。
マスタＣＰＵ９０１は、ステップＳ５００７の処理において導出したチェックサム値と、スレーブユニットに送信する前の元のファームウェアデータのチェックサム値とを比較し、一致するか否かを判別する（Ｓ５００８）。
【００５０】
マスタＣＰＵ９０１は、チェックサム値が一致していない場合（Ｓ５００８：Ｎｏ）、つまりファームウェアデータの更新が正常に完了しなかった場合、ステップＳ５１０１の処理へ進む。
また、そうでない場合（Ｓ５００８：Ｙｅｓ）、マスタＣＰＵ９０１は、ＲＯＭ８２２に格納されたファームウェアデータを読み出す（Ｓ５００９）。
【００５１】
マスタＣＰＵ９０１は、ステップＳ５００９の処理において読み出したファームウェアデータに基づいてチェックサムを導出する（Ｓ５０１０）。
マスタＣＰＵ９０１は、Ｓ５０１０の処理において導出したチェックサム値と、スレーブユニットに送信する前の元のファームウェアデータのチェックサム値とを比較し、一致するか否かを判別する（Ｓ５０１１）。
【００５２】
マスタＣＰＵ９０１は、チェックサム値が一致していない場合（Ｓ５０１１：Ｎｏ）、つまりファームウェアデータの更新が正常に完了しなかった場合、ステップＳ５１０１の処理へ進む。
また、そうでない場合（Ｓ５０１１：Ｙｅｓ）、マスタＣＰＵ９０１は、スレーブＲＯＭ８２３に格納されたファームウェアデータを読み出す（Ｓ５０１２）。
【００５３】
マスタＣＰＵ９０１は、Ｓ５０１２の処理において読み出したファームウェアデータに基づいてチェックサムを導出する（Ｓ５０１３）。
マスタＣＰＵ９０１は、Ｓ５０１３の処理において導出したチェックサム値と、スレーブユニットに送信する前の元のファームウェアデータのチェックサム値とを比較し、一致するか否かを判別する（Ｓ５０１４）。
【００５４】
マスタＣＰＵ９０１は、チェックサム値が一致していない場合（Ｓ５０１４：Ｎｏ）、つまりファームウェアデータの更新が正常に完了しなかった場合、ステップＳ５１０１の処理へ進む。また、そうでない場合（Ｓ５０１４：Ｙｅｓ）、一連の処理を終了する。
【００５５】
マスタＣＰＵ９０１は、ファームウェアデータの更新が正常に完了しなかった場合、更新失敗を表す情報を出力する。出力された更新失敗を表す情報は、例えばＲＡＭ９０３に記憶する（Ｓ５１０１）。仮にチェックサム値が一致しない場合、通信エラーなどにより正常な更新が完了しなかったことが想定される。そのため、例えば更新失敗したことを表す情報がＲＡＭ９０３に格納されたことを契機に、マスタＣＰＵ９０１が更新処理をはじめからやり直す処理（リトライ機能）を開始する、などの制御を行う。
【００５６】
ここで、図５に示す制御処理情報４００２として示した、スレーブＣＰＵ８１１、８１２、８１３により実行される制御処理プログラムについて説明する。
図７は、配置ＩＤを用いた起動時の初期化処理（起動処理）の処理手順の一例を示すフローチャートである。なお、この初期化処理は、各スレーブユニット、つまりスレーブＣＰＵ８１１、８１２、８１３の各々で実行される。以下の説明では代表して、スレーブＣＰＵ８１１が実行する場合を例に挙げて説明する。
【００５７】
スレーブＣＰＵ８１１は、ＲＯＭ８２１のデータ格納領域（図５に示す配置ＩＤ４００１）から配置ＩＤを読み出る（Ｓ６００１）。
スレーブＣＰＵ８１１は、読み出して取得した配置ＩＤに基づいて、設定パターン情報のデータ格納領域（図５に示す設定パターン情報４００３〜４００５）を参照して当該配置ＩＤに対応する設定データ列（設定情報）を所定のレジスタに設定する（Ｓ６００２）。
【００５８】
例えば、読み出して取得した配置ＩＤが「０２」であったとする。この場合、例えば図５に示す設定パターン情報４００４の領域に存在する７８［ｋｂｐｓ］通信速度を表す設定データやセンサ監視周期４［ｍｓｅｃ］などの制御パラメータをレジスタに設定する。具体的には、これらの設定データを、通信インタフェース８４１のボーレート設定レジスタやＲＡＭ８３１の変数領域に設定する。つまり、格納された単一のファームウェアデータの中から識別情報に基づいて自ユニット（自制御手段）の設定情報を特定して設定する。
【００５９】
図８は、基本的なスレーブユニット制御処理の処理手順の一例を示すフローチャートである。
なお、図８に示す各処理は、図７に示す起動処理の実行後に繰り返し実行される。また、この処理は、各スレーブユニット、つまりスレーブＣＰＵ８１１、８１２、８１３の各々で実行される。以下の説明では代表して、スレーブＣＰＵ８１１が実行する場合を例に挙げて説明する。
【００６０】
スレーブＣＰＵ８１１は、通信インタフェース８４１を介して、プリンタエンジンユニット（マスタユニット）９００から所定の制御信号を受信したか否かを判別する（Ｓ７００１）。
スレーブＣＰＵ８１１は、プリンタエンジンユニット（マスタユニット）９００から制御信号を受信した場合（Ｓ７００１：Ｙｅｓ）、受信した制御信号応じた処理を実行する（Ｓ７００２）。
御信号応じた処理は、例えばレーザスキャナユニットのポリゴンモータを回転開始する、または回転を停止する、などの制御処理である。
【００６１】
なお、制御処理は、スレーブＣＰＵ８１１、８１２、８１３における共通のファームウェアデータとして構成することができれば、任意の処理を組み合わせた複数の制御処理を含むようにすることもできる。
【００６２】
このように、本実施形態に係る画像形成装置１００（画像形成システム１０００）では、各スレーブユニットが有するそれぞれの配置ＩＤに基づいて、各スレーブユニットそれぞれが制御処理を行うように構成される。そのため、同一（単一）のファームウェアデータを複数のスレーブユニットそれぞれのＲＯＭに同時に又は並行して書き込みを行うことができる。
これにより、従来の１つずつ順次ファームウェアデータを更新するシステムに比べて、ファームウェアデータの更新に必要な時間を短縮することができる。
【００６３】
上記説明した実施形態は、本発明をより具体的に説明するためのものであり、本発明の範囲が、これらの例に限定されるものではない。
例えば、本発明を前述したマスタユニットの機能と、スレーブユニットの機能を有する情報処理装置に適用することもできる。
【符号の説明】
【００６４】
１００・・・画像形成装置、２００・・・画像読取装置、８２１、８２２、８２３・・・スレーブＣＰＵ、８２１、８２２、８２３・・・スレーブＲＯＭ、８４１、８４２、８４３、９０４・・・通信インタフェース、９０１・・・マスタＣＰＵ、１０００・・・画像形成システム。
【図１】
2018060435.tif 000003
【図２】
2018060435.tif 000004
【図３】
2018060435.tif 000005
【図４】
2018060435.tif 000006
【図５】
2018060435.tif 000007
【図６】
2018060435.tif 000008
【図７】
2018060435.tif 000009
【図８】
2018060435.tif 000010