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
|