0
\$\begingroup\$

I have 4 ethernet devices (1 PHY - AR8035; and 3 Dual PHYs - DP83849IFVS) on my custom PCB board. ICs are controlled by SoC AM335x via MDIO bus. Previous revisions of the board worked fine. New revision on the other hand doesn't work. The only differense is that now MDIO bus connected to Dual PHYs (there was no such thing in the previous revisions), so 4 devices on the bus now. So the problem is that now Dual PHYs behave unstable - heavy packet loss, strange registers values etc... While debugging I've noticed that at first accidentally AR8035 PHY has the same PHY address as DP83849IFVS device, so the devices may have started to transmit simultaneously. Can that fact damage the devices? As far as I understand if the outputs are open-drain (which is my case) nothing can happen, the current will be just devided between two transistrs. Something bad can happen only if the outputs are push-pull. Am I right?

\$\endgroup\$
2
\$\begingroup\$

The MDIO bus is not open-drain, when a device transmits data, the pin will change to push-pull output.

So yes, it can cause damage, but as the outputs will not be constantly driving the pins to opposite logic states, there is less likely to be damage.

Fix the address on one of the PHYs to something different and check board operation.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Thank you for the answer. But in the AR8035 the following is written - "MDIO is an OD-gate, needs an external 1.5k pull-up resistor." In the DP83849IFVS' datasheet it is said that - "This pin requires a 1.5 kΩ pullup resistor", which made me think that it is also open-drain. Am I wrong here? Also I've changed PHYADs but devices still behave strangly. \$\endgroup\$ – Andy Sep 15 at 6:31
  • \$\begingroup\$ AR8035 datasheet says it is an open drain, but most chips just have a push-pull output. I don't know what the standard requires or is it irrelevant. If you look at diagrams in the DP83849 datasheet, you will find out it is not open drain. The resistor is needed because there are times that nobody drives the bus, but when the chip that has a turn to send data sets the pin as push-pull output, and when it is not a time to output data, the pin is an input. \$\endgroup\$ – Justme Sep 15 at 7:10
  • \$\begingroup\$ Thank you for the clarification. \$\endgroup\$ – Andy Sep 15 at 8:05
  • \$\begingroup\$ By the way what whould happen if open-drain output will be working on push-pull output? High probability of damage to both outputs? \$\endgroup\$ – Andy Sep 15 at 8:16
  • \$\begingroup\$ And also if the registers of the IC device are still readable (but some aren't) does it mean that the device are not damaged and fully operational? \$\endgroup\$ – Andy Sep 15 at 8:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.