<画像形成装置の構成>
以下では、図1乃至図10を参照して、本実施形態について説明する。図1に示すように、画像形成装置1000は、自動原稿搬送装置100、画像読取部200、画像形成部300、及び操作部10を備える。また、画像読取部200は、画像形成部300の上に載置されている。さらに、画像読取部200上には、自動原稿搬送装置(DF)100が載置されている。また、本画像形成装置1000は、複数の制御部(CPU)を用いて分散制御を実現する。
自動原稿搬送装置100は、原稿を自動的に原稿台ガラス上に搬送する。画像読取部200は、自動原稿搬送装置100から搬送された原稿を読み取って画像データを出力する。画像形成部300は、自動原稿搬送装置100から出力された画像データやネットワークを介して接続された外部装置から入力された画像データに従って記録材に画像を形成する。操作部10は、ユーザが各種操作を行うためのGUI(グラフィカル・ユーザ・インタフェース)を有する。さらに、操作部10は、タッチパネル等の表示部を有し、ユーザに対して情報を提示することもできる。
<画像形成部>
次に、図2を参照して、画像形成部300の詳細について説明する。なお、本実施形態の画像形成部300は電子写真方式を採用している。なお、図2の参照番号の末尾に示すアルファベットY、M、C、Kは、それぞれイエロー、マゼンダ、シアン、ブラックのトナーに対応した各エンジンを示す。以下では、全てのトナーに対応するエンジンを示す場合は末尾のアルファベットY、M、C、Kを省略して参照番号を記載し、個別に示す場合は参照番号の末尾にアルファベットY、M、C、Kを付記して記載する。
像担持体としてフルカラー静電画像を形成するための感光ドラム(以下、単に「感光体」と称する。)225は、モータで矢印Aの方向に回転可能に設けられる。感光体225の周囲には、一次帯電装置221、露光装置218、現像装置223、転写装置220、クリーナ装置222、除電装置271が配置されている。
現像装置223Kはモノクロ現像のための現像装置であり、感光体225K上の潜像をKのトナーで現像する。また現像装置223Y、M、Cはフルカラー現像のための現像装置であり、現像装置223Y、M、Cは、感光体225Y、M、C上の潜像をそれぞれY、M、Cのトナーで現像する。感光体225上に現像された各色のトナー像は、転写装置220によって中間転写体である転写ベルト226に一括で多重転写されて、4色のトナー像が重ね合わされる。
転写ベルト226は、ローラ227、228、229に張架されている。ローラ227は、駆動源に結合されて転写ベルト226を駆動する駆動ローラとして機能し、ローラ228は転写ベルト226の張力を調節するテンションローラとして機能する。また、ローラ229は、2次転写装置231としての転写ローラのバックアップローラとして機能する。転写ローラ脱着ユニット250は、2次転写装置231を転写ベルト226に接着させるか、又は離脱させるための駆動ユニットである。2次転写装置231を通過した後の転写ベルト226の下部にはクリーナブレード232が設けられており、転写ベルト226上の残留トナーがブレードで掻き落とされる。
カセット240、241及び手差し給紙部253に格納された記録材(記録紙)は、レジストローラ255、給紙ローラ対235及び縦パスローラ対236、237によってニップ部、つまり2次転写装置231と転写ベルト226との当接部に給送される。なお、その際2次転写装置231は、転写ローラ脱着ユニット250によって転写ベルト226に当接されている。転写ベルト226上に形成されたトナー像は、このニップ部で記録材上に転写される。その後、トナー像が転写された記録材は、定着装置234でトナー像が熱定着されて装置外へ排出される。
カセット240、241及び手差し給紙部253は、それぞれ記録材の有無を検知するためのシートなし検知センサ243、244、245を備える。また、カセット240、241及び手差し給紙部253は、それぞれ記録材のピックアップ不良を検知するための給紙センサ247、248、249を備える。
ここで、画像形成部300による画像形成動作について説明する。画像形成が開始されると、カセット240、241及び手差し給紙部253に格納された記録材は、ピックアップローラ238、239、254により1枚毎に給紙ローラ対235に搬送される。記録材は、給紙ローラ対235によりレジストローラ255へと搬送されると、その直前のレジストセンサ256により記録材の通過が検知される。
レジストセンサ256により記録材の通過が検知された時点で、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は停止しているレジストローラ255に突き当たり搬送が停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように搬送位置が固定され、記録材の搬送方向が搬送経路に対してずれた状態の斜行が補正される。以下では、この処理を位置補正と称する。位置補正は、以降の記録材に対する画像形成方向の傾きを最小化するために必要となる。位置補正後、レジストローラ255を起動させることにより、記録材は、2次転写装置231へ供給される。なお、レジストローラ255は、駆動源に結合され、クラッチによって駆動が伝えられることで回転駆動を行う。
次に、一次帯電装置221に電圧を印加して感光体225の表面を予定の帯電部電位で一様にマイナス帯電させる。続いて、帯電された感光体225上の画像部分が所定の露光部電位になるようにレーザスキャナ部からなる露光装置218で露光を行い潜像が形成される。露光装置218はプリンタ制御I/F215を介してコントローラ460より送られてくる画像データに基づいてレーザ光をオン、オフすることによって画像に対応した潜像を形成する。
また、現像装置223の現像ローラには各色毎に予め設定された現像バイアスが印加されており、上記潜像は、現像ローラの位置を通過する際にトナーで現像され、トナー像として可視化される。トナー像は、転写装置220により転写ベルト226に転写され、さらに2次転写装置231で、給紙部より搬送された記録材に転写された後、レジスト後搬送パス268を通過し、定着搬送ベルト230を介して、定着装置234へと搬送される。
定着装置234では、まずトナーの吸着力を補って画像乱れを防止するために、定着前帯電器251、252で帯電され、さらに定着ローラ233でトナー画像が熱定着される。その後、記録材は、排紙フラッパ257により排紙パス258側に搬送パスが切り替えられることにより、排紙ローラ270によってそのまま排紙トレー242に排紙される。感光体225上に残留したトナーは、クリーナ装置222で除去、回収される。最後に、感光体225は、除電装置271で一様に0ボルト付近まで除電されて、次の画像形成サイクルに備える。
画像形成装置1000によるカラーの画像形成開始タイミングは、Y、M、C、Kの同時転写であるため転写ベルト226上の任意の位置に画像形成を行うことが可能である。しかし、感光体225Y、M、C上のトナー像を転写する位置のずれ分をタイミング的にシフトさせながら画像形成開始タイミングを決定する必要がある。
なお、画像形成部300においては、記録材を連続的にカセット240、241及び手差し給紙部253より給送させることが可能である。この場合、先行する記録材のシート長を考慮し、記録材が重なり合わないような最短の間隔でカセット240、241及び手差し給紙部253からの給紙を行う。上述したように、位置補正後に、レジストローラ255を起動させることにより、記録材は2次転写装置231へ供給されるが、2次転写装置231に到達すると、再びレジストローラ255が一時停止される。これは、後続の記録材に対して先行する記録材と同様に位置補正を行うためである。
次に、記録材の裏面に画像を形成する場合の動作について詳細に説明する。記録材の裏面に画像を形成する際には、まず記録材の表面への画像形成が先行して実行される。表面のみの画像形成であれば、定着装置234でトナー像が熱定着された後に、そのまま排紙トレー242に排紙される。一方、引き続き裏面の画像形成を行う場合、センサ269で記録材が検知されると、排紙フラッパ257により裏面パス259側に搬送パスが切り換えられ、それに併せた反転ローラ260の回転駆動により記録材が両面反転パス261に搬送される。その後、記録材は、送り方向幅の分だけ両面反転パス261に搬送された後に反転ローラ260の逆回転駆動により進行方向が切り替えられ、表面に画像形成された画像面を下向きにして両面パス搬送ローラ262の駆動により両面パス263に搬送される。
続いて、記録材は、両面パス263を再給紙ローラ264に向かって搬送されると、その直前の再給紙センサ265により通過が検知される。再給紙センサ265により記録材の通過が検知されると、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は、停止している再給紙ローラ264に突き当たり搬送が一時停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように位置が固定され、記録材の搬送方向が再給紙パス内の搬送経路に対してずれる斜行が補正される。以下では、この処理を再位置補正と称する。
再位置補正は、以降の記録材裏面に対する画像形成方向の傾きを最小化するために必要となる。再位置補正後、再給紙ローラ264を起動させることにより、記録材は、表裏が逆転した状態で再度給紙パス266上に搬送される。その後の画像形成動作については、上述した表面の画像形成動作と同じであるためここでは省略する。このように表裏両面に画像形成された記録材は、そのまま排紙フラッパ257より排紙パス258側に搬送パスが切り替えられることにより、排紙トレー242に排紙される。
なお、本画像形成部300においては、両面印刷時においても、記録材の連続給送が可能である。しかしながら、記録材への画像形成や形成されたトナー像の定着などを行うための装置は1系統しか有していないため、表面への印刷と裏面への印刷を同時に行うことはできない。したがって、両面印刷時においては、画像形成部300に対し、カセット240、241及び手差し給紙部253からの記録材と、裏面印刷のために反転させて画像形成部に再度給送された記録材とは交互に画像形成されることとなる。
本画像形成部300は、図2に示す各制御負荷を、後述する搬送モジュールA280、搬送モジュールB281、作像モジュール282、定着モジュール283という4つの制御ブロックに分けて各々が自律的に制御されている。さらに、これらの4つの制御ブロックを統括して画像形成装置として機能させるためのマスタモジュール284を有する。以下では、各モジュールの制御構成について図3を用いて説明する。
図3に示すように、本実施形態において、マスタモジュール284に備えられるマスタCPU(マスタ制御手段/上位層制御手段)1001は、プリンタ制御I/F215を介してコントローラ460より送られる指示及び画像データに基づいて画像形成装置1000の全体を制御する。また、画像形成を実行するための搬送モジュールA280、搬送モジュールB281、作像モジュール282、及び定着モジュール283は、各機能を制御するサブマスタCPU(サブマスタ制御手段/上位層制御手段又は下位層制御手段)601、901、701、801を備える。サブマスタCPU601、901、701、801はマスタCPU1001により制御される。さらに、各機能モジュールは、さらに、各機能を実行するための制御負荷を動作させるためのスレーブCPU(スレーブ制御手段/下位層制御手段)602、603、604、605、902、903、702、703、704、705、706、802、803を備える。スレーブCPU602、603、604、605はサブマスタCPU601に、スレーブCPU902、903はサブマスタCPU901に、スレーブCPU702、703、704、705、706はサブマスタCPU701に、スレーブCPU802、803はサブマスタCPU801に制御される。
図3に示すように、マスタCPU1001と複数のサブマスタCPU601、701、801、901は共通のネットワーク型通信バス(第1信号線)1002によってバス接続される。サブマスタCPU601、701、801、901同士の間もネットワーク型通信バス(第1信号線)1002によってバス接続される。なお、マスタCPU1001と複数のサブマスタCPU601、701、801、901はリング接続されるものでもよい。サブマスタCPU601は、さらに、高速シリアル通信バス(第2信号線)612、613、614、615を介して、複数のスレーブCPU602、603、604、605のそれぞれと1対1接続(ピアツーピア接続)されている。同様に、サブマスタCPU701は、高速シリアル通信バス(第2信号線)711、712、713、714、715を介して、それぞれスレーブCPU702、703、704、705、706と接続される。サブマスタCPU801は、高速シリアル通信バス(第2信号線)808、809を介して、それぞれスレーブCPU802、803と接続される。サブマスタCPU901は、高速シリアル通信バス(第2信号線)909、910を介して、それぞれスレーブCPU902、903と接続される。ここで、高速シリアル通信バスは、短距離高速通信に用いられる。
本実施形態に係る画像形成装置1000において、タイミングに依存した応答性が必要とされる制御に関しては、各サブマスタCPUに統括された機能モジュール内で実現されるように機能分割されている。そのため、末端の制御負荷を駆動するための各スレーブCPUと各サブマスタCPUとの間の通信は、応答性のよい高速シリアル通信バスによって接続されている。つまり、上記第2信号線には、上記第1信号線よりもデータ転送のタイミング精度が高い信号線が用いられる。
一方、サブマスタCPU601、701、801、901とマスタCPU1001との間では、精密な制御タイミングを必要としない、画像形成動作の大まかな処理の流れを統括するようなやり取りだけが行われる。例えば、マスタCPU1001はサブマスタCPUに、画像形成前処理開始、給紙開始、画像形成後処理開始といった指示を出す。また、マスタCPU1001はサブマスタCPUに、コントローラ460から指示されたモード(例えばモノクロモードや両面画像形成モードなど)に基づいた指示を画像形成開始の前に出す。サブマスタCPU601、701、801、901のそれぞれの間でも、精密なタイミング制御を必要としないやり取りだけが行われる。すなわち、画像形成装置の制御を、相互に精密なタイミング制御を必要としない制御単位に分け、それぞれのサブマスタCPUがそれぞれの制御単位を精密なタイミングで制御する。これにより、本画像形成装置1000では、通信トラフィックを最小限に抑え、低速で安価なネットワーク型通信バス1002で接続することを可能としている。なお、マスタCPU、サブマスタCPU、及びスレーブCPUについては、実装される制御基板が必ずしも一律である必要はなく、装置実装上の事情に合わせて可変的に配置させることが可能である。
次に、図4を参照して、本実施形態における具体的なマスタCPU、サブマスタCPU、スレーブCPUの基板構成上の配置について説明する。本実施形態によれば、図4に示すように、様々な制御基板の構成を採用することができる。例えば、サブマスタCPU601とスレーブCPU602、603、604、605とは、同一の基板上に実装されている。また、サブマスタCPU701及びスレーブCPU702、703、704、又は、サブマスタCPU801及びスレーブCPU802、803のように、サブマスタCPUと個々のスレーブCPUが独立の基板として実装されてもよい。また、スレーブCPU705、706のように一部のスレーブCPUが同一の基板上に実装されてもよい。また、サブマスタCPU901及びスレーブCPU902のように、サブマスタCPUとスレーブCPUの一部だけが同一基板上に配置されてもよい。
<省電力制御>
本実施形態に係る画像形成装置は、機器の消費電力を抑制するために、動作モードとして、通常動作モードと、部分的な給電を停止する省電力モードとを備えている。また、省電力モードは、給電の停止領域の違いによる2つのモードを有する。まず、図5を参照して、サブマスタCPU801、及びスレーブCPU802、803の内部構造及びデバイス接続について詳細に説明する。しかし、以下で説明する構成例は、制御内容を説明するためのものであって、本発明の各CPUにおける内部構造及びデバイス接続を限定するものではない。なお、サブマスタCPU801の内部構造は、参照番号の末尾に”a”を付す。また、スレーブCPU802の内部構造又はスレーブCPU802に接続されるデバイスは参照番号の末尾に”b”を付す。また、スレーブCPU803の内部構造又はスレーブCPU803接続されるデバイスは参照番号の末尾に”c”を付す。
スレーブCPU802は、定着搬送ベルト230を回転させるためのステッピングモータ804、定着ローラ233を回転させるためのステッピングモータ805を制御負荷とし、2次転写装置231から定着後の搬送パスに記録材を引き渡すまでの制御を行う。スレーブCPU803は、定着装置234における加熱ヒータ806、温度検知サーミスタ807、定着前帯電器251・252を制御負荷とする。スレーブCPU803は、定着ローラ233を通過する記録材を熱定着させるため、定着前帯電器251・252で帯電させ、続いて温度検知サーミスタ807の検知結果をフィードバックさせながら、適切なヒータ加熱を行い定着装置234の定着温調制御を行う。これにより、まずトナーの吸着力を補って画像乱れを防止することができる。スレーブCPU802は、CPUコア1201b、フラッシュメモリ1202b、SRAM1203b、シリアルI/F1207b、D/Aコンバータ1208b、A/Dコンバータ1209b、PWM生成器1210b及びGPIO1212bを備える。フラッシュメモリ1202は、不揮発性のメモリ(不揮発性記憶手段)であり、スレーブCPU802の電源がオフされてもデータを保持することができる。
以下では、参照番号の末尾に付したアルファベット”a,b,c”を省略して説明する。つまり、以下で説明する内容は、サブマスタCPU801、スレーブCPU802、803において同様の説明となる。CPUコア1201は、フラッシュメモリ1202に格納されたプログラムに従って周辺回路を使用しながら種々のデバイスを制御する。フラッシュメモリ1202は、CPUコア1201によって実行されるプログラムに加えて、データを保持する。SRAM(Static Random Access Memory)1203は、CPUコア1201のワーク用のメモリである。
シリアルI/F1207は、サブマスタCPU801とスレーブCPU803との間でシリアル通信を行う。図3ではサブマスタCPU801と、スレーブCPU802、803とはシリアルバス808、809で個別に接続されていたが、図5では共通のシリアルバス1213で接続されている。D/Aコンバータ1208は、デジタル信号をアナログ信号に変換し、複数のチャネルを備える。A/Dコンバータ1209は、アナログ信号をデジタル信号に変換し、複数のチャネルを備える。PWM(パルス幅変調)生成器1210は、複数の独立した汎用タイマを使用してPWM信号を生成する。GPIO(General Purpose I/O)1212は、複数の汎用入出力ポートを有する。
スレーブCPU802に接続された各負荷について説明する。1221、1222は入力されるクロック周波数に応じてモータの励磁パターンを更新し、ステッピングモータ804,805を駆動するモータライバである。1224は、LED(発光ダイオード)とフォトトランジスタで構成され、フォトトランジスタの入射光に応じて出力が変化するフォトインタラプタを示す。1223(b、c)は、スレーブCPU802が接続された際に装置内の何れのドライバボードと接続しているか(接続位置)を特定するための位置情報を保持するID指定部を示す。ID指定部1223は、個々の信号レベルが固有のID値を示す信号線や、IDが書き込まれたEEPROMのような不揮発性メモリによって実現される。モータドライバ1221,1222、ID指定部1223、及び、不図示の接続用のコネクタは、ドライバボード1220上に実装される。接続線1230、1231は、スレーブCPU802のPWM生成器1210bとモータドライバ1221、1222との間を接続し、駆動信号を伝達する。また、接続線1232、1233はスレーブCPU802のGPIO1212bとモータドライバ1221、1222との間を接続し、動作モードを指定する複数の信号線で構成される。接続線1234は、フォトインタラプタ1224とGPIO1212bとの接続線である。
次に、スレーブCPU803に接続された各負荷について説明する。抵抗器1241と温度検知サーミスタ807とは、直列に接続され、抵抗比の温度変化により温度を検知する。また、抵抗器1241、ヒータ制御回路1242、ID指定部1223、及び、不図示の接続用のコネクタは、ドライバボード1240上に実装される。接続線1250は、D/Aコンバータ1208と抵抗器1241とを接続する。接続線1251は、温度検知サーミスタ807の中点と、A/Dコンバータ1209とを接続する。スレーブCPU803の内部構成は、スレーブCPU802の構成と同様であるため説明を省略する。また、サブマスタCPU801は、スレーブCPU802の構成に加えて、マスタCPU1001と接続するシリアルI/F1205aを備える。他の構成については、スレーブCPU802の構成と同様であるため説明を省略する。
次に、図5の構成の一部を詳細に示す図6を参照して、スレーブCPU802、803の内部ブロック、入出力バッファの構成、及び外部デバイスへの接続構成について説明する。1341、1342は、ステッピングモータ804を駆動するモータドライバ1221とスレーブCPU802の接続部を示す。1343は、フォトインタラプタ1224とスレーブCPU802との接続部を示す。図6に示すように、接続部1431〜1433のスレーブCPU802側の構成は全て同じである。また、入出力バッファ部分は、入力バッファ1305(a〜c)、出力バッファ1306(a〜c)、及び、出力バッファ動作をオンオフする不図示の内部レジスタからの制御線1302(a〜c)で構成される。また、抵抗器1304(a〜c)、FET1303(a〜c)が電源と入出力との間に配置される。FET1303(a〜c)には、不図示の制御レジスタからのFET1303のオンオフを制御する制御線1301(a〜c)が接続されている。抵抗器1304(a〜c)はFET1303(a〜c)がオンすると内蔵のプルアップ抵抗として動作する。制御線1301(a〜c)、1302(a〜c)は外部に接続されるデバイスに応じてオンオフの制御を行う。
次に、バッファに接続される制御ブロックについて説明する。1つの入出力バッファに対して、GPIO1212の出力とPWM生成器1210の出力のどちらかを選択的に接続することが可能な構成となっている。当該切換は、セレクタ1307(a〜c)と不図示の内部レジスタからのセレクタ1307(a〜c)の切換制御信号1308(a〜c)とによって行われる。本実施形態では、GPIO1212の出力とPWM生成器1210の出力の何れを選択するかは、実行する制御や外部に接続されるデバイスに応じて決定される。電源投入直後(リセット直後)のスレーブCPU802の制御線1302(a〜c)が入力ポートとなるため、接続線1230,1232,1234のレベルを抵抗器1309、1310、1320により規定する。このように、一般的なCMOSデバイスでは入力端子の入力レベルが不定になると誤動作や破壊に繋がる可能性があるためレベル規定の抵抗が挿入されている。
次に、図6に示す1344、1345について説明する。1344は温度検知サーミスタ807との接続部の構成を示し、GPIO1212に接続される入出力バッファと入出力線が直接接続されるD/Aコンバータ1208からなる。1345ではD/Aコンバータ1208の代わりにA/Dコンバータ1209が接続される。制御線1302(d、e)、入力バッファ1305(d、e)、及び出力バッファ1306(d、e)は、1341〜1343と同様の構成であるため、説明を省略する。
図7には、1341〜1345の例におけるそれぞれの設定例を示す。ここで仮に1342と1343の設定端子が入れ替わってしまった場合、1342の端子は入力ポートプルアップ有りとなり、モータドライバ1221が常に動作状態になってしまう可能性がある。同様に1343の端子に1344のデバイスが接続された場合、入力が中間電位となってしまう可能性がある。このようにIOの設定と、実際に接続されるデバイスと基板回路のミスマッチが発生すると、素子の破損にいたる可能性がある。また、抵抗器1309,1310等の抵抗器は、スレーブCPUの端子において出力と設定されるべき端子が入力に設定される初期化状態のみにおいてレベルを既定する。このため、抵抗器を挿入したことにより発生する通常動作時の消費電流を抑制するために大きな抵抗値を設定すると、スレーブCPUの端子設定が初期化されるまでノイズに対して誤動作を起こしやすくなる。
以下では、図8乃至図10を参照して、このような初期化時の入出力設定の誤りを抑制するとともに、初期設定を高速化する制御について説明をする。図8は機器モード遷移に伴うマスタCPU1001、サブマスタCPU801、スレーブCPU802間の通信フローを示したものである。ここでは説明を容易にするため、3つのCPU間についての説明を行うが、機器全体においては個々の部位で以下に説明する同様の制御が行われている。また、マスタCPU1001、サブマスタCPU801、スレーブCPU802の関係は固定である必要は無く、異なった組み合わせでも同様の効果を得ることが可能である。また、図8は大まかな処理の流れを示すもので、条件による分岐等を細かく限定することを意図したものではない。
画像形成装置1000に電源が投入されると、S1401において、マスタCPU1001は、初期化処理(1)を実行する。初期化処理(1)ではシリアルI/Fの初期通信レート設定、動作CLK設定等の限定されたCPU内部レジスタの初期設定が行なわれる。次に、S1402において、マスタCPU1001は通常動作状態に遷移するために、機器全体の電源投入を行う。電源が投入されるとサブマスタCPU801、スレーブCPU802はまず、それぞれS1403、S1404において、初期化処理(1)を実行する。この際、スレーブCPU802はID指定部1223bの値をフラッシュメモリ1202bに書き込む。
電源を投入し所定時間が経過すると、S1405において、マスタCPU1001は、ネットワーク型通信バス1002に接続されるサブマスタCPU801に対して接続の確認要求を発行する。要求を受け取ったサブマスタCPU801は、S1406において、下層のスレーブCPU802に対して接続の確認要求を発行する。S1407において、スレーブCPU802は、通信可能状態になると、通信可能を示す通知をサブマスタCPU801に発行する。S1408において、サブマスタCPU801は、スレーブCPU802を含む、全てのスレーブCPUの接続状況及び応答を確認して、通信可能を示す通知をマスタCPU1001に発行する。接続確認が終わると、S1409において、マスタCPU1001は、サブマスタCPU801へ各CPUのファームバージョン、接続位置の構成の問い合わせを行う初期確認要求を発行する。S1410において、サブマスタCPU801は、スレーブCPU802に対してファームバージョン、ID指定部1223bの内容の転送要求(初期確認要求)を発行する。その後、S1411において、スレーブCPU802は、自己及び全スレーブCPUのファームバージョン、ID指定部1223bの値をサブマスタCPU801へ通知する。S1412において、サブマスタCPU801は、スレーブCPU802から受け取った情報、自らのファームバージョン情報をマスタCPU1001に送信する。ID指定部1223、フラッシュメモリ1202内のID指定部情報は、各スレーブCPU、サブマスタCPU801が接続されている位置を確認するために使用される。
次に、S1413において、マスタCPU1001は、サブマスタCPU801からのデータを分析し、必要な初期化データをサブマスタCPU801宛てに送信する。S1414において、サブマスタCPU801は、マスタCPU1001から受信した初期化データのうち、対応するデータをスレーブCPU802に送信する。初期化データの内容は、常に同一の初期化データであってもよいが、初期確認の結果に応じて必要最小限のデータに絞られてもよい。
次に、S1419において、マスタCPU1001は、確認したシステム状態に応じて初期化処理を行い、通常動作状態への準備を行う。S1415、S1416において、サブマスタCPU801及び各スレーブCPUは、内部に保持したデータ、受け取ったデータに基づいて、初期化処理(2)を実行する。初期化処理(2)では、サブマスタCPU801の下層のスレーブCPU802、803が機体内の何れのドライバボードと接続しているかの接続位置に応じた端子の入出力設定、機能割り当て設定を行う。初期化処理(2)が終了すると、S1417において、スレーブCPU802は、終了通知をサブマスタCPU801に発行する。S1418において、サブマスタCPU801は、自らの初期化、接続されるスレーブCPUの初期化が全て終了すると初期化終了通知をマスタCPU1001に発行する。これにより、システム全体が通常動作状態になる。
次に、省電力モードへの遷移について説明する。システムのアイドル期間が所定時間を超えて継続すると、通常動作状態から省電力モードに遷移する。ここでは、スレーブCPU802の電源をオフとする部分的な電源制御を行なった場合の例を説明する。省電力モードへの遷移に先立って、S1420において、マスタCPU1001は、サブマスタCPU801に電源オフの準備指示を行う。電源オフの指示には予め定義された状態の指定、又は、電源を切る範囲を指定する情報が含まれる。したがって、S1421において、サブマスタCPU801は、マスタCPU1001からの電源オフの指示に基づいて、電源オフする対象となるスレーブCPUに対して、動作状態のバックアップを指示する。このバックアップ処理は、再度電源を投入した際に、より早くシステムの状態を待機状態とするために行なわれる処理である。
指示を受けたスレーブCPU802は、S1422において、動作情報を抽出する。当該動作情報には、入出力の設定情報、他のCPUとの通信の設定情報(例えば、通信速度)、制御対象となる負荷を示す制御情報(接続デバイス)、動作した時間を示すカウンタ情報、ID指定部1223の情報、変数データ等のワークエリア情報、及び、動作履歴情報等が含まれる。さらに、スレーブCPU802は、内部のフラッシュメモリ1202bに、省電力モードからの復帰の際に実行される初期化処理に必要な情報の一部、例えば、I/O設定情報、通信速度等の内部モジュールの設定値を格納する。また、S1423において、スレーブCPU802は、上記必要な情報の一部以外の情報について、サブマスタCPU801に送信し保持を依頼する。このように、本実施形態では、初期化処理を実行する際に上記抽出した情報の中から緊急性のある情報を選別して、自身のメモリに保持し、緊急性のない情報については上位層制御部(ここでは、サブマスタCPU801)に保持を依頼する。S1422及びS1423において、スレーブCPU802は、バックアップ処理手段に相当する。このように、制御することで、各CPUに必要とされるメモリ容量の増大を抑制しつつ、緊急性のある情報については自身で保持しているため初期化処理を高速化することができる。この初期化処理の高速化は、上位層制御部が初期化処理を完了した後に、下位層制御部が初期化処理を開始する従来の制御とは異なり、上位層制御部の初期化処理と、下位層制御部の初期化処理を並行して行なうことで実現することができる。
S1424において、サブマスタCPU801は、スレーブCPU802から受け取ったデータを内部のSRAM1203aに保持し、S1425においてスレーブCPU802に保持処理終了を通知する。一方、スレーブCPU802は、S1425の保持処理の終了通知を受けると、動作を停止する。続いて、S1426において、サブマスタCPU801は、マスタCPU1001にバックアップ終了通知を発行する。S1427において、マスタCPU1001は、スレーブCPU802の電源をオフに制御する。
このようにスレーブCPU802からのデータをサブマスタCPU801に送付し、サブマスタCPU801は、自らの電源がオフされない間は内部のSRAM1203aに保持する。サブマスタCPU801の電源もオフとなるようなケースがある場合は、スレーブCPU802より保持依頼を受けたデータを電源オフ時にデータが消失しないようにフラッシュメモリ1202aに保持する。この場合、スレーブCPU802,803について説明した制御と同様に、サブマスタCPU801は自らの動作情報を収集し、内部のフラッシュメモリ1202aに保持する。
次に、省電力モードからの復帰処理について説明する。以下では、サブマスタCPU801は第2初期化処理手段として機能し、スレーブCPU802は第1初期化処理手段として機能する。省電力モードの状態で操作部10からの操作等の起動要因が発生すると、S1429において、マスタCPU1001は、スレーブCPU802の電源をオンに制御する。さらに、S1430において、マスタCPU1001は、起動状態の指示信号を省電力モードからの復帰であることを示すレベルに設定する。その後、S1433において、スレーブCPU802は、起動状態の指示信号を参照し、初期化動作を通常の電源オン時の制御から簡略化された初期化処理(3)を実行する。初期化処理(3)において、スレーブCPU802は、接続されたID指定部1223bの値とフラッシュメモリ1202bに格納した前回起動時のID指定部1223bの記憶値を比較する。2つの値が一致する場合には、スレーブCPU802は、フラッシュメモリ1202bに格納したI/O設定情報、通信速度等の内部モジュールの設定値を使用して入出力ピンの初期化、モジュールの初期設定を行う。一方、一致しない場合には、スレーブCPU802は、再起動に必要な初期化データは無いと判断する。或いは、スレーブCPU802は、システム全体のスレーブCPUに対する照会結果に基づいて、スレーブCPUの入れ替えが発生している場合においては、個々の保持情報を交換するように制御する。続いて、S1431乃至S1435において、相互の通信ラインの接続確認が行なわれる。
接続確認が成功すると、S1436において、サブマスタCPU801は、S1424で格納したSRAM1203a又はフラッシュメモリ1202a内のデータをスレーブCPU802へ返送する。S1437において、スレーブCPU802は、返送されたデータに基づいて動作状態の復元を行うための初期化処理(4)を実行する。また、S1458及びS1459において、スレーブCPU802及びサブマスタCPU801は、上位層のCPUに対して終了通知を発行する。これにより、システムは通常動作状態に復帰する。通信確認の際には、スレーブCPU802は、サブマスタCPU801に対して機体内の何れのドライバーボードと接続しているかの接続位置情報を送付する。
上述したように、本実施形態によれば、サブマスタCPU801、スレーブCPU802の電源をオフする際に電源再投入時に必要な動作状態情報の一部を各々のフラッシュメモリ1202に保持する。さらに、スレーブCPU802は、サブマスタCPU801に動作状態情報の送信と保持を依頼する。電源再投入の際には、分割保持した動作状態情報に従って通常動作状態への復帰処理が行なわれり。スレーブCPU802は電源再投入時に内部保持した動作状態情報に従って初期復元を行う。さらに、スレーブCPU802は、通信可能になると、サブマスタCPU801から動作状態情報を受信し動作状態の復元が行なわれる。これにより、初期化時間の短縮化を実現するとともに、初期化時の安全性を向上することができる。
次に、図9及び図10を参照して、図8のシーケンスにおける各CPUの処理手順について説明する。以下の説明では、図8で説明した内容と重複する部分について省略する。図9には、サブマスタCPU801、スレーブCPU802の処理フローを示す。
S1500において、スレーブCPU802は、短縮した初期化処理を実行するか否かを判定する。ここで、短縮した初期化処理を実行する場合はS1510に進み、通常の初期化処理を実行する場合はS1501に進む。具体的には、スレーブCPU802は、内部に保持したID指定部1223bの値と現在の値とが一致する場合には、省電力状態からの復帰であると判定し、処理をS1510に進めて短縮した処理を実行する。この判定処理は、省電力モードからの初期化を高速化するとともに、電源がオフ状態の間に構成が変更されていた場合の初期化不良を防止するために行なわれる。したがって、スレーブCPU802は、S1510において、画像形成装置に配置されている接続位置を検知し、電源再投入の際に検知した接続位置が今回と前回とで異なる場合には保持した動作状態情報を使用した復元を中止する。これにより、誤った初期化処理を防止することができる。
通常の初期化処理を実行する場合は、S1501乃至S1505の初期化処理を行う。短縮初期化の場合は、S1510乃至S1516の初期化処理を行う。S1511で初期化処理(4)用のデータが存在しないと判定した場合や、S1502でサブマスタCPU801の下層に配置されたスレーブCPUの構成や接続位置が前回起動時と異なると判定した場合は通常の初期化処理に遷移する。また、S1514で初期化データが正常に受信できなかったと判定した場合は、S1513でサブマスタCPU801に対して再送要求が行われる。
次に、図9に示す終了処理について説明する。まず、S1540において、スレーブCPU802は、通常処理の終了を行う。続いて、S1541において、スレーブCPU802は、実行する終了処理が省電力モード遷移時の終了処理であるか否かを判定する。省電力モード遷移時の終了処理である場合は処理をS1542に進め、それ以外はそのまま電源オフに制御する。S1542において、スレーブCPU802は、バックアップデータの抽出と自ら保持すべきデータの保持処理を行う。さらに、S1543において、スレーブCPU802は、抽出したデータの一部について、サブマスタCPU801へ保持依頼(格納依頼)を行い、S1544で格納依頼が受け付けられたか否かを判定する。
格納依頼が受け付けられるとS1545において、スレーブCPU802は、バックアップデータをサブマスタCPU801に送信する。その後、S1546において、スレーブCPU802は、S1545の送信が正常に送信できたか否かを判定する。正常に送信できた場合は処理を終了し、異常であった場合はS1550に進む。S1550において、スレーブCPU802は、再送の許可が出ているか否かを判定する。再送の許可ができている場合はS1545に戻り、再送が許可されていない場合はそのまま処理を終了する。
S1544でサブマスタCPU801が格納依頼を受け付けないと判定するとS1560に進み、スレーブCPU802は、容量制限の通知をサブマスタCPU801から受けたか否かを判定する。容量制限の通知を受けている場合はS1561に進み、スレーブCPU802は、保持データを圧縮してS1543に処理を戻す。一方、容量制限の通知を受けていない場合はそのまま処理を終了する。
図10は、図9のスレーブCPU802の処理手順に対するサブマスタCPU801の処理手順を示している。S1600乃至1611の初期化データの受信処理は、図9のS1540乃至S1516の終了処理に対応する処理となる。S1600において、サブマスタCPU801は、フラッシュメモリ1202a等のメモリの残量を確認する。続いて、S1601において、サブマスタCPU801は、S1543でスレーブCPU802から発行されるデータの保持依頼に含まれる、依頼される保持データ量を確認する。その後、S1602において、サブマスタCPU801は、保持データ量とメモリにおける記憶可能な領域の残量とを比較し、保持データ量が残量よりも小さければS1604に進み、保持データ量が残量以上であれば、S1612に進む。S1612において、サブマスタCPU801は、スレーブCPU802に対して、上記S1560の容量制限通知に対応する、割り当て可能なメモリ量を通知し、S1601に戻る。
一方、S1604において、サブマスタCPU801は、スレーブCPU802から保持データを受信し、S1605において正常にデータを受信したか否かを判定する。正常にデータを受信した場合はS1606に進み、サブマスタCPU801は、受信データを所定の領域に格納し、格納終了通知をスレーブCPU802に発行する。一方、正常にデータを受信できなかった場合はS1610に進み、サブマスタCPU801は、受信データのエラー回数が3回より少ないか否かを判定し、少なければ処理をS1604に戻し、データの受信処理を繰り返す。一方、上記エラー回数が3回以上であれば、S1611に進み、サブマスタCPU801は、マスタCPU1001にエラー通知を発行し、処理を終了する。
続いて、図10に示すS1640乃至S1651の初期化データの送信処理について説明する。S1640乃至S1651の処理は、図9のS1500乃至S1516の初期化処理において、省電力モード遷移時に保持したデータを上位層のCPUから下位層のCPUに送信する処理である。まず、S1640において、サブマスタCPU801は、通信確認を行ない、接続が正常であるか否かを判定する。具体的には、サブマスタCPU801の下層に接続されるスレーブCPU802の接続位置情報が前回起動時と異なるか否かを確認する。ここで、接続位置情報が異なる場合は、S1650に進み、自らの位置がずれたことを検出し、処理を終了する。
一方、接続位置情報が同じ場合は、ステップS1641に進み、省電力モードへの遷移時にスレーブCPU802のデータを保持したか否かを判定する。保持していない場合はS1650に進み、サブマスタCPU801は、スレーブCPU802に対して保持データが無いことを示す通知を発行し、S1651で初期化処理用のデータである初期化データをスレーブCPU802に送信し、処理を終了する。一方、S1641で保持データがあると判定すると、S1644に進み、サブマスタCPU801は、当該保持データをスレーブCPU802に送信し、S1645でデータ受信の確認通知をスレーブCPU802から受けるまで待機し、処理を終了する。
上述したように、サブマスタCPU801も含めて電源がオフになった場合にサブマスタCPU801と下層のスレーブCPUとは協調して画像形成装置における接続されている位置を検出し、電源再投入の際に、検知した設置場所が異なる場合には保持した動作状態情報を使用した復帰を中止する。したがって、サブマスタCPU801の配置が入れ替わった場合でも初期化が正常に行えるという効果がある。
以上説明したように、本実施形態に係る画像形成装置によれば、各スレーブCPUは、省電力モード遷移時に初期化処理に必要な情報の一部を自身の不揮発メモリに保持し、それ以外の情報については上位層のサブマスタCPUに保存を依頼する。さらに、再起動時おいて、各スレーブCPUは、自身の不揮発メモリに記憶した情報を使用して再起動し、上位層のCPUとの通信接続が完了すると、依頼した保持データを当該CPUから取得する。これにより、マスタCPU1001、サブマスタCPU801、スレーブCPU802のようにCPUが階層的に構成されている場合であっても、上位層のCPUの初期化処理が完了するのを待つことなく、各CPUで自身の保持データを用いた初期化処理(再起動)を並列に実行させることができる。また、ID情報を併用することにより、スレーブCPU、サブマスタCPUの配置条件(接続位置)が変わっていないかを確認し、初期化動作を切り換ることで初期設定時に誤設定が発生することを防止できる。
また、本発明は上記実施形態に限らず様々な変形が可能である。例えば、基板上の素子の寿命を管理する場合、保持データに対して、さらに、ID指定部1223の情報、及び、保持メッセージ毎の固有のメッセージ番号やCPUや基板ごとに振られた固有のIDを加えてもよい。これにより、電源オフの間に同一条件の基板に置き換えたことを検知するように構成できる。また、システム全体のスレーブCPUに対しての照会結果に基づき、スレーブCPUの入れ替えが発生している場合においては、個々の保持情報を交換するように制御することもできる。また、上述したように、保持した動作状態情報を使用した復帰を中止した場合、ネットワークに接続された制御モジュール間で復帰情報の送受信を行い、各スレーブCPUは受信した動作状態情報に基づき、動作状態の復元を行う。したがって、スレーブCPU基板や、サブマスタCPU基板の配置を交換した場合であっても、短縮初期化が可能になる。
上述した実施形態では、各CPUは、省電力モード遷移時に初期化処理に必要な情報の一部を自身の不揮発メモリに保持し、それ以外の情報については上位層のCPUに保存を依頼するとしたが、保存の依頼先は必ずしも上位層のCPUである必要はない。各CPU(第2制御手段)は、省電力モード遷移時に初期化処理に必要な情報の一部を自身の不揮発メモリに保持し、それ以外の情報については同一階層や下位層の他のCPU(第1制御手段)に依頼するように構成してもよい。