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 OTG - Charge pump gives 100mA .customer required 500mA

Other Parts Discussed in Thread: TPS65920, TPS65950, TPS65930, OMAP3530

 Hi,

I have a question regarding the usb trcvr within the TPS65920 PMIB.

According to the TPS65920 (table 4.1 - Power Providers) the 5V USB charge pump supports maximum output current of 100mA.

For our application we may need more than 100mA output on VBUS (the USB standard supports up to 500mA).

Can I use external charge pump for the VBUS? If yes, can you tell me how to connect the TPS65920 in that case (should the TPS65920 enable the external charge pump?)

I need any reference diagram you have describing such configuration.

thanks for the help,

Amit

 

  • Hi,

         Yes, you can connect external charge pump if you need support for more than 100mA.  TPS65920 will NOT enable the external charge pump. What needs to be taken care here,  is that the internal Charge Pump of TPS65920 must be turned OFF ( using OTG_CTRL register).

    Regards,

    Kartik

  • Thanks Kartik,

    Would it be OK to connect the TPS65920 charge pump  to the external charge pump enable pin ?

    I would like to be able to enable the external charge pump when the USB OTG required.

    Thanks

    Amit

  • Hi Amit,

        The Charge pump in TPS65920 is internal. i.e. Charge pump drives VBUS pin internally. This VBUS pin will be connected to the USB connector and also to the External Charge pump's output. 

    Hope it helps.

    Regards,

    Kartik

  • Hi Kartik,

    I have the same doubt of Amit. If we'll use an external charge pump to supply the VBUS, I think that we can use the VBUS output signal of TPS65920 (ball P8) to directly enable the external charge pump so the driver require no modifications. Can be an idea? In fact a little modification to the TPS software driver must be done because when the USB devices require more than 100mA, the actual implementation will negate it because it is 100mA limited; adding an external charge pump capable to deliver 500mA, the software driver must allow the USB device to go from low power (max 100mA - 1 unit load) to hi power (max 500mA - 5 units load). Is it true?

    Thanks very much,

    Daniele.

  • Hi,

         Disconnecting VBUS pin of TPS65920 from the USB connector is NOT recommended, irrespective of whether TPS65920 or an external CP is used to drive VBUS.

    But since you are not keeping the VBUS pin of TPSxx floating but connecting it as to the Enable of external CP, it looks like a probable work around.

    I am not aware of the Driver modifications.

    Regards,

    Kartik

  • Hi,

    I don't think that using an external charge pump for VBUS @ 500mA can work fine. I think that we loose some OTG functionality. TPS65930 (or TPS65920 or TPS65950) integrates a comparator that monitores VBUS level and pull-up/pull-down resistors on VBUS to implement SRP of USB OTG specification (see paragraph 14.4.8.1 of TRM of TPS65930 - SWCU052C). If VBUS is provided externally, I don't know if theese features works well; even if I connect my external VBUS to VBUS of TPS65930, it cannot works because TPS detects an external VBUS and so it thinks to be a B-device. Is it correct?

    Thanks very much,

    Daniele.

  • Hi Daniele,

    In this case the device VBUS pad can be connected to the USB connector so that device comparators can be used to sense the VBUS voltage. Please ensure that the charge pump is off.

    If the device is set for OTG function then it really doesn't matter who is supplying the 5V as the host and client roles can change for OTG functionality.

    I hope this helps. Let me know if there are further questions.

     

    Regards,

    Gandhar.

     

  • Hi,

    We are doing using OMAP3530 and TPS65930. I also want to discuss about the VBUS voltage.

    Can anybody explain what is the final conclusion?

    How we are going to support with external charge pump circuit?

    Is there any control signals (enable signal) from the TPS65930 to enable external charge pump circuit?

    Please share your ideas.

  • Hi Murugan,

    The final configuration will really depend on the end user. What I have provided is the recommended and preferred way of connection.

    You should connect VBUS pad to USB connector and you can use any GPIO for enabling external supply. Th eUSB module doesnt have any enable function that you can use.

    Let me know if there are further questions.

     

    Regards,

    Gandhar.

     

  • Hi Murugan,

    I have connected the VBUS pad of TPS65930 to the USB connector. At the same net I have attached the external generated VBUS @ 500mA; by this way you must disable the internal charge pump of TPS (OTG_CTRL.DRVVBUS = 0). The connection of external generated VBUS to VBUS pad of TPS is important for the internal comparators of the OTG session of TPS (paragraph 14.4.8 - OTG Support: VBUS and ID Pin Comparators of TPS65930 TRM). Regards to external regulator, I have provided a 500mA current limited LDO because I have an unregulated power supply > 6VDC to obtain it. Connected to the output of the regulator I have provided a current limited power distribution switch, controlled by two GPIO: an output that enables the VBUS to the USB connector and an input that is asserted when the current drawn from USB device exceed 500mA. This two GPIO are connected to GPIO of TPS65930.

    Regards, Daniele.

     

  • Hi Daniele,

    Does your architecture work well?

    The TPS, being OTG, can be either HOST or DEVICE. VBUS detection is part of the mechanism allowing this change of role (HOST/DEVICE). Once the TPS senses 5v on its VBUS pad (through the USB connector) it assumes it receives 5v from a device acting as HOST (say PC), which supplies 5v. From this the TPS assumes the role of DEVICE. On the other hand, when it doesn't receive 5v on the VBUS pad, it determines its role according to the ID pin.

    The problem I see is this: when you want TPS to act as a HOST, you enable your external 5v supply to the USB VBUS pin in order to supply the attached device. By doing so you also apply 5v on the TPS VBUS pin (since it's the same net), which means that the TPS will assume that it's supposed to act as DEVICE, since it sense 5v on the connector, which is opposite to what you intended. How do you resolve this issue?

    Thanks,

    Matan

  • Hi Matan,

    I must say first of all that I haven't tested my solution yet. At the moment our software developers are working on other features.

    However, I think that the factor that determines HOST or DEVICE isn't the sensing of the VBUS pad because at the startup of negotiation the VBUS is OFF.

    I think it can work in this way:

    1. At the startup the VBUS is off in either part (HOST and DEVICE)
    2. You connect the USB cable between A and B devices. Micro-A connector has the ID pin short-circuited to GND and this determines the initial A device (HOST). So, when one of two parts has its ID pin low, this determines that it starts as HOST (subsequently this role can be renegotiated with Host Negotiation Protocol HNP).
    3. Only at this point, A device switches on the VBUS power supply. This can be done using internal charge pump (setting OTG_CTRL.DRVVBUS) or external charge pump (with a GPIO, like in my architecture). The OTG part can now sense the VBUS pin.

    I hope I have clarified you doubt.

    Thanks,

    Daniele.

     

     

     

  • Hi,

    Could you please point me how to disable the Charge pump in the linux distribution.

    Regards,

    Dibin

  • Hi, as mentioned in previous post it is controlled by OTG_CTRL.DRVVBUS bit; but I don't have access to Linux code: this should be posted in SW forum.

    Best regards, Alain.

  • Hi Alan,

    Thank you very much for your response.

    Could you please post the link to correct forum.

    Regards,

    Dibin