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

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

[复制链接]
zero99 发布时间:2016-7-12 14:19
HRTIMER产生多相移信号
1 i8 U0 [' t) H, }
前言( I; ?/ X  N. [9 N; `! o& g9 V5 X
STM32F334内部集成了高精度Timer,最高主频4.6GHz,灵活的控制用于产生数字电源等产品的PWM控制信号,内部丰富的联动机制可以产生各种实际需求波形,本文针对多相相移信号的产生给开发者一定启示,抛砖引玉,开发者可以根据不同需求产生应用所需的波形。+ G' V" b( D& P* d7 E' t
# _6 }8 h  y( o, l6 X
STM32F334内部HRTIMER结构
3 S/ q3 A5 e+ ]4 o( n, @下图为HRTIMER的框图,可以看到该高精度Timer拥有五路独立的计数器,可以产生独立的五路带死区互补输出的PWM波形,同时Master Timer这个没有输出端口的独立Timer可以作为五路其他Timer的清零同步信号。1 |# n/ ~8 F* e4 ~0 X8 |

7 ^" X7 z- z) N0 v9 z 11.png " P$ P8 t/ |' p' ^3 j
2 n0 v7 y! P1 R+ o- p4 q) @) L
需要产生的波形
, Z# v. N/ n: W4 _( ~, ]2 D0 r& W假定需要输出四路带死区互补输出PWM波形,频率相同,但各路波形存在相移:5 E) q- W  x: i7 a
PWM1,PWM2,PWM3,PWM4, 需要控制这四路波形的相位,% F7 Q' l% C7 o, K& R3 X. a
PWM1为0度,PWM2 为30度相移,PWM3为85度相移,PWM4为100度相移* p' A4 q4 k! X8 k' i
占空比假定都是50%的占空比
% k7 ?6 O2 u" p& `
. C+ T9 o+ z& K, [; d 12.png 2 D; ]; G: r& q/ v9 _

8 E, Q# s* W/ y( A( _1 t8 u4 s产生上述波形的机制7 z- p' p$ |- X9 l# \
STM32F334的波形产生采用了比较输出模式,也就是说可以单独设定波形的Set,Reset位置,当需要将各路波形统一起来,需要同一个触发源,在不同相位点去触发Timer计数器复位,这样当设定好比较模式时,波形将自动输出,准确快速,并且可靠;
7 J  b; Z3 h6 I" p
9 F% J! r! h: v' B4 ?配置步骤. z- x5 G3 s$ N2 K4 O
配置管脚以及时钟# w: I, Q( M3 ]5 q" }
配置Master Timer  ~8 `+ X+ }) h2 {
假定使用128MHz*8 = 1024MHz作为基本时钟源,Master Timer设定为50KHz,则Master Timer的ARR寄存器数据为1024MHz/50KHz = 20480,即360度对应20480;: A8 \; g$ F4 D; [$ l
Master Timer的Update事件作为TimerA的计数reset信号,此时设定相移为0度
6 ~+ {6 u$ v' W' K* E  [0 eMaster Timer的Compara Value 1作为TimerB的计数reset信号,如果设定相移为30度,则Compara Value 1 = ARR*30/360 = 17061 m+ a: ]& j7 J4 ~0 _$ r+ r3 S
Master Timer的Compara Value 2作为TimerC的计数reset信号,如果设定相移为60度,则Compara Value 1 = ARR*85/360 = 3413$ p/ N- s& b( L. L+ v0 |  c
Master Timer的Compara Value 1作为TimerD的计数reset信号,如果设定相移为90度,则Compara Value 1 = ARR*100/360 = 5120+ E! p8 k5 h2 A- @

! [& j4 t/ F1 r& B, M' ^% H5 C 23.png
! @* B& b- B2 D* J$ @
2 a1 |$ H0 }8 ^/ h; M配置各个独立Timer
, o3 X, n7 M8 m5 q! wTimer的计数Reset信号分配如上面所示,因为这里设定的占空比为50% ,那么只需要使用到独立Tiemr的Compara Value1作为该Timer的Set信号,而Timer的update事件作为该Timer的Reset信号即可,当然这里还要说明,如果如果设定不同占空比信号输出,也可以直接配置该Timer的Compara Value2作为该Timer的Reset信号即可;
2 I0 ?+ ?6 N/ W& r0 x' z. a2 l本例因为是50%的占空比,那么直接设定Compara Value1x(x=A,B,C,D) = 20480/2 = 10240;' E4 Q# S7 A. m" M) p- W) z0 W
死区时间固定的上升下降都为数字100,该数据可根据实际调整;2 p& @0 }) ~, e7 g# y4 ~
! P, M. v- J, m; K* @% I
24.png   D6 n, ^) c9 ^" R
4 x  ]5 y! a4 A4 g. f
实际测试波形:& d! T4 e# m- j* {2 s
为方便观察,只取每相的通道1的波形进行观察。如下,可看到清晰的移相信号:* ^; K4 P* L, V4 e( }  q7 _, K% O

! R# W2 v) ?. Y# a, T 25.png & }3 c+ {4 W7 v* I. y

% c8 p& ~) Z) ]$ J 4 X4 |( B( S/ j1 ^$ j

- g# ^9 i" C7 J% q, C- F, E3 M文档下载地址:5 ~4 X, F# r$ R
https://www.stmcu.org.cn/document/detail/index/id-217179" V, c+ |+ M. W9 @. z

2 Q0 r0 G( ~- W3 ^7 t7 q实战经验汇总:
) F. Y2 M9 Z8 r( ahttps://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 手机版