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.

[参考译文] TMS320F28386D:DMA Trrigger 两次执行 SPI 读取数据

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1218193/tms320f28386d-dma-trriger-twice-spi-read-data

器件型号:TMS320F28386D
主题中讨论的其他器件: ADS7038

TMS320F28386D 通过 SPI 与 ADS7038连接(SPI 8通道 ADC 从器件)

由于这个  SPI ADC 从器件 、一个 SPI 通信周期只能获得一个通道的 ADC 数据。

我们需要11us 内的双通道 ADC 数据(ISR)

 

那么、我有一个问题: 以下方法是否会出现?

在 11us ISR 结束时、通过软件源控制 DMA、将数据传输到 SPI FIFO。

但此 DMA 将触发两次 SPI 通信周期。  

(此处是关键问题、DMA 可以触发两次 SPI 通信周期)

在 11us ISR 开始时、读取 SPI FIFO 数据。

 

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

    或者、是否有方法可以将 DMA 传输数据的时间设置为 SPI TX FIFO?

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

    W Z、

    您可以重新表述您的问题吗? ADS7038 SPI 是否在单个 SPI 通信通道上提供多个 ADC 通道结果?

    在您的用例中、F28386D SPI 是控制器(主器件)、ADS7038是外设(从器件)。 您应该希望在 SPISOMI 引脚上接收 ADC 结果。

    请向我提供任何时序波形(或)命令结构、以便提供有意义的反馈。

    此致、

    Manoj

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

    简化均衡:

    DMA 是否支持功耗更高的突发模式。 DMA 可以按固定的间隔两次将数据传输到 SPI FIFO。

    如下图所示。 我需要一个触发源(我假设 DMA)、该触发源可以执行两个 SPI 通信周期来从 SPI 从器件读回数据。

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

    W Z、

    如果您要为每个触发2个脉冲。 您可以将传输大小设置为2并使用单次触发模式

    此致、

    Manoj

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

    我已经完成了、而且它能够正常工作。   我需要设置两个突发之间的间隔时间设置。  对于激励,传输第一个  突发,然后等待2us ,然后传输第二个 突发 。 我没有找到此设置。

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

    我们无法在单触发模式下实现突发之间的动态延迟。

    如果您需要具有延迟、请将 传输大小设置为1、这样、第一个 DMA 触发事件就会发生1次突发。 然后等待2us、并使用 DMA SW 触发器启动另一个突发。