欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 测时学> 一种基于FPGA电路的扫频时间检测方法独创技术16744字

一种基于FPGA电路的扫频时间检测方法

2021-02-25 00:39:38

一种基于FPGA电路的扫频时间检测方法

  技术领域

  本发明涉及信号处理及信号测量领域,具体为一种基于FPGA电路的扫频时间检测方法。

  背景技术

  随着经济的发展,时间频率相关技术已广泛应用于通信、仪表和自动控制系统等领域,与生产生活密切相关,在民用、工业、军事、航空航天等多个领域发挥着重要作用。函数信号发生器是与时间频率相关的重要电子仪器,能产生某些特定的周期性时间函数波形信号,如正弦波、方波、三角波、锯齿波和脉冲波等,它产生的信号幅度恒定、频率可在限定范围内作线性变化。函数信号发生器的重要特点是它所产生的信号频率步进值及频率范围是可以设置的。它的扫频功能广泛应用于现代电子系统,在通信、雷达、电子对抗、导航、汽车测速、仪器仪表等许多领域中都有着广泛的应用。函数信号发生器在测试仪器中,可单独作为标准信号源,是用于电子仪表检测的重要测试工具。目前,国内虽然制定了函数信号发生器检定规程,然而该规程还没有完全覆盖函数信号发生器的所有功能参数,尤其是扫频时间参数。扫频时间参数对于速度参数的检测校准非常重要,尤其是在汽车检测领域。目前性能优良的函数信号发生器均是国外品牌,然而由于我国相关规程还没有涉及扫频时间参数的检测方法,扫频时间参数的溯源只能用其它手段来保障,如采用高速大存储空间的示波器来检测,这种手段成本较高,测试过程中还需要人工分析信号波形数据,耗时较长,效率不高。国外由于对我国进行技术封锁,其核心检测技术很难获取。扫频时间检测技术是保障时间频率参数准确性的重要手段,对速度参数的检测校准有着重要作用。因此,开展自动扫频时间参数的检测技术研究对于时间频率、转速、车速以及瞬时速度等参数的检测校准工作有重要的应用价值。

  发明内容

  本发明的目的在于克服现有技术的不足,提供一种基于FPGA电路的扫频时间检测方法。

  本发明的目的是通过以下技术方案来实现的:

  一种基于FPGA电路的扫频时间检测方法,包括以下步骤:

  步骤1,通过FPGA电路检测信号的瞬时频率;

  步骤2,判断步骤1中的信号的瞬时频率是否满足起始计时频率,如果满足则进入步骤3,如果不满足则跳转到步骤1;

  步骤3,开始计时并继续检测信号的瞬时频率;

  步骤4,判断步骤3中的信号的瞬时频率是否满足结束频率,如果满足则进入步骤5,如果不满足则跳转到步骤3;

  步骤5,结束计时并向上位机输出结果。

  优选的,所述检测信号为方波信号,所述方波信号包括连续方波信号与频率随时间变化的方波信号。

  优选的,所述连续方波信号的周期通过扫频时间检测算法计算得到:

  f为连续的方波信号集合,表示为:

  f={f(x1),f(x2),...,f(xm)}

  其中,f(xk)为单个方波信号,表示为:

  

  式中,A表示方波信号的幅值,T(xk)为方波信号f(xk)的周期,而k=1,2,3,…,m。因此,连续方波信号周期的集合T表示为:

  T={T(x1),T(x2),...,T(xm)}。

  所述连续方波信号的瞬时频率通过周期T间接计算得到。

  优选的,所述频率随时间变化的方波信号通过加窗函数的方法对信号进行截取,然后计算截取得到的若干个连续方波信号的周期,再将周期转换成瞬时频率,然后通过不断的移动窗函数的位置就可以对整个频率随时间变化的方波信号进行瞬时频率的计算,对连续方波信号的周期的集合T进行加窗函数运算可得到处理后的信号周期的集合Tc,表示为:

  Tc={Tc(x1),Tc(x2),...,Tc(xm-n+1)}

  式中,

  

  其中,i=1,2,3,...,m-n+1,而W=[W1,W2,...,Wm],设置W1=W2=,...,=Wm=1。

  优选的,述检测信号的频率由高到底变化。

  优选的,所述FPGA电路包括PLL时钟产生模块、瞬时频率及时间间隔检测模块、十六进制转十进制模块以及串口发送模块。

  优选的,所述PLL时钟产生模块提供5MHz、50MHz和100MHz工作时钟。

  优选的,所述瞬时频率及时间间隔检测模块采用100MHz工作时钟对被测方波信号进行实时频率检测。

  本发明的有益效果是:

  应用扫频时间检测算法通过信号上升沿来检测信号的瞬时频率,如果信号的瞬时频率满足设置的起始频率,则启动计时器开始计时。由于FPGA控制芯片的并行数据处理优点,信号处理电路还能实时对信号瞬时频率进行检测,当信号瞬时频率满足设置的结束频率时结束计时器计时功能,并将扫频时间数据转换成十进制数据型式发送给上位机进行处理和分析,具有测量稳定及测量精度高的优点。

  附图说明

  图1为本发明的方法流程示意图;

  图2为本发明的扫频时间检测装置原理图;

  图3为本发明的FPGA测量电路的功能模块构成图;

  图4为本发明的主动串行方式配置电路的原理图;

  图5为本发明CH340G与FPGA控制芯片的连接示意图;

  图6为本发明的扫频信号示意图。

  具体实施方式

  下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

  一种基于FPGA电路的扫频时间检测方法,包括以下步骤:

  步骤1,通过FPGA电路检测信号的瞬时频率;

  步骤2,判断步骤1中的信号的瞬时频率是否满足起始计时频率,如果满足则进入步骤3,如果不满足则跳转到步骤1;

  步骤3,开始计时并继续检测信号的瞬时频率;

  步骤4,判断步骤3中的信号的瞬时频率是否满足结束频率,如果满足则进入步骤5,如果不满足则跳转到步骤3;

  步骤5,结束计时并向上位机输出结果。

  需要说明的是,所述检测信号为方波信号,所述方波信号包括连续方波信号与频率随时间变化的方波信号。

  其中,所述连续方波信号的周期通过扫频时间检测算法计算得到:

  f为连续的方波信号集合,表示为:

  f={f(x1),f(x2),...,f(xm)}(1)

  其中,f(xk)为单个方波信号,表示为:

  

  式中,A表示方波信号的幅值,T(xk)为方波信号f(xk)的周期,而k=1,2,3,…,m。因此,连续方波信号周期的集合T表示为:

  T={T(x1),T(x2),...,T(xm)}(3)

  所述连续方波信号的瞬时频率通过周期T间接计算得到,本发明提出的扫频时间测量方法通过测量连续方波信号的瞬时频率来确定计时的起始点和终止点。

  需要说明的是,所述频率随时间变化的方波信号通过加窗函数的方法对信号进行截取,然后计算截取得到的若干个连续方波信号的周期,再将周期转换成瞬时频率,然后通过不断的移动窗函数的位置就可以对整个频率随时间变化的方波信号进行瞬时频率的计算,对连续方波信号的周期的集合T进行加窗函数运算可得到处理后的信号周期的集合Tc,表示为:

  Tc={Tc(x1),Tc(x2),...,Tc(xm-n+1)}(4)

  式中,

  

  其中,i=1,2,3,...,m-n+1,而W=[W1,W2,...,Wm],设置W1=W2=,...,=Wm=1,在FPGA测量控制电路中,应用提出的扫频时间检测算法实时对连续的方波信号进行瞬时频率计算,对于某一个方波信号,通过计算该方波信号及其后连续的两个方波信号的频率平均值来确定该方波信号的瞬时频率,因此将式(5)中的n值设置为3。

  其中,所述检测信号的频率由高到底变化。

  需要说明的是,本发明是基于FPGA电路的扫频时间检测装置采用了Cyclone IV E系列的FPGA控制芯片,其测量算法是通过Verilog HDL硬件描述语言实现的,主程序流程图如图1所示。软件工作原理是应用扫频时间检测算法通过信号上升沿来检测信号的瞬时频率,如果信号的瞬时频率满足设置的起始频率,则启动计时器开始计时。由于FPGA控制芯片的并行数据处理优点,信号处理电路还能实时对信号瞬时频率进行检测,当信号瞬时频率满足设置的结束频率时结束计时器计时功能,并将扫频时间数据转换成十进制数据型式发送给上位机进行处理和分析,在扫频时间检测软件中采用了两个脉冲宽度寄存器R1和R2交替的对连续的方波信号脉冲宽度进行计算,因此可以得到连续的每一个方波信号的瞬时频率。

  如图2所示,测仪器或光电编码器产生的变频信号经过同轴信号线与扫频时间检测装置相连接,扫频时间检测装置通过阻抗匹配模块将被测方波扫频信号的电压转换至FPGA测量控制电路许可的电压范围5V以内,由FPGA测量控制电路采用扫频时间检测算法实时对扫频信号进行处理和计算,设被测信号的频率从高到低变化,当被测信号的瞬时频率小于等于设定的频率起始点的数值时开始计时,当被测信号的瞬时频率小于设定的频率终止点的数值时结束计时,从而可以计算出扫频信号从高频变化到低频所经历的时间间隔,即扫频时间。

  图3中FPGA测量控制电路是由PLL时钟产生模块、瞬时频率及时间间隔检测模块、十六进制转十进制模块以及串口发送模块构成,如图2所示,系统采用外部50MHz晶振驱动PLL时钟产生模块,而PLL时钟产生模块为FPGA测量控制电路提供5MHz、50MHz和100MHz共3种工作时钟。瞬时频率及时间间隔检测模块采用100MHz工作时钟对被测方波信号进行实时频率检测,采用扫频时间检测算法对每一个连续的方波信号的上升边沿进行实时分析,如果被测信号频率达到设置的起始频率则启动计数器进行计时,当被测信号的瞬时频率达到设置的终止频率则停止计时,从而可以得到起始频率和终止频率之间的精确的时间间隔,实现对变频信号进行自动扫频时间检测功能,由于FPGA测量电路采用100MHz时钟对被测信号进行实时分析计算,每隔10ns对信号进行一次边沿检测,提高了测量系统的精度。由于FPGA测量电路测量扫频时间间隔的计数器采用48位的二进制计数器,为了便于输出显示还需要将数据转换为十进制数,系统设计了十六进制转十进制模块实现进制之间的转换功能,由于数据进制转换过程中耗时较多,需要较低的时钟频率,因此采用PLL提供的5MHz时钟驱动。最后通过串口发送模块将转换后的十进制数据发送到上位机进行显示和分析。串口发送模块采用PLL产生的50MHz时钟进行驱动,并在模块内部进行降频处理得到串口发送需要的低频时钟信号,实现数据的发送功能。

  扫频时间检测装置采用Cyclone IV E系列EP4CE10F17C8控制芯片,该芯片具有功耗低和性价比高的优点,在仪器仪表类产品及工业控制产品中有重要的应用前景。该芯片中的M9K存储器模块具有9Kbit的嵌入式SRAM存储器,能够满足本项目系统运行过程中进行各种数据存储的需求。此外,通过使用芯片中的乘法器,便于实现更加高效的并行结构的扫频时间检测算法。除了核心架构资源,该芯片还拥有2个PLL时钟管理单元和多个系统IO,便于对本项目系统电路时钟的管理。为了保障FPGA测量控制电路的正常运行,避免FPGA电路中的指令代码因掉电而丢失的情况,在系统上电后,通过主动串行方式(AS),由FPGA主动输出控制和同步信号给专用的串行配置芯片W25Q16,在串行配置芯片收到命令后,再把配置数据加载到FPGA电路的SRAM中,然后FPGA测量电路才能正常的工作,图4所示为FPGA主动串行方式配置电路的原理图。扫频时间检测装置在FPGA测量控制电路与被测方波信号连接端子处设有分压电阻,以限制被测信号的最高电压,从而实现对被测方波信号的扫频时间检测功能。

  由于被测方波信号的扫频时间参数在FPGA测量控制电路中是以48位二进制数的型式进行运算和处理的,为了便于上位机进行显示和处理,将扫频时间参数转换成十进制数据后,系统采用串口转USB芯片CH340G实现FPGA测量控制电路与上位机的数据传输功能。CH340G芯片是一种支持5V或3.3V供电的USB总线转接芯片,能够实现USB转串口协议,支持通讯波特率50bps~2Mbps,可以通过一根普通的USB数据线与上位机进行数据传输。串口转USB芯片CH340G与FPGA控制芯片的连接示意图如图5所示。需要说明的是在扫频时间检测软件中采用了两个脉冲宽度寄存器R1和R2交替的对连续的方波信号脉冲宽度进行计算,因此可以得到连续的每一个方波信号的瞬时频率。

  需要说明的是,本申请通过实验与示波器测量进行了对比,具体内容如下:

  采用Keysight 33600A系列函数信号发生器来模拟频率线性变化的扫频信号,然后通过扫频时间检测装置和Tektronix MSO64混合信号示波器对该扫频信号进行同时测量,并对扫频时间测量结果进行比较和分析。首先通过函数信号发生器产生频率从70kHz线性变化到10kHz的扫频信号,扫频时间分别设置为10s和20s,那么信号频率从50kHz线性变化到20kHz需要的时间则分别为5s和10s。图6显示了函数信号发生器产生的频率从70kHz线性变化到10kHz的扫频信号截图。

  采用混合信号示波器和扫频时间检测装置对频率从70kHz线性降至10kHz的变频信号进行扫频时间测量,设置扫频时间测量的起始频率和终止频率分别为50kHz和20kHz,对该信号进行三次扫频时间测量的平均值如表1所示。

  表1起止频率设为50kHz和20kHz的扫频信号的测量结果

  

  通过比较可知,采用扫频时间检测装置和采用示波器测量方法都能得到准确的扫频时间参数,其测量结果非常接近,测量误差小于1ms。可是,采用示波器测量方法需要将扫频信号进行连续存储,然后将存储的信号数据在计算机中通过MATLAB软件采用类似的扫频时间检测算法进行分析计算,数据处理量较大。由于实验中使用的示波器的最大存储深度为62.5M样点,因此采样率最高可设为3.125MS/s,而基于FPGA电路的扫频时间检测装置对信号进行分析的速率为100MS/s。可以看出,采用示波器测量方法对扫频信号进行分析的频率远远低于基于FPGA电路的扫频时间检测装置,而且应用高端示波器检测方法来检测扫频时间参数需要对数据进行后处理,检测时间较长,不能实时显示测量结果,而采用基于FPGA电路的扫频时间检测装置能够实现对低频扫频信号扫频时间参数的自动检测。实验中还采用扫频时间检测装置对表1中的扫频时间信号进行11次测量,其测量结果的均方差低至1.5×10-4s,因此,本发明提出的一种扫频时间检测装置具有很高的测量精度。

  以上所述仅是本发明的优选实施方式,应当理解所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

《一种基于FPGA电路的扫频时间检测方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)