文献标识码:A
DOI:10.16157/j.issn.0258-7998.170020
中文引用格式:安永军,帕孜来·马合木提. 基于DSP的逆变器系统代码生成方法及实现[J].电子技术应用,2017,43(9):64-67.
英文引用格式:An Yongjun,Pazlai Mahemuti. Code generation method and implementation of inverter system based on DSP[J].Application of Electronic Technique,2017,43(9):64-67.
0 引言
逆变器作为风力发电系统与电网的接口,承担着核心电能变换和控制的作用,同时是系统中极易发生故障的薄弱环节,系统能否向电网或负载提供优质的电能,逆变器起到至关重要的作用[1-3]。为了确保电网稳定运行,提高电能质量,逆变器的故障诊断尤为重要,因此近些年逆变器的故障诊断研究成为了国内外学者的研究热点。TMS320F28335 DSP作为TI公司推出的32位浮点数字控制处理器,其主频150 MHz,具有外设丰富、性价比高、存储空间大、处理速度快等优点[4-5],一直被用作逆变器智能控制及故障检测与诊断系统的核心控制器。
逆变器系统是典型的相互依赖、错综复杂的混杂系统[6],传统的DSP系统的代码编程费时费工、效率低。Mathworks公司和TI公司联合推出TSP工具,使得在Simulink环境下即可进行嵌入式系统建模、仿真、代码生成及调试工作,大大提高了工程开发效率。本文在逆变器系统上实现代码自动生成。
1 代码生成技术
代码自动生成技术是指用特定的软件(MATLAB)或者软件中特定的工具箱,建立目标代码的系统仿真模型,并根据特定的目标配置自动生成嵌入式系统应用程序[7-8]。
Embedded Coder是MathWorks公司提供给Simulink用户针对嵌入式系统开发的强有力的工具。TSP TI C2000(Embedded Coder Target Support Package for Texas Instruments C2000 Processors)工具箱由TI公司和MathWorks公司联合开发,可与TI公司的CCS(Coder Composer Studio)集成开发环境(IDE)无缝对接,是针对基于C2000系列DSP嵌入式系统开发的工具箱[9-10]。该工具箱提供了DSP外围资源一对一的接口模块,可以将系统模型转换为可优化的、可移植的、自定义的产品级嵌入式C代码[11-12]。将模型的信号源和信号接收部分模块替换成I/O端口,由软件提供的系统.tlc文件负责统筹调用代码生成的整个过程,根据目标配置自动生成系统应用程序。
应用代码生成技术不需要逐句逐行的编写模型仿真所需要代码,并较容易进行相应的调试。与传统设计方法相比,明显具有开发周期短、费用低、效率高等特点。
2 基于代码生成技术的开发流程
首先根据需求确定系统设计标准,在Simulink平台中根据设计思路建立系统仿真模型;其次,根据系统设计要求设置模型参数及仿真环境,并植入相应的智能算法,完成配置工作后进行模型仿真,在仿真过程中实时观测仿真结果。如若仿真结果与预计结果有偏差,则及时完善仿真模型或参数设置并进行反复修正,直至仿真结果与理论结果吻合。仿真完成后对Simulink模型进行目标环境配置,设置系统文件及硬件调试环境,编译代码生成模型,生成代码执行文件(.out),连接硬件调试板,下载执行文件,运行程序,观察并测试系统参数。其开发流程如图1所示。
3 三电平逆变器
三电平逆变器是常见的电力电子电路拓扑结构,由以两电平变换器的一个桥臂为基本开关单元经过串并联拓扑而成[13],基本开关单元为图2结构,此电路只输出两种电平,通过此基本开关单元的串联或并联的形式加以组合,以达到输出端输出多于两个电压等级的电压值。可构成如图3所示的三电平逆变器的单相桥臂,3个同样的桥臂并联再与直流电源等必要器件相结合,即可得到三电平全桥逆变器结构。
对桥臂上的IGBT按调制算法规律进行有序的控制,使IGBT按照固有的规律工作,即可输出三电平全桥交流电压波。其调制算法如图4所示,正半轴载波和调制波生成互补的两列触发脉冲,分别触发VT1和VT3;负半轴载波和调制波生成互补的两列触发脉冲,分别触发VT2和VT4。VT1和VT2的控制脉冲p1和p2如图5所示。输出线电压Uab如图6所示,与传统两电平逆变器相比,三电平逆变器功率管的耐压、容量提高了一倍,降低了输出线电压的du/dt,波形得到明显改善,对比与两电平线电压更趋近于正弦波。
4 三电平PWM代码生成
三电平PWM为12路触发脉冲,如若在CCS中逐句逐行编写程序,则是非常庞大的任务量,而且在编程过程中不可避免地会出现错误,需要不停地修改和测试代码,需花费大量的人力。为节约人力和时间,减少出错率,提高开发效率,利用自动代码生成技术来生成三电平PWM控制脉冲。建立三电平PWM自动代码生成模型如图7所示。
TSP工具箱中只提供DSP的外围接口,需要利用Simulink的其他工具搭建三电平PWM模型,再由TSP中的Digital Output模块定义输出端口[14-15]。其中PWM模块来自Simulink>Power Systems>SpecializedTechnology>Control&Measurements>Pulse&Signal Generators,此模块为三电平PWM输出模块,设置频率、相位、采样周期等参数,使逆变输出电压为50 Hz。三电平PWM输出有12路脉冲,而每个Digital Output模块只提供8个GPIO接口,需要用Demux和Mux模块组合,用两个Digital Output模块输出脉冲。图7中OUT1模块GPIO0~GPIO7设置使用,OUT2模块GPIO8~GPIO11设置使用,如图8所示,共12路脉冲,控制IGBT工作。
模型建立成功后,设置目标环境。打开Simulation>Model Configuration Parameter环境配置,在Solver中设置仿真环境为离散环境,Hardware Implementation>Hardware board设置TI Delfino F2833x目标板,在Code Generation>System target file设置ert.tlc系统文件,Toolchain选择CCS开发环境TI CCSV6 C2000,Interface>Code replacement library设置为TI C28x。代码优化Code Placement>File packaging format设置为Compact,可优化生成代码的逻辑结构,提高代码的可读性。
以上建模及目标环境配置完成后,按Ctrl+B组合快捷键编译模型,或者在模型工具栏中找到编译工具点击编辑模型,如若模型设计及环境配置无误,即可生成.out执行文件,此文件可由CCS下载到DSP中运行。
从整个设计过程来看,DSP开发人员只需在MATLAB中进行Simulink模型设计、构建、仿真及目标环境配置,替代了编写、调试DSP代码的复杂过程,减低了出错率,提高了工作效率。
5 系统测试
本文设计了以TI公司的TMS320F28335为主控芯片的逆变器系统,系统由PC、电源、电源扩展模块、光电隔离模块、核心控制模块、逆变模块等组成。该系统中逆变器结构可从两电平—三电平的结构拓扑,并可以提供逆变器结构性故障全模式,可进行逆变器智能控制及故障诊断技术的研究。
连接各模块组建实验系统,所有硬件电路接电等待开启。将自动生成的三电平PWM可执行.out文件下载到DSP芯片并运行,开启所有电路电源开关,观测脉冲信号和逆变器输出线电压波形。观测到VT1和VT2的控制脉冲波形如图9所示,与图5仿真结果吻合。
示波器显示波形如图10所示。对比图10与图6,可看出示波器波形与仿真结果完全吻合。
6 结论
针对工作在高频状态下的典型混杂系统——逆变器系统的智能控制及故障诊断的DSP代码开发周期长、效率低、实现比较繁琐的问题,提出基于代码生成技术实现的方法。介绍了代码生成技术及其开发流程,并以三电平PWM代码生成为例展开说明,最后在逆变器实物系统中实现三电平PWM代码的调试。结果证明,该方法简单实用、开发周期短、错误率低、效率有明显提高。为逆变器智能控制及故障检测与诊断算法实践验证提供了方便,具有很高的实用价值。
参考文献
[1] 付玲,帕孜来·马合木提,廖俊勃.三相SPWM逆变器的智能故障诊断研究[J].制造业自动化,2015,37(3):72-74.
[2] 廖俊勃,帕孜来·马合木提,支婵,等.三电平逆变器IGBT的开路故障诊断研究[J].电测与仪表,2015,52(20):35-40.
[3] 廖俊勃.风力发电逆变器的故障诊断研究[D].乌鲁木齐:新疆大学,2015.
[4] 张卿杰,许友,左楠,等.手把手教你学DSP-TMS320-F28335[M].北京:北京航空航天大学出版社,2015.
[5] Texas Instrument,Inc.TMS320F28335/F28334/F28332/F28235/F28234/F28232 digital signal controllers(Rev.M)[Z].2012.
[6] 帕孜来·马合木提,贝太周.三相并网逆变器的键合图模型实现[J].可再生能源,2013,31(1):21-24.
[7] 孙忠潇.Simulink仿真及代码生成技术入门到精通[M].北京:北京航空航天大学出版社,2015.
[8] 刘杰.基于模型的设计及其嵌入式实现[M].北京:北京航空航天大学出版社,2010.
[9] 郭小强,赵刚,黄昆.基于MATLAB/Simulink平台下TI C2000 DSP代码的自动生成[J].科学技术与工程,2011,11(13):2941-2944.
[10] 朱斌,谢杰,孙皓泽,等.基于CCSLink的FIR数字滤波器的DSP实现[J].计算机工程与应用,2013,49(S3):245-249.
[11] MathWorks,Inc..Embedded coder getting started guide[Z].2016.
[12] MathWorks,Inc..Embedded coder user′s guide[Z].2016.
[13] 李永东.现代电力电子学—原理及应用[M].北京:电子工业出版社,2011.
[14] MathWorks,Inc..Getting started with TMS320C28x digital signal controllers(Rev.A)[Z].2007.
[15] MathWorks,Inc..Configuring source of multiple ePWM trip-zone events[Z].2007.
作者信息:
安永军,帕孜来·马合木提
(新疆大学 电气工程学院,新疆 乌鲁木齐830047)