吴忠躺衫网络科技有限公司

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

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

3天內不再提示

STM32定時器非對稱PWM輸出模式應用示例

茶話MCU ? 來源:ST MCU 信息交流 ? 2020-05-14 09:21 ? 次閱讀

STM32用戶使用STM32F3系列MCU開發產品,想利用片內定時器實現移相全橋的PWM波形輸出。具體要求如下,并希望輸出下圖所示波形:

1、A與B波形的頻率及占空比相同,波形錯位的時間需可調,如圖上半部分所示。

2、A與/A是同頻率、同占空比的互補波形,兩個波形的高電平之間可插入死區。

3、B與/B的關系同A與/A,如圖中下半部分的圖示。

要實現上面的波形,我們可以通過靈活運用比較輸出的toggle模式結合DMA來實現,

不過,這對很多人來說,難度可能有點大。

具體到這里,因為他選擇了STM32F3系列,而STM32F3/L4/F7/H7等系列的定時器都具備非對稱PWM輸出模式或組合輸出模式,若使用非對稱PWM輸出模式實現上述輸出就比較方便省事。下面一起來看看。

所謂非對稱PWM輸出模式它是相對基于中心對稱計數時的對稱PWM輸出而言的。當計數模式為中心對齊,某個輸出通道利用一個比較寄存器做PWM輸出時,其對應的PWM輸出波形呈中心對稱,如下圖所示:

那這里的非對稱PWM輸出呢?同樣采用中心對齊計數模式,1個通道的輸出要用到2個比較寄存器的值進行比較翻轉。比方定時器通道3的輸出,根據CCR3和CCR4的值分別在向上計數和向下計數過程中做兩次比較而產生輸出,由于CCR3與CCR4的值往往不一致進而輸出非對稱的PWM波形。如下圖所示:

關于定時器比較輸出的非對稱PWM模式,OC1REFC或OC2REFC的輸出特征由CCR1和CCR2的值及所選PWM模式決定,同樣,OC3REFC或OC4REFC的輸出特征由CCR3和CCR4的值和所選PWM模式決定。

STM32參考手冊中在這個地方可能講得比較簡單,我這里再畫圖示意下。OC1/OC2都使用非對稱PWM輸出模式。CCR1=3,CCR2=6,ARR=8。注意,采用非對稱PWM輸出模式一定要使用中心對齊計數模式。

從上圖中我們不難看出,對于OC1REFC和OC2REFC,它們的輸出產生了相差,該相差取決于CCR1與CCR2的值。基于這點,我們就可以實現上面的A、B輸出的相移問題,即通過修改CCR的值即可自由調整相差。【OCxREFC信號最終還是輸出到OCx端的,并支持互補輸出。】

這時我們再開啟這兩路的互補輸出,到此就可以實現客戶的輸出要求了。

下面我們利用STM32CubeMx神器進行初始化配置。【了解下關鍵配置就好】

配置時鐘等,然后生成初始化代碼并打開相關工程。添加需要的用戶代碼。代碼很簡單,是基于cube HAL庫。【開啟CH1/CH2及互補通道的PWM輸出功能,使能主輸出、開啟計數器。】

看下輸出結果【未插入死區】:

我們也可以基于互補通道插入死區,得到帶死區的輸出結果。

看到這里,是不是覺得這個非對稱PWM模式對實現那些相差可調的驅動波形很方便?好,關于STM32定時器的非對稱PWM功能輸出就介紹到這里。當然,它還可以有些其它靈活的用法,有興趣可以進一步了解并為你所用。

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

    關注

    114

    文章

    5198

    瀏覽量

    214879
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357573
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115371

原文標題:STM32定時器非對稱PWM輸出模式應用示例

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

收藏 人收藏

    評論

    相關推薦

    高級定時器PWM輸入模式的配置方法

    我們將向大家介紹高級定時器的另一個常見應用——PWM輸入模式。在本節課中,我們將先圍繞輸入捕獲模式展開,并重點描述PWM輸入
    的頭像 發表于 11-08 16:48 ?2789次閱讀
    高級<b class='flag-5'>定時器</b><b class='flag-5'>PWM</b>輸入<b class='flag-5'>模式</b>的配置方法

    stm32定時器編碼模式可以做輸出嗎?

    我想要做正交編碼,但是網上一般只介紹了用編碼對其做解碼,而我需要的是輸出波形。我在一個小網站的解答上看到定時器的編碼
    發表于 07-31 07:59

    GD32E230C8T6高級定時器timer0無法正常輸出PWM波形的原因?

    原本想用高級定時器的中央對齊計數模式輸出SPWM波,但是TIMER0的CH0,CH1等口,都無法正常輸出PWM波形,換成普通
    發表于 07-26 06:34

    定時器的工作方式介紹

    或實現周期性事件的硬件模塊。它可以用于實現各種定時任務,如定時中斷、PWM(脈沖寬度調制)輸出、頻率測量等。定時器通常由一個計數
    的頭像 發表于 07-12 10:29 ?1126次閱讀

    STM32G4系列芯片定時器的延時輸出問題

    有人使用STM32G4系列芯片內部的多個定時器PWM輸出輸出頻率一樣,占空比也一樣,均為50%。可是,當他中途調整各個
    的頭像 發表于 07-01 09:45 ?1906次閱讀
    <b class='flag-5'>STM32</b>G4系列芯片<b class='flag-5'>定時器</b>的延時<b class='flag-5'>輸出</b>問題

    定時器PWM輸出時,定時器回調函數只能執行一次,是什么原因?

    定時器PWM輸出時,初始化定時器時執行HAL_TIM_PWM_Init( TIM1_Handler);時進入回調函數里初始化GPIO引腳;
    發表于 05-30 07:15

    如何用STM32定時器實現一個周期輸出PWM2的波形?

    請教各位如何用STM32定時器實現一個周期輸出PWM2的波形呢(低-高-低-高-低)?萬分感謝您的解答!
    發表于 04-03 06:39

    STM32G030定時器16 17和1同步輸出如何實現?

    STM32G030系列中只有定時器1 16和17三個定時器可以輸出帶死區時間互補pwm,我想實現其中兩個或者3個同步
    發表于 03-27 06:45

    STM32同一定時器PWM輸出定時,會影響我的PWM輸出嗎?

    求助各位大佬 ,我用定時器2通道1輸出PWM 定時器設置為TIM2_PERIODE (1000-1) TIM2_PRESCALER 36,現在還想開啟2的中斷用
    發表于 03-26 07:23

    如果STM32定時器外接了正交編碼,該剩余通道是否能做PWM輸出呢?

    其實,對于STM32芯片,編碼輸入信號就是定時器的計數時鐘源之一。定時器外接了編碼輸入,若還有剩余通道的話,剩余通道依然可以實現輸入捕獲或輸出比較功能。
    的頭像 發表于 03-21 09:06 ?1992次閱讀
    如果<b class='flag-5'>STM32</b><b class='flag-5'>定時器</b>外接了正交編碼<b class='flag-5'>器</b>,該剩余通道是否能做<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>呢?

    stm32L431 sleep模式下如何使外設定時器采用DMA方式輸注pwm信號?

    看資料描述sleep模式下,外設可以正常工作,于是我希望定時器1采用DMA方式輸注PWM信號,沒有其他的外圍設備,只是做了個demo程序測試。現在不進低功耗的時候,可以正常輸出
    發表于 03-19 07:17

    G473使用TIM1非對稱模式做移相,用TIM8Combined PWM模式做對角的移相與門輸出,為什么時序不對?

    G473使用TIM1非對稱模式做移相,用TIM8Combined PWM模式做對角的移相與門輸出,為啥占空比對了時序不對?
    發表于 03-14 07:49

    stm32主從定時器門控模式,怎么控制在不產生PWM時從定時器cnt不要計數?

    stm32主從定時器,采用門控模式,主定時器用單脈沖模式控制輸出。但是我在實驗的時候發現其從
    發表于 03-12 07:08

    STM32G030C8T6要輸出8~12路PWM,每個定時器可以輸出4路,那如何讓兩個定時器輸出PWM同步呢?

    STM32G030C8T6要輸出8~12路PWM,每個定時器可以輸出4路,那如何讓兩個定時器
    發表于 03-08 08:19

    使用555定時器的可調雙定時器電路

    定時器 IC 555 是最通用和最常用的 IC 之一,因為它的應用范圍更廣,如 PWM放大器、延遲定時器、開關電路、占空比選擇、時鐘脈沖發生
    的頭像 發表于 02-25 15:16 ?2421次閱讀
    使用555<b class='flag-5'>定時器</b>的可調雙<b class='flag-5'>定時器</b>電路
    百家乐787| 玩百家乐输澳门百家乐现场| 属虎属鼠合伙做生意吗| 钱隆百家乐官网大师| 评测百家乐博彩网站| 百家乐合| 大赢家娱乐城官方网| 太阳城百家乐官网红利| 百家乐太阳城小郭| 威尼斯人娱乐城优惠活动| 優博百家乐客服| 合水县| 大西洋百家乐官网的玩法技巧和规则 | 百家乐五种路单规| 屏边| 永利百家乐现金网| 888真人赌博| 太阳城百家乐注册平台| 宜良县| 百家乐视频二人麻将| 佳木斯市| 豪华百家乐桌子厂家| 百家乐官网国际娱乐城| 玩百家乐是否有技巧| 大发888 娱乐游戏| 百家乐破解版下载| 和记娱乐| 百家乐不倒翁缺点| 网上百家乐官网正规代理| 大发888游戏平台df888| 威斯汀百家乐官网的玩法技巧和规则 | 百家乐输了好多钱| 百家乐官网洗码软件| 百家乐赌场破解| 百家乐官网开户百家乐官网技巧 | 棋牌游戏下载| 百家乐官网投注窍门| 大发888娱乐城真人视讯服务| 真钱百家乐赌博| 至尊百家乐官网20| 足球百家乐官网投注|