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

高精度定时器的同步功能

[复制链接]
STMCU小助手 发布时间:2022-11-24 22:00
STM32G474 所含的高精度定时器(HRTIMER)其实包含了多个定时器,多个定时器之间可以单独工作,也可以进行同步,且高精度定时器还能与片上的其他定时器以及其他芯片进行同步,本文将对高精度定时器的同步功能进行介绍。
9 t  _; l- M- C
- ^8 T+ i9 ]7 K" R2.定时器同步结构3 T9 m5 e% `) X5 B. j
$ g8 x. B0 l; E4 z& t
HRTIME 的整体架构如下图所示,内含由 7 个定时器,主定时器 Master timer 与子定时器Timer A~F,为 1 主 6 从结构,同步功能主要分为两部分:
1 b% d) b: `2 `, l0 O
+ {1 I2 S# S2 A8 v" u& b• 内部同步:各定时器通过内部的 Cross-timer counter reset bus 互连,见图中红框标识部分; 7 z, o! G0 N1 _/ S7 V5 E

7 e7 K" t, H1 \1 k% O1 u• 外部同步:主定时器通过 External Synchronization input/output 单元与片上其他定时器以及片外其他 MCU 的定时器进行同步,如图中绿框标识部分。
3 i( K5 S& O; g* ~+ Q! X" e3 S& L1 K7 b5 Z: e+ k7 U+ j7 m) T

0 Y7 M% H+ X& J! `$ a, }; O% q& ^4 J9 f" a% P( {0 `
微信图片_20221123221415.jpg
; {% y, Y2 \% ^, z' Y* ~
* ~* y3 @  [# q' s* u8 i' f
0 `# L# M% ~3 v3 R; {5 D9 p1 m整个同步功能的主体是主定时器,其主要作用就是用来给所有子定时器提供统一的同步事件,以及将同步事件提供给外部或是接收外部输入的同步事件。另外子定时器也可将自身的某些事件作为同步事件发送到 Cross-timer counter reset bus 上。在同步功能中,将提供同步信号的定时器称为主,接收同步信号的称为从。在接收到同步信号后,从定时器将自身的计数器复位到 0 或是启动计数,从而与主定时器实现同步或形成一定的移相。
7 {6 ]. ]' N" C4 ?8 N, T
2 j7 ^3 E9 d$ {: U) c6 m
3.高精度定时器内部同步
3 B; Y* j- B1 U& R" t$ W, j0 y, z$ z$ S7 n8 c
通过内部的互联总线 Cross-timer counter reset bus,除主定时器 Master Timer 外,每个定时器都可以接收总线上其他定时器发出的同步信号,同时所有定时器都可将自身的某些事件作为同步信号发送到总线上。2 V5 R# n) P) m) }
- {- h) v# Z. `7 F% o) O
以定时器 Timer A 为例,其可以接收到来自 Cross-timer counter reset bus的同步事件包括:/ z. n6 `# j- }% P' D# d

# A2 T" R' W0 F7 p1 }1 E• Master timer period event1 v. y2 ]- V" `8 K7 }

2 U6 {3 h$ }7 X/ G! y• Master timer cmp1/2/3/4 event
; j5 G) P  n" T; Z: b
3 @5 G! n5 N7 G$ q1 H5 M2 j2 e. n: ~' j• Timer B cmp1/2/4 event
( H6 d" I' L4 O& |( a) [+ d6 @0 o
* R3 X1 G: m- h! P. i• Timer C cmp1/2/4 event * a& M) q2 q" f0 s; W

1 ?1 A: T% h. [5 V: T  E# a: _• Timer D cmp1/2/4 event
3 L! y" ^( Y  m* a0 d' ]# W* O  t+ ~5 z% i, F$ E* g$ C0 |. `3 [
• Timer E cmp1/2/4 event
& E+ n) L$ M$ i! X/ y
* \+ [7 P$ y- g• Timer F cmp1/2 event

, N9 E4 ^4 B7 I' g) b; r' D. q/ f" W7 n( K( [
通过 Cross-timer counter reset bus,可以将所有的子定时器都与主定时器进行同步,也可以将所有的定时器分为几组,分别工作。下面以子定时器都与主定时器同步为例进行说明,借助 CubeMx 配置工具,轻松完成如下图所示的四相 90°交错 PWM 的产生。
) a* Q& ?2 e7 S
2 p' v' H: P) M
微信图片_20221123221407.jpg
; R, e# [# u3 T$ k, V
& R) o/ I' o' E' F  Z% oMaster Timer 的 PER/CMP1/CMP2/CMP3 事件分别作为 Timer A/B/C/D 的同步源,复位对应的定时器计数器。在子定时器中,分别选择对应的来自 Master Timer 的事件作为自身的同步源。在 CubeMx 中的相关配置如下的截图(截图仅示意同步功能部分的配置)。Master Timer 中的配置:
% f/ g' R. V& v! B  y7 `& ?. ^: Z/ d: u; n
微信图片_20221123221358.jpg % @5 {  {* Y$ a; F! O

1 g# v; a- Q4 x4 Y+ v- K( @更加简单的方式是在使能 CMP/1/2/3 后,直接选择 interleaved Mode 的 Quad 选项,这样CMP1/2/3 就会自动等于 PER/4,(PER*2)/4,(PER*3)/4,后续即使 Timer_PER 的值更新,CMP1/2/3 也会按照该规则自动更新,无需软件参与。% q5 G4 l9 E& C" s' v, I

" }/ k2 d  Z' O; ^6 Z  w' b5 T
收藏 评论0 发布时间:2022-11-24 22:00

举报

0个回答

所属标签

相似技术帖

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