設計の基本は仕様の理解 ――高速シリアル通信を実現するために知っておくべき最低限の知識
●○● Column ●○●
USB 2.0規格書を読むべし!
あたりまえと言えばあたりまえの話ですが,標準インターフェース規格に対応する機器を開発する場合,その仕様を理解しておく必要があります.USB2.0の場合,USB-IFのホームページ(http://www.usb.org/developers/docs/usb_20.zip)から規格書をダウンロードできるので,設計時には必ず読んでください.
規格書は全11章から構成されています.章番号は「チャプタ」と呼ばれ,USBのロゴ認証テストの基本となっています.特に第7章は電気的仕様を規定しており,これを通過しなければUSBロゴを取得することはできません(図A).
●各章の内容と設計における重要度
以下に,USB 2.0規格書の全11章について,各内容と設計時の重要度を説明します.
●第1章:概要
特に読む必要はありません.
●第2章:用語集
ハードウェア,ソフトウェアを含んだ用語の説明があります.この章は,ことばを正確に使用するという意味で役に立ちます.例えば,Bandwidth(バンド幅)は「単位時間当たりに送信可能な合計データで,bpsまたはバイト/s」とあります.データ通信では常識となっているこのことばですが,筆者のように学校でアナログ回路教育を受けてきた年配者にとっては不可解なものでした.Bit Stuffing(ビット・スタッフ)については,「データ・パターンに'1'が続いてもPLLのロックを維持するために'0'を挿入する」というように,わかりやすく記述されています.
●第3章:バックグラウンド
USB規格のゴールや対象となるアプリケーションについて説明されています.一度は目を通してください.
●第4章:アーキテクチャの全体像
USB機器を開発する前に,必ずこの章の内容を理解しておいてください.なお,ここで述べられている内容はUSB接続の概要を説明した記事として日本語になっています.英文の規格書を読まなくても,それらの記事を理解しておけばだいじょうぶです.
●第5章:USBのデータ・フロー・モデルの説明
冒頭に「どのようにしてデータを送るのか」,「キー・コンセプトを理解する」という記述があり,ファームウェア開発者には必須の章と言えます.ファームウェアが原因のプロトコルに関係するトラブルを解析する技術者や,組み込み型ホストのプロトコル・スタックの開発者には非常に役に立ちます.
●第6章:機械的仕様
USBコネクタの名称,外形寸法,ケーブルの詳細などがあります.規格に準拠した部品を使用していれば,特に読む必要はありません.
●第7章:電気的仕様
前述したように,ロゴ認証テストをパスするためには必須の章です.トランシーバの構造,インピーダンス,電圧などについて記述されています.認証テストを通過する際の難関であるアイ・パターンについて説明されています.
ただし,機器開発者が完全にこの内容を理解する必要はありません.LSIメーカから提供される十分に実績のあるロゴ認証取得済みのデバイスを使い,推奨回路や推奨パターン・レイアウトを利用していれば問題なく通過できます.規格をよく理解していないにもかかわらず,独自回路で挑戦した場合は通過できないこともあります.
複数のUSBデバイスを同一バスに並列に接続して切り替えて使用するなど,特殊な設計が必要になった際には事前に本章を読まれることをお勧めします.
●第8章:プロトコル・レイヤ
組み込み型ホスト・コントローラを開発するには必須の章です.また,米国CATC(Computer Access Technology Corp.)などのUSBバスおよびプロトコル・アナライザなどを用いて不良解析を行う際には参照してください.
●第9章:USBデバイス・フレームワーク
この章は,ホスト・コントローラにスレーブ・デバイスを接続して通信するメカニズムを規定しています.デバイス・リクエスト,デバイス・デスクリプタなどについて説明しており,機器開発には必須の章です.ただし,LSIメーカの資料や雑誌のUSB特集などでもこの内容は説明されているので,そちらを読んでおけばだいじょうぶです.
●第10章:USBホスト
Windows標準のクラス・ドライバを使用する場合は一度目を通しておく程度でよいのですが,ユーザ固有のデバイス・ドライバを開発する際には必須の章です.最近はデバイス・ドライバの開発ツールが複数のソフトウェア・ベンダから提供されています.
●第11章:HUB(ハブ)についての規格
組み込み型ホスト・コントローラの開発において,中間にハブを挿入する場合は読まなくてはなりません.一方,Windowsを搭載したパソコンに直接接続(実はパソコン出力もハブ経由)する場合,通常はこの章の内容を知らなくてもけっこうです.「通常」と書いたのは,たまにハブを経由すると誤動作するトラブルがあり,アナライザで通信状態を解析する際に規格を調べることが必要となるからです.
〔図A〕USB 2.0規格書第7章
電気的仕様を規定している.この章にかかわる認証テストは「チャプタ7テスト」と呼ばれ,このテストをパスしないとロゴを取得できない.