一种高精度多线程测量频率的系统的制作方法

文档序号:12033474阅读:268来源:国知局
一种高精度多线程测量频率的系统的制作方法与工艺
本发明属于频率测量的
技术领域
,特别涉及一种并行测量多路频率的系统。
背景技术
:频率测量一般是通过相应的传感器,将周期变化的特性转化为电信号,再由电子频率计显示对应的频率,如工频、声频、振动频率等。除此之外,还有应用多普勒效应原理,对声频的测量。目前我们测量频率的实现方法,通常是采用示波器、逻辑分析仪或mcu定时器进行,这些测量方法存在下列几个方面的不足:第一:示波器测量频率不够智能,且携带不方便,第二:逻辑分析仪,虽然有多通道,但精度不够,且测量数据要手动记录,第三:mcu定时器模块测试不同频率范围误差较大。如专利申请201610674205.7公开了一种基于片上系统的多通道信号频率测量模块,所述片上系统即soc芯片或系统级芯片,该频率测量模块有利于通过其高集成度在很小的面积上实现多通道信号频率的精确测量,还可以通过扩展的tcp与远程终端协同工作,通过扩展的触摸显示屏幕进行人机交互,其特征在于,包括片上系统主控制器,所述片上系统主控制器分别连接电源模块、触控模块和外围接口,所述片上系统主控制器包括主控制单元和分别与主控制单元互连的辅助控制单元和fpga模块,所述fpga模块连接测频模块,所述主控制单元连接通信模块,所述测频模块具有被测信号接口,所述通信模块远程终端接口,所述触控模块具有触摸显示屏接口。而这些测量方法,其测量精度将随被测信号频率的下降而降低,在实用中有较大的局限性,且不能满足并行测量多路频率的需要。技术实现要素:基于此,因此本发明的首要目地是提供一种高精度多线程测量频率的系统,该系统基于fpga的等精度频率计,并且通过和arm结合,由arm调用频率测量出口来读取频率,能够有效准确地测量多线程的频率。本发明的另一个目地在于提供一种高精度多线程测量频率的系统,该系统满足对频率测量精度的需求(0.1hz~1mhz+/-(0.01%),可同时测量32通道的数据。为实现上述目的,本发明的技术方案为:一种高精度多线程测量频率的系统,该系统包括有频率计、arm的功能模块和fpga的功能模块,所述arm的功能模块主要包括c语言实现的fsmc总线接口,烧录控制驱动(pro-driver)、adc驱动、dac驱动、pmu驱动、gpib驱动、can驱动、模拟spi驱动;所述fpga实现的功能模块主要包括verilog实现的fsmc测量接口、高速io模块、频率测量模块、spi从设备接口;所述fpga与arm的互联采用fsmc总线,即fsmc总线接口和fsmc测试接口通过fsmc总线连接。所述频率计采用ext_counter和ref_counter两个32位的计数器在相同的时间内计数,ext_counter使用外部配测信号作为时钟,ref_counter使用内部系统时钟,由门控逻辑控制计数开始和结束的时间点。进一步,所述ext_counter和ref_counter是两个32位高速计数器,分别捕捉基准时钟的计数个数和待测时钟的计数个数,且所述ext_counter接有diff触发器,diff是一个触发器,配合门控逻辑(gatecontrollogic)用来控制计数的开始时间和结束时间,ref_counter部分是fpga内部精准的一个10m时钟,主要作用是提供一个比较的基准时钟源。更进一步,所述频率计具有多路,以测量对路的频率,从而达到并行测量多路输入信号频率的目的。本发明采用上述系统,基于fpga结合等精度频率计,并且通过和arm结合,由arm调用频率测量模块来读取频率,能够有效准确地测量多线程的频率。结合测频功能采用等精度测量,对0.05hz~25mhz保证测量精度5ppm,1khz以上信号测量时间1ms,1khz以下信号测量时间为1~2个信号周期。满足对频率测量精度的需求(0.1hz~1mhz+/-(0.01%))。可同时测量32通道的数据。附图说明图1是本发明所实施的系统架构图。图2是本发明所实施的频率计逻辑框图。图3是本发明所实施fsmc总线接口的结构图。图4是本发明所实施高速io模块的结构图。图5为本发明所实施fpga的频率测量模块结构图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图1所示,为本发明所实现的系统软件架构图。其中框内的浅色部分为c代码在arm上实现功能模块,深色部分为verilog代码在fpga/cpld上实现功能模块,框外的部分为实际硬件电路模块,该实际硬件电路模块为现有技术,在此不再赘述。系统主要包括c语言实现的fsmc总线接口,烧录控制驱动(pro-driver)、adc驱动、dac驱动、pmu驱动、gpib驱动、can驱动、模拟spi驱动,这是是属于arm的功能模块;verilog实现的fsmc测试接口、高速io模块、频率测量模块、spi从设备接口,这些是fpga实现的功能模块。图2所示,为频率计逻辑框图,图中所示,频率计采用等精度测量法,使用两个32位的计数器在相同的时间内计数,ext_counter使用外部配测信号作为时钟,ref_counter使用内部系统时钟,由门控逻辑控制计数开始和结束的时间点。图2中ext_counte和ref_counter是两个32位高速计数器,分别捕捉基准时钟的计数个数和待测时钟的计数个数,diff是一个触发器,配合门控逻辑(gatecontrollogic)用来控制计数的开始时间和结束时间,ref_counter部分是fpga内部精准的一个10m时钟,主要作用是提供一个比较的基准时钟源,以便在相同的时间t内,假如基准时钟计数个数为nref,待测io口的计数个数为nx,根据t=nx/fin=nref/fref,从而等到下列等式即可算出输入信号的频率fin=nx*fref/。通过以上等式,可以精确测量极低到高于参考频率的信号频率。这种结构的最佳效果是可以复制,由于fpga的信号可以并行处理,最后的效果就是可以有多路这样的结构来测量对路的频率,从而达到并行测量多路输入信号频率的目的。其中:fin为输入信号的频率;nx为ext_counter计数值;fref为输入信号的频率;nref为ref_counter计数值。测量时,由arm调用频率测量模块来读取频率,能够准确读取多线程的频率。参见图3所示为fsmc总线接口的结构。fsmc总线接口拥有10位地址总线,16位数据总线,采样时钟200mhz,设计通信速率>40mb/s。对应的频率测试模块的引脚描述为:引脚名称参考时钟io引脚描述clk_25m-i外部振荡器时钟输入bus_addr_sfr_o[9:0]clk_200mi总线地址输入iodata[15:0]clk_200mio总线数据wrn_iclk_200mi总线写信号rdn_iclk_200mi总线读信号pe_dvr_enclk_200mo电子引脚输出使能控制pe_data_oclk_200mo电子引脚数据输出参见图4所示为高速io模块的结构。高速io模块包含4个ioports模块,32个高速io通道,io接口速率大于20mhz。其引脚描述为:引脚名称参考时钟io引脚描述rst_n-i复位信号输入bus_sfr_clkclk_200mi数据总线时钟bus_addr_sfr_i[9:0]clk_200mio总线地址输入bus_data_sfr_i[7:0]clk_200mi总线数据bus_wr_sfr_iclk_200mi总线读\写信号port_inclk_200miio信号输入bus_data_sfr_o[7:0]clk_200mo寄存器数据输出总线port_outclk_200moio数据输出port_enclk_200moio输出使能参见图5所示为fpga的频率测量模块的结构,其引脚描述为:引脚名称参考时钟io引脚描述rst_n-i复位信号输入bus_sfr_clkclk_200mi数据总线时钟bus_addr_sfr_i[9:0]clk_200mio总线地址输入bus_data_sfr_i[7:0]clk_200mi总线数据输入bus_data_sfr_o[7:0]clk_200mo总线数据输出bus_wr_sfr_iclk_200mi总线读\写信号clk_200mclk_200mi参考频率信号输入ext_clk_m[31:0]clk_200mo外部频率信号输入总之,本发明基于fpga结合等精度频率计,并且通过和arm结合,由arm调用频率测量模块来读取频率,能够有效准确地测量多线程的频率。结合测频功能采用等精度测量,对0.05hz~25mhz保证测量精度5ppm,1khz以上信号测量时间1ms,1khz以下信号测量时间为1~2个信号周期。满足对频率测量精度的需求(0.1hz~1mhz+/-(0.01%))。可同时测量32通道的数据。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1