主题中讨论的其他器件: 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 在传感器激活期间启用全电流驱动、选择外部时钟源、
谢谢、
青蛙