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.

[参考译文] ADS7038:如何在动态模式下启动/停止转换以交错 GPIO 写入

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/986366/ads7038-how-to-start-stop-conversion-in-on-the-fly-mode-to-interleave-gpio-writes

器件型号:ADS7038

您好!

我有一个与该主题"编译器:手动和动态模式操作"中提出的问题非常相似。Art Kay 说:"1. 关于您的目标"不时为数字输出发送刷新命令"。 对于手动模式和动态模式、SDI 用于选择通道 ID。 对于自动序列模式、SDI 设置为低电平、不使用。 因此、无论您选择哪种模式、都需要停止转换并对 GPO 值寄存器执行寄存器写入(24位写入)。"

我的问题是如何在动态模式下停止和启动 ADC 转换、以便执行寄存器读取/写入?  在读取/写入 GPIO 寄存器之前、我不清楚需要写入哪些寄存器来停止动态模式、或者我是否可以只对 GPIO 执行寄存器读取/写入操作来自动停止动态模式?

谢谢

Simon

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

    您好、Simon、

    是否要定期更改 GPIO 配置?  在这种情况下、最容易在手动模式下使用 ADS7038。

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

    您好!

    是的、可能会定期更改 GPIO。  我们已经了解了手动模式、它需要更长的执行时间并且增加了延迟、我们正在寻找最高效的 SPI 总线、以便在最短的时间内获得多个 ADC、GPIO 读取和写入、从而允许在总线上使用多个器件。

    动态模式在 SPI 总线上花费的时间可能更少、具体取决于在读取所需的 ADC 通道后如何停止。  然而、文档中似乎缺少此部分、我提到的另一篇文章说、您需要在执行 GPIO 读取/写入之前停止 ADC。  每个帧的序列将类似于读取 ADC 1、2、3、4、读取 GPIO、写入 GPIO。

    谢谢

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

    让我稍微了解一下时间安排、看看可能会产生什么影响。

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

    您好、Simon、

    GPIO 读/写函数与第8.3.12.2.1和8.3.12.2.2节所述的相同。   您需要处于手动模式才能读取 GPIO、然后您可能可以写入序列寄存器、以便在读取最后一个 GPIO 寄存器(图35中的 SEQ_MODE = 10b)时恢复到动态模式。  获得 ADC 数据后、在接收到最后一个 ADC 通道数据包时、使用24位写操作返回手动模式(图25中的数据 AINy、SDI 将在最后一帧中为 SEQ_MODE = 00B 写入)。

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

    您好、Tom、

    感谢您提供的这些信息、我们不清楚的是使用 SEQ_MODE = 00b 进行即时停止。

    Simon