• 资料介绍
  • 在线预览
  • 相关推荐
申请入驻 产业图谱

LAT1259 STM32使用DMA产生PWM时波形异常分析

2025/03/25
720
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1259 STM32使用DMA产生PWM时波形异常分析

350.17 KB

前言

有客户反馈,使用 STM32F4 的 TIM2 结合 DMA,产生的 PWM 波形不符合预期,但是相同的配置使用在 TIM3 上,得到的 PWM 波形就是符合预期的。其代码和配置都是从 F1 移植过来的,在 F1 上使用 TIM2 是没有问题的,对于 F4 的 TIM2 发生的问题,客户一直没有找到根本原因。

实验

根据客户的反馈,我们进行了实验。

硬件:STM32F401RE-NUCLEO

在 STM32CubeMX 中,将 TIM2 和 TIM3 所有参数均做相同的配置,其中配置 DMA 两端均为 halfword 长度。

分析

我们的实验中,TIM2 和 TIM3 的配置是完全一样的,即使传输相同的数据,得到的 PWM 波形也是不同的。为此我们比较了 TIM2 和 TIM3 的硬件属性,可以很容易查看出,TIM2 的计数器是 32bit 的,而 TIM3 的计数器是 16bit 的。

我想我们已经知道答案了,TIM2 的计数器是 32bit 的,但是我们配置的 DMA 是 halfword 长度,这在 AHB 总线上解析数据时产生了非预期的结果。在调试界面我们也能看到,当问题发生时,TIM2 的 CCR1 竟然比 ARR 的值要大,或者出现异常值,所以出现异常波形。

小结

对于 32 位计数器的 Timer,我们在使用 DMA 时,需要将 DMA 的长度配置为 32bit。因为 F103 上没有 32bit 计数器的 Timer,所以客户在 F103 上并没有出现类似的问题,归根结底,我们要学会类似查找问题的方法。

在线预览

相关推荐

意法半导体拥有49,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一 家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和 解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需 求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广 泛。我们正按计划在所有直接和间接排放(包括范围1和范围2)、产品运输、商务旅行以及员工通勤排 放(重点关注的范围3)方面实现碳中和,并在2027年底前实现100%使用可再生电力的目标。 详情请浏 览意法半导体公司网站:www.st.com.cn