基于FPGA的自治型SPWM波形发生器的设计

上传人:ss****gk 文档编号:233987273 上传时间:2022-01-03 格式:DOC 页数:12 大小:164.50KB
返回 下载 相关 举报
基于FPGA的自治型SPWM波形发生器的设计_第1页
第1页 / 共12页
基于FPGA的自治型SPWM波形发生器的设计_第2页
第2页 / 共12页
基于FPGA的自治型SPWM波形发生器的设计_第3页
第3页 / 共12页
基于FPGA的自治型SPWM波形发生器的设计_第4页
第4页 / 共12页
基于FPGA的自治型SPWM波形发生器的设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《基于FPGA的自治型SPWM波形发生器的设计》由会员分享,可在线阅读,更多相关《基于FPGA的自治型SPWM波形发生器的设计(12页珍藏版)》请在金锄头文库上搜索。

1、基于FPGA的自治型SPWM波形发生器的设计正弦脉宽调制(SPWM)手艺在以电压源逆变电路为焦点的电力电子 装配中有着普遍的应用,若何发生SPWM脉冲序列及其实现手段是 PWM手艺的关头。操作模拟斗劲法,对三角载波与止弦调制波进行 斗劲,即可发牛:SPWM脉冲;操作数字算法和按吋逻辑,也可发生 SPWM脉冲5 o今朝已有多种微措置器芯片(如80C196MC、 TMS320F240等)口己集成稀有字化PWM发生电路3。模拟体例 简单直不美观,但与数字节制孀居口未便,难以知足复杂要求;数字 体例结构矫捷,尤正弦脉宽调制(SPWM)手艺在以电压源逆变电路为焦点的电力电 子装配中有着普遍的应用,若何发

2、生SPWM脉冲序列及其实现手段 是PWM手艺的关头。操作模拟斗劲法,对三角载波与止弦调制波进 彳亍斗劲,即可发生SPWM脉冲;操作数字算法和按时逻辑,也可发生 SPWM脉冲5 o今朝已有多种微措置器芯片(如80C196MC、 TMS320F240等)自己集成稀有字化PWM发生电路3。模拟体例 简单直不美观,但与数字节制孀居口未便,难以知足复杂耍求;数字 体例结构矫捷,尤其是微措置器内置了 PWM发生器的,使用加倍便 利。凡是状况下,微措置器经由过程按时刻断处事轨范发生SPWM 脉冲,在每个载波周期必需进行间断措置,对措置速度要求较高,年 夜而也限制了载波频率进一步的提高,同吋微措置器的措置使命

3、也 加倍繁重。文献1指出,微措置器中不确定的间断响应会导致PWM脉冲的相位股栗。FPGA以其靠得住性高、功耗低、保密性强等特点,在电子产物设计 中获得普遍的应用。文献15也阐述了 FPGA或CPLD在 PWM脉冲发生时刻的计较仍由微措置器来完成,现实上微措置器的 使命仍然繁重。作者针对静止抵偿器(STATCOM)对SPWM脉冲发生 器的特定要求,采用Altera公司的FLEX10K10芯片开发了一种专 用SPWM波形发生器,微措置器只需在需要时改变逆变器PWM调制深 度 即可,其余工作金由FPGA完成,年夜而年夜年夜减轻了 CPU的承 担。SPWM发生事理针对静止抵偿器的电路结构,要求SPWM

4、发生器可以发出三相六路 PWM脉冲旌旗灯号,脉冲宽度应按照微措置器输出的调制深度来调 节。SPWM脉冲发生体例采用三角载波与止弦调制波斗劲的传统体 例,可是三角载波、正弦调制波和斗劲逻辑等均采用基于FPGA的数 字化体例来实现。该SPWM发生器的内部逻辑结构。总线接口逻辑 单元首先级受来自微措置器的调制深度旌旗灯号并锁存,正弦调制 波发生电路在同步旌旗灯号浸染下年夜正弦函数表篡夺尺度正弦 旌旗灯号幅值,与调制深度相乘,得出止弦调制旌旗灯号幅值。三 角载波发牛电路在同步旌旗灯号浸染下,经由过程可逆计数器,发 出三角载波幅值。正弦调制波幅值与三角载波幅值进行斗劲,就可 以发生出SPWM脉冲旌旗灯号

5、。逻辑设计SPWM脉冲发生器由微措置器总线接口电路、三角载波发生电路、 正弦调制波发生电路、正弦函数表和斗劲节制电路等逻辑功能模块 组成。总线接口单元总线接口电路如图2所不的微措置孀居口电路部| J。其中DOD7 为数据总线,芯片选择旌旗灯号为CS,写旌旗灯号为WR,总线地址 选择旌旗灯号为A0A2。微措置孀居I I电路首要用于FPGA芯片领 受来自微措置器的调制深度旌旗灯号。三角载波发生器操作可逆计数器对系统时钟进行计数。计数器先执行加法,年夜0 计数到255,再执行减法计数年夜255到0,年夜而实现三角载波。 三角载波的峰峰值为255o正弦调制波发生器FPGA芯片只能综合一些简单的加、减、

6、乘、除等算术逻辑,要其实 现正弦函数的计较很是不经济,正弦调制波的发生经由过程查正弦 函数表来完成。在FPGA芯片内部斥地一块ROM区域,将离散时刻止 弦波幅值存入其中。在需要时,按摄影位与地址一一对应的关系年 夜表中依次读出即可。因为FPGA芯片的硬件资阅睽刚限,若何有用的操作资本成为很是 关头的一点。考虑到正弦的周期性与对称性,是以在ROM表中只需 存正弦函数frac 2周期的波形数据即可o在本设计中,一个正 弦波周期内共采样2048个点,相位分辩率为0. 176,而现实在ROM 表中只需存512个采样点,这样年夜年夜削减了芯片硬件资本的耗 损。正弦调制波幅值的调节PWM脉冲发生器必需按照

7、止弦调制波幅值的巨细来调整PWM脉冲的 宽度。在本设计中,因为三角载波峰值固定,正弦调制波幅值仅由调 制深度抉择。FPGA芯片经由过程总线接口年夜微措置寡领受到调 制深度 旌旗灯号,再操作乘法器对年夜正弦函数表中掏出的止弦 幅值进行调制深度加权调整。设调制深度为,当前时刻正弦幅值为 Sin_Data,操作下式得出止弦调制波幅值Data为:Data= ( *Sin Data) /255 取值规模01本设计采用双极性调制体例,而三角载波的取值规模为0255,其 中位线值为127,故现实发生的正弦调制波幅值按照下列公式进行 调整,其中Adjust为调整后的正弦调制波数据。Adjust =127 +

8、Data. 2 k Data(2k+1) k二0. 1. 2NAdjust =127 Data (2k+l) Data (2k+2) k=0. 1. 2N三相工弦旌旗灯号的发生针対静止抵偿器主电路,需要发牛出三个相位彼此互差120的SPWM 脉冲旌旗灯号。而经由过程一个正弦函数表来发出三相正弦旌旗灯 号,不仅需要考虑三个止弦旌旗灯号的肇端相位,而且需要三个可 逆计数器分袂來节制查找正弦函数表。例如,在本设计中发生三个 初相位为零,相位互差120的三相正弦旌旗灯号。如图3所示相 首先年夜止弦函数表的地址0起头累加读起,当读到地址90处,再 年夜地址90处累减读到地址0处,这样在A相可逆计数器的节

9、制 下,就可以获得周期为的单向半波正弦旌旗灯号;c相首先年夜正 弦函数表的地址60起头递减读起,当读到地址0处,再年夜地址0 处递增读到地址90处,然后年夜地址90处递减读到地址0处,这样 在C相可逆计数器的节制下,就可以获得周期为、初相位滞后A相 60的单向半波正弦旌旗灯号;同理相年夜正弦函数表的地址60 起头累加读起,在B相可逆计数器的节制下,就可以获得周期为、 初相位滞后C相60的单向半波正弦旌旗灯号。这样,经由过程-个 frac 2周期的正弦函数表,就可以发出三个相位互差60、周 期为的单向半波正弦旌旗灯号。然后,查出的数据经由正弦调制波 幅值调节,使输出的三个单向半波正弦幅值知足设计

10、的幅值调节要 求后,再与三角载波进行斗劲,就可以得出三个相位互差120的 SPWM脉冲旌旗灯号。因为三相工弦旌旗灯号的发生在整个系统设计中很是关头,下面给 出VHDL设计的首要轨范。process(elk)variable m :integer range 511 downto 0beginif elk event and elk二T then;发生 A 相地址if SAdir- 1 then;SAdir为A相可逆计数器的标识表记标帜位, 当为1计数器递增m:=l+melse m:=mT;当 SAdir = 0,计数器递减end ifA Address=m; A Address为A相对应查找内

11、部ROM表的地址值end ifend processprocess(elk)vari able m, n :i nteger range 511 downto 0beginif elk event and elk二T then;发生 C 相地址if SCdir二O then m:二m+1;else n:=n-l ;ni:=341+n; C相首先年夜60处起头递减发生查表地址end if:C Address=m;end process;process(cl k)variable m, n : integer range 511 downto 0 ;beg inif elk event and e

12、lk二T then;发生 B 相地址ifSBCdiT thenn:=n+l ;in:=341+n;保证B相首先年夜60处起头递增发生查表地址else m:=m-l;end if:B_ Address =m;end if;end process;process (Div elk, AA,BB,CC, input)beg inif Div elk event and Div elk二1 then ;Div elk 为 elk 的 分频时钟if AA二T then;AA为A相查表节制位,当为T时,年夜ROM中 取正弦值,q= A Address ; q为ROM表对应正弦值的地址进口A Data二*R

13、OM Data;为输入的调制深度,ROM_ Data为ROM止弦表 的正弦值PA=A Data (14 down to 8);除法运算,舍取最低8位实现elsif BB二,r,then;AA为A相查表节制位,当为 1时,年夜ROM 中取正弦值,q= B_ Address; PB=B_Data(14 down to 8) ; B Data= *R0M_Data; elsif CO r thenq= C_ Address ; PC=C_Data(14 downto 8) ; C_Data flagB和flagC为 三相正弦同步旌旗灯号,以保证三相六路数据严酷按彼此滞后120 的相位输出。输入调制频率为50Hz.调制深度为0. 25时的三相六路SPWM波形。 可以看到,输出的六路PWM旌旗灯号脉冲宽度有了较着的改变。 竣事语本文提出了一种操作FPGA发生PWM波的方案,并给出了具体的实现 体例以及响应的PWM波发牛:框图。该电路经由过程系统可编程芯片 实现,用硬件描述说话以及图形输入完成了整个功能模块的全数设 计工作,使得触发电路加倍靠得住和不变,为高载波SPWM波形牛成 供给了一条快速实现的路子。如不美观改变输入时钟的频率以及响 应的载波频率,以此电路为焦点,配合响应的外部呵护电路与其它 逻辑节制电路,完全可以应用于逆变系统中。参考文献:1许强,等.基于FPGA的三相PWM

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号