(57)【要約】【課題】ＵＳＢインタフェースを用いてＯＴＧ規格に法った情報のやり取りをするデュアルロールデバイス機器において、ＵＳＢデバイスとして動作する際に、機器に接続されたプラグの形状がＡプラグであるかＢプラグであるかによってＵＳＢデバイスとしての動作を変化させることを特徴とするＵＳＢ−ＯＴＧ装置を提供すること。【解決手段】ＵＳＢインタフェースを用いてＯＴＧ規格に法った情報のやり取りをするデュアルロールデバイス機器において、ＵＳＢデバイスとして動作する際に、機器に接続されたプラグの形状がＡプラグであるかＢプラグであるかによってＵＳＢデバイスとしての動作を変化させることを特徴とする。【選択図】図１
2006277010.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ(Universal Serial
Bus)インタフェースを用いてＯＴＧ(On-The-Go)
規格に法った情報のやり取りをするデュアルロールデバイス機器において、ＵＳＢデバイスとして動作する際に、機器に接続されたプラグの形状がＡプラグであるかＢプラグであるかによってＵＳＢデバイスとしての動作を変化させることを特徴とするＵＳＢ−ＯＴＧ装置。
【請求項２】
前記デュアルロールデバイス機器は、Ａ／Ｂプラグ判別機構を保持することを特徴とする請求項１記載のＵＳＢ−ＯＴＧ装置。
【請求項３】
前記ＵＳＢデバイスとしての動作を変化させることは、動作するＵＳＢクラスを変更することを特徴とする請求項１又は２記載のＵＳＢ−ＯＴＧ装置。
【請求項４】
ＵＳＢデバイスとしての動作を変化させた結果、ＵＳＢ通信が成立しなくなった際に、動作しているＵＳＢクラスを一旦終了し、必要なＵＳＢクラスを改めて動作させることを特徴とする請求項１〜３の何れかに記載のＵＳＢ−ＯＴＧ装置。
【請求項５】
前記ＵＳＢ−ＯＴＧ装置は印刷装置であることを特徴とする請求項１〜４の何れかに記載のＵＳＢ−ＯＴＧ装置。
【請求項６】
画像撮影装置であることを特徴とする請求項１〜４の何れかに記載のＵＳＢ−ＯＴＧ装置。
【請求項７】
機器に接続されたプラグの形状がＢプラグである場合に、接続相手機器がＰＣ(Personal Computer) であることを前提としたＵＳＢクラスを起動することを特徴とする請求項１〜６の何れかに記載のＵＳＢ−ＯＴＧ装置。
【請求項８】
機器に接続されたプラグの形状がＡプラグである場合に、接続相手機器が記憶媒体装置であることを前提としたＵＳＢクラスを起動することを特徴とする請求項１〜７の何れかに記載のＵＳＢ−ＯＴＧ装置。
【請求項９】
機器に接続されたプラグの形状がＡプラグである場合に、接続相手機器が画像転送装置であることを前提としたＵＳＢクラスを起動することを特徴とする請求項１〜８の何れかに記載のＵＳＢ−ＯＴＧ装置。
【請求項１０】
機器に接続されたプラグの形状がＢプラグである場合に、接続相手機器が画像転送装置であることを前提としたＵＳＢクラスを起動することを特徴とする請求項１〜８の何れかに記載のＵＳＢ−ＯＴＧ装置。
【請求項１１】
機器に接続されたプラグの形状がＢプラグである場合に、接続相手機器が記憶媒体装置であることを前提としたＵＳＢクラスを起動することを特徴とする請求項１〜９の何れかに記載のＵＳＢ−ＯＴＧ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢインタフェースを用いてＯＴＧ規格に法った情報のやり取りをするデュアルロールデバイス機器において、ＵＳＢデバイスとして動作する際に、機器に接続されたプラグの形状がＡプラグであるかＢプラグであるかによってＵＳＢデバイスとしての動作を変化させるＵＳＢ−ＯＴＧ装置に関する。
【背景技術】
【０００２】
近年、プリンタ、デジタルカメラ等をＰＣと接続する規格としてほぼ全ての機器はＵＳＢ(Universal Serial Bus)インタフェースを保持するようになっている。ＵＳＢは、正にＰＣと周辺機器を接続するために制定された規格であり、ＵＳＢホスト、ＵＳＢデバイスと役割を明確に分けられている。役割を分けることで、ＵＳＢホストであるＰＣが全ての制御を握り、ＵＳＢデバイスである周辺機器側のハードウェア／ソフトウェア規模を少なく抑え、安価に周辺機器を実装することができるように配慮されて規格化されている。
【０００３】
しかし、明確に役割を分けることによって周辺機器は常にＰＣを介して情報をやり取りする必要があった。つまり、周辺機器であるデジタルカメラに保持している画像を同じく周辺機器であるプリンタに印刷する際には、デジタルカメラの画像を一旦ＰＣに移し、更にその画像をプリンタに渡す必要があった。
【０００４】
そこで、周辺機器側にもＵＳＢホスト機能を持たせることによって、周辺機器同士を直接接続することでＵＳＢ通信を可能にする機器が登場した。
【０００５】
しかし、元々ＵＳＢホストの仕様はＰＣのような高速、大容量記憶媒体を持ったことを前提とされており、周辺機器のコストを増加させてしまったり、機能の中途半端なＵＳＢホストを搭載するような状況であった。
【０００６】
そこで、従来のＵＳＢの仕様をそのまま継承した上で、周辺機器同士の接続も可能とし、且つ周辺機器がＵＳＢホストの役割を担う場合でもＰＣ程のコストを必要としないＵＳＢ−ＯＴＧ(On-The-Go) 規格を制定した。
【０００７】
ＵＳＢ−ＯＴＧでは、ＵＳＢホストはＵＳＢデバイスに供給すべき電力を少なくすることが許されている、対応できないＵＳＢデバイスが接続された場合の動作を明確にすることでＵＳＢホストの機能を搭載する場合でも、ＰＣ程のコストを強いない規格となっている。
【０００８】
又、ＵＳＢではその通信にて実現するアプリケーションの機能をＵＳＢクラスと呼ぶ。ＵＳＢクラスには幾つかの標準化されたクラスが存在し、その標準化したクラスを利用すれば、例えばＵＳＢデバイスならばその標準化したクラスを搭載したＵＳＢホストと通信することができ、例えばＵＳＢホストならばその標準化したクラスを搭載したＵＳＢデバイスと通信することができる。それ故に、ＵＳＢホストであるＰＣは幾つかの標準化したＵＳＢクラスを搭載することで、幾つものＵＳＢデバイスと接続することができる。
【０００９】
ＵＳＢデバイスにおいても１つの機器に幾つかのＵＳＢクラスを搭載することはＵＳＢ仕様上可能であり、そのＵＳＢクラスを同時に、或は別々に駆動することができる。ＵＳＢ通信中にどのような通信を行うかはＵＳＢホストに権限があり、ＵＳＢデバイスがＵＳＢ機器としての情報を保持しているｄｅｓｒｉｐｔｏｒによって、どのＣｏｎｆｉｇｕｒａｔｉｏｎ、どのＩｔｅｒｆａｃｅが利用されるかによって決定される。
【００１０】
しかしながら、ＵＳＢデバイスにおいて複数のＵＳＢクラスを同時に実現すると、そのハードウェア量が増加してしまい、安価に周辺機器を実装することができなくなってしまう。
【００１１】
このような問題に鑑み、特許文献１等において複数のＵＳＢクラスを少量のハードウェアで実現する方法が提案されている。
【００１２】
【特許文献１】特開２００２−３０５６７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、特許文献１に記載された発明では、ユーザがＵＳＢケーブル接続時にＵＳＢ機器がどのＵＳＢクラスが起動するモードに存在するか確認するには手間が掛かり、実際には一旦接続後、所望するＵＳＢクラスでないことをユーザが認識後に、一旦接続を止め、ＵＳＢクラスをメニューによって変更し、改めて接続を行うというように、ユーザに多くの手間を掛けてしまう。
【００１４】
本発明は上記問題に鑑みてなされたもので、その目的とする処は、ＵＳＢインタフェースを用いてＯＴＧ規格に法った情報のやり取りをするデュアルロールデバイス機器において、ＵＳＢデバイスとして動作する際に、機器に接続されたプラグの形状がＡプラグであるかＢプラグであるかによってＵＳＢデバイスとしての動作を変化させることを特徴とするＵＳＢ−ＯＴＧ装置を提供することである。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、請求項１記載の発明は、ＵＳＢインタフェースを用いてＯＴＧ規格に法った情報のやり取りをするデュアルロールデバイス機器において、ＵＳＢデバイスとして動作する際に、機器に接続されたプラグの形状がＡプラグであるかＢプラグであるかによってＵＳＢデバイスとしての動作を変化させることを特徴とする。
【００１６】
請求項２記載の発明は、前記デュアルロールデバイス機器は、Ａ／Ｂプラグ判別機構を保持することを特徴とする。
【００１７】
請求項３記載の発明は、前記ＵＳＢデバイスとしての動作を変化させることは、動作するＵＳＢクラスを変更することを特徴とする。
【００１８】
請求項４記載の発明は、ＵＳＢデバイスとしての動作を変化させた結果、ＵＳＢ通信が成立しなくなった際に、動作しているＵＳＢクラスを一旦終了し、必要なＵＳＢクラスを改めて動作させることを特徴とする。
【００１９】
請求項５記載の発明は、ＵＳＢ−ＯＴＧ装置は印刷装置であることを特徴とする。
【００２０】
請求項６記載の発明は、前記ＵＳＢ−ＯＴＧ装置は画像撮影装置であることを特徴とする。
【００２１】
請求項７記載の発明は、機器に接続されたプラグの形状がＢプラグである場合に、接続相手機器がＰＣC(Personal Computer)であることを前提としたＵＳＢクラスを起動することを特徴とする。
【００２２】
請求項８記載の発明は、機器に接続されたプラグの形状がＡプラグである場合に、接続相手機器が記憶媒体装置であることを前提としたＵＳＢクラスを起動することを特徴とする。
【００２３】
請求項９記載の発明は、機器に接続されたプラグの形状がＡプラグである場合に、接続相手機器が画像転送装置であることを前提としたＵＳＢクラスを起動することを特徴とする。
【００２４】
請求項１０記載の発明は、機器に接続されたプラグの形状がＢプラグである場合に、接続相手機器が画像転送装置であることを前提としたＵＳＢクラスを起動することを特徴とする。
【００２５】
請求項１１記載の発明は、機器に接続されたプラグの形状がＢプラグである場合に、接続相手機器が記憶媒体装置であることを前提としたＵＳＢクラスを起動することを特徴とする。
【発明の効果】
【００２６】
本発明のＵＳＢ−ＯＴＧ装置によれば、ＵＳＢインタフェースを用いてＯＴＧ規格に法った情報のやり取りをするデュアルロールデバイス機器において、ＵＳＢデバイスとして動作する際に、機器に接続されたプラグの形状がＡプラグであるかＢプラグであるかによってＵＳＢデバイスとしての動作を変化させることが可能となる。
【発明を実施するための最良の形態】
【００２７】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【００２８】
＜実施の形態１＞
先ず、本発明の実施の形態１を図１〜図６に基づいて説明する。
【００２９】
図３は本実施の形態に係るＵＳＢ−ＯＴＧ装置におけるＵＳＢ接続時の従来の例を示す概念図である。同図において、３０１はＵＳＢデバイス機器、３０２はＵＳＢケーブル、３０３はＵＳＢホスト機器である。
【００３０】
図３はＵＳＢデバイス機器３０１にはＵＳＢクラスＸとＹが実装されている様子を示している。この場合、ＵＳＢデバイス３０１はＵＳＢクラスＸとＹを同時に動作させるために単一のクラスを動作させるよりも多くのハードウェア資源が必要となり、安価な周辺機器を実装するという目的にそぐわない。
【００３１】
図４は本実施の形態に係るＵＳＢ−ＯＴＧ装置における、ＵＳＢ接続時の従来の例を示す概念図である。同図において、４０１はＵＳＢデバイス機器、４０２はＵＳＢケーブル、４０３はＵＳＢホスト機器、４０４はＵＳＢデバイス機器、４０５はＵＳＢホスト機器、４０６はＵＳＢデバイス機器、４０７はＵＳＢケーブル、４０８はＵＳＢホスト機器を表しており、図４（ａ）〜（ｃ）は時系列となっている。
【００３２】
図４（ａ）はＵＳＢデバイス機器４０１に予め設定されていたために、ＵＳＢ接続によりＵＳＢクラスのＸが起動している。これがユーザの所望するクラスでない等の理由により図４（ｂ）に示されるようにＵＳＢケーブルが切断された状況にてＵＳＢデバイス機器４０４の設定をＵＳＢクラスのＹに変更する。図４（ｃ）においてＵＳＢケーブル４０７によって再びＵＳＢ接続を行い、ユーザは所望のＵＳＢクラスＹの通信を行うこととなり、ユーザに多くの手間を掛けてしまう。
【００３３】
ここで、図４（ｂ）に示されるように、物理的にＵＳＢケーブルを切断する必要はなく、ＵＳＢプロトコル上通信が切断されていれば、ＵＳＢデバイス機器４０４の設定を変更することは可能である。又はＵＳＢ通信中であっても、実データを転送せずにＵＳＢデバイス機器４０４の設定を変更し、その後、ＵＳＢバスリセットによりＵＳＢクラスＹを起動させることも可能である。
【００３４】
図３及び図４のように従来の方法では、同時に複数のクラスを駆動することでハードウェア資源を必要としたり、ユーザに多くの手間を掛けていた。
【００３５】
図１は本実施の形態に係るＵＳＢ−ＯＴＧ装置において、ＵＳＢデバイスとして振る舞う際のその内部構成の概念図である。
【００３６】
図１において、１０１は本発明のＵＳＢ−ＯＴＧ装置であるデュアルロールデバイス、１０２はＵＳＢケーブル、１０３はデュアルロールデバイスであるために実装されるＡ／Ｂレセプタクル、１０４はＵＳＢデバイスとして動作するためのドライバ、１０５はＡ／Ｂどちらのプラグが接続されたかを判別するＡ／Ｂプラグ判別機構、１０６はＵＳＢデバイスとして接続された際に駆動するＵＳＢクラスを実現するＵＳＢデバイスクラスドライバを表している。
【００３７】
ＵＳＢケーブル１０２が接続されると、早速、ＵＳＢデバイスドライバ１０４にてＵＳＢバスリセット等、接続の処理が開始される。同時にＡ／Ｂプラグ判別機構１０５によって接続されたプラグがどちらのプラグか判別され、その情報はＵＳＢデバイスクラスドライバ１０６に渡される。情報を受けたＵＳＢデバイスクラスドライバ１０６は、その情報により、どのＵＳＢクラスを起動するかを判断し、該当するＵＳＢクラスを起動する。ＵＳＢデバイスドライバ１０４がＵＳＢデバイスクラスドライバ１０６とやり取りを行うことで、接続相手とのＵＳＢ通信を実現する。
【００３８】
図２は本実施の形態に係るＵＳＢ−ＯＴＧ装置における、ＵＳＢ接続時の例を示す概念図である。
【００３９】
図２において、２０１は本発明のＵＳＢ−ＯＴＧ装置であるデュアルロールデバイス、２０２はＵＳＢＡプラグ、２０３はＵＳＢケーブル、２０４はＵＳＢＢプラグ、２０５は接続相手となるＵＳＢホスト機器である。更に、２０６は本発明のＵＳＢ−ＯＴＧ装置であるデュアルロールデバイス、２０７はＵＳＢＢプラグ、２０８はＵＳＢケーブル、２０９はＵＳＢＡプラグ、２１０は接続相手となるＵＳＢホスト機器である。
【００４０】
本実施の形態では、本発明のＵＳＢ−ＯＴＧ装置において２つのＵＳＢクラスを保持している場合について述べる。それ以上保持している場合においても同様であることから詳述は避ける。
【００４１】
図２（ａ）（２０１〜２０５が該当）はデュアルロールデバイス２０１にＡプラグ２０２が接続された上でのＵＳＢ接続を示している。更に、ＨＮＰによる何度かのＵＳＢホスト役割の交代を経て、デュアルロールデバイス２０１がＵＳＢデバイスの役割を担っている場合を示している。この際、デュアルロールデバイス２０１は、ＵＳＢＡプラグ２０２が接続されていることからＵＳＢクラスのＸが起動されている。
【００４２】
図２（ｂ）（２０６〜２１０が該当）はデュアルロールデバイス２０６にＢプラグ２０７が接続された上でのＵＳＢ接続を示している。更に、ＵＳＢケーブル接続直後か、又はＨＮＰによる何度かのＵＳＢホスト役割の交代を経て、デュアルロールデバイス２０６がＵＳＢデバイスの役割を担っている場合を示している。この際、デュアルロールデバイス２０６にＵＳＢＢプラグ２０７が接続されていることからＵＳＢクラスのＹが起動されている。
【００４３】
例えば、図２（ｂ）のようにデュアルロールデバイス２０６にＢプラグ２０７が接続された場合に、ＵＳＢホスト機器２１０がＰＣであるように、システム構成において、起動するＵＳＢクラスＹを決定することもできる。
【００４４】
図３において、ＵＳＢデバイス３０１がＵＳＢクラスのＸとＹを駆動するためのハードウェアが必要であったのに対し、図２（ａ），（ｂ）共に起動するＵＳＢクラスは各々１つであるために、必要とするハードウェア資源は少なく済む。
【００４５】
又、図２において、ＵＳＢ−ＯＴＧ規格では、ＵＳＢプラグにおいて、スタンダードＡプラグ／ＢプラグとｍｉｎｉＡプラグ／ｍｉｎｉＢプラグが定義されており、Ａ／ＢレセプタクルとしてはｍｉｎｉＡ／Ｂプラグが接続できるもののみが定義されているが、本発明ではＡ／Ｂの判別が行えれば、スタンダードＡプラグ／ＢプラグにてＡ／Ｂレセプタクルを実現した場合にも適用できる。
【００４６】
図５は本実施の形態に係るＵＳＢ−ＯＴＧ装置における情報処理装置のハードウェア構成例を示すブロック図である。同図において、５０１はＣＰＵ（中央演算処理装置）、５０２はＲＡＭ（ランダムアクセスメモリ）、５０３はＲＯＭ（リードオンリメモリ）、５０４はＩ／Ｏコントローラ、５０５はＵＳＢ−ＯＴＧデュアルロールデバイスコントローラ、５０６はバスを示している。
【００４７】
本発明は図５の５０１，５０２，５０３，５０４，５０５により構成されるハードウェアで構成される。又、必要なモジュールを自由に組み合わせることができ、例えばバス５０６の機構等を介して付加することができる。
【００４８】
又、本図はあくまでも本実施の形態に係るハードウェアの構成の例であり、各モジュールを複数バスで接続する構成や、Ｉ／Ｏコントローラを介してＵＳＢ−ＯＴＧデュアルロールデバイスコントローラ５０４を接続する等、他のモジュールを介してモジュールを接続する等、形態は様々なものが考えられる。
【００４９】
図６は本実施の形態に係るＵＳＢ−ＯＴＧ装置において、ＵＳＢデバイス機能を起動する処理を示すフローチャート図である。
【００５０】
ステップＳ６０１において、通信相手となるＵＳＢ機器が接続されているかを判断する。接続された場合はステップＳ６０２へ進み、接続されない場合はステップＳ６０１へ進む。
【００５１】
ステップＳ６０２において、Ａ／Ｂレセプタクルに接続されたプラグがＢプラグか否かを判断する。Ｂプラグの場合はステップＳ６０３へ進み、Ｂプラグでない場合はステップＳ６０４へ進む。
【００５２】
ステップＳ６０３において、ＵＳＢデバイスクラスドライバにてＹクラスが動作するように起動し、ＵＳＢデバイス機能を起動する処理を終了する。
【００５３】
ステップＳ６０４において、ＵＳＢデバイスクラスドライバにてＸクラスが動作するように起動し、ステップＳ６０５へ進む。
【００５４】
ステップＳ６０５において、ＨＮＰによってデュアルロールデバイスがＵＳＢデバイスの役割に変更されたか否かを判断する。ＵＳＢデバイスの役割になった場合は、ＵＳＢデバイス機能を起動する処理を終了し、ＵＳＢデバイスの役割にならなかった場合はステップＳ６０５へ進む。
【００５５】
上記のように動作した後、接続相手のＵＳＢホスト機器と、ＵＳＢクラスが合わなかった場合は、ＵＳＢホストの制御によりＵＳＢ通信が断念し、ＵＳＢ−ＯＴＧ規格に法りユーザへの通知を行う。
【００５６】
本処理ではデュアルロールデバイスが２つのＵＳＢクラスを保持している場合について述べたが、３つ以上の場合においても例えばＢプラグが接続された場合に２つのクラスを同時に起動する等の実装を行うことで対応することができる。この場合も全てのクラスを同時に動作させるよりも必要とするハードウェア資源は少なくて済むという効果が得られる。
【００５７】
本処理の発火条件としては、ＵＳＢ−ＯＴＧ装置の起動時が考えられるが、少なくともＵＳＢケーブルが接続される以前か、ＵＳＢ−ＯＴＧ装置がＵＳＢケーブルが接続されたことを認識する以前であれば、いつ本処理を開始しても構わない。
【００５８】
以上のように実装することで、ＵＳＢインタフェースを用いてＯＴＧ規格に法った情報のやり取りをするデュアルロールデバイス機器において、ＵＳＢデバイスとして動作する際に、機器に接続されたプラグの形状がＡプラグであるかＢプラグであるかによってＵＳＢデバイスとしての動作を変化させることを特徴とするＵＳＢ−ＯＴＧ装置を実装できる。
【００５９】
＜実施の形態２＞                                本発明の実施の形態２として、前記実施の形態１において、起動したＵＳＢクラスが接続相手のＵＳＢ機器に合わなかった際に通信を断念させずに保持している他のＵＳＢクラスでの接続を試みる装置について説明する。
【００６０】
本発明の実施の形態２を図７に基づき説明する。
【００６１】
図７は本実施の形態に係るＵＳＢ−ＯＴＧ装置において、ＵＳＢデバイス機能を起動する処理を示している。
【００６２】
ステップＳ７０１において、通信相手となるＵＳＢ機器が接続されているかを判断する。接続された場合はステップＳ７０２へ進み、接続されていない場合はステップＳ７０１へ進む。
【００６３】
ステップＳ７０２において、Ａ／Ｂレセプタクルに接続されたプラグがＢプラグか否かを判断する。Ｂプラグの場合はステップＳ７０３へ進み、Ｂプラグ出ない場合はステップＳ７０８へ進む。
【００６４】
ステップＳ７０３において、ＵＳＢデバイスクラスドライバにてＹクラスが動作するように起動し、ステップＳ７０４へ進む。
【００６５】
ステップＳ７０４において、ステップＳ７０３にて起動したＵＳＢクラスが接続相手のクラスに合致しているかを、クラスプロトコルが進行しているか等を監視することで判断する。ＵＳＢクラスが合致した場合はＵＳＢデバイス機能を起動する処理を終了し、ＵＳＢクラスが合致していない場合はステップＳ７０５へ進む。
【００６６】
ステップＳ７０５において、ＵＳＢホストの役割に遷移する要求を接続相手に伝え、ホスト機能に遷移したかを判断する。ホスト機能に遷移した場合はステップＳ７０６へ進み、ホスト機能に遷移しない場合はステップＳ７０５へ進む。
【００６７】
ステップＳ７０６においてＵＳＢデバイスクラスドライバにてＸクラスが動作するように起動し、ステップＳ７０７へ進む。
【００６８】
ステップＳ７０７において、ステップＳ７０５で得たバス件を放棄し、ＵＳＢデバイス役割に遷移させ、ＵＳＢデバイス機能の起動処理を終了する。
【００６９】
ステップＳ７０８において、ＵＳＢデバイスクラスドライバにてＸクラスが動作するように起動し、ステップＳ７０９へ進む。
【００７０】
ステップＳ７０９において、ＨＮＰによってデュアルロールデバイスがＵＳＢデバイスの役割に変更されたか否かを判断する。ＵＳＢデバイスの役割になった場合はステップＳ７１０へ進み、ＵＳＢデバイスの役割にならなかった場合はステップＳ７０９へ進む。
【００７１】
ステップＳ７１０において、ステップＳ７０８にて起動したＵＳＢクラスが接続相手のクラスに合致しているかを、クラスプロトコルが進行しているか等を監視することで判断する。ＵＳＢクラスが合致した場合はＵＳＢデバイス機能を起動する処理を終了し、合致しない場合はステップＳ７１１へ進む。
【００７２】
ステップＳ７１１において、ＵＳＢ通信が断念されたことから再びＵＳＢホスト機能に遷移し、ステップＳ７１２へ進む。
【００７３】
ステップＳ７１２において、ＵＳＢデバイスクラスドライバにてＹクラスが動作するように起動し、ステップＳ７１３へ進む。
【００７４】
ステップＳ７１３において、ＨＮＰによってデュアルロールデバイスがＵＳＢデバイスの役割に変更されたか否かを判断する。ＵＳＢデバイスの役割になった場合は、ＵＳＢデバイス機能の起動処理を終了し、ＵＳＢデバイスの役割にならなかった場合はステップＳ７１３へ進む。
【００７５】
本処理の発火の条件は実施の形態１のＵＳＢデバイス機能の起動処理と同様であることから記述を省略する。
【００７６】
本処理ではデュアルロールデバイスが２つのＵＳＢクラスを保持している場合について述べたが、３つ以上の場合においても本処理のステップＳ７０４〜Ｓ７０７、ステップＳ７１０〜Ｓ７１３を繰り返すことによって実現可能であるが、本実施の形態と同様であることから記述を省略する。
【００７７】
又、実施の形態１と同様に一度に複数のＵＳＢクラスを起動する構成にも対応可能であり、得られる効果は実施の形態１に記述した通りである。
【００７８】
以上のように実装することで、ＵＳＢインタフェースを用いてＯＴＧ規格に法った情報のやり取りをするデュアルロールデバイス機器において、ＵＳＢデバイスとして動作する際に、機器に接続されたプラグの形状がＡプラグであるかＢプラグであるかによってＵＳＢデバイスとしての動作を変化させることを特徴とするＵＳＢ−ＯＴＧ装置を実装できる。
【００７９】
又、実施の形態１と比して本実施の形態では、接続相手に対して保持しているＵＳＢクラスを順に起動することでＵＳＢクラスを保持しているにも拘らずＵＳＢ通信が不通になってしまうことを回避できる。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態１及び２に係るＵＳＢ−ＯＴＧ装置におけるＵＳＢデバイスとして振る舞う際のその内部構成を示す概念図である。
【図２】本発明の実施の形態１及び２に係るＵＳＢ−ＯＴＧ装置におけるＵＳＢ接続時の例を示す概念図である。
【図３】本発明の実施の形態１及び２に係るＵＳＢ−ＯＴＧ装置におけるＵＳＢ接続時の従来の例を示す概念図である。
【図４】本発明の実施の形態１及び２に係るＵＳＢ−ＯＴＧ装置におけるＵＳＢ接続時の従来の例を示す概念図である。
【図５】本発明の実施の形態１及び２に係るＵＳＢ−ＯＴＧ装置における情報処理装置のハードウェア構成例を示すブロック図である。
【図６】本発明の実施の形態１に係るＵＳＢ−ＯＴＧ装置におけるＵＳＢデバイス機能を起動する処理を示すフローチャート図である。
【図７】本発明の実施の形態２に係るＵＳＢ−ＯＴＧ装置におけるＵＳＢデバイス機能を起動する処理を示すフローチャート図である。
【符号の説明】
【００８１】
１０１    デュアルロールデバイス
１０２  ＵＳＢケーブル
１０３  Ａ／Ｂレセプタクル
１０４  ＵＳＢデバイスドライバ
１０５  Ａ／Ｂプラグ判別機構
１０６  ＵＳＢデバイスクラスドライバ
２０１    デュアルロールデバイス
２０２  ＵＳＢＡプラグ
２０３  ＵＳＢケーブル
２０４  ＵＳＢＢプラグ
２０５  ＵＳＢホスト機器
２０６    デュアルロールデバイス
２０７  ＵＳＢＢプラグ
２０８  ＵＳＢケーブル
２０９  ＵＳＢＡプラグ
２１０  ＵＳＢホスト機器
３０１  ＵＳＢデバイス機器
３０２  ＵＳＢケーブル
３０３  ＵＳＢホスト機器
４０１  ＵＳＢデバイス機器
４０２  ＵＳＢケーブル
４０３  ＵＳＢホスト機器
４０４  ＵＳＢデバイス機器
４０５  ＵＳＢホスト機器
４０６  ＵＳＢデバイス機器
４０７  ＵＳＢケーブル
４０８  ＵＳＢホスト機器
５０１  ＣＰＵ（中央演算処理装置）
５０２  ＲＡＭ（ランダムアクセスメモリ）
５０３  ＲＯＭ（リードオンリメモリ）
５０４  Ｉ／Ｏコントローラ
５０５  ＵＳＢホスト／デバイスコントローラ
５０６    バス
【図１】
2006277010.tif 000003
【図２】
2006277010.tif 000004
【図３】
2006277010.tif 000005
【図４】
2006277010.tif 000006
【図５】
2006277010.tif 000007
【図６】
2006277010.tif 000008
【図７】
2006277010.tif 000009