基于FPGA的SPWM设计方案_第1页
基于FPGA的SPWM设计方案_第2页
基于FPGA的SPWM设计方案_第3页
基于FPGA的SPWM设计方案_第4页
基于FPGA的SPWM设计方案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于FPGA勺SPWK计方案第1章绪论1.1 SPWM介绍PWIC全称是PulseWidthModulation(脉冲宽度调制)。,它是通过改变输出方波的占空比来改变等效的输出电压。广泛地用于电动机调速和阀门控制,比如电动车电机调速就是使用这种方式SPWM即正弦脉冲宽度调制(SinusoidalPulseWidthModulation),就是在PWMJ基础上改变了调制脉冲方式,脉冲宽度时间占空比按正弦规律排列,用SPWM&形控制逆变电路中开关器件的通断,使其输出的脉冲电压的面积与所希望输出的正弦波在相应区间的面积相等,通过改变调制波的频率和幅值则可调节逆变电路输出电压的频率和幅值,这样

2、输出波形经过适当的滤波可以做到正弦波输出。它广泛地用于直流交流逆变器等.1.2 SPWM原理实现方案1.2.1 等面积法该方案实际上就是SPW般原理的直接阐释,用同样数量的等幅而不等宽的矩形脉冲序列代替正弦波,然后计算各脉冲的宽度和间隔,并把这些数据存于微机中,通过查表的方式生成PWM1号控制开关器件的通断,以达到预期的目的.由于此方法是以spwM5制的基本原理为出发点,可以准确地计算出各开关器件的通断时刻,其所得的的波形很接近正弦波,但其存在计算繁琐,数据占用存大,不能实时控制的缺点.1.2.2 硬件调制法硬件调制法是为解决等面积法计算繁琐的缺点而提出的,其原理就是把所希望的波形作为调制信号

3、,把接受调制的信号作为载波,通过对载波的调制得到所期望的PW瞰形。通常采用等腰三角波作为载波,当调制信号波为正弦波时,所得到的就是SPW帔形。其实方法简单,可以用模拟电路构成三角波载波和正弦调制波发生电路,用比较器来确定它们的交点,在交点时刻对开关器件的通断进行控制,就可以生成SPW帔。但是,这种模拟电路结构复杂,难以实现精确的控制。1.2.3 软件生成法由于微机技术的发展使得用软件生成SPW帔形变得比较容易,因此,软件生成法也就应运而生。软件生成法其实就是用软件来实现调制的方法,具有两种基本算法:即自然采样法和规则采样法.1.2.3.1 自然采样法以正弦波为调制波,等腰三角波为载波进行比较,

4、在两个波形的自然交点时刻控制开关器件的通断,这就是自然采样法.其优点是所得SPW敏形最接近正弦波,但由于三角波与正弦波交点有任意性,脉冲中心在一个周期不等距,从而脉宽表达式是一个超越方程,计算繁琐,难以实时控制。1.2.3.2 规则采样法规则采样法是一种应用较广的工程实用方法,一般采用三角波作为载波。其原理就是用三角波对正弦波进行采样得到阶梯波,再以阶梯波与三角波的交点时刻控制开关器件的通断,从而实现SPW昧.当三角波只在其顶点(或底点)位置对正弦波进行采样时,由阶梯波与三角波的交点所确定的脉宽,在一个载波周期(即采样周期)的位置是对称的,这种方法称为对称规则采样。当三角波既在其顶点又在底点时

5、刻对正弦波进行采样时,由阶梯波与三角波的交点所确定的脉宽,在一个载波周期(此时为采样周期的两倍)的位置一般并不对称,这种方法称为非对称规则采样。规则采样法是对自然采样法的改进,其主要优点就是是计算简单,便于在线实时运算,其中非对称规则采样法因阶数多而更接近正弦.其缺点是直流电压利用率较低,线性控制围较小。以上两种方法均只适用于同步调制方式中。1.2.4 低次谐波消去法低次谐波消去法是以消去PW瞰形中某些主要的低次谐波为目的的方法。其原理是对输出电压波形按傅氏级数展开,表示为u(wt)=ansinnwt,首先确定基波分量a1的值,再令两个不同的an=0,就可以建立三个方程,联立求解得a1,a2及

6、a3,这样就可以消去两个频率的谐波。该方法虽然可以很好地消除所指定的低次谐波,但是,剩余未消去的较低次谐波的幅值可能会相当大,而且同样存在计算复杂的缺点。该方法同样只适用于同步调制方式中。1.2.5 梯形波与三角波比较法前面所介绍的各种方法主要是以输出波形尽量接近正弦波为目的,从而忽视了直流电压的利用率,如SPWM,其直流电压利用率仅为86.6%。因此,为了提高直流电压利用率,提出了一种新的方法-梯形波与三角波比较法.该方法是采用梯形波作为调制信号,三角波为载波,且使两波幅值相等,以两波的交点时刻控制开关器件的通断实现PWME制。由于当梯形波幅值和三角波幅值相等时,其所含的基波分量幅值已超过了

7、三角波幅值,从而可以有效地提高直流电压利用率。但由于梯形波本身含有低次谐波。所以输出波形中含有5次,7次等低次谐波。1.1 .6.1单极性法如图1.2.6.1调制波和载波:曲线是正弦调制波,其周期决定于需要的调频比kf,振幅值决定于ku,曲线是采用等腰三角波的载波,其周期决定于载波频率,振幅不变,等于ku=1时正弦调制波的振幅值,每半周期所有三角波的极性均相同(即单极性)。调制波和载波的交点,决定了SPWMc冲系列的宽度和脉冲音的间隔宽度,每半周期的脉冲系列也是单极性的。(2)单极性调制的工作特点:每半个周期,逆变桥同一桥臂的两个逆变器件中,只有一个器件按脉冲系列的规律时通时断地工作,另一个完

8、全截止;而在另半个周期,两个器件的工况正好相反,流经负载ZL的便是正、负交替的交变电流。图1.2.6.1单极性SPWM1.2 .6.2双极性法如图1.2.6.2调制波和载波:调制波仍为正弦波,其周期决定于kf,振幅决定于ku,中曲线,载波为双极性的等腰三角波,其周期决定于载波频率,振幅不变,与ku=1时正弦波的振幅值相等。调制波与载波的交点决定了逆变桥输出相电压的脉冲系列,此脉冲系列也是双极性的,但是,由相电压合成为线电压(uab=ua-ub;ubc=ub-uc;uca=uc-ua)时,所得到的线电压脉冲系列却是单极性的。(2)双极性调制的工作特点:逆变桥在工作时,同一桥臂的两个逆变器件总是按

9、相电压脉冲系列的规律交替地导通和关断,毫不停息,而流过负载ZL的是按线电压规律变化的交变电流。图1.2.6.2双极性SPWM1.3 SPWM硬件实现方案一、采用单片机来产生SPWMJ方法,只须采用单片单片机,控制灵活,但SPWMF号的产生需占用CPUfc量的工作时间,通用性差。二、基于DSPS制的单相逆变电源设计方案,运算速度快,但合成频率较低且不可调。三、采用单片机和FPGAfr同设计,实现了对SPWMF号的调频控制,但系统实现比较复杂,成本较高。四、基于FPGA勺SPW雌制器实现方案,通过控制相位累加器和输入频率来控制。1.4 本设计方案选择通过以上分析,FPGAft有丰富的存储资源,完全

10、可以存储足够的相位字来生成三角波和正弦波。FPGA是硬件级别的设计,可以快速实现查表等操作。所以可以生成较高频率的波形。综上,本设计采用FPGA通过双极性的三角波,正弦波比较法来设计SPWM:生器。1.5 本章小结产生SWPM勺方法很多。应该根据需要选择合适的方法,否则可能造成资源的浪费或无法实现指标。虽然随着现在集成电路的发展,已经有和多成熟的SPWM专用芯片,比如SA8281,但基于FPGABSPWMT以做到高速,稳定,还可以同其他数字电路一起设计在一块FPGAh。从而减小电路的复杂性。因此基于FPGA的SPWM:计有它自己的优势。第2章VHDL计2.1 总体框图2.2 模块设计2.2.1

11、 可调分频器频率控制可以通过控制相位增量来控制。但由于本设计采样值较少。容易造成波形的不连续。所以选择控制输入频率。详细程序见附录1。分频器有计数器,比较器,和触发器等组成,频率字被高电平使能锁存进寄存器后,计数器对时钟脉冲进行计数,当计数器等于频率字寄存器后,对输出取反,从而实现分频。分频后频率分频器RTL原理图如图2.2.1.1图2.2.1.1可调分频器原理图分频器RTL仿真如图淌哺1:天KG血44工jrtl.dfc-jF舟e_jadj|dkjul&1%一曲飞wgdvr-Trd触加d图2.2.1.2分频器RTL仿真图2.2.1.2为fre_word为4,16,8时的时序图。可以看到

12、当频率字fre_word送的数据线上后,然后使能,输出clk_out的频率就会相应改变2.2.2 时钟发生器为了得到较准确的SPW版。选取三角波的频率为为正弦波的16倍,且两者应该同步,所以设计了时钟发生器。详细程序见附录。时钟发生器由一个二进制计数器,比较器和触发器组成,触发器可以同步两时钟的相位。时钟发生器有时钟输入,复位,和三角时钟输出,正弦时钟输出。RTL原理图如图2.2.2.1。从RTL仿真可以看出,两者的上升沿是同步的RTL仿真如图2222图2.2.2.2时钟发生器RTL仿真2.2.3 地址发生器地址发生器由于产生LUT的地址。可以同步产生三角波LUT和正弦波LUT的地址。地址发生

13、器的地址宽度为8位,地址为线性递增。当达到最大值是从0重新开始。地址发生器主要由加法器组成。详细程序见附录。RTL原理图如图2.2.3.1.uJnmiTFO地址发生器有三角,正弦时钟输入,和三角,正弦地址输出,复位。图2.2.3.1.地址发生器RTL原理图图2.2.3.2地址发生器RTL仿真2.2.4 相位调节器器为了能够精确的控制输出SPW所以通过相位累加器精确调节正弦波的相位,从而控制spwiW相位。相位累加器用来实现输入地址和相位控制字的相加,从而改变正弦输入的相位。详细程序见附录。相位累加器有8位相位输入,相位字使能,复位。如果想正弦波后移,根据三角公式,当相位字超过周期的一半即可实现

14、相位的后移。原理图如图2.2.4.1图2.2.4.2相位累加器RTL仿真图2.2.4.1相位累加器RTL原理图从图中可以看出,当使能相位输入以后,输出地址(上方)相对输入(下方)有明显的超前。二nr-.,-.J,W2.2.5 LUTL两种波形LUT实际由RO邮成,ROMS据输入的地址输出相应的数据,即可完成查表操作。由于ROM勺mif文件计算比较麻烦,所以使用C语言编程,由计算机生产,程序见附录2.由于现今的FPGAtB带有足够的RAM所以ROM勺设计是用芯片本身的RAM改变而成。RTL原理图如图2.2.5.3aac7FB2SB&F总之5ee自日-9C4dl4dTanQIC自。日3口U

15、UDO£.C18aisOS-CBGODC-DZD5DTORera口口ODiEOezF*E5E7OMtiLEJECEE£FFIF2F4'a»:F5FVF&F9FAFBFBo道FGFOF口FEFEFEFEFCFFFLFtFEFEFEFDF£>口独FCFBFIBFA.F9F8F7F08F5F*FIFl<FEEEC.EBQM;LB匕ESE4EJ2EODODt*0B<3D19口丁D5DZDOCOCBcaC«C3ClBEDCC日07X360ADAA24蹙41争日口一口F3Q£G3<»«o

16、neo50,STn。5TQQQ4C4E3404t31Q口口口090g衽WC纱27OaO之令g去1IE1C14170aS1513121oOFODu口n口EkS07£MOSo*口学。寻口0QO1CM的fi-0口口sgUtOXndaoCWODb31OlOcS口m口3口口三07d台口daOh904QCaoCF1口1±13Odo13IT1。1A.HU1:EHI1»口u口iS2T3$2C3i加Qrf3S3D/口-43*石4&4BQf?)4E51&4&7SA&D8a3口咫33C6F737>7C部分mif文件值如下表。表2.2.5.2表2.2

17、.5.12.2.6 比较器比较器用来实现正弦数据和三角波数据的比较。当正弦波输入大于三角波输入,/&出1,其余输出0,。从而产生需要的SPWM6。比较器的比较操作有三角波时钟进行同步。详细程序见附录。IN27.0IN17,0CLK比较器有两个输入,一个输出,和时钟输入。RTL原理图如图2.2.6.1图2.2.6.1比较器原理图RTL仿真如图2.2.6.2图2.2.6.2比较器RTL仿真图中,当IN1>IN2时,输出Q即为1,。2.3 顶层设计为了直观的进行各信号之间的连接,顶层实体采用原理图符号的形式进行设计。先将个模块转换成符号文件,然后再顶层进行设计。顶层设计如图2.3.1图

18、2.3.1顶层设计顶层的RTL仿真如图2.3.2一.ni111jimiwiiiiHiiiiiIlirnii111innniiiimniik11iliim1111innnrFEk-pCKC-UJJ皿出#p图2.3.2顶层RTL仿真图中fre_word为00000011,pha_word为00000000。2.4 本章小结VHDL&B分的设计选择的工具是Altera的QuartusII13.0。软件可以根据FPGA设计的不同流程选择不同的工具和选择不同的设计文件。极大的方便了FPGA勺开发。RTL仿真部分采用的是MentorGrath的ModelSim。该软件时现如今比较成熟,仿真效果较好

19、的第三方VHDL真器。同时,由于现在开发需要的数据越来越来,如何熟练的使用C语言让计算机帮组计算也是非常重要的。由于本章主要是在RTL级进行设计,可能会与实际硬件有出入。所以下一章将进行硬件仿真。第3章FPGA®件调试3.1 硬件搭建硬件由两部分组成。波形生成器和制时序生成器。控制时序由MSP430片机生成。FPG阙用白是Alterat公司的CycloneII系列的EP2c5T144整个设计的实物连接如图3.1。图3.13.2 波形调试为了减小调试的复杂程度。对于正弦波和三角波两部信号使用的是Altera的片逻辑分析仪SignalTapIILogicalAnalyser。可以设置好时

20、钟和触发信号后将部信号通过JTAG上传给电脑显示出来。经过调试。示波器显示如图3.2.1图3.2.1示波器显示可以看出信号具有比较明显的SPW腑号特征。SignalTapIILogicalAnalyser部分析结果如下。图3.2为正弦波信号。由于器件部RAMt限,导致采样深度不够,无法显示出完整周期的信号。图3.2部正弦信号图3.3部三角波信号3.3 本章小结经过计算,理论SPW的的频率为22.3khz,实测为21.1khz,考虑硬件延迟和外部干扰。信号基本正确。由于没有进行信号调理,导致波形有明显的尖脉冲。同时由于器件限制,也未能获得完整的正弦信号。考虑这些因素,调试比较功。第4章总结此设计

21、从原理到实现,都以尽可能简单的方式来实现SPWM部地址线采用的是8位,而不是通过较高的32位最后进行总线转换而成。在分频环节,采用了前级分频的方法,而不是通过调节相位累加器,这样能尽可能保证比较数据的数量。获得较精确的波形。最后,通过比较简单的硬件,实现了SPWM此次设计最后比较成功。能够获得较好SPWMF号。但从中还是能看到此方法的不足之处。比如频率较低,频率计算麻烦。信号失真较大。从原理上,如果要获得平滑的正弦信号,必然需要增加LUT里的值,这样一来,就会降低输出频率,同时由于调频采用的是分频器原理,进一步降低了系统的频率。最后导致50M的时钟却只输出了20几k的频率。同时由于没有对输出信

22、号进行调整,导致波形并不完美。这可以通过后记得调理电路加以改善。最后,进过此次设计,可以看出还有很多可以改进的地方。比如原理实现,软件设计。硬件选择。所以,实现SPWMT法很多,在合适的地方用合适的方案才是最佳的选择,高精度不一定就是最合适的。参考文献1文爱.EDA技术与FPG知用.电子工业,2012:1-2002高迹象.大学生电子设计模拟设计部分.电子工业,2010:56-893毛惠丰.SPW姆效采样原理与实现.交通大学论文,2006:1-404MentorGraphCompany.ModelSimUserGuid,2010:100-1095Altera,QuartusII13.0userm

23、anual,2013:455-5006TICompany,MSP430x1xxuserguid,2010:56-797阎石,数字电子技术基础,高等教育出本社,2010:466-5008谭浩强,C程序设计,清华,2012:102-1209佚名,数字系统设计与VHDL电子工业,2010:10-2010文良化,计数器的设计,学院课程,2014:致在此次设计过程,有很多人给予了我力所能及的帮助。首先,是EDA旨导老师,文良话,在此次设计中,帮助我解决了很多自己想不通的问题,对设计中的缺陷用进行了纠正。帮助我完善了设计。在此深表感。其次是设计力合作的室友,有吴庆文,侯杰等。他们帮助我查找资料,完善设计等

24、。最后是实验室管理员老师。为此次设计提供了必要的调试场地和调试仪器。附录可调分频器VHDL弋码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityfre_adjisport(fre_word:instd_logic_vector(7downto0);fre_en:instd_logic;clk_in:instd_logic;clk_out:outstd_logic;rst:instd_logic);endentityfre_adj;arch

25、itecturearchi_freadjoffre_adjissignalfre_cnt:std_logic_vector(7downto0);signalfre_cnt_word:std_logic_vector(7downto0);signaltmp:std_logic;beginprocess(clk_in,fre_en,rst)beginifclk_in'eventandclk_in='1'thenifrst='0'thentmp<='1'fre_cnt<="00000000"elsiffre_en

26、='1'thenfre_cnt_word<=fre_word;elsefre_cnt<=fre_cnt+1;endif;iffre_cnt=fre_cnt_wordthentmp<=nottmp;fre_cnt<="00000000"endif;endif;endprocess;clk_out<=tmp;endarchitecturearchi_freadj;时钟发生器VHDL弋码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useie

27、ee.std_logic_arith.all;entityclock_genisport(clk:instd_logic;rst:instd_logic;Q_SIN:bufferstd_logic;Q_TRI:bufferstd_logic);endclock_gen;architecturearchiofclock_genissignalQ_SIN_CNT:std_logic_vector(3downto0);beginprocess(clk)beginifclk'eventandclk='1'thenifrst='0'thenQ_SIN<=&#

28、39;1'Q_SIN_CNT<="0000"Q_TRI<='1'elseQ_SIN_CNT<=Q_SIN_CNT+1;Q_TRI<=notQ_TRI;endif;ifQ_SIN_CNT="1111"thenQ_SIN<=notQ_SIN;endif;endif;endprocess;endarchitecturearchi;地址发生器VHDL弋码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.s

29、td_logic_arith.all;entityaddress_genisport(clk_sin:instd_logic;clk_tri:instd_logic;rst:instd_logic;out_sin:outstd_logic_vector(7downto0);out_tri:outstd_logic_vector(7downto0);endentityaddress_gen;architecturearchi_add_genofaddress_genissignalout_sin_tem:std_logic_vector(7downto0);signalout_tri_tem:s

30、td_logic_vector(7downto0);beginsin:process(clk_sin,rst)beginifclk_sin'eventandclk_sin='1'thenifrst='0'thenout_sin_tem<="00000000"elseout_sin_tem<=out_sin_tem+1;endif;endif;endprocesssin;tri:process(clk_tri,rst)beginifclk_tri'eventandclk_tri='1'thenifrs

31、t='0'thenout_tri_tem<="00000000"elseout_tri_tem<=out_tri_tem+1;endif;endif;endprocesstri;out_sin<=out_sin_tem;out_tri<=out_tri_tem;endarchitecturearchi_add_gen;相位累加器VHDL代码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;e

32、ntitypha_adjisport(pha_word:instd_logic_vector(7downto0);pha_en:instd_logic;clk:instd_logic;address_in:instd_logic_vector(7downto0);address_out:outstd_logic_vector(7downto0);rst:instd_logic);endentitypha_adj;architecturearchi_phaadjofpha_adjissignalpha_word_tmp:std_logic_vector(7downto0);beginprocess(rst,clk,pha_en)beginifclk'eventandclk='1'thenifrst='0'thenpha_word_tmp<="00000000"elsifpha_en='1'thenpha_word_tmp<=pha_word;elseaddress_out<=address_in+pha_word_tmp;endif;endif;endprocess;endarchitecturearchi_phaadj;比较器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论