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.

CDCE949 I2C problem

Guru 15510 points
Other Parts Discussed in Thread: CDCE949

Hi,

I have a problem with CDCE949 configuration.

I'm trying to configure CDCE949 register via I2C.
The value which I wrote to the register via I2C write operation,
it was never reflected to the register.

I checked the signal of I2C(SDA/SCL) via oscilloscope while I2C write operation.
It seem there are no problem with the signal and the write sequence.

Q1.
Are there any factors to this issue?

Q2.
CDCE949 is supporting I2C Standard and Fast mode.
Which timing is Stand mode or Fast mode of I2C determined?
Is it first shot of the active SCL from I2C Master?

best regards,
g.f.

  • Hi g.f.,

    Q1: Do you have a scope plot available for a sample transaction? What register are you trying to write to?

    Q2: The Standard and Fast modes are set in the I2C standard, not the device. This is simply showing the device can operate at either clk rate.

    Gabe

  • Hi Gabe,

    Thank you for the reply.
    Actually this problem occured at my customer.

    So, I don't have scope plot right now, sorry.
    (I will ask my customer for the scope plot)

    i think they are trying to write(byte write) to the PLL1 Configuration Register(offset:0x10)
    because they told me command code is 0x10.

    best regards,
    g.f.

  • Hi g.f.,

    Once we have the scope plots we can further diagnose the issue. Is a schematic of their device available?

    Gabe

  • Hi Gabe,

    Thank you for the reply.

    I got scope plot from my customer.
    I checked the scope plot and found that the value of Command code(bit7) was mistaken.
    The customer are trying to write to the register by "Byte Write"
    but the Command code(bit7) was set to "Block Write".
    I think this is the reason so that I told to the customer
    to try again with righ value of Command Code.

    By the way, I have a question about EEPROM integrated in CDCE949.

    Q1.What is the sequence of programming this EEPROM?
    I understood as following, is it correct?
    Step1.Configure the register of CDCE949 via I2C
    Step2.Initiate EEPROM Write Cycle by setting bit0(EEWRITE) of
          Generic Control Register offset 0x06
    Finally, register value will be written to the EEPROM automatically

    Q2. Can the user do the programming of EEPROM only once?
        Once user initiate EEPROM Write Cycle, bit5(EELOCK) of
        Generic Control Register offset 0x01 will be set to '1' automatically,
        and EEPROM will be permanently locked so that user can't program EEPROM forever,
        is it correct?

    best regards,
    g.f.

  • Hi g.f.,

    Q1: yes this is correct, but note that the same EEWRITE bit must be cleared after the EEPROM write is complete. The status of the EEPROM write can be monitored via EEPIP Register offset 0x01 bit 6.

    Q2: the EEPROM can be reprogrammed in the order of 1000 times. If the EELOCK is set, then the EEPROM is programmed, then the EEPROM will be locked from any subsequent writes. current registers can be changed via I2C afrer, but no changes to EEPROM can be made. if the EELOCK bit is not set, then the EEPROM can be changed

    Gabe

  • Hi Gabe,

    Thank you for the details.

    I understood that EEPROM can be programmed 1000 times.
    but may I ask again to make me sure?

    Is my following understanding correct?
    (1)EEPROM will be locked automatically every time it is programmed.
    (2)If EEPROM is locked(EELOCK='1') and need to reprogram,
       it can be unlock by clearing EELOCK by user and programming is available.

    best regards,
    g.f.

  • Hi Gabe,

    I'm sorry but can you please answer to my last post?
    Because I want to make me sure.

    best regards,
    g.f.

  • Hi g.f.,

    Q1: the EEPROM will not be locked automatically. If the EELOCK bit is set to '1', then the EEPROM is programmed, the EEPROM will then be locked

    Q2: once EELOCK is set to '1', the EEPROM can never be reprogrammed and is locked to its current configuration

    Gabe

  • Hi Gabe,

    I'm sorry for the delay.
    and thank you so much for the answer.
    I uderstood.

    best regards,
    g.f.