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.

LMK03328EVM: Can't communicate via I2C with the LMK03328EVM

Part Number: LMK03328EVM
Other Parts Discussed in Thread: USB2ANY, , LMK03328

I am trying to communicate via I2C using a USB2ANY (HPA665-001) with a LMK03328EVM (SV601123A-002) with no success.  In TICS Pro --> USB Communications, the USB2ANY is recognized: USB Connected indicator is green, Select USB2ANY = 887F1B5125001C00, Bit Rate (kbps) = 400.  When I click Identify, the LED on the USB2ANY flashes.  I2C address of the EVM is 54 when I verified as GPIO1 = 0V (MID jumpered to LOW).  When I click on "Scan I2C Bus" I get "No device found".  I've tried varying the bit rate to no success.  I'm not why I can't just plug the USB2ANY into J28 (which I populated) on the LMK03328 EVM and have the TCIS Pro GUI recognize the LMK03328 component.      

  • Hello Kerry,

    For the record, did you try connecting the USB cable directly to J27, the USB connector?

    If you want to use J28 to program the device using an off-board USB2ANY, can you confirm that the SDA/SCL lines are at 3.3 V when the bus is idle?

    Please also confirm you have the proper orientation of the USB2ANY plugged into J28. Due to how the keying of the USB2ANY as implemented connections can be flipped easily.
    * Pin 1 of the header J28 is SDA line.
    * However cable pin 10 is actually SDA. Accordingly you will need to flip this cable.

    73,
    Timothy

  • Thank you.  In my application I am using two LMK03328s.  One is set at address 54 and the other is at address 57.  The "Communication Setup" window seems to only recognize the lowest address 54 and not both addresses.  Is this true?  So I'm assuming I will have to program the lowest address LMK03328 first and then change it's address to 57 in the meantime change the other LMK03328 to address 54.  Power down & back up again so addresses take.  Then I can program the second LMK03328.       

  • Hello Kerry,

    Above you mentioned USB2ANY --> LMK03328EVM.  So it sounds like this is a different question...  if you had two LMK03328 EVMs, you would be able to run two separate instances of TICS Pro, each would attached to one USB2ANY which is on board the LMK03328EVM.  Then you could program both PLLs at the same time through two different GUIs.

    Kerry Tracey said:
    The "Communication Setup" window seems to only recognize the lowest address 54 and not both addresses.  Is this true?


    Correct, the I2C scan just finds the first item on the bus then returns with that address.  We are planning to improve this.  Let me know if you have thoughts of how you might think this should work better.

    Kerry Tracey said:
    So I'm assuming I will have to program the lowest address LMK03328 first and then change it's address to 57 in the meantime change the other LMK03328 to address 54.  Power down & back up again so addresses take


    I think this is the different question, to be sure I understand... now you have your designed board with two LMK05318s placed with a shared I2C bus.  You are now planning to use TICS Pro via USB2ANY (HPA665-001) to communicate and program these devices...


    Unless I'm missing an important detail, you should be able to simply type the address into the Communication Setup window, press set address, close this window out and you're good to go.  No power up/down needed.

    • If you save as a TCS file program1.tcs and program2.tcs, you could then load that .TCS file to put you back into the same state you once were.  (Note it does program the device as it loads with the .tcs contents).
    • Your other option is you could again run two instances of TICS Pro.
      • In the first TICS Pro, scan the bus for 0x54.  Program as desired.
      • In the first TICS Pro, goto communication setup and set to demo mode.
      • In the second TICS Pro, goto communication setup and select the USB2ANY which was used above. (I'm assuming this is in demo mode because it couldn't find another USB2ANY to attach to)
      • Type in the address 0x57, press set address
      • Now you can configure this device.
      • To go back to the first device.  Set second TICS Pro to demo mode, then set first TICS Pro to use the same USB2ANY once again.

    Hope this helps.

    73,
    Timothy

  • Yes I do  have two LMK03328RHSR on my PWB with a shared I2C bus.  I am using TICS Pro via a USB2ANY (HPA665-001) to communicate and program these devices.  Basically I couldn't get things to work on my PWB so I resorted back to trying things on the LMK03328 EVM.

    A few thoughts: It would be nice if once TICS Pro scans the I2C bus it could tell you addresses of all the LMK03328RHSR on the shared bus.  Then you could pick which device you want to configure.  Ideally TICS Pro could automatically detect if you are connected to the I2C bus and read the addresses.  Also additional instructions in the LMK03328 EVM User Guide when using a USB2ANY would have been helpful.  Although I had an idea what "Set Address" would do I couldn't find in any documentation what it really did or what its supposed to be used for.     

    I will try your suggestions above and report back the results. 

  • did you found a good solution ?

    see: https://sarkariresult.onl/ , https://pnrstatus.vip/ & https://192168ll.onl/

  • I was able to program both PLLs.  When I "Set I2C Address" to 57 I was able to program the PLL.  However there was no indication from the GUI that I was talking to the PLL at address 57.  Nor when I "Scan I2C Bus" the Scan Result said Device found at 0x54 Address will be updated.  It would be nice if I changed the I2C address the GUI would say Device found at 0x57 when I click on Scan I2C Bus. 

  • Hello Snow,

    Glad you were able to accomplish what you needed.

    That is a good point.  We should improve the user experience for when you directly type in the I2C address.  Thanks for the feedback.

    Note with I2C mode, if you are writing to registers of a device which does not exist (because the address is wrong), you will notice in the status bar it will report, "Error writing to register..."

    73,
    Timothy