增强型PWM计数器为偶数时无法得到50%占空比
如图,使用库函数设置增强型PWM。系统时钟源频率为35MHz,要得到7MHz的PWM。根据计算公式计数器设置为4,因为是从0开始计数,0到4的循环有5个间隔,无法平分间隔使高电压和低电平占一样的空格,即无法设置50%的占空比。请问该怎么解决呢?还是说这是增强型PWM的限制,无法解决?
为了解决计数器设置的问题,确保达到50%的占空比,建议以下步骤:
1. 理解标准PWM设置:根据标准PWM原理,当计数器设置为N时,脉冲宽度为(N+1)/(N+2)100%。因此,设置N=1时,脉冲宽度为50%。
2. 检查内部计数器设计:如果内部计数器的设计未正确实现50%的占空比,可能需要调整内部逻辑或参数。例如,使用增强型PWM的内部逻辑,可能需要调整内部的循环次数或计数器的状态。
3. 验证设置:使用简单的示例验证设置是否正确。例如,设置计数器为1,查看是否能正确得到50%的占空比。
4. 调整内部逻辑:如果内部设计存在问题,可能需要重新设计内部的逻辑,以实现50%的占空比。
通过以上步骤,可以确保计数器设置正确,达到50%的占空比。
[本文内容由国芯人工智能辅助生成,仅供参考] 如果只是要50%的占空比的话,可以考虑调整系统时钟。
例如主频设置28MHz 很明显,要解决的话,必须使用周期为偶数个时钟,你周期为奇数个时钟,当然得不到50%的占空比。你可以使用主频28MHz,得到7MHz的50%占空比PWM。
如果需要的不是PWM,而是一个方波,则可以用主频分频输出得到,35MHz/7=5MHz。
如果只是用到50%占空比的话,直接使用计满翻转输出就行了,保证对称 网老四 发表于 2025-5-28 11:11
如果只是用到50%占空比的话,直接使用计满翻转输出就行了,保证对称
计满反转,也是要除以2,依旧要7*偶数MHz的时钟,使用定时器自动取反输出也是一样。
如果需要的不是PWM,而是一个方波,则可以用主频分频输出得到,35MHz/7=5MHz。 感谢大家提出的方法
页:
[1]