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.

LDC1614EVM: LDC1614 measurement fluctuates and drifts after 10 min

Part Number: LDC1614EVM
Other Parts Discussed in Thread: LDC1614, , LDC1612

Tool/software:

=== LDC1614 Sensor Initialization ===
L = 150.0 mH, C = 56.0 nF, Rs = 220.0 Ohm
f_refclk = 40.0 MHz

--- Parameters before calibration ---
Q factor: 7.44
Rp: 12175.3 Ohm
f_sensor: 1736.5 Hz
rcount: 47989 (0xBB75)
settlecount: 7140 (0x1BE4)
idrive_reg: 0 (0x0000)

--- Auto-Calibration ---
Calibration successful!
Original IDRIVE: 0 (0x0000)
Calibrated IDRIVE: 26624 (0x6800)

--- Parameters after calibration ---
Q factor: 7.44
Rp: 12175.3 Ohm
f_sensor: 1.7 kHz
rcount: 47989 (0xBB75)
settlecount: 7140 (0x1BE4)
idrive_reg: 26624 (0x6800)

=== Current LDC161X Configuration ===
CONFIG (0x1A):     0x1E01
  - Active Channel: 0
  - Sleep Mode:     OFF
  - RP Override:    ON
  - Sensor Select:  ON
  - Auto Amp Dis:   ON
  - Ref CLK Source: External
  - INTB Disable:   OFF
  - High Current:   OFF
  - Reserved[5:0]:  0x01
MUX_CONFIG (0x1B): 0x0209
  - Auto Scan En:   OFF
  - RR Sequence:    0x00
ERROR_CONFIG (0x19): 0x0001
  - UR_ERR2OUT:     OFF
  - OR_ERR2OUT:     OFF
  - WD_ERR2OUT:     OFF
  - AH_ERR2OUT:     OFF
  - AL_ERR2OUT:     OFF
  - DRDY_2INT:      ON
STATUS (0x18):     0x0008
  - ERR_CHAN:       0
  - ERR_UR:         OK
  - ERR_OR:         OK
  - ERR_WD:         OK
  - ERR_AH:         OK
  - ERR_AL:         OK
  - DRDY:           Not Ready

--- Channel Configuration ---
Channel 0:
  RCOUNT (0x08):   0xBB75 (47989)
  SETTLE (0x10):   0x1BE4 (7140)
  DIVIDER (0x14):  0x0003
    - FIN_DIVIDER:  0
    - FREF_DIVIDER: 3
  IDRIVE (0x1E):   0x6B40
Channel 1:
  RCOUNT (0x09):   0x0080 (128)
  SETTLE (0x11):   0x0000 (0)
  DIVIDER (0x15):  0x0000
    - FIN_DIVIDER:  0
    - FREF_DIVIDER: 0
  IDRIVE (0x1F):   0x0000
Channel 2:
  RCOUNT (0x0A):   0x0080 (128)
  SETTLE (0x12):   0x0000 (0)
  DIVIDER (0x16):  0x0000
    - FIN_DIVIDER:  0
    - FREF_DIVIDER: 0
  IDRIVE (0x20):   0x0000
Channel 3:
  RCOUNT (0x0B):   0x0080 (128)
  SETTLE (0x13):   0x0000 (0)
  DIVIDER (0x17):  0x0000
    - FIN_DIVIDER:  0
    - FREF_DIVIDER: 0
  IDRIVE (0x21):   0x0000

=== Starting measurements ===
Format: [Count] Raw: (Data) | Filtered: (Data) | [UR|OR|WD|AE]
STATUS (0x0048)
[000001]    37812 | Frequency:     1878 Hz| [0|0|0|0]
STATUS (0x0048)
[000002]    38876 | Frequency:     1930 Hz| [0|0|0|0]
STATUS (0x0048)
[000003]    37100 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000004]    36390 | Frequency:     1807 Hz| [0|0|0|0]
STATUS (0x0048)
[000005]    37100 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000006]    36745 | Frequency:     1825 Hz| [0|0|0|0]
STATUS (0x0048)
[000007]    38875 | Frequency:     1930 Hz| [0|0|0|0]
STATUS (0x0048)
[000008]    35690 | Frequency:     1772 Hz| [0|0|0|0]
STATUS (0x0048)
[000009]    35324 | Frequency:     1754 Hz| [0|0|0|0]
STATUS (0x0048)
[000010]    37099 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000011]    37099 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000012]    37454 | Frequency:     1860 Hz| [0|0|0|0]
STATUS (0x0048)
[000013]    37454 | Frequency:     1860 Hz| [0|0|0|0]
STATUS (0x0048)
[000014]    35324 | Frequency:     1754 Hz| [0|0|0|0]
STATUS (0x0048)
[000015]    38164 | Frequency:     1895 Hz| [0|0|0|0]
STATUS (0x0048)
[000016]    38519 | Frequency:     1913 Hz| [0|0|0|0]
STATUS (0x0048)
[000017]    35679 | Frequency:     1772 Hz| [0|0|0|0]
STATUS (0x0048)
[000018]    38164 | Frequency:     1895 Hz| [0|0|0|0]
STATUS (0x0048)
[000019]    38493 | Frequency:     1911 Hz| [0|0|0|0]
STATUS (0x0048)
[000020]    38519 | Frequency:     1913 Hz| [0|0|0|0]
STATUS (0x0048)
[000021]    37118 | Frequency:     1843 Hz| [0|0|0|0]
STATUS (0x0048)
[000022]    36567 | Frequency:     1816 Hz| [0|0|0|0]
STATUS (0x0048)
[000023]    37099 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000024]    37099 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000025]    38164 | Frequency:     1895 Hz| [0|0|0|0]
STATUS (0x0048)
[000026]    37809 | Frequency:     1877 Hz| [0|0|0|0]
STATUS (0x0048)
[000027]    37454 | Frequency:     1860 Hz| [0|0|0|0]
STATUS (0x0048)
[000028]    36389 | Frequency:     1807 Hz| [0|0|0|0]
STATUS (0x0048)
[000029]    35315 | Frequency:     1754 Hz| [0|0|0|0]
STATUS (0x0048)
[000030]    37765 | Frequency:     1875 Hz| [0|0|0|0]
STATUS (0x0048)
[000031]    37099 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000032]    36034 | Frequency:     1789 Hz| [0|0|0|0]
STATUS (0x0048)
[000033]    37277 | Frequency:     1851 Hz| [0|0|0|0]
STATUS (0x0048)
[000034]    34977 | Frequency:     1737 Hz| [0|0|0|0]
STATUS (0x0048)
[000035]    34081 | Frequency:     1692 Hz| [0|0|0|0]
STATUS (0x0048)
[000036]    38140 | Frequency:     1894 Hz| [0|0|0|0]
STATUS (0x0048)
[000037]    38874 | Frequency:     1930 Hz| [0|0|0|0]
STATUS (0x0048)
[000038]    36904 | Frequency:     1833 Hz| [0|0|0|0]
STATUS (0x0048)
[000039]    38519 | Frequency:     1913 Hz| [0|0|0|0]
STATUS (0x0048)
[000040]    36744 | Frequency:     1825 Hz| [0|0|0|0]
STATUS (0x0048)
[000041]    39229 | Frequency:     1948 Hz| [0|0|0|0]
STATUS (0x0048)
[000042]    36034 | Frequency:     1789 Hz| [0|0|0|0]
STATUS (0x0048)
[000043]    34969 | Frequency:     1736 Hz| [0|0|0|0]
STATUS (0x0048)
[000044]    38874 | Frequency:     1930 Hz| [0|0|0|0]
STATUS (0x0048)
[000045]    37454 | Frequency:     1860 Hz| [0|0|0|0]
STATUS (0x0048)
[000046]    37809 | Frequency:     1877 Hz| [0|0|0|0]
STATUS (0x0048)
[000047]    35679 | Frequency:     1772 Hz| [0|0|0|0]
STATUS (0x0048)
[000048]    36047 | Frequency:     1790 Hz| [0|0|0|0]
STATUS (0x0048)
[000049]    35679 | Frequency:     1772 Hz| [0|0|0|0]
STATUS (0x0048)
[000050]    37810 | Frequency:     1878 Hz| [0|0|0|0]
STATUS (0x0048)
[000051]    36745 | Frequency:     1825 Hz| [0|0|0|0]
STATUS (0x0048)
[000052]    37100 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000053]    35325 | Frequency:     1754 Hz| [0|0|0|0]
STATUS (0x0048)
[000054]    38165 | Frequency:     1895 Hz| [0|0|0|0]
STATUS (0x0048)
[000055]    36390 | Frequency:     1807 Hz| [0|0|0|0]
STATUS (0x0048)
[000056]    36035 | Frequency:     1789 Hz| [0|0|0|0]
STATUS (0x0048)
[000057]    39230 | Frequency:     1948 Hz| [0|0|0|0]
STATUS (0x0048)
[000058]    35325 | Frequency:     1754 Hz| [0|0|0|0]
STATUS (0x0048)
[000059]    37063 | Frequency:     1840 Hz| [0|0|0|0]
STATUS (0x0048)
[000060]    40650 | Frequency:     2019 Hz| [0|0|0|0]
STATUS (0x0048)
[000061]    37118 | Frequency:     1843 Hz| [0|0|0|0]
STATUS (0x0048)
[000062]    36744 | Frequency:     1825 Hz| [0|0|0|0]
STATUS (0x0048)
[000063]    37099 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000064]    35324 | Frequency:     1754 Hz| [0|0|0|0]
STATUS (0x0048)
[000065]    37809 | Frequency:     1877 Hz| [0|0|0|0]
STATUS (0x0048)
[000066]    38493 | Frequency:     1911 Hz| [0|0|0|0]
STATUS (0x0048)
[000067]    40472 | Frequency:     2010 Hz| [0|0|0|0]
STATUS (0x0048)
[000068]    37099 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000069]    37809 | Frequency:     1877 Hz| [0|0|0|0]
STATUS (0x0048)
[000070]    36728 | Frequency:     1824 Hz| [0|0|0|0]
STATUS (0x0048)
[000071]    35679 | Frequency:     1772 Hz| [0|0|0|0]
STATUS (0x0048)
[000072]    35324 | Frequency:     1754 Hz| [0|0|0|0]
STATUS (0x0048)
[000073]    37809 | Frequency:     1877 Hz| [0|0|0|0]
STATUS (0x0048)
[000074]    37099 | Frequency:     1842 Hz| [0|0|0|0]
STATUS (0x0048)
[000075]    36761 | Frequency:     1825 Hz| [0|0|0|0]
STATUS (0x0048)
[000076]    37455 | Frequency:     1860 Hz| [0|0|0|0]
STATUS (0x0048)
[000077]    38520 | Frequency:     1913 Hz| [0|0|0|0]
STATUS (0x0048)
[000078]    35502 | Frequency:     1763 Hz| [0|0|0|0]
STATUS (0x0048)
[000079]    36745 | Frequency:     1825 Hz| [0|0|0|0]
STATUS (0x0048)
[000080]    35306 | Frequency:     1753 Hz| [0|0|0|0]
STATUS (0x0048)
[000081]    37455 | Frequency:     1860 Hz| [0|0|0|0]
STATUS (0x0048)
[000082]    35325 | Frequency:     1754 Hz| [0|0|0|0]

Hi,
I'm using the LDC1614EVM with a 150 mH coil and 56 nF cap (around 1.7 kHz resonance). I attached to a STM32 controller to read and configure the LDC1614 over jumpers. 
The sensor runs in single-channel mode (CH0 only), calibrated IDRIVE is 0x6800, and I use external 40 MHz ref clock.
Even with stable test conditions, I see the measured frequency drifting slowly after ~10 minutes, but sensors frequency didn't shift. Also, the values fluctuate up/down by 100–200 Hz all the time (see attached oscilloscope screenshot and log). I tried the GUI. It behaves similar to my setup.

I tried different rcount and settlecount, but the fluctuation doesn’t go away.
Any ideas what could cause this drift and instability?
Settings are in the uploaded measurement file.

Thanks!

  • Yunus,

    Do you see the same drift if you use the PCB coil instead of the leaded coil shown in your picture?

    How are you measuring the frequency? Is it a direct measurement based on the LDC input waveforms, or is it derived from the device output?

    Does the posted picture always reflect your test setup?
    If so, does removing the probes change the drift (on the device outputs)?
    One trick we have found that helps reduce distortion of the waveform, even with a high impedance probe, is to place a 1k leaded resistor between the probe tip and the PCB test point.

    Regards,
    John

  • Hi John,

    Yes, the picture reflects my current setup. The drift still appears even when I remove the probes, and the output values  (based on LDC1614 data) continue to fluctuate.

    The frequency is derived from the LDC1614 output (DATA register), using the formula provided in the datasheet. I’ve tested both with the 40 MHz external clock and the internal clock (adjusted accordingly in the calculation), but it didn’t significantly change the behavior. The sampling is synchronized using the INTB signal.

    I haven’t yet tested with the PCB coil, because its resonance frequency is outside my range of interest. I’m targeting an oscillation between 1 kHz and 2 kHz.

    Regards,
    Yunus

  • Yunus,

    I have seen drift like you describe on test boards in our lab, and I think it is a function of the LC-based sensor oscillator.

    Active LC oscillators - like in our LDC products - have inherent phase noise behavior (with a 1/f2 spectrum) which can lead to variations on the output, including slow drift and higher-frequency output noise. There is also amplitude noise, but that tends to be negligible.

    A host of papers in IEEE journals look at this in detail.
    The one I have focused on for background and formulas is:

    Phase Noise in LC oscillators: A Phasor-based Analysis of a General Result and of Loaded Q,
    by David Murphy et al., IEEE Trans. on Circuits and Systems, Vol. 57, No. 6, June 2020, Pgs. 1187-1203

    We don't have a good model yet to provide more detailed guidance, but we hope to publish something soon as a blog post or an app note. 

    Please let me know if you have any questions.

    Regards,
    John

  • Thank you for your explanation.

    Are there products similar to your LDC oscillators that could offer better phase noise and drift performance in this frequency range? I don’t require the full feature set. What I’m really looking for is a solution that provides a stable, current-controlled oscillation for external oscillator. If you have any recommendations or alternatives, I’d greatly appreciate your response.

    Regards,
    Yunus

  • Yunus,

    Is the data conversion part of your requirements, or are you looking for just an oscillator?

    Regards,
    John

  • I'm looking for an oscillator similar to the LDC1612 or LDC1614, where the frequency is set by an external LC tank (inductor and capacitor).
    I need the ability to adjust the current.
    I don’t require the built-in digital conversion, as I will use the ADC of my microcontroller to read the signal.

  • Yunus,

    A simple search on TI.com turns up oscillators, but they tend to be crystal-based, or at least not LC oscillators.

    There may be some devices with the feature you are looking for in the motor-drivers group, but they may have a lot of extra functions.
    It still might be worth a look.

    Regards,
    John