信号频率测量系统的制作方法

文档序号:15927829发布日期:2018-11-14 01:19阅读:167来源:国知局

本发明涉及信号测量技术领域,尤其涉及一种信号频率测量系统。

背景技术

频率作为一种最基本的物理量,在很多工程应用中都有测量信号频率的需求,比如,通过测量某信号的频率,在得知该信号的频率的基础上,通过对该信号进行一定的控制处理以输出用于驱动某设备的驱动信号。

为了实现信号频率的测量,通常的方法是利用单片机中的定时器来测量待测信号的周期,然后换算出待测信号的频率。可以理解的是,对于一个周期信号而言,以上升沿为例,相邻上升沿之间的时间长度即为一个周期。因此,如果定时器在上升沿到达触发后,能够准确识别出下一个上升沿,并计时获得到达下一个上升沿的时间长度,即可以得到一个周期的时间长度,取倒数即为频率。

基于此,在采用定时器来测量待测信号的周期的时候,一般需要先配置定时器的计数时间间隔,即每隔多长时间计数一次,比如1ms。从而,假设以上升沿到达时触发定时器开始计数,当计时1ms之后计数次数更新为1,在每计数一次后,单片机中的微控制器需要执行中断处理逻辑,在该中断处理逻辑中主要是判断是否发生了边沿跳变,如此往复下去,直到某时刻计数加一后,判定出又一次检测到了待测信号的上升沿,则此时认为已经达到一个周期,此时将计数的总次数乘以计数时间间隔即可以得到该周期的时间长度。

由此可知,在每计数一次后即需要执行一次中断处理逻辑,这将占用微控制器的过多处理资源,尤其是在待测信号的频率很高的情况下,因为为了保证即使待测信号的频率很高也能够准确测出其频率,设定的计数时间间隔往往会较小,这就导致需要更加频繁地执行中断处理逻辑,这不仅会降低频率测量的效率,也会占用更多的微控制器的处理资源,从而影响微控制器的正常运行,使其工作效率降低,且会影响其使用寿命。



技术实现要素:

有鉴于此,本发明提供一种信号频率测量系统,用以提高信号频率的测量效率,降低信号频率测量对微控制器处理资源的过分占用。

本发明实施例提供一种信号频率测量系统,包括:

微控制器,分别与所述微控制器连接的第一定时器和第二定时器,以及内部时钟源;

所述内部时钟源与所述第二定时器连接,以为所述第二定时器提供时钟信号;所述第一定时器中被设置有第一预设重载值;所述第二定时器中被设置有预设计时时长;

待测信号输入所述第一定时器和所述第二定时器;

所述第一定时器,用于在所述待测信号的预设跳变沿脉冲触发下开始计数,每当检测到所述预设跳变沿脉冲时计数值更新;

所述第二定时器,用于在所述预设跳变沿脉冲触发下开始计时,每当计时到所述预设计时时长时计数值更新;

所述微控制器,用于在所述第一定时器的计数值达到所述第一预设重载值时,读取所述第二定时器的计数值,以根据所述第一预设重载值和所述第二定时器的计数值确定所述待测信号的频率。

本发明提供的信号频率测量系统,该系统包括微控制器、分别与微控制器连接的第一定时器和第二定时器,以及内部时钟源。内部时钟源与第二定时器连接,为第二定时器提供时钟信号,第一定时器中被设置有第一预设重载值,第二定时器中被设置有预设计时时长,待测信号输入到第一定时器和第二定时器。第一定时器在待测信号的预设跳变沿脉冲触发下开始计数,每当检测到预设跳变沿脉冲时计数值更新,直到计数到第一预设重载值。第二定时器在预设跳变沿脉冲触发下开始计时,每当计时到预设计时时长时计数值更新。基于此,微控制器在第一定时器的计数值达到第一预设重载值时,读取第二定时器的计数值,以根据第一预设重载值和第二定时器的计数值确定待测信号的频率。

通过本方案,第一定时器在待测信号的预设跳变沿脉冲触发下开始计数,每当检测到预设跳变沿脉冲时计数值更新,直到计数到第一预设重载值,这期间只需检测预设跳变沿并进行计数,无需进行中断逻辑的处理。第二定时器在预设跳变沿脉冲触发下开始计时,每当计时到预设计时时长时计数值更新,直到第一定时器计数到第一预设重载值时第二定时器停止计数,期间无需进行中断逻辑的处理。所以通过这种方式,减少了信号频率测量过程中中断逻辑的处理次数,从而提高了信号频率测量的处理效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种信号频率测量系统的结构示意图;

图2为本发明实施例提供的另一种信号频率测量系统的结构示意图;

图3为本发明实施例提供的对待测信号进行分频处理的波形示意图;

图4为本发明实施例提供的又一种信号频率测量系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

进一步值得说明的是,本发明各实施例中各步骤之间的顺序是可以调整的,不是必须按照以下举例的顺序执行。

图1为本发明实施例提供的一种信号频率测量系统的结构示意图,如图1所示,该信号频率测量系统包括:微控制器11、第一定时器12、第二定时器13、内部时钟源14。

微控制器11,分别与微控制器11连接的第一定时器12和第二定时器13,以及内部时钟源14。

其中,内部时钟源14与第二定时器13连接,以为第二定时器13提供时钟信号。

其中,第一定时器12中被设置有第一预设重载值;第二定时器13中被设置有预设计时时长。

待测信号输入第一定时器12和第二定时器13。

第一定时器12,用于在待测信号的预设跳变沿脉冲触发下开始计数,每当检测到预设跳变沿脉冲时计数值更新。

第二定时器13,用于在预设跳变沿脉冲触发下开始计时,每当计时到预设计时时长时计数值更新。

微控制器11,用于在第一定时器12的计数值达到第一预设重载值时,读取第二定时器13的计数值,以根据第一预设重载值和第二定时器13的计数值确定待测信号的频率。

在本实施例中,第一定时器12被设置有第一预设重载值,并将待测信号作为其触发源和时钟源,在待测信号的预设跳变沿脉冲触发下开始计数,每当检测到预设跳变沿脉冲时计数值更新,直到计数到第一预设重载值时,此时可以向微控制器11发送中断触发信号,以告知微控制器11当前第一定时器12已经计数到第一预设重载值。

实际应用中,该信号频率测量系统中可以包括与第一定时器12对应的寄存器,从而可以将上述第一预设重载值预先写入该寄存器中以完成该第一预设重载值向第一定时器12的设置。

第二定时器13被设置有预设计时时长,并将待测信号作为触发源,内部时钟作为时钟源,在待测信号的预设跳变沿脉冲触发下开始计时,在内部时钟输出的时钟脉冲的控制下计时预设计时时长,每当计时到预设计时时长时计数值更新。实际应用中,该信号频率测量系统中可以包括与第二定时器13对应的寄存器,从而可以将上述预设计时时长预先写入该寄存器中以完成该预设计时时长向第二定时器13的设置。

微控制器11在第一定时器t1的计数值达到第一预设重载值时,读取第二定时器t2的计数值,以根据第一预设重载值和第二定时器t2的计数值确定待测信号的频率。本实施例中,微控制器11在读取第二定时器13的计数值之后,清零第二定时器13的计数值,以使得第二定时器13重新开始计时、计数。

基于本实施例提供的信号频率测试系统,待测信号输入到第一定时器12中,以上述预设跳变沿脉冲为上升沿脉冲为例,第一定时器12在待测信号的第一个上升沿脉冲触发下开始计数,每当检测到一个上升沿脉冲时计数值更新,直到计数到第一预设重载值(假设为n),当计数到第一预设重载值n时,第一定时器12可以重新开始计时。

所以第一定时器12的第一预设重载值n实际为待测信号已经经历的周期个数。也就是说,第一定时器12相当于是从待测信号的第一个上升沿脉冲触发下开始计数,计数待测信号已经经历的周期个数n,n个周期即对应于连续接收到的n个上升沿脉冲。

第二定时器13在待测信号的上升沿脉冲触发下开始计时,假设预设计时时长为1us,则每当计时到1us时计数值加一,直到微控制器11在发现第一定时器12已经计数到n时,控制第二定时器13清零,重新开始计时。

由此可知,第二定时器13相当于是用于计时从第一定时器12开始计数,一直到计数到n时所经历的时间长度,亦即待测信号的n个周期所对应的时间长度。当n个周期经历的时间长度确定时,该待测信号在该n个周期内对应的频率即可计算得到。

计算公式如下:待测信号的频率=第一预设重载值/(第二定时器t2的计数值*预设计时时长)。

实际应用中,待测信号的频率可能会发生微小的振动,因此,当第一定时器12已经计数到第一预设重载值n即已经计数了n个周期后,待测信号依旧输入,此时可以按照前面介绍的过程,继续对待测信号进行下一次n个周期的频率的测量。

值得说明的是,通过上述第一定时器12和第二定时器13的计时作用可知,第一定时器12主要用于计数待测信号的已经经历的周期个数,实际应用中,n的取值可以合理设定,一般不会太高,因此,对第一定时器12的计数范围的要求不大,因此,16位的定时器一般即可满足需求。但是,为了满足对不同频率的待测信号的频率的准确测量,内部时钟源的频率往往会比较高,对第二定时器13的计数范围的要求会比较高,因此,第二定时器13一般可以选用32位的定时器。

另外,可选地,本发明实施例提供的信号频率测量系统可以基于stm32系列的单片机来实现。

综上,通过本方案,在n个周期内,第一定时器12和第二定时器13都不会产生中断,即不需要频繁地进行跳变沿检测,不需要频繁地进行中断逻辑处理,从而提高了信号频率测量的处理效率。

图2为本发明实施例提供的另一种信号频率测量系统的结构示意图,如图2所示,在图1所示实施例基础上,该信号频率测量系统还可以包括:

第三定时器15,此第三定时器15中被设置有第二预设重载值。

实际应用中,该信号频率测量系统中可以包括与第三定时器15对应的寄存器,从而可以将上述第二预设重载值预先写入该寄存器中以完成该第二预设重载值向第三定时器15的设置。

其中,第三定时器15的一端与待测信号连接,第三定时器15的另一端分别与第一定时器12和第二定时器13连接。

第三定时器15,用于在待测信号的预设跳变沿脉冲触发下开始计数,每当检测到预设跳变沿脉冲时计数值更新,在计数值更新到第二预设重载值时分别向第一定时器12和第二定时器13输出第一脉冲信号,以使第一定时器12在第一脉冲信号的触发下开始计数以及以使第二定时器13在第一脉冲信号的触发下开始计时。

第三定时器15,还用于在计数值更新到第二预设重载值后重新开始计数,在重新计数到第二预设重载值时,向第一定时器12输出第二脉冲信号,第二脉冲信号与第一脉冲信号电平属性相反。

在本实施例中,第三定时器15提供了分频功能,上述第二预设重载值即为分频倍数。实际应用中,在第三定时器15是从0开始计数的情况下,实际的分配倍数为第二预设重载值+1,以下的描述以从0开始计数为例。

本实施例中,之所以设置提供分频作用的第三定时器15,是因为实际应用中,待测信号的频率可能是非常高的,如果待测信号的频率高于内部时钟源的频率,很可能导致频率测量结果不准确,基于此,通过第三定时器15的分频功能,可以将输入到第一定时器12的信号的频率降低。

实际应用中,可选地,本实施例提供的信号频率测量系统可以基于stm32系列单片机实现,此时,该第三定时器15可以是该单片机中提供了分频功能的定时器。

为便于理解第三定时器15的分频工作过程,结合图3,对第三定时器15提供分频功能的基本原理进行简单说明:

假设第二预设重载值为1,则分频倍数为1+1=2,并且,假设触发第三定时器15开始计数的预设跳变沿脉冲为上升沿脉冲。基于此,当第三定时器15首次接收到待测信号的上升沿脉冲中触发开始从0进行计数,此时计数值为0。之后,当第三定时器15再次接收到上升沿脉冲时,更新计数值为1,此时,计数值达到了第二预设重载值1,则此时,第三定时器15可以向第一定时器12和第二定时器13同时输出第一脉冲信号,比如上升沿脉冲信号,该第一脉冲信号作为第一定时器12和第二定时器13同时触发计数的触发信号。

基于该第一脉冲信号的触发,第一定时器12开始计数,比如第一定时器12也是从初始值为0开始计数,则此时第一定时器12的计数值为初始值0。基于该第一脉冲信号的触发,第二定时器13开始工作,即开始预设计时时长比如1us的计数,并在每次计时达到1us时计数值加一。

当第三定时器15计数到第二预设重载值后,计数值更新为初始值0,再重新开始计数,即在接收到第三个上升沿脉冲时,计数值更新为1,此时,计数值又一次达到了第二预设重载值1,此时,第三定时器15可以输出第二脉冲信号,比如下降沿脉冲信号。

由于在上述举例中,第一定时器12进行计数值更新的有效跳变沿脉冲为上升沿脉冲信号,因此,第三定时器15此时输出的下降沿脉冲信号并不会引起第一定时器12的计数值的更新。

上述下降沿脉冲信号的输出,一方面是为了实现对待测信号的2分频目的,另一方面,由于第三定时器15作为第一定时器12的时钟源,如果第三定时器15在第一次输出上升沿脉冲信号后就停止向第一定时器12输出电信号,则第一定时器12将无法工作,基于此,如图3所示,第三定时器15在第一次输出上升沿脉冲信号后保持对应的高电平信号的输出,直到重新计数到第二预设重载值后输出下降沿脉冲信号,此后保持低电平信号的输出,直到再一次重新计数到第二预设重载值,此时再次输出上升沿脉冲信号,该上升沿脉冲信号会引起第一定时器12的计数值加一更新,如此重复下去。

综上,在引入第三定时器15后,第三定时器15的输出将作为第一定时器12的触发源(触发开始计数)和时钟源,以及作为第二定时器13的触发源。

第一定时器12和第二定时器13被触发开始计数之后的过程,可以参考图1所示实施例中的描述,不再赘述。

基于上述的计数值从0开始计数的前提,可选地,微控制器11可以根据如下公式计算出待测信号的频率:待测信号频率=(第一预设重载值*(第二预设重载值+1))/(第二定时器t2的计数值*预设计时时长)。

图4为本发明实施例提供的又一种信号频率测量系统的结构示意图。如图4所示,在图1所示实施例基础上,该信号频率测量系统还可以包括:

分频器16,其中,分频器16被设置有预设分频倍数。

其中,分频器16的一端与待测信号连接,分频器16的另一端分别与第一定时器12和第二定时器13连接。

分频器16,用于对待测信号进行预设分频倍数的分频处理,将分频后的待测信号输出至第一定时器12和第二定时器13。

与图2中第三定时器15所提供的分频功能类似,本实施例中,可以通过传统的分频器16来实现对待测信号的分频。

与图2所示实施例不同的是,本实施例中,相当于是先利用分频器对待测信号进行分频,得到分频后的信号,比如图3中所示的2分频后的波形图,之后,将分频后的信号输出到第一定时器12和第二定时器13,此时,相比于图2所示实施例的方案,由于先对完整的待测信号进行分频处理,将花费一定的时间,因此,输入到第一定时器12和第二定时器13的分频后的信号具有一定的时间延迟。

本实施例中,可以将分频后的信号视为图1所示实施例中的待测信号,从而,该分频后的信号作为第一定时器12的触发源和时钟源,作为第二定时器13的触发源,分频后的信号中的第一个预设跳变沿脉冲比如上升沿脉冲同时触发第一定时器12和第二定时器13开始计数。

第一定时器12和第二定时器13的工作过程在此不再赘述。

本实施例中,微控制器可以根据如下公式计算待测信号的频率:

待测信号频率=(第一预设重载值*预设分频倍数)/(第二定时器的计数值*预设计时时长)。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1