电源变换器在控制信号类型来分类可笼统地分为两大类:模拟电源和数字电源。
模拟电源就是直接对电压或电流的原始信号进行缩小或放大、比较等处理,也就是在反馈环路中,从输入反馈信号到产生新的PWM驱动过程中,该反馈信号一直保持模拟信号形式。而数字信号则是将反馈信号在输入反馈环路前进行数字化处理,以数字信号进行计算处理产生新的PWM驱动。
模拟电源在控制器处理器发展起来之前占据绝大部分的市场,它的环路主要由分压网络、运算放大电路、比较器以及一些逻辑电路组成,目前市场上已经有非常多的IC厂家将这几种电路的部分或全部集成到一颗芯片里,使用起来非常方便,甚至厂家还会针对一颗芯片提供多种详细电路应用方案,这让硬件工程师们设计电路时毫无压力。
近十几年来随着MCU和DSP的迅速发展,数字电源在大功率场合已经成为主流,如TI的C2000系列的DSP,在电源领域得到极大应用。数字电源需要软件参与,已经不是一个硬件工程师可以单独完成的了,那么是不是说硬件工程师在硬件设计时工作量更小了呢?我个人觉得可以说变小了也可能变大了。怎么说呢?很多专搞硬件的工程师们可能根本不懂得DSP,而且厂家很少会针对一款DSP做电源方面的应用电路,并且一款DSP可使用在多种拓扑结构的电源变换器上,就算厂家针对一款DSP做了多种电源应用电路,但是在实际项目中变化太多了,DSP的一个引脚往往有多种复用功能,我们在设计电路时应该能合理分配DSP的引脚资源,所以设计时我们可以与软件工程师沟通,此外,作为电路设计者,自己也应该对DSP有一定基本的了解,好让自己能判断设计是否合理,这也是作为高级硬件工程师必须掌握的知识技能。
那么以下篇章就对DSP的一些在控制环路中经常用到的资源进行整理,希望对同行的你有所帮助。

这里我以TI的TMS320F28335为例进行整理。
首先是DSP的最小工作系统,包括3部分电路:供电电路、复位电路以及时钟电路。TMS320F28034的工作电压为3.3V,工作电流可达160mA左右,如果由5V电源转3.3V,可用TO252封装的LOD芯片实现,如果是12V转3.3V,LOD有1.4W的损耗,建议使用BUCK变换器进行降压。
复位电路,TMS320F28034的数据手册描述如下,其中关于该引脚的外部电路,它描述为通过一个2.2kΩ~10kΩ电阻上拉到VCC,用一个小于或等于100nF的电容接VSS。如图3所示。


时钟电路也可以说成振荡电路,通过振荡产生高频信号驱动DSP运行,它相当于DSP的心脏。TMS320F28034的主频为60MHz,这个频率可以由DSP内部振荡器产生,也可以由外部振荡器产生,由于内部振荡器的精度受温度影响较大,多数情况下采用外部时钟信号。图4数据手册提供的外部时钟电路,由两个起振电容和一个晶振以及一个Rd(其实在实际应用中,一般没有串接Rd)。

这是无源振荡时钟电路,也可使用有源振荡电路,其输入引脚为XCLKIN,如图5所示。

晶振频率有很多种,应该如何选择?记住TMS320F28034的主频为60MHz ,只要使图6中的表达式里的其中一个等于60MHz即可,OSCCLK为晶振频率,例如10MHz、12MHz。

第二就是JTAG调试接口,该接口可以方便软件工程师烧写程序,在线仿真调试。

第三,开始说说TMS320F28034的一些在电源领域常用的资源,主要有通用I/O、ADC、PWM、TZ。当然还有一些通讯接口如SPI,SCI,IIC,CAN也会经常用到,但硬件设计与普通的单片机上的没什么差别,这里就不做介绍。
通用I/O,也就是通用输入输出,通过配置相应的寄存器可以设置一个I/O引脚为输入、输出、上拉,所以设计电路时可以不外加上拉电阻。通用I/O口只能判断逻辑电平——0和1,它们的表现在模拟电压范围如图8所示。

作为输入使用时,我们设计电路时不仅要保证需要保证输入电平信号不能大于3.3V,也要保证有一定的时长,电平时间太短,DSP不能识别。如图9所示。

ADC采样,TMS320F28034的ADC为12位,这里设计电路时主要考虑时输入电压信号VADC不能大于3.3V,如果ADC是以15PIN的VREFHI作为参考电平,则VADC应小于VREFHI,同时VREFHI小于3.3V。
PWM,是开关电源里必不可少的一种驱动信号,TMS320F28034有7组PWM,每组有A和B两个PWM,所以一共有14个PWM。一个完整的PWM输出需要经过较多的功能模块配置,如图10所示,有兴趣的小伙伴可以自行研究。

对于硬件工程师来说,个人觉得图10中的死区模块(DB)应该要了解清楚,如图11所示,同一组的PWMxA和PWMxB输出可以选择内部同一个PWM信号作为生成输出PWM信号源,也可以选择不同信号源。对于全桥式的拓扑结构,同一桥臂的上下管驱动信号是选用同一组的PWMxA和PWMxB还是选用不同组的来控制,不同软件工程师有不同的编程习惯,所以在设计前我们应该和他们沟通好。

TZ,trip-zone的缩写,谷歌翻译是“旅行区”,怪怪的。其实TZ的功能是当功能发生异常,异常信号送至TZ模块,能以最快的速度做出相应的处理,这个处理动作有软件设定,比如,电源输出短路时,将CT信号送至TZ的引脚,软件设定立刻置PWM信号为低电平信号,从而实现短路保护。
TMS320F28034中有6个TZ,其中TZ1、TZ2、TZ3由引脚输入,输入为低电平时表示错误发生。
每一个PWM模块都能通过寄存器TZSEL进行设置来选择哪一个TZ信号用于控制该PWM情况。也就是PWM1可以选择6个TZ中的任意一个作为错误控制信号。

