STM32G474 HRTIMER PWM丢波现象深度剖析及解决策略

需积分: 5 10 下载量 138 浏览量 更新于2024-08-03 收藏 1022KB PDF 举报
本文主要探讨了在STM32G474微控制器中使用高精度定时器(HRTIMER)配置PWM时遇到的“丢波”问题。STM32G474内置的HRTIMER模块被设计用于精确的数字电源应用,但在实际应用中,客户在尝试通过Master Timer、Timer A 和 Timer B 以及EEV4外部事件生成180度移相的PWM信号时,发现输出存在周期性中断,即所谓的“丢波”。 首先,我们来了解一下问题背景。客户设置了Master Timer的period event和compare 1 event作为Timer A和Timer B的复位源,这意味着这两个事件会启动定时器计数,当计数达到预设值时,它们会复位PWM的输出状态。同时,EEV4被设置为外部事件,用于触发PWM的重置,并利用blanking功能来过滤掉可能导致PWM中断的EEV4事件,特别是那些接近PWM set点的事件。 然而,当没有EEV4事件发生,或者EEV4事件发生在compare 3 event之后,PWMreset会被Timer compare 3 event触发,这可能导致PWM周期中的某些时刻被跳过,形成丢波现象。Timer compare 3 event的作用是设定一个阈值,控制PWM的最大占空比,避免长时间的持续信号导致的电流异常。 为了解决这个问题,我们需要对配置进行优化。首先,检查是否所有的中断处理程序都正确设置,确保在EEV4发生时能准确地被滤除或处理。其次,检查compare 3 event的值是否设置合理,确保它不会频繁触发,从而干扰PWM的正常工作。此外,可能需要调整blanking功能,增加EEV4事件的滤波范围,防止其过于敏感引起不必要的中断。 最后,为了彻底排查,建议使用示波器或调试工具分析PWM信号的实际波形,查看是否存在计数器溢出、干扰信号或其他硬件问题。根据测试结果,可能需要重新评估Master Timer、Timer A 和 Timer B 的配置,以及与EEV4相关的参数设置,以找到最适合的解决方案。 解决STM32G474 HRTIMER PWM丢波问题的关键在于深入理解各个定时器的工作原理,调整中断策略,优化滤波设置,以及进行细致的信号分析。通过细致的调试和适当的配置调整,通常可以解决这类问题,实现稳定的PWM输出。