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.

[参考译文] ADS8866:如何通过 SPI 以 100ksps 的速率读取

Guru**** 2489685 points
Other Parts Discussed in Thread: ADS8866

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1540638/ads8866-how-to-read-at-100ksps-over-spi

器件型号:ADS8866


工具/软件:

大家好、im 使用 ADS8866 对信号进行采样(使用 ESP32-S3)、我可以完全利用单核以大约 40ksps 的速率进行采样。  问题是在一个循环中发送单个 SPI 读取请求。  我已经尽可能地进行了优化、以便可以测量该采样率 (40KSPS)。  如果没有发送多个 SPI 事务(每个样本一个)、我看不到从芯片读取数据的任何方法。  我缺少什么吗? 如何在不加载 CPU 的情况下读取多个样本、以便该 CPU 也可用于其他任务?

此致

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

    尊敬的 Eysteinn:

    感谢您的帖子和您的耐心,因为我一定错过了这个帖子。 我不熟悉该 ESP32-S3 MCU、但需要注意的一个一般提示是尝试减少中断时间。 也就是说、尽量不要执行任何耗时的操作、例如打印读取的数据。 这将使循环更快完成。 另一种方法(如果您的 MCU 有) 是使用 DMA 将 SPI 读取数据传输到存储器(您可以在存储器中对其进行后处理)、从而使 CPU 更快地返回到 SPI 读取。 我建议也联系 ESP32 支持。

    此致、

    Samiha

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

    尊敬的 Samiha

    感谢您的答复和关注。  我不确定如何连续读取(例如使用 DMA)、因为我需要在 ADS8866 上为每个样本触发写入序列。 或者我是否有误解?

    此致、

    Eysteinn

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

    尊敬的 Eysteinn:

    要读取 ADC 数据、必须提供 SPI SCLK、例如、可以在每个周期使用 DMA 发送/接收缓冲器来完成该操作。 这可能更快、因为 DMA 可以在没有 CPU 干预的情况下移动接收到的数据。

    此致、

    Samiha