3分でわかるシリーズ

OTG補足:デュアルロールデバイスに関する詳細説明

デュアルロールデバイス同士をOTGでつないだときに何がおきるかを考えてみます。

USB On-the-Go(OTG)のページにも書いたように、USBのケーブルは必ず大きなプラグ(Aプラグ)と小さなプラグ(Bプラグ)を両端にもっています。通常のUSBでは、プラグの大きさと形が違うため、PCとデジカメをつなぐような場合はケーブルのA側をAの口(PC)へ、ケーブルのB側をBの口(デジカメ)へというつなぎ方しかできません。

これに対しOTGの場合には、このプラグがささる口(USBではレセプタクル=受容体=と呼びます)が、AもBも両方ささるようになっています(ABレセプタクルといいます)。ここに、デュアルロールデバイスのデジカメが2台とUSBケーブルが1本あるとします。ケーブルの両端はそれぞれAプラグとBプラグですが、デジカメに対してどちらをどちらにさしてもいいことになります。

Aプラグがささったデジカメは電気的に即座に「自分が親である」と認識でき、逆にBプラグがささったデジカメは、プラグを差し込まれた瞬間に自分が子であることを理解します。デジカメ2台をつなげたとき、ケーブルのどちら側をどちらのデジカメにさすかは私達ユーザーの気まぐれにすぎませんが、つないだ瞬間に、デジカメ同士では、USB的な親と子は一旦確立します。

これは通常のUSBとまったく同じです。ではなぜOTGとかデュアルロールデバイスなどという規格があるのでしょうか。

最初の方に、「USBは必ず親からしか通信できない」と書いたのを覚えているでしょうか。親がPCの場合にはだいたいそれですむのですが、今回のデジカメ同士の場合は、基本的には対等な立場であるデジカメ同士において、「たまたま」子になってしまった方は親が通信してくれるのを待たなくてはなりません。または、ケーブルを逆向きにつなぎ変えて、自分が親にならなくてはなりません。

OTGの場合には、自分から通信を始めたい、つまり親になりたいのに子の位置に甘んじているデジカメは、「自分から通信を始めたい」と宣言し、「親になりたい」という交渉を現在の親に対して行うことができます。最初にケーブルをどのようにつないだかに関わらず、両方が代わる代わる親になってUSBの通信を行っていくことができるのがOTGなのです。

つまり、OTGの目的は、「親と子の両方の機能をもつ」ことではなく、「USB機器同士が対等な立場で通信を行うことができる」ということです。その手段として、

  • 親と子の両方の機能をもつ(ABレセプタクル)
  • 子が通信を始めたいと宣言する(Session Request Protocol:SRP)
  • 子が親になりたいと交渉する(Host Negotiation Protocol:HNP)

というのがOTGの特徴であり、これらすべてを実現できないと、「OTG対応機器」とは言えないことになっています。USB OTGのロゴがとれません。

このページの上へ