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.

[参考译文] ADS1282:保持一致的数据速率、多个 ADC 之间的同步转换以及读取数据的完整性

Guru**** 2391415 points
Other Parts Discussed in Thread: ADS1282

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/772101/ads1282-maintaining-consistent-data-rate-synchronous-conversions-between-multiple-adcs-and-read-data-integrity

器件型号:ADS1282

您好!

我们使用的 ADS1282时钟频率为4.096MHz、并观察数据记录时间的大幅漂移。 我们以脉冲模式运行、但通常不使用同步功能、并从 ADS1282 DRDY 引脚的下降沿触发从中断集读取数据。 我们观察到 ADS1282的数据时序发生较大变化、导致数据速率不一致和相位噪声显著。 我们正在尝试使用较低的 PPM 时钟来驱动 ADS1282、但是否还有其他功能可用于在两个器件之间提供恒定数据速率?

谢谢、

标识

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

    您好、Reid、

    您是否有任何可以共享的数据来说明问题? 此外、您是否在示波器上确认/DRDY 周期确实发生变化(与系统中可能使数据速率看起来发生变化的其他延迟相反)。

    • 如果不知道您在/DRDY 期间看到的变化量、我就不知道更稳定的时钟是否可以解决该问题。 如果变化很小并且在电流时钟的容差范围内、那么也许这就是所有可能需要的。

    • 另一方面、如果您看到/DRDY 周期中的变化很大、无法通过时钟容差来解释、则很可能其他因素会中断 ADC 转换。 您是在通道之间进行多路复用、写入器件寄存器还是在转换之间切换 ADS1282的任何 GPIO 控制引脚? 其中一些操作可能会停止并重新启动 ADC 转换。

     

    您还询问"是否有其他可用于在两个器件之间提供恒定数据速率的功能..." 如果我有误解、请纠正我的错误、但我将其解释为您的系统中有两个需要保持同步的 ADS12127。

    • 在这种情况下、必须为两个 ADC 使用相同的时钟、并确保每个器件的时钟迹线长度大致相同、以避免传播延迟差异。

    • 两个 ADC 还需要同时开始转换。 这需要同时向两个 ADC 发出 SYNC (硬件)脉冲或 SYNC (软件)命令。 如果使用 GPIO 引脚、则应注意何时切换 SYNC 引脚(请参阅 此相关的 E2E 主题)。 对于 SPI 命令、您希望器件之间的 SPI 信号布线具有相似的长度、从而再次避免器件之间出现明显的传播延迟。

     

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

    尊敬的 Chris:

    感谢您的回答。 我们正在使用两个 ADS1282、但到目前为止、我们正在尝试在一个上获得一致的数据采集速率。 下面是我们的示波器中的捕获数据、这些数据持续存在、这使我们能够观察信号的抖动。 黄色迹线表示数据就绪、下面的蓝色迹线表示 MISO。 ADS1282设置为脉冲、已发出连续读取命令、只要数据就绪变为低电平、我们就会启动数据读取。 它从同时开始,非常一致,但持续时间更长。 数据何时准备就绪、可以在脉冲变为低电平之后直接读取、还是在发生 SPI 事务时仍对数据进行采样?

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

    您好、Reid、

    有趣的是、我以前没有使用过具有"持续"绘图模式的示波器。 但是、我认为这只是向我们展示了/DRDY 信号和示波器内部时钟之间的时序相对于彼此漂移(相对时序)。

    如果您测量连续/DRDY 脉冲之间的时间、您是否会看到该时间段发生变化?
    在第一个显示多个/DRDY 脉冲的屏幕截图中、看起来两个/DRDY 下降沿都以大约相同的速率向左漂移、因此我猜是/DRDY 周期没有变化(至少不显著)。 尝试查看此增量、以查看/DRDY 下降沿之间的绝对时序是否发生变化。

     

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

    尊敬的 Chris:

    DRDY 脉冲是下降沿脉冲、彼此之间非常一致、并以相同的间隔发生。 但是、上升沿随其时序变化的幅度要大得多、请参阅下图。 通过改变示波器触发的方向、相对于下降沿、边沿以非常具体的间隔下降。 相反、在下降沿触发会在数据就绪脉冲前后引起抖动。 除此之外、脉冲的宽度可变化高达50秒。

    在数据就绪脉冲持续期间、来自 ADS1282的数据是否发生了变化或重新采样? 一旦数据就绪线下降、我们就会对其留下深刻的印象、它会存储样本并将其保留到持续时间内?

    我们的另一个观察结果是:在数据表中 、一旦我们发出连续读取数据、我们应每250us 准备好数据(假设采样率为4kHz)。 然后、我们需要触发 SPI 事务以在下降沿读取。9.26中的图56显示了4字节的数据读取。 但我们在该器件中看到的是、我们需要读取5个字节并丢弃第一个字节。 即、我们启动5个字节的读取、B0、B1、B2、B3、 B4、丢弃 B0、保持 B1、B2、B3、B4、B1为 MSB、B4为 LSB。 5字节读取是否正确或这是我们抖动问题的根源?

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

    您好、Reid、

    您看到的内容与我预期的内容相当一致...

    /DRDY 的下降沿发出转换已完成的信号。 看第二幅图像、下降沿之间的时间看起来非常一致。 我希望这是因为 ADC 的转换过程主要由4.096MHz fCLK 控制。

    /DRDY 的上升沿由第一个 SCLK 下降沿触发(也许还可由该 SCLK 之后的第一个 fCLK 触发)。 该信号来自 MCU、/DRDY 上升沿漂移这一事实告诉我/DRDY 中断向 MCU SPI 外设传播的变化以及用于驱动所有这些信号的多个时钟之间的变化。

    [引用 user="Reid Dorrance)] ADS1282中的数据在 数据就绪脉冲期间是否发生了变化或重新采样? 一旦数据就绪线下降、我们就会受到这样的印象:它会存储一个样本、并将其保留在持续时间内?

    ADC 有一个输出移位寄存器、当/DRDY 信号变为低电平时、该寄存器将加载最新的转换结果。 此结果将一直存储、直到下一个/DRDY 在被过度写入时下降 egde;因此应避免在/DRDY 下降沿读取数据。 但是、在/DRDY 下降沿之间、不会更新数据。

    [引用 user="Reid Dorrance]9.26中的图56显示了4个字节的数据读取。 但我们在该器件中看到的是、我们需要读取5个字节并丢弃第一个字节。 即、我们启动5个字节的读取、B0、B1、B2、B3、 B4、丢弃 B0、保持 B1、B2、B3、B4、B1为 MSB、B4为 LSB。 5字节读取是否正确或这是我们抖动问题的根源?[/引述]

    我认为读取五个字节不会影响/DRDY 抖动、只是当您开始读取数据时、会触发/DRDY 再次变为高电平。

    如果您使用 RDATAC 模式并发送0x00四次以时钟输出数据、则无需发送第5个字节。 您是否获得了似乎无效的数据? 如果是、您是否能够附加显示原始(未处理) ADC 数据(十六进制或整数值)的文件。 请记住、输出代码是有符号2的补码数据、数据的最后一位是冗余符号位。

    从您之前的帖子中、您还询问了...

    [报价用户="Reid Dorrances"]数据何时准备好读取,是在脉冲变为低电平之后直接读取,还是在发生 SPI 事务时仍对数据进行采样?

    /DRDY 变为低电平后、数据已准备就绪、可供读取。 但是、这是一个不断对输入进行过采样的 Δ-Σ ADC;因此、在您进行时钟输出数据时、将对输入进行采样。

     

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

    [引用用户="Christopher Hall"]

    /DRDY 变为低电平后、数据已准备就绪、可供读取。 但是、这是一个不断对输入进行过采样的 Δ-Σ ADC;因此、在您进行时钟输出数据时、将对输入进行采样。

    [/报价]

    启动 SPI 事务时、时序不一致。 在数据就绪引脚变为高电平后、在 SPI 事务进行过程中是否会更新输出移位寄存器? 不一致的 SPI 事务(类似抖动、缺少更好的术语)是否会导致 ADS1282的数据时序不一致?  我们是否还需要启动更一致的时序 SPI 读取事务以实现更一致的数据速率?

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

    只要您能够相当快地处理/DRDY 中断、我的意思是您能够在下一个/DRDY 下降沿之前随时钟移出所有数据字节、那么您就不应遇到任何问题。 输出移位寄存器在/DRDY 变为低电平之前更新。

    读取数据时出现的"抖动类似"不一致不是问题。 仅当处理器负载较重且/DRDY 中断未获得足够高的优先级(因此不保证 SPI 读取操作在该转换周期内发生)时才会发生。 或者、如果 SPI 操作本身长时间中断、我会担心数据完整性。