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.

TM4C1290NCZAD: GPIO#09 Errata PB0/USB ID Pin

Part Number: TM4C1290NCZAD

I'm working with a customer who is using the on-chip USB in device only mode.  Because they applied the GPIO#09 Errata, they have a pull down on PB0.  Because of this, they have to start set the stack mode in "USBStackModeSet(0, eUSBModeForceDevice, 0)", or the device won't function.

Unfortunately, when eUSBModeForceDevice is used, instead of eUSBModeDevice, the USB_EVENT_CONNECT and USB_EVENT_DISCONNECT events do not get delivered.  The user wants (needs) these event.

In order for eUSBModeDevice to work, the pull down must be removed from PB0 (presumably violating the errata).  What will be the effect of this?  Is there an alternative configuration which keeps the Errata in place in order for these events to get delivered?

BTW, I've verified this behavior on a development board using slightly modified TI examples.

TivaWare_C_Series-2.1.171b and TI-RTOS for TivaC 2.16.0.08.

Thanks,

Stuart

  • Hello Stuart,

    If they are using USB, they shouldn't have the pulldown. The workaround using the pulldown is only when the pin is unused. The errata workaround specifically includes a clause for USB operation when the pins HAVE to be used:

    "If PB0 and PB1 are used as USB0ID and USB0VBUS, refer to the USB section of SPMA056, System Design Guidelines for the TM4C129x Family of Tiva™ C Series Microcontrollers, and confirm all guidelines contained in the document are followed."

    The document referenced is this one: www.ti.com/.../spma056.pdf

    Part of the design guidelines include: For a USB device-only configuration, a 100Ω resistor should be placed in series between VBUS on the USB connector and PB1 (or alternate GPIO) on the microcontroller in order to limit damage caused by any ESD events.