sinara-hw / Thermostat_EEM

Thermostat with 4 TEC and 8 sensor channels in EEM form factor
2 stars 1 forks source link

wrong ESD arrays on D3, D4, D27, D35, D36 #51

Closed nkrackow closed 2 years ago

nkrackow commented 2 years ago

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: Screenshot from 2022-02-02 21-45-48

In the layout the traces are much longer.

gkasprow commented 2 years ago

The thermostat (2 channel version) is using the same resistors. I didn't check what speed it negotiates though.

nkrackow commented 2 years ago

Just checked, it negotiates 100Mbit and also instantly connects.

The problem is that the drivers we are using only support 100BASE-TX full-duplex..

jordens commented 2 years ago

@SingularitySurfer quickly check that the ESD array footprint, schematic, and datasheet actually match. There were problems with that before.

gkasprow commented 2 years ago

which revision of the Thermostat do you have? these resistors were added quite recently.

nkrackow commented 2 years ago

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.

nkrackow commented 2 years ago

The resistors are not present in Thermostat v2.0 I think.

gkasprow commented 2 years ago

right. They were added in v2.1

nkrackow commented 2 years ago

Unfortunately I think I ESD-damaged my PHY while bridging the resistors. I'll try swapping the PHY and bridging the resistors tomorrow.

jordens commented 2 years ago

@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.

gkasprow commented 2 years ago

It was recommended in PoE app note to prevent PHY from dying

jordens commented 2 years ago

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.

gkasprow commented 2 years ago

you can short them and see if that makes any difference. So far nobody complained about Thermostat...

nkrackow commented 2 years ago

Turns out I ESD damaged the ESD protection diode array such that there appeared another diode to from the data lines to ground..

nkrackow commented 2 years ago

With a new PHY, no ESD protection diode array and shorted resistors I instantly get a 100BASE-TX connection.

gkasprow commented 2 years ago

the ESD diodes must be there. Otherwise after plugging PoE you will damage PHY instantly,

gkasprow commented 2 years ago

you can "borrow" the ESD array from the I2C circuit close to EEM connector (D27)

nkrackow commented 2 years ago

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.

nkrackow commented 2 years ago

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.

gkasprow commented 2 years ago

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.

nkrackow commented 2 years ago

I neither have resistors that small in physical size, nor any resistor < 10 ohm here..

nkrackow commented 2 years ago

Oh and actually since Thermostat has a different MCU it could be that the drivers there support 10Mbit ethernet.

gkasprow commented 2 years ago

Isn't the RUST stack the same?

nkrackow commented 2 years ago

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.

gkasprow commented 2 years ago

OK, that's why nobody noticed the difference

nkrackow commented 2 years ago

@jordens We don't have a new Thermostat here right?

jordens commented 2 years ago

Not newer than what you have been playing with.

nkrackow commented 2 years ago

Some more remarks on the ESD array:

It is therefore still possible that the diode array makes a difference.

jordens commented 2 years ago

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.

jordens commented 2 years ago

Which pinout does the layout want?

jordens commented 2 years ago

@SingularitySurfer If this pans out, take home message for you is check things first.

gkasprow commented 2 years ago

There should be mounted DRTR5V0U4S-7 which has the correct layout. Essential is that pin 5 must have all cathodes connected to it.

jordens commented 2 years ago

@gkasprow According to the marking it would be DRTR5V0U4SL with the different pinout. Maybe a chance to visit manufacturing and straighten them out ;)

gkasprow commented 2 years ago

I wrote them an email. Hope they didn't assemble it in other modules.

jordens commented 2 years ago

Anyway, no harm done. Then also no indication of ESD damage, just "undesired diodes". Good that we figured it out. Thanks all!

gkasprow commented 2 years ago

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

jordens commented 2 years ago

All the way to the name of the engineer! ;)

gkasprow commented 2 years ago

The other TVS are also bad: D3, D4, D27, D35, D36

jordens commented 2 years ago

Maybe also on other Thermostat and Stabilizer builds.

gkasprow commented 2 years ago

They say that this issue affected only this board.

nkrackow commented 2 years ago

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?

jordens commented 2 years ago

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?

filipswit commented 2 years ago

To clarify, this are mounted diodes: D3, D4, D27, D35, D36 - DRTR5V0U4SL-7 D21, D26 - D5V0F4U6S-7

jordens commented 2 years ago

Production issue, not a design issue. Nothing to be done.