dma和通道的区别_STM32F407-DMA的FIFO、直接模式等(7)

本文详细介绍了STM32F407 DMA的源、目标和传输模式,重点讨论了FIFO和直接模式的区别。在直接模式下,数据从外设到存储器的传输不依赖FIFO阈值;而在FIFO模式中,数据会被临时存储并根据阈值传输。此外,还提到了传输方向、数据宽度、指针递增和仲裁优先级等内容。
摘要由CSDN通过智能技术生成

Iam 鼎!


DMA框架解析1

DMA框架解析2

DMA框架解析3

源、目标和传输模式

源传输和目标传输在整个 4 GB 区域(地址在 0x0000 0000 和 0xFFFF FFFF 之间)都可以

寻址外设和存储器(这个功能是相对牛的了)。关于这4GB地址映射方面知识,可以看下面的连接:

  1. 储存空间映射4
  2. 储存空间重映射
  3. 位带与别名区6

传输方向使用 DMA_SxCR 寄存器中的 DIR[1:0] 位进行配置,有三种可能的传输方向:存储

器到外设、外设到存储器或存储器到存储器。

d476255905cf39249aaa64b598c99a1c.png

外设到存储器模式

0392f5dfba7db6e348136d96d2164e14.png

解析:

  1. 使能这种模式(将 DMA_SxCR 寄存器中的位 EN 置 1) 时,每次产生外设请求,数据流都会启动数据源到 FIFO 的传输。达到 FIFO 的阈值级别时, FIFO 的内容移出并存储到目标中。如果 DMA_SxNDTR 寄存器达到零、外设请求传输终止(在使用外设流控制器的情况下)或DMA_SxCR 寄存器中的 EN 位由软件清零,传输即会停止
  2. 在直接模式下(当 DMA_SxFCR 寄存器中的 DMDIS 值为“0”时),不使用 FIFO 的阈值级别控制:每完成一次从外设到 FIFO 的数据传输后,相应的数据立即就会移出并存储到目标中。
  3. 只有赢得了数据流的仲裁后,相应数据流才有权访问 AHB 源或目标端口。系统使用在DMA_SxCR 寄存器 PL[1:0] 位中为每个数据流定义的优先级执行仲裁。

总结:第1条内容主要注意如何启动以及停止数据流,了解工作过程。第2条解释了直接模式和FIFO模式的区别。

存储器到外设模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值