91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

定時器實現(xiàn)3路時差和占空比可調的波形

茶話MCU ? 來源:ST MCU 信息交流 ? 2019-11-20 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有人想實現(xiàn)下面的PWM輸出波形,三路頻率相同,占空比同步可調,且三路輸出波形時差固定為T/3。【下圖中橙色斜線是計數器周期性計數變化曲線示意圖】之前有過類似的話題交流,這里就整個實現(xiàn)過程再做下演示,并盡可能介紹詳細點。

這里使用STM32F302_Nucleo板來實現(xiàn)之。使用STM32常規(guī)定時器中的高級定時器TIM1來實現(xiàn)。當然,也并非一定要TIM1,其它支持多通道比較輸出且比較事件能觸發(fā)DMA的都可以。

其中,第一路使用TIM1_CH1,使用PWM1輸出模式,第二路使用TIM1_CH2,第三路使用TIM1_CH3,這兩路都使用Match Toggle輸出模式。

在TIM1更新中斷里修改通道1的CCR值,為修改CH2/CH3的CCR值做準備,最終通過CH2/CH3各自的比較事件觸發(fā)DMA,依靠DMA寫入CC2和CCR3寄存器而完成修改。注意,此時CH2/CH3通道的CCR寄存器預裝功能必須關閉。

一、基于STM32CubeMx的配置如下:

二、準備相關用戶代碼

主要準備上面幾句,代碼是我基于STM32Cube庫而編寫。

上面的第1/2句清除TIM1的更新中斷標志,有些情況下沒有這兩句會給我們帶來些麻煩或困惑。主要是防止一使能定時器更新中斷或相關DMA請求就進入中斷服務程序或觸發(fā)DMA傳輸,更多細節(jié)在之前文章中有詳細介紹過。這里就不重復了。

第3句、第4句、第6句功能差不多,開啟相應通道的比較輸出功能,其中開啟了基于CH2/CH3的比較事件的DMA觸發(fā)使能,并完成相關配置。

特別提醒第5句,這句是跟庫代碼有關聯(lián)的。庫代碼目前在調用定時器的DMA配置時,目前來看應該說有個bug,調用某個通道的DMA配置函數后,需要將狀態(tài)改為ready后才能有效調用后續(xù)其它通道的DMA配置函數。當然,我們如果不使用Cube庫代碼就不用這句了。

第7句只有TIM1/TIM8高級定時器才需要使用它,開啟TIM1/TIM8的主輸出功能。

另外,準備了跟DMA傳輸有關的兩個內存數組。其中紅色下劃線的數據在實際運行過程中會被動態(tài)修改而調整占空比。

在TIM1更新中斷里同步修改各個通道CCR的值,參考代碼如下。其中,Count_Update和i為兩個靜態(tài)字節(jié)變量。這里每發(fā)生256次更新事件后分別對3個通道的CCR值做一次修改。【具體使用中你可以自行根據具體需求來設計,這里僅供演示參考。貼出原始代碼主要是為了幫助理解整個思路?!?/p>

三、驗證最后結果。

上面三幅圖是3路PWM輸出信號在不同時間點的截圖,頻率固定,相差固定,占空比在改變。當然,我們也可以通過選擇合適的時間點來修改ARR值及通道2/通道3的初始相位值,以靈活調整輸出波形的頻率與相差。總之,STM32定時器的比較切換模式,再結合DMA的話,是個非常靈活好用的PWM輸出的實現(xiàn)方式,值得研究學習下。

當然,如果使用3個定時器建立主從關系,各拿出一個通道來實現(xiàn)上述輸出也很方便。有興趣的話,也可以試試。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5872

    瀏覽量

    225671
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373474
  • 定時器
    +關注

    關注

    23

    文章

    3368

    瀏覽量

    123653

原文標題:一個定時器實現(xiàn)3路時差和占空比可調的波形

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LM555QML定時器:功能特性、應用及設計要點

    了解一下它。 文件下載: lm555qml.pdf 一、LM555QML簡介 LM555QML是一款可直接替代SE555/NE555的定時器,能實現(xiàn)從微秒到數小時的定時,支持單穩(wěn)態(tài)和無穩(wěn)態(tài)兩種工作模式,并且
    的頭像 發(fā)表于 02-10 15:40 ?145次閱讀

    探索xx555系列精密定時器:特性、應用與設計要點

    的特性、應用以及設計要點。 文件下載: se555.pdf 一、產品概述 xx555系列定時器是一款經典的精密定時電路,能夠產生精確的時間延遲或振蕩。它具有從微秒到數小時的定時能力,支持單穩(wěn)態(tài)和無穩(wěn)態(tài)兩種工作模式,并且
    的頭像 發(fā)表于 02-10 14:45 ?171次閱讀

    CW32定時器及其中斷介紹

    / 比較通道,可實現(xiàn) 6 獨立 PWM 輸出或 3 對互補 PWM 輸出或對 6 輸入進行捕獲???用于基本的定時 / 計數、測量輸入
    發(fā)表于 01-14 06:42

    CW32通用定時器—輸出比較

    實現(xiàn)這個效果,只需要在中斷中反轉IO電平即可。但是這樣很不方便,比如我想要在不調整周期的情況下去控制方波的占空比,這種原始的辦法就會略顯麻煩,需要在中斷內修改定時器的設置來實現(xiàn)。為了避
    發(fā)表于 12-11 06:45

    實現(xiàn)一個嵌入式的軟件定時器

    數量不受限制。 但由于軟件定時器是通過程序實現(xiàn)的,其運行和維護都需要耗費一定的CPU資源,同時精度也相對硬件定時器要差一些。 2.軟件定時器
    發(fā)表于 12-10 08:29

    CW32A030微控制定時器

    組成,并由一個可編程的預分頻驅動。 ATIM 支持6 個獨立的捕獲/ 比較通道,可實現(xiàn)6 獨立PWM 輸出或3 對互補PWM 輸出或對6
    發(fā)表于 12-04 06:47

    CW32L010+定時器介紹

    和預分頻系數,可以實現(xiàn)精確的定時控制。例如,在鬧鐘應用中,可以使用定時器來設置鬧鐘的響鈴時間。 PWM輸出:高級控制PWM定時器支持PWM輸出功能,通過改變分頻比和
    發(fā)表于 12-01 07:53

    CW32L0開發(fā)板學習記錄四,高級定時器ATIM學習

    通道,可以測量輸入信號的脈沖寬度(輸入捕獲)或者產生輸出波形(輸出比較和 PWM)。 低功耗定時器(LPTIM): 內部集成1個 16 位低功耗定時器(LPTIM),可以以很低的功耗實現(xiàn)
    發(fā)表于 12-01 07:35

    CW32定時器及中斷介紹

    / 比較通道,可實現(xiàn) 6 獨立 PWM 輸出或 3 對互補 PWM 輸出或對 6 輸入進行捕獲???用于基本的定時 / 計數、測量輸入
    發(fā)表于 12-01 07:08

    PWM、定時器、SysTick 區(qū)別及應用場景

    。下面我們來梳理清楚。一、基本概念定時器(Timer)MCU內最基礎的計數外設,通過計數時鐘周期實現(xiàn)定時、計數功能。多數MCU內部有多個通用定時器,可配置為
    的頭像 發(fā)表于 11-17 10:53 ?524次閱讀
    PWM、<b class='flag-5'>定時器</b>、SysTick 區(qū)別及應用場景

    定時器同步之并行模式

    事件作為 TRGOUT 源,用于觸發(fā)兩個從定時器。TMR3 和 TMR4 作為從定時器,開啟掛起模式用于與主定時器進行同步。并且使能 TMR2_CH1,TMR
    發(fā)表于 09-22 09:56

    ?TPL5010-Q1 納米功耗系統(tǒng)定時器(帶看門狗功能)技術文檔摘要

    TPL5010-Q1 Nano 定時器是一款低功耗、符合 AEC-Q100 標準的定時器,帶有看門狗 該功能非常適合占空比或電池供電應用中的系統(tǒng)喚醒。在這樣的系統(tǒng)中 微控制
    的頭像 發(fā)表于 09-13 10:01 ?1597次閱讀
    ?TPL5010-Q1 納米功耗系統(tǒng)<b class='flag-5'>定時器</b>(帶看門狗功能)技術文檔摘要

    【RA4M2-SENSOR】3、使用GPT定時器-PWM輸出

    結合起來使用的話可以實現(xiàn)更加豐富的功能, 可以對輸入信號進行計數,可以測量輸入信號的脈沖寬度,可以輸出單個脈沖、PWM 等波形,等等。 通過定時器生成 PWM 波形信號來控制電機狀態(tài)是
    發(fā)表于 09-01 15:20

    MCU定時器/計數

    RISC-V核低功耗MCU通過靈活的定時器架構、低功耗模式適配及硬件級中斷優(yōu)化,在工業(yè)控制、智能家居等場景中實現(xiàn)高精度計時與能耗控制的協(xié)同設計,滿足復雜任務調度與實時響應的雙重需求?。 一、?硬件
    的頭像 發(fā)表于 04-27 13:54 ?782次閱讀

    【S32K 進階之旅】如何使用 S32K3 PIT 定時器實現(xiàn)精準延時?

    周期中斷定時器(PeriodicInterruptTimer,PIT)模塊顧名思義,就是通過計時行為引發(fā)周期性中斷事件的觸發(fā)。本文基于S32K312開發(fā)板實現(xiàn)延時功能,在此之前先簡單介紹下PIT
    的頭像 發(fā)表于 03-10 16:33 ?1192次閱讀
    【S32K 進階之旅】如何使用 S32K<b class='flag-5'>3</b> PIT <b class='flag-5'>定時器</b><b class='flag-5'>實現(xiàn)</b>精準延時?