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.

[参考译文] ADS131M02:响应帧更新时序

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1536613/ads131m02-respond-frame-update-timing

器件型号:ADS131M02

工具/软件:

您好:

我想独立于 DRDY 引脚、与 ADS131M02 实现连续的 SPI 通信、方法是在每个帧上发送 NULL 命令来读取 STATUS 寄存器和 ADC 数据。 我计划评估每一帧的状态寄存器、以决定是否使用其 ADC 样本。 在继续之前、我想澄清几点、并确认这种做法是可行的:

  1. 状态寄存器采样
    针对 SPI 传输对状态寄存器值进行采样的时间是什么时候? 如果在帧 N 中发送的命令在帧 N+1 中返回其响应、则状态寄存器是在帧 N 结束时锁存、还是在帧 N+1 开始前继续更新?

  2. ADC FIFO 行为
    ADS131M02 为每个通道提供一个双样本 FIFO。 如果新转换完成后 FIFO 已满、器件是会覆盖最早的样本(标准 FIFO 行为)、还是丢弃新样本并保留现有内容?

  3. 连续 SPI 与转换时序
    如果我以最小的 5µs 帧间隙启动背对背 SPI 帧、无论 DRDY 引脚如何、这是否会干扰 ADC 的正在进行转换或影响数据完整性?

  4. 空闲期间后的数据有效性
    例如、如果 SPI 帧之间存在一秒的间隙、则状态寄存器和 FIFO 是否会继续在该时间间隔内捕获转换、以便下一次读取最多反映到该时刻的样本、或者在前一帧结束时锁存这些样本?

提前感谢。

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

    您好、Min Yoon、

    请查看下面的答案:

    1. 该命令由器件在帧 N 末尾锁存
    2. 此 ADC 上的数据流是: 转换数据->输出缓冲区->FIFO->DOUT 引脚、输出缓冲区中的内容会随每个新的转换数据更新、但 FIFO 中的内容 取决于从 ADC 读取数据的方式。 如果您在可用时读取转换数据、并且不要错过任何数据的读取、FIFO 中的内容将更新为最新数据、否则您可以读取之前的数据、可能 需要双读才能获得最新数据。 请注意、您的 MCU 只能访问 FIFO、不能访问输出缓冲器。
    3. 5us 间隙意味着您在一个 ADC 周期内发送更多 SPI 帧(1/数据速率)。 这实际上取决于您发送的内容。 强烈建议通过监控/DRDY 来读取数据。 /DRDY 上从高电平到低电平的转换表示转换数据已准备好供 MCU 读取。 您可以使用/DRDY 的下降沿触发 MCU 上的中断来读取数据。
    4. 如果您设置的数据速率高于 1ksps、则在 SPI 帧之间的一秒间隔期间、转换仍在进行、并且状态寄存器将持续更新。 有关 FIFO 中的内容、请参阅上面第 2 项中的答案。

    BR、

    Dale

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

    您好 Dale、

    感谢您的回答。 如果可以的话、我想再问一个问题。

    如果我每隔一秒发出两个 SPI 帧、则器件会在第一个帧的末尾锁存状态位、然后在第二个帧中返回该相同的快照。 这意味着我在第二个帧中接收到的状态数据会反映一秒之前的状态、即使 STATUS 寄存器本身在 1 秒间隙期间进行了更新也是如此。 要在 1 秒后读取当前状态、我需要 启动第三个 SPI 帧。 这是正确的吗?


    谢谢、

    最小值

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

    您好、Min Yoon、

    当我说“命令在帧 N 结束时被器件锁存“时、我指的是 RREG、WREG 命令 和 SON ON 等命令。

    状态寄存器更新不依赖于您发送的命令。 例如、一旦 ADS131M02 的 CH0 和 CH1 通道上有新的转换数据可用、并且/DRDY 从高电平更改为低电平、STATUS 寄存器中的 DRDY0 和 DRDY1 位将立即更新。

    BR、

    Dale

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

    您好 Dale、

    根据我的理解、如果我为状态寄存器发送 NULL cmd 或 RREG cmd、ADS131M02 将移出状态寄存器数据。 我还知道状态寄存器位会不断更新。  


    我想确认的是:如果我启动 SPI 读取帧来接收前一帧的响应 — STATUS Reg 的 RREG cmd — 是我接收到的最新数据,直到读取帧的 CS 被拉至低电平、还是当命令“锁存“时最后一帧结束时的数据快照?

    谢谢、

    最小值

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

    您好、Min Yoon、

    状态寄存器数据是直到第一个 SCLK 为止的最新/最新数据、而不是 帧中的/CS。  当帧开始时、SPI 接口会阻止 ADC 数据更新、包括 STATUS 寄存器中的 DRDY 状态位。  SCLK 的第一个上升沿开始阻断。  ADC 时钟在前 8 个 SCLK 周期内检测阻断并将块与 ADC 模块同步。  

    有关 ADS131M02 的 FIFO 行为、您还可以查看  AMC131M02 数据表中的 8.5.4 ADC 输出缓冲器和 FIFO 缓冲器小节。

    BR、

    Dale