首 页 行业热点 新车 试驾评测 养车用车 车型库
当前位置:首页基于FPGA的SPWM波形产生

基于FPGA的SPWM波形产生

2023-07-29 来源:好土汽车网
导读 基于FPGA的SPWM波形产生
基于SOPC的SPWM电路设计与实现

(天津工业大学)苏兰欣 王炜 张大鹏

来源:微计算机信息

摘要:介绍了一种基于SOPC的SPWM波形原理方法,阐明了应用SOPC的设计思想。叙述了应用该技术产生SPWM波以及对波形控制的实现过程。该方案具有载波比可调、精度高等优点,实验结果表明系统设计的有效性。

关键词:SPWM波形;SOPC; 载波比

1 引言

正弦波脉宽调制(SPWM)发生器的输出波形是与正弦波等效的等幅矩形脉冲序列波,本文介绍了一种基于Altera公司的QaurtusII软件和可编程片上系统SOPC(system on programmable chip,EP1C3T144C8芯片),采用查表的方法产生正弦调制波,然后与三角载波比较产生SPWM脉冲波。采用的硬件技术(SOPC),可靠性高、功耗低、保密性强,在电子产品设计中得到广泛的应用。本文设计的这种波形产生电路具有灵活好,可靠性高和在线可编程,调制度和载波比可调等优点,可在实际控制中广泛应用作为设计模块,输出不同载波比下的SPWM波。 2 SPWM产生原理

SPWM即正弦波脉宽调制,是把一个正弦波分成N个等幅而不等宽的方波脉冲,每一个方波的宽度与其所对应时刻的正弦波的值成正比,这样就产生了与正弦波等效的等幅矩形脉冲序列波。

从理论上讲,这一系列脉冲波形的宽度可以严格地用计算方法求得,作为控制逆变器中各个开关器件的通断的依据,但较为实用的办法是引用“调制”[1]这一概念,以期望的波形(在这里是正弦波)作为调制波,而受它调制的信号称为载波。在SPWM中常用等腰三角波

作为载波,因为等腰三角波是上下宽度线性对称变化的波形,当它与任何一个光滑的曲线相交时,在交点的时刻控制开关器件的通断,即可得到一组等幅而脉冲宽度正比于该曲线函数值的矩形脉冲,如图1所示。

3 SOPC简介

SOPC(System On Programmable Chip)[2]即可编程的片上系统,是基于大规模FPGA的单片系统。SOPC技术将尽可能大而完整的电子系统,包括嵌入式处理器系统、接口系统、硬件协处理器或加速器系统、DSP系统、数字通信系统、存储电路以及普通数字系统等在单一FPGA中实现,使得所涉及的电路在其规模、可靠性、体积、功耗、功能、性能指标、硬件升级等多方面实现最优化。

SOPC设计是以IP(Intellectual Property Core)为基础的,以硬件表述语言为主要设计手段,借助于以计算机为平台的EDA工具进行的。SOPC技术主要是指面向单片系统级专用集成电路设计的计算机技术,与传统的专用集成电路设计技术相比,具有设计全程、设计技术直接面向用户、系统级专用集成电路的实现有更多途径等特点。 4 基于SOPC的SPWM波形的实现

在通常数字系统中的,微处理器通过定时中断[3]服务程序产生SPWM脉冲,在每个载波周期必须进行中断处理,对处理速度要求较高,从而也限制了载波频率进一步的提高,同时微处理器的任务也更加繁重。本文采用Altera公司的EP1C3T144C8芯片开发了一种专用SPWM波形电路,微处理器只需在必要时改变PWM调制深度即可,其余工作全由SOPC完成,从而大大减轻了CPU的负担。

图1 正弦波脉宽调制波形

4.1 SPWM规则采样原理

三角波为载波,正弦波为调制波,设调制正弦波的幅值为Usm,三角载波的幅值为Utm,则调制度为M=Usm/Utm,改变M得知可以改变输出脉冲宽度,从而调节输出电压的大小。若Utm取值为1,则正弦调制波Us可用下式计算

Us=Msinw1t (1)

其中w1=2πf1,为正弦调制波的角频率。

由图1可知,各脉冲的宽度虽然不同,但是中心距是相同的,正好等于三角载波的周期。每个脉冲的前沿时刻和后沿时刻正好是对应的两个相应三角波的下降和上升直线与正弦曲线的交点时刻,如图2所示的A、B两点对应的时刻。而A、B两点坐标值不易求出,所以取三角波波谷对应的正弦函数值(E点)为基准值,求出A1、B1的坐标值,用A1、B1对应的时间值分别作为脉冲的上、下沿时刻,用这样的方法得到的SPWM波形存在一些误差,但只要三角载波频率足够高,误差将趋于零。

E点的纵坐标是 Msinwte (2) 根据三角形相似原理可得

T−t2

t

=

2

1+Msinwte

1−Msinwte

(3)

图2 正弦波脉宽调制规则采样

从而有

t

2

=

T

(1+Msinwte) 2

t

1

=

t

3

=

1

(T−T2) (4)

2

图中A点和B点之间的时间t2是逆变器功率开关器件导通工作的区间,称为脉冲时间;而其余的时间均为器件的关断工作区间,称为间隙时间,分别用t1和t3表示。 4.2 SPWM设计实现

SPWM波形产生的流程图 如图3所示。

clk 奇数 N 偶数 判奇偶奇分频 偶分频 载波发生器 正弦调制波发生器 比较器

输出SPWM 图3 SPWM波形实现流程图

正弦调制波的产生是通过查正弦函数表来完成的。在SOPC芯片内部开辟了一块ROM区域,将离散时间正弦波幅值存入其中。在需要时,按照相位与地址一一对应的关系从表中依次读出即可。将经分频后的时钟送入正弦调制波发生器,而载波发生器选用的时钟是原时钟,从而实现了N载波比。正弦波与载波送入数字比较器,直接比较可得到脉冲宽度调制波形。此方案简单,易于控制,而且载波比可调。

对上述流程图使用VHDL(硬件描述)语言编辑原始文件,创建模块,从而完成对SPWM的顶层文件设计,如图4所示。

图4 脉宽调制波形的顶层文件设计

实现奇分频的VHDL程序为: process (clk,enable) begin

if enable='0' then counter1<=0; clk_reg<='0';

elsif clk'event and clk='1' then if counter1=N-1 then counter1<=0; clk_reg<=not clk_reg; elsif counter1=(N-1)/2 then counter1<=counter1+1; clk_reg<=not clk_reg;

else

counter1<=counter1+1; end if; end if; end process; process (clk,enable) begin

if enable='0' then counter2<=0; clk_reg1<='0';

elsif clk'event and clk='0' then if counter2=N-1 then counter2<=0;

clk_reg1<=not clk_reg1; elsif counter2=(N-1)/2 then counter2<=counter2+1; clk_reg1<=not clk_reg1; else

counter2<=counter2+1; end if; end if; end process;

f1<=clk_reg or clk_reg1;

在QaurtusII软件中完成顶层文件的编译后,生成脉冲宽度的编程文件:pof文件和sof文件;并将编译产生的sof下载文件成功配置进SOPC中。图5是载波比等于8的时候利用嵌入式逻辑分析仪实时测试SPWM脉冲波形的情况,它的优点在于不需要D/A转换模块就能观测到模拟波形。从图中可以看到,波形稳定,精度高。 5 结束语

在SOPC系统中通过改变输入时钟的频率以及相应的载波比,实现对SPWM脉宽的控制,是电机调速系统控制方法的一种新的探索和尝试。本文提出了一种利用SOPC产生SPWM波形的方案,分析了实现方法以及相应的SPWM波发生框图。该电路通过系统可编程芯片实现,用硬件表述语言完成了整个功能模块的全部设计工作,使得电路更加可靠和稳定,为高载波SPWM波形的生成提供了一条快速实现的途径。

本文作者的创新点为:利用SOPC设计SPWM波形,方案更简单可靠,精度更高。

图5 SPWM输出波形

参考文献:

[1]潘松,黄继业,曾毓敏. SOPC技术实用教程. 北京:清华大学出版社,2005,11~43 [2]许强. 基于FPGA的三相PWM发生器[J]. 电子技术应用,2001,27(1):73~74 [3]张云波.基于PLC的电机转速实时监测系统.微计算机信息.2005,9:120-122

因篇幅问题不能全部显示,请点此查看更多更全内容