脉冲宽度采集方法技术

技术编号:14854648 阅读:191 留言:0更新日期:2017-03-18 22:06
一种脉冲宽度采集方法,包括:将单路时钟输入现场可编程门阵列产生多路时钟;对单路时钟为高电平状态下的由锁相环输出的每一路时钟的上升沿或下降沿进行计数,得到对应的每个时钟的上升沿或下降沿的个数数组;根据个数数组,利用预设计算公式,计算得到脉冲宽度时间。上述脉冲宽度采集方法,通过将单路时钟输入现场可编程门阵列产生多路时钟,采集每路时钟,利用预设计算公式,计算得到脉冲宽度时间,如此利用多路采样的高分辨率,相对应单路采集的低分辨率,时钟频率通常取该现场可编程门阵列在满足时序要求下的最快时钟,其采样精度完全可以达到纳米级,且提高了采样速度,相关的控制、测试设备精度得到提升。

【技术实现步骤摘要】

本专利技术涉及控制技术的领域,特别是涉及一种脉冲宽度采集方法
技术介绍
目前,在控制领域,经常需要测量一个输入脉冲或一段过程花了多长时间。传统的方法一般是采用MCU(MicrocontrollerUnit,微控制单元)、FPGA(Field-ProgrammableGateArray,现场可编程门阵列)等对这段时间进行计数,多次采样后,再根据计数周期计算出时间。但对于纳米ns级别的精度要求,MCU处理比较难以达到,FPGA单时钟采样受限于时钟频率,也可能因采样时钟与采样脉冲具有相同的相位,即使多次采样也达不到精度要求。
技术实现思路
基于此,有必要针对如何提高脉冲时间采样精度以及如何提高采样速度的技术问题,提供一种脉冲宽度采集方法。一种脉冲宽度采集方法,包括:将单路时钟输入现场可编程门阵列,通过所述现场可编程门阵列的锁相环产生多路时钟;对所述单路时钟为高电平或者低电平状态下的由所述锁相环输出的每一路时钟的上升沿或下降沿进行计数,得到对应的每个时钟的上升沿或下降沿的个数数组;根据所述个数数组,利用预设计算公式,计算得到脉冲宽度时间。在其中一个实施例中,所述根据所述个数数组,利用预设计算公式,计算得到脉冲宽度时间,包括:取所述个数数组中最小的数为基数,计算所述个数数组中最大的数的数量,利用预设计算公式,计算得到脉冲宽度时间。在其中一个实施例中,所述利用预设计算公式,计算得到脉冲宽度时间,包括:获取所述锁相环输出的时钟周期以及时钟个数;计算所述基数与所述时钟周期的第一乘积,以及所述数量与所述时钟个数的比值与所述时钟周期的第二乘积;计算所述第一乘积与所述第二乘积的和,得到所述脉冲宽度时间。在其中一个实施例中,通过所述现场可编程门阵列的锁相环产生八路时钟。在其中一个实施例中,多路所述时钟的频率相同。在其中一个实施例中,相邻两路所述时钟之间的相位差相同。在其中一个实施例中,通过所述现场可编程门阵列的锁相环产生八路时钟,相邻两路所述时钟之间的相位差为45度。在其中一个实施例中,通过所述现场可编程门阵列的锁相环产生四路时钟,相邻两路所述时钟之间的相位差为90度。在其中一个实施例中,通过所述现场可编程门阵列的锁相环产生十六路时钟,相邻两路所述时钟之间的相位差为22.5度。在其中一个实施例中,对所述单路时钟为高电平状态下的由所述锁相环输出的每一路时钟的上升沿进行计数,得到对应的每个时钟的上升沿的个数数组。在其中一个实施例中,对所述单路时钟为高电平状态下的由所述锁相环输出的每一路时钟的下降沿进行计数,得到对应的每个时钟的下降沿的个数数组。在其中一个实施例中,所述个数数组中的各数据之间相差一个数量级。上述脉冲宽度采集方法,通过将单路时钟输入现场可编程门阵列产生多路时钟,采集每路时钟,利用预设计算公式,计算得到脉冲宽度时间,如此利用多路采样的高分辨率,相对应单路采集的低分辨率,时钟频率通常取该现场可编程门阵列在满足时序要求下的最快时钟,其采样精度完全可以达到纳米级,且提高了采样速度,相关的控制、测试设备精度得到提升。附图说明图1为一个实施例中脉冲宽度采集方法采集流程示意图;图2为一个实施例中脉冲宽度采集方法的步骤示意图;图3为一个实施例中脉冲宽度的采集计算应用示意图;图4为另一个实施例中脉冲宽度的采集计算应用示意图;图5为另一个实施例中脉冲宽度的采集计算应用示意图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但是本专利技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似改进,因此本专利技术不受下面公开的具体实施例的限制。请参阅图1,其为一个实施例中脉冲宽度采集方法采集流程示意图,在该脉冲宽度采集方法采集流程中,首先:要检测的脉冲到达,即外部要检测的时钟脉冲到达FPGA;然后,各时钟分别计数,即一路外部时钟输入到FPGA后,通过锁相环PLL,产生n路高精度、高速、同频率时钟。例如,PLL输出时钟为全局时钟,保证到达每一个逻辑资源的时间是一样的;其次,得到n个数据,即对输入的脉冲信号的高电平时间进行采集,在脉冲信号为高电平的状态下,分别对锁相环PLL输出的每个时钟的上升沿或下降沿进行计数,得到每个时钟在脉冲信号为高电平的状态下上升沿或下降沿个数,如X1,X2,X3……Xn,且该组数据各数据之间只相差1。最后,利用公式计算脉冲宽度时间,即利用公式计算得到的每个时钟在脉冲信号为高电平的状态下上升沿或下降沿个数,从而得到单路时钟的脉冲宽度,也即输入脉冲信号在高电平状态下的时间t。请参阅图2,其为一个实施例中脉冲宽度采集方法20的结构示意图,一种脉冲宽度采集方法20包括:步骤S210:将单路时钟输入现场可编程门阵列,通过所述现场可编程门阵列的锁相环产生多路时钟。具体的:单路时钟是指外部时钟,用户需要测量一个高电平脉冲状态下的脉冲宽度或者用户需要测量一个低电平脉冲状态下的脉冲宽度。现场可编程门阵列即FPGA,将单路时钟输入FPGA后,由FPGA内的锁相环PLL产生多路时钟。本实施例中,由FPGA内的锁相环PLL产生多路高精度、高速、同频率时钟。也就是说,PLL由FPGA内部产生,输入一路时钟,输出多路时钟,即一进多出。例如,一路外部时钟,输入到FPGA后,通过锁相环PLL,产生n路高精度、高速、同频率时钟,每路时钟的相位差为360°/n。PLL输出时钟为全局时钟,保证到达每一个逻辑资源的时间是一样的。例如,通过所述现场可编程门阵列的锁相环产生八路时钟。例如,多路所述时钟的频率相同。例如,相邻两路所述时钟之间的相位差相同。例如,相邻两路所述时钟之间的相位差为45度。例如,通过现场可编程门阵列的锁相环产生八路时钟,相邻两路时钟之间的相位差为45度。又如,通过现场可编程门阵列的锁相环产生四路时钟,相邻两路时钟之间的相位差为90度。又如,通过现场可编程门阵列的锁相环产生十六路时钟,相邻两路时钟之间的相位差为22.5度。步骤S220:对所述单路时钟为高电平状态下的由所述锁相环输出的每一路时钟的上升沿或下降沿进行计数,得到对应的每个时钟的上升沿或下降沿的个数数组。具体的:假如需要对输入的脉冲信号的高电平时间进行采集,在脉冲信号为高电平的状态下,分别对锁相环PLL输出的每个时钟的上升沿或下降沿进行计数,得到每个时钟在脉冲信号为高电平的状态下上升沿或下降沿个数,如个数数组X1,X2,X3……Xn,且该组数据各数据之间只相差1。例如,对个数数组进行赋值,{X1,X2,X3,X4,X5……Xn本文档来自技高网...
脉冲宽度采集方法

【技术保护点】
一种脉冲宽度采集方法,包括:将单路时钟输入现场可编程门阵列,通过所述现场可编程门阵列的锁相环产生多路时钟;对所述单路时钟为高电平或者低电平状态下的由所述锁相环输出的每一路时钟的上升沿或下降沿进行计数,得到对应的每个时钟的上升沿或下降沿的个数数组;根据所述个数数组,利用预设计算公式,计算得到脉冲宽度时间。

【技术特征摘要】
1.一种脉冲宽度采集方法,包括:将单路时钟输入现场可编程门阵列,通过所述现场可编程门阵列的锁相环产生多路时钟;对所述单路时钟为高电平或者低电平状态下的由所述锁相环输出的每一路时钟的上升沿或下降沿进行计数,得到对应的每个时钟的上升沿或下降沿的个数数组;根据所述个数数组,利用预设计算公式,计算得到脉冲宽度时间。2.根据权利要求1所述的脉冲宽度采集方法,其特征在于,所述根据所述个数数组,利用预设计算公式,计算得到脉冲宽度时间,包括:取所述个数数组中最小的数为基数,计算所述个数数组中最大的数的数量,利用预设计算公式,计算得到脉冲宽度时间。3.根据权利要求2所述的脉冲宽度采集方法,其特征在于,所述利用预设计算公式,计算得到脉冲宽度时间,包括:获取所述锁相环输出的时钟周期以及时钟个数;计算所述基数与所述时钟周期的第一乘积,以及所述数量与所述时钟个数的比值与所述时钟周期的第二乘积;计算所述第一乘积与所述第二乘积的和,得到所述脉冲宽度时间。4.根...

【专利技术属性】
技术研发人员:何春茂胡飞鹏康燕黄男曲菲王虎颜鲁齐
申请(专利权)人:珠海格力节能环保制冷技术研究中心有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1