这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 基于TMS320F28044数字电源设计

共1条 1/1 1 跳转至

基于TMS320F28044数字电源设计

助工
2014-12-04 20:34:08     打赏

 什么是数字电源?TI从功能上对数字电源进行了定义:数字电源就是数字化控制的电源产品,它能提供管理和监控功能,并延伸到对整个回路的控制。针对不同领域的应用,TI推出了多款可以实现数字电源产品的DSP处理器,如TMS320F280x系列、TMS320F2801x系列,还有可输出16通道高精度PWM的DSP处理器TMS320F28044。在要求DC通道较多的系统,用28044设计数字电源就显得非常的容易,一颗DSP最多可控制16通道的DC,输出电压任意可编程,极大地增强了电源系的灵活性,同时电源系统将变得非常智能和可控。本文主要探讨如何基于TMS320F28044设计多通道的DC/DC电源。

  系统框架

  图1展示了基于C2000DSP设计的多通道DC/DC数字电源系统框架,DC/DC的拓扑结构一般为典型的BUCK电路或者同步BUCK电路,输出电压经电阻网络采样后直接送到DSP的ADC端口,DSP内部对该值采样,然后和系统的给定值做比较,比较后的误差值经过PID调解器得到每个通道的占空比,这样每路BUCK电路都形成一个闭环系统。同时一些外设接口如RS232、I2C,DSP通过这些接口可以与上位机实现数据交换,或者通过I2C接口来遵循PMBUS协议,组成智能数字电源系统。


图1基于C2000数字DC/DC系统框架


  高精度PWM

  TMS320F28044提供高达16路的高精度PWM波。理论上,PWM波在系统主频100MHz下最高可以得到10ns的分辨率,但是作为DC/DC变换器,如果要得到精度高、纹波小的直流输出电压,那么就需要更高的开关频率和更高的PWM分辨率。TMS320F28044内部提供一个微边沿控制器,可以输出最小150ps的PWM。设系统的主频为100MHz,PWM波的频率为200kHz,占空比需要输出50.1,如果仅仅使用普通的PWM波输出,那么周期值设为5000,COMPA的值设为250,最高为2500个ns,占空比就为50,设为251,占空比就为50.2。那么如何才能最大限度的得到接近于50.1的占空比呢,这就需要用到高精度PWM波,COMPA的值设为250,接下来需要再产生5ns的高电平,CMPAHR设为32,32×150=4.8ns,占空比为50.096,CMPAHR设为33,33×150=4.95ns,占空比就为50.099,CMPAHR设为34,34×150=5.1ns,占空比为50.102,由此可见当CMPAHR设为33时,占空比的误差仅为0.001,如果不使用高精度的PWM波,误差就为0.1。可见通过使用高精度的PWM波,可以把误差缩小两个数量级。如果使用它来控制数字电源的话,可以大大提高数字电源的控制精度。

  BUCK环路拓扑

  图2展示了基于BUCK电路的DC/DC数字控制拓扑,Q1、二极管、L、C、R组成了BUCK降压型变换器,输出电压经过调理电路转换成0~3V的电压信号送到DSP的内部ADC,ADC的输出与参考电压比较之后得到误差信号E,E再经过电压环的控制器GC得到调整后的BUCK调解器占空比U,U作为片内PWM模块输出的计算因子,生成相应占空比的PWM信号,PWM信号再经过驱动电路驱动功率开关管的导通,得到期望的输出电压。整个过程全部通过DSP内部的数字控制,通过设置合适的PID参数,可以得到很好的动态特性。


图2基于BUCK的数字控制拓扑


  数字采样

  数字控制中采样时刻的选取对控制策略有着很重要的意义。图3展示了在DC/DC变换器中如何合理的设置ADC的转换时刻,以期得到准确的采样值。上图中T1生成对称模式的PWM波,T1的比较寄存器可以用来存放需要生成的PWM波的占空比,通过改变比较寄存器的值,就可以得到期望占空比的PWM波。在本例中ADC的控制寄存器设置的转换触发发生在ADC上升沿的中间处,也就是开关管导通的中间时刻,ADC转换完成之后,将会触发一个中断,在中断服务子程序中,用户程序从ADC的结果寄存器中读取AD的转换结果,执行数字控制器,更新PWM波的输出占空比,新的PWM波有效发生在下一个周期。在图3可以看出,从控制器执行完PWM波更新到下个ADC中断触发来临,这中间有很多空闲时间,这就意味着如果系统得带宽足够的话,在这中间可以加入更多的控制器来控制多路的DC/DC变换器。在BackgroundLoop中可以执行其他的用户程序如通信等。


图3DC/DC变换器数字采样原理


  PID控制

  TI提供的数字电源开发包中有控制器的算法宏,该宏在ControlLawMacro.h头文件中,是基于一个2P/2Z传递函数:


  PID离散化的表达式如下所示:



  2P/2Z传递函数:


  可见,PID只是2P/2Z的一个特例,A1=-1和A2=0

  那么PID的系数就如下所示:

  Coef2P2Z_1[0]=Dgain*67108//B2

  Coef2P2Z_1[1]=(Igain-Pgain-Dgain-Dgain)*67108//B1

  Coef2P2Z_1[2]=(Pgain Igain Dgain)*67108//B0

  Coef2P2Z_1[3]=0;//A2

  Coef2P2Z_1[4]=67108864;//A1

  Coef2P2Z_1[5]=Dmax[1]*67108;//ClampHilimit(Q26)

  Coef2P2Z_1[6]=0x00000000;//ClampLo

  用户可以通过定义或者改变Pgain、Igain、Dgain、来实现控制算法的调节。为方便调试,在CCS中可以将上述的参数做成进度条,通过滑动进度条的方式来实现系统的实时调试。

  软件框架

  软件框架如图4所示。


图4软件框架


  设计实例

  设计实例如图5所示,本设计有以下特点:


图5设计实例


  ●采用子板加母板的连接方式

  ●子板基于TMS320F28044控制器

  ●母板载有10路典型BUCK电路,每路最大负载电流1A

  ●任意一路电压软件可编程,编程范围最大不超过5V

  ●可动态改变参考电压

  ●可动态改变系统的PID参数,调试系统动态性能

  ●可配置成高精度PWM和普通PWM输出两种方式


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]