(57)【要約】【課題】ＵＳＢ転送において、処理を簡略化してより迅速に情報の入出力を行うことができる。【解決手段】プリンタ２０は、ＵＳＢデバイスを接続可能な固定接続ポート（ポート１，３）に固定的に接続されたカードリーダ４２及び内蔵ドライブ４８に応じた情報を記憶する領域が共有メモリ４９上に予め固定確保されており、固定接続ポートのＵＳＢデバイスから読み出した情報を固定確保された領域へ格納したり、固定確保された領域に格納された情報をこれらのＵＳＢデバイスへ出力したりする。共有メモリ４９には、ＵＳＢクラスの種別に応じたエンドポイントの情報を記憶する領域が予め固定確保されている。また、共有メモリ４９には、エンドポイントの種別に応じた記憶容量の領域が予め固定確保されている。汎用ポート（ポート２）にＵＳＢデバイスが接続されたときには、これに必要な領域を共有メモリ４９に動的確保する。【選択図】図１
2008046858.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢデバイスを接続可能な固定接続ポートと、
前記固定接続ポートに接続される所定のＵＳＢデバイスに応じた情報を記憶する領域が予め固定確保されている情報記憶手段と、
前記固定接続ポートに接続された所定のＵＳＢデバイスから読み出した情報を前記情報記憶手段に固定確保されている領域へ格納可能であり前記固定確保された領域に格納された情報を該所定のＵＳＢデバイスへ出力可能である情報処理実行手段と、
を備えたＵＳＢ装置。
【請求項２】
前記情報記憶手段は、前記所定のＵＳＢデバイスのＵＳＢクラスの種別に応じたエンドポイントの情報を記憶する領域が予め固定確保されている、請求項１に記載のＵＳＢ装置。
【請求項３】
前記情報記憶手段は、前記エンドポイントの種別に応じた記憶容量の前記領域が予め固定確保されている、請求項２に記載のＵＳＢ装置。
【請求項４】
請求項１〜３のいずれかに記載のＵＳＢ装置であって、
複数の種別のＵＳＢデバイスを動作可能に接続及び接続解除可能な汎用ポートと、
前記汎用ポートに前記ＵＳＢデバイスが接続されたときには、該接続されたＵＳＢデバイスに応じた情報を記憶する領域を前記情報記憶手段に動的確保する領域確保手段と、を備え、
前記情報処理実行手段は、前記固定接続ポートに接続された前記所定のＵＳＢデバイスから読み出した情報を前記情報記憶手段に固定確保されている領域へ格納可能であり前記固定確保された領域に格納された情報を該所定のＵＳＢデバイスへ出力可能であり、前記汎用ポートに接続された前記ＵＳＢデバイスから読み出した情報を前記情報記憶手段に動的確保されている領域へ格納可能であり前記動的確保された領域に格納された情報を前記汎用ポートに接続されたＵＳＢデバイスへ出力可能である、ＵＳＢ装置。
【請求項５】
前記領域確保手段は、前記汎用ポートに接続されたＵＳＢデバイスのＵＳＢクラスの種別に応じたエンドポイントに基づいて前記接続されたＵＳＢデバイスに応じた情報を記憶する領域を前記情報記憶手段に確保する、請求項４に記載のＵＳＢ装置。
【請求項６】
請求項１〜５のいずれかに記載のＵＳＢ装置と、
着色剤を用いて印刷媒体へ画像を印刷可能な印刷処理手段と、
前記ＵＳＢ装置に接続されたＵＳＢデバイスから該ＵＳＢ装置を介して取得した情報に基づいて画像を印刷媒体へ印刷するよう前記印刷処理手段を制御する印刷制御手段と、
を備えた印刷装置。
【請求項７】
ＵＳＢデバイスを接続可能な固定接続ポートと、前記固定接続ポートに接続される所定のＵＳＢデバイスに応じた情報を記憶する領域が予め固定確保されている情報記憶手段とを備えたＵＳＢ装置の制御方法であって、
（ａ）前記固定接続ポートに接続された所定のＵＳＢデバイスから読み出した情報を前記情報記憶手段に固定確保されている領域へ格納するステップと、
（ｂ）前記固定確保された領域に格納された情報を前記固定接続ポートに接続された所定のＵＳＢデバイスへ出力するステップと、
を含むＵＳＢ装置の制御方法。
【請求項８】
請求項７に記載のＵＳＢ装置の制御方法の各ステップを１以上のコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ装置、印刷装置、ＵＳＢ装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ＵＳＢ装置としては、デバイスが接続されている接続ポート名とデバイスのシリアル番号とを含む名称をデバイスドライバとアプリケーションとがアクセスする共有オブジェクトに付与し、装置で一意となる名称を用いることにより、１台のホストに同種類のデバイスが接続されたときに生じる障害の発生を抑制するものが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２５８７１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一般に、この特許文献１に記載されたＵＳＢ装置などでは、例えばＰＣなどの上位装置に組み込まれることがあり、ＵＳＢ装置のコントローラとＰＣのコントローラとがアクセスする共有メモリを有し、デバイスが接続ポートに接続されたときには、そのデバイスに応じたメモリ領域を共有メモリに動的に確保し、このメモリ領域を介してＵＳＢ装置のコントローラとＰＣのコントローラとが情報のやり取りを行うことがある。この際に、各デバイスに応じて確保されたメモリ領域を管理する管理領域も共有メモリ内に確保する。このような装置では、デバイスが接続ポートに接続又は接続解除されるたびに管理領域の設定を行う必要があり、管理領域の設定処理に時間を要し、ＵＳＢでの転送時間がより多くかかってしまうことがあった。また、メモリ領域には管理領域を必ず設けなければならないため、デバイスが接続ポートに接続されるとデバイスが要するメモリの領域よりも多くの領域を確保しなければならなかった。
【０００４】
本発明は、このような課題に鑑みなされたものであり、処理を簡略化してより迅速に情報の入出力を行うことができるＵＳＢ装置、印刷装置、ＵＳＢ装置の制御方法及びプログラムを提供することを目的の一つとする。また、情報の入出力において確保する領域をより抑制することができるＵＳＢ装置、印刷装置、ＵＳＢ装置の制御方法及びプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００５】
本発明は、上述の目的の少なくとも一つを達成するために以下の手段を採った。
【０００６】
本発明のＵＳＢ装置は、
ＵＳＢデバイスを接続可能な固定接続ポートと、
前記固定接続ポートに接続される所定のＵＳＢデバイスに応じた情報を記憶する領域が予め固定確保されている情報記憶手段と、
前記固定接続ポートに接続された所定のＵＳＢデバイスから読み出した情報を前記情報記憶手段に固定確保されている領域へ格納可能であり前記固定確保された領域に格納された情報を該所定のＵＳＢデバイスへ出力可能である情報処理実行手段と、
を備えたものである。
【０００７】
このＵＳＢ装置では、ＵＳＢデバイスを接続可能な固定接続ポートに接続される所定のＵＳＢデバイスに応じた情報を記憶する領域が予め固定確保されており、固定接続ポートに接続された所定のＵＳＢデバイスから読み出した情報を固定確保されている領域へ格納したり固定確保された領域に格納された情報を所定のＵＳＢデバイスへ出力したりする。したがって、領域管理に用いる管理領域などを情報記憶手段に設ける処理が必要ないため、処理を簡略化してより迅速に情報の入出力を行うことができるし、情報の入出力において確保する領域をより抑制することができる。ここで、「固定接続ポート」は、特定のＵＳＢデバイスだけを動作可能に接続するよう固定的に定められているものをいい、物理的には様々なＵＳＢデバイスを接続可能であるものをも含む。
【０００８】
本発明のＵＳＢ装置において、前記情報記憶手段は、前記所定のＵＳＢデバイスのＵＳＢクラスの種別に応じたエンドポイントの情報を記憶する領域が予め固定確保されているものとしてもよい。こうすれば、ＵＳＢクラスに応じてエンドポイントが決められており、接続されるＵＳＢデバイスに適した領域を固定確保するため、より効率よい情報記憶手段の利用を行うことができる。
【０００９】
本発明のＵＳＢ装置において、前記情報記憶手段は、前記エンドポイントの種別に応じた記憶容量の前記領域が予め固定確保されているものとしてもよい。こうすれば、必要な容量の大きさが異なるエンドポイントに応じて接続されるＵＳＢデバイスに適した領域を固定確保するため、一層効率よい情報記憶手段の利用を行うことができる。
【００１０】
本発明のＵＳＢ装置は、複数の種別のＵＳＢデバイスを動作可能に接続及び接続解除可能な汎用ポートと、前記汎用ポートに前記ＵＳＢデバイスが接続されたときには、該接続されたＵＳＢデバイスに応じた情報を記憶する領域を前記情報記憶手段に動的確保する領域確保手段と、を備え、前記情報処理実行手段は、前記固定接続ポートに接続された前記所定のＵＳＢデバイスから読み出した情報を前記情報記憶手段に固定確保されている領域へ格納可能であり前記固定確保された領域に格納された情報を該所定のＵＳＢデバイスへ出力可能であり、前記汎用ポートに接続された前記ＵＳＢデバイスから読み出した情報を前記情報記憶手段に動的確保されている領域へ格納可能であり前記動的確保された領域に格納された情報を前記汎用ポートに接続されたＵＳＢデバイスへ出力可能であるものとしてもよい。こうすれば、領域が固定確保された所定のＵＳＢデバイス以外の機器を汎用ポートに接続して利用することができる。ここで、「動的確保する」とは、ＵＳＢデバイスの接続及び接続解除に応じて情報記憶手段の領域を確保・解放することをいう。このとき、前記領域確保手段は、前記汎用ポートに接続されたＵＳＢデバイスのＵＳＢクラスの種別に応じたエンドポイントに基づいて前記接続されたＵＳＢデバイスに応じた情報を記憶する領域を前記情報記憶手段に確保するものとしてもよい。こうすれば、汎用ポートに接続されたＵＳＢデバイスが必要とする領域を適切に確保することができる。このとき、前記領域確保手段は、前記汎用ポートに接続されたＵＳＢデバイスのエンドポイントの種別に基づいて前記確保する領域の記憶容量を設定し該設定した記憶容量の領域を確保するものとしてもよい。
【００１１】
本発明の印刷装置は、上述したいずれかに記載のＵＳＢ装置と、着色剤を用いて印刷媒体へ画像を印刷可能な印刷処理手段と、前記ＵＳＢ装置に接続されたＵＳＢデバイスから該ＵＳＢ装置を介して取得した情報に基づいて画像を印刷媒体へ印刷するよう前記印刷処理手段を制御する印刷制御手段と、を備えたものである。印刷装置は、例えばメモリカードや光ディスクなど情報記憶媒体などを用いるＵＳＢデバイスと接続し情報を取得して印刷することが多いため、本発明を適用する意義が高い。
【００１２】
本発明のＵＳＢ装置の制御方法は、
ＵＳＢデバイスを接続可能な固定接続ポートと、前記固定接続ポートに接続される所定のＵＳＢデバイスに応じた情報を記憶する領域が予め固定確保されている情報記憶手段とを備えたＵＳＢ装置の制御方法であって、
（ａ）前記固定接続ポートに接続された所定のＵＳＢデバイスから読み出した情報を前記情報記憶手段に固定確保されている領域へ格納するステップと、
（ｂ）前記固定確保された領域に格納された情報を前記固定接続ポートに接続された所定のＵＳＢデバイスへ出力するステップと、
を含むものである。
【００１３】
このＵＳＢ装置の制御方法では、ＵＳＢデバイスを接続可能な固定接続ポートに接続される所定のＵＳＢデバイスに応じた情報を記憶する領域が予め固定確保されており、固定接続ポートに接続された所定のＵＳＢデバイスから読み出した情報を固定確保されている領域へ格納し、固定確保された領域に格納された情報を所定のＵＳＢデバイスへ出力する。したがって、領域管理に用いる管理領域などを情報記憶手段に設ける処理が必要ないため、処理を簡略化してより迅速に情報の入出力を行うことができるし、情報の入出力において確保する領域をより抑制することができる。なお、このＵＳＢ装置の制御方法において、上述したＵＳＢ装置の種々の態様を採用してもよいし、また、上述したＵＳＢ装置の各機能を実現するようなステップを追加してもよい。
【００１４】
本発明のプログラムは、上述したＵＳＢ装置の制御方法の各ステップを１又は複数のコンピュータに実現させるためのものである。このプログラムは、コンピュータが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、上述したＵＳＢ装置の制御方法の各ステップが実行されるため、該制御方法と同様の作用効果が得られる。
【発明を実施するための最良の形態】
【００１５】
次に本発明を具現化した一実施形態について図面を用いて説明する。図１は、本発明の一例を表すプリンタ２０の構成の概略を示す構成図である。本実施形態のプリンタ２０は、装置全体の制御を司るメインコントローラ２１と、例えば電気通信回線としてのＬＡＮに接続された外部機器との間で情報の送受信が可能なネットワークインターフェース（Ｉ／Ｆ）２６と、記録紙Ｓへ画像を印刷するプリンタ部３０と、周辺機器としてのＵＳＢデバイスとの接続及び接続解除可能であると共に装着されたメモリカード５０や光ディスク（ＤＶＤ−ＲＷやＤＶＤ−ＲＡＭなど）と情報のやりとりを行うＵＳＢ装置４０と、を備えている。メインコントローラ２１は、ＣＰＵ２２を中心とするマイクロプロセッサとして構成されており、各種処理プログラムを記憶したＲＯＭ２３と、一時的にデータを記憶したりデータを保存したりするＲＡＭ２４と、を備えている。このメインコントローラ２１は、バス２８を介してプリンタＡＳＩＣ３２などと接続されている。ＲＡＭ２４には、印刷データを格納する図示しない印刷バッファ領域などが設けられている。
【００１６】
プリンタ部３０は、プリンタ機構３１と、プリンタＡＳＩＣ（Application Specific Integrated Circuit）３２とを備えている。プリンタ機構３１は、ブラック・シアン・マゼンタ・イエローなど各色のインクを個別に収容したインクカートリッジ３４と、インクカートリッジ３４から供給された各インクに圧力をかける圧力発生部３５と、圧力発生部３５で加圧されたインクを記録紙Ｓに吐出するインク吐出口３６と、記録紙Ｓを搬送する搬送ローラ３８とを備えている。圧力発生部３５は、圧電素子に電圧をかけることによりこの圧電素子を変形させてインクを加圧する方式を採用している。なお、この圧力発生部３５は、発熱抵抗体（例えばヒータなど）に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。プリンタＡＳＩＣ３２は、プリンタ機構３１を制御する機能を備えたＩＣチップであり、ＲＡＭ２３に設けられた印刷バッファ内の印刷データをラスタデータに展開し該展開した展開データを記録紙Ｓに印刷するようにプリンタ機構３１を制御するものである。
【００１７】
ＵＳＢ装置４０は、ポート１〜４を有するＨＵＢ４１と、携帯用の記憶媒体であるメモリカード５０を装着・取外し可能であるカードリーダ４２と、例えば外部記憶装置４７などとＵＳＢケーブルで接続可能な外部接続端子４６と、ＤＶＤ−ＲＷなどの光ディスクにデータを書き込み消去可能なドライブである内蔵ドライブ４８と、ＵＳＢ装置４０の全体を制御するＵＳＢホストコントローラ４０ａと、ＵＳＢホストコントローラ４０ａとＣＰＵ２２とがアクセス可能であり一時的に情報を記憶可能な共有メモリ４９と、を備えている。ＨＵＢ４１は、ポート１にカードリーダ４２が接続され、ポート２に外部接続端子４６が接続され、ポート３に内蔵ドライブ４８が接続され、ポート４は空きポートとなっており、これら接続された機器とＵＳＢホストコントローラ４０ａとの間の情報のやりとりを仲介する機器である。このＨＵＢ４１のポート１，３では、カードリーダ４２及び内蔵ドライブ４８が取り外し不能に固定されている。カードリーダ４２は、メモリカード５０との情報のやりとりなどカードリーダ４２を制御するカードリーダコントローラ４２ａや、メモリカード５０の装着部としてのスロット４２ｂなどを備えている。カードリーダコントローラ４２ａは、ＨＵＢ４１を介してＵＳＢホストコントローラ４０ａと情報のやり取りを行う。外部接続端子４６は、外部記憶装置４７（例えば外付けＨＤＤ）やＨＵＢなどのＵＳＢデバイスが接続可能なＵＳＢ端子である。
【００１８】
共有メモリ４９には、図２に示すように、取り外し不能に接続されたＨＵＢ４１やカードリーダ４２、内蔵ドライブ４８に関するＵＳＢ転送に必要な情報を格納する領域が予め固定確保されている。図２は、共有メモリ４９の固定確保された記憶領域の説明図である。プリンタ２０では、ＨＵＢ４１がＵＳＢホストコントローラ４０ａに、カードリーダ４２、内蔵ドライブ４８がＨＵＢ４１に、それぞれ常に接続されており、これらの機器が使用するＵＳＢアドレスを特定可能であるため、予めこれらの機器に必要な領域を共有メモリ４９に固定的に確保してある。また、共有メモリ４９には、固定的に利用される領域のほかに、動的に確保可能であり、外部接続端子４６へ接続された機器に関する情報を格納する領域も設けられている。ここで、ＵＳＢでの、デバイスの属性を表すＵＳＢクラスや、ホストとデバイスとをつなぐパイプを規定するエンドポイントについて説明する。ＵＳＢでは、ＵＳＢデバイスが属するＵＳＢクラスが設定されており、このＵＳＢクラスには、例えば、ＵＳＢデバイスを接続可能なＨＵＢクラス、外部ドライブとして認識されるマスストレージクラス、画像の情報を転送するスチルイメージキャプチャデバイスクラスなどがあり、それぞれに必要とするエンドポイントが定められている。本実施形態では、プリンタ２０は、ＨＵＢクラス、マスストレージクラス及びスチルイメージキャプチャデバイスクラスに対応するものとした。マスストレージクラスではエンドポイントとして「Control」，「Bulk-IN」，「Bulk-OUT」を必要とし、ＨＵＢクラスではエンドポイントとして「Control」，「Interrupt-IN」を必要とする。言い換えると、マスストレージクラスではエンドポイントとして「Interrupt-IN」を使用せず、ＨＵＢクラスではエンドポイントとして「Bulk-IN」，「Bulk-OUT」を使用しない。また、各エンドポイントごとに必要な領域のサイズ（記憶容量）がある程度決まっている。例えば、「Bulk-IN」や「Bulk-OUT」では転送するデータ量が比較的大きく（例えば数十キロバイト）、「Interrupt-IN」では転送するデータ量が比較的小さい（例えば１６バイト、３２バイト）傾向を有している。本実施形態では、ＵＳＢデバイスのＵＳＢクラスに応じたエンドポイントの各々の種別の情報を格納する領域をエンドポイントの種別に応じた記憶容量の領域となるように予め固定的に確保している。即ち、「Bulk-IN」や「Bulk-OUT」など容量を多く必要とするものは比較的大きな記憶容量となるように、「Control」や「Interrupt-IN」など、容量が少なくて済むものはそれに合わせた容量となるように領域を予め固定的に確保している。具体的には、図２に示すように、共有メモリ４９にはＵＳＢアドレス０〜３が固定的に確保されている。ＵＳＢアドレス０は、ＵＳＢデバイスの接続時に一時的に割り当てられるものであり、共有メモリ４９の所定領域のアドレス（例えば0x10000000〜0x10000200）がエンドポイントの「Control」の領域として固定的に確保されている。なお、各エンドポイントには、転送するデータ自体である転送データや、エンドポイントの情報（ＱＨ）、転送データの情報（例えば転送データのヘッダ情報など、ｑＴＤ）などが含まれており、それぞれのデータ種類に対して共有メモリ４９のアドレスが固定的に確保されている。ＵＳＢアドレス１は、ＨＵＢ４１に関する情報を格納する領域であり、他の機器に占有されていない共有メモリ４９の所定アドレス（例えば0x10000300〜0x10000800）がＵＳＢのＨＵＢクラスに対応したエンドポイントの「Control」，「Interrupt-IN」の領域として固定的に確保されている。ＵＳＢアドレス２は、ＨＵＢ４１のポート１に接続されたカードリーダ４２に関する情報を格納する領域であり、他の機器に占有されていない共有メモリ４９の所定アドレスがＵＳＢのマスストレージクラスに対応したエンドポイントの「Control」，「Bulk-IN」，「Bulk-OUT」の領域として固定的に確保されている。ＵＳＢアドレス３は、ＨＵＢ４１のポート３に接続された内蔵ドライブ４８に関する情報を格納する領域であり、他の機器に占有されていない共有メモリ４９の所定アドレスがＵＳＢのマスストレージクラスに対応したエンドポイントの「Control」，「Bulk-IN」，「Bulk-OUT」の領域として固定的に確保されている。
【００１９】
次に、こうして構成された本実施形態のプリンタ２０の動作、まず、外部接続端子４６にＵＳＢデバイスが接続されたときのＵＳＢデータ転送について説明する。図３は、メモリ領域確保解放ルーチンの一例を示すフローチャートである。このルーチンは、ＵＳＢホストコントローラ４０ａに記憶され、外部接続端子４６へＵＳＢデバイスが接続又は接続解除されたときにＵＳＢホストコントローラ４０ａにより実行される。なお、外部接続端子４６のＵＳＢデバイスの接続又は接続解除は、ＵＳＢホストコントローラ４０ａが所定間隔で各ポートをポーリングにより確認して検出するものとした。説明の便宜のため、ここでは、ＵＳＢホストコントローラ４０ａが外部接続端子４６に接続された外部記憶装置４７から画像ファイルを読み出して共有メモリ４９へ出力し、これを取得したメインコントローラ２１が画像ファイルを印刷処理する場合について説明する。このルーチンが開始されるとＵＳＢホストコントローラ４０ａは、デバイスとしてのＵＳＢデバイスが接続されたか接続解除されたかを判定し（ステップＳ１００）、ＵＳＢデバイスが接続されたと判定されたときには、ＵＳＢデバイスが要求するエンドポイントに応じた共有メモリ４９のメモリアドレスを確保する（ステップＳ１１０）。このとき、固定確保した領域と同様に、接続されたＵＳＢデバイスのＵＳＢクラスに応じたエンドポイントの各々の種別の情報を格納する領域をエンドポイントの種別に応じた記憶容量の領域となるように動的確保する。次に、管理領域が確保されているか否かを判定し（ステップＳ１２０）、管理領域が確保されていないときには、共有メモリ４９に動的確保したメモリアドレスの情報などを格納する管理ファイルを作成すると共にこれを記憶する管理領域を確保する（ステップＳ１３０）。ステップＳ１３０のあと又はステップＳ１２０で既に管理領域が確保されていると判定されたあと、新たに共有メモリ４９に動的確保したメモリアドレスの情報を格納することにより管理ファイルを更新し（ステップＳ１４０）、このルーチンを終了する。なお、ステップＳ１２０で管理領域が既に確保されていると判定された場合には、外部接続端子４６に接続されたＵＳＢデバイス（例えば外付けＨＵＢなど）に更に新たなＵＳＢデバイスが接続された場合であり、このときは、新たに接続されたＵＳＢデバイスが要求するメモリアドレスを新たなＵＳＢアドレスとして更に確保する。図４は、外部接続端子４６へＵＳＢデバイスが接続されたときの共有メモリ４９の確保領域の説明図である。図４に示すように、外部接続端子４６に外部記憶装置４７が接続されると、他の機器に占有されていない共有メモリ４９の所定アドレスが、ＵＳＢアドレス４にＵＳＢのマスストレージクラスに対応したエンドポイントの領域として動的に確保される。そして、ＵＳＢホストコントローラ４０ａは、その動的に確保した領域を利用してＣＰＵ２２へ目的のデータを送信する。
【００２０】
その後、外部接続端子４６を介して画像ファイルを取得すると、ＣＰＵ２２は、取得した画像ファイルを印刷データに変換し変換した印刷データをＲＡＭ２４に設けられた印刷バッファ内に格納し、この印刷データに基づいて記録紙Ｓへ画像を印刷する。ここで、印刷処理は、ＣＰＵ２２がプリンタＡＳＩＣ３２に画像ファイルの印刷を指令し、指令されたプリンタＡＳＩＣ３２がプリンタ機構３１を制御することにより実行される。印刷が指令されると、プリンタＡＳＩＣ３２は、ＲＡＭ２４に記憶されている印刷データをラスタデータに展開し、図示しない駆動モータを駆動して搬送ローラ３８を回転させて記録紙Ｓを搬送し、圧力発生部３５への電圧を制御することにより、展開したラスタデータに基づいて記録紙Ｓに画像を印刷する。
【００２１】
一方、ステップＳ１００でＵＳＢデバイスが接続解除されたと判定されたときには、接続解除されたＵＳＢデバイスに対応する共有メモリ４９上に確保したメモリアドレスを解放し（ステップＳ１５０）、外部接続端子４６に接続された機器があるか否かを判定し（ステップＳ１６０）、外部接続端子４６に接続された機器があると判定されたときには、
解放したメモリアドレスなどの情報をクリアすることにより管理ファイルを更新し（ステップＳ１４０）、このルーチンを終了する。一方、外部接続端子４６に接続された機器がないと判定されたときには、動的確保する領域がないため管理ファイルを消去すると共に管理領域を解放し（ステップＳ１７０）、このルーチンを終了する。
【００２２】
次に、外部接続端子４６に何も接続されていないときのＵＳＢデータ転送について説明する。説明の便宜のため、ここでは、メインコントローラ２１が、メモリカード５０から画像ファイルを取得し取得した画像ファイルを印刷処理する場合について説明する。この場合、メモリカード５０とＣＰＵ２２との情報のやりとりで使用する共有メモリ４９の領域が既に固定確保されているため、ＵＳＢホストコントローラ４０ａは、その固定確保された領域を利用してＣＰＵ２２へ目的の画像ファイルを送信する。その後、上述したように、画像ファイルを取得したＣＰＵ２２は、ファイルに基づいて画像を記録紙Ｓに印刷処理する。このように、ＵＳＢデータ転送において、新たに共有メモリ４９で領域を確保する処理、例えば管理ファイルを作成したりこの管理ファイルを記憶する管理領域を確保したりする処理を行うことなくデータ転送を実行可能である。
【００２３】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の共有メモリ４９が本発明の情報記憶手段に相当し、ＵＳＢホストコントローラ４０ａが情報処理実行手段及び領域確保手段に相当し、プリンタ部３０が印刷処理手段に相当し、ＣＰＵ２２及びプリンタＡＳＩＣ３２が印刷制御手段に相当し、ＨＵＢ４１のポート１，３が固定接続ポートに相当し、ＨＵＢ４１のポート２が汎用ポートに相当し、記録紙Ｓが印刷媒体に相当する。なお、本実施形態では、プリンタ２０の動作を説明することにより本発明のＵＳＢ装置の制御方法の一例も明らかにしている。
【００２４】
以上詳述した本実施形態のプリンタ２０によれば、ＵＳＢデバイスを接続可能な固定接続ポート（ポート１，３）に固定的に接続されたＵＳＢデバイス（カードリーダ４２及び内蔵ドライブ４８）に応じた情報を記憶する領域が共有メモリ４９上に予め固定確保されており、固定接続ポートに接続されたＵＳＢデバイスから読み出した情報を共有メモリ４９内に固定確保されている領域へ格納したり固定確保された領域に格納された情報をこのＵＳＢデバイスへ出力したりする。したがって、領域管理に用いる管理領域などを情報記憶手段に設ける処理が必要ないため、処理を簡略化してより迅速に情報の入出力を行うことができるし、情報の入出力において確保する領域をより抑制することができる。また、ＵＳＢクラスの種別に応じたエンドポイントの情報を記憶する領域が予め固定確保されているため、接続されたＵＳＢデバイスに適した領域を固定確保し、より効率よい共有メモリ４９の利用を行うことができる。更に、エンドポイントの種別に応じた記憶容量の領域が予め固定確保されているため、必要な容量の大きさが異なるエンドポイントに応じて接続されるＵＳＢデバイスに適した領域を固定確保し、一層効率よい共有メモリ４９の利用を行うことができる。
【００２５】
また、汎用ポート（ポート２）にＵＳＢデバイスが接続されたときには、接続されたＵＳＢデバイスに応じた情報を記憶する領域を共有メモリ４９に動的確保するため、領域が固定確保されたＵＳＢデバイス以外の機器を汎用ポートに接続して利用することができる。更に、汎用ポートに接続されたＵＳＢデバイスのＵＳＢクラスの種別に応じたエンドポイントに基づいて記憶領域を共有メモリ４９に確保するため、汎用ポートに接続されたＵＳＢデバイスが必要とする領域を適切に確保することができる。更にまた、汎用ポートに接続されたＵＳＢデバイスのエンドポイントの種別に基づいて、確保する領域の記憶容量を設定しこの設定した記憶容量の領域を確保するため、一層効率よい共有メモリ４９の利用を行うことができる。そして、プリンタ２０は、例えばメモリカード５０や光ディスクなどの情報記憶媒体などを用いるＵＳＢデバイスと接続し画像ファイルを取得して印刷することが多いため、本発明を適用する意義が高い。
【００２６】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００２７】
例えば、上述した実施形態では、共有メモリ４９にはＵＳＢクラスの種別に応じたエンドポイントの情報を記憶する領域が予め固定確保されているものとしたが、共有メモリ４９にはＵＳＢクラスの種別に応じることなくエンドポイントの情報を記憶する領域を予め固定確保するものとしてもよい。具体的には、ＵＳＢアドレスについて、ＵＳＢクラス如何にかかわらず全てのエンドポイント（「Control」，「Bulk-IN」，「Bulk-OUT」，「Interrupt-IN」）を固定確保する。こうしても、共有メモリ４９の利用効率は低下するが、処理を簡略化してより迅速に情報の入出力を行うことはできる。
【００２８】
上述した実施形態では、共有メモリ４９には、エンドポイントの種別に応じた記憶容量の領域が予め固定確保されているものとしたが、エンドポイントの種別に関わらず記憶容量の領域を一定の大きさで予め固定確保するものとしてもよい。こうしても、処理を簡略化してより迅速に情報の入出力を行うことはできる。
【００２９】
上述した実施形態では、ＨＵＢ４１に接続解除不能にカードリーダ４２と内蔵ドライブ４８とが接続されているものとしたが、ＨＵＢ４１に接続解除可能にカードリーダ４２と内蔵ドライブ４８とが接続されている構成としてもよい。この場合、ポート１，３にはマスストレージクラスのカードリーダ４２や外部ドライブが接続されたときだけこれらの機器が正常に動作可能であることをユーザに報知するものとする。こうしても、上述した実施形態と同様の効果が得られる。
【００３０】
上述した実施形態では、ＨＵＢクラス、マスストレージクラス及びスチルイメージキャプチャデバイスクラスに対応するものとしたが、このほかのＵＳＢクラス、例えば、ヒューマンインタフェースデバイスクラスやＩｒＤＡブリッジデバイスクラス、ブルートゥース（登録商標）クラス、オーディオデバイスクラスなどに対応するものとしてもよい。また、上述した実施形態では、エンドポイントとして「Control」，「Bulk-IN」，「Bulk-OUT」，「Interrupt-IN」を用いるものとしたが、このほかのエンドポイント、例えば「Isochronous-IN」などを用いるものとしてもよい。
【００３１】
上述した実施形態では、共有メモリ４９を独立して設けるものとしたが、共有メモリ４９を個別に設けず、共有メモリ４９として機能する領域をＲＡＭ２４の所定領域に設けるものとしてもよい。
【００３２】
上述した実施形態では、汎用ポートとしての外部接続端子４６を備えるものとしたが、これを備えないものとしてもよい。このとき、動的確保する領域を共有メモリ４９に設けなくてもよい。こうすれば、共有メモリ４９をより一層効率よく利用することができる。
【００３３】
上述した実施形態では、インクジェット方式を採用し着色剤としてインクを利用するフルカラーのプリンタ２０としたが、電子写真方式を採用し着色剤としてトナーを利用するカラーレーザプリンタや、熱転写方式を採用し着色剤としてインクリボンを利用するカラープリンタや、ドットインパクト方式を採用し着色剤としてインクリボンを利用するプリンタとしてもよいし、これらのモノクロプリンタとしてもよい。また、ＦＡＸ機やコピー機などの印刷装置としてもよい。また、ＵＳＢ装置４０を備える電子機器であれば、特に限定されずに本発明を適用することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の一例を表すプリンタ２０の構成の概略を示す構成図である。
【図２】共有メモリ４９の固定確保された記憶領域の説明図である。
【図３】メモリ領域確保解放ルーチンの一例を示すフローチャートである。
【図４】汎用ポートへの接続時の共有メモリ４９の確保領域の説明図である。
【符号の説明】
【００３５】
２０  プリンタ、２１  メインコントローラ、２２  ＣＰＵ、２３  ＲＯＭ、２４  ＲＡＭ、２６  Ｉ／Ｆ、２８  バス、３０  プリンタ部、３１  プリンタ機構、３２  プリンタＡＳＩＣ、３４  インクカートリッジ、３５  圧力発生部、３６  インク吐出口、３８  搬送ローラ、４０  ＵＳＢ装置、４０ａ  ＵＳＢホストコントローラ、４１  ＨＵＢ、４２  カードリーダ、４２ａ  カードリーダコントローラ、４２ｂ  スロット、４６  外部接続端子、４７  外部記憶装置、４８  内蔵ドライブ、４９  共有メモリ、５０  メモリカード、Ｓ  記録紙。
【図１】
2008046858.tif 000003
【図２】
2008046858.tif 000004
【図３】
2008046858.tif 000005
【図４】
2008046858.tif 000006