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

TIM DMA burst 输出变频 PWM 波形

[复制链接]
STMCU小助手 发布时间:2023-2-19 18:00
1. 问题背景客户需要 MCU 输出一组变频的 PWM 波形来控制外围器件,并且不同频率脉冲的个数也不同。STM32U5 芯片拥有 TIM1/TIM8 高级定时器,还有通用定时器TIM2/TIM3/TIM4/TIM5 以及 TIM15/TIM16/TIM17。TIM 模块中,可通过修改 ARR 寄存器的值来修改 PWM 的频率。如果使用 TIM1/TIM8 或者 TIM15/TIM16/TIM17,则可以通过修改 RCR 与 CCR 寄存器,来控制脉冲个数及占空比。由于要同时修改多个 TIM 寄存器,需要使用 TIM 的 DMA burst 功能来实现此需求。: B' u. M: u$ \' @( n. d% ^* B
5 s, b* W. W' i
2. TIM DMA burst  `& t! m) U6 I, x4 S3 ]
STM32 片内部分 TIMER 在产生单个定时器事件情况下可以基于特定硬件机制触发多个 DMA 请求,这样产生多个连续的 DMA 传输来实现对多个 TIMER 寄存器的批量访问。这就是所谓的 TIM DMA burst 功能,这里有两个专用寄存器:
( p& ~" m, O* x- ~+ s! Q8 Y) kTIMx_DCR :
7 u+ W+ [% g9 S4 z* H6 I" hDBSS : 触发 DMA burst 的事件源% J$ a& m1 P2 g/ T- m/ G: \
DBL : DMA burst 传输个数. |- u  K# i& q; I
DBA : DMA burst 传输的 TIM 寄存器基地址索引& ?5 e0 W2 v8 h
TIMx_DMAR :
1 o! A$ R9 ]! c; \# F* U1 Q! ]8 STIM DMA Burst 时,DMA 访问此寄存器
; I; |" J" |4 Z9 s# \
- A; k2 i4 G) w' K
( G/ b+ k" I) f7 g  |$ J
3. 产生 PWM5 b) O& q# u3 e$ t
本文使用 TIM1 来产生 PWM,在 U575 NECLEO 板上测试,MCU 主频为 100MHz。使用两个频率分别对应 TIM 寄存器组的值如下:ARR/ RCR/ CCR1/ h8 `) }8 I( F2 [/ K4 }6 {. a
uint32_t pulse1[3] = {1000, 2, 500} ;
' I* I  _( w, Muint32_t pulse2[3] = {5000, 1, 2500} ;. r6 r) }8 H2 g- v: y/ Y, Y; a
即输出 3 个 pulse1 的脉冲后,再输出 2 个 pulse2 脉冲,这样交替输出。% Y+ u: z) m# r' @+ n% f

! ?8 ^+ K( @6 K2 {

9 M. i# C: v7 o( P2 J/ _- R3.1. TIM 与 GPDMA 配置4 G( @; O& y# V
3.1.1. TIM1 配置& Z7 C( |0 T! N# H' M
TIM1 配置如下,使能寄存器预装载功能。
7 i4 c+ l% g2 ~6 T: M" }# P9 f3 E2 s& z  `/ E3 Z$ _- Y  ]

: l/ a& c4 [% s 45AU94}8SIK(X[5K9WDA4[A.png ! r" B8 j2 v& F3 s1 B

+ t  c8 O; `  y. f' W# p( |6 e

5 K: U1 B7 n% n3.1.2. GPDMA 配置% c0 R$ G4 D3 w, v; \- K$ S5 @9 \
使用 GPDMA 通道 12 的 linked list 模式,并配置为循环模式:9 \0 Z7 s  j) g% v: B

0 z& r# Y, N6 e, ^; F/ a" l" L+ Q7 T

1 a/ V6 t4 R4 @( K0 E" l5 w9 | JRMX{8]7D_@9(LU(VVI%RIH.png
+ k8 X! O4 F4 _9 I1 l5 s: D0 N' H! j  i5 q* C+ D* v
完整版请查看:附件 TIM DMA burst 输出变频 PWM 波形.pdf (1.02 MB, 下载次数: 53)
收藏 评论1 发布时间:2023-2-19 18:00

举报

1个回答
ST的小迷弟 回答时间:2023-10-31 16:50:26

老哥,能否公布一下例程,我试了一下跑得有问题。0.0

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版