基于SPWM的正弦波设计与实现,基于SPWM的正弦波设计与实现李

软件 1
刚,艾良 (长治学院山西长治046011) 摘要:PWM是D/A转换的一种方法,当PWM中的调制信号为正弦波时,得到的是SPWM波形。
采样控制理论中有 一个重要结论是冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。
SPWM法就是以该结论为理论 基础。
通过面积等效法确定SPWM的脉冲宽度,运用数学软件MAPI。
E进行运算,按照严格的时序控制输出波形。
采用
VHDI。
硬件描述语言进行设计实现并使用Max+PlusII进行仿真验证,得到一组随着脉宽变化的数字信号。
根据D/A转换 器原理,把SPWM波形转换成正弦波输出。
关键词:CPLD;VHDL;Max+PlusⅡ;面积等效法;时序;MAPLE 中圈分类号:TP39,TP312 文献标识码:B 文章缩号:1004—373X(2008)13—154一02 Design
andRealizationBasedontheSPWMSineWave LIGang,AILiang(,ChangzhiCollege.Changzhi.046011tChina) Abstract:PWMiSonemethodofD/Atransformation.WhenPWMmodulationsignaliSsinewave,SPWMwaveformiS obtained.Insamplingcontroltheory,thereisanimportanttheorythatitseffectisbasicsamewhenthepulsewiththeimpulse areequalbuttheshapeisdifferent.TheprincipleofSPWMtakestheconclusionastherationale.TheplusewidthofSPWMis determinedbymethodofequiralentareaitcarriesontheoperationus.ingmathematicssoftwareMAPLE,accordingtOstrictse— quentialcontroloutputwaveshape.UsingtheVHDLhardwaredescriptionlanguagetocarryonthedesigntorealizeanduse Max+PlusIItOcarryonthesimulationconfirmation,obtainingagroupdiaitalsignalalongwithpulsewidthchange.Accordingt0theD/Aswitchprinciple。
tOmaketheSPWMprofiletranformsintothesinewaveandthenoutput. Keywords:CPLD;VHDL,Max+Plusn,methodofequivalentarea;succession;MAPLE ‘ bPWM波的产生可用单片机、专用芯片和可编程逻辑器件等来实现,他是一组等幅、等距而不等宽的脉冲序列。
采用等效面积法生成的SPWM波形精度高,更接近正弦波,且谐波分量小,同时也对CPU的运算速度提出更高的要求。
1面积等效的SPWM控制算法 ‘ 利用正弦波小块面积S与脉冲面积』6『相等原则(如图1),将正弦波的正半周分为N等分,则每一等分的宽度为n/N弧度,利用面积等效法计算出半个周期内N个不同的脉宽值,脉宽产生的公式: 艿一M』》n毗 x=垒宇一T7t/N--每个SPWM面积等效的低电平的一半公式: 式中:M为调制度;N为载波比,即半个周期内的脉冲个数。
本文中M=1,W=1,N=33,M取值范围为1~ 牧精日期:2007—11一14154   33。
采用数学软件MAPLE编程算出各脉宽及低电平 时间长度,通过求脉宽与他的同周期低电平时间的和的 期望值来确定状态机的每个状态的计数周期。
程序 如下: 偎一S硝d 格1 足 易.v Ⅳ
一,; 卜占
一△厂’’ sinwtdt 图1SPWM面积等效算法 >forifrom1bv1whilei<34do’i’一il evalf(int(sin(x),x—pi*(i一1)/33..pi*i/33));evalf(abs((pi/33一evalf(int(sin(x),X—pi*(i一1)/33..pi*i/33)))/2));evalf(abs((pi/33一evalf(int(sin(x),x—pi*(i一1)/33..pi*i/33)))/2)+ahs((pi/33一evalf(int(sin(x),x=pi*i/33..pi*(i+1)/33)))/2))lod; 其中最后的低电平时间为最后低电平一半与第一个低电平的一半相加。
2正弦波设计与实现 2.1正弦波实现的构造图 SPWM产生器引脚输出信号,经过滤波后可以变成模 拟信号,但为了得到较高精度的输出,在滤波前先通过缓 冲器,使SPWM信号的振幅变化在要求的范围内。
图2正弦波实现的构造图 2.2
SPWM波形产生的时序 程序如下:+ libraryieee;useieee.std—logic一1164.all;useieee.std—logic—arith.all;entityspwmisport(clk,reset:instdlogic; spwmout:OUtstd—logic);endspwmIarchitectureartofspwmistypesis(st0,stl,st2,st3,st4,st5,st6,st7,st8,st9,stl0,stll,stl2,stl3,stl4,stl5,stl6,stl7,stl8,stl9,st20,st21,st22,st23,st24,st25,st26,st27,st28,st29,st30,st31,st32)lsignalstate:s;signalcnt:integerrange0to119lsignalrst,rstl:std—logic;signalspwmo:std—logic;beginprocess(elk,reset)beginif(clk’eventandelk=’1’)then if(reset一71’)thencnt<一0leisif(ent---.一119)thencnt<一0; elsecnt<一cnt+1;endiflendif:endprocess;process(state,elk)beginif(elk’eventandelk=’1’)thencasestateiswhenst0一>if(cnt<=3orcnt=119)then spwmo<一…1;elsespwmo<=…0;endif;if(cnt一119)thenstate<一stl:elsestate<=st0;endif:whenstl一>if(ent<一12orcnt—119)thenspwmo<一…1;elsespwmo<一…0;endifIif(cnt=119)thenstate<一st2lelsestated=stl;endif;whenst2=>if(cnt<一20orcnt=119)thenspwmo<=’I’;elsespwmo<一70’;endif|if(cnt=119)thenstate<=st3oelsestate<=st2;endif;whenst3一>if(cnt<一29orent—119)thenspwmo<一…1;elsespwmo<一’0’;endif;if(cnt=119)thenstate<兰st4lelsestate<=st3:endif:whenst4一>if(cnt<一38orcnt一119)thenspwmo<一’17;elsespwmo<一’07;endif;if(cnt=119)thenstate<一st5;elsestate<=st4;endif;whenst5=>if(cnt<=46orcnt一119)thenspwmo<一…1;elsespwmo<一…0lendif;if(cnt一119)thenstated—st6lelsestate<一st5;endif;   whenst6一>if(cnt<一53orcnt=119)thenspwmo<一’1’;elsespwmo<一’0’:endif;if(cnt=119)thenstate<一st7:elsestated—st6;endifl whenst7一>if(cnt<一60orent=119)thenspwmo<一’1’;elsespwmo<一…0;endifIif(cnt=119)thenstated=st8;elsestate<一st7;endif; whenst8一>if(cnt<一67orent一119)thenspwmo<=’I’;elsespwmo<一…0;endif;if(cnt一119)thenstate<一st9lelsestated—st8lendif; whenst9一>if(ent<一73orcnt一119)thenspwmo<一’17;elsespwmo<一…0;endif;if(cnt一119)thenstate<一stl0:elsestate<一st9;endif; whenstl0一>if(cnt<一78orcnt=119)thenspwmo<=’1’}elsespwmo<一…0;endif}if(cnt一119)thenstate<一stll;elsestated=stl0:endif: whenstll=>if(cnt<一83orcnt=119)thenspwmo<一’1’;elsespwmo<一…0;endif;if(cnt一119)thenstate<一stl2;elsestate<一stll;endif; whenstl2=>if(cnt<一86orcnt=119)thenspwmo<一’17:elsespwmo<=707;endif;if(cnt=119)thenstate<一stl3;elsestate<一stl2;endif; whenst32=>if(cnt<一3orcnt=119)thenspwmo<一’1’;elsespwmo<=’0’lendif;if(cnt一119)thenstate<一stO;elsestate<一st32;endif; whenothers=>spwmo<一…0;state<一stO; endcase#endif;spwmout<;spwmo;endprocess;endart} 波形仿真如图3所示。
Ⅲfj∞吨U』ffI{rij『H,ll-Uj。
LUl址U世“llj∥ifiUrfIlll删UuⅡJUlIljmf0玎:Ii’n1|mk心?k;js站mnk堪t≈j}地ii|ijjIijjjtl堪|tj}{kⅪ3ljnj¨’jlHjx讨j|嫩 图3仿真结果 3结语 VHDL是一种系统硬件描述能力强,能支持硬件 的设计、验证、综合和测试,多层次的硬件描述语言。
VHDL语言编程可以与工艺无关,设计、方法灵活,支 持广泛。
MAPLE软件具有强大的数值计算能力和高
效、实效的编程功能。
参考文献 [13蔡锁章.数学建模FM].北京:中国林业出版社,2003. [23谭会生,张昌凡.EDA技术及应用[M].西安:西安电子科技 大学出版社,2001. [33陈晓萍,王念春,马玉龙.基于PIC单片机的SPWM控制技
术[J].电源技术应用,2006,9(3):39—42. C4]丁新民.微机原理及其应用[M].北京:高等教育出版社,2001. Is]王彦.基于FPGA的工程设计与应用[M].西安:西安电子科技大学出版社,2007. 】55 基于SPWM的正弦波设计与实现 作者: 李刚,艾良,LIGang,AILiang 作者单位: 长治学院山西长治46011 刊名: 现代电子技术 英文刊名: MODERNELECTRONICSTECHNIQUE 年,卷(期): 2008,31(13) 被引用次数: 1次 参考文献(5条)
1.蔡锁章数学建模20032.谭会生.张昌凡EDA技术及应用20013.陈晓萍.王念春.马玉龙基于PIC单片机的SPWM控制技术2006(03)
4.丁新民微机原理及其应用20015.王彦基于FPGA的工程设计与应用2007 相似文献(10条)
1.期刊论文杜志传.郑建立.DuZhichuan.ZHENGJianli基于CPLD/FPGA的VHDL语言电路优化设计-现代电子技术 2010,33
(3) VHDL电路的优化目标是充分利用CPLD/FPGA芯片的内部资源,使设计文件能适配到一定规模的CPLD/FPGA芯片中,并提高系统的工作速度和降低系统成
本.分析VHDL语言的特点,并从设计思想、语句运用和描述方法等方面对电路进行优化,提出了利用串行化设计思想和外扩E2PROM的方法对VHDL电路进行优化,通过对比实验,验证了这两种方法能有效减少程序占用的宏单元(MacroCell).
2.期刊论文赵春晖.刘会.梁刚键.ZHAOChun-hui.LIUHui.LIANGGang-jian基于CPLD和VHDL的一种线阵CCD驱动 时序电路的设计与实现-应用科技2005,32(11) CCD作为一种应用广泛的新型半导体光电器件,驱动时序电路的实现是其应用的关键问题.运用VHDL硬件描述语言,结合复杂可编程逻辑器件CPLD,完成了对CCD的驱动时序电路的设计,给出了部分VHDL语言源代码.利用MAX+plusⅡ软件实现了时序仿真,讨论了VHDL语言设计中的一些问题.
3.期刊论文侯继红基于CPLD/VHDL语言的红外遥控解码器设计-通信技术2010,43
(7) 为了实现用CPLD器件解码红外遥控信号.在分析CX6122芯片红外遥控编码原理基础上,提出用VHDL语言有限状态机设计红外遥控解码电路.用延时电路和状态机S1、S2、S3检测红外接收器输出的电平信号来识别遥控引导码,用S4、S5判断遥控脉冲位置调制方式(PPM)编码的0.56ms脉宽的开始和结束,在S6下延时0.84ms,再经S7判断输入电平的状态解出二进制码,然后状态机进入数据移位和输出状态.该电路在EPM3128ATC100器件验证通过,解码准确,稳定性好.
4.期刊论文刘文杰.LIUWen-jie用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项-苏州大学学报(工科版 )2005,25
(4) 根据FPGA和CPLD器件的结构特点,提出了利用VHDL硬件描述语言对FPGA和CPLD器件进行开发时应注意的事项和一些经验技巧,供广大电子设计师参考.
5.期刊论文
刘仁伟.郑坚.马春庭.那荣智.LIURENWEI.ZHENGJIAN.MACHUNTING.NARONGZHI基于CPLD和VHDL的
种线阵CCD驱动电路的设计-微计算机信息2007,23(23) 本文介绍了线阵CCD的工作原理和结构,运用VHDL硬件描述语言,结合复杂可编程逻辑器件CPLD,完成了对线阵CCDT1702C的驱动时序电路的设计,给出了部分VHDL语言代码,利用QuartusII软件实现了时序仿真.
6.期刊论文张凌VHDL语言在FPGA/CPLD开发中的应用-电子工程师2002,28
(4) 通过设计实例详细介绍了用VHDL(VHSICHardwareDescriptionLanguage)语言开发FPGA/CPLD的方法,以及与电路图输入和其它HDL语言相比,使用VHDL语言的优越性.
7.学位论文杨雪岩基于VHDL的CPLD应用技术研究及其在智能交通子系统中的应用2003 该文首先介绍了电子设计自动化(EDA)技术的发展历程、现状和前景,并就课题的研究方向做了有关论述;进一步研究了EDA技术的发展对电路设计方法的影响,深入探讨了用VHDL语言和复杂系统可编程逻辑器件(CPLD)开发"片上系统"(SOC)的基本方法,作为应用对象,进一步研制、开发了交通信号自动控制系统.交通信号自动控制系统作为整个城市智能交通控制系统的底层子系统,它的研制成功便于对整个城市交通实现智能控制.在城市智能交通控制系统中,由控制室主机根据现场采集的数据,向各路口的交通信号自动控制系统发出控制信息,各交通信号自动控制系统再根据接收到的控制信息对各路口实施具体控制.基于VHDL语言、应用CPLD开发的交通信号自动控制系统,采用了"片上系统(SOC)"的设计方法,系统的顶层设计和底层设计全部采用VHDL语言进行,选用当前最流行的EDA软件MAXPLUSⅡ作为开发平台,所有程序全部通过了该平台的编译和功能仿真实验,给出了实际的仿真波形,最后,对设计调试过程中出现的问题进行了分析、研究、解决,通过归纳总结提出了若干与书本上不同的见解.
8.期刊论文高志文.张记龙用VHDL和CPLD的电路简化方法的研究-华北工学院测试技术学报2001,15
(4) 目的使用VHDL降低目标电路的资源占用率和优化电路结构.方法分析用VHDL和CPLD设计中容易引起电路复杂化的原因,并提出了相应的解决方法.结果与结论得到简化电路的一些有效的技巧与方法.
9.期刊论文文畅.WENChang基于FPGA/CPLD和VHDL语言的交通灯控制系统设计-电脑知识与技术(学术交流) 2007,1
(6) 用VHDL语言设计交通灯控制系统,并在MAX+PLUSⅡ系统对FPGA/CPLD芯片进行下载,由于生成的是集成化的数字电路,没有传统设计中的接线问题,所 以故障率低、可靠性高,而且体积小.体现了EDA技术在数字电路设计中的优越性. 10.期刊论文
李新红.李凤华.丛文.LIXin-hong.LIFeng-hua.CONGWen基于CPLD组合逻辑电路的VHDL实现-北京电子科技学院学报2006,14
(4) 本文介绍了基于CPLD组合逻辑电路的VHDL设计思想,并结合嵌入式教学系统的译码和I/O控制电路的具体应用,做了较为详细的例证,其中包含部分代码. 引证文献(1条)
1.黄云.杨尊先基于FPGA的SPWM变频系统设计[期刊论文]-现代电子技术2010
(1) 本文链接:/Periodical_xddzjs200813049.aspx授权使用:东北师范大学图书馆(dbsdt),授权号:7b07dbb8-1651-4bb4-94b5-9df000763b7a 下载时间:2010年9月13日

标签: #软件 #鼠标 #caj #cu #牌子 #cmc #相机 #牌子