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.

[参考译文] CCS/MSP432P401R:msp432 uDMA 是否由 GPIO 引脚触发?

Guru**** 2589245 points
Other Parts Discussed in Thread: ADS1292

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/626207/ccs-msp432p401r-is-the-msp432-udma-triggered-by-gpio-pin

器件型号:MSP432P401R
主题中讨论的其他器件:ADS1292

工具/软件:Code Composer Studio

大家好:

我使用 msp432 SPI 收集 ads1292的数据。  为了降低功耗,I 希望 使用 DMA 移动数据。

ads1292有一个数据就绪引脚。 当数据就绪时、就绪引脚将输出电平。 我的问题是:就绪引脚可以直接触发 SPI DMA 以获取 ads1292数据并将其移动到 RAM?

或者只有  就绪引脚触发的 SPI DAM 触发 GPIO 中断, 在中断 手册中启动 SPI DMA 移动数据?

谢谢!

 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我相信你可以通过几种方法来做到这一点。 首先、您必须始终传输数据以激活 SPI 时钟。 因此、即使您仅从 ads1292接收数据、您仍必须写入 TXBUF。

    最直接、最简单的方法是使用 GPIO 中断来启动一个 DMA 通道上到 TXBUF 的 DMA 传输、然后使用另一个 DMA 通道来接收数据并将其放入 SRAM。 请记住、对于 eUSCI 模块、当外设从复位中释放时、TXIFG 会自动置位。 以下是几个与 SPI 和 DMA 相关的示例。

    dev.ti.com/.../

    dev.ti.com/.../

    或者、您可以使用就绪信号直接连接到 DMAE0引脚以触发 DMA 事件。 此实现方案面临的挑战是、GPIO 是触发事件、因此最多只能发送一个/两个字节。 您可以设置散聚实现方案、以便在单个 DMAE0触发器上、您可以对多个写入 TX 缓冲区的操作进行排序(与第一个示例一样、使用另一个 DMA 通道接收数据)、 ‘d您没有触发 TXIFG,您需要在散聚序列中添加填充任务或“ummy”任务,以防止在 TXBUF 准备就绪前对其进行写入。 DMA 没有从多个源触发的机制、也没有提供任何逻辑来检查 TXBUF 触发器(TXIFG)-它只是移动数据。

    您可能还会发现此讨论对您有所帮助。

    e2e.ti.com/.../2026180

    此致、
    Chris