Thanks Eugeny … I appreciate the thoughtful response. I agree that reaching out to a support forum is not as ideal as having direct technical contact at Wiznet (or a manufactures rep that has direct contacts or a major disti like Arrow or Avnet with dedicated FAE resources). But it definitely seems to be a sign of the times that more and more technical support is being pushed to forums as a first line of defense. I am not looking for a formally certified solution from Wiznet … just hoping to get some guidance on the W5500 transceivers so that I can figure out what is preventing my design from functioning.
On the technical front, your intuition on the RX lines being internally biased and the TX lines being external biased matches my read of the W5500 reference schematics. So the default component stuffing options of my prototypes follow that line of thinking … On the Ethernet switch side of the DC-blocking caps, I followed the Micrel app note for termination/biasing and on the W5500 side of the DC-blocking caps I followed the mag-jack version of the W5500 reference design (minus center tap connections). Relevant circuits from my schematic attached.
Thus far though, I have not been able to establish a link between the switch and the W5500. In initial debugging, I am seeing a few things that make my wonder if I guessed correctly on the W5500’s biasing needs. At 100M speeds, the switch is showing signs that it is receiving data from the W5500 (pulsing its link/activity indicator), but the W5500 is not attempting to assert its link indictor. In looking at the receive waveform at the W5500, there is very good correlation to a working Arduino Ethernet Shield 2. Nearly identical common mode voltages (~2V) and voltage swings. Attached are scope shots of the W5500 RX pins for both my board and the Enet Shield for comparison.
On the TX side, when looking at the waveforms from a differential perspective, there is good correlation between my board and the Arduino Ethernet 2 shield. But when looking at the single ended components of the diff pair, I am seeing some differences between my board and the shield that I can’t explain. The DC offset voltage of my board is in the neighborhood of 1.2V where it is closer to 2.7V on Arduino. So not sure if that means the current drive of the W5500 is much higher than I expected (40mA range), it is not externally biased like I thought, or the driver is not purely CML. The other thing (from a single ended perspective) is the MLT3 zero is not centered between the MTL3 1 and -1 … it is closer to the -1 side. So again not sure if there are different source vs sink currents or if the driver technology is different than I had assumed.
At 10M speeds, the device that seems happy flips. The W5500 will assert its link and activity indicators but the switch doesn’t.
W5500_RX_Comparison.pdf (99.7 KB)