(57)【要約】【課題】簡易な構成で、汎用のホスト装置に接続されたときに不明なデバイスとして認識されないようにする。【解決手段】ＵＳＢユニット８０において、テレビ受像機９０を接続可能な構成に関する情報は、ＲＯＭ８０７に記憶されているコンフィギュレーションディスクリプタのうち、２番目のコンフィギュレーションディスクリプタに記述され、１番目のコンフィギュレーションディスクリプタには記述されていない。また、ＯＤＤ１３に関する情報は、両方のコンフィギュレーションディスクリプタに記述されている。【選択図】図３
2009157863.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢデバイスとして標準的に設計された汎用デバイスを接続するための汎用デバイス接続部と、
前記汎用デバイス以外の専用デバイスをＵＳＢデバイスとして接続するための専用デバイス接続部と、
ホスト装置を接続するためのデバイス側ＵＳＢ端子と、
前記汎用デバイス接続部に接続された前記汎用デバイスおよび前記専用デバイス接続部に接続された前記専用デバイスを制御するとともに、前記デバイス側ＵＳＢ端子に接続された前記ホスト装置との通信を制御するデバイスコントローラと、
前記デバイスコントローラに関する情報が記述されたデバイスディスクリプタとコンフィギュレーションに関する情報が記述されたコンフィギュレーションディスクリプタとを記憶するデバイス記憶手段と
を備え、
前記デバイスディスクリプタには、複数のコンフィギュレーションディスクリプタを有する旨の情報が記述され、
前記専用デバイスに関する情報は、１番目以外のコンフィギュレーションディスクリプタに記述されており、１番目のコンフィギュレーションディスクリプタには記述されていない
ことを特徴とするデバイス制御装置。
【請求項２】
前記デバイスディスクリプタのベンダーＩＤには固有の情報が記述され、
前記デバイスディスクリプタの製品ＩＤには前記専用デバイスに対応して設定された情報が記述され、
前記専用デバイスに関する情報は、前記製品ＩＤの情報に対応する特定のコンフィギュレーションディスクリプタに記述されている
請求項１記載のデバイス制御装置。
【請求項３】
請求項２記載のデバイス制御装置をＵＳＢデバイスとして接続するためのホスト側ＵＳＢ端子と、
前記ホスト側ＵＳＢ端子に接続されたＵＳＢデバイスとの通信を制御するホストコントローラと、
固有のベンダ情報、特定の製品情報および前記製品情報に対応する前記特定のコンフィギュレーションディスクリプタの情報を記憶するホスト記憶手段と
を備え、
前記ホストコントローラは、前記ホスト側ＵＳＢ端子にＵＳＢデバイスが接続されると該ＵＳＢデバイスと通信を行い、前記デバイスディスクリプタのベンダーＩＤの情報が前記ホスト記憶手段に記憶されている前記ベンダ情報と一致し、かつ、前記デバイスディスクリプタの製品ＩＤの情報が前記ホスト記憶手段に記憶されている前記製品情報に含まれているときは、その製品情報に対応する前記特定のコンフィギュレーションディスクリプタに基づき、前記ＵＳＢデバイスを制御する
ことを特徴とするホスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ホスト装置に接続可能に構成されるとともに、デバイス接続部に接続されたデバイスを制御するデバイス制御装置と、該デバイス制御装置を接続可能に構成されたホスト装置とに関するものである。
【背景技術】
【０００２】
従来、プリンタやスキャナなどの外部装置はパーソナルコンピュータなどのホストコンピュータと接続して利用される。この接続に際し、ＵＳＢ（Universal Serial Bus）と呼ばれる規格が普及している。ＵＳＢ規格は、汎用性が高く高速通信が可能であり、また機器を起動させた状態でコネクタの挿抜が可能、一つのホストに対して複数のデバイスを接続できるなどの利点を有している。
【０００３】
一方、ホストコンピュータに外部装置を接続して利用するにはプリンタドライバなどの専用ドライバをインストールする必要がある。通常、ＵＳＢではホストとデバイス（外部装置）とを接続した際に、ホストはデバイスの有する機能（プリンタの機能やスキャナの機能等）に関する情報を受信する。そして、専用ドライバが存在しない状態で外部装置を接続すると、その機能に関する情報を受信したにも拘わらず、その機能を動作させるための専用ドライバがホストに存在しないため、ホストは外部装置を「不明なデバイス」として認識する。そこで、従来、「不明なデバイス」として認識されないようにした装置が提案されている（例えば、特許文献１，２参照）。
【０００４】
【特許文献１】特開２００１−３１２４５３号公報
【特許文献２】特開２００６−１７８７０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、元々、パーソナルコンピュータなどの汎用の装置に接続することが想定されておらず、専用の装置にのみ接続するように設計されたデバイスも存在する。そのようなデバイスでは、上記従来の特許文献１，２に記載の装置のように、複雑な構成を備えてパーソナルコンピュータで使用可能にすることまでは求められていない。すなわち、パーソナルコンピュータに「不明なデバイス」として認識されて、ユーザに煩わしい思いをさせないようにすることのみが望まれる。
【０００６】
この発明は、上記課題に鑑みなされたものであり、簡易な構成で、パーソナルコンピュータなどの汎用のホスト装置に接続されたときに不明なデバイスとして認識されないようにすることが可能なデバイス制御装置を提供することを目的とする。また、この発明は、上記デバイス制御装置が接続されると好適に通信することができるホスト装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明にかかるデバイス制御装置は、上記目的を達成するため、ＵＳＢデバイスとして標準的に設計された汎用デバイスを接続するための汎用デバイス接続部と、汎用デバイス以外の専用デバイスをＵＳＢデバイスとして接続するための専用デバイス接続部と、ホスト装置を接続するためのデバイス側ＵＳＢ端子と、汎用デバイス接続部に接続された汎用デバイスおよび専用デバイス接続部に接続された専用デバイスを制御するとともに、デバイス側ＵＳＢ端子に接続されたホスト装置との通信を制御するデバイスコントローラと、デバイスコントローラに関する情報が記述されたデバイスディスクリプタとコンフィギュレーションに関する情報が記述されたコンフィギュレーションディスクリプタとを記憶するデバイス記憶手段とを備え、デバイスディスクリプタには、複数のコンフィギュレーションディスクリプタを有する旨の情報が記述され、専用デバイスに関する情報は、１番目以外のコンフィギュレーションディスクリプタに記述されており、１番目のコンフィギュレーションディスクリプタには記述されていないことを特徴としている。
【０００８】
このように構成された発明によれば、専用デバイスに関する情報は、１番目のコンフィギュレーションディスクリプタには記述されていない。したがって、接続されたＵＳＢデバイスを１番目のコンフィギュレーションディスクリプタに基づき制御するような汎用のパーソナルコンピュータに接続された場合には、専用デバイスに関する情報が取得されないため、不明なデバイスとして認識されることはない。その結果、「不明なデバイスが接続されました。ドライバをインストールしてください。」などのメッセージが表示されてユーザに煩わしい思いをさせるような事態を簡易な構成で未然に防止することができる。また、専用デバイスに関する情報は、１番目以外のコンフィギュレーションディスクリプタに記述されているため、専用のホスト装置に接続された場合には、そのコンフィギュレーションディスクリプタに基づき制御することにより、専用デバイスを有効に利用することができる。
【０００９】
また、デバイスディスクリプタのベンダーＩＤには固有の情報が記述され、デバイスディスクリプタの製品ＩＤには専用デバイスに対応して設定された情報が記述され、専用デバイスに関する情報は、製品ＩＤに対応する特定のコンフィギュレーションディスクリプタに記述されているとしてもよい。このように構成された発明によれば、専用のホスト装置に接続され、ベンダーＩＤおよび製品ＩＤの情報が確認され、特定のコンフィギュレーションディスクリプタに基づき制御されると、ホスト装置により専用デバイスが好適に制御されることとなる。
【００１０】
また、この発明にかかるホスト装置は、上記目的を達成するため、上記デバイス制御装置をＵＳＢデバイスとして接続するためのホスト側ＵＳＢ端子と、ホスト側ＵＳＢ端子に接続されたＵＳＢデバイスとの通信を制御するホストコントローラと、固有のベンダ情報、特定の製品情報および製品情報に対応する特定のコンフィギュレーションディスクリプタの情報を記憶するホスト記憶手段とを備え、ホストコントローラは、ホスト側ＵＳＢ端子にＵＳＢデバイスが接続されると該ＵＳＢデバイスと通信を行い、デバイスディスクリプタのベンダーＩＤの情報がホスト記憶手段に記憶されているベンダ情報と一致し、かつ、デバイスディスクリプタの製品ＩＤの情報がホスト記憶手段に記憶されている製品情報に含まれているときは、その製品情報に対応する特定のコンフィギュレーションディスクリプタに基づき、ＵＳＢデバイスを制御することを特徴としている。
【００１１】
このように構成された発明によれば、ホスト側ＵＳＢ端子にＵＳＢデバイスが接続されると該ＵＳＢデバイスと通信が行われる。そして、デバイスディスクリプタのベンダーＩＤの情報が記憶されているベンダ情報と一致し、かつ、製品ＩＤの情報が記憶されている製品情報に含まれているときは、その製品情報に対応する特定のコンフィギュレーションディスクリプタに基づき、ＵＳＢデバイスが制御される。したがって、ＵＳＢデバイスとして標準的に設計された汎用デバイス以外の専用デバイスを、好適に利用することが可能になる。
【発明を実施するための最良の形態】
【００１２】
図１は本発明のホスト装置の一実施形態であるフォトプリンタと本発明のデバイス制御装置の一実施形態であるＵＳＢユニットとを示す斜視図である。また、図２はフォトプリンタの内部構成の概略を示す図、図３はフォトプリンタおよびＵＳＢユニットの電気的構成を示すブロック図である。図１では、フォトプリンタ１０にＵＳＢケーブル８１を介してＵＳＢユニット８０が接続され、ＵＳＢユニット８０にビデオケーブル９１を介してテレビ受像機９０が接続されている。このフォトプリンタ１０では、プリンタ本体１２の内部にプリント機構部５０が内蔵されており、このプリント機構部５０の制御を司る記録制御部７０からの動作指令に応じて用紙Ｐへの印刷を実行する。そして、こうして印刷された用紙Ｐがプリンタ本体１２の前面に排紙される。
【００１３】
このプリンタ本体１２の前面には、図１に示すように、前面扉１４が開閉自在に取り付けられている。この前面扉１４はプリンタ本体１２の前面を開閉するための蓋である。そして、開状態のときには、プリント機構部５０から排紙される用紙Ｐを受けるための排紙トレイとして機能する。また、プリンタ本体１２の前面に設けられた各種のメモリカードスロット１６をユーザが利用可能な状態となる。つまり、この状態でユーザは印刷対象となる画像ファイルを記憶したメモリカードＭをメモリカードスロット１６に差し込むことができる。
【００１４】
また、図１に示すプリンタ本体１２の側面部には、ＵＳＢ（Universal Serial Bus）規格に準拠したデジタルカメラなどの外部デバイスを接続するためのＵＳＢ外部ソケット（いわゆるＡソケット）１７が設けられている。また、ＵＳＢユニット８０には、光ディスクドライブ（Optical Disc Drive）１３が設けられている。これによって、フォトプリンタ１０にＵＳＢユニット８０を接続することにより、記録媒体としてメモリカード以外に音楽ＣＤ（Compact Disc：コンパクトディスク）や映像ＤＶＤ（Digital Versatile Disc：デジタル多用途ディスク）などのディスクＤＣを利用可能となっている。
【００１５】
また、プリンタ本体１２の上面には操作パネル２０が設けられる一方、プリンタ本体１２の上面の奥の一辺に対してカバー３０が開閉自在に取り付けられている。このカバー３０は、プリンタ本体１２の上面を覆うことのできる大きさに成形された樹脂板であり、開状態では操作パネル２０の表面を外部に露出する（図１参照）。一方、カバー３０が閉状態に閉じられると、操作パネル２０全体を覆う。
【００１６】
この操作パネル２０には、文字や図形、記号などを表示する例えばＬＣＤにより構成された表示部２２と、この表示部２２の周囲に配置されたボタン群２４とを備えている。ボタン群２４は、図２に示すように、電源のオンオフを行うための電源ボタン２４ａ、メインメニュー画面を呼び出すためのメニューボタン２４ｂ、操作を途中でキャンセルしたり用紙Ｐへの印刷を途中で中断したりするためのキャンセルボタン２４ｃ、用紙Ｐへの印刷実行を指示するための印刷ボタン２４ｄ、メモリカードスロット１６に挿入されたメモリカードＭに編集画像等を保存するための保存ボタン２４ｅ、表示部２２に表示された複数の選択肢の中から所望の選択肢を選択したりカーソルを移動したりするときに操作される上下左右の各矢印ボタン２４ｆ〜２４ｉ、この上下左右の各矢印ボタン２４ｆ〜２４ｉの中央に配置され各矢印ボタン２４ｆ〜２４ｉによって選択されている選択肢に決定したことを指示するためのＯＫボタン２４ｊ、表示部２２での画面表示を切り替えるための表示切替ボタン２４ｋ、表示部２２に表示される左ガイドを選択する左ガイド選択ボタン２４ｌ、表示部２２に表示される右ガイドを選択する右ガイド選択ボタン２４ｍ、排紙トレイとしての機能を備えた前面扉１４を開く排紙トレイオープンボタン２４ｎなどで構成されている。
【００１７】
また、表示部２２の表示内容を確認するために、カバー３０には表示部２２と同じ大きさの窓３２が設けられている。つまり、カバー３０が閉状態にあるときにはユーザはこの窓３２を介して表示部２２の表示内容を確認することができる。一方、カバー３０は開状態のときには、表示部２２を図１に示すように好みの角度に調整することが可能となっている。
【００１８】
このようにカバー３０を開状態としたときには、操作パネル２０に対して斜め後方に傾斜した状態でカバー３０は保持され、用紙Ｐをプリント機構部５０へ供給するためのトレイとして利用可能となっている。また、操作パネル２０の奥には、プリント機構部５０の給紙口５８が設けられるとともに、ガイド幅が用紙の幅に合うように左右方向にスライド操作される一対の用紙ガイド５９が設けられている。
【００１９】
そして、給紙口５８を介して用紙Ｐがプリント機構部５０に送り込まれて印刷が実行される。このプリント機構部５０には、図２に示すように、キャリッジ５３が左右方向にループ状に架け渡されたタイミングベルト５１により駆動されガイド５２に沿って左右に往復動する。このキャリッジ５３には、センサ５７が設けられ、用紙Ｐの左右端や上下端を検出する。つまり、センサ５７は、給紙口５８にセットされた用紙に対して印刷前にキャリッジ５３が左右方向に走査したときにその用紙の左右端を検出して用紙幅の認識を可能にしたり、印刷途中で用紙の後端を検出して用紙長さの認識を可能にしたりする。
【００２０】
また、このキャリッジ５３には、シアン・マゼンタ・イエロー・ブラック等の各色のインクを個別に収容したインクカートリッジ５４が搭載されている。これらのインクカートリッジ５４はそれぞれ印刷ヘッド５５に接続されている。そして、印刷ヘッド５５はインクカートリッジ５４からのインクに圧力をかけてノズル（図示省略）から用紙Ｐに向かってインクを吐出する。この実施形態では、印刷ヘッド５５は圧電素子に電圧をかけることにより該圧電素子を変形させてインクを加圧する方式を採用しているが、発熱抵抗体（例えばヒータなど）に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。こうして印刷された用紙Ｐは搬送ローラ５６によって開状態の前面扉（排紙トレイ）１４へ送り出される。
【００２１】
記録制御部７０のシステムバス７００には、図３に示すように、ＣＰＵ７０１、ＲＯＭ７０２、ＲＡＭ７０３、不揮発性メモリ７０４、ＶＲＡＭ７０５、カードインタフェース７０６、画像処理部７０７、ＵＳＢホストコントローラ７０８などが接続されている。ＣＰＵ７０１は、プリント機構部５０の動作制御を実行するための演算処理などを行う。また、ＣＰＵ７０１は、プリント機構部５０に設けられている用紙Ｐを搬送するモータ（図示省略）やタイミングベルト５１を回転させるモータ（図示省略）などを制御するモータ制御信号や印刷ヘッド５５の制御信号を駆動回路７１０に送出する。また、センサ５７などの検出データがＣＰＵ７０１に取り込まれる。
【００２２】
ＲＯＭ７０２は、ＣＰＵ７０１の制御に必要なプログラム（ファームウェア）などを記憶する。このＲＯＭ７０２には、ＵＳＢユニット８０に対応する固有のベンダ情報が記憶されている。また、ＲＯＭ７０２には、製品情報に対応付けてＵＳＢデバイスのコンフィギュレーションに関する情報が記憶されている。すなわち、ＲＯＭ７０２には、この実施形態では例えば、ＵＳＢユニット８０に対応する製品情報と、この製品情報に対応付けて２番目のコンフィギュレーションを使用する旨の情報とが記憶されている。ＲＡＭ７０３には一時的にデータが記憶され、不揮発性メモリ７０４にはＣＰＵ７０１の制御に必要な各種データやテーブルなどが格納され、ＶＲＡＭ７０５には表示部２２に描画すべき画像データが格納される。カードインタフェース７０６は、メモリカードスロット１６との通信を行い、メモリカードスロット１６に挿入されたメモリカードＭなどの外部記憶媒体の画像データを読み取る。また、カードインタフェース７０６は、編集画像などを保存するためにメモリカードＭに画像データを書き込む。
【００２３】
画像処理部７０７は、カードインタフェース７０６により読み取られたメモリカードＭなどの外部記憶媒体から与えられる画像データに対し必要な画像処理を行う。また、画像処理部７０７は、表示部２２に表示させるためのメニュー画面などのプリンタ固有の画像に対応する表示データを生成する機能を有する。この表示データと画像処理された画像データとが合成されたデータは、画像処理部７０７からＬＣＤコントローラ７０９に与えられ、このＬＣＤコントローラ７０９によって表示部２２の表示が制御される。ＵＳＢホストコントローラ７０８は、ＵＳＢ外部ソケット１７に接続された外部デバイスとの間でＵＳＢ規格に基づきデータ通信を行うもので、フォトプリンタ１０をＵＳＢホストとし、ＵＳＢ外部ソケット１７に接続された外部デバイスをＵＳＢデバイスとして制御する。
【００２４】
ＵＳＢユニット８０の側面適所には、ＵＳＢ外部ソケット（いわゆるＢソケット）８０１が設けられている。また、ＵＳＢユニット８０は、ＵＳＢデバイスコントローラ８０２、ＵＳＢ変換回路８０３、ＩＤＥ(Integrated Drive Electronics)インタフェース８０４、ＳＤＲＡＭ８０５、ＣＰＵ８０６、ＲＯＭ８０７、ＳＤＲＡＭコントローラ８０８、画像処理部８０９、ビデオエンコーダ８１０、ＤＡコンバータ８１１、ビデオインタフェース８１２を備えている。これらのうち、ＵＳＢ変換回路８０３、ＣＰＵ８０６、ＲＯＭ８０７、ＳＤＲＡＭコントローラ８０８、画像処理部８０９は、システムバス８００に接続され、互いにデータの送受信が可能になっている。また、これらの機能ブロック８０２〜８１２は、この実施形態では、各種の機能が１個のチップ上に搭載されたＳＯＣ(System On a Chip)として構成されている。ＲＯＭ８０７には、各種の制御プログラムやデータなどが記憶されている。また、ＵＳＢユニット８０は、ＯＤＤ１３およびテレビ受像機９０を接続するためのＲＣＡビデオ端子８１５を備えている。また、ＲＯＭ８０７に記憶されているデータとしては、デバイスに関する情報を表すデバイスディスクリプタや、デバイスの動作条件に関する情報を表すコンフィギュレーションディスクリプタなどがあるが、これらについては後述する。
【００２５】
ＵＳＢデバイスコントローラ８０２は、ＲＯＭ８０７に格納されているプログラム（ファームウェア）を実行することによって、ＵＳＢ外部ソケット８０１に接続された外部装置との間でＵＳＢ規格に基づきデータ通信を行うもので、ＵＳＢユニット８０をＵＳＢデバイスとし、ＵＳＢ外部ソケット８０１に接続された外部装置をＵＳＢホストとして制御する。ＵＳＢ変換回路８０３は、ＵＳＢ物理層を形成するマクロを備えており、ＵＳＢデバイスコントローラ８０２およびＵＳＢ変換回路８０３によって、ＵＳＢの物理的な接続や伝送が確立される。ＩＤＥインタフェース８０４にはＯＤＤ１３が接続されており、ＩＤＥインタフェース８０４は、ＡＴＡ／ＡＴＡＰＩインタフェース回路として機能している。また、ＵＳＢ変換回路８０３は、ＵＳＢ−ＡＴＡ／ＡＴＡＰＩ変換回路として機能するＵＳＢ−ＩＤＥ変換部を備えており、このＵＳＢ−ＩＤＥ変換部は、ＵＳＢ外部ソケット８０１の入出力信号とＩＤＥインタフェース８０４の入出力信号とを相互に変換する。
【００２６】
ＣＰＵ８０６は、ＲＯＭ８０７に格納されているプログラム（ファームウェア）を実行することによって、ＵＳＢユニット８０の各部の動作を制御する。ＳＤＲＡＭコントローラ８０８は、ＣＰＵ８０６がＳＤＲＡＭ８０５をワークメモリとして利用できるようにする機能を有する。すなわち、ＵＳＢデバイスコントローラ８０２を介して記録制御部７０から送られてきた画像データは、ＳＤＲＡＭ８０５に一時的に保存される。また、ＳＤＲＡＭコントローラ８０８は、ＲＣＡビデオ端子８１５に接続されたテレビ受像機９０にアナログビデオ信号を出力する際に、ＳＤＲＡＭ８０５をフレームメモリとして利用できるようにする機能を有する。
【００２７】
画像処理部８０９は、ＵＳＢデバイスコントローラ８０２を介して記録制御部７０から送られてきた画像データに対して、テレビ受像機９０に表示するための画像処理を行う。また、画像処理部８０９は、テレビ受像機９０に表示させるためのメニュー画面などのプリンタ固有の画像に対応する表示データを生成する機能を有する。この表示データと画像処理された画像データとが合成されたデータは、画像処理部８０９からビデオエンコーダ８１０に出力される。
【００２８】
ビデオエンコーダ８１０は、画像処理部８０９からのデータをこの実施形態では例えばＮＴＳＣ方式の画像データに変換する。なお、ＮＴＳＣ方式に限られず、他のＰＡＬ方式やＳＥＣＡＭ方式などに変換するようにしてもよい。また、複数方式に変換可能なビデオエンコーダを備えておき、いずれかの方式を選択できるようにしてもよい。そして、ＤＡコンバータ８１１でデジタル信号からアナログ信号に変換された画像データは、ビデオインタフェース８１２を介してＲＣＡビデオ端子８１５に出力される。このように、フォトプリンタ１０にＵＳＢユニット８０を介してテレビ受像機９０を接続することによって、表示部２２より大画面のテレビ受像機９０の画面に画像を表示することが可能になる。
【００２９】
図４はデバイスディスクリプタの一例を示す図、図５、図６はコンフィギュレーションディスクリプタの一例を示す図である。図４に示すように、デバイスディスクリプタには、ＵＳＢのバージョン、ベンダーＩＤ、製品ＩＤ、製造者及び製品名を示す文字列のインデックス等のＵＳＢデバイスに関する情報が記述されている。また、デバイスディスクリプタには、そのデバイスがサポートするコンフィギュレーションの数が記述されている。図４に示したデバイスディスクリプタを有するデバイスは２つのコンフィギュレーションをサポートしている。一方、コンフィギュレーションディスクリプタには、各コンフィギュレーションの情報が記憶されている。
【００３０】
図５に示すコンフィギュレーション＃１のコンフィギュレーションディスクリプタには、インタフェースの数は１個と記述されている。すなわち、コンフィギュレーション＃１のインタフェースディスクリプタやエンドポイントディスクリプタには、ＯＤＤ１３に関する情報のみが記述されている。また、図６に示すコンフィギュレーション＃２のコンフィギュレーションディスクリプタには、インタフェースの数は２個と記述されている。すなわち、コンフィギュレーション＃２のインタフェースディスクリプタやエンドポイントディスクリプタには、ＯＤＤ１３に関する情報に加えて、テレビ受像機接続に関する情報が記述されている。なお、図５、図６では、インタフェースディスクリプタおよびエンドポイントディスクリプタの値はバイト数が大きいため、空欄としている。
【００３１】
一般に、ＵＳＢホストは、ＵＳＢ外部ソケット（Ａソケット）に接続されるＵＳＢデバイスからデバイスディスクリプタおよびコンフィギュレーションディスクリプタを取得する。そして、ＵＳＢホストは、取得したこれらのディスクリプタの情報に基づき、ＵＳＢデバイスを制御する。すなわち、ＵＳＢホストとして機能するフォトプリンタ１０は、ＵＳＢ外部ソケット１７に接続されるＵＳＢユニット８０からデバイスディスクリプタを取得するとともに、コンフィギュレーションディスクリプタを取得する。そして、フォトプリンタ１０は、取得したこれらのディスクリプタの情報に基づき、ＵＳＢユニット８０を制御する。
【００３２】
一方、ＵＳＢホストとして機能する汎用のパーソナルコンピュータに対して、ＵＳＢユニット８０がＵＳＢデバイスとして接続されると、パーソナルコンピュータは、同様にデバイスディスクリプタを取得する。しかし、パーソナルコンピュータは、一般に、デバイスディスクリプタの内容に関係なく、１番目のコンフィギュレーションディスクリプタ、すなわちコンフィギュレーション＃１を取得する。したがって、ＵＳＢユニット８０が接続されたパーソナルコンピュータは、ＯＤＤ１３に関する情報のみを認識し、テレビ受像機接続に関する情報は認識しない。これによって、ＵＳＢユニット８０がパーソナルコンピュータに接続されても、不明なデバイスと認識されることはない。
【００３３】
このように、この実施形態では、ＯＤＤ１３が本発明の「汎用デバイス接続部」に相当し、光ディスクＤＣが本発明の「汎用デバイス」に相当し、ＲＣＡビデオ端子８１５が本発明の「専用デバイス接続部」に相当し、テレビ受像機９０が本発明の「専用デバイス」に相当する。また、ＵＳＢ外部ソケット８０１が本発明の「デバイス側ＵＳＢ端子」に相当し、ＲＯＭ８０７が本発明の「デバイス記憶手段」に相当する。また、ＵＳＢ外部ソケット１７が本発明の「ホスト側ＵＳＢ端子」に相当し、ＲＯＭ７０２が本発明の「ホスト記憶手段」に相当する。また、ＣＰＵ８０６およびＵＳＢデバイスコントローラ８０２が本発明の「デバイスコントローラ」を構成し、ＣＰＵ７０１およびＵＳＢホストコントローラ７０８が本発明の「ホストコントローラ」を構成する。
【００３４】
図７はフォトプリンタの動作手順を示すフローチャートである。ＵＳＢホストコントローラ７０８は、まず、新たなデバイスがＵＳＢ外部ソケット１７に接続されたか否かを判別する（ステップＳ１０）。デバイスの接続は、ＵＳＢ外部ソケット１７のＤ＋端子またはＤ−端子が所定の電位となったことを検出することで判別することができる。デバイスが接続されていないときは（ステップＳ１０でＮＯ）、デバイスが接続されるまで待機する。
【００３５】
デバイスが接続されると（ステップＳ１０でＹＥＳ）、ＵＳＢホストコントローラ７０８は、リセット信号として、Ｄ＋端子およびＤ−端子に対して一定時間以上のロー信号を出力する。ロー信号が入力されたデバイス側では内部リセットが行われ、コントロール転送による通信が可能な状態となる。
【００３６】
次いで、ＵＳＢホストコントローラ７０８はコンフィギュレーションを実行する。そのため、まず、ＵＳＢホストコントローラ７０８は「Get_Descriptor(Device)」コマンドを出力し、デバイス内に保持されているデバイスディスクリプタの転送を要求する。ＵＳＢホストコントローラ７０８は、要求に応じてデバイスから転送されるデバイスディスクリプタを取得する（ステップＳ１２）。取得したデバイスディスクリプタには、製品ＩＤ、シリアル番号等のデバイスに関する情報の他、サポートするコンフィギュレーションの数が含まれている。これらの情報はＵＳＢホストコントローラ７０８を通じてＣＰＵ７０１に通知される。次いで、ＵＳＢホストコントローラ７０８は、このデバイスに対して使用していないアドレスを付与するために「Set_Address」コマンドを転送する（ステップＳ１４）。この時点でデバイス側は特定のアドレスを持つこととなり、以降はこのアドレスを用いて通信を行うことができる。
【００３７】
ＣＰＵ７０１は、ステップＳ１２で取得したデバイスディスクリプタの情報に基づき、ベンダＩＤがＲＯＭ７０２に記憶されているベンダ情報と一致するか否かを判別する（ステップＳ１６）。そして、一致すれば（ステップＳ１６でＹＥＳ）、ＲＯＭ７０２に記憶されている製品情報のなかにステップＳ１２で取得したデバイスディスクリプタの製品ＩＤと一致するものがあるか否かを判別し（ステップＳ１８）、一致するものがあれば（ステップＳ１８でＹＥＳ）、ＵＳＢホストコントローラ７０８に指示して、その製品情報に対応付けて記憶されているコンフィギュレーションディスクリプタ（この実施形態では例えばコンフィギュレーション＃２）を取得し（ステップＳ２０）、ステップＳ２４に進む。
【００３８】
一方、ステップＳ１２で取得したデバイスディスクリプタのベンダＩＤがＲＯＭ７０２に記憶されているベンダ情報と一致しなければ（ステップＳ１６でＮＯ）、またはＲＯＭ７０２に記憶されている製品情報のなかにステップＳ１２で取得したデバイスディスクリプタの製品ＩＤと一致するものがなければ（ステップＳ１８でＮＯ）、ＣＰＵ７０１は、ＵＳＢホストコントローラ７０８に指示して、１番目のコンフィギュレーションディスクリプタを取得し（ステップＳ２２）、ステップＳ２４に進む。
【００３９】
ステップＳ２０，Ｓ２２のコンフィギュレーションディスクリプタの取得では、ＵＳＢホストコントローラ７０８は「Get_Descriptor(Configuration)」コマンドを出力し、デバイス内に保持されているコンフィギュレーションディスクリプタの転送を要求する。そして、ＵＳＢホストコントローラ７０８は、要求に応じてデバイスから転送されるコンフィギュレーションディスクリプタを取得する。また、コンフィギュレーションの指定は、ＣＰＵ７０１がＵＳＢホストコントローラ７０８に「Set_Configuration(Configuration #N)」コマンドを出力させることによって実現する。ここで、＃Ｎはコンフィギュレーションを識別するための識別情報である。
【００４０】
そして、ステップＳ２４では、ＵＳＢデバイスとの通信処理が実行され、これはＵＳＢデバイスが外されない間（ステップＳ２６でＮＯ）、継続され、ＵＳＢデバイスが外されると（ステップＳ２６でＹＥＳ）、このルーチンを終了する。
【００４１】
以上の手順により、図１に示すようにフォトプリンタ１０にＵＳＢユニット８０が接続されると、ＵＳＢホストコントローラ７０８は２番目のコンフィギュレーションディスクリプタ＃２を取得する。その結果、ＣＰＵ７０１は、ＯＤＤ１３とテレビ受像機９０を接続可能な構成とを備えたＵＳＢユニット８０が接続されたことを認識することとなる。
【００４２】
以上説明したように、この実施形態によれば、ＵＳＢユニット８０において、テレビ受像機９０を接続可能な構成についての情報は、ＲＯＭ８０７に記憶されているコンフィギュレーションディスクリプタのうち、１番目のコンフィギュレーションディスクリプタには記述されていない。したがって、ＵＳＢユニット８０が、接続されたＵＳＢデバイスを１番目のコンフィギュレーションディスクリプタに基づき制御するような汎用のパーソナルコンピュータに接続された場合には、テレビ受像機９０を接続可能な構成についての情報が取得されない。よって、ＵＳＢユニット８０が不明なデバイスとして認識されることはない。その結果、「不明なデバイスが接続されました。ドライバをインストールしてください。」などのメッセージが表示されてユーザに煩わしい思いをさせるような事態を、簡易な構成で未然に防止することができる。
【００４３】
また、この実施形態によれば、ＵＳＢユニット８０において、テレビ受像機９０を接続可能な構成についての情報は、ＲＯＭ８０７に記憶されているコンフィギュレーションディスクリプタのうち、２番目のコンフィギュレーションディスクリプタに記述されている。したがって、そのコンフィギュレーションディスクリプタに基づき制御する専用のホスト装置に接続された場合には、テレビ受像機９０が有効に利用されることとなる。
【００４４】
また、この実施形態によれば、フォトプリンタ１０において、ＵＳＢ外部ソケット１７にＵＳＢユニット８０が接続されると、フォトプリンタ１０とＵＳＢユニット８０との間で通信が行われる。そして、ＲＯＭ８０７のデバイスディスクリプタのベンダーＩＤの情報が、ＲＯＭ７０２に記憶されているベンダ情報と一致し、かつ、製品ＩＤの情報がＲＯＭ７０２に記憶されている製品情報に一致する。したがって、２番目のコンフィギュレーションディスクリプタに基づき、ＵＳＢユニット８０が制御される。これによって、テレビ受像機９０を有効に利用できる。
【００４５】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、１番目のコンフィギュレーションディスクリプタに記述するデバイスとしてＯＤＤ１３を備えているが、これに限られず、ＵＳＢデバイスとして標準的に設計される汎用デバイス、すなわちパーソナルコンピュータのＯＳで標準的にサポートされているデバイスであればよい。例えば、ＵＳＢ規格におけるマスストレージクラスに属するバルク転送の記憶装置やマウスなどのヒューマンインターフェースデバイスなどが挙げられる。
【００４６】
また、上記実施形態では、１番目以外のコンフィギュレーションディスクリプタに記述するデバイスとしてテレビ受像機９０を接続する構成としているが、これに限られず、汎用デバイス以外の専用デバイス、すなわちパーソナルコンピュータのＯＳで標準的にサポートされていないデバイスであればよい。例えば、オーディオ、プリンタやカメラなどが挙げられる。
【００４７】
また、上記実施形態では、１番目のコンフィギュレーションディスクリプタに記述する汎用デバイスとしてＯＤＤ１３、１番目以外のコンフィギュレーションディスクリプタに記述する専用デバイスとしてテレビ受像機９０のそれぞれ１個を備えているが、デバイスの個数は１個に限られず、一方または両方が複数であってもよい。例えば、図５に示す１番目のコンフィギュレーションディスクリプタには、インタフェースの数として汎用デバイス接続部の数を記述し、図６に示す２番目のコンフィギュレーションディスクリプタには、インタフェースの数として汎用デバイス接続部および専用デバイス接続部の合計数を記述しておけばよい。
【図面の簡単な説明】
【００４８】
【図１】各発明の一実施形態であるフォトプリンタとＵＳＢユニットとを示す斜視図。
【図２】フォトプリンタの内部構成の概略を示す図。
【図３】フォトプリンタとＵＳＢユニットとの電気的構成を示すブロック図。
【図４】デバイスディスクリプタの一例を示す図。
【図５】コンフィギュレーションディスクリプタの一例を示す図。
【図６】コンフィギュレーションディスクリプタの一例を示す図。
【図７】フォトプリンタの動作手順を示すフローチャート。
【符号の説明】
【００４９】
１０…フォトプリンタ（ホスト装置）、１３…ＯＤＤ（汎用デバイス接続部）、１７…ＵＳＢ外部ソケット（ホスト側ＵＳＢ端子）、７０１…ＣＰＵ（ホストコントローラ）、７０２…ＲＯＭ（ホスト記憶手段）、７０８…ＵＳＢホストコントローラ（ホストコントローラ）、８０…ＵＳＢユニット（デバイス制御装置）、８０１…ＵＳＢ外部ソケット（デバイス側ＵＳＢ端子）、８０２…ＵＳＢデバイスコントローラ（デバイスコントローラ）、８０６…ＣＰＵ（デバイスコントローラ）、８０７…ＲＯＭ（デバイス記憶手段）、８１５…ＲＣＡビデオ端子（専用デバイス接続部）、９０…テレビ受像機（専用デバイス）、ＤＣ…光ディスク（汎用デバイス）
【図１】
2009157863.tif 000003
【図２】
2009157863.tif 000004
【図３】
2009157863.tif 000005
【図４】
2009157863.tif 000006
【図５】
2009157863.tif 000007
【図６】
2009157863.tif 000008
【図７】
2009157863.tif 000009