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.

[参考译文] AM5716:McASP EDMA 事件

Guru**** 2553450 points
Other Parts Discussed in Thread: AM5716

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/666111/am5716-mcasp-edma-events

器件型号:AM5716

您好!

我找不到 适用于 AM5716 DSP 的 EDMA 事件- McASP 表。  我在下面的"TMS320C642x DSP 多通道音频串行端口(McASP)用户指南"中看到一个表:

 
与 McASP 相关的 EDMA 事件如表8所示。
          表8. EDMA 事件- McASP
事件   二进制文件           事件名称             事件描述
10.       000 1010        AXVTE0               McASP0发送事件偶数
11.       000 1011.        AXVTO0               McASP0发送事件奇数
12.       000 1100人        AXVT0                McASP0发送事件
13.       000 1101        AREVTE0               McASP0接收事件偶数
14.       000 1110        AREVTO0               McASP0接收事件奇数
15.       000 1111        AREVT0                McASP0接收事件

是否有 AM5716 DSP 的表格?  我正在寻找 McASP1/2接收器事件编号和传输事件编号、但我在任何 AM5716文档中都找不到它们。

提前感谢!

Ron

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

    检查 AM571x TRM:

    第5.3.5节 DSP DMA 请求

    www.ti.com/.../spruhz7g.pdf

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

    您好、Pavel、

    非常感谢您的帮助!

    如果我理解正确、 DMA_交叉开关实例编号实际上是事件编号。

    在我的应用中、我将需要分别由 McASP1接收和发送事件触发的 EDMA 通道0、1以及 由 McASP 2接收事件触发的通道2。 从本文档中的表5-6可以看出、默认情况下映射了它。 所以我只需要在 EDMA_TPCC_EESR = 0x00000007 (启用 EDMA 事件0、1、2)中启用 EDMA 事件?  我是否需要在 DSP_SYS_DMAWAKEEN0中设置位0、1、3?

    此外、在我的应用中、为了创建乒乓缓冲器、通道0还链接到通道64、65 、通道1链接到通道67、68 (在参数配置中)。 我是否需要在  表5-6中更改 DMA_DSP1_DREQ_64、65、67、68的默认映射(这些通道是保留的)并在 EDMA_TPCC_EESR 中启用相应的事件?

    谢谢!

    Ron

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

    [引用 USER="Rong Wang2"]如果我理解正确, DMA_交叉开关实例编号实际上是事件编号?

    不、我不这么认为。如果我们假设 McASP1接收事件号为128、则它与 DMA_crossbar 默认输入索引128 (0x80)匹配。

    CTRL_CORE_DMA_DSP1_DREQ_0_1[7:0] DMA_DSP1_DREQ_0_IRQ_0复位/默认值为0x80 (128)、因此将 McASP1接收事件(McASP1_DREQ_RX)选择为 DMA_DSP1_DREQ_0/DMA_crossbar_128。 您可以将 McASP1接收事件编号视为0 (DMA_DSP1_DREQ_0)或128 (DMA_crossbar_128)、但它不是1。

    McASP1接收事件编号为0 (对于 DSP 子系统、局部为 DMA_DSP1_DREQ_0);对于整个 AM571x 器件、全局为128 (DMA_crossbar_128)。

    另请查看 AM571x TRM 部分:

    16.1.3.2 DMA 请求到 DMA_crossbar 输入的映射

    24.6.3 McASP 集成

    [引用 USER="Rong Wang2">]在我的应用中、我将需要分别由 McASP1接收和发送事件触发的 EDMA 通道0、1以及 由 McASP 2接收事件触发的通道2。 从本文档中的表5-6可以看出、默认情况下映射了它。 所以我只需要在 EDMA_TPCC_EESR = 0x00000007 (启用 EDMA 事件0、1、2)中启用 EDMA 事件?  我是否需要在 DSP_SYS_DMAWAKEEN0中设置位0、1、3?

    是的、默认情况下启用这些功能、您无需更改寄存器 CTRL_CORE_DMA_DSP1_DREQ_x

    关于 DSP_SYS_DMAWAKEEN0、是的、您需要设置位。 TRM 中指出:

    "必须启用相应的 DMA 请求 DSP_SYS_DMAWAKEEN0/DSP_SYS_DMAWAKEEN1、以便 DSP 处理 DMA 请求、而不管 DSP 处于空闲或活动状态。"

    根据我的理解、要启用 EDMA 事件0、1、2、您需要设置位0、1、2。

    [引用 USER="Rong Wang2"]因此,我只需要在 EDMA_TPCC_EESR = 0x00000007 (启用 EDMA 事件0、1、2)中启用 EDMA 事件?[/QUERT]

    关于 EDMA 编程、请查看以下章节:

    5.3.7 DSP 集成 EDMA 子系统

    16.2增强型 DMA

    此致、
    帕维尔

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

    [引用 USER="Rong Wang2">此外、在我的应用中、为了创建乒乓缓冲器、通道0还链接到通道64、65 、通道1链接到通道67、68 (在参数配置中)。 我是否需要在  表5-6中更改 DMA_DSP1_DREQ_64、65、67、68的默认映射(这些通道是保留的)并在 EDMA_TPCC_EESR 中启用相应的事件?[/QUERP]

    这些是保留的(不适用)、因为它们不能被使用。 您计划如何更改 DMA_DSP1_64的默认映射? 哪一个 AM571x 寄存器? DMA_DSP1_DREQ_0默认映射在 CTRL_CORE_DMA_DSP1_DREQ_0_1寄存器中进行控制、并且我在 AM571x TRM 中找不到 CTRL_CORE_DMA_DSP1_DREQ_64_65寄存器。

    此致、
    帕维尔

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

    您好、Pavel、

    非常感谢!

    Ron