
介绍 本应用说明相对于嵌入在STM32U5系列微控制器(也称为STM32U5设备)中的通用DMA(GPDMA)。GPDMA是一个系统外围设备,并且是AHB总线上的一个双端口主服务器。它用于通过链表在外设和/或内存之间传输数据。所有的GPDMA可编程传输在系统级别上提供了更高的性能,并卸载执行这些数据传输任务的CPU。5 I: M: p: g* p( N) }6 t( i1 Y 本文档的目的不是重写参考手册中的GPDMA专用部分,而是为系统开发人员提供一些面向性能的编程指南。 本文档基于GPDMA和可由GPDMA辅助的外围设备的组合功能。为了优化系统性能和匹配应用程序需求,它关注于要考虑的任何关键点。8 G9 b- p' S+ K+ x7 r! L5 V6 A& G; r 本申请说明包含以下理由和建议:% ~3 M4 S% J+ S7 f8 i! q$ Y GPDMA通道分配 a ~8 ?& o' A" g1 | o+ [& } Subarg GPDMA端口分配 -用于从内存映射的源位置进行传输4 Y% O7 }* I* D8 Y* F; i -用于传输到内存映射的目标位置 GPDMA传输优先级分配 GPDMA源/目标突发编程,根据数据宽度和突发长度 1 将军 消息8 m5 \4 h( e$ ?& \2 I/ ` 本应用说明适用于STM32U5系列微控制器Arm® Cortex®基于核心的设备。 Arm是Arm有限公司(或其附属公司)在美国和/或其他地方的注册商标。2 N5 C4 x: l' ~3 N 参考文件3 X1 c6 d$ l4 I, p" f4 u( [ 参考手册STM32U575/585基于Arm®的32位mcu(RM0456)1 t) A/ Q& M. O6 U0 n% ^6 b • STM32U585xx datasheet (DS13086)4 T3 U. @' a0 z# P) {& T • STM32U575xx datasheet (DS13737) 2 GPDMA 将军 指导方针8 Y- f3 T9 j: V o$ z3 @ 2.1 GPDMA概述 GPDMA控制器用于在一个卸载的CPU的控制下,通过链表在存储器映射的外设和/或存储器之间执行可编程的数据传输。 GPDMA是一个双AHB主服务器和系统外设。大多数外设和内存都连接到它,当需要数据传输时,提供了很大的灵活性和提高系统性能。链表是内存中的一个编程数据结构,用于准备每个GPDMA通道进行链接和调度DMA数据传输。GPDMA有16个频道。 ( S0 r8 R% a: }% ^ 2.2 GPDMA通道分配 用户必须为一个GPDMA传输分配一个通道。GPDMA对给定的GPDMA信道实现了一个专用的FIFO,以便能够并发地处理来自源的GPDMA传输(读访问)和到目的地的GPDMA传输(写访问)。: N1 r. o n0 H* D! } FIFO单元格的单位是一个字节。FIFO大小决定了信道可以有效执行的最大DMA突发大小(突发长度x数据宽度)。一般突发越大,整个系统整体性能越好:吞吐量/带宽传输越高,系统总线占用率越低。3 l3 X7 a+ ~3 d% J5 p* L9 f4 T3 m0 t 鉴于系统总线是32位字宽,建议编程一个32位的DMA源/目标数据宽度(GPDMA_CxTR1中的S/DDW_LOG2[1:0]),以最小化总线利用率。 如下表所示,有两种信道类型,具有不同的FIFO大小和寻址模式: 通道0至11: -FIFO的大小为8个字节(2个单词)。0 S+ q& V: [* X* |7 C* ]( Q7 B. f7 B -寻址被限制为线性模式:或固定寻址(通常用于外围寄存器访问),或使用连续数据递增(通常用于内存访问)。 通道12至15: -FIFO大小为32字节(8个单词)。0 a! }4 U( I6 Z W) @0 t1 E4 I -寻址模式不仅是线性的,而且具有二维功能:对于源和目标,可以编程两个地址跳转/偏移: ◦在每次编程的脉冲爆发后 ◦在每个编程块后 ![]() 3 S4 S) a! D7 d8 ?$ ?' U% D 建议采用以下通道分配方法: 为AHB/APB外围设备分配到SRAM传输(两种方式),除非内存需要2D寻址,或者除非AHB外围设备支持突发请求 编程突发,然后建议为一个字(FIFO大小的一半),除非应用程序需要处理8或16位数据宽度。 分配给内存到内存的传输的通道12到15默认情况下,建议通过编程4个单词(FIFO大小的一半)来实现性能。这些通道12至15也优先用于:( s G! q1 I4 _ -从支持突发请求的AHB外设传输,如八点、HASH和ADC1。从/到外围设备的一半传输通常被编程为一个突发。 然后建议从/到内存的(一半)转换为4个字的突发。 b6 r1 I Y( h' A3 I& O( d -从/传输到一些具有更高带宽要求的AHB外设。然后还建议从内存的(一半)传输编程为4字的突发。 4 `2 j7 T5 H; y: z + O; c* j8 Z& `) d0 D/ x' A7 k ~ 完整版请查看:附件5 A5 ^ r% `" p9 `$ _ j 出处:社区用户:lugl发布4 W4 f1 r0 y1 Q1 j+ O P |
如何使用STM32U5系列微控制器的GPDMA.pdf
下载1.12 MB, 下载次数: 108
STM32怎么选型
内存配置的艺术:STM32为嵌入式系统高端UI优化RAM和闪存的三大策略
STM32U5 系列使用 LPBAM 进行功耗优化
【STM32U545】实现CAN数据收发
【我的STM32U5 项目秀】+04-MPU6050在STM32U5上的移植
实战经验 | 基于 STM32U5 创建 USBx_CustomHID 通信
STM32U5 x E-BIKE,记录你的骑行多巴胺
基于STM32U5系列TIMER+DMA+DAC应用经验分享
实战经验 | 基于 STM32U5 片内温度传感器正确测算温度
【文末有礼】新款STM32U5:让便携产品拥有惊艳图效