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.

AM3352 USB as OTG

Other Parts Discussed in Thread: AM3352, TPD4S012, TPS2051

Hello Biser,

I am in the board design stage. I want to design the AM3352 USB such that it act as Host as well as peripheral .

Once the board is designed and tested ,after  production it will enclosed in a casing during that time I want to use USB port for programming and testing as well as  for some application i want to use it as a host.  I am also providing JTAG  for programming and debugging during  proto type testing.

kindly, guide me to design USB such that all my requirements are met

Regards,

Mamatha

  • Please refer to the AM335X GP EVM schematic, page 12, USB0 (http://processors.wiki.ti.com/index.php/AM335x_General_Purpose_EVM_Board_Design_Files ). You should also note that there is a significant difference between switching Host/Device mode and OTG mode. OTG devices can communicate only between themselves by specification, as far as I can remember. For Host mode the ID pin needs to be tied to GND, and it has to be left floating for Device mode.

  • Thank you Biser,

    I went through the schematic. I want to put down my requirement properly.

    I want to use one USB port for programming and debugging of AM3352, for this the USB port should act as Host or device?

    and another USB port should be Host, so that i can connect external devices like pen drive to my equipment over this port.

    kindly guide me...

    Regards,
    Mamatha
  • OK, I understand now.

    For debugging I strongly recommend you use UART0. This is the default Linux debug port and will save you a lot of trouble reworking software if you use it.

    For Host mode USB1 is the correct example. Several things to note: L6 is not absolutely required, C265 is not necessary.

    For Device mode (programming) you should use USB0. Same circuitry as USB1, but you must remove the power switch U29, change C185 to 100nF and leave USB0_ID and USB0_DRVVBUS floating. VBUS must be connected from USB connector directly to USB0_VBUS pin.

  • Thank you Biser,

    I understood the USB hardware design part. I could like to summaries what I have understood.

    For programming and debugging , we have to use USB0 in device mode and If I am using USB microAB connector then the connector ID pin and TPD4S012 ID pin should be left floating.

    For USB host interface, I should use USB1 with small corrections listed by you. The USB1_drvvbus is powered by VDDSH6 = 1.8v , can be directly connected to TPS2051 EN pin ( I read in the datasheet that the voltage range for EN is 0 to 5.5v).

    In my design the USB connectors- USB_microAB and USB_A will be mounted on the chassis, can I use Teflon wire for wiring from the board to the chassis.

    Regards,
    Mamatha
  • mamatha g said:
    For programming and debugging , we have to use USB0 in device mode and If I am using USB microAB connector then the connector ID pin and TPD4S012 ID pin should be left floating.

    I would recommend that you route the ID line from USB0_ID to the connector and TPD4S012 ID pin.

    mamatha g said:
    In my design the USB connectors- USB_microAB and USB_A will be mounted on the chassis, can I use Teflon wire for wiring from the board to the chassis. 

    Highly undesirable. UDB DP/DM lines must be routed as a differential pair with 90Ohm differential impedance.

  • Thank you Biser,

    Shall I use Flex PCB for the same.
  • Yes, much better. Take care that you design it with 90Ohm diff. impedance.
  • thank you Biser,

    One last thing,

    I am providing both JTAG and USB0 for programming and debugging. So that at any point of time I can use JTAG or USB. Is this OK.

    Do you review our schematics?
  • Yes, it's good to have JTAG too, at least on prototypes.

    As for schematic review, this is done through FAE channels. You should contact your nearest TI representative and request a review.

  • The USB0 port on the EVM has a micro-AB receptacle and was designed to operate as USB host or USB peripheral.  However, a shunt must be added to J36 when operating as USB host and removed when operating as USB peripheral.  This is required because the USB specification requires the VBUS capacitor to be greater than 120uF when operating as USB host and less than 10uF when operating as USB peripheral.  I’m not sure how you plan to resolve this issue in your design, but it may be possible to use a solid state switch controlled by a GPIO as a way to select the additional capacitance when operating as USB host.  Whatever solution you use, the product must pass the VBUS voltage drop and VBUS current in-rush requirements define in Chapter 7 of the USB specification.

    R381 should have been DNI, so you can also ignore this resistor and the other DNI components R565, R566, Q5, R23, R571.  The components were placed on the board to allow the factory to test another function.

    R384 connects the over-current output of the power switch to a GPIO.  This was provided in case someone wanted to monitor the status of the power switch.  Normally this is not need since the power switch will reduce its output voltage when in an over-current condition occurs and the voltage drop on VBUS can be detected by the AM335x PHY.

    R402 can be removed and shorted with etch.

    Regards,
    Paul

  • In our design we are connecting USB0 to USB HUB.  

    Can we use it in Device Mode by connecting USB0 to USB HUB(3 ports) ? The 3 ports will be connected to pen-drive, keyboard, printer.

    Is it feasible ? 

    Thank You