硬汉嵌入式论坛

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

【DMA系统学习贴】二代示波器中关于DMA的FIFO和突发设置,害苦了我,调试了一天发现

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2017-12-5 12:14:20 | 显示全部楼层 |阅读模式
使用DMA的FIFO和突发,务必要慎重又慎重,一般的外设直接关闭即可。因为DMA使用时要注意的事项太多太多。
下面是简单的主要内容整理:
1. FIFO禁止模式,即官方手册里面所说的直接模式,务必要保证外设数据宽度和内存数据宽度是一样的,而且这个模式不支持突发,即使配置了,也是无效的。另外这个模式不可用于存储器到存储器的数据传输。
2.  FIFO使能模式,这种模式是配置突发模式一起搞的,使用时一定要谨慎再谨慎,各种注意事项。(使能FIFO,不使用突发模式也是可以的,这点要注意)。
3. FIFO的主要目的就是为了解决源和目的数据宽度不同而搞的,仅仅16字节大小,所以缓冲的目的并不大,另外就是配合下突发模式。
4.  独立的源和目标传输宽度(字节、半字、字):源和目标的数据宽度不相等时, DMA 自动封装/解封必要的传输数据来优化带宽。这个特性仅在 FIFO 模式下可用。这个特性非常重要,在F4的SDIO操作时可以用。无需像F1系列那样强行数据缓冲的4字节对齐要求。
=================================================================
官方手册里面比较重要的几个知识点整理:
1. DMA的系统框图,比较重要,学习外设,优先看系统框图:
QQ截图20171205153910.jpg

2.  有两个DMA,DMA1和DMA2,每个DMA下有8个数据流Stream,每个数据流下有8个通道Chanel。用户在配置DMA的时候只需要保证外设在不同的DMA的不同数据流下即可。
1.jpg

2.jpg

3.jpg

3. DMA主要特性中的两个主要的点:
QQ截图20171205155117.jpg

4.  对于ADC用到的DMA是从外设到存储器,即下面的描述:
1.jpg

2.jpg

并且使能了循环模式,即数据是一直在处理的,并且使用的单次传输,未使用突发
1.jpg

2.jpg

5.  可编程数据宽度、封装/解封、字节序
QQ截图20171205161646.jpg

注意事项:
1.jpg

6. 单次传输和突发传输
QQ截图20171205162348.jpg

注意事项如下,这个比较重要了:
1.jpg

7. FIFO缓冲
这里最需要注意的就是配合突发时的注意事项和FIFO刷新了
QQ截图20171205165140.jpg

注意事项:
2.jpg

FIFO刷新:
1.jpg

2.jpg

8.  流控制,SDIO的DMA有用
1.jpg

注意事项
2.jpg

9. DMA暂停注意事项
1.jpg

10. 最后一个,可能的DMA配置汇总
11111111111.jpg
2.jpg
回复

使用道具 举报

20

主题

249

回帖

309

积分

高级会员

积分
309
发表于 2017-12-6 08:57:44 | 显示全部楼层
[s:151] [s:151] [s:151]
回复

使用道具 举报

14

主题

207

回帖

254

积分

高级会员

积分
254
发表于 2017-12-6 18:00:46 | 显示全部楼层
[s:151]
回复

使用道具 举报

5

主题

109

回帖

124

积分

初级会员

积分
124
发表于 2018-2-24 18:37:08 | 显示全部楼层
回复

使用道具 举报

2

主题

31

回帖

37

积分

新手上路

积分
37
发表于 2018-2-26 18:48:21 | 显示全部楼层
牛!大佬果然是大佬。
回复

使用道具 举报

2

主题

569

回帖

575

积分

金牌会员

积分
575
发表于 2018-2-27 13:50:55 | 显示全部楼层
我真在做的一个407的项目,把两个DMA的所有流全部用完了,莫名其妙的出问题,感觉DMA太繁忙也会仲裁也会忙不过来的…
回复

使用道具 举报

5

主题

578

回帖

593

积分

版主

Rank: 7Rank: 7Rank: 7

积分
593
发表于 2018-2-27 22:42:05 | 显示全部楼层
当年使用stm32f2的dma,花了好多时间,看应用笔记,也花了不少时间
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 03:05 , Processed in 0.262935 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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