This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Low Voltage USB Operation with MSP430

Other Parts Discussed in Thread: MSP430F5659, TPS60241, LM2775, TPS60150, MSP430F5528

We have an embedded design that uses the MSP430F5659 and communicates internally over USB.  The device is battery operated, and the battery range is from 3V-4.2V.  We need USB communication over the entire battery voltage range.

The MSP430 detects voltage on the VBUS input as a first level of detection if a USB host is present.  This detection is looking for voltage greater than 3.75V, which is not present in our system with lower battery voltages.

Is there a way to bypass this detection and to have the MSP430 assume that USB host is always present to move on to the next stage of enumeration, even when only voltages below 3.75V are present?

  • Rob Baranowski said:

    Is there a way to bypass this detection and to have the MSP430 assume that USB host is always present to move on to the next stage of enumeration, even when only voltages below 3.75V are present?

    I don't have this detection in my USB stack, but device is powered by VBUS.
  • USB requires 5 V; that's how it's specified.

    To get 5 V from a battery, consider a boost converter like the LM2775, TPS60150, or TPS60241.

  • Hello Rob,

    Section 42.2.2.4 Self-Powered Devices of document SLAU208 mentions that there is ab it USBDETEN that detects VBUS voltage. This bit can be disabled in the USB_init function. Also Section 4.2 Selecting a Power Configuration (SLAA457) says that switching between VBUS and self powered is possible.

    Just to clarify, the system you have has an MSP430F5659 communicating with another chip inside over USB. Correct? I want to make sure the tests I run are similar to your setup.

    I'm still running some tests to make sure that the system is working as expected with that modification.

    Best regards,

    Erick

  • Thank you; this sounds like what I need.  I will try this.

    And yes my configuration is as you described, where the MSP430F5659 is embedded an communicating with a USB host inside, and the voltage input that I am testing is 3.5V.

    Thanks!

    -Rob.

  • You certainly don't need VBUS detection for the USB stack to work. I have a small MIL rugged box with MSP430F5528 in it that is self-powered and the only external USB pins are D+, D-, and GND. You just call USB_setup(TRUE, TRUE) and the stack will initialize. Your code will hang out doing whatever in your background loop and when something gets attached the USB will enumerate and you will get your interrupts etc.

    What you DO NEED however, is an internal 5V supply connected to VBUS. The USB PHY requires it for the layer 0 signalling. The datasheet will give you the tolerance of the supply as well as required current. In my case I use a LTC3221 charge pump to make 5V from 3.3V.
  • Just to follow up on this, I was able to skip the VBUS voltage detection, but the USB PHY does not seem to run properly with only 3.5V on VBUS, as Clemens Ladisch and Brian Boorman had predicted.  A charge pump was needed.

**Attention** This is a public forum