連載
» 2010年06月11日 12時00分 UPDATE

失敗しないUSB 3.0、規格解説と実現のキーポイント(2):ホストとの接続はUSB 2.0? それともUSB 3.0? (1/2)

USB 3.0の高速伝送は、転送速度の向上だけで実現USB 3.0でのバス速度決定までの流れとその条件、速度決定時に注意すべき点を解説する。また、制御面への問題提起も

[インベンチュア株式会社 開発部 中村 孝志,@IT MONOist]
失敗しないUSB 3.0、規格解説と実現のキーポイント インベンチュア株式会社
USB 3.0の高速伝送は、転送速度の向上だけで実現できたわけではない。また、論理層やアプリケーションにもUSB 2.0と異なるアプローチが必要となる。本連載では、USB 3.0のプロトコル面での改善点を中心に解説し、USB 3.0デバイスを実現するポイントを探る。(編集部)

はじめに

 USBは1.0から2.0へ、そしてついに3.0までバージョンアップを果たしました。USB 1.0から2.0のへのバージョンアップでは、下位互換維持が決してスマートとはいえませんでしたが、それでもケーブル/コネクタの基本構造は維持することができました。一方、USB 3.0では物理層が根本的に変わったため、ケーブル/コネクタの構造への変更が伴う点は有名ですが、接続状態を確立するフローが追加されたことはあまり知られていません。

 第2回では、バス速度決定までの流れと、速度が決定したときに注意すべき点を説明します。

USB 2.0での接続状態

 USB 2.0までの接続に関してはここでは詳しくはお話ししませんが、簡単に仕組みだけおさらいしてみましょう。

 USB 2.0では信号線は差動信号の2本しかありません。デバイス側がこの信号線のどちらかをプルアップすることで、その信号レベルをホストが認識して、デバイスが接続されたことを把握します。

    ■差動信号の−側のプルアップ:Low Speed接続

    ■差動信号の+側のプルアップ:Full Speed接続(High Speedへ遷移する可能性あり)

photo 画像1 USB 2.0プルアップレジスタ接続

 極端な話、デバイス側はプルアップしなければ、ホストに認識されないままでいることができるので、デバイス内部のマイコン初期化までホストに認識させないような正当な使用方法から、USB照明やUSB扇風機のような電源供給元としてUSBを活用するガジェットまでさまざまな使用が可能です。

 また、Full Speed接続後はデバイス側がHigh Speedのポテンシャルを持っているならばChirpと呼ばれるフローを踏みます。デバイス側が、High Speedの信号レベルでホストへ合図を送り、ホストがHigh Speedをサポートしていれば、デバイスからの合図(信号レベル)を認識でき、互いにHigh Speedの信号レベルの送受信を繰り返すことで、High Speed通信できると認識するフローです。

※High Speed通信時はバスラインのプルアップは外されます。

 これがいままでのUSB 2.0で行われていた接続状態の決定手段でした。

USB 3.0での接続状態

 USB 3.0では、対向側の接続状態を知る手段として、USB 2.0とはまったく異なるレシーバ検出と呼ばれるスキームを使用します。レシーバ検出はPCI Expressなどと同様に対向側が接続状態にあるかないかを電気的、かつ周期的に判断するものです。具体的には12msごとに対向側のレシーバを探るために送信側ポートより電荷を放出し、一定期間後の電圧値で対向側の存在を認識します。

 これはPCI Expressでも用いられてきた手法ですが、一点欠点がありました。

 PCI Expressでは対向側の存在は自身のレシーバ検出により制御できますが、対向側から自分の存在を制御する手段がありません。そのためUSB 3.0では対向側から自分を隠す手段(R_Term)がデファクトスタンダードであるPIPEと呼ばれるPHY I/Fに追加されています。

photo 画像2 レシーバ検出・スケマティック

機械的要件での接続状態

 ここではすでによく知られた情報となっている機械的な要因からUSBの接続について考察してみましょう。USB 3.0/USB 2.0はともに別々の信号線によりバスを成立させます。よって、下位互換性は保っていますが、ケーブル/コネクタの変更が行われています。少しおさらいしてみましょう。

Standard-A

 ホスト側(PCなど)とケーブル接続するときに使用するよく見られるコネクタで、一番なじみ深いものはマウスやキーボードやUSBメモリがあります。USB 2.0用の4本の信号はそのまま配置され、奥に5本分の細かい信号が追加されています。Standard-Aコネクタは下位互換性の意味合いから外形にも変更ありません。

photo 画像3 Standard-A

Standard-B

 デバイス側とケーブル接続するときに使用するコネクタで、意外とその数は多くありません。代表的なものはプリンタ/スキャナなどが挙げられます。こちらも従来のUSB 2.0用の4本の信号はそのまま配置され、その奥に5本分の細かい信号が追加されています。Standard-Bコネクタはこの5本の信号追加に伴い外形に変更が入っている点を見逃してはいけません。Standard-Bコネクタだけを見るとUSB 3.0対応ケーブルはUSB 3.0非対応コネクタ(レセプタクル)に接続できないということです。

photo 画像4 Standard-B

 ここでコネクタ形状のおさらいは終わりにして、本日の本題に入っていきましょう。USB 3.0の基本は“できるだけ上位のバススピード(SS>HS/FS)で動作する”ことにあります。ホスト、ケーブル/コネクタ含めた物理的要因、デバイスがUSB 3.0に対応していれば、USB 3.0として動作させたいのです。

 もう一度上図を見直してみると、USB 3.0用のコネクタは奥にさりげなく存在し、人がケーブルを接続すれば、通常はUSB 2.0で接続が完了してしまうかもしれません。ここに新たな論理からくりが盛り込まれています。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.