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.

[参考译文] TMS320C6748:对于计时器 DMA 事件、我应该设置计时器中断吗?

Guru**** 2939240 points

Other Parts Discussed in Thread: TMS320C6748

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/670399/tms320c6748-for-timer-dma-event-should-i-set-timer-interrupt

器件型号:TMS320C6748

您好!

我想使用计时器 DMA 事件将数据从一个存储器位置、一个字符数组传输到另一个位置、一个字符变量。 我希望 EDMA 完成 ISR 仅在从数组传输300个元素后执行。 我的要求是以150kHz 的速率将数组的每个元素发送到内存位置、而无需 CPU 干预至少300个值。

我计划使用 DMA 事件。TMS320C6748技术参考手册第3页的图29.1未显示定时器事件与 DMA 和定时器中断之间的相互依赖关系。 但在同一文档的第19页第29.1.1节中、给出了中断/DMA 事件生成控制和状态

"要在定时器计数器寄存器中的值等于定时器周期寄存器中指定的值时生成事件、请将中断控制和状态寄存器(INTCTLSTAT)中的周期比较中断使能位(PRDINTENn)置位。"

它还会启用与 DMA 一起的中断。 因此、在执行与每个 DMA 相关的操作后、必须清除计时器中断、这需要 CPU 干预。 否则程序将不起作用。 如果我不启用中断、则不会发生 DMA 事件。 我理解这一点、我的计划也是基于此工作。

我想要一个解决方案、了解如何在没有 DMAinterrupt (启用定时器中断)或 CPU 干预的情况下使用来自定时器的大量 DMA 事件。

提前感谢

Shalini K

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

    我已通知 RTOS 团队。 他们将直接在此处发布反馈。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    请回复
    相关信息
    Shalini
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Shalini、

    遗憾的是、在没有 CPU 干预的情况下、无法生成多个 DMA 事件。 在定时器产生另一个 DMA 事件之前、必须将 PRDINTSTATn 位清零。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的澄清。 但是、在没有中断的情况下、我们可以使用计时器比较寄存器 DMA 事件。

    相关信息

    Shalini