一种基于fpga的频率计及频率测量方法

文档序号:9909433阅读:1048来源:国知局
一种基于fpga的频率计及频率测量方法
【技术领域】
[0001 ]本申请涉及信号测量技术领域,更具体地说,涉及一种基于FPGA的频率计及频率测量方法。
【背景技术】
[0002]频率测量贯穿于人们的日常生活、工作以及科学研究等领域中,是最基本的参数之一。随着科学技术的不断发展和社会的需求,特别是在无线通信领域以及电子技术领域中,人们对于频率测量精度的要求越来越高。现今主流的对频率的高精度测量通常采用时间测量法,将待测信号分频至较低频率获得分频信号,对若干个分频信号周期进行粗时间和细时间的时间间隔测量;然后结合总分频倍数计算获得待测信号周期,最后通过求待测信号周期倒数的方法获得待测信号的频率。其中,对于细时间测量的精度的提升,是得到提高待测信号的频率测量精度的关键。
[0003]现有技术中通常由定制的专用集成电路(Applicat1n Specific IntegratedCircuit,ASIC)或现场可编程门阵列(Field — Programmable Gate Array,FPGA)作为核心芯片实现具有频率测量功能的频率计,通过采用模拟内插法或延时线内插法或游标法等实现细时间时间间隔的精确测量;其中基于ASIC实现的频率计采用模拟内插法和游标法等对细时间间隔的测量精度要高于基于FPGA实现的频率计采用的延时线内插法。但是定制ASIC实现频率测量的频率计相较于基于FPGA设计实现频率测量的频率计开发周期长,电路设计复杂,成本高。因此,如何提高基于FPGA的频率计的频率测量精度成为研发人员努力的方向之一O

【发明内容】

[0004]为解决上述技术问题,本发明提供了一种基于FPGA的频率计及频率测量方法,以实现提高基于FPGA的频率计的频率测量精度的目的。
[0005]为实现上述技术目的,本发明实施例提供了如下技术方案:
[0006]一种基于FPGA的频率计,所述频率计包括:时钟源、上位机、分频整形单元及处理单元;
[0007]所述时钟源与所述处理单元的时钟信号输入端连接,用于为所述处理单元提供时钟信号;
[0008]所述分频整形单元用于接收外界原始信号,并对其以第一分频倍数进行分频处理后获得待测?目号;
[0009]所述处理单元用于利用所述时钟信号生成的工作时钟信号作为时钟基准,对待测信号以第二分频倍数进行分频处理得到分频信号,并对所述分频信号周期利用时间测量法,以与所述分频信号上升沿相对应的待测信号上升沿为对象,进行多次细时间测量得到测量结果和一次粗时间测量获得第一时间值,结合所述第一分频倍数和第二分频倍数计算所述外界原始信号的频率,并将所述外界原始信号的频率向所述上位机传送;
[0010]所述处理单元设置于现场可编程门阵列FPGA中。
[0011]优选的,所述处理单元包括时钟模块、分频模块、管理模块、粗计数模块、细时间测量模块、运算处理模块及通讯模块;其中,
[0012]所述时钟模块用于接收所述时钟信号,对所述时钟信号进行处理后获得工作时钟信号,所述工作时钟信号作为所述管理模块、粗计数模块、细时间测量模块及运算处理模块的时钟基准;
[0013]所述管理模块用于为所述细时间测量模块、粗计数模块、运算处理模块和通讯模块提供控制功能和用于为所述细时间测量模块提供选择控制信号及测量次数控制信号;
[0014]所述分频模块用于对所述待测信号进行分频处理获得分频信号,所述分频信号周期即为所述时间测量法测量的时间间隔,所述分频信号为该测量的开始控制信号;
[0015]所述细时间测量模块用于利用所述待测信号、分频信号、选择控制信号及测量次数控制信号生成使能信号向所述粗计数模块及管理模块传送,并对与分频信号上升沿相对应的待测信号上升沿在每个分频信号周期内进行多次细时间测量,并将测量结果发送给所述运算处理模块;
[0016]所述粗计数模块用于结合所述使能信号、工作时钟信号及管理模块的控制,对待测信号在每个分频信号周期内进行一次粗时间测量获得第一时间值,并将其传送给所述运算处理模块;
[0017]所述运算处理模块用于接收所述第一时间值及多次细时间测量的测量结果,并结合所述分频整形单元的第一分频倍数和所述分频模块的第二分频倍数计算获得所述外界原始信号的频率,并将其通过所述通讯模块向所述上位机传送;
[0018]所述第二分频倍数等于闸门时间内所述待测信号的上升沿数目。
[0019]优选的,所述运算处理模块用于接收所述第一时间值及多次细时间测量的测量结果,并结合所述分频整形单元的第一分频倍数和所述分频模块的第二分频倍数计算获得所述外界原始信号的频率包括:
[0020]所述运算处理模块接收到所述第一时间值及多次细时间测量的测量结果后,对所述多次细时间测量的测量结果进行运算获得第二时间值,利用所述第一时间值及第二时间值计算获得一个分频信号周期内与分频信号前沿相对应的待测信号前沿时刻,并结合与该分频信号周期相邻的分频信号周期内与分频信号前沿相对应的待测信号前沿时刻进行计算,获得所述分频信号周期;将所述分频信号周期除以所述第一分频倍数和第二分频倍数获得所述待测信号的周期,并对所述待测信号的周期进行取倒数运算,获得所述外界原始信号的频率。
[0021]优选的,所述细时间测量模块包括:震荡环、D触发器组、第二D触发器和译码器;所述震荡环包括多路选择器,延时链和反相器;其中,
[0022]所述多路选择器为一个两路的选择器,其第一信号输入端用于接收所述待测信号,控制信号输入端用于接收所述选择控制信号,所述多路选择器的信号输出端与所述延时链的信号输入端连接,所述延时链的信号输出端与所述反相器的信号输入端连接,所述反相器的信号输出端与所述多路选择器的第二信号输入端连接,所述多路选择器用于在所述选择控制信号的控制下控制进入所述延时链的信号;
[0023]所述延时链用于对接收到的待测信号进行延时传输,由FPGA内部加法器的进位链构成,进位链各个单元之间的非线性延时由码密度法进行标定,每个延迟单元后端都具有抽头;
[0024]所述反相器用于将延时链输出的待测信号边沿状态进行翻转,使得信号上升沿在两次经过反相器后回到原来状态,当所述多路选择器在所述选择控制信号的控制下将第二信号输入端接到输出端时,其形成延时链-反相器-多路选择器-延时链的震荡环,待测信号上升沿在震荡环中传输,相邻两个上升沿到达延时链的时间差,即为信号的振荡周期;
[0025]所述D触发器组包括多个D触发器,其信号输入端依次与延时链各个延时单元后端的抽头连接,时钟端接收所述工作时钟信号,从而在工作时钟上升沿到来时锁存延时链状态;信号输出端与译码器连接,用于将锁存的状态发送给译码器进行译码处理;所述D触发器组的首个D触发器为第一 D触发器,所述第一 D触发器的信号输出端同时连接于所述第二 D触发器输入端;所述第一 D触发器向所述第二 D触发器输出第一信号;对所述第二 D触发器的输出信号进行取非运算以后获得第二信号,所述第一信号、第二信号与所述分频信号及测量次数控制信号进行与逻辑运算获得所述使能信号并向所述译码器及粗计数模块传送;
[0026]所述译码器用于在所述使能信号的触发下,对所述锁存结果进行译码处理,获得所述测量结果;
[0027]所述D触发器组和译码器,即用于在待测信号前沿进入延时链后,在使能信号的控制下,将其在延时链中的位置信息转换为细时间测量结果。
[0028]优选的,所述多次细时间测量通过形成所述震荡环,采用多次测量法实现,其中:
[0029]所述震荡环在所述待测信号通过所述多路选择器第一信号输入端进入所述延时链后,通过改变所述多路选择器控制信号输入端的选择控制信号,将所述多路选择器的第二信号输入端接入所述延时链,使得从所述延时链输出的待测信号经过所述反相器翻转状态和所述多路选择器后再次进入延时链,所述待测信号上升沿经过两次翻转状态后重新变为上升沿输入到延时链中,所述译码器在所述使能信号的控制下,进行译码得到细时间测量结果,即可实现在一个分频信号周期内,对于同一个待测信号上升沿进行多次细时间测量,然后经过计算得到更加精确的细时间测量结果,此即进一步提升测量精度的多次测量法。
[0030]优选的,所述粗计数模块用于结合所述使能信号、工作时钟信号及管理模块的控制,对待测信号在每个分频信号周期内进行一次粗时间测量获得第一时间值,并将其传送给所述运算处理模块包括:
[0031]所述粗计数模块在所述管理模块的控制下开始工作,在每个分频信号周期内对所述工作时钟信号的上升沿进行计数获得计数结果,将所述计数结果与所述工作时钟信号的周期进行乘积运算获得所述第一时间值,并在检测到所述使能信号为高电平时将所述第一时间值向所述运算处理模块发送。
[0032]优选的,所述粗计数模块为工作在所述系统工作时钟基准下的计数器。
[0033]优选的,所述时钟源为原子钟或晶体振荡器。
[0034]—种频率测量方法,应用于上述任一实施例所述的频率计,所述频率测量方法包括:
[0035]通过上位机向所述频率计的处理单元发送指令,开始对外界原始信号进行频率测量;
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1