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

高精度定时器的同步功能

[复制链接]
STMCU小助手 发布时间:2022-11-24 22:00
STM32G474 所含的高精度定时器(HRTIMER)其实包含了多个定时器,多个定时器之间可以单独工作,也可以进行同步,且高精度定时器还能与片上的其他定时器以及其他芯片进行同步,本文将对高精度定时器的同步功能进行介绍。
7 o$ i1 D% ?' H) J5 O
0 `2 j0 c1 ?: g! j, B! a4 z5 D2.定时器同步结构
' w7 v) o# M0 W# K9 Z' Y4 T7 K4 F( U, a
HRTIME 的整体架构如下图所示,内含由 7 个定时器,主定时器 Master timer 与子定时器Timer A~F,为 1 主 6 从结构,同步功能主要分为两部分:
( p3 C; ~" A( @2 d
$ ]  ~% ^( Z' X, _' o% m: Q• 内部同步:各定时器通过内部的 Cross-timer counter reset bus 互连,见图中红框标识部分; 3 F' v& b3 W) o  b  ^2 F

# d( M2 M& M% ]) D, c, q• 外部同步:主定时器通过 External Synchronization input/output 单元与片上其他定时器以及片外其他 MCU 的定时器进行同步,如图中绿框标识部分。
! Y' S6 S" `! N( J1 @3 j* L" }3 m
6 G1 T$ \8 E: ?) K1 z4 V) E5 X% l! l0 v% d6 o+ J
3 U, N. _* J1 D; g; [* w
微信图片_20221123221415.jpg
& g' }; f; E, c/ v1 G% e
+ N7 }; L4 s  K& E
+ [6 p: M! H! R+ e整个同步功能的主体是主定时器,其主要作用就是用来给所有子定时器提供统一的同步事件,以及将同步事件提供给外部或是接收外部输入的同步事件。另外子定时器也可将自身的某些事件作为同步事件发送到 Cross-timer counter reset bus 上。在同步功能中,将提供同步信号的定时器称为主,接收同步信号的称为从。在接收到同步信号后,从定时器将自身的计数器复位到 0 或是启动计数,从而与主定时器实现同步或形成一定的移相。
5 m2 L& ?3 E- r) F) u+ r0 b4 [; u

5 n; t" z1 K1 `5 E+ f3.高精度定时器内部同步
) T9 v7 G7 w$ {$ \/ h! F" s: G; C
9 s; l0 n8 N6 D6 `. A通过内部的互联总线 Cross-timer counter reset bus,除主定时器 Master Timer 外,每个定时器都可以接收总线上其他定时器发出的同步信号,同时所有定时器都可将自身的某些事件作为同步信号发送到总线上。/ w' ^. E0 i, N1 @
+ Y1 L: y/ C$ F' Z
以定时器 Timer A 为例,其可以接收到来自 Cross-timer counter reset bus的同步事件包括:/ ~7 I5 \3 p4 ?4 R8 ]9 e8 u

0 v5 J3 U" p/ K' O• Master timer period event
+ |- b; E0 v$ P# L2 Y, J0 c* V! p
8 ]; I$ C4 {0 u  ]+ M- N0 c• Master timer cmp1/2/3/4 event
; \4 h9 P/ w) o+ s
2 h% V& B. ?( |8 I/ E- T* C• Timer B cmp1/2/4 event " @* S9 C5 m3 u. E# _0 `' K0 N3 C
2 w0 l3 q% x4 k& A
• Timer C cmp1/2/4 event
8 ^8 U. c4 x6 B. p& l6 V' r! {) m! ^* W7 _! f3 d
• Timer D cmp1/2/4 event
7 E, h! R' C5 d: O
1 d8 U9 h; c) Q) B• Timer E cmp1/2/4 event
7 N3 ?& l2 h6 b/ a( ]/ I
2 o( j) o( a( E7 F- k• Timer F cmp1/2 event
- @/ d+ n: }6 h& S
0 ~* C6 h/ z3 w7 F  e) Y' D) F
通过 Cross-timer counter reset bus,可以将所有的子定时器都与主定时器进行同步,也可以将所有的定时器分为几组,分别工作。下面以子定时器都与主定时器同步为例进行说明,借助 CubeMx 配置工具,轻松完成如下图所示的四相 90°交错 PWM 的产生。( K8 Y5 t# R2 Y& w4 i9 w( i
2 D1 _- q6 u" O/ c' e5 g, l
微信图片_20221123221407.jpg
# Q2 Q& r, l8 _# d6 h$ w
- G5 q8 _* q) x; y. X' z) cMaster Timer 的 PER/CMP1/CMP2/CMP3 事件分别作为 Timer A/B/C/D 的同步源,复位对应的定时器计数器。在子定时器中,分别选择对应的来自 Master Timer 的事件作为自身的同步源。在 CubeMx 中的相关配置如下的截图(截图仅示意同步功能部分的配置)。Master Timer 中的配置:
$ X6 j4 h2 P# k- w4 `7 z' X
8 ?) l: P- o) o; d9 ^7 Z" V( d
微信图片_20221123221358.jpg ! A! s- O/ Y/ ?, e6 Y- o1 J

7 n3 s9 K  w, j: J& ~更加简单的方式是在使能 CMP/1/2/3 后,直接选择 interleaved Mode 的 Quad 选项,这样CMP1/2/3 就会自动等于 PER/4,(PER*2)/4,(PER*3)/4,后续即使 Timer_PER 的值更新,CMP1/2/3 也会按照该规则自动更新,无需软件参与。
0 `7 y& }% d9 R3 h1 h
: s; L# U2 B. A& e. `1 Z! Y) x
赞 收藏 评论0 发布时间:2022-11-24 22:00

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版