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 吞吐量计算

Guru**** 2468480 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/1055928/tms570lc4357-dma-throughput-calculations

器件型号:TMS570LC4357

大家好、

在基于 TMS570LC4357处理器的应用中、我们有以下 DMA 通道用于以下目的:

SPI1 Rx - DMA 通道 9 -在受控模式下运行、波特率10MHz -高优先级通道
SCI3 Rx - DMA 通道 5 -波特率57600 -低优先级
SCI3 Tx - DMA 通道 4 -波特率57600 -低优先级
SCI4 Rx - DMA 通道 7 -波特率9600 -低优先级
SCI4 Tx - DMA 通道 6 -波特率9600 -低优先级

在这里、SPI1 Rx 由于其关键性性质而被配置为最高优先级、在这种情况下、我们在该外设上连续接收数据。 此外、在系统中、我们在轮询方案中配置了低优先级通道、在固定方案中配置了高优先级通道、如参考手册中所述。 但是、在当前的应用中、我们偶尔缺少用于 SCI3接收的1/2字节、即 DMA 通道5的1/2字节。 我们已经尝试改变这些 DMA 通道的优先级、但却无法实现同样的突破。 由于该处理器上只有一个 DMA 引擎、我们怀疑 DMA 正在被硬化、有时也没有机会接收 SCI3的数据。 因此、为了进行进一步分析、我们需要使用所有这些具有上述数据速率的 DMA 通道来计算 DMA 引擎的吞吐量。 我们想知道、有没有任何方法可以帮助我们计算此处应用的 DMA 吞吐量以解决此问题?

此致、

Shivam

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

    您好、Shivam、

    SPI1 RX DMA 传输的元素数量和帧计数是多少? SPI1从器件是否在没有间隔的情况下连续接收数据?  

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

    嗨、Wang、对于 SPI1 RX DMA 传输、元素数量为1、而帧数量为320。 SPI1从机每125ms 连续接收32位数据,其中 比特率为8000*32。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="484499" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1055928/tms570lc4357-dma-throughput-calculations ]SPI1 Rx - DMA 通道 9 -以波特率10MHz[/引用]在从模式下运行

    您如何获得8000x32的比特率?

    SPI TX 的字长高达16位、我假设元件大小为16位、传输类型为帧传输。  

    [引用 userid="484499" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1055928/tms570lc4357-dma-throughput-calculations/3907239 #3907239"]和 SPI1从机每125ms 连续接收32位数据[/引用]

    它是否每125ms 接收2个元素(每个16位)?  

    [引用 userid="484499" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1055928/tms570lc4357-dma-throughput-calculations/3907239 #3907239"]帧计数为320[/quot]

    在320个字(16位是元素大小=16)被传输之前、DMA 传输不会被中断或仲裁。  

    您是否尝试了 MibSPI? MibSPI1可支持多达256个缓冲器(TG0)。 DMA 一次可以传输256个字、然后为其他通道提供服务。

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

    是的、WANG、它每125ms 接收2个元素。  这里的 SPI1只用于接收、而不用于传输、 其中帧 传输计数为320、元素传输计数为1、 读取/写入元素大小为16位、 传输类型为 帧传输。

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

    MibSPI1用于使用 DMA 的接收、我们尚未尝试过、但我们是否有任何参考示例、以便我们可以快速尝试?

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

    SCI3 RX 每1/57600*10接收一个字节(假设2个停止位)= 173us

    SCI3 TX 每1/9600*10传输一个字节(假设2个停止位)= 173us

    SCI4 RX 每1/57600*10接收一个字节(假设2个停止位)= 1040us

    SCI4 TX 每1/57600*10传输一个字节(假设2个停止位)= 1040us

    SPI1 RX 每150ms 获得一帧(1个元件)(用于1个元件)

    DMA 将一个字从寄存器传输到 SRAM 所需的时间不超过1us。 SCI3 RX 很难丢失字节。 您能否共享 DMA 配置以及如何处理 DMA 数据包?   

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

    我只是进行测试:

    SPI1 Rx - DMA 通道 9 -波特率10MHz -高优先级通道、固定优先级、元件数量= 2、帧数量= 1、16位、 帧传输

    SPI1 Tx - DMA 通道8 -波特率10MHz -高优先级通道、固定 优先级、元件数量= 2、帧数量= 1、16位、 帧传输

    SCI3 Rx - DMA 通道 5 -波特率57600 -低优先级、循环、元件数=1、帧数= 100;8位、帧传输

    SCI3 Tx - DMA 通道 4 -波特率57600 -低优先级、循环、元件数=1、帧数= 100;8位、帧传输

    SCI4 Rx - DMA 通道 7 -波特率9600 -低优先级、循环、元件数=1、帧数= 100;8位、帧传输

    SCI4 Tx - DMA 通道 6 -波特率9600 -低优先级、循环、元件数=1、帧数= 100;8位、帧传输

    所有 DMA 传输都同时被触发。 所有数据均已正确传输和接收。  

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

    您好、Wang、这是我们配置了 DMA 数据包的数据:

    SPI1 Rx - DMA 通道9 -波特率10MHz -高优先级通道、固定优先级、元件数量= 1、帧数量= 320、16位、帧传输、自动协商开启、

    SCI3 Rx - DMA 通道5 -波特率57600 -低优先级、固定优先级、元件数= 1、帧数= 288;8位、帧传输、自动协商关闭、无奇偶校验、 2停止位

    SCI3 Tx - DMA 通道4 -波特率57600 -低优先级、固定优先级、元件数= 1、帧数= 0-288;8位、帧传输、自动协商关闭、无奇偶校验、 2停止位

    SCI4 Rx - DMA 通道7 -波特率9600 -低优先级、固定优先级、元件数= 1、帧数= 288;8位、帧传输、自动协商关闭、奇偶校验、 2停止位

    SCI4 Tx - DMA 通道6 -波特率9600 -低优先级、固定优先级、元件数= 1、帧数= 0-288;8位、帧传输、自动协商关闭、奇偶校验、 2停止位

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

    您好、Wang、您能在 DMA 配置中发现任何问题、尤其是在 DMA 上的 SPI 接收方面、因为我们很快将删除(或注释) SPI DMA 通道配置、 我们正在通过 UART DMA 正确接收数据、而不 会发生 任何 CRC 损坏、如本帖子所述。 此外、此处使用的 SPI 在 HBCA 和 BTCA 中断模式下接收数据、其中接收到的数据为正弦波。

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

    SPI1 RX 每125ms 只接收1帧、对吧?

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

    每 125ms 传输32位数据、其中 传输类型为帧、访问大小为16位。