2.3 触发时间计算模块及PWM波产生模块的设计
在参考电压矢量的合成过程中,一个调制周期内除了基本矢量作用时间t1、t2外,其余时间应由零矢量进行补充,不同的零矢量添加方式将产生不同的效果。七段式SVPWM的通常以零矢量u0开始,并以其结束,以u7作为中间矢量,由于每段PWM波形被分为七段,零矢量的动作时间为 T0=T7=(Ts-t1-t2)/2。
使用HDL语言实现时,采用FPGA内部的逻辑资源做三个两输入端的比较器CMP1、CMP1、CMP3,做一个增减计数器counter。 Ta、Tb 和Tc分别作为三个比较器的一个输入,计数器的值作为比较器的另一个输入,从而比较的结果决定了PWM1、PWM3、PWM5的输出值。六个扇区中由于作用的矢量不同所以输出PWM的翻转时刻也不同。而在system generator的实现中,只需要将3个比较值同时与一个连续增、减计数的定时器进行比较即可。(连续增、减计数的定时器的system generator实现框图已经放在我的上一篇博文中。)
2.4 死区产生模块的设计
由于功率器件的关断具有延时,所以同一个桥臂的上下两个开关器件切换时要留有一定的死区时间,即在功率开关器件导通前要保证同一桥臂上的另一个开关管已经截止。开关死区的添加模式有很多种,这里采用单边不对称死区模式。
死区产生模块主要通过一个比较器和一个增减计数器来实现,在参考波形的上升沿使PWM_L的值为0,同时计数器开始往上计算,当计数器的当前值与死区时间Dtime相等时,置PWM_H的值为1,同时保持计数器的当前值;在参考波形的下降沿使PWM_H的值为0,同时计数器开始减计数,当计数器的当前值为零时,置PWM_L的值为1,同时保持计数器的值。这样只要输入一路参考波形,就可以输出同一桥臂上的两路PWM信号,在本论文的设计中参考波形为PWM产生模块输出的三路波形,即PWM1、PWM3和PWM5,而输出波形为功率器件的六路驱动脉冲,即PWM[6:1]。基于System Generator的实现中,没找到沿的模块,只好使用当前状态与前一状态比较来完成判断(不知道下一版本System Generator会不会给出?)
完成2.1-2.4的步骤后,给出整体实现框图,如图3所示。

在Simulink中仿真验证,然后在system generator中生产ISE工程文件;在ISE中打开工程,并综合、映射、布线,生产下载文件,整个界面如图4所示(含资源占用情况)。
|