基于TMS320F28044数字电源设计
扫描二维码
随时随地手机看文章
什么是数字电源?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协议,组成智能数字电源系统。高精度PWM图1 基于C2000数字DC/DC系统框架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的数字控制拓扑图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参数,可以得到很好的动态特性。数字采样图3 DC/DC变换器数字采样原理数字控制中采样时刻的选取对控制策略有着很重要的意义。图3展示了在DC/DC变换器中如何合理的设置ADC的转换时刻,以期得到准确的采样值。上图中T1生成对称模式的PWM波,T1的比较寄存器可以用来存放需要生成的PWM波的占空比,通过改变比较寄存器的值,就可以得到期望占空比的PWM波。在本例中ADC的控制寄存器设置的转换触发发生在ADC上升沿的中间处,也就是开关管导通的中间时刻,ADC转换完成之后,将会触发一个中断,在中断服务子程序中,用户程序从ADC的结果寄存器中读取AD的转换结果,执行数字控制器,更新PWM波的输出占空比,新的PWM波有效发生在下一个周期。在图3可以看出,从控制器执行完PWM波更新到下个ADC中断触发来临,这中间有很多空闲时间,这就意味着如果系统得带宽足够的话,在这中间可以加入更多的控制器来控制多路的DC/DC变换器。在Background Loop中可以执行其他的用户程序如通信等。PID控制TI提供的数字电源开发包中有控制器的算法宏,该宏在ControlLawMacro.h头文件中,是基于一个2P/2Z传递函数:PID离散化的表达式如下所示:2P/2Z传递函数:可见,PID只是2P/2Z的一个特例,A1=-1和A2=0那么PID的系数就如下所示:Coef2P2Z_1[0] = Dgain * 67108// B2Coef2P2Z_1[1] = (Igain - Pgain - Dgain - Dgain)*67108// B1Coef2P2Z_1[2] = (Pgain + Igain + Dgain)*67108// B0Coef2P2Z_1[3] = 0; // A2Coef2P2Z_1[4] = 67108864;// A1Coef2P2Z_1[5] = Dmax[1] * 67108; // Clamp Hi limit (Q26)Coef2P2Z_1[6] = 0x00000000; // Clamp Lo用户可以通过定义或者改变Pgain、Igain、Dgain、来实现控制算法的调节。为方便调试,在CCS中可以将上述的参数做成进度条,通过滑动进度条的方式来实现系统的实时调试。软件框架软件框架如图4所示。图4 软件框架设计实例设计实例如图5所示,本设计有以下特点:图5 设计实例● 采用子板加母板的连接方式● 子板基于TMS320F28044控制器● 母板载有10路典型BUCK电路,每路最大负载电流1A● 任意一路电压软件可编程,编程范围最大不超过5V● 可动态改变参考电压● 可动态改变系统的PID参数,调试系统动态性能● 可配置成高精度PWM和普通PWM输出两种方式