sinara-hw / Kasli

Kasli is a powerful FPGA carrier, capable of controlling 12 Eurocard extension modules.
Other
16 stars 1 forks source link

PCA9548 failed to ack write address #15

Closed gkasprow closed 5 years ago

gkasprow commented 5 years ago

From @hartytp on April 11, 2018 22:4

One of my Kasli boards is now showing up this error on boot "panic at src/libcore/result.rs:906: cannot initialize Si5324: "PCA9548 failed to ack write address"

Copied from original issue: sinara-hw/sinara#540

gkasprow commented 5 years ago

Is it rev 1 board? That revision does not have ESD protection for I2C so the mux can be easily damaged by discharge. I2C has open drain ports without protection diodes.

gkasprow commented 5 years ago

From @hartytp on April 11, 2018 23:20

No, this is a v1.1 board.

AFAICT, the issue is with IC15 as that's the one that connects to the Si5324. I'll order a new part and try replacing it. But, it's not obvious to me how this could have been damaged.

gkasprow commented 5 years ago

From @hartytp on April 11, 2018 23:32

Best guess is that this is related to the grounding issues; if Kasli floats up to a high voltage when powered but not grounded (e.g. no USB) then it could be damaged by handling quite easily...

gkasprow commented 5 years ago

From @marmeladapk on April 12, 2018 8:55

@hartytp Could you look with scope on levels of I2C signals? IC13 could be damaged.

If there's a signal on USB I2C SDA and SCL test points (below JTAG connector) then IC13 works.

You can test it with:

class dio_test(EnvExperiment):
    def build(self):
          self.setattr_device("core")
          self.setattr_device("i2c_switch1")

          self.i2c_switch1.set(7)  # 0 - 7
          # + some loop with catching exceptions.
gkasprow commented 5 years ago

From @hartytp on April 12, 2018 9:9

@hartytp Could you look with scope on levels of I2C signals? IC13 could be damaged.

Yes, I plan to do that.

You can test it with:

Don't think I can. Without this switch ARTIQ can't program the Si5324, so it won't boot.

gkasprow commented 5 years ago

From @hartytp on April 12, 2018 9:16

But, I will have a look with @jordens's Kasli I2C tool.

gkasprow commented 5 years ago

From @marmeladapk on April 12, 2018 10:14

Ok, so then if IC13 works we expect signal on I2C SW SDA SCL test pads.

hartytp commented 5 years ago

@gkasprow we had another Kasli v1.0 die like this today. It was removed from a rack and replaced, and only handled briefly. All supplies seem fine and AFAICT the only issue is the dead I2C bus. We will ask TechnoSystem to repair it...

gkasprow commented 5 years ago

Was this PCA9548 failed last time? How did Technosystem repaired it? They replaced this chip? Did it die just itself or after configuration of boards changed?

hartytp commented 5 years ago

Sorry, I wasn't clear. This is a different Kasli (TechnoSystem replaced the old one with a Kasli v1.1 with higher speed-grade FPGA).

I think the board configuration was changed.

hartytp commented 5 years ago

This is a v1.0 board (4HP FP), so IIRC it doesn't have ESD protection on the I2C. So, maybe this is just a good old ESD issue, but normally England is too wet for that.

gkasprow commented 5 years ago

ESD is one issue, mains filter EMC filter capacitors charge is another issue that can kill such chip