资讯详情

电容传感器FDC2214单通道应用寄存器计算

陈拓 2021/03/10-2021/03/14

1. 概述

在《FDC系列电容传感器及FDC2214使用要点》

https://zhuanlan.zhihu.com/p/353481800

https://blog.csdn.net/chentuo2000/article/details/114213785

本文介绍了多通道应用寄存器的初始值计算。

本文单通道0应用中寄存器初始值的计算。

计算结果验证见:

电容传感器FDC2214计算工具FDC_Tools-development5的使用》

2. FDC2214寄存器设置

在我的应用中使用单通道、单端模式和外部参考时钟。

2.1 启动模式

接通FDC电源后,进入休眠模式Sleep Mode并等待配置。一旦设备配置,可以设置CONFIG寄存器0x1A的SLEEP_MODE_EN位为b退出休眠模式。

2.2 休眠模式

建议在睡眠模式下配置FDC。若需变更FDC设置,先设置CONFIG寄存器0x1A的SLEEP_MODE_EN位为b返回休眠模式,更改相应的寄存器,然后退出休眠模式。

2.3 原理图

传感器极板连接到通道0IN0A引脚,IN0B引脚悬空,如图所示。

2.4 传感器工作频率

传感器使用18μH电感器和33pF电容器。此外,引脚、布线和导线电容约为20pF,所以总电容约为53pF。LC震荡频率:

fSENSOR=1/2π√(LC)=1/2π√(18*10-6*53*10-12)=5.15MHz

这表示传感器频率的最大值。当传感器电容增加时,频率会降低。也就是说,测量的电容越大,fSENSOR值越小。

2.5 系统时钟

可以从CLKIN使用外部系统主时钟输入引脚,也可灵活设置内部时钟频率。我们使用40MHz外部时钟,即fCLK=40MHz。fREFx=fCLK/CHx_FREF_DIVIDER。

2.6 输出数据

数据手册可知:

也就是说,输出数据是传感器频率与参考频率之比。测量的电容越大,输出值就越大DATA越小。

3. 计算寄存器的初始值

在很大程度上,确定设备的最佳时间设置取决于应用和传感器设计,但一般应考虑以下几点:

  • 每个通道应尽可能具有最大参考频率。
  • 转换计数需要足够长的时间,但增加任意计数不会产生任何价值,只会降低采样率。 参考数据手册计算最佳转换计数。
  • 参考计数对测量精度影响最大。增加参考计数会使测量结果更准确,但成本是降低采样率。根据参考计数计算各通道的有效位数。

3.1 时钟配置

  • 确定参考时钟分配器CH0_FREF_DIVIDER的值

关键时钟关键时钟是fIN、fREF和fCLK(图中粗体显示)。fCLK内部时钟源或外部时钟源(CLKIN)由寄存器0选择x1A的REF_CLK_SRC位设置。频率测量基准时钟fREF由fCLK寄存器0导出源x14-0x17的CHx_FREF_DIVIDER位对应通道0-通道3设置。建议使用外部主时钟来提供应用所需的稳定性和准确性。内部振荡器可用于低成本应用,无需高精度。fINx通道x的传感器频率时钟fSENSORx寄存器0导出x14-0x17的CHx_FIN_SEL设置对应通道0-通道3。fREFx和fINx表1中列出的要求必须满足,这取决于fCLK(主时钟)内外时钟。

我们的应用选择单通道0。从表中可以看出,外部和内部时钟源都需要fREF0≤35MHz,因此CH0_FREF_DIVIDER设置为b10,即除以2。

fREF0=fCLK/CH0_FREF_DIVIDER=40/2=20MHz

  • 确定传感器通道0的分频器CH0_FIN_SEL的值

单端传感器配置寄存器x14的CH0_FIN_SEL域为b10。

  • 确定寄存器0x14的值

15:14 b00保留

13:12 传感器频率计算在单端传感器配置之前fSENSOR<5.15 MHz,所以选b10

11:10 b00保留

9:2 CH0_FREF_DIVIDER b00’0000’0010

寄存器0x14的综合值为0x2002(b0010’0000’0000’0010)

  • 时钟约束

从table 1可知fINx < fREFx/4

在寄存器0x14中已设置CH0_FIN_SEL为b10,所以

fIN0=fSENSOR0/2=5.15/2=2.58MHz

fREF0/4=20/4=5MHz

满足约束fIN0 < fREF0/4

3.2 传感器驱动电流

CHx_IDRIVE域的编程应确保传感器振幅在1.2Vpk(VSENSORMIN)和1.8Vpk(VSENSORMAX)之间。控制电压范围,测量示波器上的振荡范围,并通过设置通道的电流驱动值进行调整IDRIVE确定最佳设置值。在这种情况下,IDRIVE值为15(十进制),相应振幅为1.68 V(pk)。DRIVE_CURRENT_CH0寄存0x1E的合并值为0x7800(b0111’1000’0000’0000)。

寄存器0x1E的15:11位为b01111时对应的电流IDRIVE0为0.146mA。

可以使用较低的VSENSORMIN振荡幅度,但会导致较低的信噪比。

高于VSENSORMAX的振荡幅度不建议使用,因为这时ESD钳位将转换为LC振荡电路的一部分,导致频移。

3.3 时间序列

在单通道连续采样的情况下,当FDC序列以单通道模式通过通道时,第一次转换之前有一个传感器激活时间sensor activation time,之后次转换时间间隔是由二个部分组成的:

1) 转换时间conversion

2) 振幅校正时间Amplitude Correction

为了降低功耗,我们不需要连续采样,在一次采样之后让器件进入休眠模式Sleep Mode。这样每次转换的时间间隔就由三部分组成:

1) 传感器激活时间sensor activation

2) 转换时间conversion

3) 振幅校正Amplitude Correction

传感器激活时间是传感器振荡所需的稳定时间(tS0),这个时间是可编程的,并且应设置足够长以获得稳定的振荡。

3.4 计算稳定时间(tS0)

  • 计算CH0_SETTLECOUNT

约束条件:CH0_SETTLECOUNT > Vpk*fREF0*C*π2/(32*IDRIVE0)

Vpk*fREF0*C*π2/(32*IDRIVE0)=

1.68*20*106*53*10-12 * 3.142/(32*146*10-6)=3.76

四舍五入为4。为了提供冗余以保证系统公差,选择更高的值10。所以,寄存器0x10的CH0_SETTLECOUNT域应至少编程为10(0x0A)。

这也满足Table 1中给出约束:CHx_SETTLECOUNT > 3

  • 稳定时间

从Table 5和Table 28的说明可知,通道0的稳定等待时间tS0(settle time)由下式给出:

(tS0)= (CH0_SETTLECOUNTˣ16) ÷ fREF0 =

(10*16)/20,000,000=8µs

注意:图中Address 0x11应为Address 0x10。

3.5 振幅校正时间

手册中未给出振幅校正时间,我们参考多通道应用的通道切换时间,当fREF=20MHz时,信道切换延迟channel switching delay约为2μs,参考数据手册:

3.6 计算转换时间

应用需要100SPS(TSAMPLE=10ms),通道0转换时间为:

 (tC0)=(TSAMPLE - settle time - channel switching delay) =

(10,000-8-1) = 9991 = 9.991ms

由Table 20,转换时间(tC0)=(CH0_RCOUNT*16)/fREF0

CH0_RCOUNT=(tC0)*fREF0/16=9.991*10-3*20*106/16=12488(0x30C8)

设置CH0_RCOUNT寄存器(0x08)为0x30C8

有效位数ENOB

必须选择参考计数值以支持所需的有效位数(ENOB)。例如,如果需要13位的ENOB,则最小转换时间为 个时钟周期。8192个时钟周期对应于CHx_ RCOUNT值0x0200。

3.7 设置ERROR_CONFIG寄存器

设置DRDY_2INT=b1,用断言INTB引脚报告数据准备好标志,同时更新STATUS. DRDY寄存器域。

设置ERROR_CONFIG寄存器0x19为0x0001。

3.8 编程MUX_CONFIG寄存器0x1B

3.9 对CONFIG寄存器编程

(a) 将ACTIVE_CHAN域设置为b00以选择信道0

(b) 将SLEEP_MODE_EN域设置为b0以启动转换。

(c) 设置SENSOR_ACTIVATE_SEL = b1

低功率活动模式,在传感器运行期间,FDC使用在DRIVE_CURRENT_CHx寄存器(0x1E)中编程的最小功耗。

(d) 将REF_CLK_SRC域设置为b1以使用外部时钟源。

(e) INTB_DIS=0,当状态寄存器更新时断言中断引脚INTB。

(f) HIGH_CURRENT_DRV=b1,用>1.5mA的电流驱动通道0。

CONFIG寄存器(地址0x1A)的组合值为:

使用内部时钟0x1C01(b0001’1100’0000’0001)

使用外部时钟0x1E01(b0001’1110’0000’0001)

4. 寄存器的值和写入顺序

建议采用以下顺序写入寄存器:

0x08

RCOUNT_CH0

0x30C8

RCOUNT=12488 (9.991ms转换时间)

0x10

SETTLECOUNT_CH0

0x000A

传感器最小稳定时间

0x14

CLOCK_DIVIDERS_CH0

0x2002

CH0_FIN_DIVIDER = 2, CH0_FREF_DIVIDER = 2

0x19

ERROR_CONFIG

0x0001

启用中断

0x1B

MUX_CONFIG

0x020D

启用CH0,将输入抗尖峰脉冲带宽设置为10MHz

0x1E

DRIVE_CURRENT_CH0

0x7800

通道0的传感器驱动电流设置为0.146mA

0x1A

CONFIG

0x1C01(内部时钟) 0x1E01(外部时钟)

低功耗活动模式,断言中断引脚,0x1E设置的正常驱动电流

 

标签: 04ts传感器传感器ref02ts传感器h1141电容传感器991b传感器b00正反转速传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台