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.

[参考译文] ADS1261:ADS1261测量多个传感器

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1473801/ads1261-ads1261-measure-multiple-sensor

器件型号:ADS1261

工具与软件:

尊敬的 TI (Bryan):

我已经设计了一个使用 ADS1261测量温度传感器的 PCB。

我的传感器(直流电压)通过 REF AIN1和 AIN0连接到 AIN6和 AIN7、采样率为2.5Hz、工作正常。

我现在需要测量3个传感器、并连接到  AIN4和 AIN5、 AIN6   和 AIN7以及 AIN8 和 AIN9。

如何执行测量过程?

以下是我到目前为止所做的工作:

-我开始了测量,就像我对一个传感器(INP,参考,模式,..),然后我把 INPMUX 更改为一个新的通道,并再次进行测量。

代码:

self.INPMUX =  INPMUX_MUXP_AIN6 + INPMUX_MUXN_AIN7
time.sleep()
self.measure()
time.sleep()
self.INPMUX = INPMUX_MUXP_AIN4 + INPMUX_MUXN_AIN5
time.sleep()
self.measure()
time.sleep()
self.INPMUX = INPMUX_MUXP_AIN8 + INPMUX_MUXN_AIN9
time.sleep()
self.measure()
...
我正在读取的数据 使其看起来输入没有变化。
每次更改输入时是否需要包含 stop()、start()?
提前感谢和最好的 Regerds、
Marcel  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Marcel Beck:

    写入 INPMUX 寄存器应重新启动转换正在进行

    因为您使用启动命令来控制转换、所以您是否将 START 引脚保持在低电平?

    如果是、请尝试将 START 引脚保持为高电平并发送 INPMUX 命令以查看其是否有效(在此模式下不要发送任何 START /STOP 命令)

    此外、我假设您使用的是连续转换模式、而不是脉冲转换模式

    您还可以提供通信的逻辑分析仪数据、以便我们验证发送/接收的序列以及时序是否正确

    -Bryan

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

    尊敬的 Bryan:

    我 想知道我的问题在哪里。

      如果我在输入设置和测量之间留出足够的时间、输入信号的变化和测量它们的值可以正常工作。
    我编写了一个脚本(python 代码)、内容如下:
    Change_the_Inputs_to1()
    time.sleep (0.1)
    READ_ADC_VALUES
    time.sleep (0.3)
    READ_ADC_VALUES
    ######################################################################
    Change_the_Inputs_to2()
    time.sleep (0.1)
    READ_ADC_VALUES
    time.sleep (0.3)
    READ_ADC_VALUES
    第一个 READ_ADC_VALUES (0.1s)仍测量 OLD 输入。 第二个 READ_ADC_VALUES (0.4s 后)测量正确的电流 输入。
    INPMUX 的设置似乎需要一些时间才能稳定? 是这样吗?为什么需要这么长的时间?
    是否有办法加快此速度?
    我正在尝试以2.5Hz (采样率)的频率读取连接到输入的3个传感器。 因此我不能有一个0.4ms+的 time.sleep()。
    我还使用 DRDY_PIN 和由采样率(2.5Hz)触发的 ISR (中断服务例程)。
     更改输入后是否也会恢复 DRDY_PIN? 由于新输入已达到尚未查询的新值? 还是仅与采样率耦合?
    提前感谢、此致、
    Marcel
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我通过从继续转换 模式切换到脉冲转换模式解决了我的问题。

    我开始我的转换与 start()(命令),然后切换输入 i stop()和之后的 start()。

    校准只执行一次、然后再重复切换输入。

    现在是否仅对电流设置的输入进行校准、以及在切换输入时是否返回了噪声?

    此致、

    Marcel

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

    尊敬的 Marcel Beck:

    我很高兴你在我不在办公室的时候能够在这个问题上取得进展

    您正在执行哪种校准? 如果要执行自偏移校正、则 开关通道不应改变此行为、因为这只是在多路复用器之后短接输入以校准 PGA+ADC 偏移。 如果您要校准系统偏移、则切换通道可能会影响此行为、因为外部偏移可能会因每个通道而异。 这实际上取决于您尝试校准的对象

    -Bryan

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

    尊敬的 Bryan:

    我目前仅使用 SFOCAL 校准。(自)

    感谢解释、这证实了我对系统偏移校准的怀疑。 (系统)

    如何使用3传感器切换实现 GANCAL 校准? 仅仅进行校准就足够了、然后我就"好"了吗?

    此致、

    Marcel

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

    尊敬的 Marcel Beck:

    您通常也可以应用相同的原理来进行增益校准:如果您只是校准 PGA+ADC、那么单增益校准应该是可以接受的(您可能会发现检查多个增益、但只是为了确保增益匹配是可以接受的。 数据表中未指明此值)。 如果您希望校准每个传感器、并且预计每个传感器的误差会有显著差异、则应单独校准每个传感器。 这将需要您在控制器中存储多组校准系数、因为 ADC 只能存储一组校准系数

    -Bryan