ADuM4160 Pull-Up functionality working?

Hello,

We are using the ADuM4160 on several PCBs to isolate full-speed USB peripherals. As we are facing some enumeration problems I was investigating a little bit on the ADuM4160 and didn't see the expected Pull-Up behavior on it's upstream D+ line.

On upstream-side (Host) we have 5V connected through a 10R series resistor to VBus1, decoupled by 100nF to GND1. VDD1 is also decoupled by 100nF to GND1, PDEN is connected to VDD1, SPU is also connected to VDD1 and series termination 24R resistors are added to upstream USB-lines. On downstream-side (Peripheral) we have 3.3V connected through a 10R series resistor to VBus2 and VDD2. Both are decoupled by 100nF to GND2 each. SPD is connected to VDD2 and PIN is connected through a 10k Pull-Up to VDD2.

I would expect to see an active Pull-Up on upstream D+ in this configuration but I can't see it on my scope. I've already isolated the ADuM4160 from all USB-lines so I would expect to see a static high level on Upstream D+ but it is always low. Only at power-up I can see a short 1-2 us pulse (no clear high-level) on it, which is to short to be recognized as a connection signal (USB2.0 specification requires a high level of at least 2us on D+ for connection signaling) on HUB side. I've also removed the 10R series resistors in the power supplies and tied the PIN input directly to VDD2 but this seems not to change anything.

If there is some device present on downstream-side which pulls it's D+ line high enumeration starts but if I'm right we shouldn't need a Pull-Up on downstream-side using ADuM's Pull-Up capability.

What I'm missing? Isn't the ADuM's upstream Pull-Up always active if PIN is tied to VDD2?

Parents
  • 0
    •  Analog Employees 
    on Dec 2, 2019 11:52 PM

    Hello Fiptzl

    When you enable the pull-up with the PIN input, it applies the appropriate pull-up based on the SP pin on the upstream side.  If PIN is deselected it forces the upstream side pull-up to be disconnected.  If you do not have a pull-up or device present on the downstream side, the inputs are pulled low by the pull down resistors, forcing a single ended 0.  That is transmitted to the upstream side where the output drives the output to SE0 against the applied pull-up.  In other words, if you have no peripheral plugged into the downstream side, it makes the upstream side look like an disconnected port.  Otherwise the host would be trying to enumerate with no peripheral present.  I think it is working properly.

    Best Regards,

    MSCantrell

Reply
  • 0
    •  Analog Employees 
    on Dec 2, 2019 11:52 PM

    Hello Fiptzl

    When you enable the pull-up with the PIN input, it applies the appropriate pull-up based on the SP pin on the upstream side.  If PIN is deselected it forces the upstream side pull-up to be disconnected.  If you do not have a pull-up or device present on the downstream side, the inputs are pulled low by the pull down resistors, forcing a single ended 0.  That is transmitted to the upstream side where the output drives the output to SE0 against the applied pull-up.  In other words, if you have no peripheral plugged into the downstream side, it makes the upstream side look like an disconnected port.  Otherwise the host would be trying to enumerate with no peripheral present.  I think it is working properly.

    Best Regards,

    MSCantrell

Children