sinara-hw / Metlino

microTCA carrier hub (MCH) Tongue 3 FPGA module with HVDCI and SFP
4 stars 2 forks source link

Si5324 I2C low level is too high #68

Closed marmeladapk closed 4 years ago

marmeladapk commented 4 years ago

Si5324 seems not to be able to properly pull SDA low. Tested with FPGA and with MMC talking to Si5324. Other than that Si5324 is reacting properly.

We modified pullup resistors on both sides to 10k. It didn't help.

Screenshot on CPU pullup resistors:

tek00013

Screenshot on I2CMUX4 bus:

tek00012

gkasprow commented 4 years ago

It looks like one of the ICs was switched to fast mode (push-pull IOs) or MMC has wrong IO mode ( push-pull enabled )

gkasprow commented 4 years ago

observe SDA before and after the I2C mux

kaolpr commented 4 years ago

Si5324 seems not to be able to properly pull SDA low. Tested with FPGA and with MMC talking to Si5324. Other than that Si5324 is reacting properly.

We modified pullup resistors on both sides to 10k. It didn't help.

Screenshot on CPU pullup resistors:

tek00013

Screenshot on I2CMUX4 bus:

tek00012

@gkasprow These are signals before mux (CPU pullup resistors) and after (I2CMUX4).

marmeladapk commented 4 years ago

I shorted FPGA bus with Si5324 bus, ACK is still >1V. Both muxes are held in reset.

marmeladapk commented 4 years ago

Just as a precaution I removed muxes and left only 10kOhm pullup (one per line). Still the same.

Hmm, low level on SCL is quite high - around 800mV. image

marmeladapk commented 4 years ago

Found it!

FPGA I2C bus is also connected to the CPU (LPC1776).

CPU was configured differently than on Sayma: IOCON_MODE_INACT on Metlino, IOCON_OPENDRAIN_EN in Sayma. After changing this, Si5324 works in ARTIQ as @sbourdeauducq tested.