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.

[参考译文] ADS7028:RMS 计算采样频率和转换

Guru**** 2811035 points

Other Parts Discussed in Thread: ADS7028, ADS7128, ADS7038

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1589089/ads7028-rms-computation-sampling-frequency-and-conversions

器件型号: ADS7028
主题中讨论的其他器件: ADS7128ADS7038

ADS7x28 应用简报 SBAA399 显示了使用采样频率和样本数作为定义 RMS 计算的适当观察窗口的方法。 本文档中列出的采样频率与可以在 ADS7028 的 OSR_CFG 寄存器中配置的采样频率相匹配、因此这意味着 ADS7028 可以在计算真 RMS 时自行启动转换、但我只能通过 SPI 操作手动触发转换、直到达到配置的样本数、从而成功完成 RMS 计算。 ADS7028 的数据表未明确指出自主模式不能用于 RMS 计算、但我发现 此 E2E 支持文章声称自主模式不支持 RMS、并且无论使用具有 RMS 的自主模式、我都没有任何成功。

对于真 RMS 计算中使用的样本、手动触发每个转换并不可取、如果这是生成所需样本的唯一方法、那么这将是器件的显著限制。 是否有一种与自主模式类似但与 RMS 计算兼容的方法让 ADS7028 启动自己的转换(在主机初始化第一次转换后)?

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

    尊敬的 Nicholas:

    在我的测试中、这似乎确实有一个限制。 内部生成的样本会导致 RMS_DONE 位不会变为高电平、并阻止 RMS_LSB 和 RMS_MSB 寄存器更新。 遗憾的是、似乎没有办法将 RMS 用于自主模式。 需要以手动模式发出必要的样品。  

    此致、
    Joel

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

    尊敬的 Joel:

    好的、感谢确认! 考虑到我们的固件实施、手动触发每个 RMS 样本会非常繁重、因此我们可以探讨其他 ADC 硬件选项。 TI 是否有任何具有 SPI 接口的类似 ADC 支持基于内部触发样本的 RMS 计算?

    此外、我认为 ADS7028 的数据表应进行更新或发布勘误表、以反映每个样本都需要手动触发 RMS 模块。 如果我们知道这一限制、我们可能不会为设计选择器件。

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

    尊敬的 Nicholas:

    ADS7028 和 ADS7128 是我们产品系列中唯一具有真正 RMS 模块的产品。 我将此反馈作为未来数据表修订版本和器件功能的反馈。  

    此致、
    Joel

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

    尊敬的 Joel:

    我一直在使用 ADS7028 进行进一步的测试、以了解如果我们最终将器件保留在设计中、如何最好地满足 RMS 采样的手动触发要求。 是否有已知的最大 RMS 采样频率? 我最初认为数据表指定的频率为 1MHz、但我无法以接近该速度手动触发 RMS 样本、并且在给定配置的 RMS 样本计数的情况下、RMS 模块仍能在预期观察窗口中成功完成 RMS 测量。

    我的测试表明、最大 RMS 采样频率(即,手动触发 RMS 样本且仍然成功计算 RMS 的最快频率)介于 7kHz 和 8kHz 之间。 ADS7028 默认处于手动模式、通过计时器切换 CS 线路来手动触发 RMS 样本、无论我为 ADS7028 配置的 RMS 样本计数是 1,024,409409616384 还是 65536、这都无关紧要。

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

    尊敬的 Nicholas:

    1MSPS 是 ADC 可实现的最大频率。 由于 RMS_SAMPLES 字段最小值需要至少 1024 个样本来计算 RMS、因此 ADS7028 上的最大“RMS 频率“小于 1ksps。

    您能否分享一些有关如何触发手动转换的逻辑分析仪捕获结果? 您使用的 SCLK 频率是多少?

    模拟前端电路也可能不足以满足您尝试计算的 RMS 的输入信号、如果您尝试快速采样、会看到稳定误差。 您能分享原理图吗?

    目前、我只拥有 ADS7128 和 ADS7038 器件的硬件。 我可以订购一些 ADS7028 器件并尝试共享一个可行的序列。

    此致、
    Joel

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

    尊敬的 Joel:
    只需以固定的速率将 CS 线路切换为低电平和高电平、即可触发手动转换。 ADS7028 数据表中的表 8 显示、在手动模式下转换由 CS 线路的上升沿控制。 我知道、可实现的最大 RMS 测量速率受配置的 RMS 样本数的影响、因此不会是 1MHz、但我看到的是 RMS 样本本身的最大采样速率远小于 1MHz(我发现它介于 7kHz 和 8kHz 之间)。 采样的信号仅为 60Hz、因此不一定需要真正高的 RMS 采样率、但我想知道可实现的最大 RMS 采样率是多少、以便我们可以适当地更大限度地增加 RMS 样本数、同时仍能适应我们所需的观察窗口。

    下面粗略概述了我如何测试最大可能 RMS 采样率:
    配置 ADS7028 以获取 1024 个 RMS 样本、并开始 RMS 测量
    2.以固定的速率将 CS 线路切换为低电平和高电平(这是使用主机微控制器的其中一个计时器完成的)
    3.等待 1050 个 CS 周期(时间量取决于之前配置的 CS 频率、针对过载需要额外增加 26 个周期)
    4.停止切换 CS 线路
    5.读回 ADS7028 的 SYSTEM_STATUS 寄存器并检查是否设置了 RMS_DONE 位

    我使用示波器验证了在步骤 2 和 4 之间至少有 1050 个 CS 周期、并且只要在步骤 2 中 CS 频率设置为小于~7.2kHz、RMS_DONE 位就始终设置在步骤 5。 请注意、在两次测试之间、我也会对 ADS7028 进行下电上电。

    我现在只关注 ADC 的 RMS 行为、还不关注硬件的准确性、但如果这种变化、我将发送一份原理图。

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

    尊敬的 Nicholas:

    本周我应该购买硬件来帮助验证。 同时、您是否有任何逻辑捕获可以与您正在执行的序列分享? 这将有助于我验证序列和时序、以防出现任何可能限制有效采样速度的明显问题。  

    我应该能够使用我的设置阐明更多的操作。 我会让您随时了解最新状态。 遗憾的是、我只手头有 ADS7128、而不是 ADS7028。  

    此致、
    Joel

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

    尊敬的 Joel:

    下面是我发送到 ADS7028 以实现成功 RMS 计算的命令序列(注意:时钟频率为 750kHz)。

    配置 RMS 设置(启用直流分量减法,1024 个 RMS 样本、通道 0):

    清除 GENERAL_CFG 寄存器中的 RMS_EN 位:

    通过设置 GENERAL_CFG 寄存器中的 RMS_EN 位开始 RMS 计算:

    在 7kHz、50%占空比的情况下切换 CS#线路达 150ms:

    读回 SYSTEM_STATUS 寄存器以确认 RMS 计算已完成:

    如果我遵循相同的序列、但以更快的速率切换 CS#线并按比例切换较短的时间(例如,105ms 为 10kHz)、那么尽管似乎有足够的手动触发 RMS 样本、RMS 计算仍然无法完成。 请注意、此处显示的 RMS 采样计数、CS#线路切换频率和 CS#线路切换持续时间并不反映我们将用于测量的 60Hz 信号的最终观察窗口;这些都是我一直在测试的设置、旨在更好地了解 RMS 计算行为。

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

    尊敬的 Nicholas:

    很抱歉耽误此问题。 我仍在等待装置。 似乎他们今天刚刚发货、所以我会让您随时了解最新状态。 我不太有信心在没有硬件的情况下尝试调试您的问题、 尤其是因为该系列在尝试实现数据表中所述的功能时存在不一致之处。

    此致、
    Joel-

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

    尊敬的 Joel:

    好的、不用担心! 感谢您的持续支持和沟通。

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

    尊敬的 Joel:

    使用该 ADC 时我遇到的另一个问题:我无法在通道 0 以外的任何通道上成功完成 RMS 计算。 如果我尝试与我之前所述相同的命令序列、但 RMS_CFG 寄存器中的 RMS_Chid 设置为除 0 之外的某个值、则 RMS 计算永远不会完成(读回 SYSTEM_STATUS 寄存器可以明显看出)。 一旦收到 ADS7028 硬件、您能否确认终端上的相同行为?

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

    尊敬的 Nicholas:

    可以。 我有另一位客户遇到类似问题、因此我需要进行测试以一次又一次地清除此问题。 感谢您的耐心等待。

    此致、
    Joel