Electronic – Programmable DS1077 Oscillator: Cannot set the DIV register

i2c

I am trying to run a Maxim DS1077 programmable oscillator through the I2C bus from an Arduino Uno development platform. I am able to run the oscillator at the different pre-scaler values 1,2,4, and 8. My oscilloscope shows that the changes in Out 1 are appropriate. However, I cannot set the divider DIV register. It always seems to be set to N=1, i.e. it is as if the divider is not in there at all. I set the MUX bit for activating the divider correctly – tride both settings etc…but to no avail. Hardware set-up: both control ports are tied to GND, the serial communication lines are tied to 5V via 3.9kOhm, and I have 0.1 and 0.01uF between GND and Vcc. The serial lines are connected to the Arduino's analog ports 4 and 5, and I am using the wire library. I think the fact that I can set the prescaler shows that the I2C is not the issue…any tips would be appreciated! Thanks!

Best Answer

I finally found out why I was not able to set the DIV register. I contacted Maxim and they told me that the MUX register bit for activating the DIV needs to be set AFTER setting the DIV. I had it in the opposite order in my initial program. After flipping the commands, everything worked!