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