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.

[参考译文] OMAP-L138:当我使用2个串行器、每个具有 EDMA 的8插槽时、应该将 McASP WFIFOCTL 寄存器设置为什么值?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/672948/omap-l138-what-value-should-i-set-to-mcasp-wfifoctl-reg-when-i-use-2-serializers-and-8-slot-each-w-edma

器件型号:OMAP-L138

您好、香榭丽舍

我正在尝试使用具有 EDMA 的 McASP 写 FIFO。 当我不使用 FIFO 时、DMA 传输工作正常。
但是、当我启用 FIFO 时、传输剂量不起作用、因为在初始化过程中 McASP XSTAT.XDATA 位不会被清零。    
我的以下设置是否有任何错误。

我不确定如何使用 FIFO。 我真的需要你的帮助。 如有任何意见,请提出。

 o McASP 设置

   XMASK      = 0xFFFFFFFF
   XFMT      = 0x000180F0
   AHCLKXCTL  = 0x00180000
   ACLKXCTL   = 0x001800E0
   AFSXCTL   = 0x00000413 // 8槽
   XTDM      = 0x000000FF
   XCLKCHK   = 0x00FF0008

   SRCTL13   = 0x00000011 //我使用 AXR13和 AXR14
   SRCTL14   = 0x00000011

   PFUNC     = 0x00009F2F
   Pdir     = 0x9400FF2F

 o 用于启用写 FIFO 的 McASP 设置

   WFIFOCTL   = 0x00014002

     *在启用 FIFO 之前、WNUMEVT 和 WNUMDMA 被置位。
     *由于使用双串行器、WNUMDMA 被设置为0x2

 o 乒乓模式的 EDMA 参数设置

   //参数[1]

   OPT          = 0x80001200
   src          = 0x80003000
   A_B_CNT      = 0x02000008
   dst=0x01D02000           
   SRC_DST_BIDX = 0x00000008
   LINK_BCNTRLD = 0x00004800
   SRC_DST_CIDX = 0x00000000
   CCNT         = 0x00000001

   //参数[64]

   OPT          = 0x80001200
   src          = 0x80004000
   A_B_CNT      = 0x02000008
   dst=0x01D02000           
   SRC_DST_BIDX = 0x00000008
   LINK_BCNTRLD = 0x00004820
   SRC_DST_CIDX = 0x00000000
   CCNT         = 0x00000001

   //参数[65]

   OPT          = 0x80001200
   src          = 0x80003000
   A_B_CNT      = 0x02000008
   dst=0x01D02000           
   SRC_DST_BIDX = 0x00000008
   LINK_BCNTRLD = 0x00004800
   SRC_DST_CIDX = 0x00000000
   CCNT         = 0x00000001

此致、
J-Breeze

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

    我将对此进行研究。

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

    感谢您的快速回复。

    但是、DMA 传输现在可以正常工作。 那么、您能停止调查吗?
    我将在明天发布该原因。

    此致、
    J-Breeze
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的更新。 现在关闭此问题。 如果需要、您可以重新打开它。

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

    Yordan、您好!

    我很抱歉耽误你的回答。
    当我启动 EDMA 时、我从 AIFO 中清除了 DMA 事件。 因此、我在启动 EDMA 后启用了 AIFO、 然后 DMA 传输工作。

    感谢您的支持。

    此致、
    J-Breeze