- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于Nios II处理器的SVPWM IP Core设计
摘要 为降低FPGA实现3电平SVPWM算法的复杂性,减小SVPWM模块所占用的资源,文中利用正弦函数和余弦函数的关系,采用小容量ROM提出了一种新的SVPWM控制算法。利用Verilog HDL实现了算法的硬件设计,并封装成IP核以方便设计复用,在Altera公司的DE2开发板上进行了设计验证,体现了SOPC嵌入式系统的灵活性和扩展性。
关键词 有源逆变;SVPWM;IP Core;SOPC
电压空间矢量脉冲宽度调制(SVPWM)具有谐波小、直流电压利用率高等特点,因而广泛应用于具有高效、节能特性的有源逆变中。由于SVPWM物理概念清晰、控制算法简单、数字化实现方便。因此通常用微控制器(MCU)或数字信号处理器(DSP)实现,使用MCU实现具有较大的灵活性,但速度受到一定限制;使用DSP实现虽可以提高开关频率,但两者都有开发时间相对较长、CPU占用率高的缺点。文中提出了一种基于FPGA的SVPWM硬件实现方案,文中方案与其他硬件设计方案相比电路结构简单、占用FPGA资源少、便于和MCU/DSP接口。由于采用基于FPGA的硬件电路设计,因此大大降低了对MCU/DSP速度的要求,同时减小了编程工作量。
1 SVPWM基本原理
1.1 参考电压矢量的合成
三相逆变桥电路如图1所示,其中6个开关管受3组互补脉冲控制,总共有8种可能的开关组合,对应于8种基本空间电压矢量
V7=V8=0 (2)
其中6种是非零基本空间电压矢量,另外2种是零空间电压矢量。当逆变器单独输出6种基本电压空间矢量时,电动机定子磁链矢量矢端的运动轨迹就是一个正六边形,如图2中实线所示。采用8个基本电压矢量实现目标电压矢量的合成,即在一个开关周期内通过对基本电压矢量进行组合,使其平均值与给定电压矢量相等。具体而言,某区域中的电压矢量可由组成这个区域的2个相邻的非零矢量及零矢量的不同作用时间来合成。矢量的作用时间可以一次施加,也可以在一个采样周期内分多次施加,通过控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,如图2中虚线所示,从而使磁通逼近基准磁链圆,产生恒定的电磁转矩。
[p]
以区间1中的电压矢量Vref为例,可将其分解为矢量和之Va和Vb,这2个电压矢量分别是电压矢量V1和V2在时间间隔T中有效作用时间ta、tb的等效电压矢量
为降低转换频率,零电压矢量也用于矢量合成,零矢量作用时间为t0。即PWM周期TPWM等于ta、tb、t0之和
以上讨论的是Vref在区间1中的情况,其中θ是Vref与该区间中那个滞后电压矢量的夹角,对其他区间除了用于合成Vref的2个基本电压矢量不同外,分析计算过程完全相同,滞后、超前的2个电压矢量作用的时间亦分别由式(7)和式(6)给出。
1.2 七段式电压空间矢量PWM波形
矢量的作用效果与其持续时间有关,为使磁链运动平滑,可以将各矢量分2次产生,为减少开关次数以降低开关损耗,每次仅改变三相逆变桥中一个桥臂的控制信号,由此得到各扇区桥臂开关切换顺序,如表1所示,区间1相应的桥臂控制信号时序如图3所示,考虑到开关切换顺序之后,图3中t0’=(TPWM/2-t1-t2)/2,T0’=t0/4,对奇数区间t1=ta/2,t2=tb/2;对偶数区间t1=tb/2,t2=ta/2。
[p]
2 SVPWM IP Core设计
SVPWM IP Core结构框图如图4所示。整个系统由总线接口、PWM可逆计数、分频、ROM地址生成、正弦值存储、时序控制、乘法器及死区发生器等模块构成。
(1)寄存器组。
寄存器组提供了该IP Core与CPU交换信息的通道。当采用NiosII作为微控制器时,用户可以通过Avalon总线采用基地址+偏移量的方式访问IP Core内部的6个寄存器,如表2所示。
[p]
(2)Avalon接口设计。
Avalon接口为SVPWM IP Core提供了一个标准的Avalon从端口,通过此接口按照Avalon从端口的传输协议对IP Core进行控制,相关的Avalon接口信息如表3所示。
(3)乘法因子计算模块。
这里的乘法因子是指式(6)和式(7)中的方括号内运算的结果。本模块根据外部A/D转换的结果、设定的TPWM及预期的参考电压矢量的数值,计算出式(6),式(7)的方括号内的结果,用于乘法模块中对ta和tb的计算。
(4)数据存储模块。
sinθ及sin(π/3-θ)在扩大255倍后,分别作为高8位和低8位存储在容量为128×16 bit的ROM中,从而可以同时读取分别用于式(6)中tb和式(7)中ta的计算。时序控制ROM的容量为32×3 bit,存储表1中的开关时序,其高3位地址用于对6个扇区编码,最低2位地址用于某区间内的时序控制,由于在同一区间中采用升降计数,根据表1中桥臂开关切换的对称性可知,只要两位地址即可存储时序控制信号。
(5)数据选择器。
当0≤θ<π/6时,利用正弦值存储模块输出数据的高8位计算tb,利用低8位计算ta;而当θ值为π/6≤θ<π/3时,则应该利用低8位计算tb,利用高8位计算ta。通过数据选择器实现高、低8位的交换。
(6)时序控制模块及IGBT时序控制ROM。
时序控制模块根据当前所处的扇区、ta、tb及当前PWM的计数值生成IGBT时序控制ROM的地址。IGBT时序控制ROM中存储的是桥臂开关控制的时序,根据时序控制模块输出的地址,将存储在ROM中的开关控制量读出后送至死区发生器模块。
(7)死区发生器模块。
死区发生器模块用于将桥臂上部IGBT管的3个时序控制信号,变为用户设定死区时间的3组信号,对6个IGBT管进行控制,死区时间在0~6.3μs之间设置,步进值0.1μs。死区发生器仿真结果如图5所示,输入信号为pulse_in,输出信号为pulse_a和pulse_b,死区时间设置为0.4μs。
3 设计验证
各模块设计完成后,用原理图方式完成系统设计如图4所示,在SOPC Builder中将之作为自定义组件添加到系统中生成IP Core。设计验证在Altera公司的DE2开发板上进行,将该IP Core添加到SOPC工程中,编译、下载到FPGA芯片中,运行测试程序后,利用SignalTapII Logic AnMyer捕捉到桥臂上方3个IGBT管的控制信号如图6所示。图中的sector是为方便测试而引出的扇区编号信号,由图可知设计正确。
4 结束语
设计了一个结构简单、性能良好的SVPWM IP核,并在Nios II平台下将其封装成一个模块化的独立元件,使之易于在其他的工程中复用,利用该IP核可以方便地构建基于Nios II嵌入式处理器的SVPWM控制系统,体现了SOPC嵌入式系统的灵活性和扩展性。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...
上一篇:浅谈事务管理器的事务恢复处理方案
下一篇:基于新型光纤智能结构的健康监控系统设计