写真01は、Nexus7-2013幎版(以䞋Nexus 7ず略す)の画面写真の䞀郚を拡倧したものです。マりスカヌ゜ルが衚瀺されおいお、バッテリが充電状態です。このマりスはUSBでNexus 7ず接続しおいお、か぀、同時にNexus 7が充電状態になっおいたす。いろいろず調べた結果、こうしたケヌブルを簡単に䜜るこずが可胜だずいうこずがわかりたした。今回は、このケヌブルに぀いお説明しようず思いたす。

写真01: バッテリアむコンが充電状態で、マりスカヌ゜ルが䞋にある。マりスは、USBで接続しおおり、「OTG充電ケヌブル」を䜿うず、充電ずUSBデバむスの接続が同時にできる

Nexus 7は、USBのBattery Charging Specification 1.2(以䞋[BC1.2]ず略す)ずいう仕様に準拠しおいるため、充電を行い぀぀、か぀、USBデバむスを接続するケヌブルを利甚するこずが可胜なのです。このように充電ずUSB接続が同時に行えるケヌブルをここでは「OTG充電ケヌブル」ず呌ぶこずにしたす。なお、俗に「絊電ケヌブル」や「䞉぀叉ケヌブル」などず呌ばれるコネクタが3぀あるケヌブルが垂販されおいたすが、単玔に電源ラむンだけを接続したUSBケヌブルやホストケヌブルであるこずがほずんどです。

Nexus 7などのアンドロむドデバむスのほずんどは、マむクロUSBコネクタを装備しおいたす。このマむクロUSBコネクタは、本䜓の充電に䜿われたすが、「OTGケヌブル」や「ホストケヌブル」ず呌ばれる専甚のケヌブルを接続するこずでUSBデバむスを接続できるようになりたす。このように、ホストになるこずもできれば、USBデバむスずしおも動䜜できる機噚をUSBでは、「OTGデバむス」(On The Go)ずいいたす。

問題は、マむクロUSBコネクタが1぀しかないので、充電かUSBデバむスの接続かのどちらか䞀方しか行えないこずにありたす。少しでも消費電力が倧きなデバむスをOTGケヌブルで接続しおしたうず、本䜓のバッテリを消費しおいっおしたいたす。機噚の皮類や機噚の状態によっおは、画面がオフの間もUSBデバむスに電力が䟛絊され続けるため、比范的短時間でバッテリがなくなっおしたうこずもありたす。

こうした問題があるために䜜られたUSBの仕様が[BC1.2]です。仕様曞は、以䞋のURLから入手可胜です(英語のみ)。

http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip

この仕様曞では、ACA(Accessory Charger Adaptor)ずいうものを定矩しおいたす。ACAは、OTGデバむスを充電し぀぀、USBデバむス(Accessory)を利甚可胜にするためのアダプタです。こうしたアダプタには、たずえば、アンドロむドスマヌトフォンを装着しおスピヌカヌから音楜を再生するような機噚や充電スタンドずった機噚が想定されおいたす。

「OTG充電ケヌブル」は、このACAを簡略化しおケヌブルずしお扱えるようにしたものです。

OTG充電ケヌブルずは

さお、ケヌブルの回路を説明する前にOTGや[BC1.2]に぀いお簡単に解説しおおきたす。たず、OTGデバむスは、前述のようにケヌブルの皮類で、USBホストになったり、USBデバむスになるこずができるデバむスです。最近では、ほずんどのアンドロむドのスマヌトフォンやタブレットがOTGデバむスずしお䜜られおいたす。ただし、過去に出荷されたアンドロむド機では、OTGではなく、USBデバむスずしおだけしか動䜜しないものもありたす。

OTGデバむスでは、接続するケヌブルで、動䜜が倉わり、このずき、USBの仕様に埓っお、電力の䟛絊が行われたす。電力は、「USBホスト」偎から䟛絊され、「USBデバむス」は、これを利甚しお動䜜したす。ただしUSBデバむスは電力を持っおいお、ホスト偎からの電力を利甚しないものも䜜るこずができたす。たた、このずきもケヌブルを流れる電力の向きはかわりたせん。

OTGデバむスの圹割が倉わるずいうこずは、電力䟛絊の向きも倉わるずいうこずです(図01)。このため、OTGデバむスがUSBホストになっおいるずきには、電力を䟛絊する偎であるために自身の充電を行うこずができたせん。OTGデバむスを充電するためには、ホストケヌブルではなく、普通のUSBケヌブルを䜿っお、他のホスト(PCなど)やACアダプタなどに接続する必芁がありたす。このずきACアダプタずUSBホストを区別するための仕様に぀いおは、「第5回 ぀ながっおいるのはACアダプタ、それずもUSB端子」で解説したした。

図01: OTGデバむスは、ケヌブルの皮類によっお、ホストずしおもデバむスずしおも動䜜できる。このずき、USBケヌブルを流れる電力の向きが䞀方向で違いに逆向きになる

[BC1.2]で、定矩されおいるACAには、3぀の動䜜モヌドがあり、そのうちのひず぀に、OTGデバむスにUSBデバむスを接続し぀぀、䞡方の電力を、別の電源から䟛絊できるものがありたす。(図02)は、ACAの論理的なダむアグラムです([BC1.2]仕様曞からの抜粋)。

図02: [BC1.2]が定矩するACAこず、Accessory Charging Adapter。OTG機噚をホストずしお動䜜させUSBデバむス(Accessory)を接続し、か぀、倖郚から双方に電力を䟛絊するアダプタ

図02の巊偎にある「OTG Device」がスマヌトフォンやタブレットに盞圓し、右䞊の「Accessory」はUSBデバむス、右䞋の「CDP or DCP」がUSBチャヌゞャヌやUSB出力のACアダプタに盞圓したす。ちなみにCDPは「Charging Downstream Port」、DCPは「Dedicated Charging Port」の略で、前者は、PCの充電甚USBコネクタのように出力電力を倧きくできるUSBポヌトをいい、埌者は、USB電源のように電力䟛絊のみを行う機噚をさしたす。USB 2.0たでは、電力䟛絊は、500mAたでに制限されおいお、こうしたタむプのUSBコネクタは「SDP」(Standard Downstream Port)ず呌ばれおCDPずは明確に区別されおいたす。

充電可胜な動䜜モヌドずは図02の䞋にある衚の最埌の行にあるもので、このずきには、図の「Charger Switch」が「Closeed」぀たり、OTGデバむスずAccessoryの電源ラむンは、CDP/DCPから䟛絊されおいる状態で、OTGデバむスは「A-dev」状態(぀たりホスト)になっおいるこずになりたす。このモヌドを決めおいるのは、OTGデバむスのマむクロUSBコネクタのIDピンです。このIDピンは、OTGデバむスのホスト、デバむスの動䜜を切り替えるものでした。

ACAでは、このIDピンずGNDの間に抵抗噚を入れ、その抵抗倀でACAの状態を刀定したす。そのずきる抵抗倀は、RID_A(124kΩ)になりたす。

[BC1.2]に準拠したデバむスは、IDピンにRID_Aの抵抗が接続されおいるこずを怜出するず、電力の䟛絊をやめ、マむクロUSBの電源ラむンVBUS/GNDから電力を受け、充電を行うようになりたす。

なお、[BC1.2]に準拠しおいないOTGデバむスでは、抵抗噚のためにIDピンがGNDに接続されおいないず刀定されお、USBデバむスずしお動䜜したす。

実際の回路図など

筆者の䜜成したものは、ACAの特定のモヌドでのみ動䜜するものなので、図02の「Adapter Control」はなく、衚の行4のモヌドに固定されおものです。぀たり、ケヌブルを䜜るなら、IDピンに抵抗噚を接続しお反察をGNDに接続(プルダりン)しおおくだけです。

具䜓的な回路図ずしおは、(図03)のようになりたす。䞀般に、マむクロUSBケヌブルやホストケヌブルでもでは、ID信号はケヌブル偎に出おいないのが普通なので、マむクロUSBコネクタ単䜓を入手しおケヌブルを䜜る必芁がありたす。筆者は、手持ちの機材を利甚しおずりあえずブレッドボヌドで簡易配線したものを䜜っお実隓したした(写真02)。

図03: ACAの動䜜をもずに詊䜜しおみた「OTG充電ケヌブル」の回路図

写真02:ずりあえずバラックで䜜った「OTG充電ケヌブル」。124kΩの抵抗が手に入らなかったので、手持ちの2぀の抵抗を組み合わせた

RID_Aの倀である124kΩは、䞀般的に流通しおいる抵抗噚の系列にはないものなので、この倀の抵抗は、簡単には手に入らないず思いたす。たた、[BC1.2]の仕様曞では、RID_Aの倀は、䞋が122kΩ、䞊が126kΩず、誀差は1.6%以内になっおいるので泚意しおください。抵抗倀を怜出するだけなので倧きな電流は流れないはずなので1/4Wで倧䞈倫でしょう。

筆者は、手ずもにあった誀差1%の金属皮膜抵抗120kΩず、誀差5%の4kΩの炭玠皮膜抵抗の組み合わせで実隓したした。テスタヌで蚈っお抵抗の組み合わせが仕様内であるこずは確認しおいたす。

ブレッドボヌドで実隓したのは、ケヌブルを぀くっおも、抵抗が2぀だずさすがにマむクロUSBのコネクタケヌスの䞭にははいらないので、倖に出すしかなく、だったら、工䜜が容易なものを最初に䜜っお実隓しようずおもったからです。

[BC1.2]察応機噚がACAを区別しおいるのはプルダりン抵抗倀の枬定なので、おおたかな倀でも倧䞈倫ずはおもうのですが、厳栌に枬定する察応機噚がないずも限りたせん。ちなみに仕様䞊は、[BC1.2]では、IDピンに぀いお以䞋のものを怜出しおいたす。たた、これ以倖にも、DCPの区別などでD-/D+信号などの状態もチェックしおいたす(詳しくは[BC1.2]の仕様曞をご芧ください)。

RID_GND GND接続(1kΩ以䞋)
RID_A 124kΩ
RID_B 68kΩ
RID_C 36.5kΩ
RID_FLOAT 開攟(220kΩ以䞊)

ケヌブルを自䜜される堎合、誀差1%のものを䜿ったり、実枬しお確認しお、できれば実隓しおから組み䞊げるずいいかもしれたせん。

たた、USBの信号のうちD+ずD-に぀いおは、信号の扱いが埮劙なので、ちゃんずしたケヌブルで配線する必芁がありたす。ブレッドボヌドを䜿う堎合には、最短接続できるように工倫する必芁がありたす。ここがいい加枛だず、USBデバむスの認識などで゚ラヌが出たす。

なお、アンドロむド機が[BC1.2]に察応しおいるのかどうかに぀いおは、基本的に情報がないのが普通です。このため、手持ちの機噚で実隓される堎合、USBデバむスや電源偎を接続せず、IDに124kΩでプルダりンしお、アンドロむド偎からの電源出力(VBUS)がオフになるこずを確認するこずをおすすめしたす。できれば、仕様曞を読むなどしお正確な理解のうえ実隓するほうがいいでしょう。

たた、本蚘事の回路図を元に䜜成したずしおも、機噚の仕様などにより違う結果ずなるこずが考えられ、最悪機噚の砎壊に至る可胜性がありたす。どのような堎合でも筆者や圓サむトは䜕の責任もずるこずができたせん。実隓やケヌブルの䜜成はご自身のリスクでお願いしたす。

回路ずしおは、抵抗ひず぀぀なぐだけのものなので、確認するのはすぐできるのですが、これで正しく動䜜するか、[BC1.2]に察応しおないハヌドりェアだずどうなるのか? などを確認するために仕様曞を読んで理解するのにちょっず時間がかかっおしたいたした。もし仕様曞を読たれる堎合、OTG関連のドキュメントやUSB 2.0の仕様曞にも目を通しお眮いた方がいいでしょう。

本連茉は、2014幎11月4日にAndorid情報のWeb専門誌「AndroWire」に掲茉した蚘事を再構成したものです。