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

使用 TIMER 输出比较模式输出相移信号

[复制链接]
STMCU小助手 发布时间:2022-8-3 20:29
1. 前言! c: b) S: M+ C6 G
客户想要使用 STM32L031 产生两个特定的 PWM 波,这两个波形频率相同,占空比相同,但相位不同。经过验证,使用定时器的输出比较模式可以产生这种带相移的 PWM 波形。. l0 I% G4 r1 p( P0 V% t
下面以 STM32L031 的 TIM2 为例来介绍使用产生相移信号的方法。' W  f6 t7 Q1 y; J' X3 Y
2. 概述
- W" N0 m6 o7 C6 s在未使能预装载寄存器时(OCxPE=0),使用输出比较模式,可以随时通过软件更新TIM_CCRx 寄存器的值,以控制输出波形。& d. ?; ]2 B6 N& Y
DMA 的循环模式,可以在最后一次数据传输完成后,自动重新加载初始编程值,内部地址寄存器会重新加载基址值,进入下一个循环。( t8 m- g( B' {6 t
使用输出比较模式配合 DMA 的循环模式可以不断更新 TIMx_CCR 寄存器的值,从而输出可控的波形。8 r8 F2 ?/ a3 I! h; d% }5 p
下面以 NUCLEO-L031 为例介绍产生相移信号的方法。
% c7 W; a$ J( S" q% ?8 k: z
2 Z! F- e7 c1 T

* {8 A& a4 Q( [+ A' R3. 目标波形' X( J' ~9 ], i" S/ n
为了便于观察,令 PWM 波的周期为 100ms,占空比为 20%。以 TIM2_CH1 输出的波形的为基准,其为 0 度相移。" g5 |, D' t  C% r
➢ TIM2_CH1: 相移 0 度,占空比为 20%% j) M  \: k% H7 z0 c6 X
➢ TIM2_CH2: 相移 90 度,占空比为 20%5 `: `% l2 c, {# S
➢ TIM2_CH3: 相移 180 度,占空比为 20%, n$ N! Y, v! _( F
➢ TIM2_CH4: 相移 270 度,占空比为 20%
& F. l. T% K, r0 `/ S; t! Z: `5 H: l% k" L! ~* x
: @; E9 @/ U6 O8 s, i- U) l% z: K
4. 使用 STM32CubeMX 进行配置) K  p% R+ t7 \1 ]/ d! F' e5 [
使用 STM32CubeMX 进行基础参数的配置。这里配置时钟为 32MHz,如图 1 所示。
& h0 k' }% P5 ?- e9 L. {8 O. i$ z: W
4 r: Y8 N1 E0 `4 ^3 z4 ~$ a; O
$ e3 _: ^! }: A" d+ U
0P9VUCGIYO4({Z5IU]R}ELJ.png   h4 g. U# a# M5 t1 o0 U4 G9 v' N
, D5 D+ [5 g; Z- `
配置时钟源为内部时钟,因为 TIM2_CH1 为基准信号,直接配置为 PWM 输出即可。TIM2_CH2、TIM2_CH3 和 TIM2_CH4 配置为输出比较模式,如图 2 所示。7 X1 ]( c( @5 C- n, d. `
; `# \7 h! ^; i7 D7 x- h% T- M

( g4 p" L0 z2 n8 z; {* i" l9 L EMX)BE$][~1`3ZW8`Z8`9.png
8 Z/ F; ]4 f- L7 `/ _3 _
% \' r( C7 C# @6 ~; i配置 TIM2 的预分频值与计数周期,配置计数周期为 100,计数模式配置为"Up"。配置channel1 的模式为"PWM mode 1",因为占空比为 20%,计数周期为 100,所以 CCR1 寄存器配置为 20(也即 Channel1 的 Pulse 配置为"20"),极性配置为"High"。Channel2、 Channel3 和 Channel4 的模式都配置为"Toggle on match"(匹配时翻转电平),极性配置为"low",CCR 不需要配置,因为会通过 DMA 自动写入。具体配置如图 3 所示。3 M! `/ s- t/ y" m! P( n
8 l% v  v9 }: Q) x

: O4 ]: b' I8 e" P/ n7 X
8 [- Y1 n! m. U# t0 l6 n3 \. T+ n  h- c. G9 }* e1 Q
8 X1 Q* H* G; q0 V4 F
添加 TIM2_CH2、TIM2_CH3 和 TIM2_CH4 的 DMA,并进行配置,配置的内容都相同,配置如下:0 M: h# Y* s8 y$ M# a/ h4 D
➢ Direction: Memory To Peripheral
3 F; M2 e0 r3 l. ]; g! F  P➢ Mode: Circular
/ P. {5 A2 P' d% }3 T% X, R8 T  @➢ Data Width: Word: C, X3 Q: _/ |, J5 L
具体配置如图 4 所示
/ O4 P. m; l( g6 N; e8 H
) I7 _( V' v' {, H0 H

& i. n. X; s6 o2 j0 N& ~ ~L9105N431T@7CM0TG5E3[N.png
: k2 ^4 m2 y- d. _
2 E4 v0 a* v  ^* V  x7 e! b( Z
- q3 Q. k% [: t# {# R4 k: F完整版请查看:附件
2 O" c5 b: t, ?  ?7 B
! J' y* t+ A6 w% a8 s2 p
0 P4 L2 ]$ l( R3 D. j6 w9 f
1 o8 D- [4 \: I6 N3 |8 M3 g. H

LAT1155_使用输出比较模式产生相移信号_v1.0.pdf

下载

428.95 KB, 下载次数: 0

赞 收藏 评论0 发布时间:2022-8-3 20:29

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版