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.

TMS320F28377S: Starting USB on LAUNCHXL-F28377S

Part Number: TMS320F28377S
Other Parts Discussed in Thread: C2000WARE

Hello,

I would like to use USB on TMS320F28377S. I'm using the LAUNCHXL-F28377S board.

I'm adapting the usb_dev_bulk example (which is not done for this board) and...it doesn't work ! :)

I'm developing on Linux.

What I did :

* Configure SCIA on GPIO84 and 85

* Configure USB to use GPIO42 and GPIO43

* Configure VBUS pin on GPIO99

* Configure ID on GPIO92.

* Disable USB0PFAULT and USB0EPEN pin because it doesn't exists on this board (and it do not seem to be mandatory).

* Connect  GPIO42  and GPIO43 (J1/10 and J1/9) to a USB connector, on pins D+ and D-

* Connect USB GND to board GND

* Add a 200Kohms in serial on USB VCC and connect other side of Resistor to GPIO99 (J6/53)

* Connect GPIO92 (J6/52) to board VCC.

I run example in debug, connect usb cable to my computer and launch a dmesg command on computer :


[11432.862717] usb 1-2: new low-speed USB device number 29 using xhci_hcd
[11432.978762] usb 1-2: device descriptor read/64, error -71
[11433.198737] usb 1-2: device descriptor read/64, error -71
[11433.421733] usb 1-2: new low-speed USB device number 30 using xhci_hcd
[11433.537741] usb 1-2: device descriptor read/64, error -71
[11433.759711] usb 1-2: device descriptor read/64, error -71
[11433.867746] usb usb1-port2: attempt power cycle
[11434.503715] usb 1-2: new low-speed USB device number 31 using xhci_hcd
[11434.504209] usb 1-2: Device not responding to setup address.
[11434.708220] usb 1-2: Device not responding to setup address.
[11434.915720] usb 1-2: device not accepting address 31, error -71
[11435.029715] usb 1-2: new low-speed USB device number 32 using xhci_hcd
[11435.030184] usb 1-2: Device not responding to setup address.
[11435.236197] usb 1-2: Device not responding to setup address.

Am I doing something wrong, missing something ... ?

  • After some tests I have many unresolved questions :
    * I'm looking for a schematic with USB and TMS320F28377xS to check my prototype. I didn't found any application note or demo about it (or anything else).
    * I saw than last versions of libraries can be found on C2000ware. So I installed its last version, looked in sources and included projects. Once again no USB examples.
    * I tried to make a project run with new USB Library, but it doesn't link. And then I found a project marked as "deprecated" (the same project as my previous base project) but which seems to use the new library.

    That's not clear at all. Any help ?
  • You can find the schematic for our USB connectors in the /boards folder of C2000Ware. Please see the schematic of the F28379D rev 1.3 controlCARD. This will show you how we laid out our USB circuits and connections.

    Also, you will find in C2000Ware USB examples for the F2837xD and F2837xS devices. You can modify these for your Launchpad.

    It appears you are already aware of this, but on the F2837xS Launchpad there is no USB connector which goes to the USB GPIO pins and PHY on the board. However, our controlCARDS do have such a USB mini-connector available.

    Hope this helps.

    sal
  • Hi Sal,

    thank you for the answer.

    I finally succeeded to make the example works.

    * D+ and D- pins shall be set to USB0 pins on microcontroller (as written previously)

    * USB Aux clock shall be changed to be equal to 60 MHz, which means in example :

        SysCtlAuxClockSet(SYSCTL_OSCSRC_XTAL | SYSCTL_PLL_ENABLE |
                          SYSCTL_IMULT(12) | SYSCTL_SYSDIV(2));

    Now my device is detected on computer.

    I'm working on data exchanged between microcontroller and computer.

    The serial bus/printf do not work. I'm working on it

  • To make serial bus work, It was necessary to change clock too :

    * Change sysclock to run at 200MHz with a 10MHz Quartz (on launchpad) :

      SysCtlClockSet ( SYSCTL_OSCSRC_XTAL | SYSCTL_PLL_ENABLE | SYSCTL_IMULT ( 10 ) |
                       SYSCTL_SYSDIV ( 2 ) );

    * Set external clock value to quartz value (10MHz), for libraries in sysctl.h :

    #define SYSTEM_CLOCK_SPEED      10000000

    Now the **usb_dev_bulk_cpu01** example works on Launchpad XL with TMS320F28377S

    I got other problems using usb lib but it might be problem of understanding how lib works