USB On-the-Go(以下OTG)は、USB IF(Implementers Forum、USBの規格制定団体)が2001年12月に、USB2.0の追加仕様として定めた規格です。基本的にUSBはPCとその周辺機器をつなぐためにスタートした通信規格で、親であるPCと子である周辺機器(マウスやキーボード、プリンタ、デジカメなど)が、HostとFunctionという形で明確に役割を分担していますが、周辺機器(USBデバイス)同士をつなぐために定められたのがOTGです。
親側はたくさんの処理をし、いろいろな子とつながらなくてはなりません。逆に子側は親とさえつながればよくて、処理も少なくてすみます。これはもともと「PCが親で周辺機器が子」という、PCと周辺機器をつなぐための規格として誕生したことが大きく影響しています。USBでは、ホストである親からしか通信を開始できないという決まりがあります。子(例えばデジカメ)は、「割り込み」という、親に対して接続や信号を通知することはできます。ケーブルをつないだ瞬間に「手を挙げる」わけです。これに対して親が「はいどうぞ」といって通信を始めるわけです。
USBは、このある種の制限のために非常に利便性がよく、結果的にUSBに対応した機器が非常に増えました。そうなると今度はPC抜きでUSB Function機器同士をつなげないか、という希望がでてきます。
例えばデジカメとプリンタとか、PDAとキーボードとか。携帯電話も最近はお尻のところにつなぐケーブルはUSBですので、携帯電話とプリンタとか、携帯電話同士というのもありますね。
ところがこれらは親(PC)とつながることしか考えていない子に過ぎず、子同士の会話はできません。USBポートの形状も違い、USBケーブルは一方が大きなプラグ(Aプラグ)で親につながり、もう一方が小さなプラグ(Bプラグ)で子とつながります。子同士ではそもそもケーブルがささりません。
前置きが長くなりましたが、これをできるようにと検討されたのがOTGという規格です。
周辺機器同士をつなぐといっても、「USBは必ず片方が親でもう一方が子」という原則を崩すわけにはいきません。そうなると、OTGでは、「両方が親にも子にもなる」という規格になるわけです。この場合、考えられるのが、図1のような場合です。
図の中心にあるデジカメは、PCとつながるときは子となり、プリンタとつながるときは親となります。ただし、この場合はデジカメに2つの差込み口を用意しておくことと何も違いません。
次に図2を見てみましょう
この場合、デジカメ同士ということもあり、両者が対等な立場にあります。これこそがOTG規格が目標とする使い方で、「両方が親にも子にもなる」という形です。これを「デュアルロールデバイス」といいます。図1のような使い方は、「デュアルロール」ではないため、OTG規格には適合していません。
最近では組込み用のホストコントローラでもOTGをサポートするものが数多く出ています。Philips社、Oxford Semiconductor社、Cypress社といった海外勢から、セイコーエプソン、沖電気、ルネサステクノロジなどの日本勢、携帯電話用の1チップマイコンにも、H/WとしてはOTGの機能が組み込まれているものが多いとも言われています。
当社もOTGの規格が出たときにはすでに組込み用のUSBホストドライバを販売していましたが、PCレスの世界でのUSB通信の用途が広がっている象徴と強く感じました。
特に説明してきませんでしたが、OTGは実は組込み機器や携帯機器を想定して、消費電力を抑えたり、コネクタのサイズを小さくしたり、といった仕様も盛り込まれていて、われわれの「組込み向けUSBホストドライバ」の方向性に大いに意を強くしたものです。
OTG対応のソフトウェアなども開発し、販売を開始したのですが、当時はOTGというと最初に説明した図1のケースを想定する人がほとんどで、デュアルロールデバイスの概念が浸透しませんでした。結果として、いまでも、OTGのロゴをとったデュアルロールデバイスはソニーのCLIEなど少数にとどまっています。
賢明な方はとっくに気づいているかもしれませんが、デュアルロールデバイスになりそうな機器というのは、PDA同士や携帯電話同士など、あまり多くありせん。
デジカメとプリンタが両方ともOTGであれば、どっちが親でもいいのですが、それくらいならどっちかを親に決めてしまったほうがややこしくないのです。PictBridgeというデジカメとプリンタのダイレクト接続の規格がありますが、これは完全に「プリンタがホストであって、OTGのデュアルロールデバイス機能は使わない」と明記しています。
そんなわけでOTG規格は決して十分広まっているとは言えませんが、USBの組込み機器への可能性を提示したという意味では大きな役割を果たしたと思います。デュアルロールが広まるかどうかはちょっとよくわかりませんが、小さいコネクタや省電力ホストなどの技術は今後も進化しながら使われていくでしょう。
OTGって広まるの?
- デュアルロールに対応しなくてはOTG対応とは言えないため、アプリケーションが限られる。
- ただし、省電力やミニプラグの提案など、PCレスでのUSB利用の礎を築いた意義は大きい。
- MatrixQuestUSB/host
- USB1.1/2.0対応ホストドライバ
- MatrixQuestUSB/lite
- 簡易ホスト用USBホストドライバ
