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.

[参考译文] ADS1118:如何在执行多个 ADS1118的读数时最大程度地减小可编程延迟

Guru**** 2393725 points
Other Parts Discussed in Thread: ADS1118, ADS114S08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/704773/ads1118-how-to-minimize-programmable-delay-while-executing-readings-from-multiple-ads1118s

器件型号:ADS1118

您好!

我想从多个 ADS1118读取温度、 同时尽可能减少 总可编程延迟。 我 将 使用五个 ADS1118 、 每个都  有两个 TC 通道。 以下是我心目中的执行过程:

1-)读取  数据寄存器。  用于 转换 来自 连接到  第一 个 ADS1118的第一个通道的 TC 的输入信号。

2-) 将新值写入配置寄存器。   以便能够读取 内部温度值。 传感器   

3-) 执行 ~8ms 延迟(对于128SPS),以便第一 个 ADS1118完成转换

4-)读取 数据寄存器。   内部温度。 并执行冷端补偿

5) 5)   向 Config Reg.  从 第一 个 ADS1118的第二个通道读取

6)如果不执行另一个 ~8ms 延迟、则转到下一个从器件(第二个 ADS1118)并执行1-5

7-)重复此操作、直到 所有从器件的第一个通道的读数完成

8-) 执行 ~8ms 延迟

9-)针对所有从器件的第二个通道重复1-5。   

可以看到、我 在通道之间进行交错以最大限度地减小总可编程延迟、期望每个 ADS1118仍处于转换模式、并在 CS 引脚变为高电平的情况下使新值准备就绪。   您能否确认这是否可以在连续或单次模式下实现?

提前感谢...

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


    我认为您无法在连续转换模式下执行此操作。 让我解释一下、对于读取多个通道的单个器件、然后将该点扩展到多个器件和通道

    在单次模式下、您可以在数据周期内完成转换后启动转换并读取转换。 转换完成后、器件进入断电状态、并可被唤醒以使用新配置启动新的转换。 唤醒器件以启动转换的时间将增加大约20us。

    在连续转换模式下、当您完成转换后、可以读取器件中的数据、但 ADC 已经使用相同的配置开始了下一次转换。 对配置寄存器的任何更改都将在转换已经完成后进行。 在此序列中、您设置器件、完成转换、读取转换、设置器件、等待当前转换完成、等待新配置设置并完成转换、最后读取新数据。 这可能需要两倍的时间才能获取数据。

    为了在连续转换模式下获得最佳吞吐量、您可以在当前转换周期内写入新的配置寄存器。 在此模式下、您必须与转换完成保持同步、并且必须读取每个转换结果。 要跟踪哪个转换已经完成、以及何时读取、这会更加困难。

    上述说明适用于单个器件、但对于多个器件、这些器件都具有不同的内部振荡器、并且数据速率会有一些变化。 在某些时候、器件将完全不同步、转换将不会准备好读取或下一次配置寄存器写入。 使用单次模式、您将能够在相同的时间内完成每个配置设置和数据读取。

    为了能够对所有器件进行排序并获得最快的吞吐量、请使用单次模式。


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

    Joseph、

    >我看到了你的观点,但我想确保有一件事。 假设我在单次模式下启动了转换、并在数据周期内完成转换后读取转换。 假设这是 第一个 ADS1118通道的模拟输入转换。 但是、在切换到另一个通道之前、我还需要执行冷端补偿? 为此、需要为内部温度传感器读数设置新配置、这需要转换延迟(~ 8ms @ 128SPS)。 如果我正确记住、数据表建议在切换到同一 ADS1118或另一 ADS1118上的另一个通道之前按顺序读取这些值。 如果我错了、请纠正我的问题。 这是我要确保的事情之一。

    >在对第一个 ADS1118的第一个通道进行冷端补偿后、我有两个选择:

         1) 1)将新配置设置为从第一个 ADS1118的第二个通道读取数据、并等待 ~ 8ms 完成转换以读取正确的数据。

         2) 2)将新配置设置为从第一个 ADS1118的第二个通道读取 数据、然后立即切 换到 第二个 ADS1118、并读取通过第一个通道完成的转换。 这样、当我返回到第一个 ADS1118时、我希望第二个通道的新转换准备就绪、可以读取。

    我知道第一个选项是可行的、但它将需要额外的~8ms 延迟。第二个选项将有助于最大程度地减小总延迟、但根据您的声明 、在我切换回关联的 ADS1118并将其唤醒之前、处于单次模式的 ADS1118将不会开始转换 它。 实际上、我猜是这样、但也希望这应该能够在连续模式下实现。 在连续模式下、我将在当前转换周期内写入新的配置寄存器、以将读取切换到第一个 ADS1118的第二个通道。 但是、要读取正确的值、我需要等待~8ms。 我不会等待、而是通过 MUX (CS 选择)交错选择第二个 ADS1118、并像对第一个 ADS1118那样读取 ADS1118的第一个通道。 假设 我们有多个 ADS1118、当我对所有 ADS1118重复此操作并仅执行~8ms 一次时、我相信从所有 ADS1118的第二个通道转换的新数据 将 已准备好读取。 我感到困惑 的是、为何难以跟踪何时完成了哪些转换以及正在读取哪些转换。 请详细说明本节。 谢谢。。。

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

    Fatih、



    我花了一点时间阅读您的回答、以确保我理解了该问题、但我为您提供了一些答案。

    [引用 user="Fatih cingoz/]

    Joseph、

    >我看到了你的观点,但我想确保有一件事。 假设我在单次模式下启动了转换、并在数据周期内完成转换后读取转换。 假设这是 第一 个 ADS1118通道的模拟输入转换。 但是、在切换到另一个通道之前、我还需要执行冷端补偿? 为此、需要为内部温度传感器读数设置新配置、这需要转换延迟(~ 8ms @ 128SPS)。

    您确实需要执行冷端补偿、但执行此操作需要大约相同的时间。 请注意、如果温度在8ms 的时间内变化不大、那么延迟很小就不是问题。

    我认为您应该几乎同时启动所有器件的转换、然后以相同的方式回读/设置所有器件。 如果您有五个 ADS1118、分别标有#1-#5的器件、那么我将对该序列执行以下操作:

    1、所有器件均采用单次模式。 设置并启动第一个热电偶转换器件#1、启动器件#2、启动器件#3、启动器件#4、启动器件#5。 对于4MHz SCLK、每个器件可能需要大约10us 的时间、总共需要大约50us。

    2等待大约8.6ms 以完成所有转换。 这是1/128SPS、其中10%用于内部时钟变化、20us 用于器件启动。

    3.读回每个热电偶1的所有数据并设置热电偶2的转换。 读取和设置器件#1、读取和设置器件#2、读取和设置器件#3、读取和设置器件#4、读取和设置器件#5。 (大约需要50us)

    4、等待大约8.6ms 转换完成。

    5.读回每个热电偶2的所有器件,并为冷端设置第二个器件。 读取和设置器件#1、读取和设置器件#2、读取和设置器件#3、读取和设置器件#4、读取和设置器件#5。 (大约需要50us)

    6.等待大约8.6ms 转换完成。

    7.重复,再次从1开始。

    这将为您提供五个器件中每个器件的两个热电偶的数据、总共需要大约26us。 在这里、您不会单独设置和等待任何器件的转换。 这样、您就可以等待所有这些器件同时完成转换。

    如果您要在连续转换模式下运行器件、则所有以不同频率运行的器件的内部振荡器将无法高效地启动和读取数据。 所有器件都可以随时启动和完成转换。

    回到我概述的序列、如果您觉得更频繁地需要冷端补偿、您可以在两次热电偶读取之间读取它。 如果您不像通常那样需要冷端补偿、那么您可以每隔几个周期读取一次、这样可以提供更多数据。

    如果我正确记住、数据表建议在切换到同一 ADS1118 或另 一 ADS1118上的另一个通道之前按顺序读取这些值。 如果我错了、请纠正我的问题。 这是我要确保的事情之一。

    您能否指出数据表的说明位置? 我认为这可能是指数据的读取、在转换完成后、必须在下一次转换完成之前读取数据。 在连续转换模式下也是如此、在该模式下、输出数据寄存器在转换完成后立即更新。 如果您处于计时输出数据的过程中、并且新转换完成、则它仍将更新输出数据寄存器、从而使您读取到损坏的数据。

    > 在对第一个 ADS1118的第一个通道进行冷端补偿后、我有两个选择:

         1) 1)将新配置设置为从第一 个 ADS1118的第二个通道读取 数据、并等待 ~ 8ms 完成转换以读取正确的数据。

         2) 2)将新配置设置为从第一 个 ADS1118的第二个通道读取  数据、然后立即切 换到 第二 个 ADS1118 、并读取通过第一个通道完成的转换。 这样、当我返回到第一 个 ADS1118时、我希望第二个通道的新转换准备就绪、可以读取。

    我知道第一个选项是可行的、但它将需要额外的~8ms 延迟。第二个选项将有助于最大程度地减小总延迟、但根据您的声明 、 在我切换回关联 的 ADS1118 并将其唤醒之前、处于单次模式的 ADS1118将不会开始转换 它。 实际上、我猜是这样、但也希望这应该能够在连续模式下实现。 在连续模式下、我将在当前转换周期内写入新的配置寄存 器、以将读取切换到第一个 ADS1118的第二个通道。 但是、要读取正确的值、我需要等待~8ms。 我不会等待、而是通过 MUX (CS 选择)交错选择第二个 ADS1118、并像 对第一 个 ADS1118那样读取 ADS1118的第一个通道。 假设 我们有多 个 ADS1118、当我对 所有 ADS1118重复此操作 并仅执行~8ms 一次时、我相信从所有 ADS1118的第二个通道转换的新数据 将 已准备好读取。 我感到困惑 的是、为何难以跟踪何时完成了哪些转换以及正在读取哪些转换。 请详细说明本节。 谢谢。。。

    读取我的序列。 我认为、我所讨论的这个最简单、我认为在连续转换模式下使用 ADS1118对于具有多通道读取的多个器件是不可行的。

    [/报价]

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

    非常感谢您的回答。 这真的很有用。

    >关于您所做的以下陈述、"您确实需要执行冷端补偿、但执行此操作需要相同的时间。 请注意、如果温度在8ms 的时间内变化不大、那么延迟很小就不是问题。 "

    是的,温度不会快速变化,但我的问题实际上是 ADS1118的温度,它会影响内部温度的读数。 传感器。 如果进入 TC1和 TC2通道的模拟输入信号电平彼此不同、ADS1118将加热至不同的电平、并相应地从内部温度读数。 传感器。 如果是这种情况、来自 TC1的外壳读数将被错误的温度补偿。 传感器读数、从而影响精度。 除此之外、当您以 TC 和 temp 执行读数时。 传感器背靠背而不切换至另一个通道您不会让 ADS1118冷却到很大程度上保持断电状态。 如果我错了、请更正我...

    >关于您所做的以下声明:"如果您要在连续转换模式下运行器件、则运行在不同频率下的所有器件的内部振荡器将无法高效地启动和读取数据。 所有器件都可以随时启动和完成转换。"

    如果我将器件的 SPS 设置为相同的值,尽管它们具有不同的内部振荡器,我是否会遇到与这里指出的相同的问题?

    --正如我先前告诉过的,我将使用多个 ADS1118和 ADS114S08,正如您所知,它们具有不同的内部振荡器。 如果我将它们分组并将它们连接到同一 MCU 上的不同 SSI 模块、这是否可以解决您在这里提到的问题? 如果它可以解决您上面提到的问题、在这种情况下、我可以从 MCU 中的多个 SSI 模块中受益。 我之所以提出这个问题、是因为我使用的是 Tiva TM4C129、它有四个 SSI 模块。


    >关于您在"阅读我的顺序"中所做的以下陈述。 我认为、我所讨论的这个最简单、我认为在连续转换模式下使用 ADS1118对于具有多通道读取的多个器件是不可行的。 "

    --我要将 ADS1118设置为单次模式转换,并应用您建议的序列,如果遇到任何问题,请告知您...

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


    只需再添加一条注释即可快速响应。

    为 ADS1118加电不应对温度测量产生太大的影响。 ADS1118仅消耗大约0.5mW 的功率(采用3.3V 电源)。 使用器件热阻、您可以计算出、即使器件保持导通状态、结温也只会上升约0.1°C。 打开和关闭器件不会影响冷端测量。 我使用了结至环境热阻进行该计算。

    祝您的系统设计顺利。 如果您将原理图放在一起、可以进行回帖、我们可以对其进行审阅。


    吴约瑟