歩き遍路 平成19年春(J1) 記録の準備
USBデバイスリクエスト SetAddressを
             Sofの海から抽出

 UTMI(CY7C68000A)とFPGA(Cyclon3)を搭載したSLS社の基板で、USBデバイスリクエスト SetAddressをSofの海から抽出しました。
 USBデバイスリクエスト SetAddressの波形観測する場合、以前に記録した「USB仕様を見よう!!( 1) USBキーボードのUSB信号を見る」でトリガーに困った様に、Sofの海に埋まってしまい観測出来ません。そこで、UTMIとFPGAを使って、Sofの海からからUSBデバイスリクエスト SetAddressを抽出出来るようトリガに工夫しました。

●SetAddressをSofの海から抽出する実験の構成

 SetAddressをSofの海から抽出する実験の構成の写真です

 上部は、FPGAのプログラマと波形観測するロジックスコープです。
 中央は、UTMI(CY7C68000A)とFPGA(Cyclon3)を搭載したSLS社の基板で、USBデバイスリクエスト SetAddressをSofの海から抽出します。
 下部は、USB信号を発生するホスト機能と周辺機能です。パソコンのUSB信号を観測する方法もあるのですが、パソコンは複雑な動きをするので整理するのが煩雑なので、今回は動きが判っている以前記録した「SPIでUSB(11) MAX342xのホスト機能と周辺機能を接続する」で作った基板を重ねて使用します。





●USBケーブル上のUSBデバイスリクエスト SetAddress信号


 USBケーブル上のUSBデバイスリクエスト SetAddress信号をロジックスコープで採取しました。ロジックスコープは、サンプル周期 5nS 、一目盛りは500nSです。

 6_UtRxActive は、UTMIの信号でパケット毎に正信号になります。7_UtRxValid は、UTMIの信号でデータ毎に正信号になります。
 最初の パケットは、SETPUパケットで3バイトのデータがあります。16_UtInDa の「2d」がSETPU PIDです。
 2番目の パケットは、DATA0パケットで、「c3」のDATA0 PIDを先頭に8バイトのデータとCRC続きます。
 3番目の パケットは、ACKパケットで、「d2」のACK PIDだけです。

 
SetAddress信号をロジックスコープで採取するトリガーは、最初と2番目のパケットを採取して組み合わせ回路で抽出しました。




●USBケーブル上のSofの海の信号

  USBケーブル上のSofの海の信号をロジックスコープで採取しました。ロジックスコープは、サンプル周期 1uS 、一目盛りは1mSです。

 6_UtRxActive は、Sofパケット毎に正信号になっています。Sofパケットは1mS毎に出ています。この信号がトリガーを困難にする原因です。
 例えば、 USBデバイスリクエスト SetAddress は、デバイス接続時に1回しか出ません。Sof は1秒間に1000回出ます。普通のシンクロスコープやロジックスコープでは観測は至難です。







ホームへ戻る