This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LMK3C0105: I2C register programming

Part Number: LMK3C0105

Tool/software:

Hi,

we have set up a prototype using the LMK3C0105 as a programmable clock source.

We have two questions:

  1. In the datasheet is not described, but we have noticed that the LMK3C0105 rejects to accept the data (I2C Not Acknowledge) if the register value being written doesn't match with given a expected/predefined value. Here you see a trace captured when trying to write register R10 the word 0x0012. Could you please confirm this behaviour? The solution would be to read register R10, modify single bits and write it back, right?

2. As mentioned before, we need to use the LMK3C0105 as a programmable clock source, the situation right now is that we can program the internal register only onbce after power up. From the second try on, the device does not respond to any I2C transaction. Can the LMK3C0105 accept multiple reprogramming, let's say new frequency configuration via I2C every minute or so? if that's the case and the system can be reprogrammed whenever the user needs, that means that if the device entered the OTP mode, how can be checked if the device in OTP or I2C mode?

looking forward your response

regards

  • Hi again,

    here our mistake explained in case someone else misses reading carefully the datasheet.

    We reprogram the FOD frequency, which is used as base clock to generate the output frequency, but this same FOD signal is also used to generate an internal frequency which drives the digital state machine (I2C slave interface) which has a maximum frequency of 50MHz. The ratio between FOD frequency and digital state machine clock rate is defined in Register R0 (bits 15 downto 10) which needs to be updated accordingly. If after reprogramming the FOD frequency   the resultant digital state machine clock rate is greater than 50MHz the I2C bus interface won't work anymore.. well, at least this is what we experinced.

    regards