法律状态公告日
法律状态信息
法律状态
2017-03-29
授权
授权
2015-01-07
实质审查的生效 IPC(主分类):H03K7/08 申请日:20140821
实质审查的生效
2014-12-10
公开
公开
技术领域
本发明涉及一种单相全桥式逆变电路的控制技术,特别涉及一种基于FPGA的单极性SPWM脉冲信号实现方法。
背景技术
SPWM(正弦脉冲宽度调制)调制是一种比较成熟的PWM控制技术;其被广泛用于电机、光伏逆变等控制系统中。目前产生SPWM脉冲信号的方式有很多;例如利用模拟电路对载波和调制波比较,得到SPWM信号;利用专用SPWM发生器集成电路,如SLE4520、SA4828等产生SPWM信号;利用TMS2812、28335等DSP生成SPWM波。但这些方法都具有一定的局限性。利用专用SPWM发生器集成电路的成本和复杂度都较高,且灵活性很低;而利用DSP只能生成6路或者12路PWM波形。
随着数字化集成电路的广泛应用,FPGA(现场可编程门阵列)成为新型数字化集成芯片开发的首选。FPGA具有开发周期短、功率消耗低、集成度高等优点。FPGA的出现克服了专用ASIC芯片受时钟影响和开发周期长等缺点,已在工业生产的各领域得到了广泛的应用。
发明内容
本发明是针对现在PWM控制技术中SPWM正弦脉冲宽度调制方法具有局限性的问题,提出了一种基于FPGA的单极性SPWM脉冲信号实现方法,可实现高精度、高稳定性脉冲信号。
本发明的技术方案为:基于FPGA的单极性SPWM脉冲信号实现方法,系统时钟控制模块给三角载波信号发生器和正弦调制波信号发生器提供工作时钟,正弦调制波信号发生器输出生成正弦波信号,系统时钟控制模块调节工作时钟的频率,控制正弦波信号的频率;三角载波信号发生器生成的正负极两路三角载波以正弦波信号作为选通信号,最后生成输出单极性的三角波信号;将生成的单极性载波三角波信号和调制正弦波信号作为比较取反模块的两个输入信号,比较取反模块输出进入死区延时控制模块,死区延时控制模块输出SPWM脉冲信号。
所述正弦波信号或正负极两个三角载波的生成:
在MATLAB软件平台下,编程产生正弦波信号或正负极三角载波的数据表文件MIF文件,将MIF文件存储在FPGA内部存储空间ROM中,由系统时钟控制模块为ROM核模块提供工作时钟,ROM核将按照工作时钟顺序读取MIF文件数据生成正弦波信号或正负极三角载波。
所述将生成的单极性载波三角波信号和调制正弦波信号作为比较取反模块的两个输入信号,当载波大于等于调制波信号时,输出高电平;当载波小于调制波时,输出低电平,再经过比较处理即可生成一路SPWM1信号,将生成的SPWM1信号取反,即可得到另一路SPWM2信号,SPWM1和SPWM2信号是无死区延时的互补脉冲信号。
本发明的有益效果在于:本发明基于FPGA的单极性SPWM脉冲信号实现方法,鉴于FPGA的众多优点;基于FPGA产生的SPWM脉冲信号,具有精度高,速度快,稳定性强,可在线编程修改算法等优点。本发明可以为电力电子逆变电路提供高精度、高稳定性的控制脉冲信号。
附图说明
图1为本发明基于FPGA的单极性SPWM发生器结构框图;
图2为本发明基于FPGA的单极性三角波信号发生器模块原理结构图;
图3为本发明基于FPGA的单极性SPWM发生器原理图;
图4为本发明的基于FPGA的死区延时时间结构图。
具体实施方式
采用了基于FPGA的全数字式算法实现单极性SPWM信号发生器系统。如图1所示系统的结构框图,系统主要由系统时钟控制模块、单极性三角载波信号发生器、正弦调制波信号发生器、比较取反模块、死区延时控制模块组成。
在MATLAB软件平台下,编程产生正弦波信号的数据表文件(.MIF文件)。将MIF文件存储在FPGA的免费IP核模块--ROM中(免费IP核模块是Quartus开发软件免费提供给开发者使用的,具有很高的稳定性)。由系统时钟控制模块为ROM核模块提供工作时钟,ROM核将按照工作时钟顺序读取MIF文件数据生成正弦波信号,并且可通过调节工作时钟的频率,控制正弦波信号的频率。
同理,在MATLAB软件平台下,编程产生正极性和负极性的两路三角波信号的数据表文件(.MIF文件)。将MIF文件分别存储在FPGA的免费IP核--ROM中。由系统时钟控制模块为ROM核模块提供工作时钟,ROM核将按照工作时钟顺序读取MIF文件数据,生成正极性和负极性的两路三角波信号。
以正弦信号作为选择器的选通信号,运用两路数据选择器(MUX)选择两路三角波信号的极性。当正弦波信号为正时,选择正极性三角波信号;当正弦波为负时,选择负极性三角波信号。这样即可生成单极性的三角波信号,并且可通过调节工作时钟的频率,控制三角波信号的频率。单极性三级波信号发生器模块原理结构图如图2所示。
如图3所示基于FPGA的单极性SPWM发生器原理图,将生成的单极性载波(三角波)信号和调制波(正弦波)信号作为比较取反模块的输入信号。当载波大于等于调制波信号时,输出高电平;当载波小于调制波时,输出低电平。这样经过比较处理即可生成一路SPWM信号,记为SPWM1。将生成的SPWM1信号取反,即可得到另一路SPWM信号,记为SPWM2。SPWM1和SPWM2信号是无死区延时的互补脉冲信号。
将生成的两路互补SPWM信号:SPWM1和SPWM2信号,作为死区延时控制模块的输入。经过死区延时算法计算处理,输出带有死区延时时间的两路SPWM脉冲信号。
本实施实例中,调制信号为50Hz的工频正弦波信号,载波信号为400Hz的三角波信号。正弦调制信号和单极性三角载波信号的调制比为0.8、频率比为1/8。生成的是带死区延时的两路SPWM信号。
利用MATLAB工具,生成最小值和最大值分别为0和127的负极性三角波信号的数据文件;即MIF文件。利用同样的方法生成最小值和最大值分别为128和255的正极性三角波信号的数据文件。正弦波信号的数据值MIF文件可同样利用MATLAB工具生成,该实施实例生成的是最小值和最大值分别为26和230的正弦调制波信号(以128为水平参考0点)。则此时的调制比为:
(230-26)/255=0.8。
将生成的正弦波信号的数据表(MIF)文件存储在FPGA内部存储空间——ROM中。将正极性和负极性的三角波信号的数据表文件也存储到ROM中,通过数据选择器选择三角波信号的极性。
正极性和负极性的三角波信号相位相差180°。当正弦调制信号大于128时,选用正极性三角波信号;当正弦调制信号小于128时,选用负极性三角波信号。这种方法生成的三角波信号具有和正弦波信号相同的极性(已128为水平参考0点);即为单极性调制方式。
FPGA的外部晶振时钟50MHz经过1024分频后得到的时钟为正弦调制波控制时钟,按照分频后的时钟读取ROM中的正弦信号值,输出频率为50Hz的正弦波信号。同时外部晶振时钟50MHz经过128分频后得到的时钟为三角波信号控制时钟,按照分频后的时钟读取ROM中的三角波信号值,生成频率为400Hz的三角波信号。时钟信号的1024和128分频可由一个10位计数器实现。
将生成的单极性三角波信号和正弦波信号进行比较。当三角波信号大于等于正弦波信号时,输出为高电平;当三角波信号小于正弦波信号时,输出为低电平。这样就得到了一路SPWM1控制信号。将得到的SPWM1信号取反,即可得到另外一路SPWM2信号。
死区延时控制模块的时钟为外部晶振的50MHz时钟。采用计数器计数模式生成延迟时间。本实施实例中选取的延时时间为4us;即以50MHz为计数频率的计数器计数200次。通过死区控制模块生成的4us延迟信号与原SPWM信号进行与运算,即可得到带有死区延时的单极性SPWM脉冲信号。死区时间产生的结构图如图4所示。
机译: 一种基于现场可编程门阵列(FPGA)的数据解码器设备,用于从具有并行数据转换的现场网络的脉冲持续时间调制信号中提取数据,并通过为每个数据元素选择带有确认的最优总线来交换数据
机译: 基于极性不同的矩形脉冲激发的感应耦合电路通过气隙传输和接收数据的方法以及实现所述装置的装置
机译: 一种方法和电路装置,用于通过运行时存储器确保nrz码中的信息与代表单极性外部脉冲增大的信号的混合序列