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: Connecting pen drive in microcontroller for data transfer form internal memory

Part Number: TMS320F28377S
Other Parts Discussed in Thread: C2000WARE

I using TMS320F28377S processor which support USB. I am new to USB and I want to connect pen drive with micro controller to transfer data.So please guide how this can be done. I already read datasheet but which mode is to be used, what is software flow and how to initialize USB is not given. 

  • Hi Sam,

    Download C2000ware and navigate to following folder for Mass storage based example project:
    C:\ti\c2000\C2000Ware_1_00_05_00\device_support\f2837xs\examples\cpu1\usb_host_msc

    Regards,
    Gautam
  • I reading data sheet of micro controller and there is one GPIO used as vbus. What is its use?
    It is required for connecting pen drive or with PC ?
    Please tell if there is any reference schematic.
  • VBUS is documented in the data sheet, the USB Library User Guide as well as the USB protocol and USB standard.

    VBUS will power the device connected to the F2837x if the F2837x is the host.

    Please see the example that Gautam has recommended.

    sal
  • I am connecting pen drive to transfer data form a VFD. And example in "usb_host_msc" in c2000 is interrupt based . Is any way to use USB without interrupt. Because USB interrupt may effect ADC interrupt.
  • Hi,

    Our USB library relies on the use of interrupts. Therefore, there is no easy way to poll the USB interrupts and handle the USB communication in this way.

    Regards,
    sal
  • I am working on LAUNCHXL-F28377S and I want to run example "usb_host_mnc". And on LAUNCHXL-F28377S pins for serial port are 89,90. I am try to use sci c instead of sci-a, I wrote following function but it is not working.So help me to find the mistake.

    /**************************************************Function for SCI-A********************************************************/

    void ConfigureUART(void)
    {
    //
    // Enable UART0
    //
    SysCtlPeripheralEnable(SYSCTL_PERIPH_SCI1);

    //
    // Configure GPIO Pins for UART mode.
    //
    EALLOW;
    GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1; //90,28
    GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0;
    GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3;
    GpioCtrlRegs.GPADIR.bit.GPIO28 = 0;

    GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1; //89
    GpioCtrlRegs.GPAPUD.bit.GPIO29 = 0;
    GpioCtrlRegs.GPADIR.bit.GPIO29 = 1;
    EDIS;

    //
    // Initialize the UART for console I/O.
    //
    UARTStdioConfig(0, 115200, SysCtlLowSpeedClockGet(SYSTEM_CLOCK_SPEED));
    }

    /**************************************************Function for SCI-C*For LAUNCHXL-F28377S *******************************************************/

    void ConfigureUART2(void)
    {
    //
    // Enable UART0
    //
    SysCtlPeripheralEnable(SYSCTL_PERIPH_SCI3);

    //
    // Configure GPIO Pins for UART mode.
    //
    EALLOW;
    GpioCtrlRegs.GPCMUX2.bit.GPIO90 = 6; //90 RX
    GpioCtrlRegs.GPCPUD.bit.GPIO90 = 0;
    GpioCtrlRegs.GPCQSEL2.bit.GPIO90 = 3;
    GpioCtrlRegs.GPCDIR.bit.GPIO90 = 0;

    GpioCtrlRegs.GPCMUX2.bit.GPIO89 = 6; //89 TX
    GpioCtrlRegs.GPCPUD.bit.GPIO89 = 0;
    GpioCtrlRegs.GPCDIR.bit.GPIO89 = 1;
    EDIS;


    //
    // Initialize the UART for console I/O.
    //
    UARTStdioConfig(2,9600,SysCtlLowSpeedClockGet(20000000));
    }
  • I am closing this thread, since the same follow up question is posted elsewhere and it is unrelated to the first post.

    sal