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.

MSP432E401Y: How do you disable the USB pullup resistor

Part Number: MSP432E401Y

This text comes from the hardware manual section 27.3:

The USB controller can be configured to act as either a dedicated host or device, in which case, the USB0VBUS and USB0ID signals can be used as GPIOs or any corresponding alternate functions. However, when the USB controller is acting as a self-powered device, a GPIO input or analog comparator input must be connected to VBUS and configured to generate an interrupt when the VBUS level drops. This interrupt is used to disable the pullup resistor on the USB0DP signal.

I need to use the VBUS pin (PB1) as a UART.  I have VBUS connected to a different pin through a resistor divider to generate the interrupt.  How to I disable the pullup resistor as stated above? I am using the USB drivers supplied with the SimpleLink libraries.  I want to use the USB as a dedicated device, so the PB1 pin should be available for other use as long as I control the pullup resistor correctly.

Is there any special configuration needed to use PB1 as a UART instead of VBUS?

  • Hi Robert,

    You can change the pin mux for this and you should be good. I believe the pull up is only tied to the VBUS signal not the others.

    Sincerely,
    Erik Vaughn

  • The text would imply that I need to change the state of the pullup based on VBUS. What I am seeing is that the USB doesn't stay connected.  It often disconnects and reconnects, or has problems during loading the descriptors.  Sometimes it works fine, but it is not reliable.  I have used a very similar design on other projects and it works rock solid.  The only difference here is how I am using the VBUS signal as a serial line instead of VBUS.  There must be something that needs to be configured differently.

  • I also found this text in section 27.5.72:

    . For proper self-powered Device operation, the VBUS value must still be monitored to assure that if the Host removes VBUS, the self-powered Device disables the D+/D- pullup resistors. This function can be accomplished by connecting a standard GPIO to VBUS. The termination resistors for the USB PHY have been added internally, and thus there is no need for external resistors. For a device, there is a 1.5 kohm pullup on the D+ and for a host there are 15 kohm pulldowns on both D+ and D-.

    I have connected VBUS to a standard GPIO and I can detect when it drops.  I just can't figure out how to control the pullup as stated.

  • Hey Robert,

    Can you try setting the devmod bit to 0 in the USBGPCS register.