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.

[参考译文] TMS320F28375D:通过 DMA 加载数据的 USB 触发

Guru**** 2425300 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/734282/tms320f28375d-usb-triggering-for-loading-data-via-dma

器件型号:TMS320F28375D

我知道 DMA 没有连接 USB 的通道、但是 DMA 可以通过软件触发来访问 USB FIFO。 您是否有任何有关如何执行该操作的示例?

谢谢!

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

    我们目前没有这方面的任何例子。

    我们计划在未来开发一些带有 DMA 的 USB 示例。 我们希望在2019年第2季度左右发布一些内容。

    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sal、
    您能否为我提供一个有关如何使用此功能的备选方案? 我担心 TRM 不会为我提供运行此程序所需的所有信息。
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Lenio:

    USB FIFO 的 DMA 连接存在硬件错误。 但是、使用 DMA 仍然可以通过以下软件权变措施来实现。

    您必须将 DMA 置于单次触发模式。 然后、在完成的传输(可能在 DMA 完整 ISR 中)上、您必须重新启用 DMA 以实现一次性模式。

    您应该能够像往常一样使用软件触发或某些硬件外设触发。

    希望这对您有所帮助。

    此致、
    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否详细说明软件触发方法? 当 USB FIFO 中有新数据可用时、如何触发 DMA?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Lenio:

    除了我在下面描述的方法之外、还有其他方法可以实现这一目的。 我们尚未实施这项计划、因此我只能提出建议/想法。

    一旦接收到数据、就会触发 USB 中断。 从 USB 库回调函数中、可以通过在首次读取可用字节数量后使用 SW 强制 DMA 来触发 DMA。 然后、库或 DMA 完成 ISR 可以修改 USB 缓冲区以指定数据已被读取。

    同样,我们还没有执行这项工作,因此,我不能对更详细的情况有所帮助。

    此致、
    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能解释一下这些寄存器的用途吗? 我应该将它们用于此目的吗?
    USBA_EPX_RX1
    USBA_EPX_TX1
    USBA_EPX_RX2
    USBA_EPX_TX2
    USBA_EPX_RX3
    USBA_EPX_TX3
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Lenio:

    这些事件触发器对应于 USBTXIS 和 USBRXIS 寄存器中的中断状态位。

    此致、
    SAL