(57)【要約】【課題】制御プログラムを記憶保存するとともにデータを電気的に書き換え可能な不揮発性メモリを備えた画像形成装置およびその制御方法において、不揮発性メモリ内のデータ書き換え中に装置の電源が切られた場合にも適切な対応を可能とする。【解決手段】記録材上に画像を印刷する印刷手段と、印刷手段を制御するための制御プログラムを記憶する、データを電気的に書き換え可能な不揮発性メモリと、制御プログラムに基づいて印刷手段を制御する制御処理と、不揮発性メモリに記憶されたデータの少なくとも一部を書き換える書き換え処理とを実行する制御手段とを備え、制御手段は、書き換え処理を実行するときには、該実行に先立って、印刷手段を電源の遮断が可能な終了状態に移行させる終了処理を実行することを特徴とする。【選択図】図６
2009119823.tif 000002
【特許請求の範囲】
【請求項１】
記録材上に画像を印刷する印刷手段と、
前記印刷手段を制御するための制御プログラムを記憶する、データを電気的に書き換え可能な不揮発性メモリと、
前記制御プログラムに基づいて前記印刷手段を制御する制御処理と、前記不揮発性メモリの記憶領域のうち指定した領域のデータを書き換える書き換え処理とを実行する制御手段と
を備え、
前記制御手段は、前記書き換え処理を実行するときには、該実行に先立って、前記印刷手段を電源の遮断が可能な終了状態に移行させる終了処理を実行する
ことを特徴とする画像形成装置。
【請求項２】
データを一時的に記憶可能な記憶手段をさらに備えるとともに、前記書き換え処理に対応する制御プログラムが前記不揮発性メモリに記憶されており、
前記書き換え処理のうち前記不揮発性メモリへの書き込み動作を含む少なくとも一部は、前記不揮発性メモリから前記記憶手段上に複製された制御プログラムに基づいて実行される請求項１に記載の画像形成装置。
【請求項３】
前記印刷手段は、外部媒体から与えられる画像データと前記不揮発性メモリに記憶されている画像素材データとを合成してなる合成画像を前記記録材上に印刷可能に構成される一方、
前記制御手段は、前記書き換え処理により、前記不揮発性メモリに記憶されている前記画像素材データを書き換える請求項１または２に記載の画像形成装置。
【請求項４】
前記制御手段は、ユーザにより設定された前記印刷手段の印刷条件に関する設定情報を記憶保存する処理を含む前記終了処理を実行する請求項１ないし３のいずれかに記載の画像形成装置。
【請求項５】
前記印刷手段は、前記記録材に画像を印刷しながら移動する印刷ヘッドを有しており、
前記制御手段は、前記印刷ヘッドを所定の終了位置に位置決めする処理を含む前記終了処理を実行する請求項１ないし４のいずれかに記載の画像形成装置。
【請求項６】
ユーザからの電源オフ指示操作入力を受け付けて前記制御手段に報知する受付手段をさらに備えるとともに、前記制御手段は、前記受付手段からの報知を受け付けると前記印刷手段への電源供給を停止し、しかも、
前記制御手段は、前記書き換え処理では書き換えるべきデータを複数のセクタに区切って該セクタごとに前記不揮発性メモリへの書き込みを行い、１セクタのデータ書き込み中には前記受付手段からの報知を受け付けない一方、１つのセクタへの書き込み終了後、次のセクタへの書き込みを開始するまでの間、前記受付手段からの報知を受け付ける請求項１ないし５のいずれかに記載の画像形成装置。
【請求項７】
装置の電源が遮断されてもフラグの状態を保持可能なフラグ保持手段をさらに備え、
前記制御手段は、前記終了処理の実行後で前記書き換え処理の実行開始前に前記フラグをセットする一方、前記書き換え処理の終了後に前記フラグをクリアする請求項１ないし６のいずれかに記載の画像形成装置。
【請求項８】
記録材上に画像を印刷する印刷手段と、前記印刷手段を制御するための制御プログラムを記憶する、データを電気的に書き換え可能な不揮発性メモリとを有する画像形成装置の制御方法において、
前記制御プログラムに基づいて前記印刷手段を制御する制御処理と、前記不揮発性メモリの記憶領域のうち指定した領域のデータを書き換える書き換え処理とを選択的に実行し、しかも、
前記書き換え処理を実行するときには、該実行に先立って、前記印刷手段を終了状態に移行させる終了処理を実行する
ことを特徴とする画像形成装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御プログラムを記憶保存するとともにデータを電気的に書き換え可能な不揮発性メモリを備えた画像形成装置およびその制御方法に関するものである。
【背景技術】
【０００２】
記録材上に画像を形成する印刷手段を備え、マイクロプロセッサ等の制御手段により制御プログラムを実行することで各部の動作を制御する画像形成装置においては、バージョンアップ等の便宜のため、制御プログラムを電気的に書き換え可能な不揮発性メモリに記憶させたものがある。例えば、特許文献１に記載の技術においては、ＣＰＵが実行すべき制御プログラムをフラッシュＲＯＭ上に記憶しておき、当該制御プログラムをダウンロード更新するときには、フラッシュＲＯＭに記憶されているダウンロード用プログラムの複製を別のＲＡＭ上に作成し、該ＲＡＭ上のプログラムをＣＰＵがフェッチし実行することによって、フラッシュＲＯＭ上のプログラムを書き換えるようにしている。このようにすることで、制御プログラムおよび他のデータの両方を同一のフラッシュＲＯＭに記憶させることができる。
【０００３】
【特許文献１】特開平１０−２２８３７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記した従来技術のように制御プログラムを記憶したＲＯＭの書き換えが可能な機器においては、ＲＯＭの書き換え中には当該ＲＯＭに記憶されている制御プログラムを読み出し実行することができない。このため、データの書き換え中に何らかの例外的な事象が発生したときに、これに対応することができない場合があった。例外的な事象としては様々なものが考えられ、それらの全てに対応するための制御プログラムをＲＯＭ外に予め用意しておくことは大きなコストの無駄となり現実的でないからである。その結果、例えば、データの書き換え中に装置への電源供給が停止したり、ユーザによって電源スイッチが切られたりした場合、電源が再投入されても装置を正常な状態に復帰させることができなくなるという問題が生じることがあった。
【０００５】
この発明は上記課題に鑑みなされたものであり、制御プログラムを記憶保存するとともにデータを電気的に書き換え可能な不揮発性メモリを備えた画像形成装置およびその制御方法において、不揮発性メモリ内のデータ書き換え中に装置の電源が切られた場合に適切な対応が可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明にかかる画像形成装置は、上記目的を達成するため、記録材上に画像を印刷する印刷手段と、前記印刷手段を制御するための制御プログラムを記憶する、データを電気的に書き換え可能な不揮発性メモリと、前記制御プログラムに基づいて前記印刷手段を制御する制御処理と、前記不揮発性メモリの記憶領域のうち指定した領域のデータを書き換える書き換え処理とを実行する制御手段とを備え、前記制御手段は、前記書き換え処理を実行するときには、該実行に先立って、前記印刷手段を電源の遮断が可能な終了状態に移行させる終了処理を実行することを特徴としている。
【０００７】
このように構成された発明では、不揮発性メモリの書き換えに先立って印刷手段の終了処理を行っている。書き換え処理中に装置の電源が切られると、制御手段は本来実行すべき電源オフ時の処理を行うことができないため、印刷手段が動作状態のまま電源が落とされてしまうことになる。その結果、電源の復旧後に装置を正常な状態に復帰させることができない場合が生じる。これに対し、本発明では、事前に終了処理を行って印刷手段を電源の遮断が可能な状態に移行させているので、書き換え処理の途中で装置の電源が切られたとしても、電源の復旧後には装置を正常な状態に復帰させることができる。このように、この発明によれば、不揮発性メモリ内のデータ書き換え中に装置の電源が切られた場合にも適切に対応することができる。
【０００８】
ここで、データを一時的に記憶可能な記憶手段をさらに備えるとともに、前記書き換え処理に対応する制御プログラムが前記不揮発性メモリに記憶されており、前記書き換え処理のうち前記不揮発性メモリへの書き込み動作を含む少なくとも一部は、前記不揮発性メモリから前記記憶手段上に複製された制御プログラムに基づいて実行されるように構成されてもよい。
【０００９】
不揮発性メモリを書き換える際には、制御プログラムを含む同メモリからのデータの読み出しを一定期間行うことができなくなり、結果として制御手段は不揮発性メモリ上の制御プログラムに基づく処理を実行できなくなる。これに対し、この発明では、不揮発性プログラムに記憶されている制御プログラムの少なくとも一部を他の記憶手段に複製しこれを制御手段が実行することで、不揮発性メモリへのデータの書き換えを行っている途中でも、制御手段は必要な処理を実行することができる。また、事前に終了処理を行うことにより、記憶手段に複製すべき制御プログラムに終了処理に対応するものを含める必要がなくなる。
【００１０】
このような画像形成装置は、例えば、前記印刷手段が外部媒体から与えられる画像データと前記不揮発性メモリに記憶されている画像素材データとを合成してなる合成画像を前記記録材上に印刷可能に構成される一方、前記制御手段は、前記書き換え処理により、前記不揮発性メモリに記憶されている前記画像素材データを書き換えるものであってもよい。
【００１１】
このような構成の画像形成装置では、画像素材データを制御プログラムと同じ不揮発性メモリに記憶させておくことで、それぞれに専用のメモリを設ける必要がなく装置を低コストに構成することができる。また、画像素材データを書き換え可能とすることにより、ユーザに対し多様な合成画像を提供することができる。
【００１２】
また、前記制御手段は、例えばユーザにより設定された前記印刷手段の印刷条件に関する設定情報を記憶保存する処理を含む前記終了処理を実行するようにしてもよい。このようにすれば、書き換え処理中に装置の電源が切られたとしても、電源が復旧したときには元の設定状態を復元することができる。このような設定情報としては、例えば画像のレイアウトやサイズ、印刷枚数などに関する情報を含むことができる。また、設定情報とは別に、画像形成のためのインクやトナー（着色剤）などの残量に関する情報を記憶保存するようにしてもよい。
【００１３】
また、前記印刷手段が、前記記録材に画像を印刷しながら移動する印刷ヘッドを有している場合には、前記制御手段は、前記印刷ヘッドを所定の終了位置に位置決めする処理を含む前記終了処理を実行するようにしてもよい。こうすることで、電源オフ時に印刷ヘッドに生じうるトラブルを回避することができる。
【００１４】
また、ユーザからの電源オフ指示操作入力を受け付けて前記制御手段に報知する受付手段をさらに備えるとともに、前記制御手段は、前記受付手段からの報知を受け付けると前記印刷手段への電源供給を停止し、しかも、前記制御手段は、前記書き換え処理では書き換えるべきデータを複数のセクタに区切って該セクタごとに前記不揮発性メモリへの書き込みを行い、１セクタのデータ書き込み中には前記受付手段からの報知を受け付けない一方、１つのセクタへの書き込み終了後、次のセクタへの書き込みを開始するまでの間、前記受付手段からの報知を受け付けるようにしてもよい。
【００１５】
このようにすれば、書き込み処理中に受け付け手段からの報知を受け付けてしまうことによる不確実な動作を回避しながらも、ユーザからの操作入力に対して遅滞なく対応して装置の電源を停止することが可能となる。
【００１６】
また、装置の電源が遮断されてもフラグの状態を保持可能なフラグ保持手段をさらに備え、前記制御手段は、前記終了処理の実行後で前記書き換え処理の実行開始前に前記フラグをセットする一方、前記書き換え処理の終了後に前記フラグをクリアするようにしてもよい。このようにすれば、電源投入時にフラグの状態を見ることによって、書き換え処理の途中で電源が切られたか否かを判定することができ、その判定結果に応じて以後の処理を最適化することができる。
【００１７】
また、この発明にかかる画像形成装置の制御方法は、記録材上に画像を印刷する印刷手段と、前記印刷手段を制御するための制御プログラムを記憶する、データを電気的に書き換え可能な不揮発性メモリとを有する画像形成装置の制御方法であって、上記目的を達成するため、前記制御プログラムに基づいて前記印刷手段を制御する制御処理と、前記不揮発性メモリの記憶領域のうち指定した領域のデータを書き換える書き換え処理とを選択的に実行し、しかも、前記書き換え処理を実行するときには、該実行に先立って、前記印刷手段を終了状態に移行させる終了処理を実行することを特徴としている。
【００１８】
このように構成された発明では、上記した画像形成装置の発明と同様に、書き換え処理の途中で装置の電源が切られた場合にも適切に対応して、電源の復旧後には装置を正常な状態に復帰させることができる。
【発明を実施するための最良の形態】
【００１９】
図１は本発明のデータ処理装置の一実施形態であるフォトプリンタを示す斜視図である。また、図２はフォトプリンタの内部構成の概略を示す図である。このフォトプリンタ１０では、プリンタ本体１２の内部にはプリント機構５０（図２参照）が内蔵されており、このプリント機構５０の制御を司るコントローラ７０（図２参照）からの動作指令に応じて用紙Ｐへの印刷を実行する。そして、こうして印刷された用紙Ｐがプリンタ本体１２の前面に排紙される。
【００２０】
このプリンタ本体１２の前面には、図１に示すように、前面扉１４が開閉自在に取り付けられている。この前面扉１４はプリンタ本体１２の前面を開閉するための蓋である。そして、開状態のときには、プリント機構５０から排紙される用紙Ｐを受けるための排紙トレイとして機能する。また、プリンタ本体１２の前面に設けられた各種のメモリカードスロット１６をユーザが利用可能な状態となる。つまり、この状態でユーザは印刷対象となる画像ファイルを記憶したメモリカードＭをメモリカードスロット１６に差し込むことができる。さらに、この実施形態では、記録媒体としてメモリカード以外にＣＤ−Ｒ（Compact Disc Recordable：書き込み可能なコンパクトディスク）や映像ＤＶＤ（Digital Versatile Disc：デジタル多用途ディスク）などのディスクを利用可能となっている。つまり、プリンタ本体１２のベース部分に光ディスクドライブ（Optical Disc Drive）１３が設けられている。
【００２１】
また、プリンタ本体１２の上面には操作パネル２０が設けられる一方、プリンタ本体１２の上面の奥の一辺に対してカバー３０が開閉自在に取り付けられている。このカバー３０は、プリンタ本体１２の上面を覆うことのできる大きさに成形された樹脂板であり、開状態では操作パネル２０の表面を外部に露出する（図１参照）。一方、カバー３０が閉状態に閉じられると、操作パネル２０全体を覆う。
【００２２】
この操作パネル２０には、文字や図形、記号などを表示する例えばＬＣＤにより構成された表示部２２と、この表示部２２の周囲に配置されたボタン群２４とを備えている。ボタン群２４は、図２に示すように、電源のオンオフを行うための電源ボタン２４ａ、メインメニュー画面を呼び出すためのメニューボタン２４ｂ、操作を途中でキャンセルしたり用紙Ｐへの印刷を途中で中断したりするためのキャンセルボタン２４ｃ、用紙Ｐへの印刷実行を指示するための印刷ボタン２４ｄ、メモリカードスロット１６に挿入されたメモリカードＭに編集画像等を保存するための保存ボタン２４ｅ、表示部２２に表示された複数の選択肢の中から所望の選択肢を選択したりカーソルを移動したりするときに操作される上下左右の各矢印ボタン２４ｆ〜２４ｉ、この上下左右の各矢印ボタン２４ｆ〜２４ｉの中央に配置され各矢印ボタン２４ｆ〜２４ｉによって選択されている選択肢に決定したことを指示するためのＯＫボタン２４ｊ、表示部２２での画面表示を切り替えるための表示切替ボタン２４ｋ、表示部２２に表示される左ガイドを選択する左ガイド選択ボタン２４ｌ、表示部２２に表示される右ガイドを選択する右ガイド選択ボタン２４ｍ、排紙トレイとしての機能を備えた前面扉１４を開く排紙トレイオープンボタン２４ｎなどで構成されている。
【００２３】
また、表示部２２の表示内容を確認するために、カバー３０には表示部２２と同じ大きさの窓３２が設けられている。つまり、カバー３０が閉状態にあるときにはユーザはこの窓３２を介して表示部２２の表示内容を確認することができる。一方、カバー３０は開状態のときには、表示部２２を図１に示すように好みの角度に調整することが可能となっている。
【００２４】
このようにカバー３０を開状態としたときには、操作パネル２０に対して斜め後方に傾斜した状態でカバー３０は保持され、用紙Ｐをプリント機構５０へ供給するためのトレイとして利用可能となっている。また、操作パネル２０の奥には、プリント機構５０の給紙口５８が設けられるとともに、ガイド幅が用紙の幅に合うように左右方向にスライド操作される一対の用紙ガイド５９が設けられている。
【００２５】
そして、給紙口５８を介して用紙Ｐがプリント機構５０に送り込まれて印刷が実行される。このプリント機構５０には、図２に示すように、キャリッジ５３が左右方向にループ状に架け渡されたタイミングベルト５１により駆動されガイド５２に沿って左右に往復動する。このキャリッジ５３には、センサ５７が設けられ、用紙Ｐの左右端や上下端を検出する。つまり、センサ５７は、給紙口５８にセットされた用紙に対して印刷前にキャリッジ５３が左右方向に走査したときにその用紙の左右端を検出して用紙幅の認識を可能にしたり、印刷途中で用紙の後端を検出して用紙長さの認識を可能にしたりする。
【００２６】
また、このキャリッジ５３には、シアン・マゼンタ・イエロー・ブラック等の各色のインクを個別に収容したインクカートリッジ５４が搭載されている。これらのインクカートリッジ５４はそれぞれ印刷ヘッド５５に接続されている。そして、印刷ヘッド５５はインクカートリッジ５４からのインクに圧力をかけてノズル（図示省略）から用紙Ｐに向かってインクを吐出する。この実施形態では、印刷ヘッド５５は圧電素子に電圧をかけることにより該圧電素子を変形させてインクを加圧する方式を採用しているが、発熱抵抗体（例えばヒータなど）に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。こうして印刷された用紙Ｐは搬送ローラ５６によって開状態の前面扉（排紙トレイ）１４へ送り出される。また、画像形成のために、インクに代えてトナーや現像剤を用いてもよい。
【００２７】
図２に示すキャリッジ５３をその可動範囲内で最も右側のキャップ位置まで移動させたときに印刷ヘッド５５と対向する位置には、キャップ５８が設けられている。キャップ５８は、長時間印刷動作を行わないときに印刷ヘッド５５のノズルに被せられることにより、インクの乾燥に起因するノズルの目詰まりを防止する。また、装置が電源オフ状態にあるときにも、キャリッジ５３はキャップ位置に位置決めされノズルにキャップが施されている。
【００２８】
図３は図１のフォトプリンタの電気的構成を示すブロック図である。コントローラ７０は、図３に示すようにシステムバス７００を有しており、このシステムバス７００には、ＣＰＵ７０１、フラッシュＲＯＭ７０２、ＲＡＭ７０３、ＩＤＥ（Integrated Drive Electronics）インタフェース７０４、ＶＲＡＭ７０５、ＥＥＰＲＯＭ７１１、カードインタフェース７０６および画像処理部７０７などが接続されている。ＣＰＵ７０１は、プリント機構５０の動作制御を実行するための演算処理などを行う。
【００２９】
フラッシュＲＯＭ７０２は、電気的に繰り返し書き換え可能な不揮発性メモリであり、ＣＰＵ７０１の制御に必要なプログラム（ファームウェア）およびその制御に必要な各種データやテーブルなどを記憶する。ＲＡＭ７０３はＣＰＵ７０１の動作に必要なデータを一時的に記憶するものであり、ＶＲＡＭ７０５には表示部２２に描画すべき画像データが格納される。ＥＥＰＲＯＭ７１１も電気的に書き換え可能なメモリであり、装置の電源が切られた状態においても保存しておくべきデータを記憶保存する。カードインタフェース７０６は、メモリカードスロット１６との通信を行い、メモリカードスロット１６に挿入されたメモリカードＭなどの外部記憶媒体の画像データを読み取る。また、カードインタフェース７０６は、編集画像などを保存するためにメモリカードＭに画像データを書き込む。ＩＤＥインタフェース７０４は光ディスクドライブ１３に対するデータの送受信を司る。
【００３０】
画像処理部７０７は、カードインタフェース７０６により読み取られたメモリカードＭなどの外部記憶媒体から与えられる画像データに対し必要な画像処理を行う。例えば、メモリカードＭから読み出された画像データと、フラッシュＲＯＭ７０２から読み出された画像フレームデータとを合成した合成画像データを作成し、印刷データ生成部７０８およびＬＣＤコントローラ７０９に対し送出する。
【００３１】
印刷データ生成部７０８は、画像処理部７０７により作成された画像データに基づいて印刷制御信号を生成し、プリント機構５０に対し出力する。プリント機構５０は印刷制御信号に基づいて印刷動作を実行し、用紙上に画像ファイルに対応する画像を形成する。また、ＬＣＤコントローラ７０９は、画像処理部７０７により作成された画像データに基づいてビデオ信号を生成し、表示部２２に出力する。これにより、表示部２２には画像データに対応した画像が表示される。
【００３２】
また、ＣＰＵ７０１は、ボタン群２４を構成する各操作ボタンがユーザにより押されたかどうかを一定周期、例えば２００ｍｓｅｃ間隔でチェックするポーリングを行っており、これによりユーザがいずれかの操作ボタンを操作したことが検知されると、操作されたボタンに応じた受付処理を実行する。例えば、装置の電源が投入された状態で電源ボタン２４ａがユーザにより押下されると、装置各部への電源供給を停止する。また例えば、印刷ボタン２４ｄが押下されたときには、画像処理部７０７に印刷制御信号を作成させるとともに、プリント機構５０に印刷動作を行わせる。
【００３３】
図４はフラッシュＲＯＭのメモリマップを示す図である。フラッシュＲＯＭ７０２には、ＣＰＵ７０１により実行される制御プログラムおよび各種データの両方が記憶されている。より詳しくは、フラッシュＲＯＭ７０２のメモリ空間は割り込み処理プログラム領域、通常処理プログラム領域およびデータ領域に分けられており、各領域に記憶されたデータを個別に書き換えることができる。より具体的には、指定した領域をセクタ単位でフラッシュ（データ消去）し、該セクタに新たなデータを書き込むことによりデータを書き換えることができる。割り込み処理プログラム領域には、ＣＰＵ７０１に周辺デバイスからの割り込み要求があったときに割り込み処理として実行される制御プログラムが保存されている。通常処理プログラム領域には、ＣＰＵ７０１が通常の処理を行う際に実行される制御プログラムが保存されている。ＣＰＵ７０１は、通常処理プログラム領域に記憶されている制御プログラムに基づく処理動作の実行中に周辺デバイスから割り込み要求があると、割り込み処理プログラム領域内でその割り込み要因に応じて予め設定されたアドレスに格納された制御プログラムを実行することにより割り込み処理を行う。割り込み要因とそれに対応する割り込み処理プログラムの開始アドレスとの関連付けはＣＰＵの仕様として予め決められており、変更されることはない。通常の電子機器の組み込みプログラムの場合、これを変更することは処理が複雑となり現実的でないからである。
【００３４】
また、通常処理プログラム領域には、制御プログラムの一部として、後述するフラッシュＲＯＭの指定した領域を書き換えるための処理内容を記述したＰＩＦデータ更新処理プログラムが保存されている。ＰＩＦデータ更新処理プログラムは、フラッシュＲＯＭ７０２のデータ領域のうち、下記のＰＩＦデータ領域に記憶されているデータを書き換えるための制御プログラムである。ＰＩＦデータ更新処理プログラムによるデータの書き換えはＰＩＦデータ領域全体を対象としており、ＰＩＦデータ領域内の全セクタについて上記したフラッシュ（データ消去）およびデータの再書き込みを行う。
【００３５】
また、データ領域には各種のデータを保存可能であるが、この実施形態では、その一部に、メモリカードＭから読み出された写真画像等に装飾として付加することのできるフレームやシンボルマークなどのデータを保存している。以下では、これらのデータをＰＩＦ（Print Image Framer）データと称することとする。ＰＩＦデータは、各フレーム等の内容を表す画像データと、各画像データの先頭アドレスおよびデータサイズをテーブル化したインデックステーブルデータとにより構成されている。
【００３６】
図５はＰＩＦデータ領域の詳細を示すメモリマップである。フラッシュＲＯＭ７０２のメモリ空間には、上記のＰＩＦデータを保存するために所定容量（例えば８ＭＢ）のＰＩＦデータ領域が設けられている。このＰＩＦデータ領域には、複数種のフレームやシンボルマークなどの装飾画像に対応するＰＩＦデータを保存することが可能であるが、画像の内容によりデータのサイズが異なる。そこで、各フレームをインデックステーブルデータとフレームデータとに分けて表現し格納しておくことにより、必要なフレームデータを正しく読み出すことができるようにしている。
【００３７】
ＰＩＦデータ領域は、図５に示すように、インデックステーブル領域とフレームデータ領域とに分けられており、各フレームの画像内容を表すフレームデータはフレームデータ領域に保存されている。また、フラッシュＲＯＭ７０２内における各フレームデータの先頭位置およびそのデータサイズがインデックステーブル領域に保存されている。図５では、第１のフレーム（Ｆｒ．１）、第２のフレーム（Ｆｒ．２）、…、第Ｎのフレーム（Ｆｒ．Ｎ）の計Ｎ種類のフレームのデータが保存されている状態を示している。ＰＩＦデータをインデックステーブルデータとフレームデータとに分けて保存することにより、各フレームデータのサイズおよびフラッシュＲＯＭ７０２内における配列順序をメモリ容量の範囲内で任意とすることができる。
【００３８】
このＰＩＦデータについては、ユーザがその好みに応じてメモリカード、ＣＤ−ＲＯＭまたは所定のウェブサイトから取得したデータに書き換えることが可能である。つまり、フラッシュＲＯＭ７０２に記憶されたＰＩＦデータを、これらの媒体から取得したＰＩＦデータにより書き換えることにより、ユーザは新たなフレームを使用することができるようになる。これを可能とするため、この実施形態では、フラッシュＲＯＭ７０２の書き換え処理を以下のようにして行う。
【００３９】
図６はこの実施形態におけるフラッシュＲＯＭの書き換え処理を示すフローチャートである。この実施形態では、操作パネル２０に対してユーザが所定の操作入力を行うことにより、ＰＩＦデータの更新処理が選択されると、図６に示す書き換え処理（ＰＩＦデータ更新処理）が実行される。まず、メモリカード、ＣＤ−Ｒ、ウェブサイト等から読み込まれたフレームの画像データをＲＡＭ７０３に一時的に記憶するとともに、該データを加工してインデックステーブルデータおよび画像データからなる更新用のＰＩＦデータを作成する（ステップＳ１０１）。
【００４０】
外部からの画像データの読み込みが無事に完了し更新用ＰＩＦデータの作成が完了すると（ステップＳ１０２）、続いて以下に説明する電源断対応処理を実行する（ステップＳ１０３）。一方、画像データの読み込みに失敗したり、データに不備がある等の事情により更新用ＰＩＦデータの作成が完了しなかった場合には、ＰＩＦデータの更新をキャンセルしそのまま処理を終了する。
【００４１】
図７は電源断対応処理を示すフローチャートである。この処理は、本来は装置に供給される電源電圧が低下したときや、ユーザにより電源ボタン２４ａが押下されたときにそれを割り込み要因とする割り込み処理として行われる処理であり、プリント機構５０を含む装置全体を、電源供給が遮断されても問題を生じない状態に移行させるための終了操作である。この処理を行うための制御プログラムは、フラッシュＲＯＭ７０２の割り込み処理プログラム領域（図４）に記憶されている。
【００４２】
まず、キャリッジ５３をキャップ５８と対向するキャップ位置へ移動させ、印刷ヘッド５５に設けられたノズルにキャップを被せる（ステップＳ２０１）。これにより、インクの乾燥によるノズルの目詰まりを防止する。また、その時点におけるインクカートリッジ５４内のインク残量に関する情報をＥＥＰＲＯＭ７１１に記憶保存する（ステップＳ２０２）。これにより、次に電源が投入された時にも現在のインク残量に関する情報が引き継がれ、インクの残量管理を適切に行うことができる。さらに、ユーザによる印刷設定情報についてもＥＥＰＲＯＭ７１１に記憶保存する（ステップＳ２０３）。ここでいう印刷設定情報としては、メモリカードＭに記憶された複数の画像ファイルのうちユーザが選択したものに関する情報、用紙Ｐのサイズや種類、用紙上への画像のレイアウトや印刷枚数に関する情報などのうち少なくとも１つを用いることができる。このように印刷設定情報を保存しておくことにより、電源が再投入されたときには電源オフ前の設定状態を復元することができる。
【００４３】
これらの処理は、装置の故障や無用な消耗を防止するために、またユーザの利便性向上のために、装置の電源オフ時には必ず実行されることが望ましい。これは、ユーザ自らが電源ボタン２４ａを操作して装置の電源を切ったときだけでなく、図示しない電源コードが誤って抜かれたり、停電が生じた場合についても同様である。したがって、この実施形態では、装置がいかなる動作状況にあるときでも、装置に供給される電源電圧が低下したことが検知されたときや、ユーザにより電源ボタン２４ａが押下されたときに、それを要因とする割り込み処理として上記処理を実行する。こうすることにより、再度電源が投入されたときに装置を直ちに電源オフ前の状態に復元することができる。
【００４４】
なお、電源オフ時に行っておくべき処理としてはこれ以外にも種々のものが考えられるが、例えば電源コードが抜かれたり停電が発生した場合には、装置内の電源電圧が急激に低下するため多くの処理を行うことは難しい。したがって、装置の保護および後刻の復旧のために必要な最低限の処理のみとするのが好ましい。この実施形態では、復旧後の動作に支障を来たすのを避けるため、印刷ヘッド５５を保護するための動作（ステップＳ２０１）および継続的なインク残量管理のための動作（ステップＳ２０２）を最優先に行うようにしている。
【００４５】
また、後述するように、フラッシュＲＯＭ７０２のデータを書き換えている最中にはＣＰＵ７０１は割り込みを受け付けない。したがってこの間に装置の電源が切られてしまうと、上記した終了操作を行わないまま電源が落とされてしまい以後の復旧に支障を来たすおそれがある。そこで、この実施形態では、フラッシュＲＯＭ７０２のデータを書き換える前にも電源断対応処理（図７）を行う。
【００４６】
図６に戻って、フラッシュＲＯＭ７０２の書き換え処理の説明を続ける。上記のようにして電源断対応処理（ステップＳ１０３）を行った後、ＥＥＰＲＯＭ７１１に設けた「書き込み中フラグ」をセットする。書き込み中フラグは、フラッシュＲＯＭ７０２のデータ書き換え開始の直前にセットされ、後述するようにフラッシュＲＯＭ７０２のデータ書き換えが完了するとクリアされるフラグであり、ＥＥＰＲＯＭ７１１の記憶領域内の１つのビットが該フラグに割り当てられている。書き込み中フラグは、装置の電源が入っていないときでも状態を保持している。そして、データ書き換え中の割り込みの発生を禁止すべく、全ての割り込み要因をマスクする（ステップＳ１０５）。
【００４７】
なお、フラッシュＲＯＭ７０２の更新を無事に行うためには、更新作業中に緊急のもの以外の割り込み処理を受け付けないことが望ましい。更新作業中に受け付けるべき割り込み処理としては、ユーザによる電源オフ操作や、電源コードが抜かれたり停電が発生したこと（以下、「停電等」という）に起因する割り込み、さらにユーザによる書き換え処理のキャンセル操作に起因する割り込み処理があるが、これ以外の割り込みについては、更新処理が完了するまでは受け付けないようにしておく。
【００４８】
動作中に生じうる不測の事態の中で、電源コードが抜かれたり停電が発生するなど電源電圧の低下を伴うものは、装置の全ての動作に影響するため、これに対応するための処理はマスク不可能な割り込み処理（Non Maskable Interrupt；ＮＭＩ）として準備されるべきものである。しかしながら、ＣＰＵ７０１が実行すべき割り込み処理プログラム自体を記憶したフラッシュＲＯＭ７０２の書き換えを行っているときにはＮＭＩさえも受け付けることができない。したがって、本来ＮＭＩとして処理されるべき停電等に起因する割り込みについても、フラッシュＲＯＭ７０２の書き換え中には発生しないようにする必要がある。このため、例えば電源電圧検知用のセンサにより停電等を検知する構成とする場合、センサ出力をＣＰＵ７０１のＮＭＩ端子に直接接続するのではなく、該センサ出力をハード的にマスクすることのできる素子（例えばＡＮＤ回路素子）を介してＣＰＵ７０１のＮＭＩ端子に接続しておくことが望ましい。そして、ステップＳ１０５において割り込みをマスクする際には、併せてセンサ出力をハード的にマスクすることにより、センサ出力がＣＰＵ７０１に伝わらないようにする。
【００４９】
次に、ＣＰＵ７０１は、制御プログラムの読み出し元をフラッシュＲＯＭ７０２からＲＡＭ７０３に切り換える（ステップＳ１０６）。ＲＡＭ７０３には、フラッシュＲＯＭ７０２に記憶されているＰＩＦデータ更新処理プログラムのうち、実際にフラッシュＲＯＭ７０２にアクセスする処理に対応する制御プログラムが予め複製されて保存されている。ＣＰＵ７０１は、ＲＡＭ７０３に記憶された制御プログラムを実行することにより、フラッシュＲＯＭ７０２の１セクタ（例えば１２０ｋＢ相当分）に記憶されているデータを消去し、先に作成した更新用のＰＩＦデータのうち１セクタ分を当該セクタに書き込むことでデータを更新する（ステップＳ１０７）。一般的なフラッシュＲＯＭでは、１セクタ分のデータを更新するのに２秒程度を要する。書き込みが終了すると、プログラムの読み出し元を再びフラッシュＲＯＭ７０２に戻す（ステップＳ１０８）。
【００５０】
続いて、全ての割り込み要因について、割り込みマスクを先に保存しておいたステップＳ１０４の直前の状態に復元する（ステップＳ１０９）。ステップＳ１０４の時点では、電源オフ操作や停電等に起因する割り込みおよび書き換え処理のキャンセル操作に起因する割り込みは許可されているので、この状態に戻される。したがって、この時点では、例えば電源オフ操作や停電等に起因する割り込みがあれば受け付けられる。こうして割り込みマスク状態を復元してから、表示部２２への表示処理を行う（ステップＳ１１０）。この処理は、ユーザにデータの更新状況を知らせるために所定のメッセージを表示する処理であり、例えば、更新の完了したセクタ数や、更新すべき全セクタのうち何％まで処理が完了したかがわかるようなメッセージとすればよい。
【００５１】
続いて、当該セクタのデータが正しく更新されたかどうかを確認する（ステップＳ１１１）。すなわち、当該セクタから読み出されたデータと、当該セクタに書き込むべきデータとを比較し、両者が一致していれば更新が成功していると言える一方、一致しなければ更新は失敗したと言える。更新が失敗したときの処理については後に説明する。当該セクタの更新が成功していれば（ステップＳ１１２）、引き続き更新すべきデータが残っている場合にはステップＳ１０５に戻って上記処理を繰り返し実行することにより、全データの更新を順次行う（ステップＳ１１１）。この間、ＲＡＭ７０３上のプログラムを実行するときには全ての割り込みが禁止される一方、フラッシュＲＯＭ７０２上のプログラムを実行するときには電源オフ操作および停電等に対応する割り込みは許可される。
【００５２】
更新すべき全てのデータの更新が完了すると（ステップＳ１１２）、書き込み中フラグをクリアし（ステップＳ１１３）、装置を通常の動作状態に戻す復帰処理を行って（ステップＳ１１４）、処理を終了する。この復帰処理は、フラッシュＲＯＭ７０２の書き換え処理を開始する前の状態に装置を移行させるための処理である。例えば、ユーザの指示に応じて印刷動作を実行可能とするために印刷ヘッド５５を所定のホームポジションに移動たり、ユーザによる全てのボタン操作を受け付け可能とするための処理などが含まれるが、電源投入直後に実行する起動処理と同じ内容であってもよい。
【００５３】
ステップＳ１１１において、セクタ単位でのデータ更新が失敗したと判断された場合には、書き込み中フラグのクリア（ステップＳ１１３）を行わずに復帰処理（ステップＳ１１４）を行う。これにより、装置は印刷動作を可能な状態となるが、書き込み中フラグはセットされたままとなる。
【００５４】
以上の処理において、フラッシュＲＯＭ７０２の書き換え処理中にユーザによる電源オフ操作や停電等が発生した場合の動作は次のようになる。まず、ユーザによる電源オフ操作がなされた場合について説明する。電源オフ操作の有無については、ＣＰＵ７０１が電源ボタン２４ａの押下の有無をポーリングすることにより検知することができる。電源ボタン２４ａの押下が検知されたとしても、フラッシュＲＯＭ７０２の更新作業中で割り込みが禁止されている期間（ステップＳ１０５〜Ｓ１０８）はこれに応答する処理を行わない。ステップＳ１０９において電源オフ操作を要因とする割り込みが許可されると、ＣＰＵ７０１はデータ更新処理を中止し、上記した電源断処理を含む、電源オフのために必要な全ての動作を行った上で装置の電源を停止する。
【００５５】
また、データ更新中にユーザによりキャンセルボタン２４ｃが押下された場合には、割り込み許可期間中に当該押下操作に起因する割り込みが受け付けられることにより、実行中の更新処理が中止される。つまり、ユーザ操作に起因する更新作業の中止に関する割り込みは、操作があった時点で直ちに行われるのではなく、割り込みが許可された時点（ステップＳ１０９）以降に正当な割り込み要求として受け付けられて処理される。
【００５６】
一方、停電等、すなわち電源コードが抜かれたり停電が発生するなどの事象は、割り込み禁止期間中にも発生する可能性がある。通常の動作時には、停電等の発生が検知された時点で直ちに上記した電源断対応処理のような割り込み処理を実行することにより、最低限の終了処理を行うことが可能である。しかしながら、フラッシュＲＯＭ７０２の書き換え中にはＣＰＵ７０１が割り込みを受け付けることができないため、割り込みが許可されるまで待ってから終了処理を実行したとしても、処理が間に合わない場合が生じうる。その結果、例えば印刷ヘッド５５のノズルがキャップされないまま放置されてノズルが目詰まりしてしまったり、その時点でのインク残量に関する情報が失われて以後のインク残量管理が適切に行えなくなったりする。また、印刷条件に関するユーザの設定内容が失われてしまうと、ユーザはその設定を改めて行わなければならなくなる。
【００５７】
このような問題に対応するために、この実施形態では、フラッシュＲＯＭ７０２の書き換えを行う前に電源断対応処理（ステップＳ１０３）を行っている。このため、装置に与えられる電源電圧が突然低下したとしても、ノズルにキャップを被せたりインク残量や設定情報等を保存するなどの最低限の終了処理は行われており、電源再投入時には装置を元の状態に復元させることが可能である。
【００５８】
また、この実施形態では、全てのデータ更新を完了した直後（ステップＳ１１３）以外には書き込み中フラグをクリアするタイミングが存在しない。したがって、フラッシュＲＯＭ７０２の更新が完了しないまま処理が中止されてしまったときには、書き込み中フラグがセットされたままとなる。この状態は、装置の電源が切られても保持されている。この書き込み中フラグは以下のように使用される。
【００５９】
この実施形態ではフラッシュＲＯＭ７０２の記憶領域のうちＰＩＦデータ領域の更新を可能としているが、更新が完了していない場合、ＰＩＦデータ領域に記憶されているデータの信頼性が失われていることになる。ＰＩＦデータは画像を装飾するために用いられるデータであり、これが欠ければ装置が動作しないというわけではない。また、ユーザが希望すれば再度更新し信頼性を回復することが可能なデータである。したがって、信頼性の失われているデータを無理に使用するよりは、このようなデータを使用しない方がユーザにとっては好ましい。
【００６０】
このような事情に鑑みて、この実施形態では、ＰＩＦデータの信頼性が失われている、つまり書き込み中フラグがセットされた状態であるときには、通常の動作においてＰＩＦデータを利用することができないようにする。すなわち、ユーザによるフレームの選択操作や、写真画像とフレームとの合成画像の生成を行えないようにする。こうすることにより、信頼性の失われたデータに基づく不具合を回避することができる。
【００６１】
なお、ユーザに対しては、ＰＩＦデータが正常でないことを報知することが望ましい。例えば、電源投入直後に表示部２２に表示する初期画面に「現在フレームを利用できません」というメッセージを表示させたり、メニュー画面におけるフレーム選択の項目を削除するもしくは反転表示するなどの手法により報知を行うことができる。一方、ＰＩＦデータを正しいものに更新することを可能とするために、ＰＩＦデータの更新処理についてはメニューに残すことが必要である。そして、ユーザにより再度更新処理が指示されデータの更新が終了すれば、書き込み中フラグはクリアされて、以後の動作ではＰＩＦデータを利用することが可能となる。
【００６２】
以上のように、この実施形態では、ＣＰＵ７０１が実行すべき制御プログラムと、画像の装飾に用いるＰＩＦデータとを同一のフラッシュＲＯＭ７０２に保存しておくことにより、使用デバイス数を少なくしている。また、フラッシュＲＯＭ７０２の書き換え前に印刷ヘッド５５をキャップ位置へ移動させるなど最低限の終了処理を行っているので、万が一ＰＩＦデータの書き換え中に停電等が発生しても、以後の復旧動作に支障を来たすことなく、装置を元の状態に復元することができる。また、データの書き換え中であることを示す書き込み中フラグを設け、その状態によって書き換えが完了したか否かを判断しているので、信頼性の失われたデータが使用されるのを防止することができる。
【００６３】
以上説明したように、この実施形態においては、ＣＰＵ７０１およびフラッシュＲＯＭ７０２がそれぞれ本発明の「制御手段」および「不揮発性メモリ」として機能している。また、上記実施形態では、プリント機構５０が本発明の「印刷手段」として機能しており、ＰＩＦデータが本発明の「画像素材データ」に相当している。また、メモリカードＭが本発明の「外部媒体」に相当する一方、ＲＡＭ７０３が本発明の「記憶手段」として機能している。また、この実施形態では、電源ボタン２４ａおよびＥＥＰＲＯＭ７１１がそれぞれ本発明の「受付手段」および「フラグ保持手段」として機能している。また、この実施形態においては、図７に示す電源段対応処理および図６に示すＰＩＦデータ更新処理が、それぞれ本発明の「終了処理」および「書き換え処理」に相当している。
【００６４】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態のＰＩＦデータ更新処理では、フラッシュＲＯＭ７０２へのデータの書き込みを１セクタ分終える度に電源オフ操作等の操作を受け付けるべく部分的に割り込みマスクを解除するようにしているが、全てのデータ更新が終わるまでの間、割り込み禁止状態を維持するようにしてもよい。この実施形態では事前に電源断対応処理を行っているため、最低限の終了処理は済んでいるからである。
【００６５】
また、上記実施形態では本発明の「不揮発性メモリ」としてフラッシュＲＯＭ（フラッシュメモリ）を用いているが、本発明の「不揮発性メモリ」としてはこのようなフラッシュメモリ以外にも、電気的に書き換えが可能で電源オフ状態でもデータを保持する機能を有するメモリ全般を使用することが可能である。
【００６６】
さらに、上記実施形態は、メモリカードＭ等に記憶されている画像データを読み出し、これに対応する画像を表示したり印刷するフォトプリンタであるが、本発明の適用範囲はこれに限定されるものではなく、電気的に書き換え可能で制御プログラムの少なくとも一部を記憶した不揮発性メモリを備える各種の画像形成装置などの電子機器に対して、本発明を適用することが可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明のデータ処理装置の一実施形態であるフォトプリンタを示す斜視図。
【図２】フォトプリンタの内部構成の概略を示す図。
【図３】図１のフォトプリンタの電気的構成を示すブロック図。
【図４】フラッシュＲＯＭのメモリマップを示す図。
【図５】ＰＩＦデータ領域の詳細を示すメモリマップ。
【図６】フラッシュＲＯＭの書き換え処理を示すフローチャート。
【図７】図７は電源断対応処理を示すフローチャート。
【符号の説明】
【００６８】
１０…フォトプリンタ（画像形成装置）、  １６…メモリカードスロット、  ２２…表示部、  ２４ａ…電源ボタン（受付手段）、  ５０…プリント機構（印刷手段）、  ７０１…ＣＰＵ（制御手段）、  ７０２…フラッシュＲＯＭ（不揮発性メモリ）、  ７０３…ＲＡＭ（記憶手段）、  ７１１…ＥＥＰＲＯＭ（フラグ保持手段）、  Ｍ…メモリカード（外部媒体）
【図１】
2009119823.tif 000003
【図２】
2009119823.tif 000004
【図３】
2009119823.tif 000005
【図４】
2009119823.tif 000006
【図５】
2009119823.tif 000007
【図６】
2009119823.tif 000008
【図７】
2009119823.tif 000009