|
If the hardware is implemented correctly, and you properly initialize the 'D12, then connect the cable, you should expect to see something similar to the following sequence of events...
Suspend Change
Suspend change!
Idle time = 1 sec.
Bus Reset
Bus reset!
Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 01 00 00 40 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 12 01 00 01 DC 00 00 10 71 04 22 02 00 01 00 00 } VALID
Ep0_IN_ISR
WrEp1 2 - { 00 01 } VALID
Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR
Bus Reset
Bus reset!
Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 00 05 02 00 00 00 00 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = SET_ADDRESS.
WrEp1 0 - { } VALID
Ep0_IN_ISR
Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 01 00 00 12 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 12 01 00 01 DC 00 00 10 71 04 22 02 00 01 00 00 } VALID
Ep0_IN_ISR
WrEp1 2 - { 00 01 } VALID
Ep0_IN_ISR
Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR
Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 02 00 00 FF 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 09 02 2E 00 01 01 00 60 01 09 04 00 00 04 DC A0 } VALID
Ep0_IN_ISR
WrEp1 16 - { B0 00 07 05 81 03 10 00 0A 07 05 01 03 10 00 0A } VALID
Ep0_IN_ISR
WrEp1 14 - { 07 05 82 02 40 00 0A 07 05 02 02 40 00 0A } VALID
Ep0_IN_ISR
Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR
Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 01 00 00 12 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 12 01 00 01 DC 00 00 10 71 04 22 02 00 01 00 00 } VALID
Ep0_IN_ISR
WrEp1 2 - { 00 01 } VALID
Ep0_IN_ISR
Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR
Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 02 00 00 09 01 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 09 02 2E 00 01 01 00 60 01 09 04 00 00 04 DC A0 } VALID
Ep0_IN_ISR
WrEp1 16 - { B0 00 07 05 81 03 10 00 0A 07 05 01 03 10 00 0A } VALID
Ep0_IN_ISR
WrEp1 14 - { 07 05 82 02 40 00 0A 07 05 02 02 40 00 0A } VALID
Ep0_IN_ISR
Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR
Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 00 09 01 00 00 00 00 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = SET_CONFIGURATION.
WrEp1 0 - { } VALID
Ep0_IN_ISR
Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 08 00 00 00 00 01 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_CONFIGURATION.
WrEp1 1 - { 01 } VALID
Ep0_IN_ISR
Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR
Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 81 0A 00 00 00 00 01 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_INTERFACE.
WrEp1 1 - { 00 } VALID
Ep0_IN_ISR
Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR
Не знаю с чем вы работаете. Но в PDI нужно после получения адреса(SetAdress, если устройство одно, то адрес обычно равен 2) нужно этот
адрес передать в драйвер шины(PDI) и разрешить его(Set Adress/ Enable для PDI).
Судя по тому что получаете запрос Get Config Descriptor, Set Adress в
контроллере обрабатывается не корректно.
E-mail: info@telesys.ru