SPNA243 June   2020 TM4C1236D5PM , TM4C1236D5PM , TM4C1236E6PM , TM4C1236E6PM , TM4C1236H6PM , TM4C1236H6PM , TM4C1237D5PM , TM4C1237D5PM , TM4C1237D5PZ , TM4C1237D5PZ , TM4C1237E6PM , TM4C1237E6PM , TM4C1237E6PZ , TM4C1237E6PZ , TM4C1237H6PGE , TM4C1237H6PGE , TM4C1237H6PM , TM4C1237H6PM , TM4C1237H6PZ , TM4C1237H6PZ , TM4C123FE6PM , TM4C123FE6PM , TM4C123FH6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PM , TM4C123GH6PZ , TM4C123GH6PZ , TM4C123GH6ZXR , TM4C123GH6ZXR

 

  1.   Using USB Host Mode on the EK-TM4C123GXL LaunchPad
    1.     Trademarks
    2. 1 EK-TM4C123GXL Board Overview
    3. 2 Board Modification to Make EK-TM4C123GXL USB Host/OTG Capable
    4. 3 Download and Import the USB Host Examples
    5. 4 Run the usb_host_mouse Example
      1. 4.1 Build and Flash the Program
      2. 4.2 Configure the Terminal Window
      3. 4.3 Run the usb_host_mouse Example
    6. 5 Run the usb_host_keyboard Example
    7. 6 Run the usb_stick_update and usb_stick_demo Examples
      1. 6.1 USB Memory Stick Updater (usb_stick_update) Overview
      2. 6.2 USB Stick Update Demo (usb_stick_demo) Overview
      3. 6.3 Add the FIRMWARE.BIN File in the Memory Stick
      4. 6.4 Run the usb_stick_update Program
      5. 6.5 Run the usb_stick_demo Program
    8. 7 References

Board Modification to Make EK-TM4C123GXL USB Host/OTG Capable

The TM4C123GH6PM MCU is capable of USB embedded host and OTG functions. The OTG functionality can be enabled by populating R25 and R29 with 0-Ω resistors. These resistors connect the USB ID and USB VBUS signals on the USB device connector to the PB0 and PB1 pins on the MCU. When these resistors are populated, the PB0 and PB1 pins must remain in their respective USB pin mode configurations to prevent device damage. The PB0 and PB1 pins are also present on the J1 BootsterPack header. Therefore, if R25 or R29 are populated, care must be taken not to conflict these signals with BoosterPack signals. For R25 and R29 locations on the board, see Figure 2.

spna243-ek-tm4c123gxl-launch-pad-r25-and-r29-resistors-location.pngFigure 2. EK-TM4C123GXL LaunchPad R25 and R29 Resistors Location

The Tiva C Series LaunchPad can be powered from one of the two power sources:

  • On-board ICDI USB cable (Debug, Default)
  • USB device cable (Device)

The POWER SELECT switch (SW3) is used to select one of the two power sources. When the LaunchPad functions as a USB device, it can receive power from the external USB host by toggling the SW3 switch.

For the power selection schematic, see Figure 3.

spna243-ek-tm4c123gxl-launchpad-power-selection-schematic.pngFigure 3. EK-TM4C123GXL LaunchPad Power Selection Schematic

However, in order for the LaunchPad to function as a USB host when the USB device requires bus power, it needs to supply a 5 V power source to the USB device. As a result of the current Power Select switch design, the USB VBUS pin on the Device USB connector (+USB_VBUS) is not connected to the USB VBUS input on the Debug USB connector (+ICDI_VBUS). Therefore, the Device USB connector cannot provide 5 V to any USB device that requires bus power without a hardware modification.

The required hardware modification needs to route the USB VBUS from the Debug USB connector to the Device USB connector. This can be done by connecting the H18 and H19 test points shown in Figure 3 together so the 5 V power from the Debug connector (+ICDI_VBUS) is routed to the Device connector (+USB_VBUS). H18 and H19 are unmarked on the LaunchPad.

Figure 4 shows shows these tied together using a jumper wire.

spna243-ek-tm4c123gxl-launch-pad-h18-and-h19-locations.pngFigure 4. EK-TM4C123GXL LaunchPad H18 and H19 Locations

With the two board modifications, the EK-TM4C123GXL is now able to function as a USB device, USB host or OTG.