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.

LDC1312: Repeated Read of Data Register

Part Number: LDC1312
Other Parts Discussed in Thread: MSP430FR5994

Hello Sensor People,

I’m using an LDC1312 Inductance to Digital Converter (I2C interface 400 kHz) with an MSP430FR5994. The board has four of these converters each on its own bus, for bandwidth design considerations. Two of the converters are to be sampled at 4 kHz on a single channel. The other two will be sampled at 2 kHz for each of two channel.

The LDC1312 Datasheet I2C Register Read timing diagram shows that a register is first specified by writing to the LDC1312 before the reading of the register. Does anyone know if the writing of the register to be read must be written for each read or only once with subsequent reads without the register write?

Also, it is my understanding that the only way to clear the INTB signal is to read the Status Register. Reading the Data Register will not clear INTB. This is inconvenient and not possible for 4 kHz reading. The datasheet declares that the device is capable of a maximum reading rate of 13.3 kHz. This is not possible if one wishes to use INTB as an interrupt to the MSP430 because the time needed to read the Status and the Data registers takes too long . So, one is left to do continuous reads of the LDC1312 without the use of the INTB signal. This may result in consecutive reads of the same data due to asynchronous clocks between the Master and Slave devices. Anyone agree? Not ideal, but for my application would be OK.

Thanks in advance, Dave

  • Hello Dave, 

    Unfortunately, you cannot read subsequent registers of the LDC1312 without sending the register address. 

    For clearing INTB, there are a couple different ways for this to happen but the only register read that clears the INTB pin is the STATUS register: 

    With a 4kHz sample rate, you have 250us between and it should only take about 130us to read a single channels data with a 400kHz I2C. Your interrupt handling would have to be able to response within 100us to be able to read the data and give a bit of buffer before it is overwritten. With multiple devices on the same MCU, this becomes even harder to accomplish unless you can simultaneously read the data from the different I2C busses. 

    Best Regards, 

    Justin Beigel

  • Thank you Justin for your response.

    Sorry for the late response. I did reply earlier, but didn't do it correctly. So ...

    Just to be clear, it is understood that one cannot read a different (or subsequent) register than previously read without sending the register to be read. My question was, can one read the same register multiple times without specifying the register to be read? Being able to do so would save bus transaction time.
    thanks again, Dave
  • Hello Dave, 

    No. It is not possible to read the same register without specifying the register address again. 

    Best Regards, 

    Justin Beigel

  • Again, I'm late in thanking you. Been on travel.

    Got your response and will program accordingly.