ISOUSB211: Enumeration. bring isolator out of standby / lower power with acceptable USB activity.

Part Number: ISOUSB211

Tool/software:

Good afternoon TI Support team & All,

We need assistance asap.

 

We were using P/N: ADUM4160BRIZ-RL from Analog Devices.

We changed to the TI P/N: ISOUSB211DPR when it became available at the recommendation of our Sales Rep and TI.

We have implemented the part into our power supply design.

We have begun our testing and found the following:

 

Description of issue:

When our device is powered on with a USB-C connection to a computer in place before powering the device on, the devices port does not enumerate on the Windows Computer.

If we turn our device on and then plug in the USB-C cable connected to the computer, the device enumerates as expected.

We need the device to enumerate if the device is turned off and then back on without removing the USB-C cable connection and reinserting it.

 

When the USB-C cable is plugged into the device the ISOUSB211DPR will be powered but the device is not fully powered until the power button is pressed.

After pressing the power button, the device boots without issue with exception to it not enumerating as expected.

 

The prior device enumerated as expected with this scenario.

 We are using a USB Kernel within in a Linux environment on the device end.

Experiment:

We pulled the D+ USB line up to 3.3v while the device was fully powered on with the USB-C cable connected to a computer. This allowed the device to enumerate.

How can we accomplish successful enumeration when the device is connected to a computer with a UB-C cable each time the device is power cycled without having to connect to the powered on device.

Thank you in advance.

Willie

  • Hello,

    Thank you for your questions. Please give us an additional 24 hours to review.

    Regards,
    Aaditya Vittal

  • Hi Willie,

    Thank you for reaching out and for your patience.

    Please allow me rephrase what you have shared to make sure I have understand your description correctly.

    1. You have a self-powered product with ISOUSB211 in it and you connect it to PC for accessing the product in PC. Therefore, your product is a self-powered (using internal battery or external line voltage) peripheral and the PC is a host.
    2. I am assuming ISOUSB DD± pins (VBUS2 side) are connected to the MCU/MPU in your product while UD± pins (VBUS1 side) connect to the host.
    3. Based on your description, it looks like VBUS2 is powered by your product while VBUS1 is made to be powered by the Host USB port.
    4. When your product is unpowered and connected to PC, the VBUS1 of ISOUSB211 gets powered while VBUS2 is unpowered due to your product being not powered.
    5. When you power your product, the ISOUSB211 fails to get detected. This is due to lack of a physical connect event.
    6. When you make both VBUS1 and VBUS2 powered by the Host or by the peripheral, then the ISOUSB211 should detect the connect event and enumerate all the time even during power recycling your product.

    Please let me know if my understand of your system and connections is correct. If not, please help correct me. Please also share me the below information so that I understand the issue better.

    1. Share the schematic and PCB layout for review.
    2. Share waveform of UD± and DD± in a single capture showing connect / disconnect events.
    3. Let me know if you have tested only one unit or multiple units and if you see issue in one unit or multiple units.
    4. Please share more details about your application to understand the ISOUSB211 use-case.

    As suggested earlier, please power both VBUS1 and VBUS2 either by the Host or by the peripheral and test again. I expect the ISOUSB211 detect the connect event and enumerate all the time even while power recycling your product. Thanks.


    Regards,
    Koteshwar Rao

  • Hello Koteshwar,

    My responses are below.

    1.) Correct.

    2.) Correct.

    3.) Incorrect.

    The Host USB port supplies power to the VBUS1 of the ISOUSB211 and in parallel it supplies power to a DC / DC Isolator (JHM1005S05) which supplies 5-volt power to VBUS2. See the schematic below.

    4.) Incorrect.

    Both VBUS1 (5V_USB) & VBUS2 (5V_ISO) have power when the device is unpowered. The device gets its power from the host. Both VBUS1 & VBUS2 will have power before the device is powered on. The device is then powered on. This is the scenario where the device will not enumerate and become accessible. In this case VBUS is applied to the device before the device power-up.

    If the device is powered by the rechargeable battery and turned on when the host computer is connected; the device will enumerate and is able to be accessed as expected. In this case VBUS is applied after the device has been powered up.

    Our device Behaves as dictated by the following: A tour of USB Device Controller (UDC) in Linux (bootlin.com). We are set up as a peripheral.

    5.) The connect event does not seem to be correct when the failed state exists. See # 2 (Waveforms) below.

    6.) N/A.

    *******************************************************************************************************************************************************************************

    1. Relative Schematics: Need to send to protected location

    2. Waveforms:

    The following picture represents when the device is powered by the battery, powered on and then connected to the host computer. Measured on the DD side. Passing state.

    The following picture represents when the device is connected to the host computer, powered off and then powered on: Measured on the DD side. Failed state.

    The following picture represents when the device is powered by the battery, powered on and then connected to the host computer. Measured on the UD side. Passing state.

    The following picture represents when the device is connected to the host computer, powered off and then powered on: Measured on the UD side. Failed state.

    3. We have tested multiple units.

    4. We intend for the device to be connected to a host computer to be configured. During this process it is currently required that the device reboots without disconnecting the power / communication connection. After the device reboots it is desired that the device enumerates so as to allow access.

    I hope that this information and explanation helps. If there are any questions or concerns, please let me know.

    Best regards,

    Willie

  • Hi Koteshwar,
    The PDF versions of the unclear pictures can be sent to a more private and protected location.

    Can you supply the location to use?

    You can see from the waveforms that when the pullup reaches 3.3 volts it works. This is the case where the device is powered before connecting to the computer host.

    You can see when it fails the device is powered on after connecting to the computer the amplitude does not reach 3.3 volts.

    If we manually pull up the D+ line, it works.

    Best regards,

    Willie

  • Hi Willie,

    Thank you for sharing additional information. Please allow me to review your inputs and come back to you by tomorrow.

    Regarding file sharing, I have sent you a request to connect. Once you accept my request, you will be able to initiate a private chat where you can share the files. Thanks.


    Regards,
    Koteshwar Rao

  • Hi Koteshwar,
    Thank you. I received and accepted the request.

    Best regards,

    Willie 

  • Hello Koteshwar,

    We have run some additional test that may be useful for you to know. We wanted to eliminate our device and associated software.

    The test that was setup was to use an NXP dev kit (iMx7D) with the USB isolator dev kit (ISOUSB211).  This took our specific hardware and software out of the equation.

    The following was performed:

    • USB dev kit was plugged into the PC
    • NXP dev kit was plugged into the USB dev kit and powered on
    • On the Linux command line from the NXP dev kit, the USB interface was enabled (it is not enabled by default)
    • On the scope, it was observed that the D+ line was pulled up but to only 1.3V and therefore further USB detection did not continue since it did not rise to 3.3V. See Figure. 1 within the attachment.

    If you unplug and re-plug in the USB dev kit from the PC while it is still connected to the NXP dev kit and the dev kit has USB enabled, it will start to work. This is also the case when we use our device.ISOUSB211_1.pdf

  • Hi Willie,

    Thanks again for sharing additional information and apologies that I couldn't get back to you sooner. Please allow me to review all the information you have shared and come back to you by end of tomorrow. Appreciate your patience, thanks.


    Regards,
    Koteshwar Rao

  • Hi Willie,

    Thank you for your patience and for sharing all the additional information to help debug the issue.

    Based on everything that you have described so far, the enumeration happens when the D+ line is made HIGH (3.3V). The first step of the connect event is to make either D- (for LS) or D+ (FS) a HIGH. In your case, D+ is being made HIGH and the connect event works fine.

    When you product is powered while ISOUSB is already powered, somehow the DD+ pins do not seem to go HIGH. The DD+ pin needs to be pulled-up by the processor that the ISOUSB is connected but they do not seem to be doing so. I am not sure about the reason why this isn't happen, not sure if has something to do with the USB code of the processor but the ISOUSB will wait for such a pull-up for a connect event to start.

    I understand this happened both on your product and with the NXP processor, unfortunately, I am not sure why these processors are not initiating a connect event. If possible, you might want to reach out the processor team and ask why the DD+ pins are not being pulled-up after power-up.

    Please do help me with the higher resolution waveform that you had shared earlier on DD± and UD± pins over private message for a review. Please also share the schematic. Thanks.


    Regards,
    Koteshwar Rao

  • Hi Koteshwar,

    I have contacted NXP an awaiting a reply. I hope that these pictures are clearer. They are clear on my side. If they are being degraded in the transfer, I can send you a like to download the pictures without degradation. 

  • Hi Willie, 

    Thank you for the information and pictures. The pictures look good.

    Please allow us an additional day to review and get back to you.

    Regards,
    Aaditya Vittal