国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

一個通道如何捕獲PWM的頻率和占空比?

撞上電子 ? 2023-12-30 08:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一,前言

正常情況是雙通道捕獲PWM波,這種方法簡單且準確,但是它占用的資源太多了,因為它使用定時器的兩個通道,且這兩個通道映射在一個通道上,同時配置一路捕獲為觸發定時器復位,所以只能使用2個通道來捕獲。雖然也實現了捕獲 PWM 的功能,但是代價也太大了,且很難同時捕獲多個 PWM ,那有沒有更好的方法呢?本文介紹了另一種捕獲 PWM 的方法,只使用任何一路定時器的輸入捕獲,就可以測 PWM 的頻率和占空比。


二、捕獲PWM原理

8045ae62-a6a6-11ee-9ee2-92fbcf53809c.png

雙通道就是上圖的原理,利用兩路輸入捕獲上升沿和下降沿,就能很簡單的測出 PWM 頻率和占空比。

8049acec-a6a6-11ee-9ee2-92fbcf53809c.png

分析上圖,最開始捕獲上升沿,在上升沿到來后開始捕獲,然后轉為捕獲下降沿,捕獲接下來的兩個下降沿,依據兩個下降沿之間計數的差值即可計算出PWM的總脈寬,從而計算出PWM頻率,然后由第一個下降沿的計數值可以計算得出PWM高電平的脈寬,即可計算出PWM的占空比。有的人可能會問,那我為什么不可以以上升沿開始捕獲,然后連續捕獲下降沿和下一個上升沿呢?理論上這樣是絕對沒問題的,但是你想過沒有,既然可以這樣,那么 《STM32參考手冊》上為什么要用兩路輸入捕獲來測PWM?問題就在于 PWM的占空比以及頻率。當PWM頻率很快的時候,上升沿和下降沿切換的速度很快,而用一路輸入捕獲在很短的時間內切換捕獲上升沿以及下降沿,很可能導致上升沿或者下降沿沒捕捉到的情況。就比如PWM高電平的時間很短,你剛捕獲到上升沿,然后切換捕捉下降沿,結果PWM的下降沿已經過去了。使用我的方法測PWM波的時候,從圖中可以看到,至少兩個下降沿的捕獲是不會有問題的,也就是說,PWM頻率的測量是不會出錯的。而在從捕獲上升沿到切換捕獲下降沿的時候,上述捕獲不到的問題依然會發生,那為什么我的方法就可以而其他方法就不行呢。原因就在于,上面已經提到過,我的方法PWM脈寬測量是沒問題的,那么我就可以比較第一個下降沿時的計數值CNT1和CNT2(PWM脈寬的計數值),如果CNT1大,那表示遺漏了一個下降沿,那么高電平的計數值為CNT1-CNT2,反之高電平的計數值為CNT1。

805262ce-a6a6-11ee-9ee2-92fbcf53809c.png

一路輸入捕獲的配置比兩路的配置簡單,就是普通的輸入捕獲。具體的代碼這里就不貼出來了,可以去參考我上一篇文章。這里把關鍵的捕獲中斷服務函數貼出來:代碼如下:

u8 TIM5CH1_CAPTURE_STA=0; //輸入捕獲狀態static u16 TIM5CH1_CNTTIME=0;u32 TIM5CH1_CAPTURE_VAL=0; //輸入捕獲值u32 TIM5CH1_CAPTURE_HIGHVAL=0; //定時器5中斷服務程序 void TIM5_IRQHandler(void){ if(!(TIM5CH1_CAPTURE_STA&0X80))//還未成功捕獲{if (TIM_GetITStatus(TIM5, TIM_IT_Update) != RESET){if(TIM5CH1_CAPTURE_STA&0X40)//已經捕獲到高電平了{TIM5CH1_CAPTURE_VAL+=65536;}TIM_ClearITPendingBit(TIM5, TIM_IT_Update); //清除中斷標志位}if (TIM_GetITStatus(TIM5, TIM_IT_CC1) != RESET)//捕獲1發生捕獲事件{if(TIM5CH1_CAPTURE_STA&0x20) //捕獲到第二個下降沿{TIM5CH1_CAPTURE_STA|=0X80;TIM5CH1_CAPTURE_VAL+=TIM5->CCR1-TIM5CH1_CNTTIME-TIM5CH1_CAPTURE_HIGHVAL;if(TIM5CH1_CAPTURE_HIGHVAL>TIM5CH1_CAPTURE_VAL)TIM5CH1_CAPTURE_HIGHVAL-=TIM5CH1_CAPTURE_VAL;else if(TIM5CH1_CAPTURE_HIGHVAL==TIM5CH1_CAPTURE_VAL)TIM5CH1_CAPTURE_HIGHVAL=0;TIM5->CCER &= ~(1<<1); //CC1P=0 設置為上升沿捕獲}else if(TIM5CH1_CAPTURE_STA&0X40) //捕獲到第一個下降沿{TIM5CH1_CAPTURE_STA|=0X20; //標記成功捕獲到一次下降沿TIM5CH1_CAPTURE_HIGHVAL=TIM5CH1_CAPTURE_VAL+TIM5->CCR1-TIM5CH1_CNTTIME;}else //還未開始,第一次捕獲上升沿{TIM5CH1_CNTTIME=TIM5->CCR1;TIM5CH1_CAPTURE_VAL=0;TIM5CH1_CAPTURE_STA|=0X40; //標記捕獲到了上升沿TIM5->CCER |= (1<<1); //CC1P=1 設置為下降沿捕獲}TIM5->SR&=0xfffd;// TIM_ClearITPendingBit(TIM5, TIM_IT_CC1); //清除中斷標志位} }elseTIM_ClearITPendingBit(TIM5, TIM_IT_CC1|TIM_IT_Update); //清除中斷標志位}

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

    關注

    116

    文章

    5869

    瀏覽量

    225603
  • 定時器
    +關注

    關注

    23

    文章

    3368

    瀏覽量

    123595
  • 雙通道
    +關注

    關注

    5

    文章

    1206

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ?TLC59116 16通道恒流LED驅動芯片技術文檔總結

    TLC59116是 I^2^C 總線控制 16 通道 LED 驅動器 針對紅/綠/藍/琥珀 (RGBA) 混色和背光應用進行了優化。每個 LED 輸出有自己的 8 位分辨率(256 步)固定
    的頭像 發表于 09-04 09:34 ?852次閱讀
    ?TLC59116 16<b class='flag-5'>通道</b>恒流LED驅動芯片技術文檔總結

    文讀懂 PWM控制背光亮度原理

    (Off):完全切斷電流,LED不發光。 那么,如何實現從最亮到最暗的變化呢?奧秘就在于改變周期內“開”和“關”的時間比例。 二、關鍵概念:頻率占空比 要理解
    發表于 09-03 08:48

    如何捕獲PWM信號?

    我們現在有需求,DSP在正常工作時會輸出1khz的PWM信號,異常時PWM信號會停止。 芯片需要捕獲DSP輸出的PWM信號,來檢測DSP的
    發表于 08-08 06:47

    異步升壓結合PWM調節占空比對DC無刷電機調速的電路問題

    如圖片中,通過異步升壓IC將電壓升到9V,通過PWM調節占空比實現對電機的調速,在此電路中,PWM頻率20K,占空比10~50%,R25
    發表于 08-07 09:28

    請問怎么用HRTIM輸出可變占空比PWM?

    現在可以輸出單路PWM,但可變占空比PWM不知道怎么配置。請大佬幫助!
    發表于 07-25 08:16

    是德示波器如何用數字通道快速定位PWM故障

    的觸發機制,可高效識別PWM信號的占空比頻率、噪聲等問題。本文將結合是德示波器的操作技巧,介紹如何利用數字通道快速定位PWM故障。 ?
    的頭像 發表于 07-08 17:04 ?692次閱讀
    是德示波器如何用數字<b class='flag-5'>通道</b>快速定位<b class='flag-5'>PWM</b>故障

    XL4016是180 KHz的固定頻率 PWM降壓(降壓)DC/DC轉換器

    頻率振蕩器。PWM控制電路能夠調節占空比線性從0到100%。在內置電流保護功能。當短路保護功能發生時操作
    發表于 07-01 15:18 ?0次下載

    泰克MSO6B示波器如何用數字通道快速定位PWM故障

    PWM故障診斷的重要性與挑戰 PWM信號通過調整脈沖寬度來傳遞信息,其頻率占空比、邊沿特性等參數直接影響系統性能。常見故障包括
    的頭像 發表于 06-10 12:08 ?721次閱讀
    泰克MSO6B示波器如何用數字<b class='flag-5'>通道</b>快速定位<b class='flag-5'>PWM</b>故障

    使用STM32捕獲PWM時同時捕獲2通道時會出現捕獲頻率值不準確,是什么原因導致的?

    在使用STM32F103芯片的2定時器捕獲2路PWM波時,當2路信號同時輸入時,會出現捕獲頻率不準確,但是分開
    發表于 05-14 06:24

    【RA-Eco-RA4M2開發板評測】RA-Eco-RA4M2 PWM輸出

    ))。GPT 的計數器支持遞增計數,遞減計數和遞增/遞減計數。詳細的通道名稱如下表所示。 Figure ? GPT各個通道詳情 PWM 輸出就是對外輸出脈寬(即占空比)可調的方波信號
    發表于 04-28 22:57

    使用STM32捕獲PWM時同時捕獲2通道時會出現捕獲頻率值不準確是什么原因導致的?

    在使用STM32F103芯片的2定時器捕獲2路PWM波時,當2路信號同時輸入時,會出現捕獲頻率不準確,但是分開
    發表于 04-27 08:39

    使用STM32捕獲PWM時同時捕獲2通道時會出現捕獲頻率值不準確的問題,是什么原因導致的?

    在使用STM32F103芯片的2定時器捕獲2路PWM波時,當2路信號同時輸入時,會出現捕獲頻率不準確,但是分開
    發表于 04-25 08:29

    使用STM32捕獲PWM時同時捕獲2通道時會出現捕獲頻率值不準,為什么?

    在使用STM32F103芯片的2定時器捕獲2路PWM波時,當2路信號同時輸入時,會出現捕獲頻率不準確,但是分開
    發表于 04-22 10:43

    UCC28220 雙交錯式 PWM 控制器,具有可編程最大占空比 10V/8V UVLO數據手冊

    UCC28220 和 UCC28221 是 BiCMOS 交錯雙通道 PWM 控制器系列。峰值電流模式控制用于確保兩通道之間的電流共享。精確的最大
    的頭像 發表于 04-03 14:51 ?1570次閱讀
    UCC28220 雙交錯式 <b class='flag-5'>PWM</b> 控制器,具有可編程最大<b class='flag-5'>占空比</b> 10V/8V UVLO數據手冊

    stm32同一個定時器不同的通道,可以不同時的輸出pwm波形嗎?

    請問,stm32的同一個定時器,不同的通道,可以不同時的輸出pwm波形嗎?比如tim1的ch1輸出,延時幾毫秒后tim1的ch2輸出。 現在是要輸出兩相位不同的
    發表于 03-07 08:20