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.

MSP432E401Y: No USB Communication?

Part Number: MSP432E401Y

Hello,

A custom board with the MSP432E401Y microcontroller was recently made and received. We have a JTAG header on the board to program it and a micro-USB type-B header for communication. The board is set up as a device. The programming works fine and we can tell code is running due to some test LEDs on the board, but we are unable to communicate through the USB. Below are two thoughts I have.

1. On the hardware side: Is there a specific crystal frequency I need to use for USB PHY? In the System Design Guidelines (SLAA770) section 3.6.1.1 it is stated that for Ehternet PHY, a 25 MHz crystal is required but if it is not used then any crystal in the list of recommended crystals in the data sheet will be fine. I didn't see any crystal requirements in the USB section in that document as well. I currently have selected a 12.00 MHz crystal. My suspicion is that there is a specific main oscillator frequency I need to use or that the 25 MHz also applies to the USB PHY.

2. On the software side: Is there a specific bit or register that the software people need to set during setup/boot to enable the USB PHY? Or is it enabled automatically with the correct schematic setup?

Below is a schematic of the USB portion

Thank you,
Thi Le

  • Hello,

       I would recommend looking at the technical reference manual, section 4.1.5.2.1.2 USB Clock Control.  Depending upon the dividers in your system you may need a different clock.   I am not sure I follow the second question, but if the device is blank then the bootloader will look for activity across the various interfaces, including USB automatically.  See section 7.2.2.1 of the TRM.

    Regards,

    Chris

  • Hi Chris,

    Thank you for the response. Looking at the TRM you linked it specified a minimum 30 MHz crystal for f_MOSC. However, in the data sheet in table 5-12, it says that the maximum frequency for f_MOSC is 25 MHz. Am I interpreting this wrong?

    Sorry for all the confusion. One of our software people had a MSP432E401Y development board and was able to communicate with it through USB with no setup or issues. We thought that the same would be the case with a custom board. I was bringing up what I thought was needed to enable USB communication correctly, which were two ideas. The first idea I had was that maybe I selected the wrong crystal to use. The second idea was that USB communication is not enabled automatically and that some setup has to be done on the software side.

    So I guess the clearer question would be what is needed to enable USB communication correctly? With the right crystal, is USB automatically functional? Or does software also need to do something on their end. I noticed the development board only has a 25 MHz crystal too.

    Thank you,
    Thi Le

  • I do not think I will do a great job of explaining this, so please refer back to the clock section in the TRM (4.1.5).  The PLL can be sourced from either PIOSC (16Mhz) or MOSC(5-25Mhz).  The PLL must be setup to provide a frequency greater than 30Mhz.  

        //
        // Run from the PLL at 50 MHz.
        //
        g_ui32SysClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
                                                 SYSCTL_OSC_MAIN | SYSCTL_USE_PLL |
                                                 SYSCTL_CFG_VCO_480), 50000000);

    Taken from no-rtos usbstickdemo.

    If you refer to section 7.2.2.1, it mentions that the PIOSC is used to determine the speed of the serial interface (USB).

    Regards,

    Chris

  • Thi Le,
    I am going to close out this thread. Please reply if this is still unclear.

    Regards,
    Chris

**Attention** This is a public forum