基于DSP的一种移动电源控制器系统设计
2013-08-10韦忠朝于克训马志源
袁 满,韦忠朝,于克训,马志源,胡 闯
(强电磁工程与新技术国家重点实验室(华中科技大学),湖北 武汉430074)
一些大型用电设备在无法联接电网的场合使用时,需要大功率移动电源供电.移动电源系统一般由原动机、发电装置、储能装置、电源变换装置、总成控制等组成[1],作为可独立工作的电源系统,要求具有自动化程度高、可靠性好、抗干扰能力强的特点,因此实现对移动电源系统的有效控制十分重要.移动电源系统组成复杂,各电源模块要配合整个电源系统的运行,因此电源各模块的分散控制与集中管理直接影响到电源的可靠性与效率,于是各种高性能控制芯片被引入到移动电源系统中来了,而数字信号处理器(DSP)的出现正好适应了这种需求.TMS320F28335系列DSP具有强大的控制和信号处理能力,具有精度高、成本低、功耗小、外设集成度高、数据及程序存储量大和A/D转换更精确快速等优点[2].本文介绍了基于TMS320F28335的一种移动电源控制系统的硬件电路、系统通信软件设计和简要控制流程.级模块之间快速、精确、稳定的通信至关重要,其中包括输入输出(I/O)通信和控制器局域网(CAN)通信.
图1 电源控制系统总体结构图
1 移动电源控制器的硬件电路设计
本移动电源控制器以TMS320F28335DSP芯片为核心,控制的下级模块包括柴油机控制器、400 Hz中频电源、24V直流电源,同步发电机励磁电源,拖动电机控制器和半控整流器等.另外,为实现远程操作,与上位PC机的通信模块也是必须的.本电源控制器(图1)是整个系统的核心,为了实现对移动电源的实时控制和监视,控制器与系统各个下
为了实现对如此多的系统外围模块的控制,控制器内部的通信也是至关重要的.作为整个控制系统的大脑,控制器采用DSP为主处理器,以FPGA作为协处理器,它们之间采用总线的方式进行通信,这样才能胜任整个系统大批量信号的处理及控制.电源控制器内部框图如图2所示.本控制器搭建了通信用CAN外设,通过总线外扩了RAM,还应用SPI串口通信端口外接了EEPROM,外部模拟检测量经过传感器检测后送入DSP的AD口.各类信号的连接主要由FPGA完成,在其内部进行逻辑控制后将数据传送给DSP.外部的一些控制主要在DSP与FPGA的数据交流中完成.
图2 电源控制器内部框图
1.1 DSP与EEPROM的通信接口
由于EEPROM具有掉电保持功能和可电擦除特点,在调试过程中就可以方便地实时在线修改参数.而且串行EEPROM不需要复杂的地址、数据和控制总线,仅由几根线就可以完成操作,因此节省了大量的硬件资源.所以本控制系统采用了只需要4根线的SPI通信EEPROM 25LC256来完成在线参数以及数据存储.其硬件连接电路如图3所示.
图3 DSP与EEPROM的硬件接口
1.2 DSP与FPGA的通信接口
本文采用DSP芯片与ALTERA公司的FPGA芯片EPM240T100C5配合作为整个控制器的控制核心,它们之间采用数据总线和地址总线进行通信.DSP与FPGA的连接如图4所示.系统主要靠FPGA对DSP传输过来的数据进行译码,然后做出相应控制.经过9位地址线,即通过 DSP28335 XINTF ZONE7多达29=512个的空间对FPGA最多为512种的不同控制,足以满足本系统的控制要求.通过16位数据总线可以实现DSP与FPGA一次最多为两个字节的数据传输.
图4 DSP与FPGA的硬件接口
1.3 DSP之间的CAN通信接口
CAN总线是一种串行通信协议,具有较高的通信速率和较强的抗干扰能力,可以作为现场总线应用于电磁噪声比较大的场合,尤其适合本系统的通信.其硬件电路连接如图5所示,电路选用PCA82C250作为CAN控制器和CAN总线间的接口,提供对总线的差动发送和接收能力.为提高系统抗干扰性能,在DSP与PCA82C250之间增加光电隔离电路.电路中PCA82C250的输出引脚CANH和CANL之间必须并联终端匹配电阻,否则,会降低总线数据通信的可靠性[3].
图5 DSP间CAN通信的硬件接口
1.4 DSP与下级模块的I/O通信接口
电源控制器与各下级模块需要大量的紧急通信,如启动、停止、故障、接通、接通完成、断开等,I/O通信是最好的方式.由于系统庞大,I/O通信的距离较远,为保证信号传递的精确性,必须进行通信隔离.本系统采用24V辅助电源作为隔离用电源,电压较高,驱动电流大,抗干扰能力强,隔离光耦采用TLP121.电源控制器与各下级模块的I/O通信连接图如图6所示.
图6 电源控制器与下级模块的I/O通信的硬件接口
2 电源控制器软件设计
电源控制器软件完成整个系统的通信和对部分模块的控制,其软件设计包括系统初始化、系统调用主程序、控制子程序和中断服务子程序等部分.控制系统的程序结构如图7所示.
图7 控制系统程序结构图
2.1 初始化程序
DSP初始化分为各控制寄存器初始化和系统程序初始化,其中控制寄存器初始化主要包括:时钟倍频和看门狗设置;CAN、SPI等DSP片内外设初始化;各GPIO复用口的配置;中断控制器和中断向量表的初始化;LCD显示和键盘输入的初始化等.系统程序初始化则包括:各子程序变量的初值设定和各个存储单元的预分配.
2.2 系统调用主程序
系统调用主程序为各子程序的入口,是整个控制系统的主程序.主程序在初始化的过程中完成DSP的系统功能配置和程序初始化后,就等待外部和内部的中断响应外设请求及运行各子程序.
2.3 控制系统子程序
控制系统子程序是控制各个设备运行的程序模块,包括键盘输入控制,LCD显示控制,I/O防抖、励磁电源、拖动电机、半控整流器、负载等各下级模块的运行控制,CAN通信数据的定期发送和接收以及故障检测和处理等.当中断发生的时候,CPU转入各个子程序运行,并返回控制量输出给系统相应子设备.由于此程序模块彼此独立,所以只需要留出相应的程序接口,就可以分开模块设计和随时扩展程序功能而不会影响其他的程序模块.
2.4 中断服务子程序
中断服务子程序包括:定时器0中断、ADC接收中断、CAN通信中断,以及外部中断.其中定时器0中断完成整个主程序和部分子程序的精确计时,保证程序的时序控制准确;ADC中断完成AD采样,实时将从外部采样到的模拟量装换成数字量后送给DSP;CAN通信中断使上位机能够实时控制电源控制器;外部中断主要完成对移动电源所带负载的通道选择.
2.5 DSP与EEPROM通信的软件实现
由前文可知,本系统采用的EEPROM芯片为25LC256,25LC256有一个8位的指令寄存器,通过SPI总线访问,通过指令寄存器写不同的指令,告知25LC256将要进行的操作,然后读取或者写入数据.其写入数据的时序如图8所示.
图8 DSP写25LC256一个字节的时序图
由于需要先发送8位指令,紧接着发送16位地址,最后发送8位数据,所以令DSP的SPI发送缓冲区SPITXBUF为16位,首先规格化16位需发送数据,即让8位“写”指令作为此16位数据的高8位,让16位地址的高8位作为需发送的16位数据的低8位,从而组成一组16位数据,发送给SPITXBUF;发送完毕后,再将16位地址的低8位作为规格化的16位数据的高8位,8位数据为其低8位,发送给SPITXBUF,从而完成写一个字节的周期.
2.6 CPU间CAN通信的软件实现
对TMS320F2835的eCAN模块的编程主要分为三个部分:波特率的配置、邮箱初始化的配置、消息的接收和发送操作.其中最为关键的是波特率的设置[4],它决定了CAN模块每秒钟能够传输的位数.其设置公式为
式中,SYSCLK为系统时钟频率,BRP由寄存器CANBRC[23~16]来确定,TSEG1、TSEG2分别由CANBTC[6~3]、CANBTC[2~0]来确定.在使用CAN通信进行消息的接收和发送前,必须对CAN模块进行正确的初始化,其初始化和接收发送流程如图9所示.
图9 CAN模块的初始化和数据接收发送流程图
3 电源控制器的控制流程
当整个电源控制器系统的硬件部分和软件部分完全实现后,就能够实现电源控制器与各下级模块的精确通信.图10是本电源控制器对各下级模块的一种控制模式的流程图.给定同步发电机母线电压后,拖动电机的转速和励磁电源的励磁电流值也就确定了,如果一切正常,表明系统准备就绪.此时通过键盘按钮启动系统,则拖动电机启动,一段时间后电机到达给定转速,电源控制器给出转速到达信号,同时启动励磁电源,很快励磁电源的电流值到达给定值,产生励磁建立信号,同时发出接通信号,此时半控整流桥开通,同步发电机与负载接通,当电压到达给定值后,反馈一个接通完成信号,此时整流器关断.延时一段时间,给负载一个断开信号,再延时一段时间后,检测电流零信号,确保断开完毕,此后就可以停止系统了,拖动电机和励磁电源也同时停止.
图10 电源控制器的一种控制流程图
4 结束语
本移动电源控制器目前已经基本完成了实验室阶段系统控制的调试,同步发电机在不同接通电压下,拖动电机转速和励磁电流有不同的配合,而在同一个接通电压下,由于接通过程中电机转速的改变,励磁电流也要相应改变,从而达到最佳的接通效果.本电源控制器也存在一些不足,例如硬件电路的抗干扰设计并未考虑充分,软件的结构还有一些地方有待优化,这是下阶段课题需要解决的问题.
[1]于溢泽.120kW新型拖车电站的研制介绍[J].移动电源与车辆,1997,02(011):31-34.
[2]刘陵顺,高艳丽,张树团,等.TMS320F28335DSP原理及开发编程[M].北京:北京航空航天大学出版社,2011.
[3]李星林,黄石生.高速双丝脉冲 MIG焊的研究[J].电力电子技术,2008,42(3):39-40.
[4]苏日建,孔 力,周凯波,等.基于DSP的井下仪器通用CAN总线通信接口设计[J].仪表技术与传感器,2008(1):68-71.