SNOSCZ5B June 2015 – October 2024 FDC2112 , FDC2114 , FDC2212 , FDC2214
PRODUCTION DATA
The multi-channel package of the FDC enables the user to save board space and support flexible system design. For example, temperature drift can often cause a shift in component values, resulting in a shift in resonant frequency of the sensor. Using a second sensor as a reference provides the capability to cancel out a temperature shift. When operated in multi-channel mode, the FDC sequentially samples the active channels. In single-channel mode, the FDC samples a single channel, which is selectable. Table 7-3 shows the registers and values that are used to configure either multi-channel or single-channel modes.
MODE | REGISTER | FIELD [ BIT(S) ] | VALUE |
---|---|---|---|
Single channel | CONFIG, addr 0x1A | ACTIVE_CHAN [15:14] | 00 = chan 0 |
01 = chan 1 | |||
10 = chan 2 | |||
11 = chan 3 | |||
MUX_CONFIG addr 0x1B | AUTOSCAN_EN [15] | 0 = continuous conversion on a single channel (default) | |
Multi-channel | MUX_CONFIG addr 0x1B | AUTOSCAN_EN [15] | 1 = continuous conversion on multiple channels |
MUX_CONFIG addr 0x1B | RR_SEQUENCE [14:13] | 00 = Ch0, Ch 1 | |
01 = Ch0, Ch 1, Ch 2 | |||
10 = Ch0, CH1, Ch2, Ch3 |
The digitized sensor measurement for each channel (DATAx) represents the ratio of the sensor frequency to the reference frequency.
The data output (DATAx) of the FDC2112 and FDC2114 is expressed as the 12 MSBs of a 16-bit result:
The data output (DATAx) of the FDC2212 and FDC2214 is expressed as:
Table 7-4 illustrates the registers that contain the fixed point sample values for each channel.
CHANNEL(2) | REGISTER(1) | FIELD NAME [ BITS(S) ] AND VALUE (FDC2112, FDC2114) | FIELD NAME [ BITS(S) ] AND VALUE (FDC2212, FDC2214) (3)(4) |
---|---|---|---|
0 | DATA_CH0, addr 0x00 | DATA0 [11:0]: 12 bits of the 16 bit result. 0x000 = under range 0xfff = over range | DATA0 [27:16]: 12 MSBs of the 28 bit result |
DATA_LSB_CH0, addr 0x01 | Not applicable | DATA0 [15:0]: 16 LSBs of the 28 bit conversion result | |
1 | DATA_CH1, addr 0x02 | DATA1 [11:0]: 12 bits of the 16 bit result. 0x000 = under range 0xfff = over range | DATA1 [27:16]: 12 MSBs of the 28 bit result |
DATA_LSB_CH1, addr 0x03 | Not applicable | DATA1 [15:0]: 16 LSBs of the 28 bit conversion result | |
2 | DATA_CH2, addr 0x04 | DATA2 [11:0]: 12 bits of the 16 bit result. 0x000 = under range 0xfff = over range | DATA2 [27:16]: 12 MSBs of the 28 bit result |
DATA_LSB_CH2, addr 0x05 | Not applicable | DATA2 [15:0]: 16 LSBs of the 28 bit conversion result | |
3 | DATA_CH3, addr 0x06 | DATA3 [11:0]: 12 bits of the 16 bit result. 0x000 = under range 0xfff = over range | DATA3 [27:16]: 12 MSBs of the 28 bit result |
DATA_LSB_CH3, addr 0x07 | Not applicable | DATA3 [15:0]: 16 LSBs of the 28 bit conversion result |
When the FDC sequences through the channels in multi-channel mode, the dwell time interval for each channel is the sum of three parts:
The sensor activation time is the amount of settling time required for the sensor oscillation to stabilize, as shown in Figure 7-4. The settling wait time is programmable, and TI recommends setting the wait time to a value that is long enough to allow stable oscillation. The settling wait time for channel x is given by:
Table 7-5 illustrates the registers and values for configuring the settling time for each channel.
CHANNEL(1) | REGISTER | FIELD | CONVERSION TIME(2) |
---|---|---|---|
0 | SETTLECOUNT_CH0, addr 0x10 | CH0_SETTLECOUNT [15:0] | (CH0_SETTLECOUNT*16)/fREF0 |
1 | SETTLECOUNT_CH1, addr 0x11 | CH1_SETTLECOUNT [15:0] | (CH1_SETTLECOUNT*16)/fREF1 |
2 | SETTLECOUNT_CH2, addr 0x12 | CH2_SETTLECOUNT [15:0] | (CH2_SETTLECOUNT*16)/fREF2 |
3 | SETTLECOUNT_CH3, addr 0x13 | CH3_SETTLECOUNT [15:0] | (CH3_SETTLECOUNT*16)/fREF3 |
The SETTLECOUNT for any channel x must satisfy:
where
Round the result to the next highest integer (for example, if Equation 4 recommends a minimum value of 6.08, program the register to 7 or higher).
The conversion time represents the number of reference clock cycles used to measure the sensor frequency and is set by the CHx_RCOUNT register for the channel. The conversion time for any channel x is:
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 CHx_RCOUNT value of 0x0200.
CHANNEL | REGISTER | FIELD [ BIT(S) ] | CONVERSION TIME |
---|---|---|---|
0 | RCOUNT_CH0, addr 0x08 | CH0_RCOUNT [15:0] | (CH0_RCOUNT*16)/fREF0 |
1 | RCOUNT_CH1, addr 0x09 | CH1_RCOUNT [15:0] | (CH1_RCOUNT*16)/fREF1 |
2 | RCOUNT_CH2, addr 0x0A | CH2_RCOUNT [15:0] | (CH2_RCOUNT*16)/fREF2 |
3 | RCOUNT_CH3, addr 0x0B | CH3_RCOUNT [15:0] | (CH3_RCOUNT*16)/fREF3 |
The typical channel switch delay time between the end of conversion and the beginning of sensor activation of the subsequent channel is:
The deterministic conversion time of the FDC allows data polling at a fixed interval. For example, if the programmed RCOUNT setting is 512 FREF cycles and SETTLECOUNT is 128 FREF cycles, then one conversion takes 1.8ms (sensor-activation time) + 3.2ms (conversion time) + 0.75ms (channel-switch delay) = 16.75ms per channel. If the FDC is configured for dual-channel operation by setting AUTOSCAN_EN = 1 and RR_SEQUENCE = 00, then one full set of conversion results are available from the data registers every 33.5ms.
A data ready flag (DRDY) is also available for interrupt driven system designs (see the STATUS register description in Register Maps).