硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3897|回复: 2
收起左侧

[DMA] 合理配置STM32H7的MDMA突发传输次数和源数据以及目的数据位宽可以再提升一点性能

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2019-6-14 16:21:36 | 显示全部楼层 |阅读模式
STM32H7的MDMA有个使用要求:每次突发传输的总数据大小不能超过128字节。
1、对于源地址就是SourceBurst * SourceDataSize <  BufferTransferLength
2、对于目的地址就是DestBurst*DestDataSize < BufferTransferLength

现在修改下面帖子的MDMA配置:
http://www.armbbs.cn/forum.ph ... 4058&extra=page%3D1

  1. MDMA_Handle.Init.Request              = MDMA_REQUEST_SW;         /* 软件触发 */
  2. MDMA_Handle.Init.TransferTriggerMode  = MDMA_BLOCK_TRANSFER;     /* 块传输 */
  3. MDMA_Handle.Init.Priority             = MDMA_PRIORITY_HIGH;      /* 优先级高*/
  4. MDMA_Handle.Init.Endianness           = MDMA_LITTLE_ENDIANNESS_PRESERVE; /* 小端 */
  5. MDMA_Handle.Init.SourceInc            = MDMA_SRC_INC_DOUBLEWORD;         /* 源地址自增,双字,即8字节 */
  6. MDMA_Handle.Init.DestinationInc       = MDMA_DEST_INC_DOUBLEWORD;        /* 目的地址自增,双字,即8字节 */
  7. MDMA_Handle.Init.SourceDataSize       = MDMA_SRC_DATASIZE_DOUBLEWORD;    /* 源地址数据宽度双字,即8字节 */
  8. MDMA_Handle.Init.DestDataSize         = MDMA_DEST_DATASIZE_DOUBLEWORD;   /* 目的地址数据宽度双字,即8字节 */
  9. MDMA_Handle.Init.DataAlignment        = MDMA_DATAALIGN_PACKENABLE;       /* 小端,右对齐 */                    
  10. MDMA_Handle.Init.SourceBurst          = MDMA_SOURCE_BURST_8BEATS;      /* 源数据突发传输,SourceBurst*SourceDataSize <  BufferTransferLength*/
  11. MDMA_Handle.Init.DestBurst            = MDMA_DEST_BURST_8BEATS;        /* 目的数据突发传输,DestBurst*DestDataSize < BufferTransferLength */

  12. MDMA_Handle.Init.BufferTransferLength = 128;    /* 每次传输128个字节 */

  13. MDMA_Handle.Init.SourceBlockAddressOffset  = 0; /* 用于block传输,地址偏移0 */
  14. MDMA_Handle.Init.DestBlockAddressOffset    = 0; /* 用于block传输,地址偏移0 */
复制代码


修改后的性能(MDMA的前两项性能提升了不少,而后两项涉及到SDRAM的降低了):
QQ截图20190614161609.jpg

之前的性能:
88.jpg



评分

参与人数 1金币 +10 收起 理由
WZH + 10 实测二者乘积等于128时确实不稳定

查看全部评分

回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2019-6-15 09:40:54 | 显示全部楼层
前几天坛友不是反馈了个写缓冲使能,测试是否有效果
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
 楼主| 发表于 2019-6-16 17:38:09 | 显示全部楼层
byccc 发表于 2019-6-15 09:40
前几天坛友不是反馈了个写缓冲使能,测试是否有效果

测试了,没效果。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 20:07 , Processed in 0.191495 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表