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.

[参考译文] TMS570LS3137:DMA 通道链在开发板中无法正常运行

Guru**** 2445440 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1544461/tms570ls3137-dma-channel-chaining-is-not-working-in-developement-board

器件型号:TMS570LS3137


工具/软件:

{/*DMA 通道–2*/
      SS_DMA_HW_TRIGGER_DISABLE       /*HWTriggerEnable      */
      SS_DMA_CH_HIGH_PRIORITY        /*ChannelPriority      */
      DMA_RQST_NONE            /*DMA_RequestSource    */
      (Uint32)&APP_FPGA_TX_RawBuffer[0]    /*InitialSourceAddress  */
      (Uint32) 0xFFF7E474U          /*InitialDestinationAddress*/
      1U                  /*InitialFrameCount    */
      8U                  /* InitialElementCount   */
      
      DMA_CHANNEL_3_SELECTED        /*ChannelChaining      */
      Element_size_8_bit          /*ReadElementSize    */
      Element_size_8_bit          /*WriteElementSize     */
      DMA_ONE_FRAME_TRANSFER        /*TransferType       */
      DMA_INDEXED_ADDRESS_MODE      /*ReadAddressingMode   */
      DMA_INDEXED_ADDRESS_MODE      /* WriteAddressingMode   */
      错误、                  /*自动初始化模式   */
      1U                  /* ElementDestinationIndex */
      1U                  /* ElementSourceIndex   */
      0U                  /*FrameDestinationIndex  */
      0u                    /*FrameSourceIndex     */
    }、
    {/*DMA 通道–3*/
      SS_DMA_HW_TRIGGER_DISABLE       /*HWTriggerEnable      */
      SS_DMA_CH_HIGH_PRIORITY        /*ChannelPriority      */
      DMA_RQST_NONE            /*DMA_RequestSource    */
      (Uint32)&APP_FPGA_TX_RawBuffer[8]    /*InitialSourceAddress  */
      (Uint32) 0xFFF7E474U          /*InitialDestinationAddress*/
      1U                  /*InitialFrameCount    */
      8U                  /* InitialElementCount   */
      NO_DMA_CHANNEL_SELECTED        /*ChannelChaining      */
      Element_size_8_bit          /*ReadElementSize    */
      Element_size_8_bit          /*WriteElementSize     */
      DMA_ONE_FRAME_TRANSFER        /*TransferType       */
      DMA_INDEXED_ADDRESS_MODE      /*ReadAddressingMode   */
      DMA_INDEXED_ADDRESS_MODE      /* WriteAddressingMode   */
      错误、                  /*自动初始化模式   */
      1U                  /* ElementDestinationIndex */
      1U                  /* ElementSourceIndex   */
      0U                  /*FrameDestinationIndex  */
      0u                    /*FrameSourceIndex     */
    }、
这是 DMA 配置我使用了任何建议、在这个或任何示例 DMA 模块中有什么问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、大家可以对此查询提供帮助。

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

    尊敬的 Premsai:

    以下是 DMA 通道链接的示例代码:

    e2e.ti.com/.../DMA_5F00_Channel_5F00_Chaining_5F00_Test_5F00_LS3137.zip

    在本例中、我取了两个大小为 1024 半字的缓冲器(一个用于 TX、另一个用于 RX)。

    我获取了两个 DMA 通道 CH0 和 CH1、然后使用 CH0 传输 512 半字、使用 CH1 传输另一个 512 半字。

    这里、我将 CH1 与 CH0 链接起来、这意味着 CH1 只能在 CH0 之后自动发生。 我启用 CH0 的软件触发器。

    现在您可以看到正测试用例结果(我的意思是,我只使用软件触发 CH0、您可以看到 CH1 也进行了传输):

    现在我在注释链接指令、这是输出(您可以只看到 CH0 数据传输到 RX 缓冲区):

    因此、我们可以总结一下链指令是否存在、然后 CH1 还会在 CH0 传输后自动触发。

    --
    此致、
    Jagadish。

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

    是否有 sci 传输的通道链示例? 我尝试了上述过程、但只能传输 8 个字节、第 2 个通道 8 个字节将挂起到通道。

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

    如何在这里链接 SCI、

    什么是通道 0、什么是通道 1。 请详细说明您对此提供帮助的要求。

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

    当我共享上述代码我采取了通道 2 和通道 3 每个通道 8 字节,通道 3 链接到通道 2。 我通过软件触发器触发了通道 2、并期望通道 3 也触发。

    注意:链接想法是因为我无法按顺序传输 16 字节的 SCI 数据。 但要求数据应该按顺序排列。

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

    我的目标是 LIN_TXDAT1 和 DAT0

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

    感谢您提供这些详细信息、

    您在 DMA 中为两个通道分配的端口是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
      /*端口 B 分配给数据传输*/
      DMA_REG->PAR_UL[0]= 0x44444U
      DMA_REG->PAR_UL[1]= 0x444444U
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否可以共享您的项目?

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

    没有 jagadish 我不能分享的项目,但我可以采取你的建议,如果任何注册表应该检查.

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

    G_dmaCTRLPKT0.PORTASGN = 4;          /* SRAM 到 SRAM           */

    这是在哪个寄存器中?

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

    尊敬的 Premsai:

    对延迟表示歉意、您是否仍无法解决此问题?

    --
    此致、
    Jagadish。