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

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

[复制链接]
zero99 发布时间:2016-7-12 14:19
HRTIMER产生多相移信号 2 _9 b2 u$ M% `- ?* |
前言7 ^7 _+ C2 ?2 V( q- F3 n
STM32F334内部集成了高精度Timer,最高主频4.6GHz,灵活的控制用于产生数字电源等产品的PWM控制信号,内部丰富的联动机制可以产生各种实际需求波形,本文针对多相相移信号的产生给开发者一定启示,抛砖引玉,开发者可以根据不同需求产生应用所需的波形。
8 G* U' z( {, q' X3 O" t
6 k2 |1 s! Y$ W9 ASTM32F334内部HRTIMER结构2 [! v/ J8 }9 T9 n- v
下图为HRTIMER的框图,可以看到该高精度Timer拥有五路独立的计数器,可以产生独立的五路带死区互补输出的PWM波形,同时Master Timer这个没有输出端口的独立Timer可以作为五路其他Timer的清零同步信号。
5 p$ z; r- b, [) e! z0 e( D8 A' I" j/ z$ a, K) M
11.png
" f9 I. N% G1 P& {0 a- @
- ]% e  m0 A( K  z- D0 B需要产生的波形
9 G4 |4 B6 m! s& J假定需要输出四路带死区互补输出PWM波形,频率相同,但各路波形存在相移:
' z. Q3 N% D& a0 J3 g0 d4 x& zPWM1,PWM2,PWM3,PWM4, 需要控制这四路波形的相位,
" J- a/ I- P4 L+ k: ?9 C2 WPWM1为0度,PWM2 为30度相移,PWM3为85度相移,PWM4为100度相移
8 Q  u+ o" A  X1 ]占空比假定都是50%的占空比
9 E; w) y) s$ X9 a
0 s( P3 V+ U1 k. m: N' p 12.png 7 q4 Y% f0 X! b: i' i
7 B3 g8 E6 }$ H$ M6 E) Q
产生上述波形的机制0 U, J$ w& x6 Q' D- V
STM32F334的波形产生采用了比较输出模式,也就是说可以单独设定波形的Set,Reset位置,当需要将各路波形统一起来,需要同一个触发源,在不同相位点去触发Timer计数器复位,这样当设定好比较模式时,波形将自动输出,准确快速,并且可靠;
; G9 @* }. v& K/ q  T. v% J1 w) H
' l; f. H' R, A0 e$ {! A3 N配置步骤
% H0 n7 g; v0 U; a配置管脚以及时钟( u8 d- @, O( D1 l+ h- Z
配置Master Timer
- p5 `$ F  I% Q3 i  u$ P假定使用128MHz*8 = 1024MHz作为基本时钟源,Master Timer设定为50KHz,则Master Timer的ARR寄存器数据为1024MHz/50KHz = 20480,即360度对应20480;
3 q2 x, [) n5 o2 `% S% hMaster Timer的Update事件作为TimerA的计数reset信号,此时设定相移为0度
  m- {6 t( I* o2 TMaster Timer的Compara Value 1作为TimerB的计数reset信号,如果设定相移为30度,则Compara Value 1 = ARR*30/360 = 1706. J% _! y0 w. G+ H) A
Master Timer的Compara Value 2作为TimerC的计数reset信号,如果设定相移为60度,则Compara Value 1 = ARR*85/360 = 3413; b2 g+ k2 {! t9 _8 V5 `* B
Master Timer的Compara Value 1作为TimerD的计数reset信号,如果设定相移为90度,则Compara Value 1 = ARR*100/360 = 5120
" C( z* B" i$ r4 O
; Q8 _9 ]$ h( E$ n5 ?% M 23.png
2 o8 ^* G* V9 e# j. p
7 }2 S9 l0 L1 M2 m配置各个独立Timer
" e+ k4 C7 i+ Y& H, WTimer的计数Reset信号分配如上面所示,因为这里设定的占空比为50% ,那么只需要使用到独立Tiemr的Compara Value1作为该Timer的Set信号,而Timer的update事件作为该Timer的Reset信号即可,当然这里还要说明,如果如果设定不同占空比信号输出,也可以直接配置该Timer的Compara Value2作为该Timer的Reset信号即可;
7 R# d! J+ F1 A; t$ f$ U" t( v- X本例因为是50%的占空比,那么直接设定Compara Value1x(x=A,B,C,D) = 20480/2 = 10240;
7 E" h/ I- q5 p( _* g死区时间固定的上升下降都为数字100,该数据可根据实际调整;
, V1 g  D, v& \# O: M9 J5 S" E
& F; x2 ~8 \- n. _; i# T 24.png
9 t8 J/ b9 W- B+ K) m9 C5 V; Y3 {+ e; \3 x- e0 |9 Q" X# e
实际测试波形:
5 W1 t) x/ u, ~2 _为方便观察,只取每相的通道1的波形进行观察。如下,可看到清晰的移相信号:
- f, Q  \/ Y# F5 h( V2 N- c5 b/ i& f8 L+ A' i9 z2 V1 G4 _
25.png 2 u# C# [0 I3 D0 |
, p6 h/ W( ~5 w5 h' t+ j

6 V6 F+ A) G, c* U6 ~) d$ ?8 o( _) T, D3 g" T( o
文档下载地址:
  m! p( V6 w: Yhttps://www.stmcu.org.cn/document/detail/index/id-2171799 Z6 I3 k" J) r  e% ]/ m7 n
1 {9 y1 o+ C# H; u( J
实战经验汇总:
7 E. ?* G6 h1 z' h9 A8 Shttps://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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版