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.

[参考译文] ADS1262:0-5V 输入单端

Guru**** 2390755 points
Other Parts Discussed in Thread: ADS1262

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1113111/ads1262-0-5v-input-single-ended

器件型号:ADS1262

您好!

我尝试使用 ADS1262的输入之一读取单端信号。

最初的用途是测量称重传感器信号、但现在我需要一次单端测量。

为了进行调试、我只需使用一个连接在 AVDD (5V)、GND 和我的引脚 AIN2之间的电位器:

首先  、我执行初始化:

// NO OFFSET and FSCAL= 0x400000

//Reset OFCAL coefficients
config[0] = 0x00;
ADS126xWriteRegister(OFCAL2, 1, config, ads); //OFCAL2 = 0x00
config[0] = 0x00;
ADS126xWriteRegister(OFCAL1, 1, config, ads); //OFCAL1 = 0x00
config[0] = 0x00;
ADS126xWriteRegister(OFCAL0, 1, config, ads); //OFCAL0 = 0x00

//Reset FSCAL coefficients
config[0] = 0x40;
ADS126xWriteRegister(FSCAL2, 1, config, ads); //FSCAL2 = 0x40
config[0] = 0x00;
ADS126xWriteRegister(FSCAL1, 1, config, ads); //FSCAL1 = 0x00
config[0] = 0x00;
ADS126xWriteRegister(FSCAL0, 1, config, ads); //FSCAL0 = 0x00

我想读取单端信号、因此我使用 具有信号的 MUXP_AIN2、并使用 MUXN_AVSS 作为 GND

对于基准、我使用 AVDD 和 AVSS、这意味着5V 基准。

然后、我绕过 PGA (用于单端测量)并希望 ODR 为7200SPS:

     config[0] = MUXP_AIN2 | MUXN_AVSS;
     ADS126xWriteRegister(INPMUX, 1, config, ads);
     //config[0] = RMUXP_AIN0 | RMUXN_AIN3;
     config[0] = RMUXP_AVDD | RMUXN_AVSS;//RMUXP_AIN0 | RMUXN_AIN3;
     ADS126xWriteRegister(REFMUX, 1, config, ads);
     config[0] = 0x8C;// PGA BYPASS DR 7200SPS
     ADS126xWriteRegister(MODE2, 1, config, ads);

现在、在我的 while 循环中、我读取数据:

    set_adc_START(1, ADS2);
    while(GPIO_readPin(ADS2_DRDY)); //wait fopr DRDY to go low
    resultLC[3] = ADS126xReadData(5, 1, ADS2);

现在结果是怪异的:

  1. 信号具有取决于 ODR 的大尖峰
  2. 如果我将电位计从一端旋转到另一端(0V 至5V、然后5V 至0V)、则信号会饱和、当我从 AVSS 转至 AVDD 时、我不会期望它饱和:

有什么想法吗?

有一点我不确定、FS 是5V 还是2.5V? 我在 AVDD 和 AVSS 之间有5V 电压、因此如果我使用单端测量、我应该能够读取0至5V 信号?数据怎么样、因为它始终为正、 数据是否仍为二进制补码格式?

谢谢你

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

    您好、Hal、

    在 ADS1262 INPMUX 寄存器中选择的模拟电源监控器不测量 AVSS。 从下图(取自数据表)可以看出、电源之间有一个电阻分压器电路、 电源监控器正在测量中央电阻 R 两端的电压。因此、选择 MUXN_AVSS 实际上不会选择 AVSS (或接地)作为 ADC 的负输入。

    客户能否将其中一个模拟输入引脚直接接地? AIN0和/或 AIN 似乎可以用于此目的。 我也不会使用 POT、而是使用精密直流源输入已知电压(例如 1V)输入 ADC、然后查看 ADC 是否可以正确转换。 如果客户没有台式直流电源(如 DP8200)、有时电池可用于此目的。 新 AA 电池的输出电压应~1.5V。 电池实际上也无噪声

    我还想说的是、使用电源作为基准通常是电压基准的最不精确的选择。 我还会使用 ADS1262的内部2.5V 基准尝试这些测试。

    正确的做法是、如果您有5V 基准、您应该能够转换0-5V 信号。 如果您切换到使用 ADC 的内部2.5V 基准、请确保相应地降低信号。 因此、我建议使用来自直流电源的1V 信号。

    布莱恩

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

    非常感谢 Bryan、

    所以我不能使用  MUXN_AVSS、但 如果我很清楚、我也不能将 RMUXP_AVDD 用于 AVDD?

    现在、我的信号位于 AIN2上、AIN1接地:

    我意识到我的 exc+(5V)将连接到 AIN3而不是 AIN0、而 EXC-(接地)将连接到 AIN0而不是 AIN3。

    因此、由于我不能将 AIN3用于 RMUXP、而将 AIN0用于 RMUXN、因此情况相反:

    是否可以使用 MODE0 位7 REFREV=1来使我的极性正确?

      config[0] = 0x80;
    ADS126xWriteRegister(MODE0, 1, config, ads);

    然后、我将使用 AIN2 MUXP、AIN1 MUXN、AIN0 RMUXP 和 AIN3 RMUX N、一切都应该正常吗?

    我没有任何固定基准电压可供尝试、但我将尝试从电源获取1V 电压。

         config[0] = MUXP_AIN2 | MUXN_AIN1;
         ADS126xWriteRegister(INPMUX, 1, config, ads);
         //config[0] = RMUXP_AIN0 | RMUXN_AIN3;
         config[0] = RMUXP_AIN0 | RMUXN_AIN3;//RMUXP_AIN0 | RMUXN_AIN3;
         ADS126xWriteRegister(REFMUX, 1, config, ads);
         config[0] = 0x8A;// PGA BYPASS DR 7200SPS
         ADS126xWriteRegister(MODE2, 1, config, ads);

    我不理解的另一个问题是数据速率。

    我选择 mode2 = 0x8A、这意味着 SPS 2400。

    每次进行新的转换时、我都会切换 GPIO:

        set_adc_START(1, ADS2);
        while(GPIO_readPin(ADS2_DRDY)); //wait fopr DRDY to go low
        resultLC[3] = ADS126xReadData(5, 1, ADS2);
        GPIO_togglePin(LED_GREEN_GPIO29);

    对于2400SPS、我希望每 416us 就有一个数据、但我看到 GPIO 每772us 切换一次:

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

    您好、Hal、

    我这边的一些评论:

    [引用 userid="500478" URL"~/support/data-switchers-group/data-switchers/f/data-switchers-forum/1113111/ads1262-0-5V-input-single-end/4129002#4129002"]但如果 我很清楚 AVDD 的使用情况、我也无法使用 RMUXP_AVDD[/引用]

    客户是如何得出这一结论的?

    [引用 userid="500478" URL"~/support/data-switchers-group/data-switchers/f/data-switchers-forum/1113111/ads1262-0-5V-input-single-end/4129002#4129002"]我意识到我的 exc+(5V)将连接到 AIN3而不是 AIN3、而不是 AIN0 (引用)。]

    为了进行测试、它们是否不仅可以向 AIN0和接地 AIN3施加5V 电压?

    [引用 userid="500478" URL"~/support/data-switchers-group/data-switchers/f/data-switchers-forum/1113111/ads1262-0-5V-input-single-end/4129002#4129002"]是否可以使用 MODE0 bit 7 REFREV=1来获得我的极性/报价单?]

    正确、这是一种可接受的解决方法。 但是、在后续版本的设计中、将这些电阻器切换回正确极性可能是有道理的

    [引用 userid="500478" URL"~/support/data-switchers-group/data-switchers/f/data-switchers-forum/1113111/ads1262-0-5V-input-single-end/4129002#4129002"]对于2400SPS、我预计每 416us 就会有一个数据、但我看到我的 GPIO/报价277us:]

    您是否正在启动和停止转换? 如何调用下一个转换? 您处于什么转换模式(Mode0寄存器中的 RUNDDE)? 有关更多信息、请参阅有关转换延迟的第9.4.2节

    布莱恩