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.

LMK03318: Programming the LMK03318 with the USB2ANY dongle

Part Number: LMK03318
Other Parts Discussed in Thread: USB2ANY, CODELOADER

Hello,


I am using the LMK03318 device.
I was able to load the EEPROM using the CODELOADER program and a USB2ANY dongle but only after removing the other I2C devices from the board.

This is what happened before I removed all the other I2C devices from the board:
If I performed Scan I2C Bus, he found other devices with lower addresses on board.
I set the address in the CODELOADER “Port Setup” tab to 53 (GPIO1=1) regardless to the Scan chain.
If I go to the “EEPROM” tab of the program and perform “Read all SRAM”, at the bottom of the window it says that the read is performed from device address that is not the one I set (The lower address that he finds if you perform scan chain). And naturally the read was not successful.

I removed all the devices that have lower addresses than 53 from the board (temperature sensors, EEPROM etc).
 After that “Scan I2C Bus”  finds device 53 and I was able to load the EEPROM data successfully.
In this scenario, at the bottom of the “EEPROM” tab it says that it performs Read/Write from device 53 as expected.

I tried using the TICS Pro software with the same result.

It is not possible to set the address of the device I want to access, the software addresses the first address it finds anyway, no matter what you set.

Is ther anything that can be done to sove this issue?

Thank you,

Svetlana.

  • Hi Svetlana,

    We tried to replicate this issue in both CodeLoader and TICS Pro but was unable to come up with any errors.

    We set GPIO1 = 1 to change the I2C address and then did a PDN/RESET on the board. We set the I2C address accordingly and then went to the EEPROM Page to read all SRAM but was able to communicate to the slave successfully. We repeated this process for the other 2 possible addresses and also was able to read and write to individual registers.

    Some suggestions for you to try and debug:

    - Make sure the other I2C devices don't have a conflicting address.
    - Make sure to PDN/Reset the board after changing the address.
    - Under Communication Mode in the Port Setup tab, be sure that the correct USB cable is selected.

    Please let me know if any of these suggestions solve your issue.

    Thanks,

    Jonny
  • Hello Jonny,

    There are no conflicting adresses. The Codeloader tryes to read/write to any address lower that the 53 that I set for the LMK03318 device.

    Using a different dongle (AADVARK), I am able to read the contents of the LMK03318 memory without removing any devices on the board.

    I prefer using the USB2ANY with theCodeloader, since it is much easyer to apply any change through the codeloader.

    PDN does not help.

    The correct cable is selected (only one is attached and it is also the same one used successfully when you remove other I2C devices).

    It runs Scan sussesfully, only to find the device with the lowest address on board.

    Once all the devices with lower addresses than 53 are removed, it scans and finds 53, and susseccfully writes to the SRAM of the device.

    Did you test in a setup where there were other I2C devices besides the LMK03318?

    The issue happens only when there are other i2C devices present with addresses lower than 53.

    Thank you,

    Svetlana.