先楫HPM5300驱动设计,交错式buck-boost

描述

 

IT王工  先楫资深 FAE

有着10年AE/FAE工作经验,既是一个喜欢与客户交流探讨的人,也是一个内向爱好专研技术的人。

 

Buck-Boost简介

 

 

Buck-boost是一种非隔离变换器,可以将电源的电压转换为较高或较低的电压输出。它采用开关控制原理,通过周期性地切换电感和电容的连接方式,改变电感储能和释放能量的时间比例来实现电压升降。

变换器

Buck-boost优点:
 

 ● 可逆性好,控制简单。

 ● 转换效率高。

 ● 控制精度高,输出稳定性好。

 ● 电路驱动成本低。


 

Buck-boost应用

 ● 非隔离式的电池充放电,例如储能型微逆、分布式光伏(如下图)。

 ● 低压的高效非隔离升压或降压电路。

 ● 为降低电源纹波,多选用多路交错式结构。

变换器

 

 

 

Buck工作模式

 

 

当直流母线侧给电池充电时降压输出,工作在buck模式。

根据流过电感L的电流情况(连续或断续),Buck变换器常规三种工作模式:

 ● CCM(Continuous Coduction Mode)

 ● DCM(Discontinuous Conducton Mode)

 ● BCM(Boundary Conducton Mode)


 

数字电源中主要以CCM为主,本应用重点讲述CCM控制实现。输出电压:
 

变换器

这里D为PWM占空比。

变换器

( Buck变换器CCM工作波形 )

 

变换器变换器

 

当电池向直流母线放电时升压输出,工作在boost模式。

数字电源中主要以CCM为主,本应用重点讲述CCM控制实现。输出电压:

变换器

这里D为PWM占空比。

变换器

( Boost变换器CCM工作波形 )

变换器变换器

 

 

 

交错式Buck-Boost工作特点

 

 

交错式buck-boost电路是一种多路并联的升降压转换器,利用多个相同的电路模块,通过交错控制方式实现高效率、低纹波、大功率输出的升降压转换。本应用选用了两相交错模式,相位角为180°。
 


 

Buck-Boost应用要求

● buck和boost工作模式的主功率管可以通过软件切换,对应死区控制也根据工作模式切换。

● 为了提高效率,buck-boost电路中续流功率管在续流状态时,需要打开功率管;同时在续流电路减小至零点前需要关闭功率管,防止电流反向。

● 由硬件完成监控续流电流并实现续流功率管快速关闭。

● PWM中有效输出状态有跨越PWM周期的情况,针对该应用,PWM输出应不受计数器重载影响。

● 选用PWM中心对齐模式,优化EMC和电路采样精度。

变换器

 

PWM输出波形

变换器

 

Buck-boost配置框图

整个驱动中用到了PWM、TRGM、ACMP、PLB等功能模块。

变换器

 

 

 

外设配置

 

 

PWM配置

● 两路PWM选择中心对齐模式,其中通道0的中心点为周期/2,通道1的中心点为周期结束点。

● 通道0的主功率管和续流功率管由两个PWM输出分别控制。

● buck和boost模式不同,通道0中的主功率开关对应PWM直接输出通道根据模式可以在PWM0和PWM1直接切换,PWM工作模式为中心对齐模式。

● 通道0中的续流功率管通过PWM8输出互联管理器,在PLB中与ACMP组合产生最终PWM信号。

● 通道1的PWM输出有跨越周期问题,PWM工作模式为边沿输出,由PWM9-PWM12输出至PLB后,根据信号重构PWM。

变换器

 

模拟比较器ACMP

● HPM5300包含2个模拟比较器。ACMP可以对两个模拟电压输入 (同相端INP) 和反相端 (INN) 进行比较,并输出比较结果。

● ACMP支持内部8位数字模拟转换器DAC,支持外部模拟信号与内部 DAC 生成的参考信号进行比较。


 

ACMP配置

● ACMP是用于侦测两通道buck-boost输出电流大小。

● 反馈电流信号输入作为反相端输入,内置DAC作为同相端输入。当反馈电流信号过小时,ACMP输出高电平,关闭续流功率管的PWM信号。

● 考虑到开关时干扰,ACMP的回差都设置为最高。

变换器

 

互联管理器TRGM

● 互联管理器TRGM支持电机控制单元内外各个设备的信号间互通互联,可以把片上各个外设整合起来,实现外设间相互同步,相互配合。

● 互联管理器支持多个输入,输入来自于IO,电机控制单元内外的各个外设。

● 互联管理器支持管理电机控制单元内外设的DMA请求、位置输入切换等。


 

TRGM配置

● PWM8输入信号的为电平信号。

● ACMP0、ACMP1输入信号为电平信号。

● PWM9、PWM10、PWM11、PWM12为重构PWM信号,输入信号是上升沿有效。

● PLB的OUT0输出是与ACMP0组合后的PWM输出信号,同时配置给TRGM_IO0和TRGM_IO1,由具体应用确定pimmux中配置。

变换器

 

PLB的主要特性:

● 包含两种可编程类型:TYPE_A为4输入、4输出的查找表,TYPE_B包含4输入、逻辑处理单元用于时序控制。

● HPM5300中包含4个TYPE_A和4个TYPE_B。

● 本应用使用了4个TYPE_A。

变换器

 

变换器

 

TYPE_A0、TYPE_A1综合PWM和ACMP

● 包含3个输入、2个输出,其中,3个输入为ACMP输出、自锁信号、PWM电平信号,2个输出为自锁信号、续流功率管驱动信号。

● 输出自锁信号为ACMP输出的锁存信号,即一旦ACMP在PWM有效时间内出现有效信号将一直锁定,直至PWM信号无效时解除。

● 续流功率管输出信号由PWM与输出自锁组合实现。

● TYPE_A由查找表实现,需通过真值表完成逻辑配置见下图。

变换器

 

TYPE_A2、TYPE_A3逻辑说明

● PWM中心对齐的模式下要求:STA

● TYPE_A2包含4个输入、1个输出,4个输入为PWM前沿输出、PWM后沿输出、PWM互补前沿输出、自锁信号,1个输出为自锁信号。

● 输出自锁信号在PWM前沿输入后自锁,在PWM后沿输入解锁。其中,PWM互补前沿输入的用于一个通道的两个功率管驱动信号之间的互锁。

变换器

 

TYPE_A特点

● 每个TYPE A通道有四个trig_in, 四个trig_out

● 每个trig_out对应一个查找表LUT

● 可通过sw_inject将输出注入到trig_out

● 注入保持一个时钟周期


 

TYPE_A配置

● SDK中plb_type_a_inject_by_sw()函数完成软件注入,实现初始化输出。

● LUT查找表逻辑赋值函数为plb_type_a_set_lut(),可以配置不同通道和不同查找表,达到逻辑输出功能。

变换器

 

占空比更新

● 为了减少CPU的占用,程序将PWM中比较器CMP0-CMP7的数据存储于高速RAM中,PWM_DMA_struct.PWM_cmp_mirror[0]-PWM_DMA_struct.PWM_cmp_mirror[7]。通过DMA更新PWM寄存器,限于篇幅限制,本文不再赘述。

● 由于PWM没有配置成互补输出模式,需要软件实现死区配置,其中前后沿的死区为单独参数,可以配置不同的数值,PWM_DMA_struct.Front_Dead、PWM_DMA_struct.Post_Dead。此外,例程中包含了占空比限幅,如果在前期计算时占空比时已经对占空比限幅,可以忽略相应限幅处理。

● 浮点运算中需在浮点常数后面加f,否则会增加定点转浮点运算。

● 例程选用的是硬交错方案,即两路输出的中心点强制相差180°。但外设配置同样支持软交错方案,需修改占空比函数。

变换器

 

输出波形

变换器

buck模式下波形输出

变换器

buck模式下ACMP动作后波形输出

变换器

boost模式下波形输出

变换器

boost模式下ACMP动作后波形输出

 

 

 

小结

 

 

● 该操作方法实现了硬件快速续流控制功能,集成度高且阈值数字可控,优化成本和面积。

● 结合PLB功能,令buck-boost模式切合更加自由。

● PWM模块与PLB结合,可以轻松克服单时基PWM模块实现跨周期输出问题,该功能同样适用于单PWM模块的移相控制。

● 两相交错输出,减少纹波,增加EMC能力。

● 强大的DMA功能,减少了读取外设寄存器的时间,并通过硬件触发省去了CPU对寄存器赋值时间。

● HPM5300系列高性价比MCU,运算速度快,在数字电源控制中更加自如。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分