1、引言
STM32G474 所含的高精度定時(shí)器(HRTIMER)其實(shí)包含了多個(gè)定時(shí)器,多個(gè)定時(shí)器之間可以單獨(dú)工作,也可以進(jìn)行同步,且高精度定時(shí)器還能與片上的其他定時(shí)器以及其他芯片進(jìn)行同步,本文將對(duì)高精度定時(shí)器的同步功能進(jìn)行介紹。
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í)器通過(guò)內(nèi)部的 Cross-timer counter reset bus 互連,見(jiàn)圖中紅框標(biāo)識(shí)部分;
- 外部同步:主定時(shí)器通過(guò) External Synchronization input/output 單元與片上其他定時(shí)器以及片外其他MCU 的定時(shí)器進(jìn)行同步,如圖中綠框標(biāo)識(shí)部分。
整個(gè)同步功能的主體是主定時(shí)器,其主要作用就是用來(lái)給所有子定時(shí)器提供統(tǒng)一的同步事件,以及將同步事件提供給外部或是接收外部輸入的同步事件。另外子定時(shí)器也可將自身的某些事件作為同步事件發(fā)送到 Cross-timer counter reset bus 上。
在同步功能中,將提供同步信號(hào)的定時(shí)器稱(chēng)為主,接收同步信號(hào)的稱(chēng)為從。在接收到同步信號(hào)后,從定時(shí)器將自身的計(jì)數(shù)器復(fù)位到 0 或是啟動(dòng)計(jì)數(shù),從而與主定時(shí)器實(shí)現(xiàn)同步或形成一定的移相。
3、高精度定時(shí)器內(nèi)部同步
通過(guò)內(nèi)部的互聯(lián)總線(xiàn) Cross-timer counter reset bus,除主定時(shí)器 Master Timer 外,每個(gè)定時(shí)器都可以接收總線(xiàn)上其他定時(shí)器發(fā)出的同步信號(hào),同時(shí)所有定時(shí)器都可將自身的某些事件作為同步信號(hào)發(fā)送到總線(xiàn)上。以定時(shí)器 Timer A 為例,其可以接收到來(lái)自 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
通過(guò) Cross-timer counter reset bus,可以將所有的子定時(shí)器都與主定時(shí)器進(jìn)行同步,也可以將所有的定時(shí)器分為幾組,分別工作。
下面以子定時(shí)器都與主定時(shí)器同步為例進(jìn)行說(shuō)明,借助 CubeMx 配置工具,輕松完成如下圖所示的四相 90°交錯(cuò) PWM 的產(chǎn)生。
Master Timer 的 PER/CMP1/CMP2/CMP3 事件分別作為 Timer A/B/C/D 的同步源,復(fù)位對(duì)應(yīng)的定時(shí)器計(jì)數(shù)器。 在子定時(shí)器中,分別選擇對(duì)應(yīng)的來(lái)自 Master Timer 的事件作為自身的同步源。 在 CubeMx 中的相關(guān)配置如下的截圖(截圖僅示意同步功能部分的配置)。
Master Timer 中的配置:
更加簡(jiǎn)單的方式是在使能 CMP/1/2/3 后,直接選擇 interleaved Mode 的 Quad 選項(xiàng),這樣CMP1/2/3 就會(huì)自動(dòng)等于 PER/4,(PER2)/4,(PER3)/4,后續(xù)即使 Timer_PER 的值更新,CMP1/2/3 也會(huì)按照該規(guī)則自動(dòng)更新,無(wú)需軟件參與。
Timer A 中的配置:
Timer B 中的配置:
Timer C 中的配置:
Timer D 中的配置:
按照以上的同步配置,并設(shè)置 PWM 的 Duty = 20%,實(shí)測(cè)到的四相 90°交錯(cuò) PWM 波形如下所示。
4、高精度定時(shí)器外部同步
HRTIME 通過(guò)其 Master Timer 的 External Synchronization input/output 單元與片上其他定時(shí)
器以及片外其他 MCU 的定時(shí)器進(jìn)行同步。
當(dāng) HRTIME 做為主時(shí),其輸出的同步事件可由其內(nèi)部的以下事情產(chǎn)生:
- Master Timer start event
- Master Timer CMP1 event
- Timer A start event
- Timer A CMP1 event
該同步事件可以在管腳 HRTIM_SCOUT 上輸出一個(gè)高或是低的脈沖,寬度為 16 個(gè) fhrtim 周期,同時(shí)也可以映射到內(nèi)部的 ITR10,ITR10 可以直接作為片上其他定時(shí)器的同步事件。
當(dāng) HRTIME 做為從時(shí),其接收的同步事件可以來(lái)自于:
- ?片上定時(shí)器 TIM1 的 TRGO
- 同步輸入管腳 HRTIM_SCIN 的上升沿
接收到同步信號(hào)后,可以設(shè)置 HRTIME 內(nèi)部定時(shí)器是復(fù)位還是啟動(dòng)。
下面以 HRTIME 做為主,TIM1 作為從, HRTIME 的 Timer A 產(chǎn)生一路 PWM,TIM1 產(chǎn)生一路PWM,兩路 PWM 構(gòu)成兩相 180°交錯(cuò)來(lái)說(shuō)明 HRTIME 的外部同步功能。在 CubeMx 中的關(guān)鍵配置如下截圖所示(截圖僅示意同步功能的配置)。
HRTIME 配置,HRTIME 作為主,Master timer 的 CMP1 事件做為同步事件,且同步事件映射到內(nèi)部的 ITR10(也可以將同步信號(hào)輸出到 HRTIM_SCOUT,同時(shí)將信號(hào)連接到 TIM1 的 ETR管腳,由于要多占用兩個(gè)管腳,不建議該方式)。
同步配置:
Master Timer 配置(可以修改 CMP1 的值來(lái)形成不同的移相值):
Timer A 配置:
TIM1 的配置,TIM1 做從,工作在 Reset Mode,PWM 的輸出模式為 PWM_MODE1。
按照以上的同步配置,實(shí)測(cè)到的兩 180°交錯(cuò) PWM 波形如下所示。
C1: HRTIM_TA1 C2 : TIM1_CH1
接下來(lái)再以如何在兩個(gè) MCU 的 HRTIME 之間完成同步。比如 MCU1 的 HRTIME 做主設(shè)備,MCU2 的 HRTIME 做從設(shè)備,相關(guān)的配置如下截圖所示。
MCU1 的 HRTIME 同步配置,Master timer 的 CMP1 事件做為同步事件,同步信號(hào)必須輸出到 HRTIM_SCOUT 管腳上。
MCU1 Master Timer 配置(可以修改 CMP1 的值來(lái)形成不同的移相值):
MCU1 Timer A 配置:
同時(shí)需要在程序中添加如下的 PB1 初始化代碼,保證同步脈沖能在 PB1 上產(chǎn)生。
MCU2 的 HRTIME 同步配置,同步信號(hào)來(lái)自 HRTIM_SCIN。
MCU2 Timer A 的配置,來(lái)自 HRTIM_SCIN 的同步信號(hào)讓 Timer A 復(fù)位并啟動(dòng)計(jì)數(shù)。
按照以上的同步配置,并設(shè)置 MCU1 與 MCU2 的 Timer A 的 PWM 的 Duty = 20%,實(shí)測(cè)到的兩 180°交錯(cuò) PWM 波形如下所示。
C1: MCU1 TA1 C2 : MCU2 TA1 C5 : HRTIM 同步脈沖
通過(guò) HRTIM_SCIN 與 HRTIM_SCOUT,配合 HRTIME 同時(shí)做主與從的方式,可以實(shí)現(xiàn)多個(gè)MCU 之間定時(shí)器的同步,如下圖示意。
5、小結(jié)
對(duì)高精度定時(shí)器 HRTIME 的同步功能進(jìn)行了介紹,基于 STM32G474 和 CubeMx 工具說(shuō)明如何快速的實(shí)現(xiàn) HRTIME 的各種同步功能。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-856567.html
本文檔參考ST官方的《【應(yīng)用筆記】LAT1173高精度定時(shí)器的同步功能》文檔。
參考下載地址:https://download.csdn.net/download/u014319604/88971346文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-856567.html
到了這里,關(guān)于STM32G4高精度定時(shí)器的同步功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!