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.

TM4C123GH6PM: Clarification regarding USB0VBUS for mode: USB Device Only

Part Number: TM4C123GH6PM
Other Parts Discussed in Thread: EK-TM4C123GXL, EK-TM4C1294XL
I want to implement USB device mode only in order to allow my custom board based on TM4C123GH6PM to receive firmware updates via Bootloader.

According to the Application Report SPMA059 section 4.1.1 USB Device Only, if there is a chance that the device receives 5V on its PB1 (USB0VBUS) before it has been configured for VBUS, another 5V GPIO should be selected.

I was wondering why the EK-TM4C123GXL does not follow that indication for the TM4C that acts as an In-Circuit Debug Interface.

According to its schematic, a 330ohm resistor R24 is in series with PB1 (BTW, not 100ohm as the App Report mentions). Considering that the EK is usually powered from USB and it receives 5V from the start, when the uC has not yet configured its PB1 to be 5V tolerant. Why it does not get damaged?

Now, let's say I follow the advice of the App Report and decide to use another GPIO for the USB0VBUS function. Where should I configure that IO on the software side? I'm relying on the TivaWare library, using the ROM_UpdateUSB(0) function.

I already tested the Bootloader on the EK Board without USB0VBUS connected to PB1 (neither USB0ID to PB0) and it worked flawlessly. According to the App Report USB0VBUS is used to detect the connection and trigger software. Then I'm wondering if I really need to even connect the USB0VBUS, as in my case I launch the TivaWare Bootlader upon user request, I don't even need to take care of monitoring USB0VBUS. Am I right?
Thank you!
  • Hi,

    I was wondering why the EK-TM4C123GXL does not follow that indication for the TM4C that acts as an In-Circuit Debug Interface.

    According to its schematic, a 330ohm resistor R24 is in series with PB1 (BTW, not 100ohm as the App Report mentions). Considering that the EK is usually powered from USB and it receives 5V from the start, when the uC has not yet configured its PB1 to be 5V tolerant. Why it does not get damaged?

    Reading the EK-TM4C1294XL LaunchPad, the PB1 is connected to the VBUS through a voltage divider. I think either way is fine. Either keep the voltage input to less than 3.3V or using a current limiting resistor. 100ohm is the recommended minimum. Higher value 330ohm is certainly ok when in Device mode. 

    Now, let's say I follow the advice of the App Report and decide to use another GPIO for the USB0VBUS function. Where should I configure that IO on the software side? I'm relying on the TivaWare library, using the ROM_UpdateUSB(0) function.

    You can choose any GPIO of your liking as all other GPIO pins are 5-V tolerant on TM4C123 device. 

    I'm wondering if I really need to even connect the USB0VBUS, as in my case I launch the TivaWare Bootlader upon user request, I don't even need to take care of monitoring USB0VBUS.

    I don't think VBUS is needed if the device is in Device Mode and is self-powered and not being powered from the USB BUS.