スパイス  組み込み制御装置の受注製作

USBから複数シリアルポートを
平成26年 5月 30日

 デバッグツール
 USB仕様は送受信で複雑なデータのやり取りを行うので、設定を間違えたときに何処で間違ったかを知る方法がないと非常にデバッグしづらい状況になります。現に、先日説明したディスクリプタを一部変更しただけで、デバイスの認識に失敗しました。何が悪かったのかの(単純な接触不良の可能性もあります)確認はこれからですが、どのような通信が行われているかを知る術が必要です。

 あちこちのHPを探したところ、もっとも有力なツールはsnoopyPro.exeのようです。こちらからダウンロードできます
PC(ホスト)とUSB接続された機器(デバイス)の間の通信内容を記録してくれるツールですが、今回の用途には不向きな印象です。ホストとデバイスのプログラムがほぼ完成して、その後の小変更や機器のハードウェアデバッグに向いたプログラムです。というのは、デバイスをUSBに接続した後、通信内容をトレースできるのはホストのデバイスドライバをインストールした後でないと記録を取り出しできないためです。実際の通信はデバイスをホストに接続した直後から行われており、この時点での通信内容も記録されているのですが、なぜかこの時点で記録を取り出すことが出来ません。簡単なセットアップ方法と動作の様子を記録しておきます。

  snoopyPro.exeの注意
 最初に、このプログラムは比較的古いwindowsにしか対応していないようです。Windows7のXPモードで動作したとの書き込みもありましたが、出来ればXPか2000を仮想環境などにインストールして、その中で動作させた方が安全です。
 ダウンロードされた圧縮ファイルにはsnoopyPro.exeのみが収められています。.dllや.sysなどのファイルはありません。これだけで正しく動作します。

 snoopyPro.exeのセットアップ方法
 ダウンロードしたファイルを解凍するとsnoopyPro.exeがあります。特にインストール作業は必要なく直接実行します。Win7以降ではXPモードで管理者権限が必要になります。(当方はXPで確認しているので、検証未実施)

 snoopyPro.exeの実行方法
 ・ snoopyPro.exeを実行すると二つのウィンドウが開きます。



 ・USB Deviceウインドウから通信をトレースしたいUSBデバイスをVID/PIDを頼りに探してクリック(デバイスが反転表示されます)。
 ・(USB Deviceウインドウの)FileメニューからUnpack Driver, 次にFile-Install Serviceをクリック
 ・Edit-Install Snifferを選択するとSniffer Installed?欄の表示が'-'から'Installed'に変わります。

 ・Edit-Restart Deviceを選択すると、デバイスがリセットされてその後の通信内容が記録されます。
 
 記録内容はSnoopyProウインドウに表示されます。今回はPC側で既に.infoを読み込ませてある(ドライバがインストールされている)ので、すぐに通信内容が表示されましたが、.infoを読み込ませる前(ドライバをインストールする前)では、この表示が出てきません。出てこないので記録を残す方法が見当たらず(違う操作で出来るかも)、今回のようにデバイスとPC側のドライバ(.inf)を試行錯誤しながら作っていくには向かないツールとなります。


目次へ  前へ  次へ