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

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

[复制链接]
zero99 发布时间:2016-7-12 14:19
HRTIMER产生多相移信号
$ T$ J, j1 ~  E/ [4 \6 q
前言- B8 s$ C0 e* {, z) c1 S% [- a( o
STM32F334内部集成了高精度Timer,最高主频4.6GHz,灵活的控制用于产生数字电源等产品的PWM控制信号,内部丰富的联动机制可以产生各种实际需求波形,本文针对多相相移信号的产生给开发者一定启示,抛砖引玉,开发者可以根据不同需求产生应用所需的波形。  `' r# h/ r  B3 _5 h/ t
" U3 N7 @8 u9 k
STM32F334内部HRTIMER结构" p7 E2 ]/ u- K: p7 ^
下图为HRTIMER的框图,可以看到该高精度Timer拥有五路独立的计数器,可以产生独立的五路带死区互补输出的PWM波形,同时Master Timer这个没有输出端口的独立Timer可以作为五路其他Timer的清零同步信号。1 k6 P+ ^% o4 F/ N  z. B) s1 @9 t
% F: C4 f3 P8 R
11.png
3 @5 p* _. J: i( T! k7 L1 ?/ l
, K8 l- R; W5 x8 X) a5 q需要产生的波形5 M6 h1 e. l9 p7 o  I9 u0 \
假定需要输出四路带死区互补输出PWM波形,频率相同,但各路波形存在相移:# q0 _* E, {& W
PWM1,PWM2,PWM3,PWM4, 需要控制这四路波形的相位,
& t9 C, M. b, C% P  XPWM1为0度,PWM2 为30度相移,PWM3为85度相移,PWM4为100度相移4 N. ^5 s% l6 s5 Z! R
占空比假定都是50%的占空比
! X* e. D, p( r* p' D
/ [; M, y% W4 o4 G! u 12.png
  c. r; D% j  y/ p5 r- r) {1 }8 y  V2 H6 C' T! w+ u% h' n. I
产生上述波形的机制
3 g0 }* C. T+ G0 x6 d% XSTM32F334的波形产生采用了比较输出模式,也就是说可以单独设定波形的Set,Reset位置,当需要将各路波形统一起来,需要同一个触发源,在不同相位点去触发Timer计数器复位,这样当设定好比较模式时,波形将自动输出,准确快速,并且可靠;
& M# ]8 Z' |* {6 f- K5 K5 x6 `$ o5 I9 M' L/ q5 y
配置步骤
, }: W$ f  i3 @( B8 p( f8 z配置管脚以及时钟8 ~, b0 D+ W7 I5 l9 o
配置Master Timer
! g# K- i8 P0 f- T# z  w4 @  \' A6 x假定使用128MHz*8 = 1024MHz作为基本时钟源,Master Timer设定为50KHz,则Master Timer的ARR寄存器数据为1024MHz/50KHz = 20480,即360度对应20480;
& D7 P! e; q4 x, P. y6 i& m/ v6 tMaster Timer的Update事件作为TimerA的计数reset信号,此时设定相移为0度
) e& k) ?3 P% d" K6 s9 D0 YMaster Timer的Compara Value 1作为TimerB的计数reset信号,如果设定相移为30度,则Compara Value 1 = ARR*30/360 = 17065 s0 [) `4 {/ e/ C; r
Master Timer的Compara Value 2作为TimerC的计数reset信号,如果设定相移为60度,则Compara Value 1 = ARR*85/360 = 3413
  D: M7 s3 Q$ _' z) f; l, L- g  iMaster Timer的Compara Value 1作为TimerD的计数reset信号,如果设定相移为90度,则Compara Value 1 = ARR*100/360 = 51203 p$ t- C2 U3 z1 n0 x  k

- }9 Y" J, R& m& k% D$ U 23.png 4 }7 q, U% v% b$ s7 v
7 ^2 s7 ~! P  [# ?- ]8 I# t
配置各个独立Timer
  A* d1 ~, _. _6 C% B. }. U0 _Timer的计数Reset信号分配如上面所示,因为这里设定的占空比为50% ,那么只需要使用到独立Tiemr的Compara Value1作为该Timer的Set信号,而Timer的update事件作为该Timer的Reset信号即可,当然这里还要说明,如果如果设定不同占空比信号输出,也可以直接配置该Timer的Compara Value2作为该Timer的Reset信号即可;! M3 A3 d( e! c" ~% [) \/ p5 Y
本例因为是50%的占空比,那么直接设定Compara Value1x(x=A,B,C,D) = 20480/2 = 10240;" a2 h# Y$ X# K; t
死区时间固定的上升下降都为数字100,该数据可根据实际调整;
" _5 D& ~# t( z2 e) D6 W4 p5 g( o! I0 _* {2 x3 @
24.png . M0 {" D; M% B8 S* D/ B' Y

. v4 {* C4 u; \; K' c4 a实际测试波形:, S# O. ~: ?* Q9 @
为方便观察,只取每相的通道1的波形进行观察。如下,可看到清晰的移相信号:# I6 T3 n/ K5 M; s# [& d

! W( @% A/ n+ w 25.png
" D* U* s. X8 T9 }% l$ J1 `
/ I1 ~% A( U6 u' w5 p/ }* j
* n! l- U7 d. J( Y: _
4 i: Q; K# P: ?7 F5 _! f$ D8 L文档下载地址:; s( P* K3 [0 t$ W
https://www.stmcu.org.cn/document/detail/index/id-217179
7 @! t1 }) W" v! O2 V) n
; `/ m( [, `; @+ P& Q& ~" U& [4 X9 s
实战经验汇总:" J& F1 ~! \0 n/ w4 Z
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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版