I am trying to interface the Si570 chip (numerical controlable oscillator) by I2C bus using the wires.h library. I can watch the signal on a 100MHz memory scope and on a bus pirate analyzer. Both signals look correctly compared by the I2C bus specification (Philips Semiconductors, V2.1, january 2000). The unit has a fixed address which is burned in by Silicon Labs, mostly 55h.
Cause using high frequencies inside the Si570, I used a coper cladded board as ground, very short wires for wiring ground and 100nF + 1uFTantal directly at the power supply pin. I use a voltage regulator 3,3V vor this unit and at the moment 1K pullup resistors on this voltage. The arduino nano is working with open collector outputs for the I2C lines.
I made dozens of approaches to adress the unit. The signals looks fine. The address is tranfered the right way (MSB first, 55h shifted to aah, R/W included). I tried to change the address in a loop between 0 and 127. There is no reaction from the unit. The answer is always NACK (bit 9 high). I also changed the unit to a new one, no difference. So I run out of ideas.....
The Si570 is used successfully in other ham projects , but I did not find any project using arduino code. Is there someone with experience or some additional ideas how to fix the problem ?