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

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 功能来实现此需求。3 ~" |: Q- Q7 s: |: z
3 Y1 a& U0 V3 W& V) P  D
2. TIM DMA burst/ M/ a, K9 [. C7 }4 n) c$ y4 F
STM32 片内部分 TIMER 在产生单个定时器事件情况下可以基于特定硬件机制触发多个 DMA 请求,这样产生多个连续的 DMA 传输来实现对多个 TIMER 寄存器的批量访问。这就是所谓的 TIM DMA burst 功能,这里有两个专用寄存器:
& D: @% W. g! L) D; VTIMx_DCR :& i0 e, W$ \( K6 g9 `
DBSS : 触发 DMA burst 的事件源
( `" h# S: m% j6 VDBL : DMA burst 传输个数5 W' X7 Q1 c7 `0 ^) ~1 N
DBA : DMA burst 传输的 TIM 寄存器基地址索引2 J. S3 D1 _$ H' N/ b6 U
TIMx_DMAR :8 x: b1 h" i# ~+ Z
TIM DMA Burst 时,DMA 访问此寄存器. ]' R$ U9 d0 }0 W' l# l* C
! X: |) h) h& t0 v7 t
- L4 Y$ X; z3 [: m( n- i. u
3. 产生 PWM
; f5 I( E) @0 n) M8 n, J& j* Q: w本文使用 TIM1 来产生 PWM,在 U575 NECLEO 板上测试,MCU 主频为 100MHz。使用两个频率分别对应 TIM 寄存器组的值如下:ARR/ RCR/ CCR1
7 L8 V3 @. o- V1 xuint32_t pulse1[3] = {1000, 2, 500} ;
5 K; y% N& s0 P+ V" Q3 Cuint32_t pulse2[3] = {5000, 1, 2500} ;
! @2 L+ @  L) P) [, [& U  R( r1 C即输出 3 个 pulse1 的脉冲后,再输出 2 个 pulse2 脉冲,这样交替输出。
7 z  R" [# P* w! E% S6 E) x9 D5 k
& z8 R! w- Z2 Q; K

/ V. D  D8 G& d4 a/ [& p" V3.1. TIM 与 GPDMA 配置1 X; j& W$ w" b6 m+ B1 l
3.1.1. TIM1 配置" q- s4 Q: k! r/ w. c( }; d
TIM1 配置如下,使能寄存器预装载功能。' E$ S/ i2 x' `& o3 A

) d' D! L# [: J6 ?

" U/ M# k1 f$ P# [# z" G; O" n7 _ 45AU94}8SIK(X[5K9WDA4[A.png ( i8 ^) d& b3 {! J

$ l; m$ m/ }2 J# o% t" j/ K5 U
- N% O( K( z- a$ Y
3.1.2. GPDMA 配置
/ q6 g) G4 _" M0 F6 V: n使用 GPDMA 通道 12 的 linked list 模式,并配置为循环模式:; W9 \; j7 ?# F
" y  q8 P! ?2 j. m0 Y: @  i

. c5 B  W' I: c# k; k( s JRMX{8]7D_@9(LU(VVI%RIH.png " T. Q( W; K  u/ ~) C$ Y; N
0 U8 K5 v. x, k) |3 |4 ?6 u) _
完整版请查看:附件 TIM DMA burst 输出变频 PWM 波形.pdf (1.02 MB, 下载次数: 64)
收藏 评论1 发布时间:2023-2-19 18:00

举报

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

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

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