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.

[参考译文] AM2634-Q1:申请解决与 ECAP 持续触发 DMA 相关的问题的建议

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1518401/am2634-q1-requesting-suggestions-to-resolve-issue-related-to---dma-triggered-continuously-by-ecap

器件型号:AM2634-Q1

工具/软件:

尊敬的 TI:

我已设置 ECAP 来在事件2……时触发 DMA 传输 我希望只要 ECAP 检测到信号上的事件2、就能持续触发 DMA。
但是、我看到 DMA 仅触发一次。  

以下是我在测试过程中观察到的情况-  
一旦我开始运行代码、我就会看到40个 ECAP 样本捕获存储在 measAPWM.buffer 中的2个时间戳。 稍后、当我更改信号的占空比时、我不会看到在 measAWPM.buffer 中捕获更新的占空比、因此发出信号、表明在第一次传输后没有发生 DMA 传输。

TPCC_ER 保持0
TPCC_ERR 设置为1
TPCC_EMR 为0
TPCC_IPR 设置为1、但当我写入 TPCC_ICR = 1时、TPCC_IPR 不会被清除。

该信号以400kHz 的频率发送。
我非常感谢您帮助我们尽早解决这个问题。
我也曾在许多天前在另一个线程中写过这个问题,但还没有看到任何回应。

e2e.ti.com/.../5822122



下面是我的参数设置-

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

    您好、

    SDK 中的 eCAP_EDMA 示例工程在 ECAP 事件时将 ECAP 捕获寄存器  的内容传输到 pwmTrigTimeStamps 和用于1个参数集的 capTrigTimeStamps 缓冲区(分别为4*2*256和4*4*128)。

    我修改了代码以设置此示例工程、从而持续更新缓冲区。 下面是修改后的代码。 然而,即使在这种情况下,连续传输没有发生。  
    以下是我在测试中观察到的结果-
    1)执行 EDMA_enableTransferRegion() API 时、发生第一次 DMA 传输、缓冲区中填充了 ECAP 时间戳。
    2) TIPCC_IPR 设置为3
    3)执行 EDM_clrIntrRegion()时不清除 TPCC_IPR。
    4)缓冲区更新为0。  
    5)之后没有发生从 ECAP 捕获寄存器到缓冲器的 DMA 传输、因为缓冲器保持为0。 TPCC_IPR 保持设置为3、 EDM_ClrIntrRegion()没有清除 TPCC_IPR、并且该循环继续、不会更新缓冲区。

    这也是我在项目中观察到的类似行为。
    您能告诉我如何设置连续转接吗?

    我希望设置传输后--> ECAP 捕获2寄存器(4字节)是我的源地址。 一个包含40个元素(每个4字节)的数组是我的目标。 每个捕获2事件通过 DMA 将时间戳传输到目标缓冲器...从而捕获缓冲器阵列的40个元素中的40个事件时间戳。 然后、第41个 ECAP 事件应将时间戳存储在缓冲区[0]中... 并且只要捕获到 ECAP 事件、此循环就应该继续。

    谢谢!

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

    e2e.ti.com/.../ecap_5F00_edma.c

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

    您好 Sue、

    请参阅这个 Academy 实验、了解连续模式的 DMA 配置:

    dev.ti.com/.../node