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.

[参考译文] ADS125H01:设置增益仅适用于某些增益设置。 对于其他应用、增益保持在之前的设置。

Guru**** 2828555 points

Other Parts Discussed in Thread: ADS125H01, ADS125H02

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1629547/ads125h01-setting-the-gain-only-works-for-some-gain-settings-for-others-the-gain-remains-at-the-previous-setting

器件型号: ADS125H01
主题: ADS125H02 中讨论的其他器件

大家好、 我遇到了 ADS125H01 问题、需要将增益设置为各种级别。  我的应用所需的增益是.1875、.25、4 和 32。  .1875 和 32 起作用。  其他放大器虽然没有 CRC 错误、但不会使用新的增益更新 PGA。  我将发送以下命令、并获得正确的 CRC。  模式 0 0x42333F00、模式 1 0x4300B300、模式 3 0x4500CD00、REF 0x460AC400。  对于 Mode4、对于增益为 0.1875 的情况、发送 0x5001DC00。  对于增益 32 I、发送 0x5009E400。 对于增益 0.25、我发送 0x50022A00;对于增益 4、我发送 0x50063600。  这毫无意义。  AI 建议、如果我的输入电压超出合法的 PGA 限值、增益不会加载、但这没有道理。  我的输入不在限制范围之外、即使是、如果芯片工作正常、您将如何进行自动量程?  有什么想法可能是错的?  谢谢。

编辑:我最近发现输入希望增益为 0、或者可能输入切换到内部零基准。  在任何情况下、转换器都不会响应输入、但它会产生一个输出、无论我使用什么输入、都会在–10 左右闪烁一个或两个计数。  我还检查了.1875 和 32 之间的每个增益设置。  .1875 和 32 的工作,但所有其他没有。  谢谢。

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

    您好、Rick West

    如何确定增益值尚未生效? 实际上、您是否应用了输入信号来查看它是否已增大(例如,您将增益设置为 2、应用 1V 信号、然后得到一个等效于 2*1/VREF 的代码)? 或者、是否使用 RREG 命令读回增益值并且增益值没有变化?

    您是否有可以与我们分享的逻辑分析仪捕获图来展示通信? 请包括 SCLK、CS、DOUT、DIN 和 DRDY

    -布莱恩

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

    我通过应用固定输入、使用电压表监测所述固定输入并查看 A/D 正在提供的计数来确定增益。  在有效的设置中、计数正确反映了输入。  在不起作用的设置中、有时计数会反映之前的工作增益、有时它们只是反映 0V 输入。  我没有逻辑分析仪、但我现在正在研究 PIN、寻找任何不寻常的地方。

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

    很遗憾我没有逻辑分析仪。  但是、示波器上的信号非常干净。  我捕获了值、示波器上显示的值是我要发送的值。  SPI 经过相应设置、可使我的数据位在时钟的上升沿发生变化、并在时钟的下降沿进行采样。  SPI 时钟处于 0 状态。  芯片选择看起来也不错。  四个 CS1 用于 Mode0、Mode1、Mode3 和 REF、然后一个 CS2 用于 Mode4。  DRDY 始终为高电平。  在每种情况下、发送的命令都会正确回显。

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

    您好、Rick West、

    那么、您是在示波器上查看 ADC 输出代码、然后再返回计算出输入电压应该是多少? 如果是、您能给我们发送一张您要查看的值表、包括施加的输入电压、增益和每个 ADC 输出代码的基准电压?

    您是否尝试过从 ADC 读回增益寄存器以确认写入正确完成?

    请注意、启用您提到的其他增益没有什么特别之处:如果您可以写入和更改一个增益设置、则使用相同的过程全部写入这些设置。 假设 WREG 命令已正确发送并且 ADC 尚未损坏、那么也没有理由 ADC 只启用某些增益

    -布莱恩

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

    我在带有微控制器的 PCB 上安装了 ADS125H01、微控制器通过 USB 连接到我的 PC。  在电路板上、有一个测量基准(独立于 ADS125H01 的 2.5V 基准)将 0.691V 应用于 A/D 的输入  我已将 PC 编程为在 PC 显示屏上显示未修改的计数。  当我将增益设置为.1875 时、PC 显示屏上会显示大约 435,000 个计数。  我认为这是有效的,因为 (.691*.1875/2.5)*2^23 是 434,739。  当我将增益更改为 0.25 时、我仍然得到了大约 435,000 个计数、而我本应得到大约 580,000 个计数。  其他时候,我只是得到一个接近 0 计数的数字… 通常为–10、闪烁计数为+/–1 或+/–2。  由于计数会闪烁、我假设转换器正在工作并进行转换、随后输入多路复用器已切换到零基准。  我没有命令多路复用器切换离开输入。  奇怪的是、它是完全相同的代码。  用于配置 SPI 端口和设置 A/D 的子例程相同  我只需更改增益和相关 CRC 的位、如果增益不是.1875 或 32、就会出现这种奇怪的行为。  BTW、对于 32 的增益、我在输入端使用较小的基准电压。

    至于读回刚才写入的值、我还没有尝试过。  我对这个转换器的了解不够、我也找不到它是如何实现的示例。  但是、命令的回显会正确返回。  例如、如果我发送.1875 的增益命令、该命令将输出为 0x5001DC00、而我返回的回波为 0xFF5001DC。  同样、对于 0.25 增益、我发送 0x50022A00、回波返回 0xFF50022A…… 但 0.25 不起作用。

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

    我还检查了电源。  AVDD 上+5V、DVDD 上 3.3V、VREFP 上 2.500V(VREFN 接地)、HV_AVDD 上 17.85V、HV_AVSS 上–17.13V。

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

    您好、Rick West、

    您肯定应该在写入寄存器值后读回这些值、以确保它们是正确写入的。 如果您担心 ADC 未使用正确的设置、那么您应该读回这些寄存器以确认它们是什么寄存器

    如果您想了解如何读回寄存器、请访问 ADS125H02(超集器件)上有一个示例代码: https://www.ti.com/product/ADS125H02#software-development

    我也不确定

    • 这意味着“切换到零基准“。 您认为 ADC 已切换到 VCOM 连接吗?
    • 为什么要切换增益为 32 的基准? 以及如何实现? 您是否使用馈入到外部 VREF 引脚的外部电源?  

    -布莱恩

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

    您好、Bryan、 我会介绍链接、谢谢。

    是的、通过切换到零基准、我指的是 MUX[2:0]位切换到的 VCM(请参阅图 9.2 和表 9-2)。  关于切换增益为 32 的基准、我参考的是用于测试输入与计数的输入基准、而不是 A/D 的 2.5V 基准  我更改基准、因为当增益=32 时、输入端的 0.691V 将超出输入范围。

    Rick

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

    你好 Bryan , 我有答案。  使用您的链接创建代码以读回 Mode4 值、我能够看到每个不起作用的设置的 Mode4 值为 0x50。  我从未通过计算生成 CRC。  由于我要发送的值范围有限、因此我只是发送了值、读回回了回波、并假定回波包含 CRC。  然后、我会将 CRC 放入命令中并继续我的工作。  关键是找到这样一句话:如果 CRC 错误、ADS125H01 会响应 CRC 的反转、而不是 CRC。  这两个好处是有效的,这些 CRC 来自一个项目,我工作了 2 年前。  显然,我一定已经制定了正确的 CRC 当时,并忘记了反转。  不管怎样、我现在已经启动并运行了。  感谢您的帮助。  如果没有你的帮助和指示来读回它,我不知道答案是否会在一个合理的时间来。

    Rick

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

    您好、Rick West、

    我很高兴我们能提供帮助、这个问题得到相对较快的解决

    如果您 需要其他方面的帮助、请创建新主题

    -布莱恩