(57)【要約】【課題】デバイス部に対するソフトウェアのダウンロード処理を行う際に、コントローラ部のダウンロード窓口を使用することを可能とし、停電によりデバイス部に対するダウンロードに不具合が発生した時にも自動的にリカバリ動作を行うことを可能とする。【解決手段】画像形成装置のコントローラ部Ｕ１０１は、コントローラ部Ｕ１０１の電源がＯＦＦ状態からＯＮ状態となった時に、ＥＥＰＲＯＭ３１３にフラッシュメモリ書き込み中フラグがセットされていると判断した場合、表示部Ｐ２０１にダウンロードリトライ中を表示し、エンジン部Ｕ１００に対しダウンロードモードである旨を示す初期通信データを送信し、エンジン部Ｕ１００をダウンロードモードへ移行させ、ダウンロード対象ソフトウェアを分割したデータをエンジン部Ｕ１００へ送信する。【選択図】　　　図１２
2004086308.tif 000002
【特許請求の範囲】
【請求項１】
画像処理を行うコントローラ部と、第１の記憶手段を有し該第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置であって、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える書換制御手段と、
前記コントローラ部から前記デバイス部へデータ入力を開始することを示す入力開始情報を記憶する第２の記憶手段と、
前記コントローラ部から前記デバイス部へのデータ入力を開始する時に前記第２の記憶手段に前記入力開始情報を記憶し、前記コントローラ部から前記デバイス部へのデータ入力を終了した時に前記入力開始情報をクリアする記憶制御手段と、
前記コントローラ部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記コントローラ部から前記デバイス部へのデータ入力を開始する入力制御手段とを有することを特徴とする画像形成装置。
【請求項２】
画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置であって、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える書換制御手段と、
前記書換制御手段が前記書き換えを開始する時に前記第２の記憶手段に入力開始情報を記憶し、前記書換制御手段が前記書き換えを終了した時に前記入力開始情報をクリアする記憶制御手段と、
前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知する通知手段と、
前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始する入力制御手段とを有することを特徴とする画像形成装置。
【請求項３】
画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置であって、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える書換制御手段と、
前記入力データのチェックサムを演算する第１の演算手段と、
前記書換制御手段が前記書き換えを行う時に、前記第１の演算手段で演算したチェックサムを前記第２の記憶手段に記憶する記憶制御手段と、
前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に、前記第１の記憶手段の記憶内容のチェックサムを演算する第２の演算手段と、
前記第２の演算手段で演算したチェックサムと前記第２の記憶手段に記憶されているチェックサムとが合致しない場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知する通知手段と、
前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始する入力制御手段とを有することを特徴とする画像形成装置。
【請求項４】
前記第２の記憶手段は、前記第１の記憶手段の空き領域であることを特徴とする請求項２又は３記載の画像形成装置。
【請求項５】
前記第１の記憶手段は、所定の手順で記憶内容の消去及び書き込みが可能なフラッシュメモリであることを特徴とする請求項１乃至４の何れかに記載の画像形成装置。
【請求項６】
前記デバイス部は、前記第１の記憶手段に格納されたプログラムを実行するプロセッサを有することを特徴とする請求項１乃至３の何れかに記載の画像形成装置。
【請求項７】
画像処理を行うコントローラ部と、記憶手段を有し該記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置であって、
前記記憶手段の記憶内容を書き換えるためのデータを獲得する獲得手段と、
前記獲得手段で獲得したデータを保存する保存手段と、
前記保存手段で保存した前記データを前記コントローラ部から前記デバイス部へ入力する入力手段と、
前記記憶手段の記憶内容を前記入力手段により前記コントローラ部から前記デバイス部に入力された前記データで書き換える書換制御手段とを有することを特徴とする画像形成装置。
【請求項８】
前記獲得手段は、前記コントローラ部に接続された外部装置から前記データ獲得を行うことを特徴とする請求項７記載の画像形成装置。
【請求項９】
画像形成機能を備えたプリンタ、画像読取機能・画像形成機能を備えた複写機、画像読取機能・画像形成機能・画像通信機能を備えた複合機に適用可能であることを特徴とする請求項１乃至８の何れかに記載の画像形成装置。
【請求項１０】
画像処理を行うコントローラ部と、第１の記憶手段を有し該第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置におけるデータ入力制御方法であって、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える書換制御工程と、
前記コントローラ部から前記デバイス部へのデータ入力を開始する時に第２の記憶手段に入力開始情報を記憶し、前記コントローラ部から前記デバイス部へのデータ入力を終了した時に前記入力開始情報をクリアする記憶制御工程と、
前記コントローラ部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記コントローラ部から前記デバイス部へのデータ入力を開始する入力制御工程とを有することを特徴とするデータ入力制御方法。
【請求項１１】
画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置におけるデータ入力制御方法であって、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える書換制御工程と、
前記書換制御工程で前記書き換えを開始する時に前記第２の記憶手段に入力開始情報を記憶し、前記書換制御工程で前記書き換えを終了した時に前記入力開始情報をクリアする記憶制御工程と、
前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知する通知工程と、
前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始する入力制御工程とを有することを特徴とするデータ入力制御方法。
【請求項１２】
画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置におけるデータ入力制御方法であって、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える書換制御工程と、
前記入力データのチェックサムを演算する第１の演算工程と、
前記書換制御工程で前記書き換えを行う時に、前記第１の演算手段で演算したチェックサムを前記第２の記憶手段に記憶する記憶制御工程と、
前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に、前記第１の記憶手段の記憶内容のチェックサムを演算する第２の演算工程と、
前記第２の演算工程で演算したチェックサムと前記第２の記憶手段に記憶されているチェックサムとが合致しない場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知する通知工程と、
前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始する入力制御工程とを有することを特徴とするデータ入力制御方法。
【請求項１３】
画像処理を行うコントローラ部と、記憶手段を有し該記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置におけるデータ入力制御方法であって、
前記記憶手段の記憶内容を書き換えるためのデータを獲得する獲得工程と、
前記獲得工程で獲得したデータを保存する保存工程と、
前記保存工程で保存した前記データを前記コントローラ部から前記デバイス部へ入力する入力工程と、
前記記憶手段の記憶内容を前記入力工程により前記コントローラ部から前記デバイス部に入力された前記データで書き換える書換制御工程とを有することを特徴とするデータ入力制御方法。
【請求項１４】
画像処理を行うコントローラ部と、第１の記憶手段を有し該第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置に適用されるプログラムであって、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える機能と、
前記コントローラ部から前記デバイス部へのデータ入力を開始する時に第２の記憶手段に入力開始情報を記憶し、前記コントローラ部から前記デバイス部へのデータ入力を終了した時に前記入力開始情報をクリアする機能と、
前記コントローラ部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記コントローラ部から前記デバイス部へのデータ入力を開始する機能を、コンピュータに実現させるためのプログラム。
【請求項１５】
画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置に適用されるプログラムであって、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える機能と、
前記書き換えを開始する時に前記第２の記憶手段に入力開始情報を記憶し、前記書き換えを終了した時に前記入力開始情報をクリアする機能と、
前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知する機能と、
前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始する機能を、コンピュータに実現させるためのプログラム。
【請求項１６】
画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置に適用されるプログラムであって、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える機能と、
前記入力データのチェックサムを演算する機能と、
前記書き換えを行う時に、前記演算したチェックサムを前記第２の記憶手段に記憶する機能と、
前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に、前記第１の記憶手段の記憶内容のチェックサムを演算する機能と、
該演算したチェックサムと前記第２の記憶手段に記憶されているチェックサムとが合致しない場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知する機能と、
前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始する機能を、コンピュータに実現させるためのプログラム。
【請求項１７】
画像処理を行うコントローラ部と、記憶手段を有し該記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置に適用されるプログラムであって、
前記記憶手段の記憶内容を書き換えるためのデータを獲得する機能と、
前記獲得したデータを保存する機能と、
前記保存した前記データを前記コントローラ部から前記デバイス部へ入力する機能と、
前記記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力された前記データで書き換える機能を、コンピュータに実現させるためのプログラム。
【請求項１８】
画像処理を行うコントローラ部と、第１の記憶手段を有し該第１の記憶手段の記憶内容に従い読み取り部または画像形成部を行うデバイス部とを有する画像形成装置におけるデータ入力制御方法を実行するプログラムを記憶したコンピュータにより読み出し可能な記憶媒体であって、
前記データ入力制御方法は、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換えるステップと、
前記コントローラ部から前記デバイス部へのデータ入力を開始する時に前記第２の記憶手段に入力開始情報を記憶し、前記コントローラ部から前記デバイス部へのデータ入力を終了した時に前記入力開始情報をクリアするステップと、
前記コントローラ部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記コントローラ部から前記デバイス部へのデータ入力を開始するステップとを有することを特徴とする記憶媒体。
【請求項１９】
画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置におけるデータ入力制御方法を実行するプログラムを記憶したコンピュータにより読み出し可能な記憶媒体であって、
前記データ入力制御方法は、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換えるステップと、
前記書き換えを開始する時に前記第２の記憶手段に入力開始情報を記憶し、前記書き換えを終了した時に前記入力開始情報をクリアするステップと、
前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知するステップと、
前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始するステップとを有することを特徴とする記憶媒体。
【請求項２０】
画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置におけるデータ入力制御方法を実行するプログラムを記憶したコンピュータにより読み出し可能な記憶媒体であって、
前記データ入力制御方法は、
前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換えるステップと、
前記入力データのチェックサムを演算するステップと、
前記書き換えを行う時に、前記演算したチェックサムを前記第２の記憶手段に記憶する記憶制御ステップと、
前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に、前記第１の記憶手段の記憶内容のチェックサムを演算するステップと、
該演算したチェックサムと前記第２の記憶手段に記憶されているチェックサムとが合致しない場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知するステップと、
前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始するステップとを有することを特徴とする記憶媒体。
【請求項２１】
画像処理を行うコントローラ部と、記憶手段を有し該記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置におけるデータ入力制御方法を実行するプログラムを記憶したコンピュータにより読み出し可能な記憶媒体であって、
前記データ入力制御方法は、
前記記憶手段の記憶内容を書き換えるためのデータを獲得するステップと、
前記獲得したデータを保存するステップと、
前記保存したデータを前記コントローラ部から前記デバイス部へ入力するステップと、
前記記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力された前記データで書き換えるステップとを有することを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、原稿から画像を読み取るスキャナ機能、用紙上に画像を形成するプリンタ機能、原稿から読み取った画像を用紙上に形成するコピー機能などを複合的に動作させることが可能な画像形成装置、データ入力制御方法、プログラム、及び記憶媒体に関する。
【０００２】
【従来の技術】
従来、画像形成装置としては、原稿から画像を読み取るスキャナとしての機能や、用紙上に画像を形成するプリンタとしての機能、そして、それらを統合させたものとしてのコピー機能を備えた画像形成装置がある。近年では、コンピュータ等の外部装置からネットワークを介した指示に基づきスキャナ動作を行うネットワークスキャナ機能や、インターネットを利用したＷＥＢサーバとしての機能を備えた画像形成装置が重要視されてきている。それに伴って、画像形成装置に搭載されるソフトウェアも複雑で膨大なものになってきており、ソフトバグと呼ばれる不具合や、画像形成装置への新機能搭載時におけるソフトウェアのバージョンアップへの対応が発生してきている。
【０００３】
この問題に対処するために、画像形成装置に対し新機能としてバージョンアップされる部分を、画像形成装置における画像処理を行うコントローラ部（アプリケーションソフトウェア）と、画像形成装置のハードウェア部分を動作させることを主体に制御するエンジン部（ファームウェア）とに分割することで、ソフトウェア管理を行い、画像形成装置に対するアプリケーションソフトウェアのダウンロードによるバージョンアップ対応を行ってきた。
【０００４】
他方、画像形成装置に対するファームウェアのダウンロード方法としては、例えば特開平０７−３１４７９８号公報で提案されているように、ホストコンピュータから通信手段を用いてファームウェアを画像形成装置のＲＡＭに展開し、画像形成装置のフラッシュメモリ上のファームウェアを書き換えることで、容易にファームウェアをダウンロードすることが可能な画像形成装置が提供されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述したようなコントローラ部とエンジン部とに分かれた構成を有する画像形成装置では、コントローラ部側とエンジン部側とでそれぞれ別々のダウンロード窓口（コネクタ）を持った製品が一般的である。これは、画像形成装置におけるダウンロード対象ソフトウェアのダウンロード時は通常モードでは動作しないことが要因となっているためであり、エンジン部に対するダウンロードを行う時には、コントローラ部に対する動作が保証されないからである。従来は、そうした構成のために、ユーザやサービスマンは画像形成装置のバージョンアップ時のダウンロードにおいて、ダウンロード対象のエンジン部のダウンロード窓口（コネクタ）を意識して接続を行わなければならず、作業性、サービス性が悪いといった課題があった。
【０００６】
また、画像形成装置が電子写真方式で画像形成を行うレーザビームプリンタ（ＬＢＰ）の場合で、逆にコントローラ部のダウンロード窓口（コネクタ）が既にＬＢＰ用のポートとして使用されている場合、ダウンロードを行うべく画像形成装置にコンピュータを接続するためのケーブルの脱着を行ったために、前記ポートからＬＢＰ用のプリンタデータを送出しているケースではエラーになってしまうという問題もあった。また、コントローラ部を介してエンジン部に対するダウンロードを行っている場合に、停電によりエンジン部に対するダウンロードに不具合が発生した時には、エンジン部のファームウェアが不完全なものとなってしまい、通常モードでの立ち上げが不能になってしまう。そして、最悪の場合は、エンジン部の基板を交換しなければならないということも考えられるという課題があった。
【０００７】
本発明は、上述した点に鑑みなされたものであり、デバイス部に対するソフトウェアのダウンロード処理を行う際に、コントローラ部のダウンロード窓口を使用することを可能とし、停電によりデバイス部に対するダウンロードに不具合が発生した時にも自動的にリカバリ動作を行うことを可能とした画像形成装置、データ入力制御方法、プログラム、及び記憶媒体を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、本発明は、画像処理を行うコントローラ部と、第１の記憶手段を有し該第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置であって、前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える書換制御手段と、前記コントローラ部から前記デバイス部へデータ入力を開始することを示す入力開始情報を記憶する第２の記憶手段と、前記コントローラ部から前記デバイス部へのデータ入力を開始する時に前記第２の記憶手段に前記入力開始情報を記憶し、前記コントローラ部から前記デバイス部へのデータ入力を終了した時に前記入力開始情報をクリアする記憶制御手段と、前記コントローラ部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記コントローラ部から前記デバイス部へのデータ入力を開始する入力制御手段とを有することを特徴とする。
【０００９】
また、本発明は、画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置であって、前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える書換制御手段と、前記書換制御手段が前記書き換えを開始する時に前記第２の記憶手段に入力開始情報を記憶し、前記書換制御手段が前記書き換えを終了した時に前記入力開始情報をクリアする記憶制御手段と、前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に前記第２の記憶手段に前記入力開始情報が記憶されている場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知する通知手段と、前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始する入力制御手段とを有することを特徴とする。
【００１０】
また、本発明は、画像処理を行うコントローラ部と、第１の記憶手段及び第２の記憶手段を有し前記第１の記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置であって、前記第１の記憶手段の記憶内容を前記コントローラ部から前記デバイス部に入力されたデータで書き換える書換制御手段と、前記入力データのチェックサムを演算する第１の演算手段と、前記書換制御手段が前記書き換えを行う時に、前記第１の演算手段で演算したチェックサムを前記第２の記憶手段に記憶する記憶制御手段と、前記デバイス部の電源がＯＦＦ状態からＯＮ状態となった時に、前記第１の記憶手段の記憶内容のチェックサムを演算する第２の演算手段と、前記第２の演算手段で演算したチェックサムと前記第２の記憶手段に記憶されているチェックサムとが合致しない場合、前記第１の記憶手段の書き換えに不具合が発生した旨を前記コントローラ部に通知する通知手段と、前記通知に基づき前記コントローラ部から前記デバイス部へのデータ入力を開始する入力制御手段とを有することを特徴とする。
【００１１】
また、本発明は、画像処理を行うコントローラ部と、記憶手段を有し該記憶手段の記憶内容に従い読み取り部または画像形成部の制御を行うデバイス部とを有する画像形成装置であって、前記記憶手段の記憶内容を書き換えるためのデータを獲得する獲得手段と、前記獲得手段で獲得したデータを保存する保存手段と、前記保存手段で保存した前記データを前記コントローラ部から前記デバイス部へ入力する入力手段と、前記記憶手段の記憶内容を前記入力手段により前記コントローラ部から前記デバイス部に入力された前記データで書き換える書換制御手段とを有することを特徴とする。
【００１２】
【発明の実施の形態】
先ず、本発明の実施の形態の概要を説明する。本発明の実施の形態は、画像処理を行うコントローラ部と、画像形成を行うエンジン部を備えた画像形成装置において、コントローラ部の電源投入時において、エンジン部に対するダウンロードが正常に行われたかどうかを判断し、エンジン部に対するダウンロードが失敗している場合には、自動的にエンジン部に対するダウンロードを行うようにするものである。また、エンジン部の電源投入時において、エンジン部のファームウェアが正常であるか異常であるかを判断し、コントローラ部に対してその旨を通知するようにするものである。以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１３】
先ず、本実施の形態に係る画像形成装置の全体構成を説明する。図１は画像形成装置の内部構造を示す構成図である。画像形成装置は、リーダ部１とプリンタ部２から大略構成されている。リーダ部１は、自動原稿搬送装置（略称：ＤＦ）１０１、原稿台ガラス１０２、ランプ１０３及びミラー１０５を有するスキャナユニット１０４、ミラー１０６、ミラー１０７、レンズ１０８、ＣＣＤイメージ・センサ部（以下ＣＣＤと略称）１０９を備えている。また、プリンタ部２は、露光制御部２０１、感光体２０２、現像器２０３、転写紙積載部２０４、２０５、転写部２０６、定着部２０７、排紙部２０８、搬送方向切り替え部材２０９、再給紙用被転写紙積載部２１０を備えている。図中１１０はコントローラ部、１１１、１１２、１１３は画像形成装置に装備されたダウンロードの窓口（コネクタ）、２２０は画像形成装置に付設されたソータである。
【００１４】
先ず、画像形成装置におけるリーダ部１の構成について説明する。自動原稿搬送装置１０１上に積載された複数枚の原稿は、１枚ずつ順次原稿台ガラス１０２の面上に搬送される。原稿が原稿台ガラス１０２の面上の所定位置へ搬送されると、スキャナユニット１０４のランプ１０３が点灯し、且つスキャナユニット１０４が図中水平方向に移動して原稿を照明する。尚、自動原稿搬送装置１０１を使用しないで原稿読み取りを行う場合には、直接、原稿台ガラス１０２の面上にユーザが原稿をセットすることで原稿読み取りを行う。原稿の反射光は、ミラー１０５、１０６、１０７、レンズ１０８を介してＣＣＤ１０９に入力される。ＣＣＤ１０９に結像された原稿の反射光は、該ＣＣＤ１０９で電気信号に光電変換される。光電変換された電気信号は、コントローラ部１１０へ送られる。コントローラ部１１０は、後述の操作パネルを介した設定に基づき画像処理を施す。
【００１５】
次に、画像形成装置におけるプリンタ部２の構成について説明する。コントローラ部１１０によりプリンタ部２へ接続（送出）された電気信号は、露光制御部２０１において変調された光信号へ変換されることで、感光体２０２がレーザ光により照射される。照射されたレーザ光によって感光体２０２上に作られた潜像は、現像器２０３によって現像される。上記現像の先端とタイミングを合わせて転写紙積載部２０４または転写紙積載部２０５より転写紙（以下用紙）が転写部２０６の転写位置に搬送され、転写部２０６において、上記現像器２０３で現像された像が転写される。用紙に転写された像は、定着部２０７において用紙に定着された後、排紙部２０８より画像形成装置外部に排出される。排紙部２０８から排出された用紙は、ソータ２２０の所定ビンに積載される。
【００１６】
続いて、画像形成装置のリーダ部１で原稿から順次読み込む画像をプリンタ部２で１枚の用紙の両面に形成する画像形成方法について説明する。定着部２０７で像が定着された用紙を、一度、排紙部２０８まで搬送した後、用紙の搬送向きを反転して搬送方向切り替え部材２０９を介して再給紙用被転写紙積載部２１０に搬送する。次の原稿が準備されると、上記プロセスと同様にして原稿画像が読み取られるが、用紙については再給紙用被転写紙積載部２１０より給紙されるので、結局、同一用紙の表面及び裏面に対し２枚の原稿に対応する画像を形成することができる。
【００１７】
また、画像形成装置におけるダウンロードを実施する際のダウンロードの窓口（コネクタ）１１１、１１２、１１３は、画像形成装置の筐体に配設されている。本画像形成装置では、エンジン部（リーダ部１またはプリンタ部２）に対するダウンロードを行う際は、ダウンロード窓口（コネクタ）１１２にＰＣ部（サービスツール）（図２参照）を接続して行うように構成されている。
【００１８】
次に、画像形成装置のエンジン部を中心とした構成について説明する。コントローラ部Ｕ１０１（図１のコントローラ部１１０に相当）は、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）３１３、ハードディスク（ＨＤ）３１７を備えている。また、エンジン部Ｕ１００は、シリアルインタフェース　（ｃｈ１）３０１、ＡＳＩＣ３０２、ポートインタフェース３０４、フラッシュメモリ３０５、センサ類３０６、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）３０７、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）３０８、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）３０９、モータドライバ類３１０、フラッシュメモリ消去・書き込み制御部３１５、ＥＥＰＲＯＭ３１６を備えている。図中Ｕ１０２はＰＣ部（サービスツール１）、３１２はエンジンインタフェース、３１４はＰＣインタフェースである。
【００１９】
コントローラ部Ｕ１０１は、エンジンインタフェース３１２を介してエンジン部Ｕ１００（図１のリーダ部１、プリンタ部２）のシリアルインタフェース（ｃｈ１）３０１に接続されており、またＰＣインタフェース３１４を介してＰＣ部（サービスツール＝ダウンロード用アプリケーション）Ｕ１０２に接続可能な構成となっている。また、このＰＣインタフェース３１４は、ＰＣ部Ｕ１０２に直接接続可能なハード線であってもよいし、ネットワークに接続可能なハード線であってもよい。
【００２０】
エンジン部Ｕ１００の電源（図示略）がＯＦＦ状態からＯＮ状態とされた時に、エンジン部Ｕ１００はコントローラ部Ｕ１０１と初期通信を行うことで、エンジン部Ｕ１００はダウンロードモード（ソフトウェアをダウンロードするモード）、通常モード（画像読取及び画像形成動作を行うモード）の何れかに移行する。この時の、エンジン部Ｕ１００の電源については、ハード的なスイッチ（図示略）でもよいし、コントローラ部Ｕ１０１からのソフト的なスイッチ（図示略）でもよい。そして、エンジン部Ｕ１００はダウンロードモードに移行した場合、エンジンインタフェース３１２を介してコントローラ部Ｕ１０１を経由してのＰＣ部Ｕ１０２からのデータを用いて、後述するダウンロード処理を実行する。
【００２１】
エンジン部Ｕ１００におけるその他の内部構成としては、エンジン部Ｕ１００を制御するＣＰＵ３０７と、ＲＡＭ３０８と、ＲＯＭ３０９と、ＡＳＩＣ３０２とを有しており、各々データバスとアドレスバスにより接続されている。ＲＯＭ３０９には、上述した、エンジン部Ｕ１００の電源がＯＦＦ状態からＯＮ状態とされた後にＣＰＵ３０７によって実行される制御ソフトが内蔵されており、制御ソフトにより、エンジン部Ｕ１００をダウンロードモードに移行するか通常モードに移行するかを判別する。
【００２２】
エンジン部Ｕ１００を通常モードに移行する時には、ＣＰＵ３０７はフラッシュメモリ３０５に内蔵されている制御ソフトへ処理を移行する。ＥＥＰＲＯＭ３１６は、エンジン部Ｕ１００においてダウンロードモードに移行した時に、フラッシュメモリ３０５に書き込む制御ソフトのチェックサムデータや、フラッシュメモリ３０５に対するデータの書き込み中を示すフラッシュメモリ書き込み中フラグ（＝ダウンロード中であることを示すダウンロードフラグ）（入力開始情報）を記憶しておく場所である。また、ＥＥＰＲＯＭ３１６の代わりに、フラッシュメモリ３０５の空き領域に対して、フラッシュメモリ３０５に書き込む制御ソフトのチェックサムデータや、フラッシュメモリ書き込み中フラグを記憶してもよい。その場合、そのフラッシュメモリ３０５の空き領域に対して、チェックサム演算は行わないようにする。
【００２３】
ＲＡＭ３０８は、エンジン部Ｕ１００の通常モード時におけるＣＰＵ３０７の作業領域であると共に、エンジン部Ｕ１００のダウンロードモード時におけるフラッシュメモリ３０５を書き換える制御ソフトを一時的にバッファリングする場所である。センサ類３０６は、ポートインタフェース３０４を介することでＣＰＵ３０７に対して各種検出に基づく検出信号を出力する、換言すれば、ＣＰＵ３０７に対してエンジン部Ｕ１００内部の負荷系の入力を認識させる。また、ダウンロードモード時のフラッシュメモリ３０５に対するデータの消去及び書き込みについては、フラッシュメモリ消去・書き込み制御部３１５で行う。
【００２４】
エンジン部Ｕ１００内部の負荷であるモータ類を駆動するために、ＣＰＵ３０７はポートインタフェース３０４を介してモータドライバ類３１０にデータを出力する。ＡＳＩＣ３０２は、画像データをデジタル信号として扱うための処理を行う部分である。エンジン部Ｕ１００を構成するリーダ部１は、原稿から読み込んだ画像をコントローラ部Ｕ１０１へビデオデータとして出力し、エンジン部Ｕ１００を構成するプリンタ部２は、コントローラ部Ｕ１０１から送られたビデオデータを印字データとして出力する。
【００２５】
コントローラ部Ｕ１０１における内部構成としては、ＰＣ部Ｕ１０２からのデータを受け取るためのＨＤ３１７、ＥＥＰＲＯＭ３１３を有する。ＥＥＰＲＯＭ３１３は、エンジン部Ｕ１００に対してダウンロード実行中を示すダウンロード実行中フラグや、エンジン部Ｕ１００のフラッシュメモリ３０５に対するデータの書き込み中を示すフラッシュメモリ書き込み中フラグを記憶しておく場所である。
【００２６】
ここで、本実施の形態における特徴的な制御を説明すると、コントローラ部Ｕ１０１の電源がＯＦＦ状態からＯＮ状態となった時に、ＥＥＰＲＯＭ３１３にフラッシュメモリ書き込み中フラグがセットされている場合、コントローラ部Ｕ１０１からエンジン部Ｕ１００へのデータ入力を開始する。
【００２７】
また、エンジン部Ｕ１００の電源がＯＦＦ状態からＯＮ状態となった時に、ＥＥＰＲＯＭ３１６にフラッシュメモリ書き込み中フラグがセットされている場合、エンジン部Ｕ１００のフラッシュメモリ３０５の書き換えに不具合が発生した旨をコントローラ部Ｕ１０１に通知し、前記通知に基づきコントローラ部Ｕ１０１からエンジン部Ｕ１００へのデータ入力を開始する。
【００２８】
また、エンジン部Ｕ１００のフラッシュメモリ３０５のチェックサムと、コントローラ部Ｕ１０１からエンジン部Ｕ１００に入力されたデータのチェックサムとが合致しない場合、エンジン部Ｕ１００のフラッシュメモリ３０５の書き換えに不具合が発生した旨をコントローラ部Ｕ１０１に通知し、前記通知に基づきコントローラ部Ｕ１０１からエンジン部Ｕ１００へのデータ入力を開始する。
【００２９】
また、エンジン部Ｕ１００のフラッシュメモリ３０５の記憶内容を書き換えるためのデータをＰＣ部Ｕ１０２から獲得し、前記獲得したデータをＨＤ３１７に保存し、前記保存したデータをコントローラ部Ｕ１０１からエンジン部Ｕ１００へ入力し、エンジン部Ｕ１００のフラッシュメモリ３０５の記憶内容を前記入力されたデータで書き換える。
【００３０】
次に、画像形成装置の操作パネルの構成について説明する。図３は上記図１に示した画像形成装置のリーダ部１に配設されている操作パネルの一例を示す図である。図３において、Ｐ２０１は表示部であり、画像形成装置の動作状況・ユーザに対するメッセージ（コピー倍率、コピー枚数、コピー可能である等）を表示する。また、表示部Ｐ２０１の表面はタッチパネルとして構成され、表面を触れることによって選択キーとして機能させることが可能であり、コピー時の倍率設定、濃度設定等は該タッチパネル上で行う。Ｐ２０２はテンキーであり、数字を入力するためのものであり、このテンキーＰ２０２を押下することで１枚の原稿に対してコピーする用紙の枚数を設定する。
【００３１】
Ｐ２０３はスタートキーであり、このスタートキーＰ２０３を押下することで画像形成装置に対し原稿読み取り動作の開始を指示する。Ｐ２０４はファンクションキーであり、コピー機能、ＢＯＸ機能、拡張機能の切り替えを一操作で行うことが可能になっている。前記各機能の中で、ＢＯＸ機能とは、画像形成装置筐体内に装備されたハードディスク（不図示）にリーダ部１でスキャンした画像を蓄積しておく機能である。Ｐ２０５はダウンロードキーであり、エンジン部Ｕ１００のファームウェアのダウンロードを行う際に、該ダウンロードキーＰ２０５を押下することでダウンロード設定を行う。
【００３２】
ダウンロードキーＰ２０５を押下することで、表示部Ｐ２０１の画面は図３から図４のように切り替わり、ダウンロード先（リーダ部１、プリンタ部２）の設定を行うことが可能となる。また、図４における表示部Ｐ２０１の画面内の所望のキーを押下することで、表示部Ｐ２０１の画面は図４から図５のように切り替わり、選択されたダウンロード先に対して後述の制御手順によりダウンロードを実行する（図示例はエンジン部Ｕ１００のリーダ部１に対するダウンロード状態であり、ＰＣ部Ｕ１０２からコントローラ部Ｕ１０１を経由してエンジン部Ｕ１００のリーダ部１にダウンロードを実行している）。
【００３３】
この時のダウンロード実行シーケンスは、まず、ＰＣ部Ｕ１０２からコントローラ部Ｕ１０１へのダウンロードソフトのダウンロードを行い、ダウンロードソフトをコントローラ部Ｕ１０１内部のＨＤ３１７へと全て入れ込む。その後、コントローラ部Ｕ１０１からエンジン部Ｕ１００の電源をソフト的にＯＦＦ状態からＯＮ状態とし、コントローラ部Ｕ１０１はエンジン部Ｕ１００との初期通信を行う。このコントローラ部Ｕ１０１とエンジン部Ｕ１００との初期通信により、コントローラ部Ｕ１０１はエンジン部Ｕ１００に対し現在のモードをダウンロードモードとして認識させ、エンジン部Ｕ１００に対してダウンロードソフトのダウンロードを実行する。
【００３４】
そして、エンジン部Ｕ１００に対するダウンロードソフトのダウンロードが終了した場合は、表示部Ｐ２０１の画面は図５から図６のように切り替わり、ユーザが表示部Ｐ２０１の画面内に表示されている終了を選択することで、表示部Ｐ２０１の画面は図６から図３の標準画面に戻り、画像形成装置において通常モードを実行することが可能となる。この時の終了動作は、コントローラ部Ｕ１０１からエンジン部Ｕ１００の電源をソフト的にＯＦＦ状態からＯＮ状態とし、その時のエンジン部Ｕ１００との初期通信により、エンジン部Ｕ１００に通常モードとして認識させる。また、ダウンロード中の停電によるダウンロード書き込み失敗が発生した場合には、表示部Ｐ２０１の画面は図７のように切り替わり、自動的にエンジン部Ｕ１００に対してダウンロードを実行する。
【００３５】
次に、画像形成装置のエンジン部Ｕ１００に装備されたフラッシュメモリ３０５について概略を説明する。フラッシュメモリ３０５は、電気的にデータの消去及び書き込みを行うことができ、オンボードでの書き換えが可能な不揮発性メモリである。フラッシュメモリ３０５とＥＰＲＯＭとの違いは、ＥＰＲＯＭの場合、一度ボードから取り外して紫外線でデータを消去した後、ＲＯＭライタで書き込みを行いボードに戻す操作が必要であり、オンボードで消去及び書き込みができない点である。
【００３６】
また、オンボードで消去及び書き込みが可能な素子としてＥＥＰＲＯＭがあるが、ＥＥＰＲＯＭのメモリデバイスは１メモリセルが２個のトランジスタからなる２トランジスタ構成でビット単価が高く、且つ容量も現在２５６Ｋｂｉｔが最大で、本実施の形態のように安価で大容量が要求されるＲＯＭという用途には適さない。更には、書き換え可能回数についても、フラッシュメモリ３０５の場合は１００〜１０万回可能であり、ＥＰＲＯＭの書き換え可能回数以上である。
【００３７】
上述したように、フラッシュメモリ３０５は、大容量で且つオンボードで多数回の書き換えが可能な特性を持つ不揮発性メモリであり、このような不揮発性メモリを安価に提供できるという利点があり、本実施の形態のエンジン部Ｕ１００に用いるには最適である。
【００３８】
図８（Ａ）、（Ｂ）は一般的な１Ｍｂｉｔ（１２８×８ｂｉｔ）のフラッシュメモリのピン配置及びピンに対応するピン名称を示す図である。本実施の形態では、画像形成装置のエンジン部Ｕ１００に装備するフラッシュメモリとして、図８（Ａ）、（Ｂ）のフラッシュメモリを例に挙げ説明する。図８（Ａ）、（Ｂ）において、Ａ０〜Ａ１６はアドレス入力端子、Ｉ／Ｏ０〜Ｉ／Ｏ７はデータ入出力端子であり、それぞれエンジン部Ｕ１００のＣＰＵ３０７のアドレスバス、データバスに直結される。
【００３９】
通常のデータ読み出し動作時は、ＥＰＲＯＭ、マスクＲＯＭと同様で、アドレスを確定させて、／ＣＥ（チップイネーブル）端子、／ＯＥ（出力イネーブル）端子を“Ｌｏｗ”レベルにすることにより、データ入出力端子からデータが出力される。尚、負論理の信号は、信号名の前に“／”を付して表わす。
【００４０】
データ消去動作時は、図９のタイミングチャートに示すように、Ｖｐｐ（プログラム電源）端子に＋１２Ｖの電圧を印加した後、／ＯＥ端子及び／ＰＧＭ（プログラム）端子を“Ｈｉｇｈ”にしたまま、／ＣＥ端子を“Ｌｏｗ”に固定し、／ＥＥ（イレースイネーブル）端子に約１００ｎｓ以上のＬｏｗパルスを印加すると、フラッシュメモリチップに内蔵された自動消去回路が動作し、データ消去が開始される。自動消去開始後、／ＯＥ端子及び／ＥＥ端子を“Ｌｏｗ”にすると、Ｉ／Ｏ７端子からステータスが出力される。このＩ／Ｏ７端子のデータが“０”の時は消去中、“１”の時は消去動作が終了していることを示す。
【００４１】
最後に、データ書き込み動作は、図１０のタイミングチャートに示すように、Ｖｐｐ端子に＋１２Ｖの電圧を印加した後、書き込みアドレスとデータを確定して、／ＯＥ端子及び／ＥＥ端子を“Ｈｉｇｈ”にしたまま／ＣＥ端子を“Ｌｏｗ”に固定し、／ＰＧＭ端子に約２００μｓの“Ｌｏｗ”パルスを印加すると、データ書き込み動作が完了する。
【００４２】
図１１は上記図２に示したエンジン部Ｕ１００のフラッシュメモリ消去・書き込み制御部３１５の構成例を示すブロック図であり、フラッシュメモリ３０５の通常のデータ読み出し動作、データ消去動作、データ書き込み動作の全てを行えるように、フラッシュメモリ３０５のＶｐｐ端子、ＣＥ端子、／ＯＥ端子、／ＥＥ端子、／ＰＧＭ端子を制御するための回路例である。フラッシュメモリ消去・書き込み制御部３１５は、リレーＦ３４、アドレスデコーダＦ１０１、ＡＮＤ回路Ｆ１０２、１０４、１０８、ＯＲ回路Ｆ１０３、１０５、１０７、１０９、１１０、データレジスタＦ１０６、／ＷＡＩＴタイミングジェネレータＦ１１１を備えている。以下、図１１を基に回路動作を説明する。
【００４３】
ＣＰＵ３０７とフラッシュメモリ３０５との間でデータバス及びアドレスバスは直結されている。ＣＰＵ３０７のアドレスバスの一部は、フラッシュメモリ消去・書き込み制御部３１５のアドレスデコーダＦ１０１に入力され、各アドレスエリアに対応した“Ｌｏｗ”アクティブのアドレスデコーダ出力信号Ｆ２０１〜Ｆ２０４が出力される。
【００４４】
まず、フラッシュメモリ３０５からの通常のデータ読み出し動作時には、フラッシュメモリ３０５に割り当てられたアドレスがＣＰＵ３０７から出力されると、フラッシュメモリ消去・書き込み制御部３１５のアドレスデコーダＦ１０１の出力信号Ｆ２０４がアクティブになる。出力信号Ｆ２０４はＡＮＤ回路Ｆ１０２を介して／ＣＥ（チップイネーブル）端子に入力され、／ＣＥ入力信号がアクティブになる。更に、出力信号Ｆ２０４はＣＰＵ３０７のリード信号（／ＲＤ）と共に、ＯＲ回路Ｆ１０３に入力され、その出力信号はＡＮＤ回路Ｆ１０４を介して／ＯＥ入力信号をアクティブにする。このことにより、ＣＰＵ３０７のアドレスバス出力に対応したデータがデータバス上に出力される。その他の／ＥＥ端子、／ＰＧＭ端子は“Ｈ”レベルのままでインアクティブ状態である。
【００４５】
フラッシュメモリ３０５に対するデータ消去動作時は、まず、ＣＰＵ３０７が第１の所定アドレスＡにデータ“０１Ｈ”をライトすることにより、フラッシュメモリ消去・書き込み制御部３１５のアドレスデコーダＦ１０１の出力信号Ｆ２０１及びＣＰＵ３０７のライト信号（／ＷＲ）がアクティブになり、ＯＲ回路Ｆ１０５を介して“Ｌｏｗ”パルスを作成し、データレジスタＦ１０６にデータをセットする。これにより、データレジスタＦ１０６の出力信号Ｆ２０５は“Ｈｉｇｈ”になり、リレーＦ３４の出力が＋５Ｖから＋１２Ｖに切り換えられ、フラッシュメモリ３０５のＶｐｐ端子に入力される。
【００４６】
次に、ＣＰＵ３０７が第２の所定アドレスＢをライトすることにより、フラッシュメモリ消去・書き込み制御部３１５のアドレスデコーダＦ１０１の出力信号Ｆ２０２がアクティブになり、ＡＮＤ回路Ｆ１０２を介して／ＣＥ信号をアクティブにする。同時に、出力信号Ｆ２０２はＣＰＵ３０７の／ＷＲ信号と共にＯＲ回路Ｆ１０７に入力され、その出力信号はＡＮＤ回路Ｆ１０８を介して／ＷＲ信号パルス幅と同等の“Ｌｏｗ”パルスが／ＥＥ端子（イレースイネーブル端子）に入力される。これにより、フラッシュメモリ３０５のデータ自動消去が開始する。このとき、その他の／ＯＥ端子、／ＰＧＭ端子は“Ｈｉｇｈ”レベルのままでインアクティブ状態である。
【００４７】
フラッシュメモリ３０５におけるデータ自動消去の終了の判断は、ＣＰＵ３０７が第３の所定アドレスＣをリードすることにより行われる。ＣＰＵ３０７がアドレスＣをリードすると、フラッシュメモリ消去・書き込み制御部３１５のアドレスデコーダＦ１０１の出力信号Ｆ２０３がアクティブになる。出力信号Ｆ２０３はＡＮＤ回路Ｆ１０２及びＡＮＤ回路Ｆ１０８に入力され、それぞれ／ＣＥ信号、／ＥＥ信号をアクティブにする。同時に、出力信号Ｆ２０３はＯＲ回路Ｆ１０９に入力されており、ＣＰＵ３０７のリード信号／ＲＤと論理和がとられ、ＡＮＤ回路Ｆ１０４を介して／ＯＥ端子をアクティブする。
【００４８】
／ＯＥ端子がアクティブになると、データバスのＤ７ラインに消去フラグが出力され、ＣＰＵ３０７はＤ７ラインの状態により、フラッシュメモリ３０５のデータ消去終了（終了Ｄ７＝“Ｈｉｇｈ”）を知ることができる。データ消去終了を確認した後、ＣＰＵ３０７はアドレスＡに“００Ｈ”を書き込むことにより、フラッシュメモリ消去・書き込み制御部３１５のリレーＦ３４の出力を＋１２Ｖから＋５Ｖに切り換える。
【００４９】
最後に、フラッシュメモリ３０５に対するデータ書き込み動作について説明する。まず、ＣＰＵ３０７は上記データ消去動作時と同様にアドレスＡに“０１Ｈ”をライトすることにより、Ｖｐｐ端子を＋１２Ｖに設定する。次に、ＣＰＵ３０７はフラッシュメモリ３０５のスタートアドレスからエンドアドレスまで１バイトずつデータを書き込む。フラッシュメモリ３０５に対応するどのエリアにデータをライトしても、フラッシュメモリ消去・書き込み制御部３１５のアドレスデコーダＦ１０１の出力信号Ｆ２０４がアクティブになり、ＡＮＤ回路Ｆ１０２を介してＣＥ信号がアクティブになる。
【００５０】
同時に、出力信号Ｆ２０４はＣＰＵ３０７の／ＷＲ信号と共にＯＲ回路Ｆ１１０に入力されることになり、／ＷＲ信号幅とほぼ等価なアクティブ“Ｌｏｗ”パルスが／ＰＧＭ端子に入力され、その時、データバスに出力されているデータが該当するアドレスに書き込まれる。ＯＲ回路Ｆ１１０の出力信号はカウンタ等で構成される／ＷＡＩＴタイミングジェネレータＦ１１１に入力され、出力信号はＣＰＵ３０７の／ＷＡＩＴ端子に入力されて、図１０のタイミングチャートにおける書き込みタイミングを満足させるためにＣＰＵ３０７のバスサイクルを延長する。フラッシュメモリ３０５の全アドレスのデータ書き込み終了後、ＣＰＵ３０７はアドレスＡに“ＯＯＨ”を書き込むことにより、Ｖｐｐ入力を＋５Ｖに切り換える。
【００５１】
次に、本画像形成装置のコントローラ部Ｕ１０１の電源をＯＦＦ状態からＯＮ状態としてからの、コントローラ部Ｕ１０１内のソフト動作について、図１２、図１３のフローチャートを用いて説明する。
【００５２】
まず、ステップＳ８０１では、コントローラ部Ｕ１０１の電源がＯＦＦ状態からＯＮ状態になるのを待つ。通常、コントローラ部Ｕ１０１の電源は、製品本体のハードスイッチを押すことでＯＦＦ状態からＯＮ状態になる。上記ステップＳ８０１においてコントローラ部Ｕ１０１の電源がＯＦＦ状態からＯＮ状態になった場合には、ステップＳ８０２へ進み、コントローラ部Ｕ１０１はエンジン部Ｕ１００からの異常通知（＝フラッシュメモリ３０５の異常）があるかどうか、または、コントローラ部Ｕ１０１が備えるＥＥＰＲＯＭ３１３内部にフラッシュメモリ書き込み中フラグがセットされているかどうかを判断する。
【００５３】
上記ステップＳ８０２において、コントローラ部Ｕ１０１はエンジン部Ｕ１００からの異常通知がないと判断、または、ＥＥＰＲＯＭ３１３内部にフラッシュメモリ書き込み中フラグがセットされていないと判断した場合には、ステップＳ８０３へ進み、操作パネルのダウンロードキーＰ２０５が押下されるのを待つ。上記ステップＳ８０３においてダウンロードキーＰ２０５が押下されると、ステップＳ８０４へ進み、コントローラ部Ｕ１０１は該コントローラ部Ｕ１０１に接続されたＰＣ部Ｕ１０２に対し、必要なダウンロード対象ソフトウェア（＝エンジンファームウェア）を要求する。例えば、上記図５の操作パネルの表示部Ｐ２０１ではリーダ部１のダウンロードが選択されているので、この場合、ＰＣ部Ｕ１０２に対しリーダ部用のダウンロード対象ソフトウェアを要求する。
【００５４】
上記ステップＳ８０４の後、ステップＳ８０５において、コントローラ部Ｕ１０１はＰＣ部Ｕ１０２から必要なダウンロード対象ソフトウェアを獲得するまで待ち、獲得したダウンロード対象ソフトウェアのデータはＨＤ３１７へ保存する。上記ステップＳ８０５で必要なダウンロード対象ソフトウェアをＨＤ３１７に保存が終了したならば、ステップＳ８０６において、コントローラ部Ｕ１０１はダウンロード対象ソフトウェアのデータのチェックサムと、ＥＥＰＲＯＭ３１６（またはフラッシュメモリ３０５）に記憶されているチェックサムとが合致しているかどうかを判定する。尚、ダウンロードソフトのチェックサムデータそのもののデータも、上記ステップＳ８０５において取得する。
【００５５】
上記ステップＳ８０６の判定でチェックサムが合致していない場合には、上記ステップＳ８０４へ戻り、再び、ＰＣ部Ｕ１０２へ必要なダウンロードソフトを要求する。他方、上記ステップＳ８０６の判定でチェックサムが合致していた場合には、ステップＳ８０７へ進み、コントローラ部Ｕ１０１はダウンロード対象のエンジン部Ｕ１００（この場合はリーダ部１）の電源をＯＦＦ状態からＯＮ状態にする。ステップＳ８０７の後、ステップＳ８０８において、コントローラ部Ｕ１０１はエンジン部Ｕ１００に対してダウンロードモードへ移行させる旨を示す初期通信データを送信する。初期通信データには、ダウンロードを行うかどうかの判断データを入れることで、エンジン部Ｕ１００をダウンロードモードへと移行させる。
【００５６】
上記ステップＳ８０８の後は、ステップＳ８０９において、コントローラ部Ｕ１０１はダウンロード対象ソフトウェアのサイズをエンジン部Ｕ１００へ送信する。ステップＳ８０９の後、ステップＳ８１０において、コントローラ部Ｕ１０１はダウンロード対象ソフトウェアを分割したデータをエンジン部Ｕ１００へ送信する。ステップＳ８１０の後、ステップＳ８１１において、コントローラ部Ｕ１０１は上記分割送信したダウンロード対象ソフトウェアのチェックサムデータをエンジン部Ｕ１００へ送信する。ステップＳ８１１の後、ステップＳ８１２において、コントローラ部Ｕ１０１はエンジン部Ｕ１００からの応答を待ち、応答がきたならば応答がＯＫかＮＧかを判定する。
【００５７】
上記ステップＳ８１２の判定で応答がＮＧの場合には、上記ステップＳ８０７へと戻り、再び、ダウンロード対象のエンジン部Ｕ１００の電源をＯＦＦ状態からＯＮ状態にする。他方、上記ステップＳ８１２の判定で応答がＯＫの場合には、ステップＳ８１３へと進み、コントローラ部Ｕ１０１はＥＥＰＲＯＭ３１３内部にフラッシュメモリ書き込み中フラグをセットする。ステップＳ８１３の後、ステップＳ８１４において、コントローラ部Ｕ１０１はエンジン部Ｕ１００からフラッシュメモリ書き込み終了の応答を待ち、応答が返ってきたならば、ステップＳ８１５において、ＥＥＰＲＯＭ３１３内部のフラッシュメモリ書き込み中フラグをクリアする。ステップＳ８１５の後、表示部Ｐ２０１の画面は図６のような表示となり（＝ダウンロード正常終了表示）、本フローチャートに示す処理を終了する。
【００５８】
他方、上記ステップＳ８０２において、コントローラ部Ｕ１０１はエンジン部Ｕ１００からの異常通知があると判断、または、ＥＥＰＲＯＭ３１３内部にフラッシュメモリ書き込み中フラグがセットされていると判断した場合には、既に必要なダウンロード対象ソフトウェアはＨＤ３１７へと保存されているため、ステップＳ８０７へと進み、表示部Ｐ２０１の画面は図７のような表示となる（＝ダウンロードリトライ（リカバリ）中表示）。
【００５９】
次に、本画像形成装置のエンジン部Ｕ１００における電源をＯＦＦ状態からＯＮ状態としてからの、エンジン部Ｕ１００を制御するＣＰＵ３０７で実行するＲＯＭ３０９内の制御ソフト（エンジン制御プログラム）の動作について、図１４のフローチャートを用いて説明する。
【００６０】
まず、ステップＳ３１では、エンジン部Ｕ１００の電源がＯＦＦ状態からＯＮ状態になるのを待つ。ステップＳ３１においてエンジン部Ｕ１００の電源がＯＦＦ状態からＯＮ状態になった場合には、ステップＳ３２へ進み、エンジン部Ｕ１００のＣＰＵ３０７はフラッシュメモリ３０５が正常であるかどうかを判断する。このステップＳ３２の判断処理は、エンジン部Ｕ１００のＥＥＰＲＯＭ３１６内部にフラッシュメモリ書き込み中フラグがセットされている場合、または、ＥＥＰＲＯＭ３１６内部のチェックサムデータがフラッシュメモリ３０５に書き込まれているチェックサムデータと一致しない場合には、フラッシュメモリ３０５は異常と判断される。
【００６１】
上記ステップＳ３２の判定でフラッシュメモリ３０５が異常と判断した場合には、ステップＳ３７へ進み、エンジン部Ｕ１００のＣＰＵ３０７はコントローラ部Ｕ１０１にフラッシュメモリ異常を示す内容を通知する。ステップＳ３７の後、ステップＳ３３において、エンジン部Ｕ１００のＣＰＵ３０７はシリアルインタフェース３０１の受信動作を許可することにより、ステップＳ３４において、コントローラ部Ｕ１０１からのシリアルデータの受信を待つ（＝初期化通信）。他方、上記ステップＳ３２の判定でフラッシュメモリ３０５が正常と判断した場合にも、上記ステップＳ３３へ進む。
【００６２】
上記ステップＳ３４においてシリアルデータの受信があったならば、ステップＳ３５へ進み、エンジン部Ｕ１００のＣＰＵ３０７はエンジン部Ｕ１００がダウンロードモードであるかどうかを判定する。エンジン部Ｕ１００がダウンロードモードであるかどうかを示すデータは、上記ステップＳ３４で受信したシリアルデータに含まれている。上記ステップＳ３５の判定でダウンロードモードであると判断した場合には、ステップＳ３６において、ダウンロード処理へ移行し、本フローチャートに示す処理を終了する。ダウンロード処理については後述する。他方、上記ステップＳ３５の判定でダウンロードモードでないと判断した場合には、そのまま本フローチャートに示す処理を終了する。
【００６３】
次に、上述したダウンロード処理について、図１５、図１６のフローチャートを用いて説明する。
【００６４】
まず、ステップＳ１１では、エンジン部Ｕ１００のＣＰＵ３０７はコントローラ部Ｕ１０１からのシリアル受信を待ち、ステップＳ１２において、コントローラ部Ｕ１０１から転送されてくるデータの転送サイズを獲得する。通常のシリアル受信においては、データ転送の形態はバイト領域転送であるため、転送サイズがバイト領域を超える場合には、下位アドレスから順次転送するものとする。尚、転送サイズがワードサイズの場合には、２回のシリアル受信を上記ステップＳ１１で待つことになる。
【００６５】
上記ステップＳ１２の後、エンジン部Ｕ１００のＣＰＵ３０７は順々にシリアル受信を行い、ＲＡＭ３０８へ下位アドレスからバッファリングを行っていき、ステップＳ１３において、上記ステップＳ１２で獲得した転送サイズ分のシリアル受信が終了するのを待つ。尚、上記転送サイズのデータは、ステップＳ１３でのシリアル受信におけるＲＡＭ３０８のバッファリング領域外に保管しておくことで、シリアル受信によるＲＡＭ３０８に対する上書きは発生しないようにする。上記ステップＳ１３で上記獲得した転送サイズ分のシリアル受信が終了したと判断した場合は、ステップＳ１４へと進み、エンジン部Ｕ１００のＣＰＵ３０７はシリアル受信を待つ。
【００６６】
上記ステップＳ１４でシリアル受信した後に、ステップＳ１５において、エンジン部Ｕ１００のＣＰＵ３０７はコントローラ部Ｕ１０１からのチェックサムデータを獲得する。ステップＳ１５の後、ステップＳ１６において、エンジン部Ｕ１００のＣＰＵ３０７は上記ステップＳ１３で受信した総データのチェックサム演算を行い、該チェックサム演算で得たチェックサムデータと上記ステップＳ１５で獲得したチェックサムデータとを比較する。これにより、コントローラ部Ｕ１０１からエンジン部Ｕ１００に対してシリアル通信により順次転送された総データを確認することができる。上記ステップＳ１６の判断でチェックサムデータが正常であれば、ステップＳ１７において、エンジン部Ｕ１００のＣＰＵ３０７はＥＥＰＲＯＭ３１６内部にフラッシュメモリ書き込み中フラグをセットし、続けてステップＳ１８のフラッシュメモリ消去処理へと進む。フラッシュメモリ消去処理については後述する。
【００６７】
上記ステップＳ１８のフラッシュメモリ消去処理が終了したならば、次にステップＳ１９において、エンジン部Ｕ１００のＣＰＵ３０７はフラッシュメモリデータ書き込み処理を行う。フラッシュメモリデータ書き込み処理については後述する。上記ステップＳ１９のフラッシュメモリデータ書き込み処理が終了したならば、ステップＳ２０において、エンジン部Ｕ１００のＣＰＵ３０７はＥＥＰＲＯＭ３１６内部のフラッシュメモリ書き込み中フラグをクリアし、ステップＳ２１において、コントローラ部Ｕ１０１に対してダウンロード終了を通知して、メイン処理へと戻る。
【００６８】
他方、上記ステップＳ１６の判断でチェックサムデータが正常でないならば、ステップＳ２２において、エンジン部Ｕ１００のＣＰＵ３０７はコントローラ部Ｕ１０１に対してダウンロード失敗を通知して、メイン処理へと戻る。このダウンロード失敗の場合には、コントローラ部Ｕ１０１によりエンジン部Ｕ１００の電源がＯＦＦ状態からＯＮ状態とし、ダウンロード処理を再び行う。
【００６９】
次に、上述したエンジン部Ｕ１００のＣＰＵ３０７で実行するＲＯＭ３０９内のエンジン制御プログラムによる、フラッシュメモリ３０５のデータ消去制御手順について、図１７のフローチャートを用いて説明する。
【００７０】
ステップＳ１５０１〜Ｓ１５０４では、エンジン部Ｕ１００のＣＰＵ３０７はフラッシュメモリ消去・書き込み制御部３１５によりフラッシュメモリ３０５のデータ消去動作を行う。データ消去動作は、エンジン部Ｕ１００の上述したフラッシュメモリ消去・書き込み制御部３１５の動作説明で示したように、ステップＳ１５０１で、エンジン部Ｕ１００のＣＰＵ３０７がアドレスＡに“Ｏ１Ｈ”を書き込むことにより、Ｖｐｐを＋５Ｖから＋１２Ｖに変更した後、ステップＳ１５０２で、アドレスＢをライトすることにより、／ＣＥ端子を“Ｌｏｗ”レベルに固定した状態で／ＥＥ端子に“Ｌｏｗ”パルスを入力し、全アドレスの自動消去が開始する。
【００７１】
次に、ステップＳ１５０３で、エンジン部Ｕ１００のＣＰＵ３０７はアドレスＣをリードし、ステップＳ１５０４で、データバスのｂｉｔ７をチェックする。ステップＳ１５０４でｂｉｔ７が“０”の時は、エンジン部Ｕ１００のＣＰＵ３０７はデータ消去動作中と判断し、再び上記ステップＳ１５０３にジャンプする。上記ステップＳ１５０４でｂｉｔ７が“１”の時は、エンジン部Ｕ１００のＣＰＵ３０７はデータ消去動作が終了したと判断し、メイン処理へ戻る。
【００７２】
次に、上述したエンジン部Ｕ１００のＣＰＵ３０７で実行するＲＯＭ３０９内のエンジン制御プログラムによる、フラッシュメモリ３０５のデータ書き換え制御手順について、図１８のフローチャートを用いて説明する。
【００７３】
ステップＳ１６０１〜１６０５では、エンジン部Ｕ１００のＣＰＵ３０７は、ＰＣ部（サービスツール１）Ｕ１０２またはＰＣ部（サービスツール２）Ｕ１０３（図示略）から転送された制御プログラムデータが記憶されているＲＡＭ３０８内の、受信バッファのスタートアドレスから順々にデータを読み取り、フラッシュメモリ３０５の下位アドレスから順々に１バイトずつ書き込む。ステップＳ１６０４で、フラッシュメモリ３０５の全アドレスに対する書き込みが終了したならば、ステップＳ１６０５にジャンプし、Ｖｐｐ入力を＋５Ｖに切り換える。ステップＳ１６０５の後は、メイン処理へ戻る。
【００７４】
以上説明したように、本実施の形態によれば、画像形成装置のコントローラ部Ｕ１０１は、コントローラ部Ｕ１０１の電源がＯＦＦ状態からＯＮ状態となった時に、ＥＥＰＲＯＭ３１３にフラッシュメモリ書き込み中フラグがセットされていると判断した場合、表示部Ｐ２０１にダウンロードリトライ中を表示し、エンジン部Ｕ１００に対しダウンロードモードである旨を示す初期通信データを送信し、エンジン部Ｕ１００をダウンロードモードへ移行させ、ダウンロード対象ソフトウェアを分割したデータをエンジン部Ｕ１００へ送信する等の制御を行うため、下記のような効果を奏する。
【００７５】
エンジン部Ｕ１００に対するソフトウェアのダウンロード処理を行う際に、コントローラ部Ｕ１０１のダウンロード窓口を使用することが可能となり、停電によりエンジン部Ｕ１００に対するダウンロードに不具合が発生した時にも、自動的にリカバリ動作（ダウンロードリトライ）を行うことが可能な画像形成装置を提供することができる。これにより、画像形成装置に新機能を搭載する際のソフトウェアのバージョンアップ時に、ソフトウェアのダウンロードを実施する場合において、ユーザやサービスマンは安定したダウンロードを実現することが可能となり、ダウンロードに関わる作業性、サービス性の向上に大きく寄与することができる。
【００７６】
［他の実施の形態］
上記実施の形態では、本発明のダウンロード制御を画像読取機能・画像形成機能を備えた画像形成装置（複写機）に適用した場合を例に挙げたが、本発明はこれに限定されるものではなく、画像読取機能・画像形成機能・画像通信機能を備えた画像形成装置（複合機）、画像形成機能を備えた画像形成装置（プリンタ）に適用することもできる。
【００７７】
上記実施の形態では、画像形成装置の画像形成方式を電子写真方式とした場合を例に挙げたが、本発明はこれに限定されるものではなく、インクジェット方式、熱転写方式、静電方式など他の画像形成方式に適用することもできる。
【００７８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。上述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体等の媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体等の媒体に格納されたプログラムコードを読み出し実行することによっても、本発明が達成されることは言うまでもない。
【００７９】
この場合、記憶媒体等の媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体等の媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体等の媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、或いはネットワークを介したダウンロードなどを用いることができる。
【００８０】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【００８１】
更に、記憶媒体等の媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【００８２】
【発明の効果】
以上説明したように、本発明によれば、画像形成装置において、コントローラ部の電源がＯＦＦ状態からＯＮ状態となった時に、コントローラ部の第２の記憶手段に入力開始情報が記憶されている場合、コントローラ部からデバイス部へのデータ入力を開始する等の制御を行うため、下記のような効果を奏する。
【００８３】
デバイス部に対するソフトウェアのダウンロード処理を行う際に、コントローラ部のダウンロード窓口を使用することが可能となり、停電によりデバイス部に対するダウンロードに不具合が発生した時にも、自動的にリカバリ動作（ダウンロードリトライ）を行うことが可能な画像形成装置を提供することができる。これにより、画像形成装置に新機能を搭載する際のソフトウェアのバージョンアップ時に、ソフトウェアのダウンロードを実施する場合において、ユーザやサービスマンは安定したダウンロードを実現することが可能となり、ダウンロードに関わる作業性、サービス性の向上に大きく寄与することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る画像形成装置の内部構造を示す構成図である。
【図２】画像形成装置のエンジン部を中心とした構成を示すブロック図である。
【図３】画像形成装置の操作部の表示例を示す図である。
【図４】操作部の表示例を示す図である。
【図５】操作部の表示例を示す図である。
【図６】操作部の表示例を示す図である。
【図７】操作部の表示例を示す図である。
【図８】（Ａ）はエンジン部のフラッシュメモリのピン配置例を示す図、（Ｂ）はピン名称を示す図である。
【図９】フラッシュメモリの制御信号のタイミングの一例を示す図である。
【図１０】フラッシュメモリの制御信号のタイミングの一例を示す図である。
【図１１】フラッシュメモリ消去・書き込み制御部の構成を示すブロック図である。
【図１２】コントローラ部におけるエンジン部に対するダウンロード制御の流れを示すフローチャートである。
【図１３】図１２のフローチャートの続きである。
【図１４】エンジン部におけるシリアル受信からダウンロード処理までの流れを示すフローチャートである。
【図１５】エンジン部におけるダウンロード処理の流れを示すフローチャートである。
【図１６】図１５のフローチャートの続きである。
【図１７】エンジン部におけるフラッシュメモリのデータ消去制御手順の流れを示すフローチャートである。
【図１８】エンジン部におけるフラッシュメモリのデータ書き込み制御手順の流れを示すフローチャートである。
【符号の説明】
１　リーダ部
２　プリンタ部
Ｕ１００　エンジン部（デバイス部）
Ｕ１０１　コントローラ部（記憶制御手段、入力制御手段、第１の演算手段、第２の演算手段）
Ｕ１０２　ＰＣ部（外部装置）
３０１　シリアルインタフェース
３０５　フラッシュメモリ（第１の記憶手段、第２の記憶手段）
３０７　ＣＰＵ（通知手段）
３１２　エンジンインタフェース（入力手段）
３１４　ＰＣインタフェース（獲得手段）
３１３　ＥＥＰＲＯＭ（第２の記憶手段）
３１５　フラッシュメモリ消去・書き込み制御部（書換制御手段）
３１６　ＥＥＰＲＯＭ
３１７　ＨＤ（保存手段）
【図１】
2004086308.tif 000003
【図２】
2004086308.tif 000004
【図３】
2004086308.tif 000005
【図４】
2004086308.tif 000006
【図５】
2004086308.tif 000007
【図６】
2004086308.tif 000008
【図７】
2004086308.tif 000009
【図８】
2004086308.tif 000010
【図９】
2004086308.tif 000011
【図１０】
2004086308.tif 000012
【図１１】
2004086308.tif 000013
【図１２】
2004086308.tif 000014
【図１３】
2004086308.tif 000015
【図１４】
2004086308.tif 000016
【図１５】
2004086308.tif 000017
【図１６】
2004086308.tif 000018
【図１７】
2004086308.tif 000019
【図１８】
2004086308.tif 000020