STM32G474

01、引言

STM32 G474 中包含了针对数字电源应用的高精度定时器(HRTIMER)外设,作为 HRTIMER V2 版本,其新增了 Triggered-half 功能,目的就是为了简化采样变频控制方式下两相交错并联工作电源的设计。

02、Triggered-half 模式介绍

目前的电源设计中,为了提高功率等级以及功率密度,交错并联是一项经常使用到的技术。在定频控制模式下,由于 PWM 周期固定,相位偏移很容易通过定时器中的比较事件进行同步来实现,但是在变频控制中,PWM 的周期可能不由软件控制,而是由外部事件来控制,比如在 PFC中的峰值电流控制模式或是导通时间固定控制模式下,PWM 的周期由电感电流的过零点来确定,这样 PWM 的周期是随外部工作环境变化的,如负载,输入电压等,这些都是无法预知的,所以就无法提前设置同步事件,多相之间无法做到精确的相位偏移。 

Triggered-half 模式被设计用来解决变频控制两相交错并联的同步问题,原理如下图所示,在主变换器中,检测 ILM(电感电流)的过零点(ZCD),两个过零点之间为 PWM 周期,PWM 的占空比由 ILM与峰值电流参考比较事件来确定,PWM 的周期延时 1/2 后作为从变换器的同步事件。

1.jpg

在 G474 中,通过高精度定时器中的捕获单元捕获主变换器实时电流过零点事件(ZCD),从而得到主定时器的 PWM 周期,MCU 自动计算该周期值的 1/2 并将其写入比较寄存器 2(CMP2)中,从变换器的定时器(从定时器)通过与 CMP2 比较事件进行同步,从而产生与主定时器相移 180 度的 PWM 波。 

需要重点注意的是,由于高精度定时器中的捕获单元的最高精度为 170Mhz,所以在使用该模式时 PWM 的频率不要超过 170Mhz,另外 CMP2 被强制占用,不能在与其他特殊功能如 dual channel dac trigger, interleaved and balanced idle modes 一起共用。

03、应用实例

G474 中给出了应用实例的示意图 ,其可视为一个两相交错并联的 PFC 的 Triggered-half 的实现。

2.jpg

3.jpg

其中

EEV1 为主变换器电感电流过零点事件, 

EEV2 为主变换器电感电流达到设定峰值事件 

EEV3 为从变换器电感电流达到设定峰值事件

HRTIM_CHA1 为主变换器的 PWM 驱动波形

HRTIM_CHB1 为从变换器的 PWM 驱动波形

HRTIM_CHA2 为 EEV1 在子定时器 Timer B 中的 Blanking 区间依据上图中的要求,进行了如下的设计:

4.jpg

通过 CubeMx 进行配置,关键配置的截图如下:

Timer A 中的关键配置:

5.jpg

6.jpg

7.jpg

8.jpg

9.jpg


Timer B 中的关键配置:

10.jpg

04、小结

本文对 Triggered-half 的工作原理以及应用场景进行了介绍,并结合实际案例给出了一个应用实例。

来源: STM32单片机

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 83

1.前言

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

2.问题描述

客户使用高精度定时器产生 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。 

Master Timer: 

Interleaved Mode:Half mode

Timer A : 

Up-Down Mode : Up-counting 

Timer counter reset trigger source : Master timer period event 

PWM set source : Master timer period event 

PWM reset source : Timer compare 3 event + EEV4 

Timer B : 

Up-Down Mode : Up-counting 

Timer counter reset trigger source : Master timer compare 1 event 

PWM set source : Master timer compare 1 event

PWM reset source : Timer compare 3 event + EEV4 

EEV4 : 

Source:EE source 2 – COMP1

Sensitivity:Falling edge

Fast Mode:re-sync mode

Filtering : Blanking from counter reset/roll-over to compare 1 

Latch : Ignored if happens during a blank 

使用以上的配置,正常情况下产生的 PWM 如下所示,C1/C2 分别为 TA1 与 TB1,C3 为EEV4,下降沿触发事件,使 PWM reset。

1.jpg

但是当外部事件发生的点接近于 PWM 周期值时,就会出现 “丢波”,如下图所示。

2.jpg

展开其中的部分波形观察如下

3.jpg

3.原因分析

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

4.jpg

为什么会出现“丢波”?从波形上分析,唯一可能的原因就是 C1/C2 的 set 事件被“忽略”了 ,导致整个周期一直处于低电平状态。在高精度定时器中,若多个事件同时发生的时候就会出现事件被“忽略”的情况,且 reset 事件具备最高优先级(除了多个事件都来源于同一定时器的CMP、PER 事件),导致 set 事件被“忽略”,可阅读 RM 的 26.3.7 Set / reset events priorities and narrow pulses management 了解更多详细的规则。 

 从客户实际的配置中可确认在“丢波”情况出现时,EEV4 不会跨周期,且实际的波形也验证了该点,C3 的下降沿先于 C1/C2 的上升沿出现的,那么一般就会理解 EEV4 导致的 reset 事件不会与 PWM 的 set 事件 Master timer period/ compare 1 event 同时出现,且客户的配置中对EEV4 添加了消隐功能, blanking 区间为 counter reset/roll-over to compare 1,即使 EEV4 与Master timer period/ compare 1 event 同时出现,也应该被过滤掉,set 事件不应该被忽略。总结如下:

   • EEV4 不会与 Master timer period/ compare 1 event 同时出现;

     • 即使同时出现,EEV4 也应该被消隐过滤掉。但是 EEV4 作为外部事件作用于高精度定时器(复位 counter 或是 set/reset PWM 输出),其从事件发生到生效是存在一定的内部延时(26.3.8 External events global conditioning),如下图所示。在 re-sync 模式下,这个延时一般会在 60ns 左右。

5.jpg

6.jpg

在高精度定时器中对多个事件同时出现的处理都是以事件的实际生效点为准,所以当 EEV4的下降沿发生点靠近 PWM set 事件的情况下,经过内部延时后,就可能会与 set 事件同时出现了。

关于消隐功能的 blanking 区间,比如本文中的 counter reset/roll-over to compare 1,一般的理解是从起点到终点全部过滤,但是实际情况是在设定的起点处 blanking 不会生效(经 division确认),即 blanking 区间不是闭区间。另外需要注意的是消隐功能作用的也是事件的实际生效点,而非发生点。 

对以上的分析总结如下:

•多个事件同时出现的处理过程中,以事件的实际生效点为准,而非发生点;

 • 消隐功能在 blanking 区间的起始点无效,且消隐对象为实际生效点在区间内的事件。 

客户的配置中,blanking 区间的起始点与 PWM 的 set 点为同一个点,若是 reset 事件 EEV4通过内部延时后刚好也落在这个点上,那么消隐不生效,reset 相对 set 优先级高,结果就是 set事件被忽略,PWM 输出继续保持低电平,也是我们观察到的 PWM“丢波”。基于上述分析,对客户描述现象进行复现,很容易捕捉到“丢波”现象,本文中提供的“丢波”时的波形就是基于以上的分析与实验获取的。

4. 解决方法

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

即: 

Master Timer: 

Interleaved Mode:Half mode 

Timer A : 

Up-Down Mode : Up-counting 

Timer counter reset trigger source : Master timer period event 

PWM set source : Timer compare 4 event 

PWM reset source : Timer compare 3 event + EEV4 

Timer B : 

Up-Down Mode : Up-counting 

Timer counter reset trigger source : Master timer compare 1 event 

PWM set source : Timer compare 4 event PWM reset source : Timer compare 3 event + EEV4

EEV4 : 

Source: EE source 2 – COMP1 

Sensitivity:Falling edge 

Fast Mode:re-sync mode 

Filtering : Blanking from counter reset/roll-over to compare 1 

Latch : Ignored if happens during a blank 

5. 小结 

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

• 多个事件同时出现的处理过程中,是以事件的实际生效点为准,而非发生点; 

• 消隐功能在 blanking 区间的起始点无效,且消隐对象为实际生效点在区间内的事件。

来源:STM32单片机

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 148

✦ 本文来源友尚:

https://www.wpgdadatong.com/solution/detail?PID=1326

随着科技的迅速发展,电子产品日新月异与半导体制程技术进步,电子产品逐渐要求体积小且效率高。过去线性电源(Linear Power Supply)设计使用较大的隔离变压器,其转换效率较低且产生较多的热,故需要体积较大的散热片,因而被开关电源取代。

开关电源(Switching Power Supply)取代线性电源,电源提升切换频率,可以有效缩小变压器与电感铁芯的体积、降低输入、输出电容的容值,并且效率较线性式电源高,因此开关电源具有体积小、重量轻、效率高的优点;一般开关电源采用传统硬式切换,功率晶体管操作频率增加时,功率晶体管的切换损失也随着增加,功率晶体管使用的散热片不仅体积变大并且使效率降低。

一般硬式切换(Hard Switching)是当功率晶体管在切换时,因为变压器一次侧谐振电感、线路杂散电感与功率晶体管的寄生电容,导致功率晶体管导通时,漏极-源极(Drain-Source)电压尚未降零,功率晶体管的漏极-源极电流已经开始上升,造成功率晶体管导通时的切换损失;功率晶体管截止时,功率晶体管的电压尚未降为零,功率晶体管的电流已经开始上升,造成功率晶体管截止时的切换损失,导通时功率晶体管之漏极-源极的电流快速上升产生电流突波,此电流突波可能导致功率晶体管烧毁,截止时功率晶体管的漏极-源极的电压快速上升产生电压突波,此电压突波可能导致功率晶体管烧毁,因此使用硬式切换造成功率晶体管须承受更大的切换突波(Switching Surge)以及切换损失,随着切换频率提升,电路整体的效率也会跟着下降。使用硬式切换会产生切换突波,也会造成噪声干扰误动作,导致功率晶体管稳定性与电路效率下降。

因此若采用柔性切换的技术,可大幅改善功率晶体管的切换损失。采用全桥相移式架构,利用电路隔离变压器一次侧漏感(Leakage Inductance)与外加谐振电感两者之和即为谐振电感与功率晶体管之寄生电容达到共振效果,使功率晶体管导通前其漏极-源极电压降为零,即为零电压切换,让电路整体效率提升。柔性切换中使用零电流切换即为功率晶体管截止时,功率晶体管的电流已经下降至零后其电压才开始上升,使功率晶体管上电压与电流的乘积为零,降低截止时之切换损失;零电压切换即为功率晶体管导通时,功率晶体管的电压已经下降至零后其电流才开始上升,使功率晶体管上电压与电流的乘积为零,降低导通时之切换损失。柔性切换技术可以降低硬式切换的切换损失,并抑制切换突波,降低电磁干扰,增加功率晶体管性能。

场景应用图

“”基于ST

产品实体图

“”基于ST

展示版照片

“”基于ST

“”基于ST

方案方块图

“”基于ST

核心技术优势

STM32G4系列基于ST现有的高性能和高能效创新技术,例如,ART Accelerator™和CCM-SRAM Routine Booster分别提升了内存-高速缓存的动态和静态访存性能,确保应用整体性能和实时性能俱佳,同时功耗在能效预算范围内。ST的新硬件数学加速器再次提升芯片的运算性能,引入Filter-Math Accelerator(FMAC)滤波算法加速器和CORDIC专用引擎。新硬件加速器可以加快一些算法的指令周期,例如,电机控制应用中的旋转和向量三角法,以及一般的对数、双曲线和指数函数、信号处理IIR / FIR滤波算法或数字电源3p / 3z控制器,以及卷积和相关函数等向量函数。STM32G4系列基于一颗170MHz的Arm®Cortex®-M4高速内核,具有浮点单元和DSP扩展指令集支持功能,性能测试取得213DMIPS和550 CoreMark®[1]的优异成绩。从先进的工艺技术和系统架构功能,到先进的外设睡眠/唤醒管理功能,节能创新技术无处不在。

其它重要的新功能包括:

  • 一个高分辨率定时器,有12个独立信道,每个信道分辨率为184ps,有温漂和电压漂移自补偿功能

  • 多达25个先进模拟外设:       

    • 多达5个400万次/秒12位模数转换器(ADC),有硬件过采样功能,可实现16位分辨率        

    • 多达6个高速、高增益带宽运算放大器,内部1%增益设定        

    • 多达7个1500万次/秒12位数模转换器(DAC)

    • 多达7个比较器,传播延迟为16.7ns 

  • CAN-FD工业通讯技术,有效载荷比特率是标准CAN的8倍 

  • 运行模式功耗低于165μA/ MHz,延长电池续航时间

  • 容量更大的片上RAM,高达128KB,有同位功能 

  • 闪存容量高达512KB,有错误校验功能(ECC) 

  • 增加DMA和外部中断的灵活可变性 

  • 为优化数字或模拟功能,分为三大产品系列:基本系列、增强系列和高分辨率系列 

因此,新G4系列完善了现有的STM32F3系列。G4的性能是F3的三倍,最高工作温度达到125°C,双存储内存支持实时固件升级,增加LQFP80和LQFP128等新封装。STM32G4稳健性很强,抗电气干扰,特别是快速瞬态脉冲(FTB)耐受能力最高达到5KV。

方案规格

1、Input Voltage: 400V;

2、Output Voltage: 12V;

3、Output Power: 500W;

4、Maximum Output Current: 42A;

5、Switching Frequency: 100kHz.

来源:STM32
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 137

前言

在电源设计中经常会使用逐波限流保护来保证电流不超过限定的最大值,若在短时内多次触发逐波限流保护则强制封锁 PWM 输出,让系统进入故障保护状态,在这个过程中需要对逐波限流触发次数进行计数,以此来判断是否进入故障保护,本文针对该功能,基于 STM32G474 高精度定时器,介绍如何实现逐波限流保护以及保护次数计数。

逐波限流原理介绍

所谓逐波限流指在电源工作过程中,对电感电流或是功率管导通电流进行实时监测,一旦超出设定范围,则在该 PWM 周期内立即关闭相关的 PWM 驱动,直到下个 PWM 周期再自动使能PWM 驱动,若电流信号一直超限,则一直封锁 PWM,直到电流恢复正常的下一个新的 PWM 周期后,才能重新使能 PWM 输出。工作过程示意图如下图所示,OCP 表示过流保护,高电平表示电流超限。

“STM32G474

STM32G474 逐波限流保护的实现

STM32G474 的高精度定时器除了能产生高精度的 PWM 波外,还包含了外部事件管理器,能对多达 10 个外部事件进行处理。可以设置外部事件的触发源、触发方式(沿触发或是电平触发)、相应方式(同步或是异步)以及事件的滤波方式。外部事件的一个最重要的作用就是用来对输出的PWM 进行控制,触发 PWM 的 Set 与 Reset 动作。

“STM32G474

在触发源的选择上,每个外部事件可以从 4 个源中进行选择:

• 外部 pin 脚输入

•内部比较器输出

• 其他定时器触发信号(如 TIM1/2/3_TRGO)

• ADC 看门狗事件(ADCx_ADC1/2/3)

对应逐波限流功能,可以选择外部 pin 脚输入或是内部比较器输出,推荐的方式为内部比较器输出。外部电流采样信号直接输入到片上比较器(COMPx_INP),比较器的输出结果作为外部事件触发源。

“STM32G474

基于以上的介绍,利用 CubeMx 工具进行相应的配置来说明整个功能的实现过程,以高精度定时器中的 Timer A 为例,主要介绍外部事件与逐波限流保护的配置,其他的配置不再赘述。外部事件的配置如下,触发源为内部比较器 2 的输出,高电平有效。

“STM32G474

为了使用内部比较器,必须对内部对应的比较器进行配置,一般选择 DAC 的输出作为比较器的参考,所以还需要对 DAC 进行配置。比较器的配置如下,设置回差,减少比较器输出抖动。

“STM32G474

DAC 的配置如下(如果选择 VREFINT 或是COMPx_INM 则无需配置 DAC):

“STM32G474

PWM 输出的配置如下,PWM 的 Reset 除了比较事件外,添加外部事件源。

“STM32G474

基于以上的配置,在生成的工程代码中添加必要的外设启动函数即可,如下:

“STM32G474

通过示波器查看波形,黄色表示输出 PWM 驱动;绿色内部比较器输出信号,输出为高时表示限流保护,触发封波,输出为低则 PWM 可正常输出。

“STM32G474

逐波限流触发次数计数的实现

很多应用中不但需要实现逐波限流,还需要对某段时间内触发逐波限流的次数进行计数,以此来判断系统是否出现短路或是过载,然后决定系统是否进入永久保护状态,除非软件再次使能输出。

在高精度定时器中,外部事件不但可以用来触发 PWM 动作,它还可以被定时器内部的捕获单元捕获,所以可以通过读取捕获标志位来判定外部事件是否发生并进行计数;另外如本文采用了内部比较器的输出作为外部事件的触发源,可以通过直接读取比较器的比较中断标识或是输出状态的方式来判定外部事件是否发生并进行计数。

下面以读取捕获标识为例说明如何实现该功能,该方法更加通用。在 CubeMx 中配置高精度定时器的 Capture 功能,如下:

“STM32G474

在软件中添加如下的代码,假如判断周期为 1 秒,本文给出伪代码的形式,具体代码需根据实际的应用进行修改。

“STM32G474

小结

本文对逐波限流的原理进行了简单介绍,给出了如何利用 STM32G474 系列 MCU 的高精度定时器中的相关功能实现逐波限流以及逐波限流计数的方案。

来源:STM32单片机
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 149
订阅 RSS - STM32G474