您的位置 首页 5G

根据FPGA的三相PWM发生器

介绍了基于FPGA设计的三相PWM发生器。该发生器具有灵活和可编程等优点,可应用于交流电机驱动用的三相电压源逆变器。实验结果验证了本设计的有效性。

跟着现代工业的要求和微电子技能的前进,沟通传动现已迅速地从模仿操控转向数字操控,其间PWM技能与办法是其核心内容。但数字化PWM电路一直是规划中的难点,除了集成三相PWM发生器的80C196MC、TMS320F240等微处理器外,均选用中小规划集成电路规划三相PWM,这是十分杂乱的,往往使电路杂乱、可靠性差。本文介绍了一种用单片大规划FPGA完成的三相PWM发生器,它具有三相脉冲中心对称、PWM周期和死区时刻可编程等特色,且功能优异、灵活性和可靠性高。

1 基本原理

  本规划的意图是发生三相逆变器的PWM信号波形。图1是用FPGA完成的PWM部分规划框图,它主要由脉宽寄存器、缓冲寄存器、周期寄存器、死区寄存器、死区发生器、数值比较器、操控逻辑等几部分构成。脉宽寄存器,决议三相PWM信号的脉宽;缓冲寄存器,完成对脉宽数据的双缓冲;周期寄存器,决议PWM的斩波周期;死区寄存器,决议上下桥臂的死区时刻。脉宽寄存器在每个开关周期中由微处理器更新一次,其输出数据经缓冲今后与基准计数器进行数值比较,得到三相PWM信号PA、PB、PC。再经过死区电路处理,终究发生6个中心对称的PWM驱动信号,驱动三相逆变器的6个功率器材。PWM算法可选用SPWM(正弦PWM)或许SVPWM(空间矢量PWM)。

FPGA中的基准计数器,用来发生相似模仿电路中的三角波基准,是一个最小计数值为0、最大计数值为周期寄存器中保存的数值、计数方向替换改变的可逆计数器。基准计数器单元在最大计数值时发生一个同步信号SYN,当它有用时将三个脉宽寄存器的数据存入各自的缓冲寄存器,完成双缓冲,使三个脉宽寄存器在SYN无效时可顺次由微处理器更新而不影响终究的三相同步联系。一起基准计数器单元发生一个方向信号DIR,可作为微处理器的外部中止源(边际触发方法),在PWM开关周期的起始点发生中止。

  微处理器软件规划较简略,在初始化阶段设置好周期寄存器、死区寄存器,今后只需在PWM中止服务程序中将计算好的三相脉宽数据别离送到各自的脉宽寄存器,然后退出中止服务程序,等候操控器在SYN脉冲操控下将三个脉宽寄存器的数据锁存到各自的缓冲寄存器中。鄙人一个PWM周期中输出相应的脉冲,一起中止被触发,便开端了下一个PWM中止服务程序。程序要求PWM中止服务程序运转时刻小于PWM周期,由此决议了PWM最高运转频率。图2为PWM波形图。

2 内部规划

  以A相为例,基准计数器由加减计数器构成。加计数和减计数替换履行,计数周期由周期寄存器决议,DIR指示计数方向,同步信号SYN用来加载A相缓冲器。PA是缓冲器与基准计数器的数值比较成果,死区发生器由死区计数器和一些组合逻辑组成,使同相的上下桥臂驱动信号错开一个死区时刻,避免功率器材短路。死区时刻由死区寄存器决议,终究输出A相上下桥臂驱动信号AH和AL。

  死区计数器选用饱满计数器,饱满计数器的特性相似于%&&&&&%的充放电进程,规则为:

  (1)当输入为0时,假如计数值等于0,则计数值坚持不变,不然作减1计数;

  (2)当输入为1时,假如计数值等于max,则计数值坚持不变,不然作加1计数;

  (3)当输入为1且死区计数器数值为max时,

  AL=0,AH=1,上桥臂导通;

  (4)当输入为0且死区计数器数值为0时,AL=1,AH=0,下桥臂导通;

  (5)当死区计数器数值在0~max之间时,AL=0,

  AH=0,上下桥臂都截止,构成死区。

其间,max等于死区寄存器的数值。

周期寄存器和脉宽寄存器为14位,死区寄存器为8位,在20MHz时钟下,开关频率为610Hz~10MHz, 死区时刻为0~12.8μs,脉冲分辨率为50ns。

FPGA选用VHDL硬件描绘言语进行规划,下面给出死区发生器的VHDL规划:

entity dead is

port(clk,px:in std_logic;

xh,xl:out std_logic;

dead_time:in std_logic_vector(7 downto 0);

q:inout std_logic_vector(7 downto 0));

end dead;

architecture dead of dead is

  begin

  process(clk)

  begin

  if (clk'EVENT and clk=′1′) then

if ((px=′1′) and (q/=dead_time)) then

q=q+1;

  elsif ((px=′0′) and (q/=″00000000″)) then

  q=q-1;

end if;

if ((px=′1′) and (q=dead_time)) then

xh=′1′;

else

xh=′0′;

end if;

if ((px=′0′) and (q=″00000000″)) then

xl=′1′;

else

xl=′0′;

end if;

end if;

end process;

end dead;

3 实验与定论

  FPGA选用ACTEL公司反熔丝工艺的42MX16, 使用在所研发的沟通主轴驱动器中,图3是其6个基极驱动信号波形。在实践使用中,除PWM外,在同一片FPGA中还规划了光电编码器计数单元、输入脉冲计数器、I/O接口、维护电路、译码器等悉数外围数字逻辑电路,它与DSP、A/D芯片和接口电路构成十分简练的沟通电机驱动器的操控部分。选用FGPA构成三相PWM发生器的计划,具有低成本、高灵活性、高集成度、高可靠性等长处。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/196077.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部