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.

[参考译文] TMS570LC4357:启用DMA时外设接口通信问题(SCI,SPI)

Guru**** 2466550 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1084351/tms570lc4357-peripheral-interface-communication-issues-sci-spi-when-enabled-dma

部件号:TMS570LC4357

大家好,

在我们基于TMS570LC4357处理器的应用中,我们将以下DMA通道用于以下目的。 给定表还定义了应用程序当前用于建立所需通信的数据速率:

外围设备

DMA通道

数据速率

已配置的优先级

应用程序中的功能

SPI1处方

9.

从属模式,波特率为10MHz (每125毫秒32位)

标志灯

SCI3处方

5.

5.76万 (每100毫秒330-340字节)

TE2工具

SCI3治疗

4.

5.76万 (每100毫秒301字节)

TE2工具

SCI4处方

7.

11.52万 (考虑到波特率的最大吞吐量的数据大小)

GNSS

SCI4治疗

6.

11.52万 (考虑到波特率的最大吞吐量的数据大小)

GNSS

在这里,SPI1 Rx被配置为最高优先级,因为它在本质上具有关键性,我们在该外围设备上连续接收数据。

 下图概述了采用Hercules处理器的外设接口。

在我们的应用程序中,我们在通过SCI3接收数据时遇到了问题,如以下TT链接中提供的早期TT中所述:

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1041094/tms570lc4357-sci-dma-rx-issue-when-same-sci-module-is-enabled-for-tx-over-dma/3905010?tisearch=e2e-sitesearch&keymatch=%25252520user%2525253A484499#3905010</s>4357 390.501万2525.252万252.5253万484499390.501万

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/105.5928万/tms570lc4357-dma-throughput-calculations/3933893?tisearch=e2e-sitesearch&keymatch=%252520user%25253A484499#3933893</s>4357 393.3893万25.252万2.5253万48.4499万393.3893万

根据参考手册,我们尝试为低优先级信道配置循环方案,为高优先级信道配置固定方案。  但是 ,SCI3接收(即DMA通道5)偶尔会缺少1/2字节。 我们曾尝试更改这些DMA通道的优先级,但这对解决问题没有帮助。

此外,作为解决方法,我们注意到,当SCI3 TX切换到轮询模式而不是DMA时,我们没有看到  SCI3接收的任何类型的问题, 这表示处理器的DMA引擎无法处理系统中的所有DMA通道。

我们想了解DMA不允许处理所有这些通道的原因,并想了解如何更好地使用DMA ,以便所有这些DMA通道都能正常使用。

我还附加了我们用于为SCI3.e2e.ti.com/.../UartDma.xlsx配置DMA包的方法

请求团队帮助我们提供使用 DMA使用所有这些所需外设的正确方法。

此致,
Shivam

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

    Shivam,您好!

    我记得这个问题。 我将检查我的工作测试案例。 我想先在我这边重现这个问题。

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

    您好,王先生,您对此问题有任何更新吗?

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

    Shivam,您好!

    附件请查找我的测试用例,我使用此测试用例进行了多次测试,在SCI3/SCI4上未发现任何问题。  我的测试用例对SPI1,SCI3和SCI4使用环回:

    外围设备

    DMA通道

    数据速率

    已配置的优先级

    SPI1处方

    9.

    10MHz波特率(每125ms 4字节)

    SPI1治疗

    8.

    10MHz波特率(每125ms 4字节)

    SCI3处方

    5.

    5.76万波特率(每100毫秒300字节)

    SCI3治疗

    4.

    5.76万波特率(每100毫秒300字节)

    SCI4处方

    7.

    11.52万波特率(每78ms 100字节)

    SCI4治疗

    6.

    11.52万波特率(每78ms 100字节)

    所有TX和RX数据缓冲区都放置在MPU设置为高速缓存直写的数据扇区中。 请使用CCS内存浏览器检查RXed数据并与TXed数据进行比较:

    SPI1_RXDATA,SPI1_TXDATA

    SCI3_RXDATA,SCI3_TXDATA

    SCI3_RXDATA,SCI4_TXDATA

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

    以下是我的测试案例:

    e2e.ti.com/.../TMS570LC43x_5F00_SPI_5F00_SCIs_5F00_LoopBack_5F00_DMA.zip