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.

[参考译文] FDC2214:测量中的噪声过大

Guru**** 2589300 points
Other Parts Discussed in Thread: FDC2214, FDC2114

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/608384/fdc2214-excessive-noise-in-measurements

器件型号:FDC2214
主题中讨论的其他器件: FDC2114

我使用 FDC2214来检测导电板角度的小角度变化(有点像老式可变电容器)。  我目前看到的是28位数据、但底部的10位或12位是噪声。  考虑到这表面上是一个28位器件、我不希望依赖底部的一个或两个位、但它肯定应该比这个更好-很明显、我做了一些错误。

我已经详细阅读了数据表;我正在使用高度稳定的40MHz 时钟源、并且电源已完全去耦。  我注意到、无论信号振幅如何、LC 电路的输出始终会降至0V、然后会发生一些反弹。  这是在连接示波器探针的情况下进行的;很显然、如果未连接、我无法看到发生了什么情况。  这是正常操作吗?

您对我如何提高绩效有什么建议吗?

这里是我目前使用的寄存器设置、大家可以看到、如果有任何交互、我只运行单个通道;我希望使它尽可能稳定、然后在那里工作。

I2C_0_writeRegister (FDC2114_reset、0x8000);//执行器件复位


//根据数据表(p42)
//初始值为8239,但 FFFF 应提供最佳分辨率
I2C_0_writeRegister (FDC2114_RCOUNT_CH0、0xFFFF);//根据时序要求(100SPS)和分辨率要求计算 RCOUNT_CH0参考计数
I2C_0_writeRegister (FDC2114_RCOUNT_CH1、0xFFFF);//根据时序要求(100SPS)和分辨率要求计算 RCOUNT_CH1参考计数
I2C_0_writeRegister (FDC2114_RCOUNT_CH2、0xFFFF);//根据时序要求(100SPS)和分辨率要求计算 RCOUNT_CH2参考计数
I2C_0_writeRegister (FDC2114_RCOUNT_CH3、0xFFFF);//根据时序要求(100SPS)和分辨率要求计算 RCOUNT_CH3参考计数

//初始值为0x0a
I2C_0_writeRegister (FDC2114_SETTLECOUNT_CH0、0x010A);// SETTLECOUNT_CH0所选传感器的最短稳定时间
I2C_0_writeRegister (FDC2114_SETTLECOUNT_CH1、0x010A);// SETTLECOUNT_CH1所选传感器的最短稳定时间
I2C_0_writeRegister (FDC2114_SETTLECOUNT_CH2、0x010A);// SETTLECOUNT_CH2所选传感器的最短稳定时间
I2C_0_writeRegister (FDC2114_SETTLECOUNT_CH3、0x010A);// SETTLECOUNT_CH3所选传感器的最短稳定时间

I2C_0_writeRegister (FDC2114_Clock_divider _CH0、0x1001);// clock_divider CH0_FIN_divider = 1、CH0_FREF_divider = 1
I2C_0_writeRegister (FDC2114_Clock_divider _CH1、0x1001);// clock_divider _CH1_FIN_divider = 1、CH1_FREF_divider = 1
I2C_0_writeRegister (FDC2114_Clock_divider _CH2、0x1001);// clock_divider _CH1_FIN_divider = 1、CH1_FREF_divider = 1
I2C_0_writeRegister (FDC2114_Clock_divider、0x1001);// clock_divider CH1_FIN_divider = 1、CH1_FREF_divider = 1

I2C_0_writeRegister (FDC2114_ERROR_CONFIG、0x0000);// ERROR_CONFIG 可以从默认值更改为报告状态和错误条件

//一次尝试一个通道

I2C_0_writeRegister (FDC2114_MUX_CONFIG、0b0100001000001101);// MUX_CONFIG 启用 Ch 0、Ch 1和 Ch 2 (顺序模式)、将输入抗尖峰脉冲带宽设置为10MHz

//最初为0x7000、提供大约1.8V
I2C_0_writeRegister (FDC2114_DRIVE_CURRENT_CH0、0x4000);// DRIVE_CURRENT_CH0设置通道0上的传感器驱动电流
I2C_0_writeRegister (FDC2114_Drive_Current_CH1、0x4000);// drive_curry_ch1设置通道1上的传感器驱动电流
I2C_0_writeRegister (FDC2114_Drive_Current_CH2、0x4000);// drive_curry_ch2设置通道2上的传感器驱动电流
I2C_0_writeRegister (FDC2114_Drive_Current_CH3、0x4000);// Drive_Current_CH3设置通道3上的传感器驱动电流

I2C_0_writeRegister (FDC2114_CONFIG、0b1001011000000001);// CONFIG 在传感器激活期间启用全电流驱动、选择外部时钟源、  

谢谢、

 青蛙

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Frog、

    有效的系统级分辨率实际上取决于系统本底噪声和信号的动态范围。 "28位"仅指内部 ADC 限制。

    如果您正在寻找精密角度测量、则可以考虑电感方法。

    http://www.ti.com/tool/TIDA-00508

    此致、

    Yibo