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

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

[复制链接]
zero99 发布时间:2016-7-12 14:19
HRTIMER产生多相移信号
+ b5 S' x6 @1 R% w2 g$ a0 W- p* e
前言
! Z! G6 t5 R5 ?4 `/ w: M& I4 GSTM32F334内部集成了高精度Timer,最高主频4.6GHz,灵活的控制用于产生数字电源等产品的PWM控制信号,内部丰富的联动机制可以产生各种实际需求波形,本文针对多相相移信号的产生给开发者一定启示,抛砖引玉,开发者可以根据不同需求产生应用所需的波形。' K7 J" O0 U% F, }
  `4 }2 K' F: E4 v/ ], l
STM32F334内部HRTIMER结构- L5 p% |! ]7 z0 u( `9 d- [$ L
下图为HRTIMER的框图,可以看到该高精度Timer拥有五路独立的计数器,可以产生独立的五路带死区互补输出的PWM波形,同时Master Timer这个没有输出端口的独立Timer可以作为五路其他Timer的清零同步信号。7 d6 E  l) \) f, T# l6 z* r- g

0 X+ O2 W: L5 d$ Q' K8 } 11.png : {8 B: w' V4 n9 F
8 s4 Z6 G0 g2 g1 w0 m
需要产生的波形' ~  j1 O7 d& s( S
假定需要输出四路带死区互补输出PWM波形,频率相同,但各路波形存在相移:
, \, C7 T! K* z; b) U: YPWM1,PWM2,PWM3,PWM4, 需要控制这四路波形的相位,
2 n& ]3 e4 V. J4 @PWM1为0度,PWM2 为30度相移,PWM3为85度相移,PWM4为100度相移4 _3 t6 i  ^+ I' q
占空比假定都是50%的占空比
6 Y1 M/ s% h5 s! E1 P9 v
0 H8 l: I9 v7 x8 _7 C 12.png
* B! L1 C' E: Q5 X2 l, d* _  a6 W0 j( R
产生上述波形的机制
9 A. B9 e  z- `3 DSTM32F334的波形产生采用了比较输出模式,也就是说可以单独设定波形的Set,Reset位置,当需要将各路波形统一起来,需要同一个触发源,在不同相位点去触发Timer计数器复位,这样当设定好比较模式时,波形将自动输出,准确快速,并且可靠;
* E; s- r& N3 f$ L8 ?1 ~, W
! N3 g+ p5 [% A4 W7 W# j配置步骤0 ]" W% T/ F4 Z5 I' d3 L; j& _
配置管脚以及时钟
: M; s/ ~$ ^7 N  U2 x- F配置Master Timer
4 A* ^. S5 q4 \# o假定使用128MHz*8 = 1024MHz作为基本时钟源,Master Timer设定为50KHz,则Master Timer的ARR寄存器数据为1024MHz/50KHz = 20480,即360度对应20480;( x5 t) R6 m7 U; s9 U0 h+ Y
Master Timer的Update事件作为TimerA的计数reset信号,此时设定相移为0度
9 P5 k4 T" J$ J% K, g. n/ ^/ pMaster Timer的Compara Value 1作为TimerB的计数reset信号,如果设定相移为30度,则Compara Value 1 = ARR*30/360 = 1706
) c3 _& q7 ~/ hMaster Timer的Compara Value 2作为TimerC的计数reset信号,如果设定相移为60度,则Compara Value 1 = ARR*85/360 = 3413& J9 [: v: C4 u: H4 B2 g
Master Timer的Compara Value 1作为TimerD的计数reset信号,如果设定相移为90度,则Compara Value 1 = ARR*100/360 = 5120
' c* \/ c/ V4 k9 h4 }$ t/ T. Z) E0 \* a! a4 }3 q
23.png
) {3 K) p+ W9 Y# G1 f2 ~* b8 f9 R" u2 V
配置各个独立Timer
3 x( @) ?6 L* o; @9 @Timer的计数Reset信号分配如上面所示,因为这里设定的占空比为50% ,那么只需要使用到独立Tiemr的Compara Value1作为该Timer的Set信号,而Timer的update事件作为该Timer的Reset信号即可,当然这里还要说明,如果如果设定不同占空比信号输出,也可以直接配置该Timer的Compara Value2作为该Timer的Reset信号即可;
- S5 f: Y0 J3 @. n5 z/ d' U本例因为是50%的占空比,那么直接设定Compara Value1x(x=A,B,C,D) = 20480/2 = 10240;3 t6 m( e) J; s
死区时间固定的上升下降都为数字100,该数据可根据实际调整;
7 X$ Y( r7 B# Q* H, l% Y8 X( D
24.png
. ?7 o0 u& G4 r+ t1 Y4 Q" r8 X; N* ?4 K3 |
实际测试波形:( |: T0 A. B; R6 J5 b
为方便观察,只取每相的通道1的波形进行观察。如下,可看到清晰的移相信号:
" g  H# E3 v3 I4 ~' a$ D
" Z. N, T! P( `/ W% o2 x 25.png
; X2 z+ V6 _7 Y; E# o4 e; D  c  I! K# A' X
6 t5 ^# `2 M1 H5 K7 b; {9 ~! g

, j/ E0 `/ l! ?4 R% X0 R# C文档下载地址:
" J. b0 d. j" y6 j4 phttps://www.stmcu.org.cn/document/detail/index/id-217179
. E5 i5 O1 j, I2 r5 f
; t2 L- o% r" }* `9 ]! K. g1 s4 k
实战经验汇总:
$ f4 s4 [7 ^$ Z8 @6 Xhttps://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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版