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.

[参考译文] ADS1258-EP:ADS1258通道数据直接读取问题

Guru**** 2393725 points
Other Parts Discussed in Thread: ADS1258-EP, ADS1258

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/964359/ads1258-ep-ads1258-channel-data-read-direct-questions

器件型号:ADS1258-EP
主题中讨论的其他器件: ADS1258

 

鉴于您是 ADS1258-EP 器件的专家、我对 Channel Data Read Direct 命令有两个问题。

1.使用通道数据直接读操作读取通道数据时、新的位是否置位? 数据表让我相信、新的位只针对寄存器格式命令进行了设置。

2.假设状态字节使能为0、当我发送命令位000或111以指示 DIN 引脚上的通道数据直接读取时、DOUT (SCLK 的前3个位置)位[23:21]上的前3位是否为当前通道数据的前3位? 或者、当前通道的数据是否是 DOUT 上显示的下一个字节? 如果输出的前三位实际上是通道数据的[23:21]位、那么当3个命令位尚未收到时、器件如何知道输出数据? 在没有启用状态字节的情况下、数据的第一个 MSB 字节始终在 DOUT 上输出吗?

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

    您好、

    让我来看看这一点、并尽快回复您

    布莱恩

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

    您好、

    基本上、ADS1258-EP 的工作方式是、一旦您开始发送器件 SCLK、它就会假定您需要数据。 因此、这就是您在"发出"直接读取数据命令(000或111)后立即开始看到数据的原因、因为器件默认为该模式。 如果您不想发出此命令、而是发出001或010、则需要忽略 DOUT 上的并发字节、然后该命令通常在第8个 SCLK 之后生效。 另请注意、在开始发送 SCLK 时钟移出的通道数据是当前的通道数据、在 DRDY 帧期间、您无法多次读取数据。

    如果要禁用状态字节、则需要轮询 DRDY 以确定何时有新数据可用。

    布莱恩

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

    您好

    感谢您花时间回答我的问题。


    两个后续问题:

    1.对新位进行 W/r/t 操作。 使用通道数据直接读取时、DRDY 之后的第一个状态字节中是否会设置新位? 数据表使新位看起来仅在使用寄存器格式命令时被置位。

    2.如果命令为010或011并且忽略第一个 DOUT 字节、是否仍可以在下一个 DRDY 之前读取通道数据而不违反"每个 DRDY 帧一次"规则? 或者、任何操作是否会使我无法在单个 DRDY 帧期间读取通道数据?

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

    您好、

    无论使用哪种读取模式、只要读取状态字节、新位都应该有效、但请记住、状态字节仅在自动扫描模式下启用、即在固定通道模式下、状态字节将不会以任何方式对您可用。 但是、我仍然建议在使用通道数据直接读取模式时轮询 DRDY、因为在此模式下、您无法在 DRDY 转换期间读回数据(您可以在读取命令模式下执行此操作)。 因此、如果您不快速或频繁地轮询新位、则会错过转换

    对于您的第二个问题、我是否可以问在什么应用场景下会发生这种情况? 我不建议在转换过程中读取/写入寄存器、尤其是在更改 ADC 设置时。 将使用从 ADS1258检索数据的建议

    • 直接读取模式、轮询 DRDY 以确定新数据何时可用、或
    • 读取命令模式、使用状态字节中的新位来确定新数据何时可用

    鉴于数据表的编写方式、我可以看到这些问题可能来自哪里。 但我相信、这是通过这种方式来引导您选择这两种方法中的一种、而不是尝试"混合"它们、例如使用直接读取模式、而是寻找新的位。

    请告诉我这是否消除了任何混淆

    布莱恩

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

    谢谢  。 这确实消除了很多混乱。

    就这种情况而言--我想我可以在进行中的转换期间读取寄存器(而不是通道)。 为了阐明您的建议、您是否说一旦启动被置为有效、最好停止所有寄存器读取/写入并且在启动被置为无效之前只读取通道数据?

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

    您好、

    老实说、我尚未测试过这种情况、而我的 ADS1258 EVM 现在就在办公室中。 但考虑到数据表中的措辞、这似乎是可能的、因为它基本上是说您无法使用直接读取模式在同一 DRDY 帧中读取两次数据。 但是、这不是您要做的、因此我看不到它有什么问题。 如果您首先发出 RREG 命令、ADC 将对 RREG 命令进行解码并停止输出数据。 您还可能在读取数据后发出 RREG、但您需要在直接读取模式下切换 CS (或等待 SPI 超时)、以便在读取数据后发送另一条命令。 如果您要在同一个 DRDY 帧期间读取寄存器值和时钟输出数据、尤其是在更高的数据速率下、我还会注意到时序。

    如果您尝试一下、请告诉我您发现的内容。 我也会尝试这样做,但这将是我能够这样做的几天前。

    布莱恩