歩き遍路 平成19年春(J1) 記録の準備

USB Protocol( 1) 
 SetAddressプロトコルの解析


 SetAddress関連のパケットだけを、SMSC社の USB3500(UTMI)で取得してVisual C++で解析しました。
 今回は、1mS毎に発生するSOFパケットは、UTMIの出口で無視するようにしました。

●SetAddressプロトコルの解析

 USBホスト機能で5回 発生したSetAddressを取得して、解析した結果を下記します。

 ・下記の、番号1〜3が、一回目のSetAddress関連のパケットです。
  番号0:SetUpパケット、番号1:Dataパケット、番号2:ハンドシェークパケット
 ・番号6、7が、二回目のSetAddress関連のパケットです。
 ・番号8〜12が、三〜五回目のSetAddress関連のパケットです。




 コントロール転送シーケンスの書式は、次のとおりです。

    

●SetAddress関連のパケットの信号と解析

 次は、2.17nS毎にサンプルした、USBケーブル上のSetAddress関連パケットの信号です。
 上の解析結果の番号6、7に相当する二回目のSetAddress関連のパケットです。


 次の写真は、SetAddress関連パケットの信号です。
 注目点は、
 ・上から4番目:Highの期間が一つのパケットです。
 ・上から3番目:8ビットのデータを転送するストローブ信号です。
 ・上から9番目:8ビットのデータです。

 この信号を概観すると、SetUpパケットとDataパケットの二つのパケットが見えます。




 次の写真は、上の写真の前のパケット部分を拡大しました。SetUpパケットの拡大です。
 上から7番目、8番目は、USBケーブル上の信号(D+,D−)と同じもので、NRZI符号をデコードしたものをその上に追記しました。又、その内容を解析したのを下部に追記しました。信号は、LSBから送信されています。

 これを概観すると、
 ・「80hのSync」を受信すると 上から4番目のパケット受信中信号がHighに
 ・「2DhのPID」を受信すると 上から9番目に8ビットのデータが、上から3番目にストローブ信号が
 ・続いて、エンコードされたデバイスアドレス、エンドポインタアドレス、CRC5の2バイトデータが
 ・最後に、2ビットのEOPが続いて、パケット受信中信号がLowになります。





●SetAddress関連のパケットの取得の構成


 次は、SetAddress関連のパケットを取得した構成です。
 「UTMI/ULPIでUSB(12) UTMIで受信したSOFをVisual C++で解析」のページと同様なので、そのページを参考にして下さい。





ホームへ戻る