• 资料介绍
    • 前言
    • 问题描述
    • 原因分析
    • 解决方法
    • 小结
  • 资料预览
  • 相关推荐
申请入驻 产业图谱

LAT1167 STM32G474 HRTIME PWM 丢波问题分析与解决

03/26 09:09
234
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1167 STM32G474 HRTIME PWM 丢波问题分析与解决

1,021.63 KB

前言

STM32G474 中包含了针对数字电源应用的高精度定时器(HRTIMER),客户在应用该定时器产生 PWM 时,发现 PWM 的输出出现了“丢波”现象,本文对该问题进行分析并给出解决方案。

问题描述

客户使用高精度定时器产生 PWM, 其 PWM 产生的配置如下,Master Timer 的 period event与 compare 1 event 分别作为 Timer A 与 Timer B 的复位源,Timer A 与 Timer B 产生的 180 度移相的 PWM 输出,EEV4 作为外部事件来触发 PWM reset, 并且使用 blanking 功能过滤发生在PWM set 点附近的 EEV4 事件,Timer compare 3 event 用来限制 PWM 的最大占空比,当 PWM周期内没有 EEV4 发生或是发生的时间点晚于 compare 3 事件时,Timer compare 3 event 将触发PWM reset。

原因分析

对 PWM 丢失的波形进行分析,当该情况发生时,EEV4 发生的时间点已经晚于 CMP3 事件,正常波形的占空比也与设定的最大允许占空比一致。丢波情形节点:在 EEV4 事件发生的时间点靠近 TA1 或 TB1 波形的 set 点处才会出现。

解决方法

基于以上的分析与实验,我们需要避免 set 事件与 blanking 区间的起点在同一个点,所以只要将 set 事件放到 blanking 区间的内部就可以了,最简单的方式就是 TA1 与 TB1 的 set 事件不再使用 Master timer period/ compare 1 event,而采用 Timer compare 4 event(该比较器在客户原本配置中没有被使用),compare 4 的值遵循“3 clock”原则,在客户的实际配置中大于 0x32 即可,其他配置保持不变。

小结

对客户的“丢波”问题进行了详细的分析并给出了解决方案,客户在使用该方案后,没有再出现“丢波”现象。在使用外部事件与消隐功能时需要注意:

  • 多个事件同时出现的处理过程中,是以事件的实际生效点为准,而非发生点;
  • 消隐功能在 blanking 区间的起始点无效,且消隐对象为实际生效点在区间内的事件。

资料预览

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

方案定制

去合作
方案开发定制化,2000+方案商即时响应!