配置寄存器1 (0x00)
Vout1_Ad = d88、Vout1 = 0.216507、Vout2_ad = f109、Vout2 =-0.239445、temp_ad = e811、 温度=-5598
配置寄存器1 (0xA0)(正常数据)
Vout1_Ad = eff1、Vout1 =-0.256945、Vout2_AD = e817、Vout2 =-0.382574、temp_ad = d8c、 温度= 270
在同一操作期间、仅更改寄存器1的数据速率。 数据值来自之前的数据值
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.
配置寄存器1 (0x00)
Vout1_Ad = d88、Vout1 = 0.216507、Vout2_ad = f109、Vout2 =-0.239445、temp_ad = e811、 温度=-5598
配置寄存器1 (0xA0)(正常数据)
Vout1_Ad = eff1、Vout1 =-0.256945、Vout2_AD = e817、Vout2 =-0.382574、temp_ad = d8c、 温度= 270
在同一操作期间、仅更改寄存器1的数据速率。 数据值来自之前的数据值
出什么问题了
尊敬的 Kim Sungsoo:
欢迎来到 E2E 论坛! 您的测量中似乎存在相当大的噪声。 以较低的数据速率运行时、噪声会平均出来。 噪声可能来自多种来源、包括模拟电源、接地不良、输入电源噪声、布线中的 EMI/RFI 拾取以及布线中的电源线路周期拾取。
为了验证、请尝试在连续转换模式下运行、并进行一系列测量、以查看影响返回结果的噪声大小。
此外、您能否提供更多详细信息:
此致、
Bob B
感谢您的快速响应。
Vout1 = 配置寄存器0 (0x00)
配置寄存器 1 (0x00)
Vout2 = 配置寄存器0 (0x60)
配置寄存器 1 (0x00)
温度= 配置寄存器1 (0x01)(温度)
Vout1_Ad = d8a Vout1 = 0.216632 Vout2_AD = 3d83 Vout2 = 0.984217 temp_ad = c26b temp =-6351
Vout1_Ad = d88 Vout1 = 0.216507 Vout2_ad = 3d8c Vout2 = 0.984780 temp_ad = c26c temp =-6351
Vout1_Ad = d88 Vout1 = 0.216507 Vout2_AD = 3d8a Vout2 = 0.984655 temp_ad = c266 temp =-6352
Vout1_Ad = d87 Vout1 = 0.216444 Vout2_AD = 3d92 Vout2 = 0.985155 temp_ad = c26b temp =-6351
Vout1 = 配置寄存器0 (0x00)
配置寄存器 1 (0xA0)
Vout2 = 配置寄存器0 (0x60)
配置寄存器 1 (0xA0)
温度= 配置寄存器1 (0XA1)(温度)
Vout1_Ad = 3dd7 Vout1 = 0.989468 Vout2_ad = c1b2 Vout2 =-0.996905 temp_ad = d94 temp = 271
Vout1_Ad = 3e63 Vout1 = 0.998218 Vout2_ad = c188 Vout2 =-0.999530 temp_ad = d92 temp = 271
Vout1_Ad = 3e78 Vout1 = 0.999530 Vout2_ad = c188 Vout2 =-0.999530 temp_ad = d90 temp = 271
Vout1_Ad = 3e56 Vout1 = 0.997405 Vout2_ad = c1c4 Vout2 =-0.995780 temp_ad = d8f temp = 270
Voutx_ad * 0.0000625019 = Voutx
temp_ad >> 2 * 0.3125 =温度
输入电压= 1V
ads112c04测试在办公室进行。
仅更改配置寄存器1值
输入电压由电源提供。
更低的数据速率是否更适合噪声?
我想知道为什么我需要加速数据以获得正确的值。
以下工作顺序是否存在任何问题? (每个提前期1秒)
VOUT1
ADS112C04_WrConfig (AD112_WRCFG_0、0x00);// AIN0-AIN1
ADS112C04_WrConfig (AD112_WRCFG_1、0xA0);//或0x00
ADS112C04_START ();
AD [0]= ADS112C04_ReadData ();
VOUT2
ADS112C04_WrConfig (AD112_WRCFG_0、0x60);// AIN2-AIN3
ADS112C04_WrConfig (AD112_WRCFG_1、0xA0);//或0x00
ADS112C04_START ();
AD [1]= ADS112C04_ReadData ();
温度
ADS112C04_WrConfig (AD112_WRCFG_1、0xA1);//或0x01
ADS112C04_START ();
temp_ad = ADS112C04_ReadData ();
数据值似乎是正确的。 这是一个问题、因为先前的数据值已输出。
谢谢你。
尊敬的 Kim Sungsoo:
您尚未给出用于 I2C 时钟的 SCL 频率、但我将假设在数据速率更快的情况下、转换有足够的时间完成、然后才能从器件中读取、而较慢的数据速率则没有。 在寄存器写入之后发出 START 命令、然后立即发出 ADS112C04_ReadData 函数。 在尝试读取转换结果之前、必须确保转换已完成。
有几种方法可用于确保转换已完成。 一种方法是监控 DRDY、以寻找从高到低的转换。 另一种方法是监控寄存器0x02中的 DRDY (位7)。 第三种方法是使用设置的计时器、等待转换完成后再尝试读取。
此致、
Bob B