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