国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32G4高精度定時(shí)器的同步功能

這篇具有很好參考價(jià)值的文章主要介紹了STM32G4高精度定時(shí)器的同步功能。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

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)同步或形成一定的移相。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)

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)生。

stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)

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 中的配置:
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)

更加簡(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ú)需軟件參與。

stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
Timer A 中的配置:
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
Timer B 中的配置:
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
Timer C 中的配置:
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
Timer D 中的配置:
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)

按照以上的同步配置,并設(shè)置 PWM 的 Duty = 20%,實(shí)測(cè)到的四相 90°交錯(cuò) PWM 波形如下所示。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)

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í)器的同步事件。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
當(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è)管腳,不建議該方式)。
同步配置:
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)

Master Timer 配置(可以修改 CMP1 的值來(lái)形成不同的移相值):
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
Timer A 配置:
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
TIM1 的配置,TIM1 做從,工作在 Reset Mode,PWM 的輸出模式為 PWM_MODE1。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
按照以上的同步配置,實(shí)測(cè)到的兩 180°交錯(cuò) PWM 波形如下所示。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
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 管腳上。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
MCU1 Master Timer 配置(可以修改 CMP1 的值來(lái)形成不同的移相值):
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
MCU1 Timer A 配置:
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
同時(shí)需要在程序中添加如下的 PB1 初始化代碼,保證同步脈沖能在 PB1 上產(chǎn)生。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
MCU2 的 HRTIME 同步配置,同步信號(hào)來(lái)自 HRTIM_SCIN。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
MCU2 Timer A 的配置,來(lái)自 HRTIM_SCIN 的同步信號(hào)讓 Timer A 復(fù)位并啟動(dòng)計(jì)數(shù)。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
按照以上的同步配置,并設(shè)置 MCU1 與 MCU2 的 Timer A 的 PWM 的 Duty = 20%,實(shí)測(cè)到的兩 180°交錯(cuò) PWM 波形如下所示。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)
C1: MCU1 TA1 C2 : MCU2 TA1 C5 : HRTIM 同步脈沖

通過(guò) HRTIM_SCIN 與 HRTIM_SCOUT,配合 HRTIME 同時(shí)做主與從的方式,可以實(shí)現(xiàn)多個(gè)MCU 之間定時(shí)器的同步,如下圖示意。
stm32g4 hrtime,ST相關(guān),stm32,嵌入式硬件,單片機(jī)

5、小結(jié)

對(duì)高精度定時(shí)器 HRTIME 的同步功能進(jìn)行了介紹,基于 STM32G474 和 CubeMx 工具說(shuō)明如何快速的實(shí)現(xiàn) HRTIME 的各種同步功能。


本文檔參考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)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32G0x0系列-軟件定時(shí)器解決HAL_Delay問(wèn)題

    STM32G0x0系列-軟件定時(shí)器解決HAL_Delay問(wèn)題

    目錄 HAL_Delay函數(shù)源碼 軟件定時(shí)器 創(chuàng)建工程試驗(yàn) 1.將對(duì)應(yīng)文件移動(dòng)到項(xiàng)目位置 2.添加現(xiàn)有文件放到工程中? ?3.重定向printf 3.驗(yàn)證自己的軟件定時(shí)器 4.查看現(xiàn)象 ???????? HAL_Delay函數(shù)使用了中斷機(jī)制來(lái)實(shí)現(xiàn)延時(shí)功能,當(dāng)在中斷函數(shù)中調(diào)用HAL_Delay函數(shù)需要考慮中斷優(yōu)先級(jí)問(wèn)題。

    2024年02月07日
    瀏覽(87)
  • STM32G0 定時(shí)器PWM DMA輸出驅(qū)動(dòng)WS2812配置 LL庫(kù)

    STM32G0 定時(shí)器PWM DMA輸出驅(qū)動(dòng)WS2812配置 LL庫(kù)

    優(yōu)點(diǎn):不消耗CPU資源 缺點(diǎn):占用內(nèi)存較大 定時(shí)器配置 定時(shí)器通道:TIM3 CH2 分頻:0 重裝值:79,芯片主頻64Mhz,因此PWM輸出頻率:64Mhz/79 ≈ 800Khz,滿(mǎn)足芯片要求。 auto-reload preload 要關(guān)閉 output compare preload 要打開(kāi) DMA配置 外設(shè)一定要選擇TIM3_UP,不要選TIM_CHx 方向是內(nèi)存到外設(shè),

    2024年02月10日
    瀏覽(118)
  • STM32 等精度測(cè)頻 TIM定時(shí)器 分高低頻測(cè)試

    STM32 等精度測(cè)頻 TIM定時(shí)器 分高低頻測(cè)試

    記錄一下STM32稍顯艱難的學(xué)習(xí)過(guò)程、、 使用的STM32開(kāi)發(fā)板:微雪的Open407Z 相關(guān)資料: Open407Z-C - Waveshare Wiki MCU型號(hào):STM32F407ZE 本次想要實(shí)現(xiàn)一個(gè)單片機(jī)學(xué)習(xí)中很普遍也很簡(jiǎn)單的測(cè)頻功能,但是實(shí)操起來(lái)還得進(jìn)行很多定時(shí)器的以及中斷的相關(guān)操作。。 首先想到的是用一個(gè)定時(shí)器

    2024年02月15日
    瀏覽(91)
  • STM32 定時(shí)器配置不當(dāng)導(dǎo)致誤差(精度)偏大的問(wèn)題發(fā)現(xiàn)與解決

    STM32 定時(shí)器配置不當(dāng)導(dǎo)致誤差(精度)偏大的問(wèn)題發(fā)現(xiàn)與解決

    通用定時(shí)器TIM2/3/4/5,PWM輸出1Khz的波形 一開(kāi)始初始化代碼如下: 示波器端查看效果如下:誤差在5.64‰ 修好初始化代碼如下: 示波器端查看效果如下:誤差在0.2‰ Over!

    2024年01月16日
    瀏覽(94)
  • STM32G071開(kāi)發(fā)筆記:使用定時(shí)器(TRGO功能)觸發(fā)ADC規(guī)則采樣以避免低側(cè)電流采樣所帶來(lái)的PWM開(kāi)關(guān)噪聲

    STM32G071開(kāi)發(fā)筆記:使用定時(shí)器(TRGO功能)觸發(fā)ADC規(guī)則采樣以避免低側(cè)電流采樣所帶來(lái)的PWM開(kāi)關(guān)噪聲

    目錄 背景闡述: 導(dǎo)致問(wèn)題的原因: 解決方案: 實(shí)驗(yàn)方案: 實(shí)驗(yàn)驗(yàn)證: 可改進(jìn)的地方 結(jié)尾 RT:筆者在做一個(gè)項(xiàng)目的時(shí)候遇到了一個(gè)因?yàn)镻WM開(kāi)關(guān)噪聲干擾導(dǎo)致ADC采樣波動(dòng)大的問(wèn)題,經(jīng)過(guò)2天的研究終于想到了一個(gè)比較好的辦法,這個(gè)方法不一定適合所有項(xiàng)目,但和我當(dāng)前項(xiàng)目

    2024年01月25日
    瀏覽(98)
  • STM32 SYSTick高精度延時(shí)功能代碼實(shí)現(xiàn)

    STM32 SYSTick高精度延時(shí)功能代碼實(shí)現(xiàn)

    本篇文章將給大家講解一下SYSTICK滴答定時(shí)器,以及講解使用滴答定時(shí)器來(lái)實(shí)現(xiàn)高精度延時(shí)功能的代碼。 SysTick定時(shí)器是嵌入式系統(tǒng)中常見(jiàn)的一個(gè)系統(tǒng)定時(shí)器,在ARM Cortex-M微控制器中廣泛使用。下面是關(guān)于SysTick定時(shí)器的一些介紹: 用途: SysTick定時(shí)器通常被用作操作系統(tǒng)的時(shí)鐘

    2024年02月22日
    瀏覽(93)
  • 關(guān)于STM32F103輸入捕獲高精度采集頻率信號(hào)的方法

    關(guān)于STM32F103輸入捕獲高精度采集頻率信號(hào)的方法

    前段時(shí)間需要做一款頻率采集設(shè)備,由于成本考慮,使用了APM32F103作為主控,APM32F103和STM32F103基本完全通用,有極個(gè)別BUG。不影響本次試驗(yàn)。客戶(hù)要求的頻率信號(hào)為11KHz到23KHz,精度要求在任何頻率范圍誤差不能大于當(dāng)前頻率的萬(wàn)分之一以上(排除溫度影響),采集速度要10

    2024年02月15日
    瀏覽(94)
  • 【STM32】STM32學(xué)習(xí)筆記-定時(shí)器定時(shí)中斷 定時(shí)器外部時(shí)鐘(14)

    【STM32】STM32學(xué)習(xí)筆記-定時(shí)器定時(shí)中斷 定時(shí)器外部時(shí)鐘(14)

    1.1 TIM_InternalClockConfig 1.2 TIM_TimeBaseInit 1.3 TIM_TimeBaseInitTypeDef 1.4 TIM_ClearFlag 1.5 TIM_ITConfig 1.6 TIM_Cmd 1.7 中斷服務(wù)函數(shù) 參考程序 1.8 TIM_ETRClockMode2Config timer.h timer.c main.c timer.h timer.c main.c 09-定時(shí)器定時(shí)中斷.rar 10-定時(shí)器外部時(shí)鐘.rar 參考: 【STM32】江科大STM32學(xué)習(xí)筆記匯總

    2024年02月03日
    瀏覽(97)
  • 【STM32筆記】STM32的定時(shí)器開(kāi)發(fā)基礎(chǔ)(二)(基于STM32CubeMX實(shí)現(xiàn)定時(shí)器中斷)

    【STM32筆記】STM32的定時(shí)器開(kāi)發(fā)基礎(chǔ)(二)(基于STM32CubeMX實(shí)現(xiàn)定時(shí)器中斷)

    ? 傳統(tǒng)STM32外部中斷 的設(shè)計(jì)步驟: ?(1)將GPIO初始化為輸入端口。 ?(2)配置相關(guān)I/O引腳與中斷線(xiàn)的映射關(guān)系。 ?(3)設(shè)置該I/O引腳對(duì)印的中斷觸發(fā)條件。 ?(4)配置NVIC,并使能中斷。 ?(5)編寫(xiě)中斷服務(wù)函數(shù)。 ? 基于STM32CubeMX的外部中斷 設(shè)計(jì)步驟 ?(1)在STM3

    2024年02月20日
    瀏覽(98)
  • STM32定時(shí)器-定時(shí)器中斷功能詳解

    STM32定時(shí)器-定時(shí)器中斷功能詳解

    STM32的眾多定時(shí)器中我們使用最多的是高級(jí)定時(shí)器和通用定時(shí)器,而高級(jí)定時(shí)器一般也是用作通用定時(shí)器的功能,下面我們就以通用定時(shí)器為例進(jìn)行講解,其功能和特點(diǎn)包括: 通用與基本定時(shí)器(2~7)位于低速的APB1總線(xiàn)上 高級(jí)定時(shí)器(1、8)位于高速的APB2總線(xiàn)上 自動(dòng)裝載計(jì)

    2024年02月08日
    瀏覽(108)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包