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

如何使用STM32U5系列微控制器的GPDMA

[复制链接]
STMCU小助手 发布时间:2023-1-9 15:00
介绍# g# P* m/ y3 ]# S" ~/ S6 K
本应用说明相对于嵌入在STM32U5系列微控制器(也称为STM32U5设备)中的通用DMA(GPDMA)。GPDMA是一个系统外围设备,并且是AHB总线上的一个双端口主服务器。它用于通过链表在外设和/或内存之间传输数据。所有的GPDMA可编程传输在系统级别上提供了更高的性能,并卸载执行这些数据传输任务的CPU。
9 g( _  |: }) ?5 O7 j  c) O( j本文档的目的不是重写参考手册中的GPDMA专用部分,而是为系统开发人员提供一些面向性能的编程指南。
4 ?, Y, M5 T+ w3 {1 v3 k本文档基于GPDMA和可由GPDMA辅助的外围设备的组合功能。为了优化系统性能和匹配应用程序需求,它关注于要考虑的任何关键点。. e$ Q2 g; g! {( f& U+ T# L9 w
本申请说明包含以下理由和建议:( _9 ^0 N* h" J8 B& v; g
GPDMA通道分配
& J9 y" |3 y3 ~; [Subarg GPDMA端口分配9 l. i4 p; i0 o8 m) A" E2 I$ r3 |# i
   -用于从内存映射的源位置进行传输
$ z& l3 r0 v, f8 U0 w. X   -用于传输到内存映射的目标位置1 Z/ f, }, V5 ?. w: k
GPDMA传输优先级分配5 o, l. T- r* i
GPDMA源/目标突发编程,根据数据宽度和突发长度% T6 C, t% b- P* W/ Q) x+ r
1 将军 消息
# I4 c6 `) ^7 S: k本应用说明适用于STM32U5系列微控制器Arm® Cortex®基于核心的设备。% B/ t$ [3 T4 y
Arm是Arm有限公司(或其附属公司)在美国和/或其他地方的注册商标。/ Z) r9 W/ D7 T, E* k
参考文件3 D* q5 C8 C! F
参考手册STM32U575/585基于Arm®的32位mcu(RM0456)+ T1 k7 [  v! H3 N: [
• STM32U585xx datasheet (DS13086)+ ^& ]( I* J7 K  ]
• STM32U575xx datasheet (DS13737): i( g: i0 C. A& U. j
8 W+ U# M: e6 ]: P8 N7 e& z1 _
2 GPDMA 将军 指导方针  P7 V- A8 R  b+ \0 s; a& {3 \2 m
2.1 GPDMA概述5 D: P- F6 d! l1 j1 y+ e6 I, E
GPDMA控制器用于在一个卸载的CPU的控制下,通过链表在存储器映射的外设和/或存储器之间执行可编程的数据传输。, U* W' v, a3 K1 J& c
GPDMA是一个双AHB主服务器和系统外设。大多数外设和内存都连接到它,当需要数据传输时,提供了很大的灵活性和提高系统性能。链表是内存中的一个编程数据结构,用于准备每个GPDMA通道进行链接和调度DMA数据传输。GPDMA有16个频道。5 A. F4 S: m  [& P5 c

# Y- Z: ]9 b7 |2.2 GPDMA通道分配6 C! `5 D9 ?. q0 z' x) _4 }) G1 A
用户必须为一个GPDMA传输分配一个通道。GPDMA对给定的GPDMA信道实现了一个专用的FIFO,以便能够并发地处理来自源的GPDMA传输(读访问)和到目的地的GPDMA传输(写访问)。* L1 O0 k  J1 r5 ]) D3 O
FIFO单元格的单位是一个字节。FIFO大小决定了信道可以有效执行的最大DMA突发大小(突发长度x数据宽度)。一般突发越大,整个系统整体性能越好:吞吐量/带宽传输越高,系统总线占用率越低。
+ t3 M3 e7 B* q  z; J  x. p0 L鉴于系统总线是32位字宽,建议编程一个32位的DMA源/目标数据宽度(GPDMA_CxTR1中的S/DDW_LOG2[1:0]),以最小化总线利用率。0 Z9 d  }0 n# C. u6 _( H6 m- O
如下表所示,有两种信道类型,具有不同的FIFO大小和寻址模式:. e" c) S: U8 k) U5 t
通道0至11:: v' V2 t  `0 u: i3 h; z
     -FIFO的大小为8个字节(2个单词)。* N# g! g$ E8 ~7 v7 K
     -寻址被限制为线性模式:或固定寻址(通常用于外围寄存器访问),或使用连续数据递增(通常用于内存访问)。$ T; J$ I5 f* k3 z
通道12至15:+ |0 u' P3 u! H7 h% ]! m
       -FIFO大小为32字节(8个单词)。
8 t* E5 B7 R* V! d* O       -寻址模式不仅是线性的,而且具有二维功能:对于源和目标,可以编程两个地址跳转/偏移:, @/ Y2 u" U7 L+ m
◦在每次编程的脉冲爆发后
2 P6 ~6 Q" G+ S◦在每个编程块后
$ `# [+ L7 B- X: m. V4 X( i  N9 G# u2 Z& T' X1 T/ P  Q
7 q$ a+ C0 x) J0 o  v; E1 N
7SS959U]H`2I5@XMZKTXS6A.png
0 [1 _- }( ~7 ^) z7 M2 g/ Z' i6 g5 C1 d+ |
建议采用以下通道分配方法:' z# k* }4 O3 K  L% H
为AHB/APB外围设备分配到SRAM传输(两种方式),除非内存需要2D寻址,或者除非AHB外围设备支持突发请求' i/ p$ t2 K# U4 @$ V! x: J* Q
编程突发,然后建议为一个字(FIFO大小的一半),除非应用程序需要处理8或16位数据宽度。
% z8 u6 i2 }9 I1 J  [& D3 H1 ]- n分配给内存到内存的传输的通道12到15默认情况下,建议通过编程4个单词(FIFO大小的一半)来实现性能。这些通道12至15也优先用于:
) [/ r0 d- P7 G* }& R-从支持突发请求的AHB外设传输,如八点、HASH和ADC1。从/到外围设备的一半传输通常被编程为一个突发。. c: K7 r- @& x; t" z  U8 c+ V. z
然后建议从/到内存的(一半)转换为4个字的突发。
9 M6 [2 B& W1 f( Q-从/传输到一些具有更高带宽要求的AHB外设。然后还建议从内存的(一半)传输编程为4字的突发。
+ s' {& ?- M  l) l' p4 G
( n2 q; G; i4 U) m. s

4 C0 \7 ~7 |$ C2 i: \, @( [" Z完整版请查看:附件" p5 ^' T! m8 s" `

  W" g! k7 g* D. O2 |; a
出处:社区用户:lugl发布
' |& B- P% N+ s0 g/ O

如何使用STM32U5系列微控制器的GPDMA.pdf

下载

1.12 MB, 下载次数: 114

收藏 评论0 发布时间:2023-1-9 15:00

举报

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