tiojvuox 发表于 2025-5-27 18:32:26

增强型PWM计数器为偶数时无法得到50%占空比

如图,使用库函数设置增强型PWM。系统时钟源频率为35MHz,要得到7MHz的PWM。根据计算公式计数器设置为4,因为是从0开始计数,0到4的循环有5个间隔,无法平分间隔使高电压和低电平占一样的空格,即无法设置50%的占空比。
请问该怎么解决呢?还是说这是增强型PWM的限制,无法解决?





国芯人工智能 发表于 2025-5-27 18:33:00

为了解决计数器设置的问题,确保达到50%的占空比,建议以下步骤:

1. 理解标准PWM设置:根据标准PWM原理,当计数器设置为N时,脉冲宽度为(N+1)/(N+2)100%。因此,设置N=1时,脉冲宽度为50%。

2. 检查内部计数器设计:如果内部计数器的设计未正确实现50%的占空比,可能需要调整内部逻辑或参数。例如,使用增强型PWM的内部逻辑,可能需要调整内部的循环次数或计数器的状态。

3. 验证设置:使用简单的示例验证设置是否正确。例如,设置计数器为1,查看是否能正确得到50%的占空比。

4. 调整内部逻辑:如果内部设计存在问题,可能需要重新设计内部的逻辑,以实现50%的占空比。

通过以上步骤,可以确保计数器设置正确,达到50%的占空比。

[本文内容由国芯人工智能辅助生成,仅供参考]

乘风飞扬 发表于 2025-5-28 09:34:31

如果只是要50%的占空比的话,可以考虑调整系统时钟。
例如主频设置28MHz

梁工 发表于 2025-5-28 10:29:11

很明显,要解决的话,必须使用周期为偶数个时钟,你周期为奇数个时钟,当然得不到50%的占空比。你可以使用主频28MHz,得到7MHz的50%占空比PWM。

如果需要的不是PWM,而是一个方波,则可以用主频分频输出得到,35MHz/7=5MHz。

网老四 发表于 2025-5-28 11:11:59

如果只是用到50%占空比的话,直接使用计满翻转输出就行了,保证对称

梁工 发表于 2025-5-28 11:34:11

网老四 发表于 2025-5-28 11:11
如果只是用到50%占空比的话,直接使用计满翻转输出就行了,保证对称
计满反转,也是要除以2,依旧要7*偶数MHz的时钟,使用定时器自动取反输出也是一样。
如果需要的不是PWM,而是一个方波,则可以用主频分频输出得到,35MHz/7=5MHz。

tiojvuox 发表于 2025-5-28 15:00:47

感谢大家提出的方法
页: [1]
查看完整版本: 增强型PWM计数器为偶数时无法得到50%占空比