(57)【要約】【課題】画像形成装置のＲＯＭに記憶されたプログラムを安全に更新する。【解決手段】画像形成装置には、画像処理を担当するコントローラ５と、画像形成エンジンの制御を担当するＣＰＵ３が搭載されている。ＣＰＵ３には、制御プログラムを記憶したＲＯＭが内蔵されている。コントローラ４は、ＰＣ５から制御プログラムの更新要求を受信すると、ＣＰＵ３に設けられたハード的な信号線に基づいてＲＯＭの種類を判別する。更新可能なＲＯＭであれば、ＰＣ５から更新用の新しい制御プログラムをダウンロードし、ＣＰＵ３へと転送し、ＲＯＭへの書き込みが実行される。ＣＰＵ３がマスクＲＯＭを搭載していれば、更新不可を表すメッセージをＰＣ５に返信する。【選択図】  図１
2004291496.tif 000002
【特許請求の範囲】
【請求項１】
画像形成エンジンに関連する制御を実行するプログラムコードを記憶したＲＯＭを有する第１のコントローラと、
画像処理を担当するコントローラであって、前記第１のコントローラに備えられたＲＯＭのプログラムコードを更新するための更新用プログラムコードを受信する受信手段と、前記第１のコントローラに備えられたＲＯＭの種類を判別する判別手段と、前記判別手段により前記ＲＯＭが更新可能な種類のＲＯＭであると判別されると前記受信された更新用のプログラムを前記第１のコントローラへと送信して前記ＲＯＭに書き込む書込手段とを含む第２のコントローラと
を含むことを特徴とする画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置における制御プログラムの更新（アップデート）技術に係り、例えば電子写真式の画像形成装置における画像形成制御プログラムの更新技術に関するものである。
【０００２】
【従来の技術】
従来の画像形成装置における制御プログラムの更新方法について、例えば特許文献１に記載の技術が知られている。この従来技術では、制御プログラムの更新要求が発生すると、既存の制御プログラムのバージョン情報を読み取り、このバージョンがスペシャルバージョンであれば制御プログラムの更新を禁止することで、不用意に制御プログラムが更新されてしまうことを防止している。
【０００３】
また、特許文献２では、セントロニクスケーブルなど汎用インタフェースを用いてＰＣと複写機とがハード的に接続されているか否かを判定し、汎用インタフェースにより接続されていればＰＣから更新用プログラムをダウンロードする技術が開示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の制御プログラム更新方法では、マスクＲＯＭへの書き換え禁止方法については何ら言及されておらず、次のような課題が存在する。例えば、本来であれば、ＥＥＰＲＯＭなどの書き換え可能なＲＯＭに対して制御プログラムの更新を実行しなければならない。ところが、何らかの原因により、記憶内容を更新することができないマスクＲＯＭに対して制御プログラムの更新が実行されてしまうと、ユーザＩ／Ｏと書き込み用Ｉ／Ｏポートで出力ショートの状態が発生し、デバイス故障の原因に至る危険性があった。
【０００５】
とりわけ、ソケットを介してＲＯＭをマザーボートに搭載している場合は、故障したＲＯＭをソケットから外して新規なＲＯＭと差し替えることで修理できるが、ＣＰＵにＲＯＭが内蔵されている場合は、当該ＲＯＭの破壊によりＣＰＵ自体が使用不可能となり、ＣＰＵ自体の交換が必要となるため非常に影響が大きい。ＣＰＵが基板に直付けされていれば、基板自体の交換へと発展するおそれもある。
【０００６】
そこで、本発明では、上記課題を解決すべく、従来よりも安全に制御プログラムを更新する情報処理装置とプログラム更新方法とを提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、上記課題を解決すべく、少なくともＲＯＭの種類を判別してからプログラムを更新する技術を提供する。本発明に係る画像処理装置などの情報処理装置は、例えば、制御プログラムコードを記憶したＲＯＭを有する第１の制御ユニットと、前記第１の制御ユニットに備えられたＲＯＭへと書き込まれる更新用プログラムコードを受信する受信手段と、前記第１のコントローラに備えられたＲＯＭの種類を判別する判別手段と、前記判別手段により前記ＲＯＭが更新可能な種類のＲＯＭであると判別されると前記受信された更新用のプログラムを前記第１の制御ユニットへと送信して前記ＲＯＭに書き込む書込手段とを含む第２の制御ユニットとを含む。
【０００８】
【発明の実施の形態】
以下では、図面を参照しながら本発明のいくつかの実施形態を説明する。第１の実施形態では、ＣＰＵの１ポートをデバイス種類判別ポートとして割り当てることで、更新用プログラムを書き込み可能なデバイスか否かを判定する。また、第２の実施形態では、ＣＰＵのメモリ空間上にデバイスの種類を表す情報を格納する記憶領域を設け、この情報を読み出すことで更新用のプログラムを書き込み可能なデバイスか否かを判定する。本発明に係る第３の実施形態では、第１の実施形態と第２の実施形態との技術思想を適宜組み合わせることで、書き換え可能ＲＯＭを擬似的にマスクＲＯＭ化するものである。
【０００９】
［第１の実施形態］
第１の実施形態は、画像形成エンジンを制御するＣＰＵの１ポートを、デバイス判別用の信号を出力する出力ポートとして利用し、この出力ポートと接続されたコントローラにおいて、出力された信号に基づきデバイスの種類を判断し、制御プログラムを更新するものである。
【００１０】
図１は、第１実施形態における画像形成装置の電気的な構成例を主に示したブロック図である。図２は、第１実施形態における画像形成エンジンの構成例を示した図である。図１において、ＤＣコントローラ２は、画像形成エンジンを制御するための制御ユニットである。ＤＣコントローラ２には、ＤＣ系の制御を司るＣＰＵ３が実装されるとともに、抵抗、コンデンサ、ダイオード、トランジスタ、コネクタ等の電気・電子部品で構成されている。ＣＰＵ３には、制御プログラムを記憶したＲＯＭ９が内蔵されている。なお、ＲＯＭ９はＣＰＵ３の外部に設けられていてもよいが、製造コストを考慮すれば一体化されていたほうが都合がよいだろう。なお、ＲＯＭ９がＣＰＵ３の外部に設けられていても本発明を適用できることはいうまでもない。
【００１１】
ここで、図２を用いて画像形成エンジンの一例を説明する。画像形成装置１は、シアンＣ、イエローＹ、マゼンタＭ及びブラックＫからなる４色の画像形成エンジンを備えた多色画像形成装置の一例である。図中で参照番号の末尾に付されたａ〜ｄは、上記の４色にそれぞれ対応している。現像器ユニット１０２ａ〜ｄは、それぞれ感光ドラム１０８、帯電ローラ１４０、現像ローラ１４１及び現像剤容器１２３を有するカートリッジタイプのユニットになっている。現像器ユニット１０２では、感光ドラム１０８を帯電ローラ１４０で帯電し、レーザ・スキャナユニット１１３から送られるレーザ光１０７で潜像像を形成、現像ローラ１４１で潜像像を現像して現像像を形成するプロセスが行われる。１３１は給送用カセットであり、転写材１１２の給送要求が発生した場合には、ピックアップローラ１３２で転写材１１２をピックアップし、給送ローラ１３４へと給出する。１０３は転写材１１２を搬送するための搬送ベルトである。搬送ベルト１０３上を搬送される転写材１１２は、転写ローラ１２０の位置で現像器ユニット１０２の感光ドラム１０８上に形成された現像像を転写され、定着器ユニット１２１へと搬送される。定着器ユニット１２１では、転写材１１２に転写された現像剤を溶融固着させる。
【００１２】
とりわけ、図１のコントローラ２は、感光ドラム１０８、帯電ローラ１４０、現像ローラ１４１、ピックアップローラ１３２、及び給送ローラ１３４などＤＣモータにより駆動される部材などを制御している。
【００１３】
コントローラ４は、ＰＣ（パーソナルコンピュータ）５等のホスト・コンピュータから画像データを受信し、受信した画像データに画像処理を施すとともに、それぞれの画像形成装置において予め決められたタイミングで画像データを画像形成エンジンに送信する処理などを制御する。ＰＣ５には、更新処理を実行するためのプログラム８と、ＣＰＵ３のＲＯＭへと書き込まれる更新用制御プログラムとがハードディスクに記憶されている。また、ＣＰＵ、ＲＯＭ、ＲＡＭ及び外部インタフェースなども備えられている。
【００１４】
また、コントローラ４は、外部インタフェース６を介して制御プログラムの更新命令を受信する処理、更新に必要となる制御プログラムデータを受信する処理、受信した制御プログラムをＣＰＵ３へとダウンロードする処理、更新が不可の場合にデータの送信元に対して更新できない旨の情報を返信する処理などを制御する。
【００１５】
外部インタフェース６は、ＩＥＥＥ８０２．３インタフェース、セントロニクス・インタフェース、２３２Ｃインタフェース、ＵＳＢインタフェース、ＩＥＥＥ８０２．１１インタフェース及びＩＥＥＥ８０２．１５インタフェースなどの通信インタフェースであるが、本発明は通信インタフェースの仕様によって制限されるものではない。
【００１６】
また、コントローラ４は、ＡＳＩＣにより構成してもよいし、ＣＰＵ、ＲＡＭ、ＲＯＭ及びその制御プログラムから構成されていてもよい。当該ＲＯＭに記憶された制御プログラムは、例えば、図６、図８又は図１２などのフローチャートに関する処理を実行することになる。
【００１７】
本実施形態において、画像形成装置１は、外部インタフェース６を介してＰＣ５と接続されており、ＰＣ５において更新制御プログラム８が起動されると、制御プログラム更新命令が送信される。この命令が外部インタフェース６を介してコントローラ４により受信されると、ＣＰＵ３からのデバイス判別信号ＤＪＵＤＧＥによって更新の可否を判別する。更新が可能であれば、更新用の新しい制御プログラム７がＰＣ５から画像形成装置１へと送信される。なお、更新用の制御プログラム７は、必ずしも新しいものである必要はなく、既存の制御プログラムと同一のバージョンであってもよいし、より古いバージョンであってもよい。
【００１８】
図３は画像形成装置における電源投入時の初期化シーケンスに関するフローチャートである。ステップＳ３０１において、画像形成装置１の電源がオンされると、ＣＰＵ３を含む電気回路はリセットシーケンスによりパワーオンリセットされる。リセットシーケンスが終了すると、ステップＳ３０２において、ＣＰＵ３は、ＣＰＵ３に備えられた各ポートを初期化する。
【００１９】
このとき、デバイス判別信号（ＤＪＵＤＧＥ）用のポートは、出力ポートに設定される。例えば、ＣＰＵ３がフラッシュＲＯＭのような書き換え可能なＲＯＭを内蔵していれば、当該ポートから０を出力する。一方、ＣＰＵ３がマスクＲＯＭを内蔵していれば当該ポートから１を出力する。すなわち、当該ポートからの初期出力値は、書き換え可能なＲＯＭを内蔵したＣＰＵとマスクＲＯＭを内蔵したＣＰＵとでは、それぞれ異なる値を出力するような制御プログラムが、予め当該ＣＰＵに組み込まれている。
【００２０】
図５は、ＣＰＵ３とコントローラ４とのインタフェースの構成例を示した図である。図６は、ＤＪＵＤＧＥと出力信号レベルとの関係を示した図である。図６の破線で示すように、ＣＰＵ３がＤＪＵＤＧＥに１を出力した場合に、コントローラ４はＬｏｗレベルの信号を受信する。一方、ＣＰＵ３がＤＪＵＤＧＥに０を出力した場合に、コントローラ４は、Ｈｉｇｈレベルの信号を受信する。
【００２１】
図６は、第１の実施形態に係るデバイスの判別方法及び制御プログラムのダウンロード方法についてのフローチャートである。本フローチャートは、コントローラ４が制御プログラムの更新命令をＰＣ５から受信すると起動される。
【００２２】
ステップＳ６０１において、コントローラ４は、ＤＪＵＤＧＥのレベルを取得し、ＤＪＵＤＧＥ＝０であるかを判定する。ＤＪＵＤＧＥ＝０（マスクＲＯＭ）であればステップ６０２に進み、ＤＪＵＤＧＥ＝１（書き換え可能ＲＯＭ）であればステップ６０２に進む。
【００２３】
ステップＳ６０２において、コントローラ４は、ＰＣ５に対して更新できないことを表すステータスを返信する。これにより、マスクＲＯＭに対する誤った書き込み処理を防止することができ、ひいては、ユーザＩ／Ｏと書き込み用Ｉ／Ｏポートで出力ショートの状態が発生してデバイスが破壊される事態を抑制できる効果が得られる。
【００２４】
ステップＳ６０３において、コントローラ４は、既に書き込まれている制御プログラムをＣＰＵ３のＲＯＭから消去する。
【００２５】
ステップＳ６０４において、コントローラ４は、ＰＣ５に対し更新用の新しい制御プログラム７を送信するよう要求する信号を送信し、ＰＣ５から更新用のプログラム７をダウンロードする。ダウンロードしたＲＯＭはコントローラ４のＲＡＭなどに一時的に記憶される。
【００２６】
ステップＳ６０５において、コントローラ４は、受信した更新用の制御プログラム７を、ＣＰＵ３に送信し、ＣＰＵ３のＲＯＭへと書き込む。書き込み処理が終了したところで制御プログラムの更新サブルーチンを終了する。なお、ＲＯＭへの書き込み処理は、ＣＰＵ３が主体となって実行してもよいし、コントローラ４が直接ＲＯＭにアクセスして実行してもよい。何れの場合であっても、コントローラ４は、直接的又は間接的に書き込み処理に関与することになろう。
【００２７】
以上のように本実施形態によれば、画像形成エンジンに関連する制御を実行するプログラムコードを記憶したＲＯＭ（例：ＲＯＭ９）を有する第１のコントローラ（例：ＣＰＵ３）と、画像処理を担当するコントローラであって、前記第１のコントローラに備えられたＲＯＭのプログラムコードを更新するための更新用プログラムコードを受信する受信手段（例：コントローラ４、外部インタフェース６）と、前記第１のコントローラに備えられたＲＯＭの種類を判別する判別手段（例：コントローラ４）と、前記判別手段により前記ＲＯＭが更新可能な種類のＲＯＭであると判別されると前記受信された更新用のプログラムを前記第１のコントローラへと送信して前記ＲＯＭに書き込む書込手段（例：コントローラ４）とを含む第２のコントローラ（例：コントローラ４）とを含む画像形成装置が提供される。
【００２８】
例えば、前記第１のコントローラは、前記ＲＯＭの種類を表す信号を出力する信号線（例：ＤＪＵＤＧＥ出力ポート）をさらに有し、前記判別手段は、前記信号線から出力される信号に基づいて前記ＲＯＭの種類を判別することができる。
【００２９】
以上のように、本実施形態では、ＣＰＵ３に内蔵されたＲＯＭの種類を判別するための出力ポート（例えば、専用のハード線）を設けることで、マスクＲＯＭであるか書き換え可能なＲＯＭであるのかを容易に判定でき、マスクＲＯＭに対する誤った書き込み処理によるデバイスの破壊といった事態を回避できる。
【００３０】
［第２の実施形態］
第２の実施形態は、エンジン制御を行うＣＰＵ３の制御プログラム中にデバイスの種類を表すビットを設け、コントローラ４とＣＰＵ３との間の通信コマンド／ステータスを用いて、デバイスの種類を表す情報を要求し、この要求に応じて当該情報を返信することで、制御プログラムの更新可否を判定するものである。以下の説明において、上述した実施形態の同様の構成については同一の参照符号を付すことで重複した説明を省略することとする。
【００３１】
図７は、第２実施形態の制御プログラム更新処理に携わるＰＣと画像形成装置との接続例を示した図である。第１の実施形態との違いは、デバイスを判別するための情報を通信により取得することで、ＤＪＵＤＧＥなどの接続信号を出力するための専用のポート（ハード線）が不要になる点である。図８は、第２の実施形態に係るデバイス種類の判別方法及び制御プログラムの更新方法についてのフローチャートである。
【００３２】
ステップＳ８０１において、コントローラ４はＰＣ５から送信される制御プログラム更新の要求を受信すると、ＣＰＵ３に対してデバイス種類情報を要求するための要求コマンドを送信する。
【００３３】
図９は、コントローラ４とＣＰＵ３との間で実行される半二重クロック同期式のシリアル通信を説明するための図である。図９が示すように、コントローラ４からＣＰＵ３へと送信される１つのコマンドに対して、ＣＰＵ３からコントローラ４へと１つのステータスが返信される。すなわち、コマンドとステータスとは１対１の関係になっている。本実施形態では、通信プロトコルが１６ビット通信となっているが、製品の仕様に応じて通信プロトコルが変更されてもよいことは言うまでもない。
【００３４】
ステップＳ８０２において、コントローラ４は、ＣＰＵ３から送信されるステータスの受信が完了するのを待つ。図１０は、第２の実施形態に係るデバイス種類を表す情報の送信処理についてのフローチャートである。ステップＳ１００１において、ＣＰＵ１０３は、コントローラ４からのデバイス種類情報の要求コマンドを受信する。ステップＳ１００２において、ＣＰＵ１０３は、ＣＰＵ３上のメモリ空間のうちデバイス種類格納アドレスに格納されている情報を読み出し、読み出されたデバイス種類の情報を、ステータスを送信するための送信データ格納アドレスに格納する。
【００３５】
図１１は、ＣＰＵ３のメモリ空間の一例を示した図である。本実施形態では、デバイス種類の情報を格納するアドレスが０１００ｈに割り当てられており、送信データ格納アドレスが０２００ｈ及び０２０１ｈに割り当てている。なおこれらは単なる一例であり、システムにおけるメモリ空間の定義によってアドレスが変更になることは言うまでもない。
【００３６】
ステップＳ１００３において、ＣＰＵ３は、送信データ格納アドレスに格納されたデータを、ステータスとしてコントローラ４に返信する。ステップＳ８０２において、コントローラ４は、ステータスの受信完了を確認するとステップＳ８０３に進む。
【００３７】
ステップＳ８０３において、コントローラ４は、受信したデバイス種類の情報に基づいて、ＣＰＵ３の種類がマスクＲＯＭであるか又は書き換え可能なＲＯＭであるかを判定する。ここでは、デバイス種類を示す情報が０であればマスクＲＯＭを表し、一方、１であればき書き換え可能なＲＯＭを表すものとする。デバイスの種類がマスクＲＯＭであれば、ステップＳ６０２へと進む。一方、デバイスの種類が書き換え可能なＲＯＭであれば、Ｓ６０３に進む。以降の処理は、第１の実施形態で説明したとおりである。
【００３８】
本実施形態によれば、画像形成エンジンに関連する制御を実行するプログラムコードを記憶したＲＯＭ（例：ＲＯＭ９）を有する第１のコントローラ（例：ＣＰＵ３）と、画像処理を担当するコントローラであって、前記第１のコントローラに備えられたＲＯＭのプログラムコードを更新するための更新用プログラムコードを受信する受信手段（例：コントローラ４、インタフェース６）と、前記第１のコントローラに備えられたＲＯＭの種類を判別する判別手段（例：コントローラ４）と、前記判別手段により前記ＲＯＭが更新可能な種類のＲＯＭであると判別されると前記受信された更新用のプログラムを前記第１のコントローラへと送信して前記ＲＯＭに書き込む書込手段（例：コントローラ４）とを含む第２のコントローラ（例：コントローラ４）とを含む画像形成装置が提供される。
【００３９】
例えば、前記第１のコントローラは、予め定められたアドレスに前記ＲＯＭの種類を表す情報を記憶した記憶手段（例：ＲＯＭ９）をさらに有し、前記第２のコントローラは、前記第１のコントローラから前記ＲＯＭの種類を表す情報を読み出す読出手段（例：コントローラ４）をさらに有し、前記判別手段は、前記読み出された前記ＲＯＭの種類を表す情報に基づいて前記ＲＯＭの種類を判別することができる。また、前記ＲＯＭの状態を表す情報は、前記プログラムコードの更新を許可するか否かの情報と観念してもよい。
【００４０】
以上のように、本実施形態では、ＣＰＵ３における所定の記憶領域にＲＯＭの種類を表す情報を記憶しておき、その情報をコントローラ４が読み出すことで、ＣＰＵ３に内蔵されているＲＯＭがマスクＲＯＭであるか又は書き換え可能なＲＯＭであるのかを容易に判定でき、マスクＲＯＭに対する誤った書き込み処理によるデバイスの破壊といった事態を回避できる。また、実施形態１に比較すれば、種類判別用の専用ハード線が不要となるため、当該ハード線を他の用途に使用できる利点もある。
【００４１】
［第３の実施形態］
第３実施形態は、エンジン制御を行うＣＰＵ３の１ポートをデバイス判別用の出力ポートとして利用してＣＰＵ３のデバイス種別を判定するとともに、ＣＰＵ３の制御プログラム中にＲＯＭ状態を判別するためのビットを設けることでコントローラ４がＣＰＵ３のＲＯＭ状態を判定し、制御プログラムの更新処理を制御するものである。以下の説明において、上述した実施形態の同様の構成については同一の参照符号を付すことで重複した説明を省略することとする。
【００４２】
図１２は、第３の実施形態に係るデバイスの判別方法と制御プログラムの更新方法とを示したフローチャートである。具体的には、書き換え可能なＲＯＭを擬似的にマスクＲＯＭ化する処理や、擬似的にマスク化された状態からの復帰処理も含まれている。第１の実施形態で説明したイニシャルシーケンスが実行されると、フラッシュＲＯＭのような書き換え可能なＲＯＭのＣＰＵであれば出力ポートから０が出力され、一方、マスクＲＯＭのＣＰＵであれば出力ポートから１が出力されるものとする。ＰＣ５からコントローラ４に対して制御プログラム更新の要求が送信されるとコントローラ４は、更新処理を開始する。
【００４３】
ステップＳ１２０１において、コントローラ４は、ＤＪＵＤＧＥのレベルを判定する。ＤＪＵＤＧＥ＝０であれば、ステップＳ１２０２に進み、書き換え不能を表すメッセージをＰＣ５に送信する。一方、ＤＪＵＤＧＥ＝１であれば、ステップＳ１２０３に進む。
【００４４】
Ｓ１２０３において、コントローラ４は、ＣＰＵ３に対しＲＯＭ状態情報を要求する。
【００４５】
Ｓ１２０４において、コントローラ４はステータス受信の完了を待つ。ＲＯＭ状態情報の要求コマンドを受信したＣＰＵ３の処理は、図１０のフローチャートに従う。ステータス受信が完了すると次のステップに進む。
【００４６】
Ｓ１２０５において、コントローラ４は、受信したステータスの内容に基づいて、ＣＰＵ３の書き換え可能ＲＯＭの状態を判定する。例えば、状態を表すビットが０であればｍマスクＲＯＭ化されていると判定し、ステップＳ１２０６に進む。それ以外であれば、マスクＲＯＭ化されていないと判定し、ステップＳ１２０７に進む。
【００４７】
Ｓ１２０６において、コントローラ４は、書き換えを行うか又はマスク状態を継続するかを判定する。マスク状態を継続するかの判定は、例えば、更新プログラムに埋め込まれるマスク継続判定データをコントローラ４で解析することによって行われる。そして、画像形成装置１の操作部から入力された情報に基づいて書き換えを行うか又はマスク状態を継続するかを判定する。すなわち、擬似マスク化されている場合は、ユーザによる解除指示が入力されてからプログラムの更新を実行できるようにすることで、不用意に制御プログラムが書き換えられてしまうことを防止することができる。擬似マスク化を継続すると判定されればＳ１２０２に進み、一方、擬似マスク化を解除する（更新実行）と判定されればステップＳ１２０７に進む。
【００４８】
ステップＳ１２０７において、コントローラ４は、更新処理後のＲＯＭを擬似マスクＲＯＭ状態にするか否かを判定する。例えば、更新処理後のＲＯＭを擬似マスクＲＯＭ状態にするか否かを問うメッセージを表示させ、ユーザの選択を待つ。そして、画像形成装置１の操作部から入力された情報に基づいて更新処理後のＲＯＭを疑似マスクＲＯＭ状態にするか否かを判定する。このように、更新処理後におけるＲＯＭの状態を予め指定できるようにしたため、更新処理後に疑似マスク化が自動的に解除されてしまう事態を防止できる。更新処理後に疑似マスクＲＯＭ状態にすると判定されれば、ステップＳ１２０８に進み、そうでなければステップＳ１２１１に進む。
【００４９】
ステップ１２０８において、コントローラ４は、既に書き込まれている制御プログラムをＣＰＵ３のＲＯＭから消去する。
【００５０】
ステップＳ１２０９において、コントローラ４は、ＰＣ５から更新用の制御プログラムをダウンロードするとともに、マスクＲＯＭ状態を示すマスクコードを制御プログラムに追加する。
【００５１】
ステップＳ１２１０において、コントローラ４は、ＣＰＵ３に対し新しい制御プログラムをアップロードする。ＣＰＵ３へのアップロードが終了すると更新処理のサブルーチンを終了する。
【００５２】
ステップＳ１２１１において、コントローラ４は、制御プログラムをＲＯＭから消去する。
【００５３】
ステップＳ１２１２において、コントローラ４は、ＰＣ５から新しい制御プログラムをダウンロードし、マスクＲＯＭ状態を示すマスクコードを制御プログラムから削除し、ステップＳ１２１０へ移行する。なお、削除する代わりに、書き換え可能ＲＯＭをあらわすコードを書き込んでもよい。
【００５４】
Ｓ１２１０において、コントローラ４は、ＣＰＵ３に対して新しい制御プログラムをアップロードする。
【００５５】
本実施形態によれば、画像形成エンジン（例：図２）と、該画像形成エンジンを制御するためのプログラムコードを記憶したＲＯＭ（例：ＲＯＭ９）を有する第１のコントローラ（例：ＣＰＵ３）と、画像処理を担当する第２のコントローラ（例：コントローラ４）とを含む画像形成装置であって、前記第２のコントローラは、外部装置（例：ＰＣ５）から更新用のプログラムコードを受信する受信手段（例：コントローラ４、外部インタフェース６）と、前記ＲＯＭの種類を判別する判別手段（例：コントローラ４）と、前記ＲＯＭに記憶されたプログラムコードが更新可能な状態にあるかを判定する判定手段（例：コントローラ４）と、前記ＲＯＭが更新可能な種類のＲＯＭであると判別され、かつ、前記ＲＯＭに記憶されたプログラムコードが更新可能な状態にあると判定された場合にのみ、更新用のプログラムコードを前記第１のコントローラへと送信して前記ＲＯＭに書き込む書込手段（例：コントローラ４）とを有する画像形成装置が提供される。
【００５６】
例えば、前記第２のコントローラは、前記第１のコントローラから前記ＲＯＭの状態を表す情報を取得する取得手段をさらに有し、前記判別手段は、前記取得された前記ＲＯＭの状態を表す情報に基づいて前記ＲＯＭの状態を判別することができる。
【００５７】
以上のように、本実施形態では、ＲＯＭの種類を判別するための出力ポート（例えば、専用のハード線）をＣＰＵ３に設けることで、マスクＲＯＭに対する誤った書き込み処理を抑制でき、さらに、書き換え可能ＲＯＭの書き換え可否を表す情報を設けることで、擬似マスク化された書き換え可能ＲＯＭが書き換えられてしまうことを防止できる利点がある。
【００５８】
［他の実施形態］
第２の実施形態におけるデバイス種類を表す情報を記憶するアドレスには、ＲＯＭ９がマスクＲＯＭであればマスクＲＯＭを表す情報が、書き込み可能ＲＯＭであれば書き込み可能ＲＯＭを表す情報が格納されることを前提として説明してきた。
【００５９】
しかしながら、書き換え可能ＲＯＭの場合であっても、記憶されている内容を書き換え不可に設定したい場合もある。
【００６０】
そこで、書き換え可能ＲＯＭの場合であっても、デバイス種類を示すデータを、マスクＲＯＭを表すデータへと変更しておくことで、擬似的にマスク化し、不本意な書き換えが発生しないようにすることも可能である。
【００６１】
第３の実施形態においては、ハード的な信号線を用いてＲＯＭの種別を判別していたが、第２の実施形態と同様に、ＣＰＵ３から受信したＲＯＭの種別を表す情報に基づいてＲＯＭの種別を判別してもよい。すなわち、ＲＯＭの種別を表す情報と書き換え可否を表す情報の双方がステータスとして受信されることになり、専用の信号線が不要となり利点もある。
【００６２】
また、ＤＪＵＤＧＥ用の信号線は他の用途と共用してもよい。例えば、初期化シーケンスの際など所定のタイミングでのみＣＰＵ３がＲＯＭの種別情報を当該信号線から出力するようにし、コントローラ４はそのタイミングに同期してＲＯＭの種別情報を受信して、予めＲＡＭなどの記憶装置に記憶しておき、更新処理が起動されると当該ＲＡＭから種別情報を読み出して、上述の更新処理を実行してもよい。このように上記の信号線は、ＲＯＭの種別情報が出力される所定のタイミングを除き、他の用途に用いることも可能になる。
【００６３】
また、上述の実施形態では、プリンタ、複写機、複合機及びファクシミリ装置などの画像形成装置を例に説明したが、本発明の技術思想においても適用可能である。すなわち、書き換え可能なＲＯＭに制御プログラムを記憶し、当該制御プログラムに従って情報処理を行うＣＰＵを備えた情報処理装置であれば、同様に本発明を適用できることはいうまでもない。
【００６４】
【発明の効果】
本発明によれば、制御プログラムの更新要求があった場合に、搭載されているＲＯＭの種別を判別してから更新処理を実行するため、安全に制御プログラムの更新を行うことが可能になる。
【図面の簡単な説明】
【図１】第１の実施形態に係る画像形成装置の構成例を示したブロック図である。
【図２】第１の実施形態に係る画像形成エンジンの構成例を示した図である。
【図３】第１の実施形態に係る初期（イニシャル）シーケンスを示したフローチャートである。
【図４】第１の実施形態に係る出力ポートの構成例を示した図である。
【図５】第１の実施形態に係る出力ポートからの信号出力例を示した図である。
【図６】第１の実施形態に係る更新処理サブルーチンのフローチャートである。
【図７】第２の実施形態に係る画像形成装置の構成例を示したブロック図である。
【図８】第２の実施形態に係る更新処理サブルーチンのフローチャートである。
【図９】第２の実施形態に係る半二重クロック同期式シリアル通信を説明するための図である。
【図１０】第２の実施形態に係るデバイス種別情報の返信処理に関するフローチャートである。
【図１１】第２の実施形態に係るＣＰＵのメモリ空間の例を示す図である。
【図１２】第３の実施形態に係る更新処理サブルーチンのフローチャートである。
【符号の説明】
１・・・・画像形成装置
２・・・・ＤＣコントローラ
３・・・・ＣＰＵ
４・・・・コントローラ
５・・・・ＰＣ（パーソナルコンピュータ）
１０２・・・・現像器ユニット
１０３・・・・搬送ベルト
１０７・・・・レーザ光
１０８・・・・感光ドラム
１１２・・・・転写材
１１３・・・・レーザ・スキャナユニット
１２０・・・・転写ローラ
１２１・・・・定着器ユニット
１２３・・・・現像剤容器
１３１・・・・給送用ユニット
１３２・・・・ピックアップローラ
１３４・・・・給送ローラ
１４０・・・・帯電ローラ
１４１・・・・現像ローラ
【図１】
2004291496.tif 000003
【図２】
2004291496.tif 000004
【図３】
2004291496.tif 000005
【図４】
2004291496.tif 000006
【図５】
2004291496.tif 000007
【図６】
2004291496.tif 000008
【図７】
2004291496.tif 000009
【図８】
2004291496.tif 000010
【図９】
2004291496.tif 000011
【図１０】
2004291496.tif 000012
【図１１】
2004291496.tif 000013
【図１２】
2004291496.tif 000014