Cable not detected

I notice that when I read the PHYSR.CABOFF bit (0x003C), it always returns “Cable unplugged” (1). This is the case when I plug or unplug the cable. I run the IOLibrary DHCP software, so the 5100S has been configured.

Should the CABOFF bit always read 0 when I plug the cable, or should I do something more (the other side of the cable is connected to a router)

When I plug in the cable, should one of the connector LEDs light up? We designed our schematic just like the reference design.

Thank you in advance,
Daan

Of course. Connection detection is performed using sensing electricity in the wire, not sensing physiscal insertion of the cable.

If there’s another active device at another end of the cable.

Thank you for your reply.

But just like I said, the other side of the cable is connected to a (active) router, however, no LED is light up. What I mean is, should I configure some register in the software to have the LEDs light up when I insert the cable?

I do not think so. If PHY is up it must turn at least link LED on. Does the switch light its link LED up?

So the things to check are cable (try another one), circuit diagram (check again - did you use parts from reference or replaced some with another parts?), and assembly quality (missing some ferrite beads?). Would be good if you share your actual circuit diagram here.

I have already tried another cable and checked the PCB, all looks OK. I can read the W5100s registers, so the interface between CPU and Wizchip is OK.

The 25MHz xtal is running and all 1.2 and 3.3 voltages are correct.

The router doesn’t light up any LED either.

I attached our schematic .

It misses part number for the jack and pin assignments. Also some values (e.g. ferrite bead).

This is the jack (Wurth 74990111217):

Bead (Wurth 742863160): 600 ohm, 500 mA, WE-CBF HF Series, 0.35 ohm, ± 25%

The problem could be in your wiring pins of jack wrongly, that’s why for circuit diagram pin numbers are the MUST. It will also assumes that you wired device properly at the device editor level.

Yes, that could have been the cause, but we have checked the connector layout and it is OK. Our hardware engineer has inserted the pin numbers:

Do you have any other suggestion?

This is my initialisation:

    uint8_t mr2;

    CHIPUNLOCK();
    mr2 = (uint8_t)getMR2() | 0x80; // MR2_CLKSEL;
    setMR2(mr2);
    CHIPLOCK();

    PHYUNLOCK();
    setPHYCR0(0x02);
    setPHYCR1(0x01);
    PHYLOCK();

Yes, reset circuit does not look good. What timing diagram you expect from this circuit?
As a test make it digital connecting to the MCU’s configurable output pin.

The reset circuit is designed to give a high level after 1.53ms. The datasheet describes this should be 210ns minimum.

Could you please explain what is wrong with our reset circuit? Why is a MCU pin better than an RC-circuit?

PHY is independent of the host interface, and if it does not light link LED when cable is connected (with this cable connected to another live device at another end) then you have one or more of the following problems:

  1. chip is bad
  2. you made mistake in circuit
  3. clock generation circuit is bad
  4. you have problems with power
  5. you have problems with reset
  6. you forcefully get PHY down (or improperly configure it) through chip driver

On your circuit diagram I do not see connection between 1V2O and 1V2D/1V2A. And while datasheet says that chip should have Schmitt triggers inside on inputs, if I would you I would try clean digital signal on the reset pin according to datasheet timing. And you still do not give part numbers you use on the circuit diagram. You must write what is the jack, what is the chip, and that is the crystal. Respect others who takes effort considering your circtuit, and in general respect yourself so that in 3 years when returning to this device you (or your colleagues) would not look for this information elsewhere.

We see some noise on the 1.2V supply, please see the scope screenshot:

Could this noise do any harm? The 3.3V supply is stable and clean.

The supply circuit is as shown:
afbeelding
However, we removed and shorted L2 with a wire. C15 is now 10uF and parallel to C5 is another capacitor of 2.2uF ro reduce the noise. All capacitors are ceramic.

1V2 circuit looks good, noise is significant, but I do not think it will cause such link LED failure. You can test it seeing if such noise occurs when you insert or remove the cable to see any relation.

I added anothe rpoint 6 to previous list of causes; another possible cause that you misconfigure chip writing wrong values to PHY registers. To figure it out ensure hardware reset signal is proper digital one, and do not configure chip at all. In this default condition it must sense link up event and show LEDs.

Per datasheet CABOFF as 0 means chip thinks that cable is plugged in. However not sure how chip can detect it. I think LNK bit is more appropriate and reliable to see if there’s active physical connection.

Thank you for your hints so far!

I now generate a clear digital reset pulse to the W5100s. When I read back the link bit of PHYSR, it is always 0, also after a reset pulse, which I can run manually.

However, the datasheet is not clear how long the reset pulse should be:
afbeelding
It should be between 210 and 560 ns

However, the pin description says it should be > 500ns:
afbeelding

How long should the reset signal be, minimum and maximum?