基于FPGA的多电平载波移相SPWM方法实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

孙奎,吴凤江,孙力

哈尔滨工业大学电气工程及自动化学院,哈尔滨(150001)

E-mail: sunkui1040610411@

摘要:在研究了基于载波移相的SPWM(CPS-SPWM)原理的基础上,设计了一种基于现场可编程门阵列(FPGA)的CPS-SPWM波形发生器。介绍了基于FPGA的波形发生器的基本原理、系统构成及实现方法。该波形发生器接收由DSP写入的频率及幅值给定,从而产生频率、幅值可调的三相多电平SPWM波形,以满足交流电机变频调速的需要。通过优化设计,节省了芯片资源,同时具有扩展性好,可靠性高等优点。实验结果验证了所设计波形发生器及其设计思想的正确性与可行性。

关键词:现场可编程门阵列;载波移相;多电平逆变;SPWM发生器

中图分类号:TM464

1. 引言

作为提高电压等级、减少谐波、改善电源质量的有效方法,基于载波移相的多电平SPWM 技术在高压大功率场合的应用受到了广泛的关注[1]。随着SPWM技术的发展、改进,其实现途径也在不断的发展、演化。从专用集成芯片、单片机、数字信号处理器(DSP)到DSP和FPGA的联合使用等。各种正弦脉宽调制技术的实现方法及途径相继提出。同时也对其控制芯片提出了更高的要求。传统的控制芯片已经不能满足发展的需要,特别是对于基于载波移相的多路SPWM技术,由单片机或DSP来产生多路SPWM信号最多只能输出12路,不能满足要求。

FPGA的集成度很高,其器件密度从数万门到数千万门不等,可以完成及其复杂的时序与组合逻辑电路功能,同时具有现场可编程、开发周期短、可移植、通用性强、易扩展等特点[2]。在级联型多电平SPWM的实现方面具有其他器件所无法比拟的独特的优势。本文阐述了基于FPGA的多路SPWM发生器设计方法。同时设计了一个基于FPGA的适用于三相五电平逆变器的SPWM发生器,开关调制策略采用载波相移SPWM技术(CPS-SPWM)[3],并通过实验验证了上面设计的可行性与正确性。

2. 载波移相SPWM原理

载波相移SPWM技术是一种优秀的开关调制策略,适用于大功率组合逆变器和级联型多电平逆变器。载波相移SPWM技术的基本原理(如图1所示)是用同一调制波与N个相位均匀移动的三角载波分别进行二逻辑SPWM,得到N个二逻辑SPWM波形,这些波形叠加起来构成一个2N+1逻辑的CPS-SPWM波形。这个2N+1逻辑的CPS-SPWM波形的等效采样频率是任意一个二逻辑SPWM的采样频率Cω的N倍,即NCω。因而CPS-SPWM能够在较低的开关频率下实现较高等效开关频率的效果[4,5]。同时阶梯式多电平输出电压波形更接近正弦,在不提高各功率开关器件开关频率的情况下大大减小了输出谐波,显著改善了输出波形质量。

图1载波移相原理

3. 基于的FPGA的CPS-SPWM波形发生器

3.1总体结构

图2是FPGA内部的系统结构图。由三相正弦波产生模块(由频率接收译码模块、幅值接收模块、三相地址发生器及数据分离变换模块组成),三角载波产生模块,比较模块,死区模块等组成。频率和幅值由外部DSP给定,FPGA完成三相正弦波发生器、三角载波移相、比较和死区形成等功能。对于三相五电平情况,共有6个单元,需24路PWM波形。对于更多电平情况,只需相应增加三角载波数量即可。

C

22

图2 FPGA内系统结构图

三相正弦调制波以查表的方式实现,通过分时复用使得产生三相的正弦波只需一个正弦表,同时利用正弦波的1/4对称性进一步优化,实现一个完整周期的正弦波只需1/4周期的正弦表。两者结合,从而完成三相正弦波只需一个1/4周期的正弦表,最大程度的减少了正弦表所占的逻辑门,极大的提高FPGA 的利用率。将正弦波的一个周期分成360份。因此地址发生器为三个9位的计数器。1/4正弦表对应于0/2π∼的91个正弦值,因此对0/2π∼寻址只需7位地址线,即只需利用地址计数器的低7位进行寻址。

3.2.1 三相地址合成与变换

三相地址计数器在相位上互差2/3π,地址数据并行输入,由一个三选一数据选择器来进行选择得图3所示的合成地址address 。其中sel 是一个三进制计数器。

当sel=0时,输出a 相地址address_a ;

当sel=1时,输出b 相地址address_b ;

当sel=2时,输出c 相地址address_c 。

图3 三相地址合成的仿真结果

同时,FPGA 接收DSP 的频率给定控制三进制计数器与三相地址计数器的时钟频率,进而控制正弦波的频率。

由正弦波的1/4对称性知,/2ππ∼的幅值大小与0/2π∼的幅值大小相同,只是在时间的上出现顺序相反。3/2ππ∼的幅值与0/2π∼的幅值的绝对值相同,极性相反。3/22ππ∼部分的幅值与3/2ππ∼的大小相等,只是时间上的出现顺序相反。因此只在正弦表中存放相位为0/2π∼的正弦值。根据上述特性,由一个地址译码模块,将合成的02π∼的地址转化为0/2π∼的地址,再对1/4正弦表查询即可。

当地址在0/2π∼时,只需将合成地址的低7位作为查表地址即可;

当地址在/2ππ∼时,需对合成地址的低7位求反后加上"0110101"作为查表地址; 当地址在3/2ππ∼时,需将合成地址的低7位地址减去"0110100"后作为查表地址; 当地址在3/22ππ∼时,需用"1101000"减去合成地址的低7位地址后作为查表地址。

3.2.2 幅值调节

FPGA 接收DSP 的给定数据,分离后得到幅值给定数据并锁存于幅值接收模块。将1/4正弦查表输出的数字量乘以DSP 提供的正弦波幅值给定量,(幅度给定量采用16位的数据宽度0~FFFF ),然后将所得乘积的低16位舍去,以其高位作为调制后瞬时值。因此可以方便的调节输出电压幅值。

正弦波正负半周的形成。当输入地址数据address 小于等于180时,将上述所得正弦值最高位置‘1’;当输入地址address 在180到360之间时,将上述正弦值取反后最高位清零。相当于把正弦波向Y 轴正方向平移了幅值,避免了幅值出现负值。从而由得到02π∼的完整正弦波。

由上可知,从1/4正弦波周期的ROM 表可得到三相相位互差2/3π的正弦波幅值。虽然得到了三相正弦波的幅值,可是他们是按照一定的相位关系混在一起的。因此要对数据进行分离。由地址发生器三相地址之间的关系知,数据分离过程与地址合成过程相反。进而得到三相相位互差2/3π的正弦波输出。

3.3移相三角载波组的生成

在FPGA 中,N 路三角载波采用N 路计数初值不同的可逆计数器实现。根据相位的不同,各计数器采用不同的初值和初始计数方向。从而等效为相位依次相差180o /N 。对于三相五电平级联型逆变器而言。需要4路相位相互错开/2π的三角载波。载波频率由DSP 给定。

如图4所示,三角载波、、、依次相差11C 21C 12C 22C /2π(两个H 桥级联N =2),其中、与正弦波比较产生第一个H 桥的PWM 控制信号;而、与正弦波比较产生第二个H 桥的 PWM 控制信号。

11C 12C 21C 22C 假设三角波的最大值用D 表示,最小值为0。则可以看出的初值为D ;和的初值为 D/2;的初值为0 。其计数方向如图中箭头所示。同时可以看出与反相,与反相,即同一桥臂左右三角载波反相,因此可以取反得到。

11C 21C 12C 22C 11C 12C 21C 22C

图4 三角载波原理

3.4比较模块

当正弦波幅度大于载波时比较器输出1,否则输出0;当正弦波幅度小于时比较器输出1,否则输出0。同理当正弦波幅度大于时比较器输出1,否则输出0;当正弦波幅度小于时比较器输出1,否则输出0。 11C 12C 21C 22C 3.5死区生成方法 为避免同一H 桥上下桥臂直通,SPWM 驱动信号必须加入死区模块,如图5所示。 死区发生器由死区计数器和一些组合逻辑组成,使同一桥臂上下驱动信号错开一个死区时间,防止功率器件短路。 死区计数器采用饱和计数器,其特性类似于电容的充放电过程,从而模拟RC 延时电路

相关文档
最新文档