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.

[参考译文] RM48L952:使用较低链路通道的 DMA 通道链

Guru**** 2445440 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/627366/rm48l952-dma-channel-chaining-using-a-lower-chained-channel

器件型号:RM48L952

我希望得到有关 DMA 通道链接工作原理的说明。 如果我们有一个针对 DMA 的固定优先级方案、DMA 通道1的链寄存器中有 DMA 0、并且 DMA 通道1的元素大小大于一个传输、那么通道0是否会在通道1之前完成传输?

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

    有人可以就此向我提供建议吗?

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

    我相信 DMA 1传输将在触发 DMA 0之前完成。 这是因为元素的数量是要传输的数据的大小、并且 DMA 事务直到与其关联的所有元素都被传输后才会完成。 事务完成后、将触发链接的下一个 DMA 通道。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的理解是、DMA 模块可以在传输不同元素之间切换上下文。 这是真的吗? 如果是、它能否在完成第一个通道之前切换启动和完成链接通道?

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

    我将深入了解这一点、下周早些时候我将与您再次联系。 我的一位同事已经与 DMA 进行了一些通道链接、我想让他跳过这一步、以确保操作正常。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    威斯汀

    我想与您联系、让您知道我与一位同事进行了简短的讨论、他已经对 DMA 通道链功能进行了一些广泛的测试、我们简要地讨论了您的问题的一些细节。 他在去预约的路上、所以我们不能太深入地了解他的测试结果、但我会获得更多信息、明天会与您联系。 很抱歉耽误你的时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、谢谢。

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

    我已经与一些同事讨论过这一点、大家都同意、在信道链接期间、链接的传输(即您的方案中的信道0)不会中断初始传输(您的方案中的信道1)、因为链接的信道将在第一个传输完成后才会触发。 这是通道链的基本原理、即它是串行的、完成一个 DMA 传输后会触发下一个 DMA 传输、依此类推。

    关于在传输元素时更改上下文、如果在传输较低优先级通道的过程中触发了较高优先级的通道、则会起作用。 这种上下文切换将是每四个元素后重新评估仲裁的结果。 这其中的关键是触发较高优先级的传输、如果将通道0链接到通道1的末尾、则不会发生这种情况。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、谢谢。 这就是我要找的。