你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 784|回复: 1

【中文文档】AN2548_使用STM32F1x和STM32L1xDMA控制器

[复制链接]

1347

主题

1124

回帖

0

蝴蝶豆

管理员

最后登录
2020-12-9
发表于 2019-4-24 13:03:43 | 显示全部楼层 |阅读模式
使用 STM32F101xx 和 STM32F103xxDMA 控制器

1 前言

这篇应用笔记描述了怎么使用STM32F101xx 和 STM32F103xx的直接存储器访问(DMA)控制器。STM32F101xx和STM32F103xx的DMA控制器、CortexTM-M3内核、高级微控制器总线架构(AMBA)总线和存储器系统,使得STM32具有高的数据带宽,并能使用户开发出低延迟、快响应的软件。

这篇文档也描述了怎样充分利用这些特性,以及对于不同的外设和子系统怎样保证正确的响应时间。

在下文中STM32F101xx和STM32F103xx都记作STM32F10xxx,DMA控制器都记作DMA。

2 DMA控制器

DMA是AMBA的先进高性能总线(AHB)上的设备,它有2个AHB端口:一个是从端口,用于配置DMA,另一个是主端口,使得DMA可以在不同的从设备之间传输数据。

DMA的作用是在没有Cortex-M3核心的干预下,在后台完成数据传输。在传输数据的过程中,主处理器可以执行其它任务,只有在整个数据块传输结束后,需要处理这些数据时才会中断主处理器的操作。它可以在对系统性能产生较小影响的情况下,实现大量数据的传输。

DMA主要用来为不同的外设模块实现集中的数据缓冲存储区(通常在系统的SRAM中)。与分布式的解决方法(每个外设需要实现自己的数据存储)相比,这种解决方法无论在芯片使用面积还是功耗方面都要更胜一筹。

STM32F10XXX的DMA控制器充分利用了Cortex-M3哈佛架构和多层总线系统的优势,达到非常低的DMA数据传输延时和CPU响应中断延迟。

2.1 DMA的主要特性

DMA具有以下的特性:
● 7个DMA通道(通道1至7)支持单向的从源端到目标端的数据传输
● 硬件DMA通道优先级和可编程的软件DMA通道优先级
● 支持存储器到存储器、存储器到外设、外设到存储器、外设到外设的数据传输(存储器可以是SRAM或者闪存)
● 能够对硬件/软件传输进行控制
● 传输时自动增加存储器和外设指针
● 可编程传输数据字长度
● 自动的总线错误管理
● 循环模式/非循环模式
● 可传输高达65536个数据字

DMA旨在为所有外设提供相对较大的数据缓冲区,这些缓冲区一般位于系统的SRAM中。

每一个通道在特定的时间里分配给唯一的外设,连接到同一个DMA通道的外设(表1中的通道1到通道7)不能够同时使用DMA功能。

支持DMA的外设如表1所示,DMA服务的外设和总线系统结构也在图1中所示。

表1 DMA服务的外设和DMA通道分配

1.png

.........

想了解更多,请下载原文阅读

回复

使用道具 举报

6

主题

930

回帖

133

蝴蝶豆

金牌会员

最后登录
2020-12-9
发表于 2019-4-24 23:38:28 | 显示全部楼层
收藏
回复 支持 反对

使用道具 举报

请先关注话题后回复
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版