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

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 功能来实现此需求。
0 ?! C" N; h  X* r
" c3 V; g+ h# ~8 h2 v" O* \2. TIM DMA burst  ~; b# v$ L( A7 w% a/ Q$ n
STM32 片内部分 TIMER 在产生单个定时器事件情况下可以基于特定硬件机制触发多个 DMA 请求,这样产生多个连续的 DMA 传输来实现对多个 TIMER 寄存器的批量访问。这就是所谓的 TIM DMA burst 功能,这里有两个专用寄存器:* }* Q; K' S  n' t
TIMx_DCR :( j' |; w$ P6 M" o' F
DBSS : 触发 DMA burst 的事件源
% }0 c1 L, @4 G9 k; o2 `! t& UDBL : DMA burst 传输个数1 G8 U$ q1 [" a) A7 i& P! S
DBA : DMA burst 传输的 TIM 寄存器基地址索引
" U' H' X+ M; o& TTIMx_DMAR :% c) `3 N2 ~2 t- R" k
TIM DMA Burst 时,DMA 访问此寄存器
% w- B5 d8 ?. J9 c0 ], W1 z8 ~1 u: L  t' C/ @

$ Y4 y- Q5 t7 K5 e# ^8 C$ U$ L3. 产生 PWM: Z; k# d( R* b0 S6 K
本文使用 TIM1 来产生 PWM,在 U575 NECLEO 板上测试,MCU 主频为 100MHz。使用两个频率分别对应 TIM 寄存器组的值如下:ARR/ RCR/ CCR1' J& o7 d$ E* f2 J
uint32_t pulse1[3] = {1000, 2, 500} ;
3 e6 \, |: H) {! B6 K2 `uint32_t pulse2[3] = {5000, 1, 2500} ;
0 ~/ Y) k9 A! V( |. G3 X即输出 3 个 pulse1 的脉冲后,再输出 2 个 pulse2 脉冲,这样交替输出。1 |: P( q( b: x4 M7 a

) |- g& c/ Y* c# U7 f! ]
$ E9 f6 A0 B" Y3 l6 `8 N
3.1. TIM 与 GPDMA 配置
. O! J' R5 y: d$ j+ K- s0 ~3.1.1. TIM1 配置
7 S( ^: I! t1 ~" |" r; OTIM1 配置如下,使能寄存器预装载功能。
/ l8 H' @& _. I) p. U+ U* e+ G' _+ |5 g6 @: g
  W4 @& x7 H2 z
45AU94}8SIK(X[5K9WDA4[A.png & _& `( y6 z  @7 o2 B& Y

/ z7 u  f0 s1 Y: U! K

% z  w# z% A" ]' }; [6 z3.1.2. GPDMA 配置" }1 I$ x/ f4 |# R! }3 p
使用 GPDMA 通道 12 的 linked list 模式,并配置为循环模式:3 w* w/ q* V6 k8 Z9 g# _% u8 h

6 {9 C- V8 P4 G/ Y

! O) q7 Y' C; A+ s JRMX{8]7D_@9(LU(VVI%RIH.png
6 V$ K2 g2 [. r  P# w
, n  l& o* n& U1 N8 [& O9 g8 g  m完整版请查看:附件 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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版