I am using an FMC mezzanine card that contains a Silicon Laboratories Si570 programmable oscillator.
Why does the Si570 not respond when I attempt to configure it using I2C?
It is important to note that while the Si570 is classified as I2C-compatible, it is not I2C-conformant. Please see the Silicon Laboratories Si57x FAQ for more details: http://www.silabs.com/Marcom%20Documents/Resources/Si57xFAQ.pdf
The Si570 has a fixed voltage threshold for V_il (Max) of 0.500V. The I2C specification from Philips states that V_il(Max) should be defined as a ratio of Vdd.
In some configurations, such as utilzing the XM104 FMC card with the Zynq ZC706 evaluation board, the I2C circuit is structured such that the I2C signals will exceed the 0.500V V_il(Max) at the pins of the Si570 device.
To work around this, the I2C pull-up resistors on the FMC card can be replaced in order to drive down the voltage thresholds at the input pins of the Si570 device.
For example, in the configuration described above, the resistors R1 and R2 on the XM104 card can be changed from 1.0kOhm pull-ups to 10.0kOhm pull-ups to bring the voltage at the Si570 pins to usable levels. Note that other combinations of FMC carrier and FMC mezzanine cards might require a different selection for replacement pull-up resistor values.