携帯機器間のデータ転送を簡単かつ高速に ――既存USBの課題を克服するための追加規格

David Luke

tag: 組み込み

技術解説 2002年4月 9日

●どの機器がホストになるかを決めるプロトコルを追加

 USBは本来マスタ/スレーブのプロトコルです.バスで起こる処理は,すべてホストによって開始されます.OTG 1.0のデュアルロール・デバイスは,Mini-Aプラグが挿入されているとき,デフォルトとしてホスト役になります.Mini-Bプラグが挿入されているときは周辺機器役がデフォルトとなります.

 しかし,ホスト役と周辺機器役を交代するために,ユーザがケーブルを接続し直す必要はありません.OTG 1.0追 加規格で定義された「ホスト交換手順(HNP:Host Negotiation Protocol)」によって,B側に接続されているデュアルロール・デバイスがホスト役になるように要求を出すことができます(図7)

 HNPを実行するためには,最初にAデバイスはOTG 1.0追加規格で新たに定義された「SetFeature要求」を使って,Bデバイスがバスを制御する機能を有効にします.このようにして一度Bデバイスのバス制御機能が有効になると,Aデバイスが許可していればいつでもBデバイスはホスト役になれます.AデバイスがBデバイスにホスト役を譲るために,Aデバイスはバスのトラフィックをいっさい断ち切って,バスをサスペンド状態にします.一方,Bデバイスは信号線D+を"L"にして,バスから抜かれた状態にします.それに応えてAデバイスは信号線D+のプルアップ抵抗をON(イネーブル)にして,バス制御の交代が完了します.この後,Bデバイスがホストの役目を果たせば,Aデバイスは周辺機器として反応します.

 Bデバイスは同じくバスをサスペンド状態にして,信号線D+のプルアップ抵抗をON(イネーブル)にすることによって,バスの制御権をAデバイスに渡すことができます.Aデバイスはこれを検知し,信号線D+のプルアップ抵抗をOFFにして,再びホストの役目に戻ります.

f07_1.gif
〔図7〕 ホスト交換手順(HNP)
接続された二つのデュアルロール・デバイスは,ホスト交換手順(HNP)を利用してホストと周辺機器の役割を交換することができる.図は,HPNにおけるD+の信号線上で起こるやりとりを示している.

  1. Aデバイスはバスをサスペンド状態にするため,すべての通信を停止する .
  2. Bデバイスはサスペンド状態を認識して,プルアップ抵抗をOFFにする.Aデバイス側のプルダウン抵抗によってD+が"L"になる.
  3. AデバイスはBデバイスが切り離された状態を認識して,自身のプルアップ抵抗をONにする.
  4. BデバイスはD+の立ち上がりを周辺機器が挿入されたものとして認めて,ホスト役に入る.Aデバイスを周辺機器の一つとしてとらえ,USBリセットをかける.
  5. Bデバイスをホストとしてバス上の通信が再開される.
  6. Bデバイスはホストの役割を再びAデバイス側に譲りたいとき,バスの通信を停止して,バスをサスペンド状態にする.
  7. Aデバイスはサスペンド状態を検知してプルアップ抵抗をOFFにする.
  8. BデバイスはD+の立ち下がりに応答して,自身のプルアップ抵抗をONにする.
  9. Aデバイスはホスト役となって,USBリセットをもってBデバイスを周辺機器と認識する.
  10. Aデバイスをホストとして,バス上の通信が再開される.
組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日