そこは知っておきたい「USB 3.0 の高速性を実現するしくみをプロトコル・アナライザで覗いてみる」

tag:

2009年4月27日

送受信チャネルの独立が高速性を実現

 USB  2.0では送受信チャネルが独立しておらず,Half-Duplexでハンドシェイクによりホストとデバイスの間でデータを交換するため,このハンドシェイクが完了しないかぎり次の行動を起こせません.例えば USB 2.0 外付けハード・ディスクで大量のデータを Read(読み出し)/Write(書き込み)するには時間がかかるということです.
 USB  3.0ではここに着目し,PCI  Express や SerialATA などで採用されているのと同じデータ転送方式を採用し,送受信チャネルを独立させました.これにより上述した Read/Write の待ち時間を大幅に削減しました.この点こそUSB  3.0 が狙う市場の一つである「ストレージ」にとって有効な転送なのです.
 それではプロトコル・アナライザで USB 3.0 の送受信のトラフィックを観察してみましょう(図3).本稿では,USB  2.0 と USB  3.0の双方に対応したプロトコル・アナライザ Voyager(ヴォイジャー)を使用して USB 3.0 トラフィックを記録し,その画面コピーを添付します.「Dir」の矢印が左右に向かっておりUSB 2.0 と違い,送信(Tx),受信(Rx)が頻繁に発生していることがうかがえます.また,LinkTracker 機能を使って,同じ時間軸上に,送受信チャネルを並べると,各チャネルが独立して動作している様子がうかがえます(図4)

 

図 3 USB 3.0 送受信のトラフィック

 

図をクリックすると拡大します

図4 同じ時間軸上に送受信チャネルを併記(LinkTracker 機能)
 

 

プロトコル・アナライザの必要性


 

 プロトコル・アナライザは,プロトコル・モニタともプロトコル・アナライザとも呼ばれる通信プロトコル(手順・規格)の解析装置です.長時間モニタする装置もあれば,今回の USB 3.0 のように極めて短い時間モニタする装置もあり,その使われ方は千差万別です.今回のUSB  3.0のようなシステムの開発・デバッグ時に必要になる場面が多々あります.

 典型的な場面は「不具合解析」です.その不具合が具体的にどこで発生しているのか,どういうときに発生するのか,いつも発生するのか,何かある条件がそろう時に発生するのかなどを調査しなければなりません.ホスト側なのか,デバイス側なのか,ケーブル上なのか,というように不具合現象を解析しながらその箇所を絞り込んでいくときに,「プロトコル・アナライザ」は役立ちます.

 ホスト側やデバイス側の内部の動作を調べる方法やツールは別に存在するため,それらを使うことはできますが,いったんホスト側(デバイス側)から送り出されたデータがどうなっているのか,そのデータに対するデバイス側(ホスト側)の応答は妥当なのかについては,プロトコル・アナライザでないと把握することができません.

 また,電気的な信号波形をモニタすることもこのような不具合解析時の有効な手段の一つなのですが,「プロトコル違反が起きていないか」ということを確認しなければなりません.残念なことに,信号波形の観測だけでは把握することが容易ではありません.プロトコル・アナライザはこういうことを踏まえた機能が搭載されており,データ・パケットの組み合わせどおりに表示をすることにより,イメージとなって画像的に表現されます.

 最近では企業の新人エンジニアの教育・学習用としてプロトコル・アナライザを使用するケースが増えてきています.文字だけではなかなかその振る舞いが分かりにくいため,規格書を読んだあとにプロトコル・アナライザを使いながら実際の機器の通信をモニタし,その内容が事前に読んだ規格書どおりであるかを確認します.
 




(株)東陽テクニカ 石井 潤一郎

 

 

«  1  2
組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日