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.

LMK04808: How to perform write operation on register

Part Number: LMK04808
Other Parts Discussed in Thread: MSP430F5342, LMK04832

Tool/software:

Hi,

We are using LMK04808 in our design. To perform register progromming, the following information is defined in the LMK04808 datasheet:



So, according to the marked note and timing diagram on the above image, do I have to control the CLKuWire manually (from low-high-low) for each bit transmission?. If I transmit 8-bit data at a time for 4 times (to write a complete 32-bit register) and toggle the LEuWire, will it cause problems without controlling CLKuWire?

I'm planning to configure this LMK through MSP430F5342 SPI Master. So if I configure the clock frequency on SPI master, will CLKuWire toggle automatically?

  • Hi Pravin,

    As the datasheet states, data is only clocked in on the rising edges of CLKuWire. This means that each individual bit is clocked in on these transitions, so if you try to transmit data 8 bits at a time, then you will only transmit the data that appears during the transition - not only will you be losing data, but you will be sending data to the incorrect bits. You need to toggle the CLKuWire from low to high (and back again) for each bit transmission, and then toggle the LEuWire to send that data to the specified register.

    If you configure the appropriate clock frequency on SPI master and input that clock signal to the CLKuWire pin on the LMK04808, then you will be fine - you should not be manually toggling the CLKuWire. 

    Thanks,

    Michael

  • Hi Michael,

    Thank you for your response.

    Now I'm clear about CLKuWire.

    So, do I need to send 32 bits one by one? Is that so?. According to the datasheet, I can't transmit 8 bits at a time, am I right?

  • Hi Pravin,

    Yes, your understanding is correct. You need to transmit the 32 bits one-by-one.

    Thanks,

    Michael

  • Hi Michael, 

    Since I can't transmit 8 bits at a time, I can't use MSP430 SPI Master because MSP430 will transmit 8 bits or 7 bits at a time on each rising edge of the clock.
    Furthermore, I need to toggle the CLKuWire also manually. So, for these configurations, I can't use MSP430 SPI Master. Instead, I can use bit-banging serial GPIO communication based on my understanding. Since LMK is a custom serial protocal, I can't use MSP430 SPI Master for this LMK. 

    Using the bit-bang method, I need to set the Datauwire high or low based on the actual register value. And, for each bit transmission, I need to toggle the CLKuWire. After completing this write operation, I need to toggle the LEuWire to latch the register content from shift register to actual register address.

  • Hi Pravin,

    Your MSP430 is a SPI based device, and you are trying to interface with a non-SPI based device. My recommendation would be to use one of our jitter cleaners that supports SPI, like the LMK04832. 

    Thanks,

    Michael

  • Hi Michael, 

    Thanks for your recommendation. I have to check with our team.