ZHCSDS7A May 2015 – June 2015 LDC1101
PRODUCTION DATA.
NOTE
Information in the following applications sections is not part of the TI component specification, and TI does not warrant its accuracy or completeness. TI’s customers are responsible for determining suitability of components for their purposes. Customers should validate and test their design implementation to confirm system functionality.
An AC current flowing through an inductor will generate an AC magnetic field. If a conductive material, such as a metal object, is brought into the vicinity of the inductor, the magnetic field will induce a circulating current (eddy current) on the surface of the conductor. The eddy current is a function of the distance, size, and composition of the conductor.
The eddy current generates its own magnetic field, which opposes the original field generated by the inductor. This effect can be considered as a set of coupled inductors, where the inductor is the primary winding and the eddy current in the conductor represents the secondary winding. The coupling between the windings is a function of the inductor, and the resistivity, distance, size, and shape of the conductor.
To minimize the current required to drive the inductor, a parallel capacitor is added to create a resonant circuit, which will oscillate at a frequency given by Equation 1 when energy is injected into the circuit. In this way, the LDC1101 only needs to compensate for the parasitic losses in the sensor, represented by the series resistance RS of the LC tank. The oscillator is then restricted to operating at the resonant frequency of the LC circuit and injects sufficient energy to compensate for the loss from RS.
The resistance and inductance of the secondary winding caused by the eddy current can be modeled as a distant dependent resistive and inductive component on the primary side (coil). We can then represent the circuit as an equivalent parallel circuit, as shown in Figure 48.
The value of RP can be calculated with:
where
RP can be viewed as the load on the sensor driver; this load corresponds to the current drive needed to maintain the oscillation amplitude. The position of a target can change RP by a significant amount, as shown in Figure 49. The value of RP can then be used to determine the position of a conductive target. If the value of RP is too low, then the sensor driver will not be able to maintain sufficient oscillation amplitude.
For many systems which use the LDC1101, the actual sensor RP, sensor frequency, or sensor inductance is not necessary to determine the target position; typically the equation of interest is:
where
These Position equations are typically system dependent. For applications where the Sensor RP in Ωs needs to be calculated, use Equation 4:
where
For example, with device settings of:
If RPDATA = 0x33F1 (register 0x21 = 0xF1 and register 0x22= 0x33), which is 13297 decimal, then the sensor RP = 1.824 kΩ.
If RPMAX_DIS (Register 0x01-b[7]) is set, then the equation is simply:
The sensor frequency in Hz can be calculated from Equation 6:
where
The inductance in Henrys can then be determined from Equation 7:
where
Setting the RP_MIN and RP_MAX parameters is necessary for proper operation of the LDC1101; the LDC1101 may not be able to effectively drive the sensor with incorrect settings, as the sensor amplitude will be out of the valid operation region. The LDC1101EVM GUI and the LDC Excel® tools spreadsheet (http://www.ti.com/lit/zip/slyc137) can be used to calculate these parameters in an efficient manner.
For RP measurements, the following register settings must be set as follows:
RPD∞ ≤ RPMAX ≤ 2RPD∞
If the RP of the sensor is greater than 75 kΩ, RP measurement accuracy may be improved by setting RPMAX_DIS to 1.
RP Measurements require configuration of the TC1 and TC2 registers. There are several programmable capacitance and resistance values. Set Time Constant 1 based on minimum sensor frequency:
where
The acceptable range of R1 is from 20.6 kΩ to 417.4 kΩ. If several combinations of R1 and C1 are possible, it is recommended to use the largest capacitance setting for C1 that fits the constraints of Equation 8, as this will provide improved noise performance.
Set the Time Constant 2 (register 0x03) using Equation 9:
where
The acceptable range of R2 is from 24.60 kΩ to 834.8 kΩ. If several combinations of R2 and C2 are possible, it is recommended to program the larger capacitance setting for C2 that fits the constraints of Equation 9, as this will provide improved noise performance.
The LDC1101 includes a watchdog timer which monitors the sensor oscillation. While in active mode, if no sensor oscillation is detected, the LDC1101 will set STATUS.NO_SENSOR_OSC (register 0x20:bit7), and attempt to restart the oscillator. This restart will reset any active conversion.
The watchdog waits an interval of time based on the setting of DIG_CONF.MIN_FREQ (register 0x04:bits[7:4]). The MIN_FREQ setting is also used to configure the startup of oscillation on the sensor. Select the DIG_CONF.MIN_FREQ (register 0x04-bits[7:4]) setting closest to the minimum sensor frequency; this setting is used for internal watchdog timing. If the watchdog determines the sensor has stopped oscillating, it will report the sensor has stopped oscillating in STATUS. NO_SENSOR_OSC (register 0x20-bit7). If the DIG_CONF.MIN_FREQ is set too low, then the LDC1101 will take a longer time interval to report that the sensor oscillation has stopped.
If the DIG_CONF.MIN_FREQ is set too high, then the watchdog may incorrectly report that the sensor has stopped oscillating and attempt to restart the sensor oscillation.
When the watchdog determines that the sensor has stopped oscillating, the LHR conversion results will contain 0xFFFFFF.
The RP+L sample rate can be adjusted by setting by DIG_CONF.RESP_TIME (register 0x04:bits[2:0]). The Response time can be configured from 192 to 6144 cycles of the sensor frequency. Higher values of Response time will have a slower sample rate, but produce a higher resolution conversion.
For many systems which use the LDC1101, the actual sensor frequency or sensor inductance is not necessary to determine the target position. Should the sensor frequency in Hz need to be determined, use Equation 11:
where
Note that LHR_DATA=0x0000000 indicates a fault condition or that the LDC1101 has never completed an LHR conversion.
The inductance in Henrys can then be determined from the sensor frequency with Equation 12:
where
Example with the device set to:
and the conversion result is:
LHR_DATA = 0x123456 (register 0x38 = 0x56, register 0x39 = 0x34,register 0x3A = 0x12)
Then entering LHR_DATA = 0x123456 = 1193046 (decimal) into Equation 11:
Results in ƒSENSOR = 2.400066 MHz.
The conversion time represents the number of reference clock cycles used to measure the sensor frequency. The LHR mode conversion time is set by the Reference count in LHR_RCOUNT.RCOUNT (registers 0x30 & 0x31). The LHR conversion time is:
The 55 is due to post-conversion processing and is a fixed value. The reference count value must be chosen to support the required number of effective bits (ENOB). For example, if an ENOB of 13 bits is required, then a minimum conversion time of 213 = 8192 clock cycles is required. 8192 clock cycles correspond to a RCOUNT value of 0x0200.
Higher values for RCOUNT produce higher resolution conversions; the maximum setting, 0xFFFF, is required for full resolution.
Configure the RP measurement as shown previously for L measurements. If only L measurements are necessary, then the RP measurement can be disabled by setting:
Setting these bits disable the sensor modulation used by the LDC1101 to measure RP and can reduce L measurement noise. When the RP modulation is disabled, the LDC1101 will drive a fixed current level into the sensor. The current drive is configured by RP_SET.RPMIN (address 0x01:bits[2:0]). The sensor amplitude must remain between 0.25 Vpk and 1.25 Vpk for accurate L measurements. Use Table 36 to determine the appropriate RPMIN setting, based on the variation in sensor RP. If multiple RPMIN values cover the Sensor RP, use the higher current drive setting. The equation to determine sensor amplitude is:
RPMIN SETTING | RPMIN FIELD VALUE | SENSOR DRIVE (μA) |
MINIMUM SENSOR RP (kΩ) |
MAXIMUM SENSOR RP (kΩ) |
---|---|---|---|---|
0.75 kΩ | b111 | 600 | 0.53 | 1.65 |
1.5 kΩ | b110 | 300 | 1.1 | 3.3 |
3 kΩ | b101 | 150 | 2.1 | 6.5 |
6 kΩ | b100 | 75 | 4.2 | 13.1 |
12 kΩ | b011 | 37.5 | 8.4 | 26.2 |
24 kΩ | b010 | 18.7 | 16.9 | 52.4 |
48 kΩ | b001 | 9.4 | 33.9 | 105 |
96 kΩ | b000 | 4.7 | 67.9 | 209 |
For example, with a sensor that has an RP which can vary between 2.7 kΩ to 5 kΩ, the appropriate setting for RPMIN would be 3 kΩ (RP_SET.RPMIN = b101). For more information on Sensor RP and sensor drive, refer to Configuring Inductive-to-Digital-Converters for Parallel Resistance (RP) Variation in L-C Tank Sensors(SNAA221).
The reference clock frequency should be greater than 4 times the sensor frequency for optimum measurement resolution:
ƒCLKIN> 4ƒSENSOR-MAX
For higher sensor frequencies, this relationship may not be realizable without the sensor divider. Set the sensor divider to an appropriate value to produce an effective reduction in the sensor frequency:
ƒCLKIN> 4ƒSENSOR-MAX ÷ SENSOR_DIV
Use a clean, low jitter, 40-60% duty cycle clock input with an amplitude swing within the range of VDD and GND; proper clock impedance control, and series or parallel termination is recommended. The rise and fall time should be less than 5 ns. Do not use a spread-spectrum or modulated clock.
For optimum L measurement performance, it is recommended to use the highest reference frequency (16 MHz). LHR conversions will not start until a clock is provided on CLKIN.
INTB is a signal generated by the LDC1101 that reports a change in device status. When INTB_MODE.INTB2SDO=1 (register 0x0A:bit7), INTB is multiplexed onto the SDO pin. Once the reporting is enabled, select the desired signal to report by setting INTB_MODE.INTB_FUNC (register 0x0A:bit[5:0]).
For many microcontrollers, the MISO signal on the SPI peripheral cannot provide the desired interrupt functionality. One method to use the INTB functionality is to connect a second GPIO which triggers on a falling edge, as shown in Figure 51. Table 37 describes the signal functionality that can be programmed onto INTB.
SIGNAL | INTB_FUNC (0x0A:bit[5:0]) |
FUNCTIONALITY | SWITCH OUTPUT TYPE |
---|---|---|---|
LHR Data Ready (LHR-DRDY) | b10’0000 | Indicates new High-Resolution Inductance (LHR) conversion data is available. | Latching |
L_HI_LO | b01’0000 | L Comparator with hysteresis | Hysteresis |
L_TH_HI | b00’1000 | Latching L High threshold compare | Latching |
RP+L Data Ready (RPL-DRDY) | b00’0100 | Indicates new RP+L conversion data is available. | Pulse |
RP_HI_LO | b00’0010 | RP Comparator with hysteresis | Hysteresis |
RP_TH_HI | b00’0001 | Latching RP High threshold compare | Latching |
None | b00’0000 | No INTB reporting – SDO pin only provides SDO functionality. | N/A |
When INTB_MODE.INTB2SDO (register 0x0A:bit7) = 0, the SDO pin is in a Hi-Z state until the 8th falling edge of SCLK after CSB goes low. When INTB reporting is enabled by setting INTB_MODE.INTB2SDO = 1, after CSB goes low, the SDO pin will go high and remain high until:
Completion of a conversion can be indicated on the SDO pin by reporting the DRDY signal – there is a conversion complete indicator for the RP+L conversion (RPL-DRDY), and a corresponding conversion complete indicator for the LHR mode (LHR-DRDY).
When LHR-DRDY or RPL-DRDY is reported on SDO, the SDO pin is asserted on completion of a conversion. While in this mode, conversion data can be corrupted if a new conversion completes while reading the output data registers. To avoid data corruption, it is important to retrieve the conversion rates via SPI quicker than the shortest conversion interval, and to ensure that the data is retrieved before a new conversion could possibly complete.
When INTB is reporting RPL-DRDY, if CSB is held low for longer than one conversion cycle, INTB will be deasserted approximately 100 ns to 2 µs prior to the completion of each conversion. The deassertion time is proportional to 1/ƒSENSOR.
When INTB is reporting LHR-DRDY, if CSB is held low for longer than one conversion cycle, INTB will assert on completion of the first conversion and remain low – and it will remain asserted until cleared. To clear the LHR_DRDY signal, read the LHR_DATA registers.
Note that the conversion interval for an LHR measurement is asynchronous to the conversion interval for an RP+L measurement, therefore the LHR-DRDY signal cannot be used to determine when to read RP+L conversion results, and vice versa.
The LDC1101 provides comparator functionality, in which the RP+L conversion results can be compared against two thresholds. The results of each RP and L conversion can be compared against programmable thresholds and reported in the STATUS register. Note that the LHR conversion results cannot be used for comparator functionality.
In addition, the INTB signal can be asserted or deasserted when the conversion results increase above a Threshold High or decreases below a Threshold Low registers. In this mode, the LDC1101 essentially behaves as a proximity switch with programmable hysteresis. The threshold HI settings must be programmed to a higher value than the threshold LO registers (for example, if RP_THRESH_LO is set to 0x2000, RP_THRESH_HI should programmed to 0x2001 or higher).
Either Latching and non-latching functions can be reported on INTB/SDO. The INTB signal can report a latching signal or a continuous comparison for each conversion result.
The Threshold setting registers (address 0x06:0x09 and 0x16:0x19) can be changed while the LDC1101 is in active conversion mode. It is recommended to change the register values using an extended SPI transaction as described in SPI Programming, so that the register updates can be completed in a shorter time interval. This functionality enables the LDC1101 to operate as a dynamic tracking switch. LDC1101 output codes can be readout in < 4 μs, and the set of active thresholds can be updated in <6 μs. It is not recommended to update the threshold registers more often than once per conversion interval of the LDC1101 (that is, do not change the threshold register values multiple times in a single conversion interval).
To clear a latched INTB signal, set INTB_MODE = 0x80; it is not necessary for the LDC1101 to be in Sleep mode to clear the latched output; the INTB_MODE can be changed while the LDC1101 is in active mode. After clearing the latched output, re-enabling the INTB_FUNC can be done while in active mode.
FUNCTION | THRESHOLD HIGH | THRESHOLD LOW | STATUS REPORTING |
INTB/SDO REPORTING |
---|---|---|---|---|
RP Comparator with hysteresis | RP_THRESH_HI (registers 0x06 & 0x07) |
RP_THRESH_LO (registers 0x08 & 0x09) |
RP_HI_LON (bit 4) |
RP_HI_LO (INTB_MODE:INTB_FUNC=b00’0010) |
RP High threshold only (Latching) | RP_THRESH_HI (registers 0x06 & 0x07) |
N/A | RP_HIN (bit 5) |
RP_TH_HI (INTB_MODE:INTB_FUNC=b00’0001) Note that INTB/SDO will latch. |
L Comparator with hysteresis | L_THRESH_HI (registers 0x16 & 0x17) |
L_THRESH_LO (registers 0x18 & 0x19) |
L_HI_LON (bit 2) |
L_HI_LO (INTB_MODE:INTB_FUNC=b01’0000) |
L High threshold compare only (Latching) | L_THRESH_HI (registers 0x18 & 0x19) |
N/A | L_HIN (bit 3) | L_TH_HI (INTB_MODE:INTB_FUNC=b00’1000) Note that INTB/SDO will latch. |
space
Implementation of a system using the LDC1101 first requires determining the appropriate measurement to perform. Refer to http://e2e.ti.com/blogs_/b/analogwire/archive/2015/02/11/inductive-sensing-should-i-measure-l-rp-or-both for guidance.
For systems that require measurement of RP, set the following:
Example of an axial measurement implementation using the LDC1101. In this example, the sensor is an inductor constructed of a multi-layer PCB coil in parallel with a C0G grade surface mount capacitor. For this example, a 10 mm diameter Aluminum target of 1mm thickness is moved perpendicular to the plane of the sensor coil.
For this example, the target range of motion is from 1 mm to 3 mm distance from the sensor coil. The position of the target needs to be reported at a sample rate of 3 ksps. The PCB is a 4-layer construction with 0.1 mm (4 mils) minimum feature size.
The sensor described in Table 39 meets the restrictions on size on construction. To use it for RP+L measurement of a 10 mm diameter 1 mm thick Aluminum target moving axially with respect to the sensor:
PARAMETER | MINIMUM TARGET INTERACTION | STRONGEST TARGET INTERACTION |
---|---|---|
Inductance | 5.47 µH | 5.15 µH |
Inductor Outer Diameter | 10 mm | |
Number of Turns | 17 | |
Trace Spacing/ Trace Width | 0.1 mm / 0.16 mm | |
Number of Layers/Separation | 2 / 0.355 mm | |
Sensor Capacitance | 270 pF | |
Sensor Frequency | 4.11 MHz | 4.27 MHz |
RS | 3.20 Ω at 2.93 MHz | 3.23 Ω at 4.27 MHz |
RP | 6.33 kΩ at 2.93 MHz | 5.91 kΩ at 4.27 MHz |
Q at 2.9 MHz | 45 | 42 |
This sensor is within the LDC1101 sensor boundary conditions for frequency, Q, and RP. The first step is to determine the appropriate RPMIN/RPMAX and TC1/2 settings.
6.11 kΩ ≤ RPMAX ≤ 12.22 kΩ → Set RPMAX to 12 kΩ
0.8 × 3.20 kΩ = 2.6 kΩ → Set RPMIN to 1.5 kΩ. Therefore, set RPMIN = 1.5 kΩ.
R1 × C1 = 0.75026 ÷ 4.11 MHz = 1.8255E-7s
Starting with the largest C1 value of 6 pF for best noise performance results in R1 = 30.5 kΩ.
This is within the R1 range of 20.6 kΩ to 417.4 kΩ, and so C1 = 6 pF can be used.
Picking the next higher programmable value for R1 → Set R1 = 33.9 kΩ.
R2 × C2 = 2 × 1.5 kΩ × 270 pF = 8.100E-7s
Starting with the largest C2 value of 24 pF (once again, for best noise performance) results in
R2 = 33.75 kΩ.
This is within the programmable R2 value of 24.60 kΩ to 834.8 kΩ, and so 24 pF can be used for C2.
Picking the next higher programmable value for R2 → Set R2 = 43.3 kΩ.
FIELD | FIELD SETTING | FIELD VALUE | REGISTER | REGISTER VALUE |
---|---|---|---|---|
RPMAX_DIS | disabled | b0 | RP_SET (0x01) | 0x36 |
RPMAX | 12.0 kΩ | b011 | ||
RPMIN | 1.5 kΩ | b110 | ||
C1 | 6 pF | b11 | TC1 (0x02) | 0xDE |
R1 | 33.9 kΩ | b1’1110 | ||
C2 | 24 pF | b11 | TC2 (0x03) | 0xFE |
R2 | 43.3 kΩ | b11’1110 | ||
MIN_FREQ | 4.0 MHz | b1110 | DIG_CONF (0x04) | 0xE6 |
RESP_TIME | 3072 | b110 | ||
FUNC_MODE | active | b00 | START_CONFIG (0x0B) | 0x00 |
On power-up, the LDC1101 enters Sleep mode, which is a low power mode used to configure the LDC. If the LDC1101 is actively converting, write 0x01 to START_CONFIG (address 0x0B) to stop conversions before writing the settings above.
Once the LDC1101 is configured, the process to retrieve RP+L conversion results is:
Given a sensor with characteristics as shown in Table 39, the steps to configure the LDC1101 for LHR measurements are:
FIELD | FIELD SETTING | FIELD VALUE | REGISTER | REGISTER VALUE |
---|---|---|---|---|
RPMAX_DIS | disabled | b0 | RP_SET (0x01) | 0x75 |
RPMAX | doesn’t matter | b111 | ||
RPMIN | 1.5 kΩ | b101 | ||
MIN_FREQ | 4.0 MHz | b1110 | DIG_CONF (0x04) | 0xE7 |
RESP_TIME | don’t care | b111 | ||
RCOUNT | 5280 | 330 | LHR_RCOUNT_LSB (0x30) | 0x4A |
LHR_RCOUNT_MSB (0x31) | 0x01 | |||
FUNC_MODE | active | b00 | START_CONFIG (0x0B) | 0x00 |
Once the LDC1101 is configured, the process to retrieve LHR conversion results is:
Both sets of conversion results can be retrieved when the conversions complete. Note that the RP+L conversions will not complete at the same time as LHR conversions.
The RCOUNT = 0x00FF curve, which corresponds to a sample rate of 3.87 ksps, will measure the target position with a slightly lower resolution than the RCOUNT = 0x014A used in this example. Over the target movement range of 3 mm, which corresponds to the normalized value of 0.3 on the Axial Measurement graph, the target position can be resolved to 4 µm.