打印
[STM32F4]

【正点原子探索者STM32F407开发板例程】第28章 DMA实验

[复制链接]
1623|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhangyang86|  楼主 | 2014-12-20 21:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第二十八章 DMA实验
       实验22 PWM DAC实验.zip (527.39 KB)


第二十七章 PWM DAC实验-STM32F4开发指南-正点原子探索者STM32开发板.pdf (619.54 KB)


1.硬件平台:正点原子探索者STM32F407开发板2.软件平台:MDK5.13.固件库版本:V1.4.0


本章我们将向大家介绍STM32F4的DMA。在本章中,我们将利用STM32F4的DMA来实现串口数据传送,并在TFTLCD模块上显示当前的传送进度。本章分为如下几个部分:
28.1 STM32F4 DMA简介
28.2 硬件设计
28.3 软件设计
28.4 下载验证

28.1 STM32F4 DMA简介
DMA,全称为:Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。
STM32F4最多有2个DMA控制器(DMA1和DMA2),共16个数据流(每个控制器8个),每一个DMA控制器都用于管理一个或多个外设的存储器访问请求。每个数据流总共可以有多达8个通道(或称请求)。每个数据流通道都有一个仲裁器,用于处理DMA请求间的优先级。
STM32F4的DMA有以下一些特性:
● 双AHB主总线架构,一个用于存储器访问,另一个用于外设访问
● 仅支持32位访问的AHB从编程接口
● 每个DMA控制器有8个数据流,每个数据流有多达8个通道(或称请求)
● 每个数据流有单独的四级32位先进先出存储器缓冲区(FIFO),可用于FIFO模式或直接模式。
● 通过硬件可以将每个数据流配置为:
1,支持外设到存储器、存储器到外设和存储器到存储器传输的常规通道
2,支持在存储器方双缓冲的双缓冲区通道
● 8个数据流中的每一个都连接到专用硬件DMA通道(请求)
● DMA 数据流请求之间的优先级可用软件编程(4个级别:非常高、高、中、低),在软件优先级相同的情况下可以通过硬件决定优先级(例如,请求0的优先级高于请求1)
● 每个数据流也支持通过软件触发存储器到存储器的传输(仅限DMA2控制器)
● 可供每个数据流选择的通道请求多达8个。此选择可由软件配置,允许几个外设启动DMA请求
● 要传输的数据项的数目可以由DMA控制器或外设管理:
1,DMA 流控制器:要传输的数据项的数目是1到65535,可用软件编程
2,外设流控制器:要传输的数据项的数目未知并由源或目标外设控制,这些外设通过硬件发出传输结束的信号
● 独立的源和目标传输宽度(字节、半字、字):源和目标的数据宽度不相等时,DMA自动封装/解封必要的传输数据来优化带宽。这个特性仅在FIFO模式下可用。
● 对源和目标的增量或非增量寻址
● 支持4个、8个和16个节拍的增量突发传输。突发增量的大小可由软件配置,通常等于外设FIFO大小的一半
● 每个数据流都支持循环缓冲区管理
● 5个事件标志(DMA 半传输、DMA 传输完成、DMA 传输错误、DMA FIFO 错误、直接模式错误),进行逻辑或运算,从而产生每个数据流的单个中断请求
STM32F4有两个DMA控制器,DMA1和DMA2,本章,我们仅针对DMA2进行介绍。STM32F4的DMA控制器框图如图28.1.1所示:



图28.1.1 DMA控制器框图
DMA控制器执行直接存储器传输:因为采用AHB主总线,它可以控制AHB总线矩阵来启动AHB事务。它可以执行下列事务:
1,外设到存储器的传输
1,  存储器到外设的传输
3,存储器到存储器的传输
    这里特别注意一下,存储器到存储器需要外设接口可以访问存储器,而仅DMA2的外设接口可以访问存储器,所以仅DMA2控制器支持存储器到存储器的传输,DMA1不支持。
图28.1.1中数据流的多通道选择,是通过DMA_SxCR寄存器控制的,如图28.1.2所示:
图28.1.2 DMA数据流通道选择
       从上图可以看出,DMA_SxCR控制数据流到底使用哪一个通道,每个数据流有8个通道可供选择,每次只能选择其中一个通道进行DMA传输。接下来,我们看看DMA2的各数据流通道映射表,如表28.1.1所示:
表28.1.1 DMA2各数据流通道映射表

28.3 软件设计




实验详细手册和源码下载地址:http://www.openedv.com/posts/list/41586.htm


正点原子探索者STM32F407开发板购买地址:http://item.taobao.com/item.htm?id=41855882779
  


沙发
monkeypony| | 2014-12-30 22:05 | 只看该作者
学习一下

使用特权

评论回复
板凳
周董| | 2014-12-30 22:46 | 只看该作者
这款单片机功能确实非常强大啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:正点原子STM32开发板购买单击这里

80

主题

916

帖子

51

粉丝