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

【实战经验】HRTIMER产生多相相移信号

[复制链接]
zero99 发布时间:2016-7-12 14:19
HRTIMER产生多相相移信号 ' I% b+ j* n' t7 _: }* O
前言1 H+ t2 {/ H; I" M- |. e, g
STM32F334内部集成了高精度Timer,最高主频4.6GHz,灵活的控制用于产生数字电源等产品的PWM控制信号,内部丰富的联动机制可以产生各种实际需求波形,本文针对多相相移信号的产生给开发者一定启示,抛砖引玉,开发者可以根据不同需求产生应用所需的波形。, v. X- u4 K/ m! j2 ]. k0 q
& ]  p' H  O$ m/ k4 I+ v
STM32F334内部HRTIMER结构% c1 Z5 `5 ]! x" k
下图为HRTIMER的框图,可以看到该高精度Timer拥有五路独立的计数器,可以产生独立的五路带死区互补输出的PWM波形,同时Master Timer这个没有输出端口的独立Timer可以作为五路其他Timer的清零同步信号。  v  W$ V$ P, E" Y% j

! k2 R4 |! q& G 11.png $ h3 N, x2 a8 P4 u* }, t1 F

) B$ X2 ?8 i0 o4 _需要产生的波形
" @* ^( Y: o( e* y2 g9 d假定需要输出四路带死区互补输出PWM波形,频率相同,但各路波形存在相移:4 ]; l' ?0 |: c! D' t7 ]
PWM1,PWM2,PWM3,PWM4, 需要控制这四路波形的相位,
+ J) q. a3 Z7 A7 TPWM1为0度,PWM2 为30度相移,PWM3为85度相移,PWM4为100度相移
0 S' R  D: u: B/ `4 p( P! X/ |' Z4 z占空比假定都是50%的占空比
, Z3 x* f2 Y( S0 B! `
$ z% @7 o/ O, n 12.png
! u9 N& J* [0 V6 s* S& Q
7 u- j2 r: x5 h3 v5 W$ I6 \+ J产生上述波形的机制% x' d( ~0 F  Y! c
STM32F334的波形产生采用了比较输出模式,也就是说可以单独设定波形的Set,Reset位置,当需要将各路波形统一起来,需要同一个触发源,在不同相位点去触发Timer计数器复位,这样当设定好比较模式时,波形将自动输出,准确快速,并且可靠;6 L* x4 E% z) ?; c, G6 N
: J. A3 r5 T( C& T3 |$ A4 S
配置步骤% V1 l; C8 x, ^' c- N
配置管脚以及时钟7 [! G2 M- n* {8 ~- ]
配置Master Timer
! ]) T: U& I3 M/ ]' C假定使用128MHz*8 = 1024MHz作为基本时钟源,Master Timer设定为50KHz,则Master Timer的ARR寄存器数据为1024MHz/50KHz = 20480,即360度对应20480;$ v( z1 k5 @! H. H3 S2 }- w* A
Master Timer的Update事件作为TimerA的计数reset信号,此时设定相移为0度
  f( ]8 ~5 r: t# _, JMaster Timer的Compara Value 1作为TimerB的计数reset信号,如果设定相移为30度,则Compara Value 1 = ARR*30/360 = 1706
1 m1 n' e1 I" B! g; DMaster Timer的Compara Value 2作为TimerC的计数reset信号,如果设定相移为60度,则Compara Value 1 = ARR*85/360 = 3413+ A6 X( D( d$ k% J/ r; o* O
Master Timer的Compara Value 1作为TimerD的计数reset信号,如果设定相移为90度,则Compara Value 1 = ARR*100/360 = 5120
( Q" ~* p0 y9 f& D! K
/ k7 k! j) K2 N9 ^. X 23.png
( z6 w# B' @7 Z) K1 T* ^2 K) }
3 g2 [8 K5 Z( c配置各个独立Timer  |) M9 T, {: c# @
Timer的计数Reset信号分配如上面所示,因为这里设定的占空比为50% ,那么只需要使用到独立Tiemr的Compara Value1作为该Timer的Set信号,而Timer的update事件作为该Timer的Reset信号即可,当然这里还要说明,如果如果设定不同占空比信号输出,也可以直接配置该Timer的Compara Value2作为该Timer的Reset信号即可;* ]) t/ `5 s5 k: F; n
本例因为是50%的占空比,那么直接设定Compara Value1x(x=A,B,C,D) = 20480/2 = 10240;' U- C: y" W3 H  W5 g0 H
死区时间固定的上升下降都为数字100,该数据可根据实际调整;
4 A7 P. V, x7 M( c8 Y" j  ^( T; z0 B9 W8 O: |( }
24.png 1 [% J0 z  T+ T4 `
7 v' q! e) g2 c& r8 t
实际测试波形:7 p. v9 ]+ G0 h8 A
为方便观察,只取每相的通道1的波形进行观察。如下,可看到清晰的移相信号:9 Y2 a% Q% C( L( B

" i; p. I% g; S& a 25.png : n3 G7 K* H$ g7 ]" B

. w0 b' M' @* o- ~* K5 G3 E
  W: l  g) ^3 Q; \! t* }! j( A  {. S3 v
文档下载地址:, q; q+ w$ ?; n+ Q5 c
https://www.stmcu.org.cn/document/detail/index/id-217179
3 q$ y  V4 p3 {& |

+ R' B; r$ F/ ]# G0 O实战经验汇总:0 @$ @8 c+ c% a4 D- Y) R! t
https://www.stmcu.org.cn/module/forum/thread-576401-1-1.html
赞 收藏 2 评论1 发布时间:2016-7-12 14:19

举报

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