近年来,DSP在SVPWM(空间矢量脉宽调制)控制领域得到了广泛应用。
但是使用DSP单核心的控制方法仍然存在一些缺陷:基于软件的:DSP在实现SVPWM触发信号时需要较长的时钟周期;微处理器中不确定的中断响应会导致PWM脉冲的相位抖动。针对以上问题,本文提出了一种利用FPGA实现的SVPWM信号发生器,系统结构如图1所示。作为DSP的外围接口电路,该信号发生器能够屏蔽DSP内部错误中断对输入时间信号的影响,保证输出完整的SVPWM触发信号波形,其三相并行处理结构还能够有效提升系统的动态响应速度。
SVPWM简介
SVPWM的主要思想在于利用逆变器空间电压矢量的切换合成参考电压矢量。具体方法如下:在桥式电路中,同一桥臂上两个开关的工作状态在任意时刻都是互补的,所以可以用二值逻辑函数表示6个 开关的工作状态:
由式1可见,3组开关的工作状态共有23=8种,不同的开关工作状态对应着不同的三相输出电压。这8种工作状态分别对应着8条基本空间电压矢量,任意区域内的空间电压参考矢量都可以由2条非零矢量以及2条零矢量合成。在进行电压矢量合成时,规定每一次开关动作只能有一相桥臂的工作状态发生转换,目的是为了降低电路中的谐波含量,确定基本电压矢量的切换顺序。
SVPWM信号发生器的设计
基本原理
图1中DSP采集逆变器交流侧输出电压值,并通过计算得到桥式电路开关的状态保持时间。SVPWM信号发生器将DSP的输入时间信号转换为开关触发信号,在结构上可以分为数据锁存器和有限状态机两个模块,其顶层文件原理图如图2所示。
在状态机的一个工作周期内,输入时间信号的突变会使状态机的工作状态发生不规则跳变,对输出信号造成巨大影响,无法得到所需要的SVPWM 触发信号。因此,图2中LATCH锁存器模块的作用就是锁存输入时间数据TIME1_A、TIME0_A、TIME1_B、TIME0_B、TIME1_C 、TIME0_C,直至状态机的当前工作周期结束(即"ORDER"命令有效),从而避免外界对状态机工作状态的影响,保证状态机按照输入时间数据要求完成工作状态的转换。
利用有限状态机的方法设计FPGA,只须控制三相桥臂开关状态的保持时间,就可以实现SVPWM 触发信号。图2中FSMS主要由1个基准计数器和3个比较器构成,输入时间数据预存在3个比较器内,通过比较基准计数器当前值和比较器中的预存数据控制FSMS工作状态的转换, 同时根据不同的比较结果生成不同的三相桥臂开关驱动信号。如果基准计数器当前值等于预存输入时间,说明状态机当前工作状态已经完成,要转入下一个工作状态,相应的触发信号也要改变;如果基准计数器当前值不等于预存输入时间,说明状态机当前工作状态尚未完成,需要继续保持当前工作状态,相应的触发信号也保持不变。状态机按照输入时间信号的要求转换自身工作状态,使触发信号产生相应变化,从而实现时间信号向SVPWM 触发信号的转变。另外,由于FSMS内部比较器参照同一基准计数器,因此三相触发信号之间不存在时间延迟,得到的是并行的三相触发信号。
设计方法
本设计采用自顶向下、层次化、模块化的设计思想。
LATCH锁存器模块由6个并行的6位数据锁存器构成,所有锁存器均使用图2中的"ORDER"作为数据锁存信号,具体规定如下:
1)"ORDER" 信号作为锁存器工作进程的唯一敏感信号参量,只有其信号值发生变化时才会启动锁存器的工作进程,否则锁存器不做出任何响应;
2)当"ORDER"信号发生变化,且当前值为1时,锁存器中的存储数据得以释放,被输入FSMS,新的时间数据同时输入锁存器;
3)当"ORDER"信号发生变化,且当前值为0时,锁存器锁存已输入时间数据,保持FSMS的时间输入数据不变, 同时拒绝新数据输入;
4)锁存器的数据锁存时间等于FSMS中基准计数器的一个工作周期。当基准计数器完成一个工作周期时,"ORDER"信号将被置\'1\',其余时间,"ORDER"信号被置\'0\'。
为了得到三相并行输出的SVPWM触发信号.FSMS模块内部设计了3个状态机分别控制A、B、C相输出。根据式1,假设上桥臂每个开关在一个周期内工作状态的转换顺序都是"1-0-1",因此可以将每个状态机都设计为3种状态.分别代表每一相开关在一个周期内的3个工作状态,工作状态的保持时间由输入时间决定。当输入时间信号发生变化时,FSMS 工作进程启动。具体流程如图3所示。
[page]
以A相桥臂为例(另外两相桥臂的控制方法与A相桥臂类似),状态机进程启动后,基准计数器开始计时,比较器实时比较计数器当前值和比较器内部预存的时间。计数器的一个工作周期可以分为三个阶段:
1)计数器当前值小于输入时间TIME1_A时.状态机处于"00"态.A相上桥臂输出为\'1\';
2)计数器当前值大于等于输入时间TIME1_A而小于TIME1_A与TIME0_A的和时,状态机处于"01"态,A相上桥臂输出为\'0\';
3)计数器当前值大于等于TIME1_A与TIME0_A的和时,状态机处于"10"态,A相上桥臂输出为\'1\'。
如果状态机处于非法状态"11",则图2中管脚A和NOTA输出为高阻态。
仿真结果
利用MAX+PLUS II软件对本设计的逻辑功能进行仿真验证,仿真时间为0~120us,时钟频率为1MHz。
采用EPM3256ATC144-7FPGA芯片进行逻辑编程后,共占用166个逻辑单元,芯片利用率为64%,具有较大的扩展空间。仿真结果如图4所示。
图4中输出信号A和NOTA,B和和NOTB,C和NOTC分别代表桥式电路3组互补开关的驱动命令,输入信号time1_A、time1_B、time1_C和time0_A,time0_B、time0_C分别代表各开关高低电平状态的保持时间。通过仿真波形可以看到,FPGA实现了空间矢量的转换,开关的状态保持时间取决于输入信号time0_A、time0_B、time0_C和time1_A、time1_B、time1_C,完全实现了时间信号到触发信号的转换。而且,A相桥臂有效地抵抗了外界干扰,没有受到输入时间信号突变的影响,表明SVPWM信号发生器具有良好的抗干扰能力。
结语
本文用VHDL硬件描述语言设计了一种由锁存器阵列和有限状态机构成的SVPWM信号发生器,该信号发生器不仅成功实现了输入时间信号到SVPWM触发信号的转换,而且具有良好的抗干扰能力。此外,其并行处理结构可以保证三相桥臂开关同时动作,有效地提升了控制系统的整体性能。由于SVPWM信号发生器是用VHDL硬件描述语言实现的IP核.因而可简便地应用于逆变器控制系统中。
上一篇:电流测量的原理和产品
下一篇:B型超声射频信号高速数据采集系统设计
推荐阅读最新更新时间:2024-03-30 22:27
- 热门资源推荐
- 热门放大器推荐
- 模拟电子技术基础(第3版) (赵进全,杨拴科)
- 数字逻辑与数字系统 (李景宏 王永军 等编著)
- 基于 SVPWM 的永磁同步电机 DTC 技术
- SVPWM技术在单相逆变电源中的应用
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.
If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, OpenResty.
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况