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.

LMK03328: Trouble programming EEPROM.

Part Number: LMK03328

Hi Team,

 

Please advise me to resolve EEPROM programming.

 

I have programmed EEPROM using TicsPoe.

The programming process was completed without any error.

However, when LMK03328 was powered up no clocks coms out from the device.

In addition, LMK03328 did not respond to the I2C access.

 

Before programming EEPROM, LMK03328 output intended clock and responded

To the I2C access. I did not change any GPIOs settings.

 

Have you ever experienced this kind of problem?

If so, can you let me know how to recover this circumstance.

 

Mita

  • Hello Mita, 

    I don't expect slave address to change unless GPIO1 had changed, so that seems a bit curious.. 

    Note the fact that clocks were functioning before hand, EEPROM was programmed, and then a power cycle didn't bring it back in the same condition can happen. Here's how: 

    1. EEPROM can be programmed in soft pin (EEPROM) or hard pin mode (ROM). If you booted up in ROM mode, updated registers as you saw fit, and then copied registers and programmed EEPROM, once you power cycle you're still in ROM mode if the HW_SW_CTRL pin polarity is in hard pin mode. Because you haven't booted up in EEPROM, device isn't configuring to EEPROM configuration that you programmed. 
    2. Any EEPROM page can be programmed. You can program page 5 when your GPIO settings are in in any of the other pages (0-4). Again if you program page 5, but boot up in ROM mode or any other EERPOM page outside of page 5, you may not be booting up in the previous configuration. 


    Did the NVM program count go up by 1 after EEPROM program? 

    CRC status remains okay? 

    If you scan I2C bus can you find the device and perform a readback? register 10 controls the 1st 7 bits of the slave address, the last bit being set by GPIO1. That's the only way slave address would change but it shouldn't have.. 

    Thanks and regards,

    Amin 

  • To add here, table 9 on page 55 of the datasheet shows the slave address in each condition: 

    Furthermore, section 10.7 on page 123 of the datasheet has the EEPROM map, the MSBs can be programmed via EEPROM (register 10 corresponds to byte 11) - this may be what's happening inadvertently when you're programming EEPROM and changing the I2C address. 

    Thanks and regards,

    Amin 

  • Amin-san,

    Thank you for your advise.

    I am confident that I have programmed EEPORM page 0 and boot from EEPROM page 0.

    I believe that CRC is correct but I did not check the   NVM program count .

    I will scan the I2C address and try to fix this problem referring your advice.

    Mita

  • Okay, let me know how it goes after trying it. 

    Regards,

    Amin 

  • Amin-san,

    Thank you for your feedback.

    Coincidently, Matsumoto-san (my Colleague) has posited same topic on another thread.

    So, I will close this thread and migrate into another thread.

    Mita

  • Understood. This still shows as open, so I will go ahead and close it. 

    This information above is still usable as well, so lets have them try these steps. 

    Amin 

  • Amin-san,

    Sure, I will report the results when I get feedback from the customer.

    Mita