请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
STMCU小助手 发布时间:2023-1-9 15:00
介绍6 G) H7 ?# o( v' O+ C  Z: e: l' `
本应用说明相对于嵌入在STM32U5系列微控制器(也称为STM32U5设备)中的通用DMA(GPDMA)。GPDMA是一个系统外围设备,并且是AHB总线上的一个双端口主服务器。它用于通过链表在外设和/或内存之间传输数据。所有的GPDMA可编程传输在系统级别上提供了更高的性能,并卸载执行这些数据传输任务的CPU。. ~* X' l+ D! W7 _
本文档的目的不是重写参考手册中的GPDMA专用部分,而是为系统开发人员提供一些面向性能的编程指南。
2 B2 P  d0 @7 L% ]& K" l, J7 z# d  B' M本文档基于GPDMA和可由GPDMA辅助的外围设备的组合功能。为了优化系统性能和匹配应用程序需求,它关注于要考虑的任何关键点。
9 C+ I4 e) l2 t6 C: y本申请说明包含以下理由和建议:
# u) F) c/ `7 z' J2 [/ AGPDMA通道分配
# R. U* w2 m! L* ~5 dSubarg GPDMA端口分配4 P# A" P, E8 u: G% q
   -用于从内存映射的源位置进行传输
, i$ g6 q( u7 a8 ^   -用于传输到内存映射的目标位置
" h' P+ S  a) ]$ P6 R, aGPDMA传输优先级分配
8 ?9 r# s# Q" H/ [7 FGPDMA源/目标突发编程,根据数据宽度和突发长度
" c7 h; H7 k( u1 将军 消息6 F4 z( \* }, _0 V
本应用说明适用于STM32U5系列微控制器Arm® Cortex®基于核心的设备。: _- N6 w2 C# u9 [! N# |
Arm是Arm有限公司(或其附属公司)在美国和/或其他地方的注册商标。
* n% f/ w$ o$ y& E* g参考文件) v  y# H% p; `" R
参考手册STM32U575/585基于Arm®的32位mcu(RM0456)
7 f( ?6 g. L& t1 V" t' F& F& z9 y( L• STM32U585xx datasheet (DS13086)
  h. c/ B% @% K' G- W  a& h4 }• STM32U575xx datasheet (DS13737)0 A+ r' J2 z1 n" [, {' E
: x1 O8 U, T) n5 _7 \
2 GPDMA 将军 指导方针
3 X. j+ f" _+ e2.1 GPDMA概述
' `# T( B' n" J1 rGPDMA控制器用于在一个卸载的CPU的控制下,通过链表在存储器映射的外设和/或存储器之间执行可编程的数据传输。# ?$ r: h1 w* Y
GPDMA是一个双AHB主服务器和系统外设。大多数外设和内存都连接到它,当需要数据传输时,提供了很大的灵活性和提高系统性能。链表是内存中的一个编程数据结构,用于准备每个GPDMA通道进行链接和调度DMA数据传输。GPDMA有16个频道。
; U) R; D: z& x+ ^/ W3 e( ]

/ A+ w4 k! U; x0 z6 t* c9 b2.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大小和寻址模式:
3 t( X: P& m* e通道0至11:
* q/ D& W5 q, `; K$ l& v     -FIFO的大小为8个字节(2个单词)。# c. r- `. P8 p$ _
     -寻址被限制为线性模式:或固定寻址(通常用于外围寄存器访问),或使用连续数据递增(通常用于内存访问)。# J+ E) f2 M( Y5 N+ o: B
通道12至15:
- T* X: g. }6 N6 F$ b+ o       -FIFO大小为32字节(8个单词)。% O4 z) K% t; H
       -寻址模式不仅是线性的,而且具有二维功能:对于源和目标,可以编程两个地址跳转/偏移:
6 A5 z7 A$ D; K: n% Z0 g; m2 h1 Y◦在每次编程的脉冲爆发后
" o4 ?6 x! c. q  R* `) S3 S◦在每个编程块后
- Z& `& O& H% r5 i+ W" w9 U
4 s1 k  ?+ H( l% Q" s- b
! E7 q& t2 D. `* B$ |3 ^7 U6 V: k! R" Y
7SS959U]H`2I5@XMZKTXS6A.png
1 I/ z, W' o. ?1 s! u. Y) t2 }
5 |4 }' [8 V. B- ~$ l建议采用以下通道分配方法:) p7 j+ R. a9 K7 [0 D  L" \" _
为AHB/APB外围设备分配到SRAM传输(两种方式),除非内存需要2D寻址,或者除非AHB外围设备支持突发请求
" F: u9 b, L* p& h. j9 }6 x& i编程突发,然后建议为一个字(FIFO大小的一半),除非应用程序需要处理8或16位数据宽度。2 A# g- B, S3 o* x* c
分配给内存到内存的传输的通道12到15默认情况下,建议通过编程4个单词(FIFO大小的一半)来实现性能。这些通道12至15也优先用于:
+ `. Y5 h" U1 S$ `% }-从支持突发请求的AHB外设传输,如八点、HASH和ADC1。从/到外围设备的一半传输通常被编程为一个突发。, J+ m0 e5 Y( x: q1 ^$ S
然后建议从/到内存的(一半)转换为4个字的突发。2 B8 P! j# ~( m( c* i  I# l6 f
-从/传输到一些具有更高带宽要求的AHB外设。然后还建议从内存的(一半)传输编程为4字的突发。
: l  a4 q% v6 Q$ Y8 O% p
( D* \5 r& |* i/ `7 K; R2 H7 T& C
5 D; [8 {$ f& \8 I
完整版请查看:附件
4 f' h- j! |9 f* L' b# b( z; h
出处:社区用户:lugl发布' e) _( d, ?6 \3 R

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

下载

1.12 MB, 下载次数: 60

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

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版