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

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 功能来实现此需求。
9 J( h( a. x$ w  [
/ b% F/ m! N. I5 v- [( E2. TIM DMA burst/ ?( b6 ~; j, q. f
STM32 片内部分 TIMER 在产生单个定时器事件情况下可以基于特定硬件机制触发多个 DMA 请求,这样产生多个连续的 DMA 传输来实现对多个 TIMER 寄存器的批量访问。这就是所谓的 TIM DMA burst 功能,这里有两个专用寄存器:) {( Y8 J: C, c
TIMx_DCR :6 ^# L9 `, l1 i+ i" ?% I
DBSS : 触发 DMA burst 的事件源
1 e, C( P' ?5 J% cDBL : DMA burst 传输个数% D3 }/ ^, Q9 @( O/ E; G, M1 t4 g. w
DBA : DMA burst 传输的 TIM 寄存器基地址索引: J, e& E* A3 q6 Y
TIMx_DMAR :# \) w) t; k" V( g1 @+ k/ ?( {
TIM DMA Burst 时,DMA 访问此寄存器  f' K# N# o& _7 v3 {& F6 |
7 o  w) G/ Y& L) T
1 ^/ i8 R) m6 y# `
3. 产生 PWM
  }. V- x" d5 Z! }本文使用 TIM1 来产生 PWM,在 U575 NECLEO 板上测试,MCU 主频为 100MHz。使用两个频率分别对应 TIM 寄存器组的值如下:ARR/ RCR/ CCR1% x  c- ]' L' h0 V6 m; t8 S3 u
uint32_t pulse1[3] = {1000, 2, 500} ;" w+ k/ x9 O) J3 r# w6 f( S7 }
uint32_t pulse2[3] = {5000, 1, 2500} ;# h9 ?" h& C2 `7 F6 x. v) \
即输出 3 个 pulse1 的脉冲后,再输出 2 个 pulse2 脉冲,这样交替输出。
9 e# D3 [) B1 M
3 J2 p& J2 P) l4 u1 V0 v. h
" i- A0 i6 Z! N# p& {
3.1. TIM 与 GPDMA 配置
# ?( z  J, j5 R4 p- K6 Y4 k3.1.1. TIM1 配置$ W6 M) \  n+ P% K
TIM1 配置如下,使能寄存器预装载功能。
1 A1 S# y; t! `2 x. P, Z- x9 [( T: [# d" C
3 I* L: f, t- Q' J* J. X
7 Q; k" |2 M' Z/ p4 U
45AU94}8SIK(X[5K9WDA4[A.png 7 t4 O# @2 T& w! A# ~" V

% D2 V( I, t1 X2 }7 F
) s6 v3 g/ k# `
3.1.2. GPDMA 配置
9 U1 P# ~$ V" D7 T- X使用 GPDMA 通道 12 的 linked list 模式,并配置为循环模式:
) [# G% I4 j  D, [6 @) G
! s& g4 C5 W( r; Y
" o- H# l, s8 a' G4 k
JRMX{8]7D_@9(LU(VVI%RIH.png
* X- H( r8 B3 m- Q/ ~: l+ a8 o5 M
2 W: y3 c  X/ `+ u& [: O. y' l! L完整版请查看:附件 TIM DMA burst 输出变频 PWM 波形.pdf (1.02 MB, 下载次数: 95)
收藏 评论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 手机版