cancel
Showing results for 
Search instead for 
Did you mean: 

DCD_DevDisconnect doesn't work

infoinfo991
Associate III
Posted on October 20, 2013 at 23:28

I have a simple task, to cause a USB disconnection and reconnection when I boot my STM32F2.

I tried using DCD_DevDisconnect after initializing the core (I am using the HS core, no DMA, not in OTG mode), but my USB analyzer (Beagle USB 12, it's hardware based and analyzes signals, not just a software filter) shows that no disconnection ever occurs.

I tried setting the D+ and D- pins to output mode and then outputting logic low, but that also does not cause a disconnection event on the bus. This is very strange!

The only thing I can do to cause a disconnection event is to physically unplug the cable, which I want to avoid.

The device I made enumerates correctly, so all my clocks are setup correctly and initializations are done properly.

What am I doing wrong with regards to DCD_DevDisconnect?

If it matters, my circuit does not have a pull-up resistor on any of the USB data lines. Also my host is a Playstation 3, but I don't think this matters.
1 REPLY 1
Amel NASRI
ST Employee
Posted on October 22, 2013 at 12:51

Hi Frank,

Try to force setting the Soft disconnect bit in the device control register (SDIS bit in OTG_HS_DCTL).

-Mayla-

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.