先楫半导体HPMicro
直播中

simbba

13年用户 5经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术 测量仪表 嵌入式技术 模拟技术 处理器/DSP 控制/MCU
私信 关注
[问答]

5361之PWM之CMP更新慢至1秒,请各位有经验的高手帮忙!

大家好,我把官方pwmout的例子中心对齐那个函数改成了100KHz,原来是200Hz,又把死区时间改成50,因为原来1600的死区太长,超过了100KHz的周期,之后程序顺利运行,示波器也在相应管脚看到波形了,高兴不过3秒,这时发现了波形的更新速度是大概1秒一次,脉宽变化每次1us左右,毫无丝滑可言,源程序是0.1秒更新一次呀!所以怀疑是写入CMP后到波形输出之间不知干了什么,导致更新速度极慢,为了验证这个想法,我把更新时间调整到了1秒,这回丝滑了,每次脉宽变化大概0.1us,但是这么慢怎么回事?用于电机调整是要出问题的!!!请问各位高手,写入CMP到更新到实际寄存器之前,到底发生了什么不为人知的事情?如何应对?让我们走进科学!

回帖(1)

凤求凰

2024-3-26 18:10:07
在你的描述中,你提到将PWM输出频率从200Hz更改为100kHz,并将死区时间从1600更改为50。这样的改变可能导致波形更新速度变慢的问题。

首先,高频率的PWM可能不是你的系统所能处理的。如果你的系统无法及时处理高频率的PWM信号,那么波形更新速度就会变慢。你可以尝试将PWM输出频率降低,例如从100kHz降低到10kHz,然后观察波形更新速度是否有所改善。

其次,较小的死区时间可能导致系统处理延迟。死区时间是两个相邻PWM信号转换之间的延迟时间,过小的死区时间可能导致系统无法及时处理转换请求,从而导致波形更新速度变慢。你可以尝试增加死区时间,例如将死区时间从50增加到100,然后观察波形更新速度是否有所改善。

此外,如果你的系统中存在中断处理程序或其他任务,这些任务可能会干扰PWM信号的生成和输出,从而导致波形更新速度变慢。你可以检查你的程序中是否存在干扰PWM信号的因素,并对其进行相应的优化。

最后,你可以使用示波器来监测和分析PWM信号的生成和输出过程,以找出造成波形更新速度变慢的具体原因。示波器可以帮助你观察信号的波形和频率,从而更好地理解问题。

总之,要解决波形更新速度变慢的问题,你可以尝试降低PWM输出频率、增加死区时间、优化其他任务对PWM信号的干扰,并使用示波器来分析问题的根本原因。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分