CPLD+SIMMを使ってUSBプロトコルの解析を!
VHDLを速習! XC95144XL+16MB・SIMMを使ってUSBプロトコルアナライザを作ってしまいました!
主目的は差し迫った事情からUSBプロトコルの解析をすることだったのですが、その手段として選んだのがコレ!
[第36回]
●Enumeration はじめから終わりまでの記録(4)
このところ記事の進行が遅くて、細切れ状態なのでお話がうまくつながりません。
今回は[第33回]からの続きになります。
[第33回]では自作のCPLD+SIMM回路を使って、WindowsXPパソコンに秋月のPICWRITERをUSB接続したときのEnumerationデータを記録して、それを翻訳解読した結果、そのときホスト(パソコン)から送出されたコマンド(リクエスト)はわずかに9通りしかない、ということを書きました。
そしてそのリクエストの内容について簡単に説明をしました。
リクエストについては今後の説明を進めていくなかでも必要に応じて補足していくつもりです。
そこで、まずはリクエストについてざっと説明が済んだところで、今度はそれに対する装置側の応答について説明をします。
大分時間が経ってしまいましたので、説明を続ける前に、もう一度Enumerationの最初のやり取りのところを見ていただきます。
下は[第31回]にお見せしたリストの終わりの部分(ホストからリクエストが送られ、PICWRITERがそれに応えてデータを送出している部分)です。
0016988 SOF FNO=6DE 0017000 SETUP ADRS=00 ENDP=00 DATA0 80 06 00 01 00 00 40 00 GET_DESCRIPTOR DEVICE ACK 0017002 ? [00010111] // 0279146 IN ADRS=00 ENDP=00 NAK 0017003 IN ADRS=00 ENDP=00 NAK 0017004 IN ADRS=00 ENDP=00 NAK 0017006 IN ADRS=00 ENDP=00 DATA1 12 01 00 02 00 00 00 08 ACK 0017008 OUT ADRS=00 ENDP=00 DATA1 ACK 0018114 SOF FNO=6EA 0018115 PRE |