Closed nkrackow closed 2 years ago
The thermostat (2 channel version) is using the same resistors. I didn't check what speed it negotiates though.
Just checked, it negotiates 100Mbit and also instantly connects.
The problem is that the drivers we are using only support 100BASE-TX full-duplex..
@SingularitySurfer quickly check that the ESD array footprint, schematic, and datasheet actually match. There were problems with that before.
which revision of the Thermostat do you have? these resistors were added quite recently.
I've got Thermostat v2.0 and Thermostat-EEM v1.0.
ESD array footprint, schematic, and datasheet are the same for both Thermostats and Stabilizer.
The resistors are not present in Thermostat v2.0 I think.
right. They were added in v2.1
Unfortunately I think I ESD-damaged my PHY while bridging the resistors. I'll try swapping the PHY and bridging the resistors tomorrow.
@gkasprow where does the 33R series come from, was it a guess to add some more ESD robustness or is that a proven design? The phy schematic checklist doesn't have them. But it also doesn't have the ESD diodes so it's of limited value.
It was recommended in PoE app note to prevent PHY from dying
The one you referenced here talks about 0-5 R. But for that short cable that @SingularitySurfer I wouldn't expect it to make a difference.
you can short them and see if that makes any difference. So far nobody complained about Thermostat...
Turns out I ESD damaged the ESD protection diode array such that there appeared another diode to from the data lines to ground..
With a new PHY, no ESD protection diode array and shorted resistors I instantly get a 100BASE-TX connection.
the ESD diodes must be there. Otherwise after plugging PoE you will damage PHY instantly,
you can "borrow" the ESD array from the I2C circuit close to EEM connector (D27)
Maybe the combination of the resistors and the long traces is the problem. On Thermostat 2CH the traces are much shorter. I have not used Thermostat V2.2 with the resistors yet, but since the m-labs SW uses the same drivers I guess someone would have complained if it didn't work.
Since I don't use PoE I don't need the diode array right now. Would you like me to check if the diode array in there makes a difference? I don't think that's so likely since it's also there on other devices where it works.
these TVS arrays have very low capacitance and are used in Stabilizer already. The only thing that changed are these resistors. So I think they caused the problem. Can you solder 5R1 and see if it works with a long cable? The traces don't matter, they are still relatively short.
I neither have resistors that small in physical size, nor any resistor < 10 ohm here..
Oh and actually since Thermostat has a different MCU it could be that the drivers there support 10Mbit ethernet.
Isn't the RUST stack the same?
No, it uses a different HAL and ethernet driver. Unf I can't find it in the m-labs code right now but here they use the same driver as the m-labs code uses to look for any connection in the link, incl. 10Mbit. Not sure if it would work with 10Mbit after that tho.
OK, that's why nobody noticed the difference
@jordens We don't have a new Thermostat here right?
Not newer than what you have been playing with.
Some more remarks on the ESD array:
It is therefore still possible that the diode array makes a difference.
https://www.mouser.com/datasheet/2/115/DRTR5V0U4SL-476981.pdf Note the completely different pinout and different ciruitry (again lack of firward diode to VCC). So people again mounted something that looks similar but isn't the same.
Which pinout does the layout want?
@SingularitySurfer If this pans out, take home message for you is check things first.
There should be mounted DRTR5V0U4S-7 which has the correct layout. Essential is that pin 5 must have all cathodes connected to it.
@gkasprow According to the marking it would be DRTR5V0U4SL with the different pinout. Maybe a chance to visit manufacturing and straighten them out ;)
I wrote them an email. Hope they didn't assemble it in other modules.
Anyway, no harm done. Then also no indication of ESD damage, just "undesired diodes". Good that we figured it out. Thanks all!
OK. Production people assembled DRTR5V0U4SL-7 because one of the engineers told them that it's the same part. Good thing is that CTI have full traceability
All the way to the name of the engineer! ;)
The other TVS are also bad: D3, D4, D27, D35, D36
Maybe also on other Thermostat and Stabilizer builds.
They say that this issue affected only this board.
Hi @gkasprow, we have noticed that diode arrays D21 (USB) and D26 (JTAG) are different arrays with the marking "TV8" and obviously seem to work as intended in case of the JTAG. In the BOM they are the same part as the affected diodes. How come these two are different?
Ah. USB may be 5V, too close to the Zener voltage of the TVS. Maybe JTAG can/could do higher voltage as well. Hence those should be different parts than the others?
To clarify, this are mounted diodes: D3, D4, D27, D35, D36 - DRTR5V0U4SL-7 D21, D26 - D5V0F4U6S-7
Production issue, not a design issue. Nothing to be done.
The lan8742 PHY is not able to negotiate a 100BASE-TX connection with the other side of the Link.
This was tried with 2 different ~1m RJ45 cables (One is Cat.5E) and 3 different USB-Ehernet adapters. With one of the adapters it does not work at all, with the other two the link status glitches between on and off for about 10 sec until the link stabilizes to on with a 10BASE-T connection (which is determined by reading the PHY status regs). The cables don't make a difference and all adapters and cables work instantly with Stabilizer.
The only difference to Stabilizer in the schematic are these 33 ohm inline resistors:
In the layout the traces are much longer.