一种基于fpga的可控硅触发脉冲的控制方法

文档序号:9765623阅读:965来源:国知局
一种基于fpga的可控硅触发脉冲的控制方法
【技术领域】
[0001]本发明涉及电子控制领域,尤其涉及一种基于FPGA的可控硅触发脉冲的控制方法。
【背景技术】
[0002]本发明涉及电子控制领域,使用微处理器(Central Processing Unit,简称CPU)产生可控硅触发脉冲的技术已经比较成熟,但是,使用微处理器开发可控硅数字触发器会影响CPU的性能,当同步信号中断来临时,如果同时有其他更高优先级或者同优先级的中断程序正在运行,则可能造成输出脉冲位置不准确。并且多数使用微处理器开发的方法,是每隔一段时间采用一次同步信号,在采样时间间隔内,通过PWM输出触发脉冲信号。然而,如果市电交流信号不是稳定的50Hz,而是在50Hz左右一定范围内变化,长时间不采样同步信号,则会造成输出触发脉冲位置漂移。

【发明内容】

[0003]本发明的目的是通过FPGA实现可控硅触发脉冲的输出,不占用系统的资源,使得系统中的CPU可以高效率的处理其他工作。并且,当市电交流信号不稳定时,也同样可以保证输出的可控硅触发脉冲的位置精准。
[0004]第一方面,本发明实施例提供了一种基于FPGA的可控娃触发脉冲的控制方法,所述方法包括:
[0005]将接收到的市电交流信号整流,输出同步信号;
[0006]对所述同步信号采样,得到所述同步信号的上升沿信号和下降沿信号;对所述上升沿信号进行检测,得到有效上升沿信号,并且,对所述下降沿信号进行检测,得到有效下降沿信号;
[0007]根据所述有效上升沿信号将所述同步信号分为第一奇数组信号和第一偶数组信号;根据所述有效下降沿信号将所述同步信号分为第二奇数组信号和第二偶数组信号;
[0008]利用基准时钟信号对所述第一奇数组信号的一个周期进行计时,得到第一周期信号cnt_cyclel ;利用所述基准时钟信号对所述第一偶数组信号的所述一个周期进行计时,得到第二周期信号cnt_cycle2 ;
[0009]利用所述基准时钟信号对所述第二奇数组信号的一个周期进行计时,得到第一脉冲信号cnt_pulSel ;利用所述基准时钟信号对所述第二偶数组信号的所述一个周期进行计时,得到第二脉冲信号cnt_pulse2 ;
[0010]当所述第一脉冲信号和所述第二周期信号满足下式条件:
[0011]cnt_pulsel = cnt_cycle2* (2n_l) /4,所述 η 为 I 或 2 ;
[0012]或者,当所述第二脉冲信号和所述第一周期信号满足下式条件:
[0013]cnt_pulse2 = cnt_cyclel* (2n_l) /4,所述 η 为 I 或 2 ;
[0014]生成触发脉冲使能信号;
[0015]根据所述触发脉冲使能信号输出可控硅触发信号。
[0016]优选的,所述对所述上升沿信号进行检测,得到有效上升沿信号,并且,对所述下降沿信号进行检测,得到有效下降沿信号具体为:
[0017]当所述上升沿信号中的第二上升沿信号与第一上升沿信号之间的时间间隔大于第一阈值时,确定所述第二上升沿信号为有效上升沿信号;
[0018]当所述有效上升沿信号后的第一下降沿信号与所述有效上升沿信号之间的时间间隔大于第二阈值时,确定所述第一下降沿信号为有效下降沿信号。
[0019]优选的,所述方法还包括:获取缓存的延时值。
[0020]进一步优选的,当cnt_pulsel = cnt_cycle2* (2n_l)/4,或者 cnt_pulse2 = cnt_cyclel* (2n_l) /4,生成触发脉冲使能信号具体为:
[0021]当cnt_pulsel = cnt_cycle2* (2n_l)/4+延时值,所述 η 为 I 或 2,或者,
[0022]cnt_pulse2 = cnt_cyclel* (2n_l)/4+延时值,所述 η 为 I 或 2,
[0023]生成所述触发脉冲使能信号。
[0024]第二方面,本发明实施例提供了一种基于FPGA的可控硅触发脉冲的控制的系统。
[0025]所述系统包括:同步信号产生电路,用于将接收到市电交流信号整流,输出同步信号;
[0026]同步信号边沿产生模块,用于采样所述同步信号得到所述同步信号的上升沿信号和下降沿信号;
[0027]同步信号边沿检测模块,用于对所述上升沿信号进行检测,得到有效上升沿信号,并且,对所述下降沿信号进行检测,得到有效下降沿信号;
[0028]基准时钟信号生成模块,用于产生基准时钟信号;
[0029]处理模块,用于根据所述有效上升沿信号将所述同步信号分为第一奇数组信号和第一偶数组信号;所述处理模块还用于,根据所述有效下降沿信号将所述同步信号分为第二奇数组信号和第二偶数组信号;
[0030]同步信号周期计数器,利用所述基准时钟信号对所述第一奇数组信号的一个周期进行计时,得到第一周期信号cnt_cyclel ;利用所述基准时钟信号对所述第一偶数组信号的所述一个周期进行计时,得到第二周期信号cnt_CyCle2 ;
[0031]同步脉冲计数器,利用所述基准时钟信号对所述第二奇数组信号的一个周期进行计时,得到第一脉冲信号cnt_pulSel ;利用所述基准时钟信号对所述第二偶数组信号的所述一个周期进行计时,得到第二脉冲信号cnt_pulSe2 ;
[0032]使能信号产生模块用于,当所述第一脉冲信号和所述第二周期信号满足下式条件:
[0033]cnt_pulsel = cnt_cycle2* (2n_l)/4,所述 η 为 I 或 2 ;
[0034]或者,当所述第二脉冲信号和所述第一周期信号满足下式条件:
[0035]cnt_pulse2 = cnt_cyclel* (2n_l)/4,所述 η 为 I 或 2 ;
[0036]生成触发脉冲使能信号;
[0037]输出脉冲产生模块,用于根据所述触发脉冲使能信号输出可控硅触发信号。
[0038]优选的,所述同步信号边沿检测模块具体用于:当所述同步信号边沿检测模块检测到所述上升沿信号中的第二上升沿信号与第一上升沿信号之间的时间间隔大于第一阈值时,确定所述第二上升沿信号为有效上升沿信号;
[0039]当所述同步信号边沿检测模块检测到所述有效上升沿信号后的第一下降沿信号与所述有效上升沿信号之间的时间间隔大于第二阈值时,确定所述第一下降沿信号为有效下降沿信号。
[0040]优选的,所述系统还包括:计数器启动模块,用于当检测到有效上升沿信号时,启动同步信号周期计数器;当检测到有效下降沿信号时,启动同步脉冲计数器。
[0041]优选的,所述系统还包括:延时值寄存器,用于缓存延时值。
[0042]进一步优选的,所述使能信号产生模块具体用于:
[0043]当cnt_pulsel = cnt_cycle2* (2n_l)/4+延时值,所述 η 为 I 或 2,或者,
[0044]cnt_pulse2 = cnt_cyclel* (2n_l)/4+延时值,所述 η 为 I 或 2,
[0045]生成所述触发脉冲使能信号。
[0046]本发明提供的基于FPGA的可控硅触发脉冲的控制方法,首先对市电交流信号进行整流输出同步信号,同步信号周期与市电交流信号周期相同。利用基准时钟信号,根据同步信号的有效上升沿信号和有效下降沿信号,对同步信号中的奇数组
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1