chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

PWM輸出第一個脈沖寬帶異常的話題

茶話MCU ? 來源:ST MCU 信息交流 ? 2020-05-14 09:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們在使用STM32定時器做PWM輸出過程中,當借助示波器或邏輯分析儀查看波形時,有時會發(fā)現(xiàn)輸出的第一個PWM脈沖跟后續(xù)的輸出脈沖不一樣。比方像下面的輸出波形,第一個脈沖的高電平要寬于所有其它后續(xù)脈沖。

對于這種情況,有些應用是不太在乎的,但有些應用場合可能就不能接受。那這個問題是怎么產(chǎn)生的?有沒有辦法解決?

產(chǎn)生這個現(xiàn)象的原因簡單點說就是在于定時器比較輸出模塊的工作與定時器計數(shù)單元的工作具有相對獨立性。使能比較通道的輸出功能的操作與使能計數(shù)器的操作有個時間差,其長短往往跟用戶處理代碼有關。

我們知道,STM32的高級定時器或通用定時器,可以大致看成由四個模塊組成,分別是主從控制模塊、時基單元、輸入捕捉模塊、輸出比較模塊。下面截圖是STM32F4系列高級定時器TIM1的功能框圖的一部分,這里沒有將定時器的主從模塊截取進來,只保留了時基單元、輸入捕捉單元、輸出比較單元。

這三個單元既可以相互配合協(xié)調(diào)工作,也可以各自獨立工作。比方說,輸出比較單元的工作并不要求時基單元的計數(shù)器工作,換言之,即使計數(shù)器不被開啟計數(shù),輸出比較單元依然可以根據(jù)默認配置或用戶的有關輸出配置而發(fā)揮作用。

我們不妨結(jié)合一個具體實例來看下。假設定時器TIM1的計數(shù)模式選擇向上計數(shù)模式,讓通道CH1按照PWM1模式的規(guī)則實現(xiàn)PWM輸出。配置好ARR和CCR1,極性選擇高有效,即OC輸出與OCRef參考信號保持同相。

對于定時器的初始化,我們一般會先對時基單元的相關參數(shù)做配置,比如時鐘源、ARR,PSC等,然后對比較輸出功能做配置和使能。當完成比較輸出的配置及使能后,即使此時沒有使能時基單元的計數(shù)器,比較輸出單元就發(fā)揮作用了,即它會結(jié)合比較輸出配置和CNT與CCR的比較結(jié)果在OC端輸出相應電平。

根據(jù)上述配置,若CCR大于計數(shù)器CNT的值時OC端輸出高電平,否則輸出低電平。若用戶沒有專門對CNT寄存器進行賦值,芯片復位后,它的默認值就是0,顯然CCR的值要大于此時的CNT的值,自然此時OC端就輸出高電平。如果此時計數(shù)器還未被開啟,這個高電平就會保持到計數(shù)器被啟動,并延申到后續(xù)的PWM輸出動作中。即這個高電平會跟第一個PWM脈沖的輸出連在一起。若剛好碰到第一個PWM脈沖首先是輸出高電平,這就導致第一個脈沖的高電平寬度要寬于后面其它所有PWM脈沖的。

下圖第1處乃通道OC功能配置完成被使能的時間點,第2處乃計數(shù)器被啟動時間點。

在跟上述相同模式和極性條件下,有沒有辦法消除第一個脈沖的多余寬度呢?

辦法是有的。既然OC通道被使能后,其輸出由CCR與CNT的比較結(jié)果和PWM模式?jīng)Q定,這時我們可以考慮在使能OC通道之前手動將CNT的值進行修改,讓它等于ARR或0xffff【若是32位計數(shù)器就是0xffffffff】,此時CNT的值不可能會小于用戶配置的CCR值,就這樣通過改變CCR與CNT的比較結(jié)果達到改變OC端輸出電平之目的。

比方,如果你用STM32標準庫寫的話,你可以在下面紅圈的那個地方加一句:【arr對應著時基單元中ARR寄存器的值】

參照上面相同定時器配置【向上計數(shù)模式、PWM1模式、極性選擇高有效】,下面基于Cube庫使用STM32F4的TIM1的通道2進一步做個驗證測試。

使用CubeMx配置完成生成初始化代碼,需添加的用戶代碼比較簡單。如下圖所示。其中方框里的延時函數(shù)代碼是用來模擬比較輸出使能與使能計數(shù)器兩個操作間的間隔,以便觀察效果。

基于上述代碼,我們通過示波器可以看到第一個脈沖明顯寬于其它后續(xù)PWM脈沖?!救缦聢D所示】

在上面代碼的基礎上,我們在使能CH2比較輸出功能的代碼前添加一句修改CNT寄存器的語句,令其值等于ARR或等于計數(shù)器的滿量程值。下圖中橢圓圈內(nèi)的代碼?!救舭袰NT值改成等于ARR的值,效果也一樣】

然后再進行測試,第一個脈沖也就不再異常了。【如下圖所示】

最后小結(jié)下,這個現(xiàn)象只有在使能定時器通道的比較輸出操作與使能計數(shù)器操作存在較為明顯的時差時才可能發(fā)現(xiàn),而且它還跟所選擇的PWM模式有關,上面只是針對向上計數(shù)模式、PWM1模式做了分析和分享,當涉及其它應用模式時可具體問題具體分析,只要弄清原因了也就不難靈活應對。

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

    關注

    116

    文章

    5848

    瀏覽量

    223890
  • STM32
    +關注

    關注

    2305

    文章

    11124

    瀏覽量

    371251
  • 定時器
    +關注

    關注

    23

    文章

    3361

    瀏覽量

    121796

原文標題:PWM輸出第一個脈沖寬帶異常的話題

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何通過PWM脈沖控制電機?

    領域。 PWM脈沖脈沖寬度調(diào)制技術,通過調(diào)節(jié)脈沖的高低電平時間比例來控制電路的平均電平值,來對
    發(fā)表于 11-28 06:58

    案例分享| PPLN驅(qū)動的寬帶量子合成器:實現(xiàn)超快壓縮光脈沖源的關鍵突破

    (BroadbandQuantumSynthesizer,BQS)便是其中之,旨在推進超快量子光學的前沿,其目的是開發(fā)世界上第一個寬帶壓縮光脈沖封裝源,這是對下
    的頭像 發(fā)表于 11-27 17:11 ?993次閱讀
    案例分享| PPLN驅(qū)動的<b class='flag-5'>寬帶</b>量子合成器:實現(xiàn)超快壓縮光<b class='flag-5'>脈沖</b>源的關鍵突破

    Linux 下交叉編譯實戰(zhàn):跑起來你的第一個 STM32 程序

    跑起來你的第一個STM32程序。、準備工作在開始之前,需要準備:1、Linux開發(fā)環(huán)境Ubuntu、Debian或其他主流發(fā)行版都可以。2、ARMGCC交叉編譯工具
    的頭像 發(fā)表于 11-24 19:04 ?268次閱讀
    Linux 下交叉編譯實戰(zhàn):跑起來你的<b class='flag-5'>第一個</b> STM32 程序

    文帶你讀懂“脈沖輸入輸出模塊”

    在自動化生產(chǎn)的世界里,傳感器、執(zhí)行器、控制器每天都在“對話”??蓡栴}是,它們說的語言千奇百怪——有的輸出電壓信號,有的傳輸電流信號,還有的發(fā)出連串高速脈沖。如果沒有“翻譯官”,系統(tǒng)就亂了套。 而
    的頭像 發(fā)表于 11-24 17:10 ?459次閱讀
    <b class='flag-5'>一</b>文帶你讀懂“<b class='flag-5'>脈沖</b>輸入<b class='flag-5'>輸出</b>模塊”

    **CW32L012****開發(fā)評估板的第一個程序**

    CW32L012****開發(fā)評估板的第一個程序 最近以15.99在CW32生態(tài)社區(qū)入手了這塊CW32L012開發(fā)評估板,我迫不及待的燒錄進電燈程序,看看這塊板子是否是正常的,能否滿足我后面的學習
    發(fā)表于 11-22 00:09

    HRTIM變頻控制輸出第一個周期頻率異常的原因?

    在使用STM32G474CBT6的HRTIM_Mater、HRTIM_TIMER_B和HRTIM_TIMER_D輸出同步互補的四路輸出時,關閉4路輸出和三定時器的計數(shù)后,再次開啟時
    發(fā)表于 04-25 06:17

    HRTIM變頻控制輸出第一個周期頻率異常的原因?

    在使用STM32G474CBT6的HRTIM_Mater、HRTIM_TIMER_B和HRTIM_TIMER_D輸出同步互補的四路輸出時,關閉4路輸出和三定時器的計數(shù)后,再次開啟時
    發(fā)表于 04-22 12:08

    LTC3886輸出PWM異常的原因?

    我在嘗試用片LTC3886輸出兩路8V10A的電源,硬件設計參考了DC2155A,調(diào)試中發(fā)現(xiàn)OUT0控制外部MOS管的PWM波有異常,它的占空比
    發(fā)表于 04-17 06:59

    STM32H750使用定時器比較通道觸發(fā)DMA操作GPIO,偶爾會發(fā)生第一個脈沖寬度過短怎么解決?

    RCC配置: DMA設置: 定時器設置: 生成的協(xié)議是dshot600 期望產(chǎn)生的效果是電平至少為560ns的高低電平 但是在實際測試的過程發(fā)現(xiàn)周期性的出現(xiàn)第一個脈沖會非
    發(fā)表于 03-11 06:11

    IGBT雙脈沖測試過程中,第一個脈沖關斷時候出現(xiàn)電壓抬高的現(xiàn)象,導致炸管了 ,怎么辦

    有沒有大佬幫忙分析下,做雙脈沖測試的時候,第一個脈沖在關斷的時候,馬上要關完了,結(jié)果驅(qū)動出現(xiàn)了震蕩,導致管子立馬又開了,然后電流激增,直接就炸管了,這是什么問題啊,圖上是波形和驅(qū)動電路,求指導
    發(fā)表于 03-06 16:45

    干法刻蝕使用脈沖電源有什么好處

    , 第一個為CW,Continuous Wave,連續(xù)波。連續(xù)波(CW)是指在時間上連續(xù)、恒定的波形,其功率和強度保持不變。它通常表現(xiàn)為單頻率信號,頻譜窄且輸出穩(wěn)定。CW 的平均功率與峰值功率相等,信號特性簡單且容易控制。CW
    的頭像 發(fā)表于 01-22 10:11 ?1010次閱讀
    干法刻蝕使用<b class='flag-5'>脈沖</b>電源有什么好處

    ADS1274用DRDY+TDM輸出模式下,讀到的第一個字節(jié)是無效的,為什么?

    今天調(diào)試中發(fā)現(xiàn)問題,1274在用DRDY+TDM輸出模式下,讀到的第一個字節(jié)是無效的! 配置是4通道,在DRDY下降沿產(chǎn)生后,等待5us(采樣率25K,即間隔40us)給出SPI
    發(fā)表于 01-08 08:17

    藍橋杯的第一個項目,點亮LED

    第一節(jié)IO簡介GPIO是通用輸入/輸出端口的簡稱,是STM32可控制的引腳。GPIO的引腳與外部硬件設備連接,可實現(xiàn)與外部通訊、控制外部硬件或者采集外部硬件數(shù)據(jù)的功能。每個GPIO內(nèi)部都有這樣的
    的頭像 發(fā)表于 01-02 21:02 ?1093次閱讀
    藍橋杯的<b class='flag-5'>第一個</b>項目,點亮<b class='flag-5'>一</b><b class='flag-5'>個</b>LED

    ADS1299在DAISY-CHAIN模式下只能配置第一個AD嗎,那后面幾個都是要怎么配置寄存器,都和第一個樣嗎?

    DAISY-CHAIN模式下,每個AD能使用自己的內(nèi)部時鐘么?(不是SPI的SCLK),還是要必須第一個AD使用內(nèi)部時鐘,然后通過CLK口輸送到其他剩余的AD的CLK口作為外部時鐘使用。如果是這樣的話,會有條高頻
    發(fā)表于 12-20 06:47

    DAC8734只能把第一個接收到的數(shù)字數(shù)據(jù)輸出,有哪些原因?qū)е碌哪兀?/a>

    一個發(fā)送的數(shù)據(jù)時序沒問題。但DAC8734只能把第一個接收到的數(shù)字數(shù)據(jù)輸出,我用的是TI公司自己的DAC8734EVM。可能有哪些原因?qū)е碌哪??是上電順序的原因嗎?
    發(fā)表于 12-19 09:17