STMCU小助手
发布时间:2022-7-21 14:14
|
1前言 N$ ]$ r: U; {9 d9 v% D- s 这篇应用笔记描述了怎么使用STM32F101xx 和 STM32F103xx的直接存储器访问(DMA)控制器。STM32F101xx和STM32F103xx的DMA控制器、CortexTM-M3内核、高级微控制器总线架构(AMBA)总线和存储器系统,使得STM32具有高的数据带宽,并能使用户开发出低延迟、快响应的软件。) j0 _+ l/ p' e) p 这篇文档也描述了怎样充分利用这些特性,以及对于不同的外设和子系统怎样保证正确的响应时间。 在下文中STM32F101xx和STM32F103xx都记作STM32F10xxx,DMA控制器都记作DMA。 9 C5 ]. w. W1 w) w+ H 3 t e$ q% l2 K! F 2 DMA控制器( f* {9 x$ W9 s) P DMA是AMBA的先进高性能总线(AHB)上的设备,它有2个AHB端口:一个是从端口,用于配置DMA,另一个是主端口,使得DMA可以在不同的从设备之间传输数据。- T# p2 ]6 r L1 L: P0 T# s+ r& }* z DMA的作用是在没有Cortex-M3核心的干预下,在后台完成数据传输。在传输数据的过程中,主处理器可以执行其它任务,只有在整个数据块传输结束后,需要处理这些数据时才会中断主处理器的操作。它可以在对系统性能产生较小影响的情况下,实现大量数据的传输。 DMA主要用来为不同的外设模块实现集中的数据缓冲存储区(通常在系统的SRAM中)。与分布式的解决方法(每个外设需要实现自己的数据存储)相比,这种解决方法无论在芯片使用面积还是功耗方面都要更胜一筹。 STM32F10XXX的DMA控制器充分利用了Cortex-M3哈佛架构和多层总线系统的优势,达到非常低的DMA数据传输延时和CPU响应中断延迟。 % O$ W3 s0 u) U! u) u, k6 V 2.1 DMA的主要特性 DMA具有以下的特性: ● 7个DMA通道(通道1至7)支持单向的从源端到目标端的数据传输 ● 硬件DMA通道优先级和可编程的软件DMA通道优先级9 Q( p( d4 p0 ]* ?) A! H( {; P ● 支持存储器到存储器、存储器到外设、外设到存储器、外设到外设的数据传输(存储器可以是SRAM或者闪存) ) K- F2 H. I* ?# D6 e! k. k ● 能够对硬件/软件传输进行控制 ● 传输时自动增加存储器和外设指针 ● 可编程传输数据字长度 ● 自动的总线错误管理 ● 循环模式/非循环模式 ● 可传输高达65536个数据字- z3 s: m" K7 P1 ~7 e; F1 l DMA旨在为所有外设提供相对较大的数据缓冲区,这些缓冲区一般位于系统的SRAM中。 ; I, Z2 m; R. [- Y$ j' {, }/ C 每一个通道在特定的时间里分配给唯一的外设,连接到同一个DMA通道的外设(表1中的通道1到通道7)不能够同时使用DMA功能。 支持DMA的外设如表1所示,DMA服务的外设和总线系统结构也在图1中所示。
) Q# Q& Q) u# U- o
5 C$ @* _! V! v b# f$ }9 s6 o 完整版请查看:附件5 x4 A6 e1 \ u * u4 ~& D- X* N9 W# i( x+ l " [4 o, R: ?0 r+ O * e7 \- H) b6 I3 `3 t7 ~; c1 ^ |
CD00160362_ZHV2.pdf
下载302.24 KB, 下载次数: 0
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版