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.

LDC1000 Proximity data all zeros

Hello TI,

I've been trying to configure the LDC1000, but I'm having some troubles. Mainly, I can communicate with the LDC1000 through SPI, i.e. I can read/write all config registers. The problem arises when reading Proximity Data, I get all zeros. I guess it should be like that since bit 6 in reg 0x20 is 1, so, according to the datasheet "No new data available". I've set PWR_MODE and increased the Rp range (just in case it was clipping) without success. Am i missing something in order to just get sensible values on the Proximity Data register?

Another question, one of the applications I am working on is gear count. My idea is the following:

1.Get the min and max values of Proximity Data when the gear spins

2.Set threshold comparator to the average and enable INTB function

This would interrupt my micro with each tooth, so I can count them and do the math. My question is: What is the maximum operating frecuency of the INTB?

On the other hand, the LDC1000 seems to follow more accurately the datasheet revA than the new version you have currently on the web, nevertheless, since I can not read anything but zeros, I am not sure about register map. Currently, are there 16 bits for Proximity data or only 8?. The same comment for the Frecuency Counter register.

The last question, if one is going to read only Proximity Data, is it necessary to connect an external oscilator/clock signal to the LDC1000? To my understanding, the Frecuency Counter only interacts with the Frecuency Counter Data Register.

Hope someone could help me, I am stuck at this point,

thank you so much in advance,

Antonio

  • Hello Antonio,

    1. Could you please make sure that the data is ready before you are reading it? Also, when reading the data please check if you are actually getting anything out with the scope.
    2. There are 16 bits of the proximity data spread out in 2 registers (LSB and MSB).
    3. The sample code to read the data out is found on ti.com/ldc1000. Please select technical documents.
    4. External oscillator is necessary for LDC1000 even if only proximity data is read.
    5. INTB pin is meant for the micro to address the LDC1000. The data from LDC should be read using SPI.

    Best Regards,
    Natallia Holubeva
  • Hello Natallia,

    Thanks for the quick reply.

    1. Actually, data is never ready since reg 0x20 is always set to 0x70, the bit 6 never gets cleared. With the scope I see normal response from other "config" registers, but when I read 0x21 and 0x22, the LDC1000 answer all zeros. Also, I set the INTB pin to DRDYB function and I never get a rising edge.

    5. I don't need to read de LDC data. I only want it to interrupt with each tooth. Let's say my Proximity Data varies between 1000 and 7000 when the wheel rotates (1000 when no tooth). If I set the threshold to 4000, then the INTB pin interrupts at each tooth, right?

  • I have had somewhat similar problems. For me it helped when I changed the RPMIN and RPMAX values. 

  • Antonio,

    1. Since the data is not ready you are not able to read it. Please, try decreasing sampling rate and adjusting Rp values. Register 20 should report 0x20.

    2. What is the rpm value?

    Best Regards,
    Natallia Holubeva