設計の基本は仕様の理解 ――高速シリアル通信を実現するために知っておくべき最低限の知識
●USB通信用語を理解する
USB 2.0の転送モードの話に入る前に,ここではUSBでよく用いられることばとその概念を理解しておきましょう.
1)フレームとマイクロフレーム
USBバスによる通信は,ホストからのポーリング転送が基本です.ホストは一定時間ごとにSOF(start of flame)パケットを送出してフレームの開始をUSBデバイスに知らせます.図17に示すように,フルスピード・モードでは1msごとに,ハイスピード・モードでは125μsごと(マイクロフレームと呼ぶ)にフレームが開始されます.
フレームとトランザクションについては図18に示します.
2)データ・エンコードとビット・スタッフ
データ・エンコードとビット・スタッフについて,簡単に説明します(仕様書を一読されることを推奨する).USBバスに送出されるデータはNRZI(non return to zero invert)でエンコードします.図19に示すように,入力データに'1'が6個続いたら自動的に'0'を挿入することを「ビット・スタッフ」と呼びます.また,NRZIはデータ'0'ではビット反転し,データ'1'では前の状態を維持して,クロックを出力データに挿入します.
〔図17〕フレーム
フルスピード・モードでは1msごとに,ハイスピード・モードでは125μsごと(マイクロフレームと呼ぶ)にフレームが開始される.
〔図18〕フレームとトランザクション
1フレームの間にデータの転送(トランザクション)が行われる.
〔図19〕データ・エンコードとビット・スタッフ
ビット・スタッフは受信PLLのロックを維持することが目的で挿入される.NRZIエンコードは,クロックをデータ・ストリームに挿入する.なお,ハイスピード・モードのEOPではビット・スタッフは行わない.