關(guān)于高速單片機(jī)STM32H7定時(shí)器同步啟動(dòng)并輸出多路PWM波形的探究

摘要:本文主要研究了STM32H7芯片系列中定時(shí)器同步啟動(dòng)并輸出PWM波形的實(shí)現(xiàn)方法。PWM信號(hào)在現(xiàn)代嵌入式系統(tǒng)中廣泛應(yīng)用于電機(jī)控制、LED調(diào)光等場(chǎng)景,而在多個(gè)PWM信號(hào)同時(shí)輸出時(shí),為了保證同步性和穩(wěn)定性,需要進(jìn)行同步啟動(dòng)操作。本文首先分析了STM32H7芯片定時(shí)器同步啟動(dòng)和PWM輸出的原理。針對(duì)多個(gè)PWM信號(hào)同時(shí)輸出的情況,提出了一種基于定時(shí)器同步啟動(dòng)的PWM輸出方案。采用STM32CubeMX進(jìn)行實(shí)驗(yàn)驗(yàn)證,結(jié)果表明,該方案能夠有效解決多個(gè)PWM信號(hào)同步輸出的問題,實(shí)現(xiàn)了高精度和穩(wěn)定性。本文的方法和經(jīng)驗(yàn)可以為其他嵌入式系統(tǒng)中PWM信號(hào)的多路輸出提供參考和借鑒,對(duì)于提高嵌入式系統(tǒng)的實(shí)時(shí)性和精度具有很高的實(shí)用價(jià)值。

關(guān)鍵詞:同步;電機(jī)控制;高速單片機(jī);STM32CubeMX;STM32H7;PWM

AbstractThis paper mainly studies the realization method of timer synchronous startup and output PWM waveform in STM32H7 chip series. PWM signals are widely used in modern embedded systems in motor control, LED dimming and other scenarios, and when multiple PWM signals are output at the same time, in order to ensure synchronization and stability, it is necessary to start the operation synchronously. This paper first analyzes the principle of STM32H7 chip timer synchronous startup and PWM output. Aiming at the simultaneous output of multiple PWM signals, a PWM output scheme based on timer synchronization is proposed. STM32CubeMX is used for experimental verification. The results show that this scheme can effectively solve the problem of synchronizing output of multiple PWM signals, and achieve high precision and stability. The method and experience in this paper can provide reference and reference for other embedded system PWM signal multichannel output, and has high practical value for improving the real-time and precision of embedded system.

KeywordsSynchronize; High speed single chip microcomputer; STM32CubeMX; STM32H723ZGT6; PWM


隨著嵌入式系統(tǒng)技術(shù)的不斷發(fā)展,PWM(Pulse Width Modulation)信號(hào)在各種應(yīng)用場(chǎng)景中得到了廣泛應(yīng)用,例如電機(jī)控制、LED燈控、音頻處理等方面。在多個(gè)PWM信號(hào)同時(shí)輸出時(shí),為了保證信號(hào)的同步性和穩(wěn)定性,定時(shí)器同步啟動(dòng)技術(shù)成為了必要的手段。STM32系列芯片以其高性能和多功能外設(shè)而廣受業(yè)界認(rèn)可。其中,STM32H7系列芯片配備了豐富的定時(shí)器模塊,既具備通用性又具備高性能,支持多種工作模式,可以滿足多種嵌入式應(yīng)用對(duì)高精度、多信號(hào)輸出的需求。

本文基于STM32H7芯片,研究了定時(shí)器同步啟動(dòng)技術(shù)在PWM信號(hào)多路輸出中的應(yīng)用。我們?cè)谕ㄟ^研究相關(guān)技術(shù)的基礎(chǔ)上,提出了一種基于定時(shí)器同步啟動(dòng)的PWM輸出方案,并通過實(shí)驗(yàn)驗(yàn)證了該方案的穩(wěn)定性和實(shí)用性。本文旨在探究嵌入式系統(tǒng)中PWM信號(hào)同步輸出問題的解決方案,為有類似需求的嵌入式開發(fā)人員提供參考和借鑒,希望本文對(duì)開發(fā)者在設(shè)計(jì)多路PWM輸出應(yīng)用時(shí)提供一些實(shí)用價(jià)值和借鑒意義。

STM32H723ZGT6所有定時(shí)器包括兩個(gè)高級(jí)控制定時(shí)器、十二個(gè)通用定時(shí)器、兩個(gè)基本定時(shí)器、五個(gè)低功耗定時(shí)器、兩個(gè)看門狗定時(shí)器和一個(gè)SysTick定時(shí)器。所有計(jì)時(shí)器計(jì)數(shù)器都可以在Debug模式下凍結(jié)。本次實(shí)驗(yàn)主頻配置的是500MHz,共使用過了TIM1、 TIM2、TIM3、TIM23、TIM24共五個(gè)定時(shí)器,其中TIM1為主定時(shí)器,用于控制其他定時(shí)器的同步啟動(dòng),其他定時(shí)器為從定時(shí)器,用于輸出PWM波形。


1. 通用定時(shí)器框圖

通用定時(shí)器框圖.png


2. 定時(shí)器特性比較 3. 定時(shí)器內(nèi)部觸發(fā)連接關(guān)系
定時(shí)器特性比較-新.jpg 定時(shí)器內(nèi)部觸發(fā)連接關(guān)系-新.jpg


4. 原理方案以及開發(fā)流程

4.1 原理方案

通過配置主從定時(shí)器內(nèi)部觸發(fā)連接功能,以達(dá)到啟動(dòng)主定時(shí)器時(shí),其他從定時(shí)器同步啟動(dòng)的功能。

4.2 通過STM32CubeMX配置定時(shí)器工作模式

4.2.1 配置主定時(shí)器

4.2.2 配置從定時(shí)器

配置主定時(shí)器.png

配置從定時(shí)器.png

4.2.3 配置PWM輸出引腳功能

配置PWM輸出引腳功能.png


5. 修改代碼并驗(yàn)證功能

5.1 修改代碼

修改代碼-1.png

此HAL庫接口每次只能初始化一個(gè)其中一個(gè)TIM的通道并開啟PWM,但判斷不了是否由主定時(shí)器TIM1來控制同步啟動(dòng)的,所以需要對(duì)其函數(shù)進(jìn)行修改。如下:

修改代碼-2.png 修改代碼-3.png
int main(void) 函數(shù)內(nèi)容

5.2 用示波器邏輯分析功能驗(yàn)證結(jié)果 5.3 驗(yàn)證抖動(dòng)范圍不超過3ns
用示波器邏輯分析功能驗(yàn)證結(jié)果.png 驗(yàn)證抖動(dòng)范圍不超過3ns.png


6. 結(jié)論

綜上所述,使用STM32H7的同步啟動(dòng)定時(shí)器可有效降低多個(gè)定時(shí)器之間的相位誤差,提高系統(tǒng)的定時(shí)精度。通過TIM定時(shí)器主從模式功能,實(shí)現(xiàn)了定時(shí)器的同步啟動(dòng),并且實(shí)現(xiàn)了周期、占空比和相位的精確控制。實(shí)驗(yàn)結(jié)果表明,該方案可以在多種應(yīng)用場(chǎng)景下提高系統(tǒng)穩(wěn)定性和可靠性。

總之,本文設(shè)計(jì)的STM32H7同步啟動(dòng)定時(shí)器方案具有較高的實(shí)用價(jià)值和應(yīng)用前景,對(duì)于各種基于定時(shí)器的控制應(yīng)用都具有一定的參考價(jià)值。


本文由上海凝睿電子科技有限公司西安分公司 原創(chuàng),如需轉(zhuǎn)載請(qǐng)標(biāo)明出處。

歡迎聯(lián)系我們,共同探討學(xué)習(xí)。

Tel:400-188-0158

Web:www.fbea.cn