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.

[参考译文] ADS7128:使用 CNVST 和 OSR_DONE 计算平均值时的采样

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1529251/ads7128-sampling-with-averaging-using-cnvst-and-osr_done

部件号:ADS7128

工具/软件:

我有几个问题在阅读数据表后不清楚 — 我没有硬件尚未测试其中任何一个:

我想在没有 SCL 拉伸的情况下使用器件、并使用 CNVST 位手动启动转换、然后轮询 OSR_DONE 位并读取 ENTERNATE_CHx 寄存器以获得结果、如第 8.3.6 节所述。 我想使用 4 个样本取平均值 (OSR = 2)。 目前、我只需要一个模拟通道、因此不需要序列发生器、因此要使用手动模式 (CONV_MODE = 0)。 但是、根据数据表、CLK_DIV 仅用于自主模式 (CONV_MODE = 1)。 因此、我认为这可能是错误的、因为我假设只要 OSR 不为零、就必须将 CLK_DIV 用于采样频率。

权变措施是、我可以启用自主模式并在 AUTO_SEQ_CH_SEL 中配置单个位。 但我不知道转换何时开始和停止。 我假设启动是通过设置 SEQ_START(而不是 CNVST)完成的、但如何知道 RELATCH_CHx 寄存器何时将包含该值? 也许仅使用一个通道时仍然可以轮询 OSR_DONE、但该如何适用于多个通道? 参见下一个问题。

在自主模式下、序列发生器对多个通道进行采样、OSR_DONE 位会在每次采样可用时指示完成情况、还是仅在所有适用通道的完整序列完成时指示完成情况? 如果指示是每个通道、如何知道更新了哪个 RELATCH_CHx 寄存器?

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

    嗨、Helmut、

    我不会依赖 OSR_DONE 位来指示转换是否完成。 我们已经看到了不会变为高电平以指示转换已完成的情况。 我建议等待、具体取决于平均样本数和振荡器周期设置。

    您提出了一个好问题。 让我在内部查看更多信息、了解当在手动模式下使用 CNVST 位启动第一次转换时、CLK_DIV 和 OSC_SEL 设置如何影响转换周期。

    此致、
    Joel