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.

USB signal issue TM4C1233H6PM

Other Parts Discussed in Thread: TM4C1233H6PM

Hi folks,

I have a problem with the TM4C1233H6PM and the USB communication on my custom board. I developed the USB software on the Stellaris/Tiva C launchpad where the software works fine. The custom board runs the same software with the same default settings for the USB timing parameters. I already checked the clock which is spot on to 16MHz  an the supply voltage which is also okay. I also couldn´t find any ripple or high frequency noise with the oscilloscope on the supplyrail.

The only difference I found were the  eyediagrams of the USb datalines. I atached two screenshots of the oscillopscope whrere I tried to investigate.

--> custom board

--> Stellaris Launchpad

I took both measuremnts direclty at the USB connectors of the boards. The traces on the Lauchpad and on my custom board have nearly the same lenght.

Maybe the amplitude of the signals on my custom board are to low to allow a stable communication. I hooked up debugger again and discoverd that the processor correctly received the datepackages. It seems to be that the USB core and the attached PHY is not able to transmit upstream packgages correctly.


How can I track down the issue or is there already a solution? The same problem occures when I connect my Launchpad to an USB hub.

Regards Jannis

  • First of all, let's get a clear picture of the issue. Please see if the following understanding is correct.

    (1) There is no issue for launchpad to send and recevie USB data from PC.

    (2) running the same software on your custom board, MCU can recevie the data from PC but PC cannot receive the data from MCU.

    (3) "The same problem occures when I connect my Launchpad to an USB hub." Are you saying that PC cannot receive the MCU data via a USB hub but MCU can still receive PC data?

    Thansk and regards,

    Zhaohong

  • Hi, 

    1) yes 

    2) yes

    3) yes 

    Especially 3) is a bit weird, the same problem occurs on various PCs and USB hubs. Only if the launchpad is directly connected to the root hub everything works fine. 

    Thanks in advance 

    Jannis

  • Jannis,

    Is your hub powered? Would you please try launchpad with a powered hub? From the waveform, I assume that you are doing USB 1.0 full speed (12 MHz) device mode. Would you please measure the voltage on D+ and D- before they are connected to the host?

    Thanks and regards,

    Zhaohong

  • Hi,

    the hub wasn`t powerd but I tried again with a powerd one. Now the Launchpad works fine with the powerd hub but my board didn´t. Somehow I missed to mention that the custom board is self and not bus powerd. The supply voltage on the VBus can not have any effects to the signal levels. Wherefore I measured the supply voltage directly at the pins of the TM4C. There is no issue with the supply voltage, I measured 3.28V. I also measured D+ and D-.

    D+ has 3.22V and D- 0.137V.

    Regards, 

    Jannis

  • Jannis,

    It seems that the strength of USB signals becomes marginal when there is large capacitance loading. In your test code, can you use following API to read back the output buffer type of the D+ and D- pins and set them to 8mA output?

    GPIOPadConfigGet () to read the type of "strength" and GPIOPadConfigSet () to set the "strength". It should be done after configuring the pins to USB function.


    Thanks and regards,

    Zhaohong

  • Hi,

    today I followed your advice concerning the USB software and made another attempt to get the connection working. I also measured the USB data lines again. The quality of the signals was improved by changing the driver strength.

    Unfortunately the host controller stil fails to enumerate the device. Tomorow I'm going to test the board with another PC, maybe my PC is the problem. Beside of that I have no idea what might be the issue because signals' parameters appear to be fine, now.

    Regards,

    Jannis

  • Jannis,

    Can you run the same code (has to be as is) on the launchpad to see if it works. If the same code image works on launchpad,  we can forcuse on your board design.

    Thansk and regards,

    Zhaohong