基于TMS320C6713和FPGA的数字电源控制模块设计
扫描二维码
随时随地手机看文章
1、引言
重离子加速器冷却储存环(HIRFL—CSR)是国家“九五”期间重点工程,主要是由主环CSRm和实验环CSRe组成,可以实现对重离子的同步加速、冷却和储存。磁铁与电源组成加速器的磁场系统,用来产生约束磁场。储存环电源系统为环二极磁铁、四极磁铁、六极磁铁等提供励磁电源。CSR电源属直流稳流电源,但与普通稳流电源完全不同。其主要特点是环二极磁铁电源和环四极磁铁电源均为脉冲运行模式。要求电源有很高的电流长期稳定性、极低纹波、极高可靠性和极快速脉冲跟踪性,且二极磁铁电源和四极磁铁电源必须同步运行。为了减少偏转磁场的离散度,主环与实验环二极磁铁电源串联连接,各有一台电源供电。
这种电源在构成系统时选用元器件的精度和其温漂直接影响整体性能指标,普通元器件构成的调节器可能无法满足其精度要求。为此,我们采用了基于TMS320C6713高速DSP的数字调节器实现方案。
2、数字电源控制模块的设计
随着单片机技术的发展和控制理论研究的深入,电源的数字化控制也从比较简单的MCU加电源芯片的控制结构发展到利用高性能DSP及FPGA进行PWM、通信、监控的全数字化控制结构。本系统主要由TMS320C6713、FPGA1K30、CPLD和模数转换电路等组成,控制系统框图如图1所示。
500)this.style.width=500;" border="0" />
控制系统中各个模块单元的功能如下。
2.1 主控处理单元
本设计中采用美国TI公司TMS320C6713数字信号处理芯片,是TI公司生产的一种高速数字信号处理器(DSP),采用先进的超长指令(VLIW)TMS320C67xTMDSP内核,最高时钟频率可以达到300MHz,指令周期最小3.3ns;最高运算速度:2400/1800MIPs/MFLOPs。为了加快处理速度,采用2级cache。芯片内部有16通道EDMA控制器,能够高速处理几乎所有I/O和存储器的接口问题,大大地提高芯片吞吐速度。外部总的存储器空间最大512MB,数据宽度32b,可以支持SBRAM,SDRAM,SARAM,FLASH和EPROM。TMS320C6713与外部I/O接口可以通过FFA构造的I/O端口、HPI口、多通道缓冲(McBSP)口、SPI口、I2C口等几种主要方式。
系统中DSP主要用来完成数据的采集、控制算法的运算。数字化电源的输出电流经过A/D转换后送入DSP,经过DSP控制算法计算,由反馈于给定值决定PWM的脉冲宽度,并将其送至FPGA。
2.2 FPGA控制单元
FPGA控制单元的功能是由主处理器调整后的数据产生数字PWM波,是实现电源高精度控制的关键,同时利用其强大的逻辑控制功能,译码信号作为外 扩存储器控制信号。
选用ALTERA-p.htm" target="_blank" title="ALTERA货源和PDF资料">ALTERA公司的ACEX1K30芯片,是一种片上可编程系统(SOPC)单芯片,具有很高的密度,典型逻辑门达到1万到10万门,工作频率可达250MHz,很低的电源功耗,具有丰富的可编程I/O引脚,能够以2.5V、3.3V、5V等多种电压驱动或被驱动,使用方便灵活。
2.3 CPLD控制单元
CPLD控制单元的主要功能是控制和协调DSP和ADC之间的数据及控制信号的传送和处理,同时与背板通过VME总线进行通讯。
CPLD选用Altera公司的EPM7128AE一144型号PLD器件。3.3V 电源供电;工作频率高达227.3MHz;可编程调节的芯片管脚。
2.4 模数转换单元
A/D单元将采集的电源状态的模拟信号转化为数字信号,送入DSP主处理器,与给定的电源数字量比较,通过PID算法调整数据,决定PWM的宽度。
AD公司的AD7655芯片,具有4通道16位转换率精度;两个跟踪保持放大器;没有传输延迟;模拟输出电压范围0—5V;并行/串行5V/3V数据接口,与DSP接口兼容;单电源5V供电,正常模式下1MSPS数据吞吐率。
3、 软件设计
设计中系统软件采用模块化设计思想,包括DSP系统控制程序、PID控制算法程序以及采用VHDL语言编写的数字PWM程序和背板接口程序。DSP芯片的软件需要代码生成工具和代码调试工具。生成工具是将用高级语言编写的DSP程序转化为可执行的DSP芯片目标代码程序。软件开发基于TI公司的CCStudio,它提供图形化的编辑、编译、汇编、连接和调试环境以及友好熟悉的操作界面。利用CCS能够加快软件开发周期,提高效率。
DSP系统初始化完成对电源控制模块电路的初始化和DSP工作模式选择、相关的寄存器初始化、ADC初始化、指定接收数据缓冲区地址、串行口和主机口的初始化等。控制器算法的设计是系统的关键,它的性能如何直接影响电源的性能指标。本系统采用了常规PID算法加PWM前馈的控制方案,构成复合控制来缩短系统的调节时间。
用VHDL实现FPGA和CPLD的内部逻辑实现,VHDL是用来描述从抽象到具体硬件级别的工业标准语言,已经成为统一的硬件设计工具。VHDL其设计方法的灵活性、可移植性都非常好,对设计的仿真方面同图形化硬件描述方法一样都很优秀,设计效率在大规模设计时明显优于原理图设计。控制系统中FPGA主要完成数字PWM波的生成,而CPLD主要是完成上位机与下位机DSP之间的高速数据通讯,使用DSP的主机口来实现。
DSP控制程序图和数字PWM流程图如图2和图3所示。
500)this.style.width=500;" border="0" />
下面给出的是用VHDL实现的死区发生器:
entiey dead_generator is
port(
clk,pa :in std_logic;
ah,al :out std_logic;
dead_time:in std_logic_vector(11 downto 0);
count :inout std_logic_vector(11 downto 0));
end dead_generator;
architecture gen of dead_generator is
begin
process(clk)
begin
if(clk'event and clk = '1') then
if((pa = '1') and (count/= dead_time)) then
count