AnsweredAssumed Answered

STM32L100RB Faulty USB SIE???

Question asked by Crazy_Cat_Gentleman on Oct 4, 2014
Latest reply on Oct 13, 2014 by Crazy_Cat_Gentleman
I've been spending quite some time trying to get the VCP from STSW-STM32121 to work on my STM32L100RB project to no avail and this is what I have found.

DP is being pulled up by the 1.5kohm resistor but never does anything (I see no activity)

DM goes high (both lines are now high, this is completely illegal for USB and should never happen.) when the USB module is initiated, the USB_ISTR register contains 0x2000 (ERR bit set) on the first LP interrupt, it then contains 0x0100 (ESOF) on the next two interrupts followed by 0x0900 (SUSPend + ESOF), after which it goes into resume mode (as per the code in  STSW-STM32121, USB_CNTR |=  0x0010) and DM is then driven low (for 11 USB interrupts) before coming out of resume and the whole cycle starts again.

Weirder still is as DP is pulled high by 1.5k resistor = FS USB Device and so Resume mode (K state) should be DP low, DM high, not the other way around as I am seeing here.

Reading RXDP,RXDM status in USB_FNR reg and passing it on to GPIO somewhere else to be probed shows there is no issue there (they cloned DP,DM exactly) so only issue is in the driving of these pins from the USB peripheral block.

All of the above is the behavior of the USB not connected to a host, when connected to the host the host ignores it and so still behaves the same way.

I assume my particular chip isn't faulty unless the batch I have is as all 3 of them are doing this.

Such behavior from the USB has led me to believe that the actual design of it is faulty and it will never work as the behavior it is exhibiting is out of software control?
Any words of advice would be much appreciated