700円ロジアナでUSBパケットを観測してみた

usbsignal.jpg

昨日使ってみたロジアナですが、Saleae Logicのプロトコル解析機能にはUSBもあることに気付きました。これはAnalog Discoveryには無い機能です。

この機能を使えば、先日Raspberry Piのベアメタルプログラミングでぶつかった、USBハブを通さないとキーボードが認識できない問題の解析に役立つかも?と思い、上の写真のようなD+とD-を外部から観測する冶具を作って試しに使ってみました。

右向きについているのがUSBオス、上向きについているのがUSBメスのコネクタです。
どちらもaitendoで購入した「基板with USBコネクタ」シリーズで、2P-UAF-S092P-UAM19です。同様の製品は各種あるのですが、こういう目的には基板に信号名がシルク印刷してあるものが良いと思います。

キャプチャしたUSB信号はこんな感じで表示されます。

salae2.png

解析できる信号はUSB FS(12Mbps)とLS(1.5Mbps)です。サンプリングレートが24Mspsなので当然ですが、480MbpsのHSは計測できません。
また、解析結果も、バイト列、パケット、コントロール転送までで、デバイスに特化したプロトコルの解析はできません。
とはいえ、USBプロトコルスタックのデバッグにはとても役立ちそうな気がします。

コメント