Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

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.

ADC12DL3200EVM: How to read/Write clock chips LMK04828 LMX2582 registers

Part Number: ADC12DL3200EVM
Other Parts Discussed in Thread: LMK04828, LMX2582, ADC12DL3200

I am able to read/write ADC registers using the 8510.ADC12DL3200EVM.zip I downloaded from a previous thread.

I also would like to configure the clock chips so I do not need to use the ADC12DLxx00EVM GUI at all.

The example code only read/write from the ADC but it does set up handles to the LMK04828 LMX2582 devices

so I tried to use them to read a few registers but did not get the same values as seen in the ADC12DLxx00EVM GUI.

addr_list = [0x000,0x002,0x003,0x004,0x030,0x031]
value = adcReadRegs(TI_FTDI,ADC12DL3200,addr_list) # returns list of integers
print('readReg(TI_FTDI,ADC12DL3200,addr_list): ',value)
addr_list = [0x000,0x002,0x100,0x103]
value = adcReadRegs(TI_FTDI,LMK04828,addr_list) # returns list of integers
print('readReg(TI_FTDI,LMK04828,addr_list): ',value)
addr_list = [0x000,0x009,0x00a,0x00b]
value = adcReadRegs(TI_FTDI,LMX2582,addr_list) # returns list of integers
print('readReg(TI_FTDI,LMX2582,addr_list): ',value)
readReg(TI_FTDI,ADC12DL3200,addr_list):  [48, 0, 3, 34, 0, 160]
readReg(TI_FTDI,LMK04828,addr_list):  [255, 255, 255, 255]
readReg(TI_FTDI,LMX2582,addr_list):  [0, 0, 0, 0]
  • Hey George, 

    Could you point me to where you downloaded this from or just provide the .zip? I can get you setup reading back from the LMK/LMX here shortly. I would like to see what you already have. 

    Thanks and Regards, 

    Matt

  • Hey George, 

    Both the LMK and LMX do not have a SDO only output like the ADC does. You have to first program the device for readback to work.

    The LMK has the Reset pin connected to SDO. Register 0x14A is used to configure the Reset GPIO. If you program the value 0x33 to register 0x14A it will enable the Reset as a push-pull output with SDO functionality. Also, resistor R38 is not populated on the EVM and needs to be for readback to work. A 0ohm or relatively low resistance resistor (~100ohm) can be used. You should see that resistor near the FTDI chip. If you don't have any 0402 SMD resistors sitting around, you can also just bridge the two pads with some solder. 

    For the LMX, the field MUXOUT_SEL in register 0 needs to be low. If you program 0x2438 to register 0 you should get readback working. No board mods needed for the LMX readback to work. 

    I placed the following code at the bottom of that script you sent me and after adding a 0ohm resistor to R38 I now have readback from both devices. I am simply reading back the values I programmed. 

    """LMK Communication"""
    writeReg(TI_FTDI, LMK04828, 0x14A, 0x33)
    print(hex(readReg(TI_FTDI, LMK04828, 0x14A)))


    """LMX Communication"""
    writeReg(TI_FTDI, LMX2582, 0x00, 0x2438)
    print(hex(readReg(TI_FTDI, LMX2582, 0x00)))
    Regards, 
    Matt
  • Thanks! 

    I did not populate R38. I was just trying to read first to make sure the interface worked before trying to configure the clock chips.

    I was able to program the clock chips, so I am all set. If When I bring the board back to the office I will have the resistor added.