CPLD+SIMMを使ってUSBプロトコルの解析を!
VHDLを速習! XC95144XL+16MB・SIMMを使ってUSBプロトコルアナライザを作ってしまいました!
主目的は差し迫った事情からUSBプロトコルの解析をすることだったのですが、その手段として選んだのがコレ!
[第31回]
●Enumeration はじめから終わりまでの記録(2)
前回の終わりに書きましたように、CPLD+SIMM回路によって記録し解析を行なったEnumiration手続きについて、今回から数回の予定で少しずつ区切りながら詳細な説明を加えていきたいと思います。
ここで使う解析リストは葛Z術少年出版の吉崎様からお借りしたWindowsXP(USB3.0)パソコンに秋月のPICWRITERを接続して得られたデータを解析したものです。
まず最初は、WindowsXPパソコンにPICWRITERをUSB接続して、それがWindowsXPパソコンに認識されてEnumerationが開始されるところから説明を始めます。
前回はSOFだけが続くところとか、INパケットに応答できずにNAKを連続して返すところなどは省略したリストをお見せしましたが、少しずつ区切って詳細に説明するということになりますと、省略しないで記録したままをお見せするほうがよいのではと考えましたので、今回からは省略しないでもとのままお見せすることにします。
0012204 SOF FNO=6AB 0012298 SOF FNO=6AC 0012299 PRE 0012392 SOF FNO=6AD 0012486 SOF FNO=6AE 0012580 SOF FNO=6AF 0012673 SOF FNO=6B0 0012674 PRE 0012767 SOF FNO=6B1 0012861 SOF FNO=6B2 0012862 PRE 0012955 SOF FNO=6B3 0013048 SOF FNO=6B4 0013049 PRE 0013142 SOF FNO=6B5 0013236 SOF FNO=6B6 0013330 SOF FNO=6B7 0013424 SOF FNO=6B8 0013424 PRE 0013518 SOF FNO=6B9 0013611 SOF FNO=6BA 0013612 PRE 0013705 SOF FNO=6BB 0013799 SOF FNO=6BC 0013800 PRE 0013893 SOF FNO=6BD 0013987 SOF FNO=6BE 0014080 SOF FNO=6BF 0014174 ? [10111110] // 0276318 SOF FNO=6C0 0014174 PRE 0014268 SOF FNO=6C1 0014362 SOF FNO=6C2 0014362 PRE 0014456 SOF FNO=6C3 0014549 SOF FNO=6C4 0014550 PRE 0014643 SOF FNO=6C5 0014737 SOF FNO=6C6 0014831 SOF FNO=6C7 0014925 SOF FNO=6C8 0014925 PRE 0015018 SOF FNO=6C9 0015112 SOF FNO=6CA 0015112 PRE 0015206 SOF FNO=6CB 0015300 SOF FNO=6CC 0015301 PRE 0015394 SOF FNO=6CD 0015487 SOF FNO=6CE 0015581 SOF FNO=6CF 0015675 SOF FNO=6D0 0015676 PRE 0015769 SOF FNO=6D1 0015863 SOF FNO=6D2 0015863 PRE 0015956 SOF FNO=6D3 0016050 SOF FNO=6D4 0016051 PRE 0016144 SOF FNO=6D5 0016238 SOF FNO=6D6 0016332 SOF FNO=6D7 0016425 SOF FNO=6D8 0016426 PRE 0016519 SOF FNO=6D9 0016613 SOF FNO=6DA 0016613 PRE 0016707 SOF FNO=6DB 0016801 SOF FNO=6DC 0016801 PRE 0016894 SOF FNO=6DD 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 |