![]() |
發(fā)布時間: 2025-7-5 09:41
正文摘要:由官方代碼修改,時鐘為24MHZ,頻率為85KHZ,不分頻 實際在20-40%占空比為目標輸出,但是占空比50時另一路在一個周期才會翻轉(zhuǎn)一次 AB圖為目標輸出 求解惑為什么無法輸出50%占空比,或者有無其他方法實現(xiàn) ... |
可以用帶PWM硬件移相功能的STC8H2K32U系列 |
從問題描述來看,你在24MHz時鐘下嘗試實現(xiàn)85kHz頻率且占空比20%-40%的輸出,但發(fā)現(xiàn)占空比設(shè)為50%時另一路信號在單周期內(nèi)僅翻轉(zhuǎn)一次,這可能與定時器計數(shù)機制及PWM生成邏輯有關(guān)。85kHz頻率對應(yīng)的周期約為11.76μs,24MHz時鐘下每個計數(shù)周期為41.67ns,理論上定時器需計數(shù)約282次(24MHz/85kHz≈282.35)完成一個周期。若采用向上計數(shù)模式,占空比由比較值與周期值的比例決定,當比較值設(shè)為周期值一半(如141或142)時理論上應(yīng)輸出50%占空比,但實際出現(xiàn)異常,可能是定時器工作模式(如是否支持中心對齊PWM)或輸出邏輯配置導(dǎo)致。 另一路信號單周期僅翻轉(zhuǎn)一次,可能是因為該通道采用了不同的輸出模式(如僅在計數(shù)到頂或底時翻轉(zhuǎn)),或與主通道存在時序耦合。例如,若兩路PWM共享定時器資源且配置為互補輸出,當占空比設(shè)為50%時,可能因死區(qū)時間設(shè)置或輸出極性配置導(dǎo)致信號翻轉(zhuǎn)頻率減半。此外,若定時器工作在向上/向下計數(shù)模式(中心對齊PWM),比較值設(shè)為周期值一半時應(yīng)生成對稱波形,但若配置為向上計數(shù)模式(邊沿對齊PWM),50%占空比需精確設(shè)置比較值為周期值的一半,且需確保輸出模式為“匹配時置位/清零”而非“翻轉(zhuǎn)”模式,后者會導(dǎo)致每匹配一次翻轉(zhuǎn)一次,使占空比固定為50%但頻率減半。 要實現(xiàn)目標輸出,可嘗試以下方案:首先確認定時器工作模式及PWM生成方式,若使用邊沿對齊PWM,確保周期值N與比較值C滿足C=N×占空比(如20%占空比時C=0.2N),且輸出模式配置為“匹配時清零/置位”而非翻轉(zhuǎn);若需50%占空比且頻率不變,可改用中心對齊PWM模式,通過設(shè)置比較值為N/2來生成對稱波形。此外,可獨立配置兩路PWM使用不同定時器資源,避免時序干擾,并通過示波器測量定時器計數(shù)寄存器與輸出引腳的時序關(guān)系,定位比較值設(shè)置與輸出翻轉(zhuǎn)的實際對應(yīng)關(guān)系,從而優(yōu)化參數(shù)配置。 |
是不是輸出疊加了,頻率不一樣 |
參考官方示例中帶死區(qū)控制的PWM互補輸出,控制死區(qū)時間即可達到圖A-B的波形變化。 |
Powered by 單片機教程網(wǎng)