JP2005028676A - 画像形成装置及び前記装置におけるプログラム更新方法 - Google Patents
画像形成装置及び前記装置におけるプログラム更新方法 Download PDFInfo
- Publication number
- JP2005028676A JP2005028676A JP2003194886A JP2003194886A JP2005028676A JP 2005028676 A JP2005028676 A JP 2005028676A JP 2003194886 A JP2003194886 A JP 2003194886A JP 2003194886 A JP2003194886 A JP 2003194886A JP 2005028676 A JP2005028676 A JP 2005028676A
- Authority
- JP
- Japan
- Prior art keywords
- control
- program
- image forming
- memory
- writing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 41
- 230000008569 process Effects 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 27
- 238000012546 transfer Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 14
- 230000008859 change Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 12
- 230000005856 abnormality Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 101000711846 Homo sapiens Transcription factor SOX-9 Proteins 0.000 description 2
- 101100232371 Hordeum vulgare IAT3 gene Proteins 0.000 description 2
- 102100034204 Transcription factor SOX-9 Human genes 0.000 description 2
- 238000007600 charging Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012052 concurrent chemoradiation therapy Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000155 melt Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G15/00—Apparatus for electrographic processes using a charge pattern
- G03G15/50—Machine control of apparatus for electrographic processes using a charge pattern, e.g. regulating differents parts of the machine, multimode copiers, microprocessor control
Abstract
【課題】マスクROMに記憶されている制御プログラムに何らかの変更を加えなければならない場合には、それまでのマスクROMを全て廃棄して新たにマスクROMを開発する必要がある。
【解決手段】制御プログラムを不揮発に記憶するフラッシュROM354と、フラッシュROM354に記憶されている制御プログラムの更新が指示されるとマスクROM353に記憶されているプログラムに制御を移行し、そのマスクROM353に記憶されているプログラムの制御の下で、更新される制御プログラムを受信してフラッシュROM354に書込む。こうして書込みが終了してフラッシュROM354の制御プログラムの更新が完了すると、その更新された制御プログラムに基づく制御に切り換える。また、その制御プログラムの更新処理が正常に終了したかどうかを示す情報をEEPROMに記憶しておき、その情報に基づいて制御処理を切り替える。
【選択図】 図3
【解決手段】制御プログラムを不揮発に記憶するフラッシュROM354と、フラッシュROM354に記憶されている制御プログラムの更新が指示されるとマスクROM353に記憶されているプログラムに制御を移行し、そのマスクROM353に記憶されているプログラムの制御の下で、更新される制御プログラムを受信してフラッシュROM354に書込む。こうして書込みが終了してフラッシュROM354の制御プログラムの更新が完了すると、その更新された制御プログラムに基づく制御に切り換える。また、その制御プログラムの更新処理が正常に終了したかどうかを示す情報をEEPROMに記憶しておき、その情報に基づいて制御処理を切り替える。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、制御プログラムを書換可能な不揮発メモリに記憶している画像形成装置及び前記装置におけるプログラム更新方法に関するものである。
【0002】
【従来の技術】
従来より、画像信号に応じてレーザ光を変調し、その変調したレーザ光により静電潜像を形成し、記録紙にトナー画像を転写して記録する電子写真プリンタが知られている。このようなプリンタの動作を制御している制御部には、マイクロコンピュータなどのCPUやそのCPUの制御プログラムや各種データを記憶しているROMが設けられている。このようなROMは製造コスト等の点で有利なように、マスク化されたROMが使用されている。
【0003】
【発明が解決しようとする課題】
このようなマスクROMは安価であり量産性に優れている。しかしながら、例えば、装置の仕様変更などにより、このマスクROMに記憶されている制御プログラムに何らかの変更を加えなければならない場合には、それまでのマスクROMを全て廃棄して新たにマスクROMを開発する必要がある。これでは、仕様変更により、多くの無駄が発生することになり、また新たな装置の開発に多大な時間を要してしまうことになる。このような理由により、市場からの多様なニーズに対して柔軟に対応することができなかった。
【0004】
本発明は上記従来例に鑑みてなされたもので、制御プログラムを不揮発なメモリに記憶しておき、その制御プログラムを更新できるようにした画像形成装置及び前記装置におけるプログラム更新方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記目的を達成するために本発明の画像形成装置は以下のような構成を備える。即ち、
画像形成プロセスを制御する制御手段を有する画像形成装置であって、
前記制御手段において実行される制御プログラムを不揮発に記憶する第1記憶手段と、
前記第1記憶手段に記憶されている前記制御プログラムの更新が指示されると第2記憶手段に記憶されているプログラムに制御を移行する制御移行手段と、
前記第2記憶手段に記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第1記憶手段に書込む書込み手段と、
前記書込み手段により書込みが終了して前記第1記憶手段の更新が完了すると、前記制御手段による制御を前記第1記憶手段で更新された前記制御プログラムに基づく制御に切り換える手段とを有することを特徴とする。
【0006】
上記目的を達成するために本発明の画像形成装置におけるプログラム更新方法は以下のような構成を備える。即ち、
画像形成プロセスを制御する制御手段を有する画像形成装置におけるプログラム更新方法であって、
第1メモリに記憶されている制御プログラムの更新が指示されると第2メモリに記憶されているプログラムに制御を移行する制御移行工程と、
前記第2メモリに記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第1メモリに書込む書込み工程と、
前記書込み工程で書込みが終了して前記第1メモリの更新が完了すると、前記制御手段による制御を前記第1メモリで更新された前記制御プログラムに基づく制御に切り換える工程とを有することを特徴とする。
【0007】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0008】
[実施の形態1]
図1は、本発明の実施の形態1に係る画像形成装置の一例である電子写真プリンタの機構部の概略断面を説明する図である。
【0009】
図において、201は感光体ドラムで、レーザ光の照射により、その表面に静電潜像が形成される。202は帯電ローラで、感光体ドラム201の表面を一様に帯電する。203は現像器で、感光体201上の静電潜像をトナー像化する。204は転写ローラで、現像器203により現像されたトナー像を用紙に転写させる。205は光学ユニットで、レーザビーム206を感光ドラム201上で走査させる。207は定着器で、トナー像が転写された用紙上のトナーを溶融して用紙に定着させる。208は給紙カセットで、印刷するための用紙を積載して収容している。209はピックアップローラで、給紙カセット208から用紙をピックアップする。210は手差しトレイ、211は手差し給紙ローラで、手差しトレイ210から給紙された用紙を給送する。212は排出ローラで、画像が転写されて定着された用紙を装置外へ排出する。213はレジストセンサで、搬送されてきた用紙の印刷のための先端レジストをとる。214は排紙センサで、用紙が正常に定着器207を通過して排出されたかどうかを確認するためのセンサである。215は給紙カセット208における用紙の有無を検出する用紙センサ、216は手差し用紙の有無を検出するためのセンサである。
【0010】
図1に示す各部は、プリンタコントローラ301(図2)からの指示に基づいて、その動作が制御されている。
【0011】
図2は、この実施の形態1に係る電子写真プリンタの機能構成を示すブロック図である。ここでは、プリンタコントローラ301とプリンタエンジン(図1に示す機構部を含む)を制御するエンジン制御部302との間の情報授受がビデオインタフェース制御部316により行われている。
【0012】
プリンタコントローラ301は、外部機器であるホストコンピュータ319との間での通信制御及び画像データの受信処理、及び受け取った画像データをプリンタエンジンが印刷可能な情報に展開する処理等を実行している。更に、後述するエンジン制御部302との間で信号のやり取り及びシリアル通信を行っている。このプリンタコントローラ301は表示パネル320と接続されており、シリアル通信により入手したエンジン制御部302からの情報を、この表示パネル320に表示してユーザに報知することができる。エンジン制御部302は、プリンタコントローラ301との間で信号のやり取り、シリアル通信を介してプリンタエンジンの各ユニットの制御を行う。
【0013】
以下、このエンジン制御部302に接続されている各部を説明する。
【0014】
303は用紙搬送制御部で、プリントする用紙を給紙搬送しており、プリントした後の排紙までの用紙の搬送をエンジン制御部302の指示に基づいて実行する。304は光学系制御部で、光学ユニット205のスキャナモータの回転駆動及びレーザのオン/オフ制御をエンジン制御部302の指示に基づき実行する。305は高圧系制御部で、帯電、現像、転写等の電子写真プロセスに必要な高圧出力をエンジン制御部302の指示に基づき実行する。306は定着温度制御部で、エンジン制御部302の指示に基づき、定着器207の温度制御を行なうとともに、定着器207の異常検出等を行う。307は紙有無センサ入力部で、給紙部及び紙搬送路内の用紙有無センサの情報をエンジン制御部302に伝達する。308はジャム検出部で、用紙搬送中の搬送不良を検出する。309は故障検出部で、プリンタ内の機能部の故障を検出する。
【0015】
次に、プリンタコントローラ301とエンジン制御部302との間の信号に着いて説明する。
【0016】
310は/CCRT信号で、エンジン制御部302がプリンタエンジン内部の状態の変化をプリンタコントローラ301に報知するための状態変化信号である。311は/SC信号で、シリアル通信におけるコマンド/ステータス信号であり、プリンタコントローラ301からエンジン制御部302に出力されるコマンドと、エンジン制御部302からプリンタコントローラ301に出力されるステータスとを双方向でやり取りする。312はシリアルクロックである/SCLK信号で、コマンドとステータスをクロック同期で転送するための同期信号である。313は/TOP信号で、用紙がレジストセンサ213に到達して垂直同期を取るためにエンジン制御部302からプリンタコントローラ301に出力される。314は水平同期信号である/BD信号で、回転多面鏡の各面毎に走査されるビームに同期して出力される。315は画像信号(/VDO)で、プリンタコントローラ301からエンジン制御部302に出力される。なお、上記信号名において、「/」はその信号が負論理(ロウツルー)であることを示している。
【0017】
316はビデオインタフェース制御部で、エンジン制御部302内にあって、プリンタコントローラ301からのシリアル通信のコマンドを判断し、そのコマンドがビデオインタフェース信号のチェックモードへの遷移を指示するものであった場合には、プリンタエンジンをその特殊モードに遷移させビデオインタフェース上の各信号をチェックする。ホストコンピュータ319は、プリンタコントローラ301に対してビデオインタフェース・チェックモードへの遷移指示を行うとともに、プリンタコントローラ301に画像コードデータを送信する。318はEEPROMで、エンジン制御部302が直接読み書き可能であり、電気的に書き換え可能な不揮発性メモリである。このEEPROM318には、エンジン制御部302の制御プログラムが内蔵されているフラッシュROM354(図3)の書き換え作業において、書き換え作業が開始する直前にEEPROM318の所定のビットをクリアし、フラッシュROM354の書き換えが開始したことがわかるようにする。またフラッシュROM354の書き換えが全て正常に行えたことをもって、このビットをセットするようにすることにより、EEPROM318の所定ビットは、通常のエンジン動作モードを実行する際には必ずセットされていることになる。
【0018】
図3は、本実施の形態に係るエンジン制御部302のより詳細な機能構成を示すブロック図である。
【0019】
CPU350は中央演算ユニットであり、内部アドレス/データバス351を介して様々な機能についてコントロールが可能である。内部アドレス/データバス351は、CPU350と各種機能とを接続している。352はRAMで、後述するROMやフラッシュROM354のプログラムに基づき読み書きするフラグやデータなどを一時的に記憶する。353はマスクROMで、本実施の形態では、このマスクROM353の領域内に、後述するフラッシュROM354の書き換え用のプログラム及び、フラッシュROM354のデータが正しく書き換えられているか否かをEEPROM318のデータに基づき判定すると共に、プリンタコントローラ301に対してシリアル通信を実施するためのプログラムを記憶しておく。フラッシュROM354は通常のプリンタとしての動作を行う場合のエンジン制御のためのプログラムが記憶されている。そして後述するプリンタコントローラ301からのフラッシュROM354の書き換えモードへの遷移要求コマンドを受けることにより、前述したマスクROM354の領域へプログラムをジャンプさせる機能も併せ持つ。つまり、通常のプリント動作を行っている最中であっても、プリンタコントローラ301からフラッシュROM354の書き換えの指示を受けた場合には、各種I/O、例えば定着温調、モータ、スキャナ、高圧などの出力を全てオフした後、マスクROM353のプログラムに遷移させて、自らのフラッシュROM354の書き換えモードに遷移することができる。
【0020】
355はタイマ制御部であり、電子写真プロセスを制御する上で、例えば用紙の搬送をする際の給紙タイミングや、高圧の印加タイミングなどの正確な時間管理が必要なケースにおいて、時間を掲示するための機能を持ち、これもCPU350に対してはアドレス/データバス351を介して接続されている。356は割り込み制御部で、緊急度を有する外部入力信号を外部割込み信号として取り込んだり、内部に発生する様々なイベントに対して処理しており、この割込み制御部356もCPU350とアドレスデータバス351によって接続されている。357はシリアル通信制御部で、前述したプリンタコントローラ301とのシリアル通信におけるシリアルデータの受信/送信を行う。358はアナログ/デジタル変換制御部で、各種アナログ入力、例えば定着器207の温度やレーザの光量などを入力し、デジタル信号に変換してCPU350に伝達するもので、CPU350とは内部のアドレスデータバス351に接続されている。
【0021】
以上のような構成において、マスクROMエリア353のプログラムが実行する処理は、図4に示すようなフローチャートにフラッシュROM354の書き換え作業を実行する。
【0022】
まず、電源投入及びプリンタコントローラ301からのコマンド或いはハードウェア信号によるソフトリセット指示により動作するプログラムは、このマスクROM353のプログラムから開始される。
【0023】
このマスクROM353のプログラムでは、まずステップS1で、CPU350の初期化を行い各種アクチュエータをはじめとする出力信号をイニシャル状態にセットする。その初期化直後に、EEPROM318の所定アドレス(ここではアドレスNとする)のデータを読み取り、その値が「0AAh」かどうかをチェックする。この「0AAh」は、フラッシュROM354の書き換えが全て正常に完了した際に、EEPROM318のアドレスNに書き込まれるデータであり、このデータ以外であった場合には、フラッシュROM354の書き換えが前回中断しているか、何らかの原因により失敗している可能性があるためにステップS4に進み、フラッシュROM354の異常フラグ(EEPROM318に記憶する)をオンにする。そしてステップS25に進みエラー処理を実行する。即ち、ここではその後の処理で書き換え要求がプリンタコントローラ301から送信されて来なかった場合には、エンジン制御部302からプリンタコントローラ301に対してフラッシュROM354の書き換えを要求するためのステータスをシリアル通信上で返送する。これによりプリンタコントローラ301は、このステータスにより、フラッシュROM354に異常がある可能性があるものと判断して、ユーザに対してフラッシュROM354の書き換えを促すメッセージを表示パネル320に表示する。
【0024】
ステップS3で、EEPROM318のアドレスNに「0AAh」が書き込まれている場合(正常動作時)はステップS5に進み、フラッシュROM354は正常であると判断し、プリンタコントローラ301とのシリアル通信を開始してコマンドを受信する(ステップS6)。そしてステップS7に進み、そのコマンドがフラッシュROM354の書き換えを要求するコマンドかどうかを調べ、そうであればステップS8に進み、フラッシュROM354の書き換えモードに進むが、そうでない場合にはステップS22に進み、通常のプリンタ動作モードに遷移する。
【0025】
フラッシュROM354の書き換えモードに遷移した場合にはステップS8で、フラッシュROM354の全エリアをクリアする。次にステップS9に進み、プリンタコントローラ301から受けたコマンドを受信すると一旦RAM352に格納してステップS10に進み、そのコマンドを解析する。次にステップS11に進み、そのコマンドの内容に応じて、順次所定のアドレスのデータを、そのフラッシュROM354の各アドレスに順次書き込む。これによりプリンタコントローラ301から送られてくるプログラムを、フラッシュROM354の対応するアドレスに順次書込むことができる。そしてステップS12に進み、その書き込んだデータを再度読み取り、RAM352に記憶されている受信したデータとベリファイ動作を行う。このベリファイの結果、ステップS13で異常があった場合にはステップS21に進み、再度同じデータを書き込んでベリファイ動作を行う。それでも異常がある場合には、フラッシュROM354自身に何らかの異常があるものと判断してプリンタコントローラ301に対して異常を報知する。
【0026】
ステップS13でエラーが発生していない時はステップS14に進み、書き込みと、そのベリファイ処理を続けて実行し、ステップS14で全てのアドレスの書き換えが終了した時点でステップS15に進み、プリンタコントローラ301にその旨を報知すると共に、EEPROM318のアドレスNに書き換えが完了したことを示すデータ「0AAh」を書き込む。そしてステップS16で、そのアドレスNのデータを読み取り、「0AAh」であることを確認するとステップS18に進む。この確認処理を失敗するとステップS20に進み、再度リトライ処理を実行し、OKであればステップS18に進むが、そうでない時はプリンタコントローラ301にその旨を報知してエラー処理を実行する。こうしてEEPROM318のアドレスNに正常にデータを書込むことができるとステップS18に進み、ユーザによる電源オフ/オンを待つか、或いは、プリンタコントローラ301からのソフトリセット要求が来るまでは、その状態を保持する。
【0027】
尚、ユーザビリティの観点からは、書き換え作業が終了した時点でソフトリセットを行って、ユーザの手を介さずに通常のプリンタ動作に移行できるようにすることが望ましい。こうしてステップS18でリセットコマンドを受信するとステップS19に進み、リセット処理を実行する。
【0028】
またステップS7で、フラッシュROM354の書き換えコマンドの受信でない時はステップS22に進み、前述のステップS4でEEPROM318に書込まれたフラッシュROM354の異常フラグがオンかどうかを調べ、そうであればステップS23に進み、プリンタコントローラ301に対してフラッシュROM354の書き換えを要求する。またステップS22で、フラッシュROM354の異常フラグがオフの場合はステップS24に進み、フラッシュROM354に記憶されているプログラムにジャンプする。
【0029】
以上のように、マスクROM353にフラッシュROM354のアップデート処理やプリンタコントローラ301からのデータ受信プログラム等を書込んでおき、フラッシュROM354にエンジン制御部302の制御プログラムを格納するように構成することで、必要に応じて、フラッシュROM354に記憶されている制御プログラムを更新することができる。更に、EEPROM318にフラッシュROM354の書き換え完了を示す情報を書き込んでおくことにより、その情報に基づいて、フラッシュROM354の制御プログラムが正常に格納されているかどうかを判別することができ、プリンタの信頼性向上に貢献することができる。
【0030】
[実施の形態2]
本発明の実施の形態2では、前述の実施の形態1のように、フラッシュROMの書き換え終了を示すデータを記憶する不揮発性メモリ(EEPROM)を設けるのではなく、そのデータをフラッシュROM354の所定領域に記憶する場合で説明する。
【0031】
また、書き換えプログラムについても、マスクROM353ではなくフラッシュROM361の所定のアドレス領域に持たせる場合で示している。この場合、フラッシュROM361は所定の領域ごとにセクタと呼ばれる領域に区分されている。本実施の形態2におけるセクタは、8Kバイトごとにエリアが分割されている場合について説明する。
【0032】
フラッシュROM361の書き換えは、このセクタごとに、フラッシュ、次いで書き換える作業が可能である。従って、予め決められたセクタには前述の実施の形態1で示したマスクROM353に相当するプログラムが書き込まれ、このエリアは、フラッシュROM361の書き換え時に書き換えを行わない領域として定義する。また、別の所定のセクタについては、前述の実施の形態1におけるEEPROM318に相当するフラッシュROM361の書き換え完了を示すデータを書き込んでおく。このようにすることで、別のメモリを使用することなく前述の実施の形態1と同様の処理を行うことができる。
【0033】
図5は、本実施の形態2に係るエンジン制御部302のCPU350の周辺の機能ブロックを示したものである。尚、この図5において、前述の実施の形態1の図3と共通する部分は同じ記号で示し、その説明を省略する。
【0034】
360はアドレスデコーダで、アドレスデータをデコードして所定のエリアに相当するフラッシュROM361のセクタに対してのみアクセスできるようにイネーブル信号を出力する。このフラッシュROM361は、上述のように8つのセクタに分かれており、各々のエリアをセクタ1〜8と称する。ここでは、セクタ1に、前述の実施の形態1で説明したマスクROM353に記憶されていたプログラムに相当するプログラムを記憶させる。このセクタ1は、CPU350の初期動作とプリンタコントローラ301とのシリアル通信、或いはフラッシュROM361の書き換えの制御を行うものであり、仮にフラッシュROM361の書き換えのモードになった場合でも、このエリアについては書き換えを行わないようにプログラム上で制御されるものである。
【0035】
セクタ2〜7は、通常のプリンタとしての動作を制御するためのプログラムが書き込まれている領域であり、このエリアはフラッシュROM361の書き換えモードで書き換えの対象になる領域である。セクタ8は、前述の実施の形態1において、EEPROM318に書込まれたデータ、つまりフラッシュROM361の書き換えが正常終了したか否かをしめす情報を記憶するための領域である。プリンタコントローラ301からのフラッシュROM361の書き換えの際には書き換えを行わずに、書き換え動作が正常終了したときに、セクタ1のプログラムによって、独自に書き換えが正常終了したか否かの情報が書き込まれるエリアである。
【0036】
このような構成によれば、ROMとしてフラッシュROM361だけの構成で前述の実施の形態1と全く同様の効果を得ることができる。
【0037】
[実施の形態3]
本発明の実施の形態3では、フラッシュROMの書き換えモードを実行する際におけるプリンタコントローラ301とエンジン制御部302との間でのシリアル通信について説明する。ここでのシリアル通信は、パリティを含む16ビットのクロック同期式のシリアル通信である。プリンタコントローラ301からのコマンドに対して、1対1でエンジン制御部302からステータスを返送する形式になっている。フラッシュROMの書き換えモードにおいても、この物理的な通信形態は変えずに、内部のデータのハンドリングを切り換えるものとする。尚、本実施の形態3では、フラッシュROMのアドレスは16ビット長、データは8ビット長として説明する。
【0038】
16ビットのアドレスは、8ビットと8ビットに分割され、2回の通信でエンジン制御部302に伝送される。その後、そのアドレスに格納される8ビットのデータを送信する。その後、エンジン制御部302から書き換え終了のステータスがプリンタコントローラ301に返送されると、再度同一のアドレスの読み出しを行う。その際も、16ビットアドレスを8ビットと8ビットに分割され、後半のアドレス情報設定コマンドに対するステータスにそのアドレスのデータが返送される。これにより、ベリファイ動作が可能になる。そのようにして順次書き換え動作を行っていく。
【0039】
図6は、このシリアル通信を説明する図である。
【0040】
ステータスライン(/SC)は、コマンドとステータスを兼用しており、シリアルクロック(/SCLK)はプリンタコントローラ301から出力される。
【0041】
プリンタコントローラ301から出力される16ビットのコマンドデータ600に対して、エンジン制御部302から16ビットのステータスデータ601を返送する。その際、エンジン制御部302側のステータス返送開始タイミングは、ステータスラインを一旦ロウレベルに変化させることで、プリンタコントローラ301が認識できる。
【0042】
図7は、この実施の形態3に係るフラッシュROMの書き換えモードにおける16ビットのコマンドデータのビット構成を説明する図である。
【0043】
MSB(最上位ビット)は、シリアルクロックの最初に出力されるビットを示している。コマンドデータは、8ビットのデータエリア(ビット8乃至ビット15)と、コマンドの種類を指定する6ビット(ビット2乃至ビット6)のコード及びフラッシュROMの書き換えモードにおけるコマンドであることを示す1ビット(ビット1)と奇数パリティ(LSB)で構成されている。
【0044】
図8は、本実施の形態に係る16ビットのステータスデータのビット構成を説明する図である。
【0045】
ステータスデータは8ビットのデータエリア(ビット8乃至ビット15)と、6ビットのステータスコードエリア(ビット2乃至ビット7)と奇数パリティ(LSB)で構成されている。
【0046】
図9は、この実施の形態に係るフラッシュROMの書換えモード時におけるコマンドとステータスの関係を説明する図である。
【0047】
図9において、CMD0〜CMD2は、プリンタコントローラ301がエンジン制御部302に対してフラッシュROMの書き換えモードに遷移させるためのコマンドであり、CMD0→CMD1→CMD2の順番にコマンドが発行され、全て正常に受け付けられることによりエンジン制御部302はフラッシュROMの書き換えモードに遷移する。このフラッシュROMの書き換えモードに遷移した場合には、図9に登録されたコマンド以外は受け付けない。また通常のプリンタ動作モードにおいては、CMD0以外は受け付けない。
【0048】
但し、CMD0を受け付けた場合には、続けてCMD1のコマンドのみ受け付け、それ以外のコマンドを受けた場合には、前に受け取ったCMD0の受信履歴はキャンセルする。このようにして間違ってフラッシュROM書き換えモードに遷移してしまうことを防止している。
【0049】
また図9において、CMD11は、現在指定しているアドレスが、書き換えが必要なエリアに対して何%の位置にあるかをエンジン制御部302に要求するためのコマンドである。このコマンドを受け付けるとエンジン制御部302は、プリンタコントローラ301に対して8ビットのデータ上にアドレスの割合を10進データとして、0%〜100%を1%刻みで表わすデータとして返送する。このステータスにより、プリンタコントローラ301はエンジン制御部302のフラッシュROMの書き換え中に、残りの書き換えアドレスがどの程度あるかを認識でき、その情報をプリンタの表示パネル320や、ホストコンピュータ319のプリンタドライバを介してユーザに報知することができる。
【0050】
図10は、この実施の形態におけるプリンタコントローラ301とエンジン制御部302との間でのコマンドとステータスのやり取りを説明する図である。
【0051】
また図11は、これらプリンタコントローラ301とエンジン制御部302とのシリアル信号の入出力ドライバ回路の具体例を説明する図である。
【0052】
[他の実施の形態]
本発明の目的は前述したように、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0053】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【0054】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【0055】
【発明の効果】
以上説明したように本発明によれば、制御プログラムを不揮発なメモリに記憶しておき、その制御プログラムを更新できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るレーザビームプリンタのプリンタエンジンの概略構成を示す図である。
【図2】本実施の形態に係るプリンタの機能構成を示すブロック図である。
【図3】本実施の形態1に係るエンジン制御部の機能構成を示すブロック図である。
【図4】本実施の形態に係るエンジン制御部におけるフラッシュROMの書き換え処理を説明するフローチャートである。
【図5】本発明の実施の形態2に係るエンジン制御部の機能構成を示すブロック図である。
【図6】本実施の形態におけるプリンタコントローラとエンジン制御部との間のシリアル通信を説明する図である。
【図7】本実施の形態におけるプリンタコントローラとエンジン制御部との間のシリアル通信におけるコマンドデータビットを説明する図である。
【図8】本実施の形態におけるプリンタコントローラとエンジン制御部との間のシリアル通信におけるステータスデータビットを説明する図である。
【図9】本実施の形態におけるエンジン制御部によるフラッシュROMの書き換えモード時のコマンド/ステータスを説明する図である。
【図10】本実施の形態におけるプリンタコントローラとエンジン制御部との間の信号を説明する図である。
【図11】本実施の形態におけるプリンタコントローラとエンジン制御部との間の信号ドライバ回路を説明する図である。
【発明の属する技術分野】
本発明は、制御プログラムを書換可能な不揮発メモリに記憶している画像形成装置及び前記装置におけるプログラム更新方法に関するものである。
【0002】
【従来の技術】
従来より、画像信号に応じてレーザ光を変調し、その変調したレーザ光により静電潜像を形成し、記録紙にトナー画像を転写して記録する電子写真プリンタが知られている。このようなプリンタの動作を制御している制御部には、マイクロコンピュータなどのCPUやそのCPUの制御プログラムや各種データを記憶しているROMが設けられている。このようなROMは製造コスト等の点で有利なように、マスク化されたROMが使用されている。
【0003】
【発明が解決しようとする課題】
このようなマスクROMは安価であり量産性に優れている。しかしながら、例えば、装置の仕様変更などにより、このマスクROMに記憶されている制御プログラムに何らかの変更を加えなければならない場合には、それまでのマスクROMを全て廃棄して新たにマスクROMを開発する必要がある。これでは、仕様変更により、多くの無駄が発生することになり、また新たな装置の開発に多大な時間を要してしまうことになる。このような理由により、市場からの多様なニーズに対して柔軟に対応することができなかった。
【0004】
本発明は上記従来例に鑑みてなされたもので、制御プログラムを不揮発なメモリに記憶しておき、その制御プログラムを更新できるようにした画像形成装置及び前記装置におけるプログラム更新方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記目的を達成するために本発明の画像形成装置は以下のような構成を備える。即ち、
画像形成プロセスを制御する制御手段を有する画像形成装置であって、
前記制御手段において実行される制御プログラムを不揮発に記憶する第1記憶手段と、
前記第1記憶手段に記憶されている前記制御プログラムの更新が指示されると第2記憶手段に記憶されているプログラムに制御を移行する制御移行手段と、
前記第2記憶手段に記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第1記憶手段に書込む書込み手段と、
前記書込み手段により書込みが終了して前記第1記憶手段の更新が完了すると、前記制御手段による制御を前記第1記憶手段で更新された前記制御プログラムに基づく制御に切り換える手段とを有することを特徴とする。
【0006】
上記目的を達成するために本発明の画像形成装置におけるプログラム更新方法は以下のような構成を備える。即ち、
画像形成プロセスを制御する制御手段を有する画像形成装置におけるプログラム更新方法であって、
第1メモリに記憶されている制御プログラムの更新が指示されると第2メモリに記憶されているプログラムに制御を移行する制御移行工程と、
前記第2メモリに記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第1メモリに書込む書込み工程と、
前記書込み工程で書込みが終了して前記第1メモリの更新が完了すると、前記制御手段による制御を前記第1メモリで更新された前記制御プログラムに基づく制御に切り換える工程とを有することを特徴とする。
【0007】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0008】
[実施の形態1]
図1は、本発明の実施の形態1に係る画像形成装置の一例である電子写真プリンタの機構部の概略断面を説明する図である。
【0009】
図において、201は感光体ドラムで、レーザ光の照射により、その表面に静電潜像が形成される。202は帯電ローラで、感光体ドラム201の表面を一様に帯電する。203は現像器で、感光体201上の静電潜像をトナー像化する。204は転写ローラで、現像器203により現像されたトナー像を用紙に転写させる。205は光学ユニットで、レーザビーム206を感光ドラム201上で走査させる。207は定着器で、トナー像が転写された用紙上のトナーを溶融して用紙に定着させる。208は給紙カセットで、印刷するための用紙を積載して収容している。209はピックアップローラで、給紙カセット208から用紙をピックアップする。210は手差しトレイ、211は手差し給紙ローラで、手差しトレイ210から給紙された用紙を給送する。212は排出ローラで、画像が転写されて定着された用紙を装置外へ排出する。213はレジストセンサで、搬送されてきた用紙の印刷のための先端レジストをとる。214は排紙センサで、用紙が正常に定着器207を通過して排出されたかどうかを確認するためのセンサである。215は給紙カセット208における用紙の有無を検出する用紙センサ、216は手差し用紙の有無を検出するためのセンサである。
【0010】
図1に示す各部は、プリンタコントローラ301(図2)からの指示に基づいて、その動作が制御されている。
【0011】
図2は、この実施の形態1に係る電子写真プリンタの機能構成を示すブロック図である。ここでは、プリンタコントローラ301とプリンタエンジン(図1に示す機構部を含む)を制御するエンジン制御部302との間の情報授受がビデオインタフェース制御部316により行われている。
【0012】
プリンタコントローラ301は、外部機器であるホストコンピュータ319との間での通信制御及び画像データの受信処理、及び受け取った画像データをプリンタエンジンが印刷可能な情報に展開する処理等を実行している。更に、後述するエンジン制御部302との間で信号のやり取り及びシリアル通信を行っている。このプリンタコントローラ301は表示パネル320と接続されており、シリアル通信により入手したエンジン制御部302からの情報を、この表示パネル320に表示してユーザに報知することができる。エンジン制御部302は、プリンタコントローラ301との間で信号のやり取り、シリアル通信を介してプリンタエンジンの各ユニットの制御を行う。
【0013】
以下、このエンジン制御部302に接続されている各部を説明する。
【0014】
303は用紙搬送制御部で、プリントする用紙を給紙搬送しており、プリントした後の排紙までの用紙の搬送をエンジン制御部302の指示に基づいて実行する。304は光学系制御部で、光学ユニット205のスキャナモータの回転駆動及びレーザのオン/オフ制御をエンジン制御部302の指示に基づき実行する。305は高圧系制御部で、帯電、現像、転写等の電子写真プロセスに必要な高圧出力をエンジン制御部302の指示に基づき実行する。306は定着温度制御部で、エンジン制御部302の指示に基づき、定着器207の温度制御を行なうとともに、定着器207の異常検出等を行う。307は紙有無センサ入力部で、給紙部及び紙搬送路内の用紙有無センサの情報をエンジン制御部302に伝達する。308はジャム検出部で、用紙搬送中の搬送不良を検出する。309は故障検出部で、プリンタ内の機能部の故障を検出する。
【0015】
次に、プリンタコントローラ301とエンジン制御部302との間の信号に着いて説明する。
【0016】
310は/CCRT信号で、エンジン制御部302がプリンタエンジン内部の状態の変化をプリンタコントローラ301に報知するための状態変化信号である。311は/SC信号で、シリアル通信におけるコマンド/ステータス信号であり、プリンタコントローラ301からエンジン制御部302に出力されるコマンドと、エンジン制御部302からプリンタコントローラ301に出力されるステータスとを双方向でやり取りする。312はシリアルクロックである/SCLK信号で、コマンドとステータスをクロック同期で転送するための同期信号である。313は/TOP信号で、用紙がレジストセンサ213に到達して垂直同期を取るためにエンジン制御部302からプリンタコントローラ301に出力される。314は水平同期信号である/BD信号で、回転多面鏡の各面毎に走査されるビームに同期して出力される。315は画像信号(/VDO)で、プリンタコントローラ301からエンジン制御部302に出力される。なお、上記信号名において、「/」はその信号が負論理(ロウツルー)であることを示している。
【0017】
316はビデオインタフェース制御部で、エンジン制御部302内にあって、プリンタコントローラ301からのシリアル通信のコマンドを判断し、そのコマンドがビデオインタフェース信号のチェックモードへの遷移を指示するものであった場合には、プリンタエンジンをその特殊モードに遷移させビデオインタフェース上の各信号をチェックする。ホストコンピュータ319は、プリンタコントローラ301に対してビデオインタフェース・チェックモードへの遷移指示を行うとともに、プリンタコントローラ301に画像コードデータを送信する。318はEEPROMで、エンジン制御部302が直接読み書き可能であり、電気的に書き換え可能な不揮発性メモリである。このEEPROM318には、エンジン制御部302の制御プログラムが内蔵されているフラッシュROM354(図3)の書き換え作業において、書き換え作業が開始する直前にEEPROM318の所定のビットをクリアし、フラッシュROM354の書き換えが開始したことがわかるようにする。またフラッシュROM354の書き換えが全て正常に行えたことをもって、このビットをセットするようにすることにより、EEPROM318の所定ビットは、通常のエンジン動作モードを実行する際には必ずセットされていることになる。
【0018】
図3は、本実施の形態に係るエンジン制御部302のより詳細な機能構成を示すブロック図である。
【0019】
CPU350は中央演算ユニットであり、内部アドレス/データバス351を介して様々な機能についてコントロールが可能である。内部アドレス/データバス351は、CPU350と各種機能とを接続している。352はRAMで、後述するROMやフラッシュROM354のプログラムに基づき読み書きするフラグやデータなどを一時的に記憶する。353はマスクROMで、本実施の形態では、このマスクROM353の領域内に、後述するフラッシュROM354の書き換え用のプログラム及び、フラッシュROM354のデータが正しく書き換えられているか否かをEEPROM318のデータに基づき判定すると共に、プリンタコントローラ301に対してシリアル通信を実施するためのプログラムを記憶しておく。フラッシュROM354は通常のプリンタとしての動作を行う場合のエンジン制御のためのプログラムが記憶されている。そして後述するプリンタコントローラ301からのフラッシュROM354の書き換えモードへの遷移要求コマンドを受けることにより、前述したマスクROM354の領域へプログラムをジャンプさせる機能も併せ持つ。つまり、通常のプリント動作を行っている最中であっても、プリンタコントローラ301からフラッシュROM354の書き換えの指示を受けた場合には、各種I/O、例えば定着温調、モータ、スキャナ、高圧などの出力を全てオフした後、マスクROM353のプログラムに遷移させて、自らのフラッシュROM354の書き換えモードに遷移することができる。
【0020】
355はタイマ制御部であり、電子写真プロセスを制御する上で、例えば用紙の搬送をする際の給紙タイミングや、高圧の印加タイミングなどの正確な時間管理が必要なケースにおいて、時間を掲示するための機能を持ち、これもCPU350に対してはアドレス/データバス351を介して接続されている。356は割り込み制御部で、緊急度を有する外部入力信号を外部割込み信号として取り込んだり、内部に発生する様々なイベントに対して処理しており、この割込み制御部356もCPU350とアドレスデータバス351によって接続されている。357はシリアル通信制御部で、前述したプリンタコントローラ301とのシリアル通信におけるシリアルデータの受信/送信を行う。358はアナログ/デジタル変換制御部で、各種アナログ入力、例えば定着器207の温度やレーザの光量などを入力し、デジタル信号に変換してCPU350に伝達するもので、CPU350とは内部のアドレスデータバス351に接続されている。
【0021】
以上のような構成において、マスクROMエリア353のプログラムが実行する処理は、図4に示すようなフローチャートにフラッシュROM354の書き換え作業を実行する。
【0022】
まず、電源投入及びプリンタコントローラ301からのコマンド或いはハードウェア信号によるソフトリセット指示により動作するプログラムは、このマスクROM353のプログラムから開始される。
【0023】
このマスクROM353のプログラムでは、まずステップS1で、CPU350の初期化を行い各種アクチュエータをはじめとする出力信号をイニシャル状態にセットする。その初期化直後に、EEPROM318の所定アドレス(ここではアドレスNとする)のデータを読み取り、その値が「0AAh」かどうかをチェックする。この「0AAh」は、フラッシュROM354の書き換えが全て正常に完了した際に、EEPROM318のアドレスNに書き込まれるデータであり、このデータ以外であった場合には、フラッシュROM354の書き換えが前回中断しているか、何らかの原因により失敗している可能性があるためにステップS4に進み、フラッシュROM354の異常フラグ(EEPROM318に記憶する)をオンにする。そしてステップS25に進みエラー処理を実行する。即ち、ここではその後の処理で書き換え要求がプリンタコントローラ301から送信されて来なかった場合には、エンジン制御部302からプリンタコントローラ301に対してフラッシュROM354の書き換えを要求するためのステータスをシリアル通信上で返送する。これによりプリンタコントローラ301は、このステータスにより、フラッシュROM354に異常がある可能性があるものと判断して、ユーザに対してフラッシュROM354の書き換えを促すメッセージを表示パネル320に表示する。
【0024】
ステップS3で、EEPROM318のアドレスNに「0AAh」が書き込まれている場合(正常動作時)はステップS5に進み、フラッシュROM354は正常であると判断し、プリンタコントローラ301とのシリアル通信を開始してコマンドを受信する(ステップS6)。そしてステップS7に進み、そのコマンドがフラッシュROM354の書き換えを要求するコマンドかどうかを調べ、そうであればステップS8に進み、フラッシュROM354の書き換えモードに進むが、そうでない場合にはステップS22に進み、通常のプリンタ動作モードに遷移する。
【0025】
フラッシュROM354の書き換えモードに遷移した場合にはステップS8で、フラッシュROM354の全エリアをクリアする。次にステップS9に進み、プリンタコントローラ301から受けたコマンドを受信すると一旦RAM352に格納してステップS10に進み、そのコマンドを解析する。次にステップS11に進み、そのコマンドの内容に応じて、順次所定のアドレスのデータを、そのフラッシュROM354の各アドレスに順次書き込む。これによりプリンタコントローラ301から送られてくるプログラムを、フラッシュROM354の対応するアドレスに順次書込むことができる。そしてステップS12に進み、その書き込んだデータを再度読み取り、RAM352に記憶されている受信したデータとベリファイ動作を行う。このベリファイの結果、ステップS13で異常があった場合にはステップS21に進み、再度同じデータを書き込んでベリファイ動作を行う。それでも異常がある場合には、フラッシュROM354自身に何らかの異常があるものと判断してプリンタコントローラ301に対して異常を報知する。
【0026】
ステップS13でエラーが発生していない時はステップS14に進み、書き込みと、そのベリファイ処理を続けて実行し、ステップS14で全てのアドレスの書き換えが終了した時点でステップS15に進み、プリンタコントローラ301にその旨を報知すると共に、EEPROM318のアドレスNに書き換えが完了したことを示すデータ「0AAh」を書き込む。そしてステップS16で、そのアドレスNのデータを読み取り、「0AAh」であることを確認するとステップS18に進む。この確認処理を失敗するとステップS20に進み、再度リトライ処理を実行し、OKであればステップS18に進むが、そうでない時はプリンタコントローラ301にその旨を報知してエラー処理を実行する。こうしてEEPROM318のアドレスNに正常にデータを書込むことができるとステップS18に進み、ユーザによる電源オフ/オンを待つか、或いは、プリンタコントローラ301からのソフトリセット要求が来るまでは、その状態を保持する。
【0027】
尚、ユーザビリティの観点からは、書き換え作業が終了した時点でソフトリセットを行って、ユーザの手を介さずに通常のプリンタ動作に移行できるようにすることが望ましい。こうしてステップS18でリセットコマンドを受信するとステップS19に進み、リセット処理を実行する。
【0028】
またステップS7で、フラッシュROM354の書き換えコマンドの受信でない時はステップS22に進み、前述のステップS4でEEPROM318に書込まれたフラッシュROM354の異常フラグがオンかどうかを調べ、そうであればステップS23に進み、プリンタコントローラ301に対してフラッシュROM354の書き換えを要求する。またステップS22で、フラッシュROM354の異常フラグがオフの場合はステップS24に進み、フラッシュROM354に記憶されているプログラムにジャンプする。
【0029】
以上のように、マスクROM353にフラッシュROM354のアップデート処理やプリンタコントローラ301からのデータ受信プログラム等を書込んでおき、フラッシュROM354にエンジン制御部302の制御プログラムを格納するように構成することで、必要に応じて、フラッシュROM354に記憶されている制御プログラムを更新することができる。更に、EEPROM318にフラッシュROM354の書き換え完了を示す情報を書き込んでおくことにより、その情報に基づいて、フラッシュROM354の制御プログラムが正常に格納されているかどうかを判別することができ、プリンタの信頼性向上に貢献することができる。
【0030】
[実施の形態2]
本発明の実施の形態2では、前述の実施の形態1のように、フラッシュROMの書き換え終了を示すデータを記憶する不揮発性メモリ(EEPROM)を設けるのではなく、そのデータをフラッシュROM354の所定領域に記憶する場合で説明する。
【0031】
また、書き換えプログラムについても、マスクROM353ではなくフラッシュROM361の所定のアドレス領域に持たせる場合で示している。この場合、フラッシュROM361は所定の領域ごとにセクタと呼ばれる領域に区分されている。本実施の形態2におけるセクタは、8Kバイトごとにエリアが分割されている場合について説明する。
【0032】
フラッシュROM361の書き換えは、このセクタごとに、フラッシュ、次いで書き換える作業が可能である。従って、予め決められたセクタには前述の実施の形態1で示したマスクROM353に相当するプログラムが書き込まれ、このエリアは、フラッシュROM361の書き換え時に書き換えを行わない領域として定義する。また、別の所定のセクタについては、前述の実施の形態1におけるEEPROM318に相当するフラッシュROM361の書き換え完了を示すデータを書き込んでおく。このようにすることで、別のメモリを使用することなく前述の実施の形態1と同様の処理を行うことができる。
【0033】
図5は、本実施の形態2に係るエンジン制御部302のCPU350の周辺の機能ブロックを示したものである。尚、この図5において、前述の実施の形態1の図3と共通する部分は同じ記号で示し、その説明を省略する。
【0034】
360はアドレスデコーダで、アドレスデータをデコードして所定のエリアに相当するフラッシュROM361のセクタに対してのみアクセスできるようにイネーブル信号を出力する。このフラッシュROM361は、上述のように8つのセクタに分かれており、各々のエリアをセクタ1〜8と称する。ここでは、セクタ1に、前述の実施の形態1で説明したマスクROM353に記憶されていたプログラムに相当するプログラムを記憶させる。このセクタ1は、CPU350の初期動作とプリンタコントローラ301とのシリアル通信、或いはフラッシュROM361の書き換えの制御を行うものであり、仮にフラッシュROM361の書き換えのモードになった場合でも、このエリアについては書き換えを行わないようにプログラム上で制御されるものである。
【0035】
セクタ2〜7は、通常のプリンタとしての動作を制御するためのプログラムが書き込まれている領域であり、このエリアはフラッシュROM361の書き換えモードで書き換えの対象になる領域である。セクタ8は、前述の実施の形態1において、EEPROM318に書込まれたデータ、つまりフラッシュROM361の書き換えが正常終了したか否かをしめす情報を記憶するための領域である。プリンタコントローラ301からのフラッシュROM361の書き換えの際には書き換えを行わずに、書き換え動作が正常終了したときに、セクタ1のプログラムによって、独自に書き換えが正常終了したか否かの情報が書き込まれるエリアである。
【0036】
このような構成によれば、ROMとしてフラッシュROM361だけの構成で前述の実施の形態1と全く同様の効果を得ることができる。
【0037】
[実施の形態3]
本発明の実施の形態3では、フラッシュROMの書き換えモードを実行する際におけるプリンタコントローラ301とエンジン制御部302との間でのシリアル通信について説明する。ここでのシリアル通信は、パリティを含む16ビットのクロック同期式のシリアル通信である。プリンタコントローラ301からのコマンドに対して、1対1でエンジン制御部302からステータスを返送する形式になっている。フラッシュROMの書き換えモードにおいても、この物理的な通信形態は変えずに、内部のデータのハンドリングを切り換えるものとする。尚、本実施の形態3では、フラッシュROMのアドレスは16ビット長、データは8ビット長として説明する。
【0038】
16ビットのアドレスは、8ビットと8ビットに分割され、2回の通信でエンジン制御部302に伝送される。その後、そのアドレスに格納される8ビットのデータを送信する。その後、エンジン制御部302から書き換え終了のステータスがプリンタコントローラ301に返送されると、再度同一のアドレスの読み出しを行う。その際も、16ビットアドレスを8ビットと8ビットに分割され、後半のアドレス情報設定コマンドに対するステータスにそのアドレスのデータが返送される。これにより、ベリファイ動作が可能になる。そのようにして順次書き換え動作を行っていく。
【0039】
図6は、このシリアル通信を説明する図である。
【0040】
ステータスライン(/SC)は、コマンドとステータスを兼用しており、シリアルクロック(/SCLK)はプリンタコントローラ301から出力される。
【0041】
プリンタコントローラ301から出力される16ビットのコマンドデータ600に対して、エンジン制御部302から16ビットのステータスデータ601を返送する。その際、エンジン制御部302側のステータス返送開始タイミングは、ステータスラインを一旦ロウレベルに変化させることで、プリンタコントローラ301が認識できる。
【0042】
図7は、この実施の形態3に係るフラッシュROMの書き換えモードにおける16ビットのコマンドデータのビット構成を説明する図である。
【0043】
MSB(最上位ビット)は、シリアルクロックの最初に出力されるビットを示している。コマンドデータは、8ビットのデータエリア(ビット8乃至ビット15)と、コマンドの種類を指定する6ビット(ビット2乃至ビット6)のコード及びフラッシュROMの書き換えモードにおけるコマンドであることを示す1ビット(ビット1)と奇数パリティ(LSB)で構成されている。
【0044】
図8は、本実施の形態に係る16ビットのステータスデータのビット構成を説明する図である。
【0045】
ステータスデータは8ビットのデータエリア(ビット8乃至ビット15)と、6ビットのステータスコードエリア(ビット2乃至ビット7)と奇数パリティ(LSB)で構成されている。
【0046】
図9は、この実施の形態に係るフラッシュROMの書換えモード時におけるコマンドとステータスの関係を説明する図である。
【0047】
図9において、CMD0〜CMD2は、プリンタコントローラ301がエンジン制御部302に対してフラッシュROMの書き換えモードに遷移させるためのコマンドであり、CMD0→CMD1→CMD2の順番にコマンドが発行され、全て正常に受け付けられることによりエンジン制御部302はフラッシュROMの書き換えモードに遷移する。このフラッシュROMの書き換えモードに遷移した場合には、図9に登録されたコマンド以外は受け付けない。また通常のプリンタ動作モードにおいては、CMD0以外は受け付けない。
【0048】
但し、CMD0を受け付けた場合には、続けてCMD1のコマンドのみ受け付け、それ以外のコマンドを受けた場合には、前に受け取ったCMD0の受信履歴はキャンセルする。このようにして間違ってフラッシュROM書き換えモードに遷移してしまうことを防止している。
【0049】
また図9において、CMD11は、現在指定しているアドレスが、書き換えが必要なエリアに対して何%の位置にあるかをエンジン制御部302に要求するためのコマンドである。このコマンドを受け付けるとエンジン制御部302は、プリンタコントローラ301に対して8ビットのデータ上にアドレスの割合を10進データとして、0%〜100%を1%刻みで表わすデータとして返送する。このステータスにより、プリンタコントローラ301はエンジン制御部302のフラッシュROMの書き換え中に、残りの書き換えアドレスがどの程度あるかを認識でき、その情報をプリンタの表示パネル320や、ホストコンピュータ319のプリンタドライバを介してユーザに報知することができる。
【0050】
図10は、この実施の形態におけるプリンタコントローラ301とエンジン制御部302との間でのコマンドとステータスのやり取りを説明する図である。
【0051】
また図11は、これらプリンタコントローラ301とエンジン制御部302とのシリアル信号の入出力ドライバ回路の具体例を説明する図である。
【0052】
[他の実施の形態]
本発明の目的は前述したように、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0053】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【0054】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【0055】
【発明の効果】
以上説明したように本発明によれば、制御プログラムを不揮発なメモリに記憶しておき、その制御プログラムを更新できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るレーザビームプリンタのプリンタエンジンの概略構成を示す図である。
【図2】本実施の形態に係るプリンタの機能構成を示すブロック図である。
【図3】本実施の形態1に係るエンジン制御部の機能構成を示すブロック図である。
【図4】本実施の形態に係るエンジン制御部におけるフラッシュROMの書き換え処理を説明するフローチャートである。
【図5】本発明の実施の形態2に係るエンジン制御部の機能構成を示すブロック図である。
【図6】本実施の形態におけるプリンタコントローラとエンジン制御部との間のシリアル通信を説明する図である。
【図7】本実施の形態におけるプリンタコントローラとエンジン制御部との間のシリアル通信におけるコマンドデータビットを説明する図である。
【図8】本実施の形態におけるプリンタコントローラとエンジン制御部との間のシリアル通信におけるステータスデータビットを説明する図である。
【図9】本実施の形態におけるエンジン制御部によるフラッシュROMの書き換えモード時のコマンド/ステータスを説明する図である。
【図10】本実施の形態におけるプリンタコントローラとエンジン制御部との間の信号を説明する図である。
【図11】本実施の形態におけるプリンタコントローラとエンジン制御部との間の信号ドライバ回路を説明する図である。
Claims (10)
- 画像形成プロセスを制御する制御手段を有する画像形成装置であって、
前記制御手段において実行される制御プログラムを不揮発に記憶する第1記憶手段と、
前記第1記憶手段に記憶されている前記制御プログラムの更新が指示されると第2記憶手段に記憶されているプログラムに制御を移行する制御移行手段と、
前記第2記憶手段に記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第1記憶手段に書込む書込み手段と、
前記書込み手段により書込みが終了して前記第1記憶手段の更新が完了すると、前記制御手段による制御を前記第1記憶手段で更新された前記制御プログラムに基づく制御に切り換える手段と、
を有することを特徴とする画像形成装置。 - 前記制御手段は、画像形成プロセスの機構部を制御するエンジン制御部と、印刷データの受信及び画像データへの展開を制御するプリンタコントローラとを有し、
前記更新される制御プログラムは前記プリンタコントローラで受信されて前記エンジン制御部に送られて前記第1記憶手段に書込まれることを特徴とする請求項1に記載の画像形成装置。 - 前記書込み手段により書込みが終了して前記第1記憶手段の更新が正常に完了したか否かを示す情報を不揮発に記憶する不揮発メモリを更に有することを特徴とする請求項1又は2に記載の画像形成装置。
- 前記第1記憶手段はフラッシュROMであり、前記第2記憶手段はマスクROMであることを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
- 前記第1及び第2記憶手段はフラッシュROMであり、それぞれ当該フラッシュROMの別々のメモリエリアに設けられていることを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。
- 画像形成プロセスを制御する制御手段を有する画像形成装置におけるプログラム更新方法であって、
第1メモリに記憶されている制御プログラムの更新が指示されると第2メモリに記憶されているプログラムに制御を移行する制御移行工程と、
前記第2メモリに記憶されているプログラムの制御の下で、更新される制御プログラムを受信して前記第1メモリに書込む書込み工程と、
前記書込み工程で書込みが終了して前記第1メモリの更新が完了すると、前記制御手段による制御を前記第1メモリで更新された前記制御プログラムに基づく制御に切り換える工程と、
を有することを特徴とする画像形成装置におけるプログラム更新方法。 - 前記画像形成装置は、画像形成プロセスの機構部を制御するエンジン制御部と、印刷データの受信及び画像データへの展開を制御するプリンタコントローラとを有し、
前記更新される制御プログラムは前記プリンタコントローラで受信されて前記エンジン制御部に送られて前記第1メモリに書込まれることを特徴とする請求項6に記載のプログラム更新方法。 - 前記書込み工程で書込みが終了して前記第1メモリの更新が正常に完了したか否かを示す情報を不揮発に記憶する工程を更に有することを特徴とする請求項6又は7に記載のプログラム更新方法。
- 前記第1メモリはフラッシュROMであり、前記第2メモリはマスクROMであることを特徴とする請求項6乃至8のいずれか1項に記載のプログラム更新方法。
- 前記第1及び第2メモリはフラッシュROMであり、それぞれ当該フラッシュROMの別々のメモリエリアに設けられていることを特徴とする請求項6乃至8のいずれか1項に記載のプログラム更新方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003194886A JP2005028676A (ja) | 2003-07-10 | 2003-07-10 | 画像形成装置及び前記装置におけるプログラム更新方法 |
US10/886,675 US7133624B2 (en) | 2003-07-10 | 2004-07-09 | Image forming apparatus and program update method in the apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003194886A JP2005028676A (ja) | 2003-07-10 | 2003-07-10 | 画像形成装置及び前記装置におけるプログラム更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005028676A true JP2005028676A (ja) | 2005-02-03 |
Family
ID=33562530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003194886A Withdrawn JP2005028676A (ja) | 2003-07-10 | 2003-07-10 | 画像形成装置及び前記装置におけるプログラム更新方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7133624B2 (ja) |
JP (1) | JP2005028676A (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006095828A (ja) * | 2004-09-29 | 2006-04-13 | Seiko Epson Corp | 画像形成装置 |
JP2006293992A (ja) * | 2005-03-18 | 2006-10-26 | Toshiba Corp | 紙葉類処理装置と紙葉類処理方法 |
US7515710B2 (en) | 2006-03-14 | 2009-04-07 | Divx, Inc. | Federated digital rights management scheme including trusted systems |
US8022823B2 (en) * | 2008-06-30 | 2011-09-20 | Xerox Corporation | Serendipitous repair of shared device |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3064324B2 (ja) | 1990-03-19 | 2000-07-12 | 富士ゼロックス株式会社 | 画像記録装置における制御ソフトウエア仕様変更システム |
US5793943A (en) * | 1996-07-29 | 1998-08-11 | Micron Electronics, Inc. | System for a primary BIOS ROM recovery in a dual BIOS ROM computer system |
JP4083505B2 (ja) * | 2001-08-27 | 2008-04-30 | 株式会社リコー | 画像形成装置,プログラム更新方法および記録媒体 |
-
2003
- 2003-07-10 JP JP2003194886A patent/JP2005028676A/ja not_active Withdrawn
-
2004
- 2004-07-09 US US10/886,675 patent/US7133624B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7133624B2 (en) | 2006-11-07 |
US20050008385A1 (en) | 2005-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6719472B2 (ja) | イメージングカートリッジチップ、イメージングカートリッジ及びイメージングカートリッジチップのシリアルナンバーの変更方法 | |
US8060662B2 (en) | Recording control apparatus, recording control method, and computer program product | |
US8020159B2 (en) | System and apparatus for and method of downloading a program, image formation apparatus, and computer product | |
JP2005028676A (ja) | 画像形成装置及び前記装置におけるプログラム更新方法 | |
US6415351B1 (en) | Switching access to a flash memory from an IC card, after downloading is complete, while the power is still on | |
JPH11249886A (ja) | 電子機器 | |
JP2001344156A (ja) | フラッシュメモリを有する装置およびデータの書き換え方法 | |
JP2004112341A (ja) | 画像処理装置 | |
JPH111049A (ja) | 画像処理装置 | |
JP4366207B2 (ja) | 印刷制御装置、印刷装置、プログラム起動方法、及びプログラム | |
US20030228161A1 (en) | Image forming apparatus | |
JPH05324305A (ja) | プログラム変更方法 | |
JP4235415B2 (ja) | 画像形成装置、画像形成装置における制御方法 | |
JP3342103B2 (ja) | 不揮発性メモリへの書込み方法 | |
JP4292866B2 (ja) | 画像形成装置、ファームウエアの書換方法、書換プログラムならびに記録媒体 | |
JP2001175478A (ja) | プログラムの書換方法、記憶媒体、及び該記憶媒体を用いた画像形成装置 | |
JP5487603B2 (ja) | 記録制御装置、記録制御方法、記録制御プログラムおよび記憶媒体 | |
JP2009238071A (ja) | 組込システム | |
JP2005172934A (ja) | 交換可能なカートリッジ用の記憶素子 | |
JP2004114494A (ja) | 画像形成装置 | |
JP2008225972A (ja) | 画像形成装置、データ保護方法、及び、プログラム | |
JP2004330678A (ja) | 画像形成装置 | |
JP2003345616A (ja) | 制御装置 | |
JP2004237667A (ja) | データ転送方法 | |
JPH1083265A (ja) | 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061003 |