笔者做了几年的数字电源软件工作,主要从事直流电源设计,对数字电源软件有一定的认识和理解,也深知数字电源的灵活性。实际在电源行业中,数字电源相关的软件技术主要掌握在少数大公司中,例如艾默生、华为、雅达等,不少小公司由于资源的限制并没有搞明白数字电源该如何设计,鉴于此笔者希望能将自己所掌握的有限的数字电源技术分享出来,希望能促进电源行业的发展,笔者能力有限,仅抛砖引玉,同时也希望在此过程中与电源行业的兄弟们共同进步。
一、什么是数字电源
目前,数字电源有多种定义。
● 定义一:通过数字接口控制的开关电源(它强调的是数字电源的“通信”功能)。
● 定义二:具有数字控制功能的开关电源(它强调的是数字电源的“数控”功能)。
● 定义三:具有数字监测功能的开关电源(它强调的是数字电源对温度等参数的“监测”功能)。
上述三种定义的共同特点是“模拟开关电源→改造升级”,所强调的是“电源控制”,其控制对象主要是开关电源的外特性
● 定义四:以数字信号处理器(DSP)或微控制器(MCU)为核心,将数字电源驱动器、PWM控制器等作为控制对象,能实现控制、管理和监测功能的电源产品。它是通过设定开关电源的内部参数来改变其外特性,并在“电源控制”的基础上增加了“电源管理”。所谓电源管理是指将电源有效地分配给系统的不同组件,最大限度地降低损耗。数字电源的管理(如电源排序)必须全部采用数字技术。
● TI公司定义:数字电源IC是数字控制的电源管理IC,它能提供配置、监视和监控功能,并能扩展到全回路控制。
目前,所谓的数字电源正是定义四所描述的,即通过一颗通用的数字信号控制器,完成传统模拟电源控制IC所具备的PWM、保护、环路补偿等功能,同时具备通信(I2C/CAN/串口等)监控功能。
很明显数字电源的数字信号控制器取代了模拟电源的控制芯片、环路补偿的运放及相关的阻容器件,软件处理的灵活性是传统模拟电源远不能比的,各种保护、非线性处理等,软件都可以来做,硬件电路剩下注功率电路、磁性器件、驱动电路、采样电路。
在实际做产品的时候,前期的硬件电路调测是比较快的,到了后面主要就是软硬件一起来调控制,所以数字电源的设计及调测是硬件软件协同完成的,软件要对硬件有一定的理解,同时硬件也要对软件有一定的理解,这样软硬件才能更好的对话,以便理解彼此并能识别出技术方面的问题。
软件人员在数字电源的项目中是一个非常重要的角色,可以说软件工作的进度和质量直接决定了一个电源项目的进度和质量,需要有专门的软件经理对软件工作全程监控,或者由软件人员兼职软件经理的角色,除了技术方面的工作,还需要有清晰的软件工作计划和软件版本管理,尤其是软件版本管理,要避免软件版本问题而导致大量的重复工作,笔者之前的同事中就有一些技术做的可以,但一旦做项目,软件工作就跟项目匹配不上,软件版本管理混乱导致问题不断反复,被项目组深深诟病。所以数字电源的软件人员要有良好的自我管理能力,同时这也对项目经理提出了更高的要求,因为项目经理一般也不懂软件,对于项目经理而言,所有的未知都是风险,那作为项目经理该如何来管理电源软件的风险呢?这对项目经理尤其是没有带过数字电源项目的项目经理而言是一个挑战。
数字信号控制器的分类
主要分为两类:
1、通用数字信号控制器,即是一个运算能力较强的MCU,比如Ti的TMS320F2802x/03x系列,Microchip的dispic系列,freescal的DSP,freescal被收购后叫NXP,又推出了一些新的系列,Kinetis的针对数字电源的和电机控制的芯片,与之前freecal的DSP相比而言,外设一样,内核变为arm内核,st也有一些数字电源的通用控制器。业界用的多的是ti、microchip、freescal。 freescal的Kinetis芯片比Ti当前的2802x/03x,主频高功耗小,性能优异,但他们不怎么会推广,知道的人比较少。
2、专用数字电源控制芯片,比如Ti的UCD系列,这个芯片是把环路固定在芯片内部由硬件实现环路,arm-cortex-M3内核,环路的参数可以更改,但环路的结构没法改,环路的数量也有限,相对于通用的DSP,缺点是不灵活,优点是环路控制频率可以做的很快,环路带宽可以做高,通用的DSP的环路是软件实现的,由于采样及控制频率的限制,环路带宽做不了太高;
也有一些其他公司的专用芯片,只能修改环路参数的,了解不是太多,就不多说了。
综上,目前业界公司用的较多的还是Ti的dsp,然后是micriochip和freescal的。