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.

[参考译文] ADS1298:10 ADS 的菊花链、无需在主机 CPU 上加载

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1051221/ads1298-daisy-chain-of-10-ads-without-putting-load-on-host-cpu

器件型号:ADS1298

大家好、

您能否查看以下客户问题?

我目前正在对 ADS1298进行可行性研究、并对以菊花链模式驱动 ADS1298有疑问。
我的目标是串联连接多达10个 ADS、并在主机控制器没有 CPU 负载的情况下读取采样率为2KHz 的 AD 转换器值。
但是、芯片有一个特性。 在不同芯片的数据之间、必须在 SPI CLK 引脚上发送一个"额外的"SPI 时钟。

我最初的想法是、连接的 ADS 可以配置一次、然后所有的 ADS 芯片都可以通过 DMA 通过单个 SPI 读取传输进行读取、而无需 CPU 负载!
但是、由于存在"额外"时钟、我看不到这方面的解决方案。

目前、我只能看到、在读取每个 ADS 芯片后、会保留 SPI DMA 模式、然后通过编程方式(通过 GPIO)生成时钟、然后通过 DMA 读取下一个 ADS 芯片。
但是、这意味着 CPU 活动多次中断、通信总线上的时间延迟总和是通过在 GPIO 和 SPI 之间重新配置 SPI_CLOCK 信号加上 GPIO 的编程控制。

我是否正确地看到了这一点、或者您是否有更高效的解决方案的想法?
我使用 STM32H743Zi 作为主机控制器。

谢谢、

Franz

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

    您好、Franz、

    感谢您的支持。

    [引用 userid="356281" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1051221/ads1298-daisy-chain-of-10-ads-without-putting-load-on-host-cpu ]当前我只看到在读取每个 ADS 芯片后、SPI DMA 模式会保持不变、然后通过编程方式(通过 GPIO)生成时钟、然后通过 DMA 读取下一个 ADS 芯片。
    但是、这意味着 CPU 活动多次中断、通信总线上的时间延迟总和是通过在 GPIO 和 SPI 之间重新配置 SPI_CLOCK 信号加上 GPIO 的编程控制。

    我是否正确地看到了这一点、或者您是否有更高效的解决方案的想法?
    我使用 STM32H743Zi 作为主机控制器。[/QUERP]

    如果使用了 DMA、该方案应与器件配合使用。 遗憾的是、我不熟悉 STM UC、因此我不知道使用软件实现的任何更高效的解决方案。

    谢谢

    -TC