(57)【要約】【課題】マスクＲＯＭに記憶されている制御プログラムに何らかの変更を加えなければならない場合には、それまでのマスクＲＯＭを全て廃棄して新たにマスクＲＯＭを開発する必要がある。【解決手段】制御プログラムを不揮発に記憶するフラッシュＲＯＭ３５４と、フラッシュＲＯＭ３５４に記憶されている制御プログラムの更新が指示されるとマスクＲＯＭ３５３に記憶されているプログラムに制御を移行し、そのマスクＲＯＭ３５３に記憶されているプログラムの制御の下で、更新される制御プログラムを受信してフラッシュＲＯＭ３５４に書込む。こうして書込みが終了してフラッシュＲＯＭ３５４の制御プログラムの更新が完了すると、その更新された制御プログラムに基づく制御に切り換える。また、その制御プログラムの更新処理が正常に終了したかどうかを示す情報をＥＥＰＲＯＭに記憶しておき、その情報に基づいて制御処理を切り替える。【選択図】  図３
2005028676.tif 000002
【特許請求の範囲】
【請求項１】
画像形成プロセスを制御する制御手段を有する画像形成装置であって、
前記制御手段において実行される制御プログラムを不揮発に記憶する第１記憶手段と、
前記第１記憶手段に記憶されている前記制御プログラムの更新が指示されると第２記憶手段に記憶されているプログラムに制御を移行する制御移行手段と、
前記第２記憶手段に記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第１記憶手段に書込む書込み手段と、
前記書込み手段により書込みが終了して前記第１記憶手段の更新が完了すると、前記制御手段による制御を前記第１記憶手段で更新された前記制御プログラムに基づく制御に切り換える手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記制御手段は、画像形成プロセスの機構部を制御するエンジン制御部と、印刷データの受信及び画像データへの展開を制御するプリンタコントローラとを有し、
前記更新される制御プログラムは前記プリンタコントローラで受信されて前記エンジン制御部に送られて前記第１記憶手段に書込まれることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記書込み手段により書込みが終了して前記第１記憶手段の更新が正常に完了したか否かを示す情報を不揮発に記憶する不揮発メモリを更に有することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記第１記憶手段はフラッシュＲＯＭであり、前記第２記憶手段はマスクＲＯＭであることを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記第１及び第２記憶手段はフラッシュＲＯＭであり、それぞれ当該フラッシュＲＯＭの別々のメモリエリアに設けられていることを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
画像形成プロセスを制御する制御手段を有する画像形成装置におけるプログラム更新方法であって、
第１メモリに記憶されている制御プログラムの更新が指示されると第２メモリに記憶されているプログラムに制御を移行する制御移行工程と、
前記第２メモリに記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第１メモリに書込む書込み工程と、
前記書込み工程で書込みが終了して前記第１メモリの更新が完了すると、前記制御手段による制御を前記第１メモリで更新された前記制御プログラムに基づく制御に切り換える工程と、
を有することを特徴とする画像形成装置におけるプログラム更新方法。
【請求項７】
前記画像形成装置は、画像形成プロセスの機構部を制御するエンジン制御部と、印刷データの受信及び画像データへの展開を制御するプリンタコントローラとを有し、
前記更新される制御プログラムは前記プリンタコントローラで受信されて前記エンジン制御部に送られて前記第１メモリに書込まれることを特徴とする請求項６に記載のプログラム更新方法。
【請求項８】
前記書込み工程で書込みが終了して前記第１メモリの更新が正常に完了したか否かを示す情報を不揮発に記憶する工程を更に有することを特徴とする請求項６又は７に記載のプログラム更新方法。
【請求項９】
前記第１メモリはフラッシュＲＯＭであり、前記第２メモリはマスクＲＯＭであることを特徴とする請求項６乃至８のいずれか１項に記載のプログラム更新方法。
【請求項１０】
前記第１及び第２メモリはフラッシュＲＯＭであり、それぞれ当該フラッシュＲＯＭの別々のメモリエリアに設けられていることを特徴とする請求項６乃至８のいずれか１項に記載のプログラム更新方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御プログラムを書換可能な不揮発メモリに記憶している画像形成装置及び前記装置におけるプログラム更新方法に関するものである。
【０００２】
【従来の技術】
従来より、画像信号に応じてレーザ光を変調し、その変調したレーザ光により静電潜像を形成し、記録紙にトナー画像を転写して記録する電子写真プリンタが知られている。このようなプリンタの動作を制御している制御部には、マイクロコンピュータなどのＣＰＵやそのＣＰＵの制御プログラムや各種データを記憶しているＲＯＭが設けられている。このようなＲＯＭは製造コスト等の点で有利なように、マスク化されたＲＯＭが使用されている。
【０００３】
【発明が解決しようとする課題】
このようなマスクＲＯＭは安価であり量産性に優れている。しかしながら、例えば、装置の仕様変更などにより、このマスクＲＯＭに記憶されている制御プログラムに何らかの変更を加えなければならない場合には、それまでのマスクＲＯＭを全て廃棄して新たにマスクＲＯＭを開発する必要がある。これでは、仕様変更により、多くの無駄が発生することになり、また新たな装置の開発に多大な時間を要してしまうことになる。このような理由により、市場からの多様なニーズに対して柔軟に対応することができなかった。
【０００４】
本発明は上記従来例に鑑みてなされたもので、制御プログラムを不揮発なメモリに記憶しておき、その制御プログラムを更新できるようにした画像形成装置及び前記装置におけるプログラム更新方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために本発明の画像形成装置は以下のような構成を備える。即ち、
画像形成プロセスを制御する制御手段を有する画像形成装置であって、
前記制御手段において実行される制御プログラムを不揮発に記憶する第１記憶手段と、
前記第１記憶手段に記憶されている前記制御プログラムの更新が指示されると第２記憶手段に記憶されているプログラムに制御を移行する制御移行手段と、
前記第２記憶手段に記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第１記憶手段に書込む書込み手段と、
前記書込み手段により書込みが終了して前記第１記憶手段の更新が完了すると、前記制御手段による制御を前記第１記憶手段で更新された前記制御プログラムに基づく制御に切り換える手段とを有することを特徴とする。
【０００６】
上記目的を達成するために本発明の画像形成装置におけるプログラム更新方法は以下のような構成を備える。即ち、
画像形成プロセスを制御する制御手段を有する画像形成装置におけるプログラム更新方法であって、
第１メモリに記憶されている制御プログラムの更新が指示されると第２メモリに記憶されているプログラムに制御を移行する制御移行工程と、
前記第２メモリに記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第１メモリに書込む書込み工程と、
前記書込み工程で書込みが終了して前記第１メモリの更新が完了すると、前記制御手段による制御を前記第１メモリで更新された前記制御プログラムに基づく制御に切り換える工程とを有することを特徴とする。
【０００７】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【０００８】
［実施の形態１］
図１は、本発明の実施の形態１に係る画像形成装置の一例である電子写真プリンタの機構部の概略断面を説明する図である。
【０００９】
図において、２０１は感光体ドラムで、レーザ光の照射により、その表面に静電潜像が形成される。２０２は帯電ローラで、感光体ドラム２０１の表面を一様に帯電する。２０３は現像器で、感光体２０１上の静電潜像をトナー像化する。２０４は転写ローラで、現像器２０３により現像されたトナー像を用紙に転写させる。２０５は光学ユニットで、レーザビーム２０６を感光ドラム２０１上で走査させる。２０７は定着器で、トナー像が転写された用紙上のトナーを溶融して用紙に定着させる。２０８は給紙カセットで、印刷するための用紙を積載して収容している。２０９はピックアップローラで、給紙カセット２０８から用紙をピックアップする。２１０は手差しトレイ、２１１は手差し給紙ローラで、手差しトレイ２１０から給紙された用紙を給送する。２１２は排出ローラで、画像が転写されて定着された用紙を装置外へ排出する。２１３はレジストセンサで、搬送されてきた用紙の印刷のための先端レジストをとる。２１４は排紙センサで、用紙が正常に定着器２０７を通過して排出されたかどうかを確認するためのセンサである。２１５は給紙カセット２０８における用紙の有無を検出する用紙センサ、２１６は手差し用紙の有無を検出するためのセンサである。
【００１０】
図１に示す各部は、プリンタコントローラ３０１（図２）からの指示に基づいて、その動作が制御されている。
【００１１】
図２は、この実施の形態１に係る電子写真プリンタの機能構成を示すブロック図である。ここでは、プリンタコントローラ３０１とプリンタエンジン（図１に示す機構部を含む）を制御するエンジン制御部３０２との間の情報授受がビデオインタフェース制御部３１６により行われている。
【００１２】
プリンタコントローラ３０１は、外部機器であるホストコンピュータ３１９との間での通信制御及び画像データの受信処理、及び受け取った画像データをプリンタエンジンが印刷可能な情報に展開する処理等を実行している。更に、後述するエンジン制御部３０２との間で信号のやり取り及びシリアル通信を行っている。このプリンタコントローラ３０１は表示パネル３２０と接続されており、シリアル通信により入手したエンジン制御部３０２からの情報を、この表示パネル３２０に表示してユーザに報知することができる。エンジン制御部３０２は、プリンタコントローラ３０１との間で信号のやり取り、シリアル通信を介してプリンタエンジンの各ユニットの制御を行う。
【００１３】
以下、このエンジン制御部３０２に接続されている各部を説明する。
【００１４】
３０３は用紙搬送制御部で、プリントする用紙を給紙搬送しており、プリントした後の排紙までの用紙の搬送をエンジン制御部３０２の指示に基づいて実行する。３０４は光学系制御部で、光学ユニット２０５のスキャナモータの回転駆動及びレーザのオン／オフ制御をエンジン制御部３０２の指示に基づき実行する。３０５は高圧系制御部で、帯電、現像、転写等の電子写真プロセスに必要な高圧出力をエンジン制御部３０２の指示に基づき実行する。３０６は定着温度制御部で、エンジン制御部３０２の指示に基づき、定着器２０７の温度制御を行なうとともに、定着器２０７の異常検出等を行う。３０７は紙有無センサ入力部で、給紙部及び紙搬送路内の用紙有無センサの情報をエンジン制御部３０２に伝達する。３０８はジャム検出部で、用紙搬送中の搬送不良を検出する。３０９は故障検出部で、プリンタ内の機能部の故障を検出する。
【００１５】
次に、プリンタコントローラ３０１とエンジン制御部３０２との間の信号に着いて説明する。
【００１６】
３１０は／ＣＣＲＴ信号で、エンジン制御部３０２がプリンタエンジン内部の状態の変化をプリンタコントローラ３０１に報知するための状態変化信号である。３１１は／ＳＣ信号で、シリアル通信におけるコマンド／ステータス信号であり、プリンタコントローラ３０１からエンジン制御部３０２に出力されるコマンドと、エンジン制御部３０２からプリンタコントローラ３０１に出力されるステータスとを双方向でやり取りする。３１２はシリアルクロックである／ＳＣＬＫ信号で、コマンドとステータスをクロック同期で転送するための同期信号である。３１３は／ＴＯＰ信号で、用紙がレジストセンサ２１３に到達して垂直同期を取るためにエンジン制御部３０２からプリンタコントローラ３０１に出力される。３１４は水平同期信号である／ＢＤ信号で、回転多面鏡の各面毎に走査されるビームに同期して出力される。３１５は画像信号（／ＶＤＯ）で、プリンタコントローラ３０１からエンジン制御部３０２に出力される。なお、上記信号名において、「／」はその信号が負論理（ロウツルー）であることを示している。
【００１７】
３１６はビデオインタフェース制御部で、エンジン制御部３０２内にあって、プリンタコントローラ３０１からのシリアル通信のコマンドを判断し、そのコマンドがビデオインタフェース信号のチェックモードへの遷移を指示するものであった場合には、プリンタエンジンをその特殊モードに遷移させビデオインタフェース上の各信号をチェックする。ホストコンピュータ３１９は、プリンタコントローラ３０１に対してビデオインタフェース・チェックモードへの遷移指示を行うとともに、プリンタコントローラ３０１に画像コードデータを送信する。３１８はＥＥＰＲＯＭで、エンジン制御部３０２が直接読み書き可能であり、電気的に書き換え可能な不揮発性メモリである。このＥＥＰＲＯＭ３１８には、エンジン制御部３０２の制御プログラムが内蔵されているフラッシュＲＯＭ３５４（図３）の書き換え作業において、書き換え作業が開始する直前にＥＥＰＲＯＭ３１８の所定のビットをクリアし、フラッシュＲＯＭ３５４の書き換えが開始したことがわかるようにする。またフラッシュＲＯＭ３５４の書き換えが全て正常に行えたことをもって、このビットをセットするようにすることにより、ＥＥＰＲＯＭ３１８の所定ビットは、通常のエンジン動作モードを実行する際には必ずセットされていることになる。
【００１８】
図３は、本実施の形態に係るエンジン制御部３０２のより詳細な機能構成を示すブロック図である。
【００１９】
ＣＰＵ３５０は中央演算ユニットであり、内部アドレス／データバス３５１を介して様々な機能についてコントロールが可能である。内部アドレス／データバス３５１は、ＣＰＵ３５０と各種機能とを接続している。３５２はＲＡＭで、後述するＲＯＭやフラッシュＲＯＭ３５４のプログラムに基づき読み書きするフラグやデータなどを一時的に記憶する。３５３はマスクＲＯＭで、本実施の形態では、このマスクＲＯＭ３５３の領域内に、後述するフラッシュＲＯＭ３５４の書き換え用のプログラム及び、フラッシュＲＯＭ３５４のデータが正しく書き換えられているか否かをＥＥＰＲＯＭ３１８のデータに基づき判定すると共に、プリンタコントローラ３０１に対してシリアル通信を実施するためのプログラムを記憶しておく。フラッシュＲＯＭ３５４は通常のプリンタとしての動作を行う場合のエンジン制御のためのプログラムが記憶されている。そして後述するプリンタコントローラ３０１からのフラッシュＲＯＭ３５４の書き換えモードへの遷移要求コマンドを受けることにより、前述したマスクＲＯＭ３５４の領域へプログラムをジャンプさせる機能も併せ持つ。つまり、通常のプリント動作を行っている最中であっても、プリンタコントローラ３０１からフラッシュＲＯＭ３５４の書き換えの指示を受けた場合には、各種Ｉ／Ｏ、例えば定着温調、モータ、スキャナ、高圧などの出力を全てオフした後、マスクＲＯＭ３５３のプログラムに遷移させて、自らのフラッシュＲＯＭ３５４の書き換えモードに遷移することができる。
【００２０】
３５５はタイマ制御部であり、電子写真プロセスを制御する上で、例えば用紙の搬送をする際の給紙タイミングや、高圧の印加タイミングなどの正確な時間管理が必要なケースにおいて、時間を掲示するための機能を持ち、これもＣＰＵ３５０に対してはアドレス／データバス３５１を介して接続されている。３５６は割り込み制御部で、緊急度を有する外部入力信号を外部割込み信号として取り込んだり、内部に発生する様々なイベントに対して処理しており、この割込み制御部３５６もＣＰＵ３５０とアドレスデータバス３５１によって接続されている。３５７はシリアル通信制御部で、前述したプリンタコントローラ３０１とのシリアル通信におけるシリアルデータの受信／送信を行う。３５８はアナログ／デジタル変換制御部で、各種アナログ入力、例えば定着器２０７の温度やレーザの光量などを入力し、デジタル信号に変換してＣＰＵ３５０に伝達するもので、ＣＰＵ３５０とは内部のアドレスデータバス３５１に接続されている。
【００２１】
以上のような構成において、マスクＲＯＭエリア３５３のプログラムが実行する処理は、図４に示すようなフローチャートにフラッシュＲＯＭ３５４の書き換え作業を実行する。
【００２２】
まず、電源投入及びプリンタコントローラ３０１からのコマンド或いはハードウェア信号によるソフトリセット指示により動作するプログラムは、このマスクＲＯＭ３５３のプログラムから開始される。
【００２３】
このマスクＲＯＭ３５３のプログラムでは、まずステップＳ１で、ＣＰＵ３５０の初期化を行い各種アクチュエータをはじめとする出力信号をイニシャル状態にセットする。その初期化直後に、ＥＥＰＲＯＭ３１８の所定アドレス（ここではアドレスＮとする）のデータを読み取り、その値が「０ＡＡｈ」かどうかをチェックする。この「０ＡＡｈ」は、フラッシュＲＯＭ３５４の書き換えが全て正常に完了した際に、ＥＥＰＲＯＭ３１８のアドレスＮに書き込まれるデータであり、このデータ以外であった場合には、フラッシュＲＯＭ３５４の書き換えが前回中断しているか、何らかの原因により失敗している可能性があるためにステップＳ４に進み、フラッシュＲＯＭ３５４の異常フラグ（ＥＥＰＲＯＭ３１８に記憶する）をオンにする。そしてステップＳ２５に進みエラー処理を実行する。即ち、ここではその後の処理で書き換え要求がプリンタコントローラ３０１から送信されて来なかった場合には、エンジン制御部３０２からプリンタコントローラ３０１に対してフラッシュＲＯＭ３５４の書き換えを要求するためのステータスをシリアル通信上で返送する。これによりプリンタコントローラ３０１は、このステータスにより、フラッシュＲＯＭ３５４に異常がある可能性があるものと判断して、ユーザに対してフラッシュＲＯＭ３５４の書き換えを促すメッセージを表示パネル３２０に表示する。
【００２４】
ステップＳ３で、ＥＥＰＲＯＭ３１８のアドレスＮに「０ＡＡｈ」が書き込まれている場合（正常動作時）はステップＳ５に進み、フラッシュＲＯＭ３５４は正常であると判断し、プリンタコントローラ３０１とのシリアル通信を開始してコマンドを受信する（ステップＳ６）。そしてステップＳ７に進み、そのコマンドがフラッシュＲＯＭ３５４の書き換えを要求するコマンドかどうかを調べ、そうであればステップＳ８に進み、フラッシュＲＯＭ３５４の書き換えモードに進むが、そうでない場合にはステップＳ２２に進み、通常のプリンタ動作モードに遷移する。
【００２５】
フラッシュＲＯＭ３５４の書き換えモードに遷移した場合にはステップＳ８で、フラッシュＲＯＭ３５４の全エリアをクリアする。次にステップＳ９に進み、プリンタコントローラ３０１から受けたコマンドを受信すると一旦ＲＡＭ３５２に格納してステップＳ１０に進み、そのコマンドを解析する。次にステップＳ１１に進み、そのコマンドの内容に応じて、順次所定のアドレスのデータを、そのフラッシュＲＯＭ３５４の各アドレスに順次書き込む。これによりプリンタコントローラ３０１から送られてくるプログラムを、フラッシュＲＯＭ３５４の対応するアドレスに順次書込むことができる。そしてステップＳ１２に進み、その書き込んだデータを再度読み取り、ＲＡＭ３５２に記憶されている受信したデータとベリファイ動作を行う。このベリファイの結果、ステップＳ１３で異常があった場合にはステップＳ２１に進み、再度同じデータを書き込んでベリファイ動作を行う。それでも異常がある場合には、フラッシュＲＯＭ３５４自身に何らかの異常があるものと判断してプリンタコントローラ３０１に対して異常を報知する。
【００２６】
ステップＳ１３でエラーが発生していない時はステップＳ１４に進み、書き込みと、そのベリファイ処理を続けて実行し、ステップＳ１４で全てのアドレスの書き換えが終了した時点でステップＳ１５に進み、プリンタコントローラ３０１にその旨を報知すると共に、ＥＥＰＲＯＭ３１８のアドレスＮに書き換えが完了したことを示すデータ「０ＡＡｈ」を書き込む。そしてステップＳ１６で、そのアドレスＮのデータを読み取り、「０ＡＡｈ」であることを確認するとステップＳ１８に進む。この確認処理を失敗するとステップＳ２０に進み、再度リトライ処理を実行し、ＯＫであればステップＳ１８に進むが、そうでない時はプリンタコントローラ３０１にその旨を報知してエラー処理を実行する。こうしてＥＥＰＲＯＭ３１８のアドレスＮに正常にデータを書込むことができるとステップＳ１８に進み、ユーザによる電源オフ／オンを待つか、或いは、プリンタコントローラ３０１からのソフトリセット要求が来るまでは、その状態を保持する。
【００２７】
尚、ユーザビリティの観点からは、書き換え作業が終了した時点でソフトリセットを行って、ユーザの手を介さずに通常のプリンタ動作に移行できるようにすることが望ましい。こうしてステップＳ１８でリセットコマンドを受信するとステップＳ１９に進み、リセット処理を実行する。
【００２８】
またステップＳ７で、フラッシュＲＯＭ３５４の書き換えコマンドの受信でない時はステップＳ２２に進み、前述のステップＳ４でＥＥＰＲＯＭ３１８に書込まれたフラッシュＲＯＭ３５４の異常フラグがオンかどうかを調べ、そうであればステップＳ２３に進み、プリンタコントローラ３０１に対してフラッシュＲＯＭ３５４の書き換えを要求する。またステップＳ２２で、フラッシュＲＯＭ３５４の異常フラグがオフの場合はステップＳ２４に進み、フラッシュＲＯＭ３５４に記憶されているプログラムにジャンプする。
【００２９】
以上のように、マスクＲＯＭ３５３にフラッシュＲＯＭ３５４のアップデート処理やプリンタコントローラ３０１からのデータ受信プログラム等を書込んでおき、フラッシュＲＯＭ３５４にエンジン制御部３０２の制御プログラムを格納するように構成することで、必要に応じて、フラッシュＲＯＭ３５４に記憶されている制御プログラムを更新することができる。更に、ＥＥＰＲＯＭ３１８にフラッシュＲＯＭ３５４の書き換え完了を示す情報を書き込んでおくことにより、その情報に基づいて、フラッシュＲＯＭ３５４の制御プログラムが正常に格納されているかどうかを判別することができ、プリンタの信頼性向上に貢献することができる。
【００３０】
［実施の形態２］
本発明の実施の形態２では、前述の実施の形態１のように、フラッシュＲＯＭの書き換え終了を示すデータを記憶する不揮発性メモリ（ＥＥＰＲＯＭ）を設けるのではなく、そのデータをフラッシュＲＯＭ３５４の所定領域に記憶する場合で説明する。
【００３１】
また、書き換えプログラムについても、マスクＲＯＭ３５３ではなくフラッシュＲＯＭ３６１の所定のアドレス領域に持たせる場合で示している。この場合、フラッシュＲＯＭ３６１は所定の領域ごとにセクタと呼ばれる領域に区分されている。本実施の形態２におけるセクタは、８Ｋバイトごとにエリアが分割されている場合について説明する。
【００３２】
フラッシュＲＯＭ３６１の書き換えは、このセクタごとに、フラッシュ、次いで書き換える作業が可能である。従って、予め決められたセクタには前述の実施の形態１で示したマスクＲＯＭ３５３に相当するプログラムが書き込まれ、このエリアは、フラッシュＲＯＭ３６１の書き換え時に書き換えを行わない領域として定義する。また、別の所定のセクタについては、前述の実施の形態１におけるＥＥＰＲＯＭ３１８に相当するフラッシュＲＯＭ３６１の書き換え完了を示すデータを書き込んでおく。このようにすることで、別のメモリを使用することなく前述の実施の形態１と同様の処理を行うことができる。
【００３３】
図５は、本実施の形態２に係るエンジン制御部３０２のＣＰＵ３５０の周辺の機能ブロックを示したものである。尚、この図５において、前述の実施の形態１の図３と共通する部分は同じ記号で示し、その説明を省略する。
【００３４】
３６０はアドレスデコーダで、アドレスデータをデコードして所定のエリアに相当するフラッシュＲＯＭ３６１のセクタに対してのみアクセスできるようにイネーブル信号を出力する。このフラッシュＲＯＭ３６１は、上述のように８つのセクタに分かれており、各々のエリアをセクタ１〜８と称する。ここでは、セクタ１に、前述の実施の形態１で説明したマスクＲＯＭ３５３に記憶されていたプログラムに相当するプログラムを記憶させる。このセクタ１は、ＣＰＵ３５０の初期動作とプリンタコントローラ３０１とのシリアル通信、或いはフラッシュＲＯＭ３６１の書き換えの制御を行うものであり、仮にフラッシュＲＯＭ３６１の書き換えのモードになった場合でも、このエリアについては書き換えを行わないようにプログラム上で制御されるものである。
【００３５】
セクタ２〜７は、通常のプリンタとしての動作を制御するためのプログラムが書き込まれている領域であり、このエリアはフラッシュＲＯＭ３６１の書き換えモードで書き換えの対象になる領域である。セクタ８は、前述の実施の形態１において、ＥＥＰＲＯＭ３１８に書込まれたデータ、つまりフラッシュＲＯＭ３６１の書き換えが正常終了したか否かをしめす情報を記憶するための領域である。プリンタコントローラ３０１からのフラッシュＲＯＭ３６１の書き換えの際には書き換えを行わずに、書き換え動作が正常終了したときに、セクタ１のプログラムによって、独自に書き換えが正常終了したか否かの情報が書き込まれるエリアである。
【００３６】
このような構成によれば、ＲＯＭとしてフラッシュＲＯＭ３６１だけの構成で前述の実施の形態１と全く同様の効果を得ることができる。
【００３７】
［実施の形態３］
本発明の実施の形態３では、フラッシュＲＯＭの書き換えモードを実行する際におけるプリンタコントローラ３０１とエンジン制御部３０２との間でのシリアル通信について説明する。ここでのシリアル通信は、パリティを含む１６ビットのクロック同期式のシリアル通信である。プリンタコントローラ３０１からのコマンドに対して、１対１でエンジン制御部３０２からステータスを返送する形式になっている。フラッシュＲＯＭの書き換えモードにおいても、この物理的な通信形態は変えずに、内部のデータのハンドリングを切り換えるものとする。尚、本実施の形態３では、フラッシュＲＯＭのアドレスは１６ビット長、データは８ビット長として説明する。
【００３８】
１６ビットのアドレスは、８ビットと８ビットに分割され、２回の通信でエンジン制御部３０２に伝送される。その後、そのアドレスに格納される８ビットのデータを送信する。その後、エンジン制御部３０２から書き換え終了のステータスがプリンタコントローラ３０１に返送されると、再度同一のアドレスの読み出しを行う。その際も、１６ビットアドレスを８ビットと８ビットに分割され、後半のアドレス情報設定コマンドに対するステータスにそのアドレスのデータが返送される。これにより、ベリファイ動作が可能になる。そのようにして順次書き換え動作を行っていく。
【００３９】
図６は、このシリアル通信を説明する図である。
【００４０】
ステータスライン（／ＳＣ）は、コマンドとステータスを兼用しており、シリアルクロック（／ＳＣＬＫ）はプリンタコントローラ３０１から出力される。
【００４１】
プリンタコントローラ３０１から出力される１６ビットのコマンドデータ６００に対して、エンジン制御部３０２から１６ビットのステータスデータ６０１を返送する。その際、エンジン制御部３０２側のステータス返送開始タイミングは、ステータスラインを一旦ロウレベルに変化させることで、プリンタコントローラ３０１が認識できる。
【００４２】
図７は、この実施の形態３に係るフラッシュＲＯＭの書き換えモードにおける１６ビットのコマンドデータのビット構成を説明する図である。
【００４３】
ＭＳＢ（最上位ビット）は、シリアルクロックの最初に出力されるビットを示している。コマンドデータは、８ビットのデータエリア（ビット８乃至ビット１５）と、コマンドの種類を指定する６ビット（ビット２乃至ビット６）のコード及びフラッシュＲＯＭの書き換えモードにおけるコマンドであることを示す１ビット（ビット１）と奇数パリティ（ＬＳＢ）で構成されている。
【００４４】
図８は、本実施の形態に係る１６ビットのステータスデータのビット構成を説明する図である。
【００４５】
ステータスデータは８ビットのデータエリア（ビット８乃至ビット１５）と、６ビットのステータスコードエリア（ビット２乃至ビット７）と奇数パリティ（ＬＳＢ）で構成されている。
【００４６】
図９は、この実施の形態に係るフラッシュＲＯＭの書換えモード時におけるコマンドとステータスの関係を説明する図である。
【００４７】
図９において、ＣＭＤ０〜ＣＭＤ２は、プリンタコントローラ３０１がエンジン制御部３０２に対してフラッシュＲＯＭの書き換えモードに遷移させるためのコマンドであり、ＣＭＤ０→ＣＭＤ１→ＣＭＤ２の順番にコマンドが発行され、全て正常に受け付けられることによりエンジン制御部３０２はフラッシュＲＯＭの書き換えモードに遷移する。このフラッシュＲＯＭの書き換えモードに遷移した場合には、図９に登録されたコマンド以外は受け付けない。また通常のプリンタ動作モードにおいては、ＣＭＤ０以外は受け付けない。
【００４８】
但し、ＣＭＤ０を受け付けた場合には、続けてＣＭＤ１のコマンドのみ受け付け、それ以外のコマンドを受けた場合には、前に受け取ったＣＭＤ０の受信履歴はキャンセルする。このようにして間違ってフラッシュＲＯＭ書き換えモードに遷移してしまうことを防止している。
【００４９】
また図９において、ＣＭＤ１１は、現在指定しているアドレスが、書き換えが必要なエリアに対して何％の位置にあるかをエンジン制御部３０２に要求するためのコマンドである。このコマンドを受け付けるとエンジン制御部３０２は、プリンタコントローラ３０１に対して８ビットのデータ上にアドレスの割合を１０進データとして、０％〜１００％を１％刻みで表わすデータとして返送する。このステータスにより、プリンタコントローラ３０１はエンジン制御部３０２のフラッシュＲＯＭの書き換え中に、残りの書き換えアドレスがどの程度あるかを認識でき、その情報をプリンタの表示パネル３２０や、ホストコンピュータ３１９のプリンタドライバを介してユーザに報知することができる。
【００５０】
図１０は、この実施の形態におけるプリンタコントローラ３０１とエンジン制御部３０２との間でのコマンドとステータスのやり取りを説明する図である。
【００５１】
また図１１は、これらプリンタコントローラ３０１とエンジン制御部３０２とのシリアル信号の入出力ドライバ回路の具体例を説明する図である。
【００５２】
［他の実施の形態］
本発明の目的は前述したように、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００５３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【００５４】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【００５５】
【発明の効果】
以上説明したように本発明によれば、制御プログラムを不揮発なメモリに記憶しておき、その制御プログラムを更新できるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るレーザビームプリンタのプリンタエンジンの概略構成を示す図である。
【図２】本実施の形態に係るプリンタの機能構成を示すブロック図である。
【図３】本実施の形態１に係るエンジン制御部の機能構成を示すブロック図である。
【図４】本実施の形態に係るエンジン制御部におけるフラッシュＲＯＭの書き換え処理を説明するフローチャートである。
【図５】本発明の実施の形態２に係るエンジン制御部の機能構成を示すブロック図である。
【図６】本実施の形態におけるプリンタコントローラとエンジン制御部との間のシリアル通信を説明する図である。
【図７】本実施の形態におけるプリンタコントローラとエンジン制御部との間のシリアル通信におけるコマンドデータビットを説明する図である。
【図８】本実施の形態におけるプリンタコントローラとエンジン制御部との間のシリアル通信におけるステータスデータビットを説明する図である。
【図９】本実施の形態におけるエンジン制御部によるフラッシュＲＯＭの書き換えモード時のコマンド／ステータスを説明する図である。
【図１０】本実施の形態におけるプリンタコントローラとエンジン制御部との間の信号を説明する図である。
【図１１】本実施の形態におけるプリンタコントローラとエンジン制御部との間の信号ドライバ回路を説明する図である。
【図１】
2005028676.tif 000003
【図２】
2005028676.tif 000004
【図３】
2005028676.tif 000005
【図４】
2005028676.tif 000006
【図５】
2005028676.tif 000007
【図６】
2005028676.tif 000008
【図７】
2005028676.tif 000009
【図８】
2005028676.tif 000010
【図９】
2005028676.tif 000011
【図１０】
2005028676.tif 000012
【図１１】
2005028676.tif 000013