介绍6 G) H7 ?# o( v' O+ C Z: e: l' ` 本应用说明相对于嵌入在STM32U5系列微控制器(也称为STM32U5设备)中的通用DMA(GPDMA)。GPDMA是一个系统外围设备,并且是AHB总线上的一个双端口主服务器。它用于通过链表在外设和/或内存之间传输数据。所有的GPDMA可编程传输在系统级别上提供了更高的性能,并卸载执行这些数据传输任务的CPU。. ~* X' l+ D! W7 _ 本文档的目的不是重写参考手册中的GPDMA专用部分,而是为系统开发人员提供一些面向性能的编程指南。 本文档基于GPDMA和可由GPDMA辅助的外围设备的组合功能。为了优化系统性能和匹配应用程序需求,它关注于要考虑的任何关键点。 本申请说明包含以下理由和建议: GPDMA通道分配 Subarg GPDMA端口分配4 P# A" P, E8 u: G% q -用于从内存映射的源位置进行传输 -用于传输到内存映射的目标位置 GPDMA传输优先级分配 GPDMA源/目标突发编程,根据数据宽度和突发长度 1 将军 消息6 F4 z( \* }, _0 V 本应用说明适用于STM32U5系列微控制器Arm® Cortex®基于核心的设备。: _- N6 w2 C# u9 [! N# | Arm是Arm有限公司(或其附属公司)在美国和/或其他地方的注册商标。 参考文件) v y# H% p; `" R 参考手册STM32U575/585基于Arm®的32位mcu(RM0456) • STM32U585xx datasheet (DS13086) • STM32U575xx datasheet (DS13737)0 A+ r' J2 z1 n" [, {' E : x1 O8 U, T) n5 _7 \ 2 GPDMA 将军 指导方针 2.1 GPDMA概述 GPDMA控制器用于在一个卸载的CPU的控制下,通过链表在存储器映射的外设和/或存储器之间执行可编程的数据传输。# ?$ r: h1 w* Y GPDMA是一个双AHB主服务器和系统外设。大多数外设和内存都连接到它,当需要数据传输时,提供了很大的灵活性和提高系统性能。链表是内存中的一个编程数据结构,用于准备每个GPDMA通道进行链接和调度DMA数据传输。GPDMA有16个频道。 2.2 GPDMA通道分配# ?8 }9 P! Z h5 S 用户必须为一个GPDMA传输分配一个通道。GPDMA对给定的GPDMA信道实现了一个专用的FIFO,以便能够并发地处理来自源的GPDMA传输(读访问)和到目的地的GPDMA传输(写访问)。+ i" P9 l |0 `# M l) U FIFO单元格的单位是一个字节。FIFO大小决定了信道可以有效执行的最大DMA突发大小(突发长度x数据宽度)。一般突发越大,整个系统整体性能越好:吞吐量/带宽传输越高,系统总线占用率越低。8 ?) C" r4 w* W; m. J" i 鉴于系统总线是32位字宽,建议编程一个32位的DMA源/目标数据宽度(GPDMA_CxTR1中的S/DDW_LOG2[1:0]),以最小化总线利用率。- J& N6 R$ R7 Y5 t( \5 c3 J 如下表所示,有两种信道类型,具有不同的FIFO大小和寻址模式: 通道0至11: -FIFO的大小为8个字节(2个单词)。# c. r- `. P8 p$ _ -寻址被限制为线性模式:或固定寻址(通常用于外围寄存器访问),或使用连续数据递增(通常用于内存访问)。# J+ E) f2 M( Y5 N+ o: B 通道12至15: -FIFO大小为32字节(8个单词)。% O4 z) K% t; H -寻址模式不仅是线性的,而且具有二维功能:对于源和目标,可以编程两个地址跳转/偏移: ◦在每次编程的脉冲爆发后 ◦在每个编程块后 ! E7 q& t2 D. `* B$ |3 ^7 U6 V: k! R" Y 建议采用以下通道分配方法:) p7 j+ R. a9 K7 [0 D L" \" _ 为AHB/APB外围设备分配到SRAM传输(两种方式),除非内存需要2D寻址,或者除非AHB外围设备支持突发请求 编程突发,然后建议为一个字(FIFO大小的一半),除非应用程序需要处理8或16位数据宽度。2 A# g- B, S3 o* x* c 分配给内存到内存的传输的通道12到15默认情况下,建议通过编程4个单词(FIFO大小的一半)来实现性能。这些通道12至15也优先用于: -从支持突发请求的AHB外设传输,如八点、HASH和ADC1。从/到外围设备的一半传输通常被编程为一个突发。, J+ m0 e5 Y( x: q1 ^$ S 然后建议从/到内存的(一半)转换为4个字的突发。2 B8 P! j# ~( m( c* i I# l6 f -从/传输到一些具有更高带宽要求的AHB外设。然后还建议从内存的(一半)传输编程为4字的突发。 5 D; [8 {$ f& \8 I 完整版请查看:附件 * L' b# b( z; h 出处:社区用户:lugl发布' e) _( d, ?6 \3 R |
如何使用STM32U5系列微控制器的GPDMA.pdf
下载1.12 MB, 下载次数: 60
STM32U5 x E-BIKE,记录你的骑行多巴胺
基于STM32U5系列TIMER+DMA+DAC应用经验分享
实战经验 | 基于 STM32U5 片内温度传感器正确测算温度
【文末有礼】新款STM32U5:让便携产品拥有惊艳图效
STM32的CAN FD位定时设置注意事项
【STM32U599】5.聊聊手表菜单
【STM32U599】6.界面切换
【STM32U599】3.写个表盘
【STM32U599】4.引入RTC与MVP开发
【NUCLEO-U545RE-Q】移植TinyML测试数字识别。