基于CORDIC算法的三相SPWM发生器设计

时间:2024-12-27 05:34:19 来源:作文网 作者:管理员

摘 要: 采用SPWM的三相逆变技术在调速传动、电源转换和电力电子控制领域均有着广泛的应用,为提高三相SPWM产生的效率和精度,在此设计了一种不对称规则采样的三相SPWM发生器。调制正弦信号采用改进型迭代算法CORDIC产生,相对于查表法,无需占用大量的存储器空间,利用等腰三角波与调制正弦波相比较的不规则采样,得到SPWM的输出信号,并于Quartus Ⅱ编译环境下采用Verilog HDL硬件描述语言实现模块化编程设计,进行波形仿真验证了该设计的高效性和高精度性。该设计适用于高精度的三相逆变系统,也可与其他模块相结合应用于各种三相电机的正弦驱动等场合。

关键词: CORDIC; SPWM; 三相逆变; FPGA; Verilog

Design of three?phase SPWM generator based on CORDIC algorithm

(1. School of Mechanical and Electrical Engineering, Southwest Petroleum University, Chengdu 610500, China;

2. School of Electronic and Information, Southwest Petroleum University, Chengdu 610500, China;

3. Technical Centre, Logging Co., Ltd., China Nation☑al Petroleum Corporation Xi’an 710000, China )

Abstract: SPWM?based three?phase inversion technology is widely applied in many areas, such as speed governing transmission, power switching and power electronics control. A three?phase SPWM generator which sam♚ples with asymmetry rule is designed in the paper to improve the accuracy and efficiency of the three?phase SPWM. The modulation sinusoidal signal is achieved by an improved iterative algorithm CORDIC, which dispenses with occupation of a lot of memory space as the LUT does. The output signal of SPWM is obtained by comparing the irregular sampling of isosceles triangle wave and modulation sine wave. The modular programming design is realized via Verilog HDL under the Quartus ii compiler platform. The efficiency and accuracy of the design were verified by waveform simulation. The design is suitable for high?precision three?phase inverter system and can also be combined with other modules to be applied to sinusoidal drive of various three?phase motors.

Keywords: CORDIC; SPWM; three?phase inversion; FPGA; Verilog

三相SPWM使用SPWM模拟市电的三相输出,在逆变器和变频器领域被广泛的采用。CORDIC算法即坐标旋转数字计算方法,主要用于三角函数、双曲线、指数、对数等超越函数的计算,该算法通过简单移位和加减运算,能递归计算常用函数值,特别适合VLSI的实现。本设计使用改进型CORDIC算法,采用流水线结构,极大提高算法在FPGA/CPLD器件中的运算速度,实现脉冲宽度快速调制,响应时间达纳秒级别。

1 SPWM不规则采样法分析

冲量等效的窄脉冲作用在惯性系统上,惯性系统的输出或响应是ฬ基本相同的。SPWM 的产生即通过对输入正弦波进行脉宽调制,获得占空比按正弦规律来排列的脉冲序列,其脉冲宽度与正弦波幅值呈正相关,与脉冲间的间隔大小呈负相关,其调制原理如图1所示。

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\49t1.tif 图1 SPWM示意图

产生SPWM的方法有多种,本文采用一种不对称规则采样法,核心思想为选用正弦波作为调制信号,用更高频率的三角波作为载波,载波的顶点和底点作为抽样点对正弦波进行抽样,再与调制波进行比较判别,决定SPWM的脉冲宽度,局部放大如图2所示。

图2 不对称规则采样局部放大图

[Ta=Tc4+aTb=Tc4+b] (1)

根据三角形相似定理,ΔABC~ΔADE和ΔFGH~ΔFJI,结合式(1)推出:

式(2)中[M=UsUc],☤是正弦波峰值电压与三角波峰值电压之比,称为SPWM的模,模数M越大,相应的SPWM等效的正弦波电压越高。

令三角波频率fc与正弦波频率fs之比为载波比N,则:

[N=fcfs=1Tcfs] (3)

将式(5)代入式(2)可计算出[Ta]和[Tb]如下所示:

[Ta=Tc41+MsinkπNTb=Tc41+Msin(k+1)πN] (6)

整理得,三角载波一个周期内SPWM的导通时间[ton]的表达式为:

[ton=Ta+Tb=Tc42+MsinkπN+Msin(k+1)πN] (7)

由式(7)可以看出,通过确定三个参数[Tc]、[M]和[N]即可算出SPWM的脉宽[ton],据此可知,通过产生三路互成120°的正弦调制信号和一个单通道频率数值远高于正弦调制信号的三角载波信号进行判别运算即可输出三相SPWM,本设计可采用FPGA或CPLD作为控制器件,正弦波信号通过CORDIC算法运算产生,利用其高速运算性能保证本设计的快速响应,纯数字电路计算产生的正弦调制信号和三角载波信号频谱特性好,能够有效减少输出电压的谐波含量,克服了常见SPWM发生装置的输出电压基波相位迟滞大的缺点,可实现快速控制。

2 CORDIC算法原理

传统的DDS产生正弦波一般是基于查找相位?幅值存储表实现,通过增加地址线位数提升相位精度指标,将导致存储表容量相应呈几何级数增长,多路信号的硬件资源消耗巨大。本文采用的CORDIC(Coordinate Rotation Digital Computer)改进型算法可直接计算得出正弦波形的幅值,以代替DDS中的相位幅度转换单元,释放查表法所需大量ROM空间,其基本原理如图3所示。

设初始向量[V(x,y)],旋转角度[θ]后得到向量[V′′′],坐标对应关系为:

[x′=cosθ(x-ytanθ)y′=cosθ(y+xtanθ)] (8)

选取每一次旋转角度的正切值为2的倍数,即[θi=arctan(2-i)],体现在硬件上即用FPGA的基本移位操作实现乘法运算,因[cosθ=cos-θ],每次旋转可表达成

式中:[Ki=cos(arctan(2-i))];[di=±1]表示向量的旋转方向,+1表示逆时针旋转;-1表示顺时针旋转;[Ki]的乘积为比例因子[K]:

每次旋转后的剩余角度为:

所有旋转角度的总和为:

[Φ=i=0∞di?arctan2-i] (13)

将所需产生的角度值为作[Z0]输入,当[Zn→0]时,旋转角度总和[Φ→Z0],此时向量为单位向量,迭代结果即实现了三角函数数值逼近,[cos θ=xn],[sin θ=yn]。

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\49t3.tif

图3 CORDIC原理图

3 FPGA的硬件实现

CORDIC算法的FPGA硬件实现常见有两种,循环迭代结构和流水线结构,前者设计简单,占用资源少,但是N个迭代周期才能计算一次值,速度慢,后者结构较为复杂,需将每一步的迭代进行展开,插入寄存器,实现流水作业,实质上是以硬件资源换取速度,每一个时钟节拍输出一次值。本设计采用Altera公司的FPGA芯片EP2C8Q208C8N作为主控芯片,借助于Quartus ii开发平台,基于自顶向下的设计思想,分别设计出CORDIC算法和三组不对称规则比较法SPWM产生模块,相位两两相差为120°,构建顶层框图如图4所示。 具体CORDIC算法模块采用Verilog HDL硬件描述语言编写,设计了8级流水线单元,其结构如图5所示。

[xi]、[yi]的字长为8 b,最高位为符号位,因此弦函数的最大幅值为127,根据式(10)得出的比例因子[K]可计算出初始输入值:

[x0=K?Us=0.607×127=77.089y0=0]

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\49t4.tif

图4 顶层三相SPWM原理框图

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\49t5.tif

图5 CORDIC流水线结构图

所设计系统在QuartusⅡ里的运行结果如图6所示。

通过分析运行结果发现,本设计生成的SPWM迟滞极小,频率变换便捷快速。将此三相SPWM信号接入死区发生器输出六路PWM信号,再分配到FPGA的相应引脚上,便可以驱动桥式三相逆变器的三个桥臂,输出三相电源。

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\49t6.tif

图6 三相SPWM的运行结果

综合编译运行结果如图7所示,分析可知,本设计只用到2个片内锁相环,不需要乘法器和记忆体,逻辑资源占用不到10%,占用资源极少。

E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\49t7.tif

图7 综合编译结果

4 结 语

本文设计了一种基于CORDIC算法的三相SPWM发生器,详述了其原理和硬件实现方法,并通过Verilog语言对算法进行模块化设计,在Quartus Ⅱ里调用生成的算法模块,实现了三相SPWM的设计。基于FPGA的三相SPWM发生器模块采用全数字结构实现,可实现准确初始相位设置,相较于传统SPWM具备明显的优势,方法新颖简单,可操作性强,节省了大量理论计算,能够有效抑制输出SPWM波形的谐波含量,具有低成本、高灵活性、高精度、高可靠性和可移植性等优点,因此可以与其他功能模块或IP核相结合应用于高效率的正弦驱动场合,实现工业级应用。

参考文献

[2] 殷继伟.SPWM逆变器驱动下异步电机的谐波分析[D].哈尔滨:哈尔滨理工大学,2012.

[3] 张燕宾.SPWM变频调速应用技术[M].北京:机械工业出版社,2012.

[4] LIN Fan, LI Kun, LIU Yang. A design and implementation of edge controller for SPWM waves [C]// Proceeding of the IEEE International Conference on Information and Automation. Shenzhen, Chinทa: IEEE, 2011: 764?767.

[6] LU Yuan, JIAO Peng?peng, ZHANG Bin. The principle and realization of single?phase SPWM wave based on the counter method [C]// International Conference on System Science, Engineering Design and Manufacturing Informatization. Chengdu, China: [s.n.], 2012, 3: 10?13.

[8] 汪洋.基于CORDIC算法直接数字频率合成器研究[D].哈尔滨:哈尔滨理工大学,2012.

[9] 陆鹏威,梅杓春.基于CORDIC算法实现三角函数的运算[J].理论与方法,2008,27(1):10?19.


热门排行: 教你如何写建议书