2.2 DSP数据处理
当故障信号(包括IGBT过流,直流过压,无PWM信号等)上传到DSP 中时,DSP对故障位进行判断,封锁相应故障功率单元的PWM 信号,然后执行旁通程序,对每个功率单元按顺序进行扫描,对有故障的功率单元进行记忆,然后发出旁通命令及对应的旁通地址和相应数据。
2.3 地址信号编码和总线数据处理
地址信号分为旁通地址、同步地址、偏移地址,均通过ab[7..0]实现。旁通时A、B、C 三相分别对应一个地址。通过此地址DSP 向FPGA 发送旁通命令、同步数据及偏移数据。地址信号编码如图4 所示。
总线数据包括旁通命令位、同步数据量、偏移数据量,通过数据总线gcm_data[15..0]来接收,A、B、C 三相分别对应一个地址。在相应地址选通后,DSP 向FPGA 写数据,由FPGA 来保存这些数据,在数据用完后进行清零。如图4 所示,旁通输出数据为gcm_a_pt_ [15..0]、gcm_b_pt_[15..0]、gcm_c_pt_[15..0],同步和偏移输出数据信号为a_q[15..0]、b_q[15..0]、c_q[15..0]。

在FPGA 中用于查表的地址数据主要用于正弦波查表,改变此地址可生成不同频率的正弦波形。如图4 所示的ab[7..0]有效时,改变gcm_data[15..0] 的值可以产生不同的地址信号a_q[15..0]、b_q[15..0]、c_q[15..0],此三个地址信号用于正弦波查表的地址输入值。
2.4 频率合成器及乘法器的实现
在FPGA 中利用Altera 的quartusII 软件的图形化解决方案,应用Verilog HDL 语言编写子程序,如图5 所示,gcm_lpm_rom 为频率合成器程序图形。频率合成器包括一个11 位最高有效位(MSB)的地址表address [10..0],连接一个SINROM的查阅表(LUT)上,从而产生所需要的输出数据q[7..0]。利用ModelSim软件进行仿真,当地址有效后,输出相应的波形数据,波形如图6 所示。
如图5 所示幅值信号b[10..0]是由DSP 计算后,通过数据总线发送到FPGA 中,当地址选通后FPGA保存此数据,然后分别给A、B、C 三相,用于和频率值相乘。gcm_lpm_mult 为乘法器程序图形,乘法器输入信号包括一个8 位最高有效位(MSB)的乘数a[7..0]和一个11 位最高有效位(MSB)的被乘数b[10..0]及时钟信号,输出一个19 位最高有效位(MSB)的数据out[18..0]。利用ModelSim软件进行仿真,波形如图7 所示,当a 乘以b 后,输出相应的数据。例如乘数a=01,被乘数b=7ff,输出结果out=007ff。


2.5 三角波发生器及PWM 信号生成
高压变频器的变频变压(VVVF)控制方式主要是为了保证磁通不变,如果磁通增加,将导致铁心饱和,进而引起励磁电流的畸变,使电动机不能正常工作。VVVF控制主要采用正弦波脉宽调制(SPWM)方法实现,如图8 所示为单极性SPWM调制方式。

图8 中(a)为调制波和载波,(b)为单极性SPWM波形。(a)中的正弦调制波的周期决定于所需要的调频比,等腰三角波的载波的周期决定于载波频率,振幅不变。如图9所示,利用Altera 的quartusII 软件的图形化解决方案,应用VerilogHDL 语言编写子程序,gcm_sjpkzx 为三角波发生器,在ena 使能的状态下,输出数据先增加后减小,通过计数器计数实现数字量三角波的生成,利用ModelSim 软件进行仿真的波形如图10 所示。