一种检测信号频率的方法及装置的制造方法
【技术领域】
[0001]本发明涉及信号处理技术领域,具体而言,涉及一种检测信号频率的方法及装置。
【背景技术】
[0002]在信号处理技术领域,往往需要根据传感器感应得到的信号转换为频率信号。以洗衣机的水位传感器为例,洗衣机水位传感器是一种将测试水位对应的压力信号转换为频率信号的装置。水位越高,压力越大,其输出的频率会越小。不同厂家,其传感器检测的基准值不同,但大多数都会达到几十kHz,是一种频率较高的方波信号。
[0003]检测信号频率往往首先需要计算方波信号中方波的个数。在现有技术中,往往按照以下方法计算方波信号中方波的个数:
[0004]利用方波信号中上升沿或者下降沿产生的中断来统计防波信号中方波的个数。具体地,以上升沿为例,每当检测到方波信号的上升沿时,便会产生一次中断程序。处理器接收到产生的中断程序后,便会中止当前正在处理的程序,转而去处理产生的中断程序。当中断程序处理完成后,便会继续处理之前被中止的程序。
[0005]为了能准确地捕捉到方波信号中的每个上升沿,往往会将上升沿产生的中断程序的优先级设置为最高。这样,一旦上升沿产生中断程序,处理器便可以及时处理,从而统计出方波信号中方波的个数。
[0006]然而,现有技术中的这种方法会有明显的缺陷:由于方波信号的频率往往在几十kHz,从而上升沿产生的中断程序会十分频繁。这样就导致其它程序需要不停地被处理器中止,无法流畅地被处理。甚至在其它程序没有处理完时,由于处理器接收到上升沿产生的中断程序,从而其它程序会被强行退出,这样会严重影响到整个程序的运行。
[0007]针对上述问题,目前尚未提出有效地解决方式。
【发明内容】
[0008]本发明实施例提供了一种检测信号频率的方法,以达到不影响其它程序的处理过程的目的,该方法包括:
[0009]接收外部时钟源引脚输入的待检测方波信号;
[0010]在预设时长内统计所述待检测方波信号的触发沿次数;
[0011]根据统计的所述触发沿次数,确定所述待检测方波信号的频率。
[0012]在一个实施方式中,在所述在预设时长内统计所述待检测方波信号的触发沿次数之前,所述方法还包括:响应于时钟源信号设置指令,将所述外部时钟源引脚输入的待检测方波信号设置为时钟源信号。
[0013]在一个实施方式中,所述在预设时长内统计所述待检测方波信号的触发沿次数具体包括:确定预设时长的起始时间点处所述待检测方波信号的触发沿的起始次数;确定所述预设时长的终止时间点处所述待检测方波信号的触发沿的终止次数;将所述终止次数与所述起始次数的差值确定为所述预设时长内所述待检测方波信号的触发沿次数。
[0014]在一个实施方式中,所述待检测方波信号的触发沿包括所述待检测方波信号的上升沿;相应地,所述在预设时长内统计所述待检测方波信号的触发沿次数具体包括:预先设置电平跳变的正阈值;在预设时长内统计所述待检测方波信号中电平跳变大于或者等于所述正阈值的次数。
[0015]在一个实施方式中,所述待检测方波信号的触发沿包括所述待检测方波信号的下降沿;相应地,所述在预设时长内统计所述待检测方波信号的触发沿次数具体包括:预先设置电平跳变的负阈值;在预设时长内统计所述待检测方波信号中电平跳变小于或者等于所述负阈值的次数。
[0016]在一个实施方式中,按照下述公式根据统计的所述触发沿次数,确定所述待检测方波信号的频率:
[0017]F = N/t
[0018]其中,F表示所述待检测方波信号的频率,N表示所述触发沿次数,t表示所述预设时长。
[0019]本发明实施例还提供了一种检测信号频率的装置,以达到不影响其它程序的处理过程的目的,该装置包括:
[0020]外部时钟源引脚,用于输入待检测方波信号;
[0021]计数器,用于在预设时长内统计所述待检测方波信号的触发沿次数;
[0022]处理器,用于根据统计的所述触发沿次数,确定所述待检测方波信号的频率。
[0023]在一个实施方式中,所述装置还包括:时钟源信号设置模块,用于响应于时钟源信号设置指令,将所述外部时钟源引脚输入的待检测方波信号设置为时钟源信号。
[0024]在一个实施方式中,所述待检测方波信号的触发沿包括所述待检测方波信号的上升沿;相应地,所述计数器具体包括:正阈值设置模块,用于预先设置电平跳变的正阈值;第一统计模块,用于在预设时长内统计所述待检测方波信号中电平跳变大于或者等于所述正阈值的次数。
[0025]在一个实施方式中,所述待检测方波信号的触发沿包括所述待检测方波信号的下降沿;相应地,所述计数器具体包括:负阈值设置模块,用于预先设置电平跳变的负阈值;第二统计模块,用于在预设时长内统计所述待检测方波信号中电平跳变小于或者等于所述负阈值的次数。
[0026]根据本发明的一种检测信号频率的方法及装置,将外部时钟源引脚作为待检测方波信号的输入引脚,利用计数器统计出预设时长内所述待检测方波信号的触发沿次数,从而计算出方波信号的频率。而在统计过程中,该统计操作完全不会影响到其它程序的处理进程,很好的将该统计操作与其它程序分开,从而可以独立处理统计的过程。这样既减轻了处理器的负担,同时也使程序模块之间不会相互影响,有效提高了程序运行速率。
【附图说明】
[0027]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0028]图1为本申请实施例提供的一种检测信号频率的方法流程图;
[0029]图2为本申请实施例提供的一种检测信号频率的装置的功能模块图。
【具体实施方式】
[0030]为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都应当属于本申请保护的范围。
[0031]图1为本申请实施例提供的一种检测信号频率的方法流程图。虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。如图1所示,所述检测信号频率的方法可以包括:
[0032]S1:接收外部时钟源引脚输入的待检测方波信号。
[0033]在本申请实施例中,进行信号频率检测的过程可以在主芯片中进行。所述主芯片上可以设置外部时钟源引脚,用于将外部输入的信号作为主芯片内部模块的时钟源。所述主芯片中可以集成有处理器,计数器,内存以及模数转换器等模块。
[0034]在本申请实施例中,为了避免利用中断的方式对待检测方波信号中的方波个数进行统计,从而可以将所述待检测方波信号输入外部时钟源引脚,这样,所述主芯片便可以接收外部时钟源引脚输入的待检测方波信号,并将该待检测方波信号作为内部模块的时钟源信号。
[0035]在某些情况下,所述主芯片内部的计数器模块默认使用主芯片的内置时钟源,在这种情况下,为了让计数器模块能够正常对所述待检测方波信号进行计数,可以在步骤S1之后增加下述子步骤: