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

高精度定时器的同步功能

[复制链接]
STMCU小助手 发布时间:2022-11-24 22:00
STM32G474 所含的高精度定时器(HRTIMER)其实包含了多个定时器,多个定时器之间可以单独工作,也可以进行同步,且高精度定时器还能与片上的其他定时器以及其他芯片进行同步,本文将对高精度定时器的同步功能进行介绍。3 Y% ?# n+ ^  A1 D& B/ ]# m
7 h9 ]) N( @& \  ?, O7 X3 U: I
2.定时器同步结构# B+ W) ~7 B2 t7 W4 h8 e
$ |- J/ s5 Y% k1 P
HRTIME 的整体架构如下图所示,内含由 7 个定时器,主定时器 Master timer 与子定时器Timer A~F,为 1 主 6 从结构,同步功能主要分为两部分:' x0 S# T9 h- W4 t$ e4 K

* J( h7 {1 [  m0 P& _• 内部同步:各定时器通过内部的 Cross-timer counter reset bus 互连,见图中红框标识部分;
4 z" s2 s( ^( w9 [3 u" S! X; n0 e, Q5 f8 k+ i  j+ x. J, x
• 外部同步:主定时器通过 External Synchronization input/output 单元与片上其他定时器以及片外其他 MCU 的定时器进行同步,如图中绿框标识部分。
' ?8 u. ^7 l  @7 |; E
+ P+ [' O7 M% n0 k; P( I" S% K. g/ r- @$ ~& {
* u; ]' @9 p4 z0 v
微信图片_20221123221415.jpg # N% m  X. f, D: q
% q  ~; ^: M5 D( u1 Z

/ n& G, [3 M  [$ H" N整个同步功能的主体是主定时器,其主要作用就是用来给所有子定时器提供统一的同步事件,以及将同步事件提供给外部或是接收外部输入的同步事件。另外子定时器也可将自身的某些事件作为同步事件发送到 Cross-timer counter reset bus 上。在同步功能中,将提供同步信号的定时器称为主,接收同步信号的称为从。在接收到同步信号后,从定时器将自身的计数器复位到 0 或是启动计数,从而与主定时器实现同步或形成一定的移相。

" t' J2 t3 o" w3 e& X! O7 I3 ^$ A' _
! t$ g6 Z) }. C3 O) R3.高精度定时器内部同步
; h1 l; M5 u# P2 M* w1 t0 I
$ K6 P  k8 p/ Z6 v/ ~' Y( ]& e/ T通过内部的互联总线 Cross-timer counter reset bus,除主定时器 Master Timer 外,每个定时器都可以接收总线上其他定时器发出的同步信号,同时所有定时器都可将自身的某些事件作为同步信号发送到总线上。) x! S1 M% ~# ^! _: V" q5 m, `  d2 R
* p( W" k% _- }  W1 L
以定时器 Timer A 为例,其可以接收到来自 Cross-timer counter reset bus的同步事件包括:! B( K& y5 j; [& p

/ S( h5 \5 g3 L; X4 R• Master timer period event) X0 N* A: C9 i
1 Q5 E3 N3 `: `: U% e+ v
• Master timer cmp1/2/3/4 event  P8 U" F4 |' t1 u" A0 y2 S& e& d" u

1 @; y  l& I" t0 X% w  ?8 h• Timer B cmp1/2/4 event / r7 l/ {) O/ _* r! |) R
2 n7 R2 X: D! G5 l
• Timer C cmp1/2/4 event 5 o" Z5 `4 g5 m- y9 T! `# r* c
. R7 @3 l9 B) T+ V
• Timer D cmp1/2/4 event
& y8 V. j2 v7 c" _) s
8 E2 A; C% ~6 E$ x% K" ?4 g% q• Timer E cmp1/2/4 event
- z! P; t; e1 A- s  j' n5 T8 R# q
• Timer F cmp1/2 event

# p- b' t# @. X5 H+ @, J( x) G; ]9 B2 s$ H" e
通过 Cross-timer counter reset bus,可以将所有的子定时器都与主定时器进行同步,也可以将所有的定时器分为几组,分别工作。下面以子定时器都与主定时器同步为例进行说明,借助 CubeMx 配置工具,轻松完成如下图所示的四相 90°交错 PWM 的产生。2 M- D! {' i6 C/ I& `9 e- B

( v( i5 y" G: Z" Q" O" |, _2 x
微信图片_20221123221407.jpg
  [1 B  e+ D5 h, l! [# r+ l5 y; _) c# G; Z5 U* u5 N' q  L# h2 }
Master Timer 的 PER/CMP1/CMP2/CMP3 事件分别作为 Timer A/B/C/D 的同步源,复位对应的定时器计数器。在子定时器中,分别选择对应的来自 Master Timer 的事件作为自身的同步源。在 CubeMx 中的相关配置如下的截图(截图仅示意同步功能部分的配置)。Master Timer 中的配置:' v- q! ], b+ q  k+ n
# v' D3 ?/ C. q, [( A
微信图片_20221123221358.jpg 8 x  Z3 f( o, t# |8 c
5 B$ E% h8 q4 G! Y+ y' l/ A, \  i  j
更加简单的方式是在使能 CMP/1/2/3 后,直接选择 interleaved Mode 的 Quad 选项,这样CMP1/2/3 就会自动等于 PER/4,(PER*2)/4,(PER*3)/4,后续即使 Timer_PER 的值更新,CMP1/2/3 也会按照该规则自动更新,无需软件参与。6 i" S; l, \9 l* C

1 M0 q. _0 @: W6 b) u
收藏 评论0 发布时间:2022-11-24 22:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版