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