基于DSP和规则采样法的三相SPWM波形发生器的实现--嵌入式技术网

来源:百度文库 编辑:神马文学网 时间:2024/04/28 05:45:33
基于DSP和规则采样法的三相SPWM波形发生器的实现   作者:张治 温斌 吴善培   来源:本站原创    点击数:1431   更新时间:2006-3-30 您可以添加到网摘 让更多人关注此文章:

    关键词 :DSP;SPWM波形;规则采样法
摘 要:本文利用TMS320LF2407芯片内部自带的事件管理器模块中的比较单元,通过规则采样SPWM算法来输出高精度的三相SPWM波形。电路简单,编程方便,SPWM波形的质量和可靠性好,并且输出波形的频率可变,能很好地满足变频调速系统的要求,具有一定的实用价值。

随着微电子与计算机技术的迅速发展,DSP作为一门新兴的高科技技术迅速发展起来,它广泛地用于通信、雷达、信息加电、互联网、工业控制等各个领域。
在中小功率的三相逆变器中,脉宽调制(PWM)控制技术已经获得了广泛应用。PWM的实现方法也多种多样,有模拟电路方法、数字电路方法和软件计算方法等。为了提高PWM的输出质量和可靠性,一些模拟电路或数字电路的PWM都是通过专用集成电路芯片来实现,如EF4752、SA8282等,然而这些芯片价格较高。本文提供一种利用美国德州仪器公司的产品TMS320LF2407内部自带的事件管理器模块中的比较单元,通过规则采样SPWM算法来输出高精度的三相SPWM波形的方法。
1 SPWM控制的基本原理
在采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上,其效果基本相同。这一结论是SPWM控制的重要理论基础。如图1 (a)所示,将正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都为π/N,但幅值不等,且脉冲的顶部为曲线,个脉冲的幅值按正弦顾虑变化。如果将上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列来代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积相等,就有图1(b)所示的脉冲序列。像这种脉冲的宽度按正弦规律变化而和正弦波等效的波形,即为SPWM波形。因此,为了得到正弦波,需要输出一系列幅值相等而宽度不等的矩形波。采用三角波作为载波的规则采样法,可以得到这些矩形波的宽度,如图2所示。每个脉冲的中点都以相应的三角波的中点相对称,在三角波的负峰时刻tD对正弦调制波采样而得到D点,过D点作一水平直线和三角波分别交于A点和B点,在A点的时刻tA 和B点的时刻tB控制功率器件的通断。


图1 PWM控制基本原理示意图 图2 采样三角波载波的规则采样法
2 用TMS320LF2407生成SPWM波形的方法
本文以TMS320LF2407内部自带的事件管理器模块B(以下简称EVB)中的通用定时器3及与之相关的比较单元为例来说明SPWM波形的生成方法。
EVB中的定时器3都有3个与之相关的比较单元,它们分别是比较单元4、比较单元5和比较单元6,每个比较单元又都有一个相应的比较寄存器,它们分别是 CMPR4、CMPR5和CMPR6。每个比较单元有两个极性相反的PWM输出。因此利用TMS320LF2407的事件管理器模块可实现对三相桥式逆变电路的PWM控制。在周期寄存器T3PR的值一定的情况下,通过改变比较寄存器的值就可以改变输出矩形脉冲的宽度。
根据前面得到的占空比的表达式,再利用通用定时器比较单元的PWM特性,可以很容易的得到产生SPWM的方法。具体步骤为:
① 根据载波频率和信号频率计算出每个周期需要输出的矩形波的个数,从而确定定时器的周
期;
② 根据占空比表达式计算出每个矩形脉冲的占空比,用占空比乘以周期寄存器的值,从而计算
出比较寄存器的值,并使脉冲个数指针加1;
③ 在周期中断子程序中将计算所得、的比较寄存器的值送到比较寄存器,并置相应标志位;
④ 主程序根据标志位来判断是否已完成一个周期的操作,如果标志位已置1,则清标志位,调
计算占空比子程序,然后进入等待状态,如果标志位未被置1,则直接进入等待状态。
3编程简介
由于该方法用到了通用定时器3的周期中断,在对TMS320LF2407进行初始化时,正确的将定时器3的周期中断打开非常重要,否则程序将不能正确运行。正确步骤如下:
① 禁止全局中断使能,之后打开一级中断INT2,再打开INT2下面的定时器3的周期中断;
② 对定时器3的计数寄存器T3CNT、周期寄存器T3PR,以及比较单元4的比较寄存器CMPR4进
行初始化,再分别对定时器3和比较单元4的控制寄存器进行初始化;
③ 启动定时器,再使能全局中断。
部分原程序如下:
主程序
_c_int0:
CALL SYSINIT ;调系统初始化子程序
CALL PWM_INIT ;调PWM初始化子程序
LDP #5
SPLK #2710H,FCL ;载波频率
SPLK #0,FCH
SPLK #032H,FRL ;信号频率
SPLK #0,FRH
SPLK #3E8H,AL ;调谐度AL=A*1000
SPLK #0,AH
SPLK #0,I ;I=0
SPLK #1,DFLAG
CALL JISUAN
LOOP: LDP #5
BIT DFLAG,BIT0
BCND LOOP,NTC
LACL DFLAG
AND #0FFFEH
SACL DFLAG
CALL DATIO
B LOOP
定时器3中断程序
GISR2: SST #0,ST0_CON1 ;保存状态寄存器
SST #1,ST1_CON1
LDP #0E0h ;DP指针指向 PIVR 所在的数据区
LACC PIVR,1 ;读 EVIVRB, 结果左移一位
ADD #PVECTORS ;加上偏移量
BACC
T3GP_ISR:LDP #5
LACC DFLAG
OR #1 ;设置DFLAG.15=1
SACL DFLAG
LACL DATIOL
LDP #DP_EVB
SACL CMPR4 ;更新比较寄存器的值
ADD #32H
SACL CMPR5
ADD #32H
SACL CMPR6
LDP #0
LST #1,ST1_CON1
LST #0,ST0_CON1
LDP #DP_EVB
SPLK #0FFFFH,EVBIFRA
CLRC INTM
RET
END
4结束语
调试结果表明,用上述方法在TMS320LF2407的事件管理器模块上输出的方波,经过一个低通滤波器滤波之后能得到波形很好的正弦波。如果要改变输出正弦波的频率,只需改变定时器的周期寄存器即可。用本文提供的方法生成SPWM波形,电路简单、编程方便发,且SPWM波形的质量和可靠性都很好,并且输出波形的频率可变,能很好地满足变频调速系统的要求,具有一定的实用价值。
[参考文献]
[1] 李刚.数字信号微处理器的原理极其开发应用[M].天津:天津大学出版社,2000.1
[2] 张雄伟.DSP芯片的原理与开发应用(第2版)[M].北京:电子工业出版社,2000.9