Skip to main content
infoinfo991
Associate III
October 20, 2013
Question

DCD_DevDisconnect doesn't work

  • October 20, 2013
  • 1 reply
  • 423 views
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.
    This topic has been closed for replies.

    1 reply

    Amel NASRI
    ST Technical Moderator
    October 22, 2013
    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 "Best Answer" on the reply which solved your issue or answered your question.