目錄預(yù)覽
1.引言
2.定時(shí)器同步結(jié)構(gòu)
3.高精度定時(shí)器內(nèi)部同步
4.高精度定時(shí)器外部同步
5. 小結(jié)
2.
定時(shí)器同步結(jié)構(gòu)
HRTIME 的整體架構(gòu)如下圖所示,內(nèi)含由 7 個(gè)定時(shí)器,主定時(shí)器 Master timer 與子定時(shí)器Timer A~F,為 1 主 6 從結(jié)構(gòu),同步功能主要分為兩部分:
? 內(nèi)部同步:各定時(shí)器通過內(nèi)部的 Cross-timer counter reset bus 互連,見圖中紅框標(biāo)識部分;
? 外部同步:主定時(shí)器通過 External Synchronization input/output 單元與片上其他定時(shí)器以及片外其他 MCU 的定時(shí)器進(jìn)行同步,如圖中綠框標(biāo)識部分。
整個(gè)同步功能的主體是主定時(shí)器,其主要作用就是用來給所有子定時(shí)器提供統(tǒng)一的同步事件,以及將同步事件提供給外部或是接收外部輸入的同步事件。另外子定時(shí)器也可將自身的某些事件作為同步事件發(fā)送到 Cross-timer counter reset bus 上。在同步功能中,將提供同步信號的定時(shí)器稱為主,接收同步信號的稱為從。在接收到同步信號后,從定時(shí)器將自身的計(jì)數(shù)器復(fù)位到 0 或是啟動計(jì)數(shù),從而與主定時(shí)器實(shí)現(xiàn)同步或形成一定的移相。
3.
高精度定時(shí)器內(nèi)部同步
通過內(nèi)部的互聯(lián)總線 Cross-timer counter reset bus,除主定時(shí)器 Master Timer 外,每個(gè)定時(shí)器都可以接收總線上其他定時(shí)器發(fā)出的同步信號,同時(shí)所有定時(shí)器都可將自身的某些事件作為同步信號發(fā)送到總線上。
以定時(shí)器 Timer A 為例,其可以接收到來自 Cross-timer counter reset bus的同步事件包括:
? Master timer period event
? Master timer cmp1/2/3/4 event
? Timer B cmp1/2/4 event
? Timer C cmp1/2/4 event
? Timer D cmp1/2/4 event
? Timer E cmp1/2/4 event
? Timer F cmp1/2 event
通過 Cross-timer counter reset bus,可以將所有的子定時(shí)器都與主定時(shí)器進(jìn)行同步,也可以將所有的定時(shí)器分為幾組,分別工作。下面以子定時(shí)器都與主定時(shí)器同步為例進(jìn)行說明,借助 CubeMx 配置工具,輕松完成如下圖所示的四相 90°交錯(cuò) PWM 的產(chǎn)生。
Master Timer 的 PER/CMP1/CMP2/CMP3 事件分別作為 Timer A/B/C/D 的同步源,復(fù)位對應(yīng)的定時(shí)器計(jì)數(shù)器。在子定時(shí)器中,分別選擇對應(yīng)的來自 Master Timer 的事件作為自身的同步源。在 CubeMx 中的相關(guān)配置如下的截圖(截圖僅示意同步功能部分的配置)。Master Timer 中的配置:
更加簡單的方式是在使能 CMP/1/2/3 后,直接選擇 interleaved Mode 的 Quad 選項(xiàng),這樣CMP1/2/3 就會自動等于 PER/4,(PER*2)/4,(PER*3)/4,后續(xù)即使 Timer_PER 的值更新,CMP1/2/3 也會按照該規(guī)則自動更新,無需軟件參與。
-
單片機(jī)
+關(guān)注
關(guān)注
6032文章
44522瀏覽量
633162 -
STM32
+關(guān)注
關(guān)注
2266文章
10873瀏覽量
354871
原文標(biāo)題:工程師筆記|高精度定時(shí)器的同步功能
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論