一种用于计算定时器滤波器的采样率的方法及控制装置与流程

文档序号:25879426发布日期:2021-07-16 18:21阅读:137来源:国知局
一种用于计算定时器滤波器的采样率的方法及控制装置与流程

1.本申请涉及定时器技术领域,具体涉及一种用于计算定时器滤波器的采样率的方法及控制装置。


背景技术:

2.定时器就是用来做延迟用的一个元件,在一个精确地时间后执行下一步。通过不同的程序,或者电路从而实现计时、定时、延迟等待等功能。
3.一般地,定时器的输入通道上都有一个滤波单元(滤波单元属于定时器内部结构),分别位于每个输入通路上和外部触发输入通路上,用于滤除输入信号上的高频干扰。
4.实际上,数字滤波器是一个事件计数器,它记录到n个事件后产生一个输出跳变。具体为,当滤波器连续采样到n次个有效电平时,就输出这个有效电平;否则,当滤波器没有连续采样到n次个有效电平时,再从0开始计数,输出会一直保持上次输出的有效电平。例如,滤波器上一次输出是高电平,本次连续采样到n-1个高电平,但第n个电平是低电平,那么滤波器仍然保持上次输出的高电平,并重新开始计数,记录1次低电平,如果在其后采样的n-1个也是低电平,此时,滤波器才输出低电平,于是一个下降沿才出现在滤波器输出上。由此可见,n个事件指的是连续采样n个有效电平,“产生一个输出跳变”指的是输出这个连续出现了n次的电平。
5.滤波器的采样频率和采样次数可以由用户程序根据需要选择。但是,实际使用中,由于环境等种因素的影响,定时器滤波器的实际采样率和配置的理论值并不完全相同,可能会存在误差。


技术实现要素:

6.为了克服上述现有技术存在的问题,本申请的主要目的在于提供一种能够准确计算出定时器滤波器的实际采样频率的方法。
7.为了实现上述目的,本申请具体采用以下技术方案:
8.本申请提供了一种控制装置,该控制装置包括处理器和定时器滤波器;
9.所述处理器分别预设所述定时器滤波器在n1个事件、n2个事件后产生输出的跳变,随之产生中断信号,以使所述定时器滤波器在接收到发自信号发生器的边沿信号后分别对应地产生第一输出跳变、第二输出跳变,并使之随即对应地产生第一中断信号、第二中断信号;所述n1、n2为正整数,且n1<n2;
10.所述处理器接收所述第一中断信号、第二中断信号后执行中断处理,以分别对应产生第一gpio翻转、第二gpio翻转;
11.所述处理器统计从所述边沿信号出现边沿到产生第一gpio翻转的时间t1,和从所述边沿信号出现边沿到产生第二gpio翻转的时间t2;最后基于所述n1、n2、t1和t2的值计算得到所述定时器滤波器的采样率。
12.优选地,所述控制装置还包括gpio接口,并且在所述时间t1、t2的统计由信号采集
装置完成时,具体为:所述定时器滤波器包括用于接收所述边沿信号的输入接口,所述信号采集装置分别耦合至所述定时器滤波器输入接口和所述gpio接口,以采集所述边沿信号和gpio输出信号,统计从所述边沿信号出现边沿到产生第一gpio翻转的时间t1,和从所述边沿信号出现边沿到产生第二gpio翻转的时间t2。
13.优选地,所述处理器还用于基于所述n1、n2、t1和t2的值计算得到所述定时器滤波器的采样率。
14.优选地,所述定时器滤波器采样率f可根据公式f=1/((t2-t1)/(n2-n1))计算得出。
15.优选地,所述处理器是cpu。
16.优选地,所述控制装置可为一集成封装的mcu、mpu或dsp芯片。
17.相应地,本申请还公开了一种用于计算定时器滤波器的采样率的方法,该方法包括步骤:
18.预设定时器滤波器在n1个事件后产生输出跳变并在产生输出跳变时产生中断信号。
19.向定时器滤波器输入边沿信号,使定时器滤波器在n1个事件后产生第一输出跳变,随即产生第一中断信号;
20.处理器接收所述第一中断信号并在接收到所述第一中断信号后执行中断处理,产生第一gpio翻转;
21.统计从所述边沿信号出现边沿到产生第一gpio翻转所需的时间t1;
22.预设定时器滤波器在n2个事件后产生输出跳变并在产生输出跳变时产生中断信号。
23.向定时器滤波器输入边沿信号,使定时器滤波器在n2个事件后产生第二输出跳变,随即产生第二中断信号;
24.处理器接收所述第二中断信号并在接收到所述第二中断信号后执行中断处理,产生第二gpio翻转;
25.统计从所述边沿信号出现边沿到产生第二gpio翻转所需的时间t2;
26.基于所述n1、n2、t1和t2的值计算得到定时器滤波器的采样率;
27.其中,n1、n2为正整数,且n1<n2。
28.优选地,所述时间t1、t2的统计由信号采集装置执行。
29.优选地,所述时间t1、t2的统计由处理器程序执行。
30.优选地,所述定时器滤波器的采样率的计算可根据公式f=1/((t2-t1)/(n2-n1))而计算得到。
31.相比于现有技术,本申请的控制器包括处理器和定时器滤波器,通过处理器分别预设定时器滤波器在n1个事件、n2个事件后产生输出的跳变,随之产生中断信号,以使定时器滤波器在接收到发自信号发生器的边沿信号后分别对应地产生第一输出跳变、第二输出跳变,并使之随即对应地产生第一中断信号、第二中断信号;处理器接收所述第一中断信号、第二中断信号,并在接收到所述第一中断信号、第二中断信号后执行中断处理,以分别对应产生第一gpio翻转、第二gpio翻转;再通过处理器或信号采集装置统计从所述边沿信号出现边沿到产生第一gpio翻转的时间t1,和从所述边沿信号出现边沿到产生第二gpio翻
转的时间t2;进而能够基于所述n1、n2、t1和t2的值计算得到所述定时器滤波器的采样率,使定时器的定时或计时更准确。
附图说明
32.图1为本申请实施例的计算定时器滤波器的采样率的方法的流程图。
33.图2为本申请实施例输入的边沿信号为上升沿信号时的波形图。
34.图3为本申请实施例输入的边沿信号为下降沿信号时的波形图。
35.图4为本申请实施例的控制装置的结构框图。
36.图5为本申请另一实施例的控制装置的结构框图。
37.图6为本申请另一实施例的控制装置的结构框图。
具体实施方式
38.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
39.在本申请的描述中,除非另有明确的规定和限定,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性;除非另有规定或说明,术语“多个”是指两个或两个以上;术语“连接”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接,或电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
40.请参考图1所示,本申请的实施例公开了一种用于计算定时器滤波器的采样率的方法,该方法包括:
41.步骤s11、预设定时器滤波器在n1个事件后产生输出跳变,并在产生输出跳变时产生中断信号。
42.其中,所述预设可由处理器程序来定义,n1个事件为连续采样到n1次个有效电平,且n1为正整数。输出跳变是指输出这个连续出现了n1次的电平。
43.比如,可以预设定时器滤波器在连续采样到8次个有效低电平时,定时器滤波器就输出低电平,否则,再从0开始计数,输出会一直保持上次输出的有效电平。
44.步骤s12、向定时器滤波器输入边沿信号,使定时器滤波器在n1个事件后产生第一输出跳变,随即产生第一中断信号。
45.其中,可以通过信号发生器向定时器滤波器输入边沿信号,边沿信号包括上升沿信号和下降沿信号。以输入信号为上升沿信号为例,当定时器滤波器连续采样到n1次个有效高电平时,输出由原来的低电平跳变为高电平,随即产生中断信号。其中,产生电平跳变后随即产生中断信号这一步骤可由处理器程序来设定。
46.步骤s13、处理器接收所述第一中断信号并在接收到所述第一中断信号后执行中断处理,产生第一gpio翻转。
47.其中,gpio翻转是指gpio信号由低电平输出跳变为高电平输出,或者由高电平输出跳变为低电平输出。
48.s14、统计从边沿信号出现边沿到产生第一gpio翻转所需的时间t1。
49.s15、预设定时器滤波器在n2个事件后产生输出跳变,并在产生输出跳变时产生中断信号。
50.其中,所述预设可由处理器程序来定义,n2个事件为连续采样到n2次个有效电平,且n2为正整数,n2>n1。
51.比如,可以预设定时器滤波器在连续采样到10次个有效低电平时,定时器滤波器就输出低电平,否则,再从0开始计数,输出会一直保持上次输出的有效电平。
52.s16、向定时器滤波器输入边沿信号,使定时器滤波器在n2个事件后产生第二输出跳变,随即产生第二中断信号。
53.其中,可以通过信号发生器向定时器滤波器输入边沿信号,产生电平跳变后随即产生中断信号这一步骤可由处理器程序来设定。
54.s17、处理器接收所述第二中断信号并在接收到所述第二中断信号后执行中断处理,产生第二gpio翻转。
55.s18、统计从边沿信号出现边沿到产生第二gpio翻转所需的时间t2。
56.步骤s19、根据公式f=1/((t2-t1)/(n2-n1))计算出定时器滤波器的实际采样率。
57.其中,f为定时器滤波器实际采样频率,t1为从边沿信号出现边沿到产生第一gpio翻转所需的时间,t2从边沿信号出现边沿到产生第二gpio翻转所需的时间,t1和t2的统计可以由信号采集装置执行,也可以由处理器程序执行。
58.在一个实施例中,以向定时器滤波器输入上升沿信号为例,请参阅图2所示,上升沿出现后当定时器滤波器连续采样到的高电平个数未达到n1个时,此时定时器滤波器仍输出原来的电平(低电平);当定时器滤波器连续采样到的高电平个数达到n1个后,定时器滤波器由原来的输出低电平跳变为输出高电平,并且此时定时器滤波器产生中断信号。从上升沿出现到产生中断信号这段时间可称为滤波时间t1',在这段时间t1'中,由于只能捕捉到起始时刻(上升沿出现)的波形而无法捕到终点时刻(产生中断信号或滤波器输出跳变)的波形,因此,t1'的时间无法统计得到。
59.定时器滤波器产生中断信号后输出至处理器,处理器接收到该中断信号后即执行中断函数,从而实现gpio翻转。从中断信号产生到完成gpio翻转这段时间可称为中断处理时间t1",在这段时间t1"中,由于只能捕捉到终点时刻(gpio翻转)的波形而无法捕捉到起点时刻(产生中断信号或滤波器输出跳变)的波形,因此t1"的时间也无法统计得到。但是,由于波形图上能够捕捉到上升沿出现及gpio翻转的波形,因此,计时从上升沿出现到gpio翻转所需的时间t1可以统计得到,根据上述可知t1=t1'+t1"。
60.同理,上升沿出现后当定时器滤波器连续采样到的高电平个数未达到n2个时,此时定时器滤波器仍输出原来的电平(低电平);当定时器滤波器连续采样到高电平个数达到n2个后,定时器滤波器由原来的输出低电平跳变为输出高电平,并且此时定时器滤波器产生中断信号。从上升沿出现到产生中断信号这段时间可称为滤波时间t2',在这段时间t2'中,由于只能捕捉到起始时刻(上升沿出现)的波形而无法捕到终点时刻(产生中断信号或滤波器输出跳变)的波形,因此,t2'的时间无法统计得到。
61.定时器滤波器产生中断信号后输出至处理器,处理器接收到该中断信号后即执行中断函数,从而实现gpio翻转。从中断信号产生到完成gpio翻转这段时间可称为中断处理
时间t2",在这段时间t2"中,由于只能捕捉到终点时刻(输出翻转)的波形而无法捕捉到起点时刻(产生中断信号或滤波器输出跳变)的波形,因此t2"的时间也无法统得到。但是,由于波形图上能够捕捉到上升沿出现及gpio翻转的波形,因此,计时从上升沿出现到gpio翻转所需的时间t2是可以统计得到的,根据上述可知t2=t2'+t2"。
62.最后,通过公式f=1/((t2-t1)/(n2-n1))能够计算出定时器滤波器的实际采样频率。因为同一处理器上该中断处理时间是相等的,即t1"=t2"。则t2-t1=t2'-t1',表示滤波时间差,也表示记录n2个电平和记录n1个电平的时间差,因此((t2-t1)/(n2-n1))即表示记录一个电平所用的时间,即1/((t2-t1)/(n2-n1))表示定时器滤波器的实际采样频率。
63.在另一个实施例中,以向定时器滤波器输入下降沿信号为例,请参阅图3所示,下降沿出现后当定时器滤波器连续采样低电平个数未达到n1个时,此时定时器滤波器仍输出原来的电平(高电平);当定时器滤波器连续采样到的低电平个数达到n1个后,定时器滤波器由原来的输出高电平跳变为输出低电平,并且此时定时器滤波器产生中断信号。从下降沿出现到产生中断信号这段时间可称为滤波时间t1',在这段时间t1'中,由于只能捕捉到起始时刻(下降沿到来)的波形而无法捕到终点时刻(产生中断信号或滤波器输出跳变)的波形,因此,t1'的时间无法统计得到。
64.定时器产生中断信号后输出至处理器,处理器接收到该中断信号后即执行中断函数,从而实现gpio翻转。从中断信号产生到完成gpio翻转这段时间可称为中断处理时间t1",在这段时间t1"中,由于只能捕捉到终点时刻(输出翻转)的波形而无法捕捉到起点时刻(产生中断信号或滤波器输出跳变)的波形,因此t1"的时间也无法统计得到。但是,计时从下降沿到来到gpio翻转所需的时间t1可以统计得到,根据上述可知t1=t1'+t1"。
65.同理,下降沿出现后当定时器滤波器连续采样低电平个数未达到n2个时,此时定时器滤波器仍输出原来的电平(高电平);当定时器滤波器连续采样到的低电平个数达到n2个后,定时器滤波器由原来的输出高电平跳变为低电平,并且此时定时器滤波器产生中断信号。从下降沿出现到产生中断信号这段时间可称为滤波时间t2',在这段时间t2'中,由于只能捕捉到起始时刻(下降沿到来)的波形而无法捕到终点时刻(产生中断信号或滤波器输出跳变)的波形,因此,t2'的时间无法统计得到。
66.定时器滤波器产生中断信号后输出至处理器,处理器接收到该中断信号后即执行中断函数,从而实现gpio翻转。从中断信号产生到完成gpio翻转这段时间可称为中断处理时间t2",在这段时间t2"中,由于只能捕捉到终点时刻(输出翻转)的波形而无法捕捉到起点时刻(产生中断信号或滤波器输出跳变)的波形,因此t2"的时间也无法统得到。但是,由于波形图上能够捕捉到下降沿出现及gpio翻转的波形,因此,计时从下降沿出现到gpio翻转所需的时间t2。可以统计得到,根据上述可知t2=t2'+t2"。
67.最后,通过公式f=1/((t2-t1)/(n2-n1))能够计算出定时器滤波器的实际采样频率,因为同一处理器上该中断处理时间是相等的,即t1"=t2"。则t2-t1=t2'-t1',表示滤波时间差,也表示记录n2个电平和记录n1个电平的时间差,因此((t2-t1)/(n2-n1))即表示记录一个电平所用的时间,因此1/((t2-t1)/(n2-n1))表示定时器滤波器的实际采样频率。
68.在一个实施例中,本申请还公开了一种控制装置,请参阅图4所示,该控制装置包括定时器滤波器200和处理器300。定时器滤波器200用于接收发自信号发生器100的边沿信号(上升沿信号或下降沿信号),并被预设在n个事件后产生输出跳变,随即产生中断信号,
其中,n个事件为连续采样到n次个有效电平;处理器300包括定时器滤波器预设程序301、中断处理程序302和采样率计算程序303;定时器滤波器预设程序301用于预设定时器滤波器在n(n1、n2、、、)个事件后产生输出跳变,并在输出跳变后随即产生中断信号;中断处理程序302用于在接收到中断信号后执行中断函数,使gpio翻转;采样率计算程序303用于计算边沿信号边沿出现到gpio翻转的时间t(t1、t2、、、),并通过公式1/((t2-t1)/(n2-n1))计算得到所述定时器滤波器实际采样率。
69.具体地,定时器滤波器200被处理器300的预设程序301预设为在n1个事件后产生第一输出跳变,随即产生第一中断信号;在n2个事件后产生第二输出跳变,随即道理第二中断信号;其中,n1个事件为连续采样到n1次个有效电平,n2事件为连续采样到n2次个有效电平,且,n1、n2为正整数,n2>n1。信号发生器100向定时器滤波器200输入边沿信号(包括上升沿信号和下降沿信号);使定时器滤波器200在n1个事件后产生第一输出跳变,随即产生第一中断信号;在n2个事件后产生第二输出跳变,随即产生第二中断信号。处理器300接收第一中断信号或第二中断信号后执行中断处理程序302,即触发中断函数分别对应产生第一gpio翻转和第二gpio翻转;处理器300还执行采样率计算程序303,计时从边沿信号出现边沿到产生第一gpio翻转所需的时间t1及从边沿信号出现边沿到产生第二gpio翻转所需的时间t2,再根据公式f=1/((t2-t1)/
70.(n2-n1))计算出定时器滤波器的实际采样率。
71.在另一个实施例中,本申请还公开了一种控制装置,请参阅图5所示,该控制装置包括定时器滤波器200、处理器300、gpio接口400和信号采集器500。定时器滤波器200包括输入接口,用于接收发自信号发生器100的边沿信号,并被预设在n个事件后产生输出跳变,其中,n个事件为连续采样到n次个有效电平。处理器300包括定时器滤波器预设程序301、中断处理程序302;定时器滤波器预设程序301用于预设定时器滤波器在n(n1、n2、、、)个事件后产生输出跳变,并在输出跳变后随即产生中断信号;中断处理程序302用于在接收到中断信号后执行中断函数,使gpio接口400上的输出信号翻转。信号采集器400耦合至定时器滤波器输入接口和所述gpio接口400,用于记录边沿信号和gpio输出信号的波形,以计时边沿信号从出现边沿到产生gpio翻转所需的时间t(t1、t2、、、)。最后根据公式f=1/((t2-t1)/(n2-n1))计算出定时器滤波器的实际采样率。
72.具体地,定时器滤波器200被处理器的预设程序301预设为在n1个事件后产生第一输出跳变,随即产生第一中断信号,在n2个事件后产生第二输出跳变,随即产生第二中断信号;其中,n1个事件为连续采样到n1次个有效电平,n2事件为连续采样到n2次个有效电平,且,n1、n2为正整数,n2>n1。信号发生器100向定时器滤波器输入接口输入边沿信号(包括上升沿信号和下降沿信号);使定时器滤波器200在n1个事件后产生第一输出跳变,随即产生第一中断信号;在n2个事件后产生第二输出跳变,随即产生第二中断信号。处理器300接收第一中断信号或第二中断信号后执行中断处理程序302,即触发中断函数分别对应产生第一gpio翻转和第二gpio翻转;信号采集器400记录定时器滤波器输入接口201上的边沿信号波形和gpio接口上的输出信号波形,并计时从边沿信号出现边沿到产生第一gpio翻转所需的时间t1及从所述边沿信号出现边沿到产生第二gpio翻转所需的时间t2。最后根据公式f=1/((t2-t1)/(n2-n1))即计算出定时器滤波器的实际采样率。
73.其中,所述处理器可以是cpu(central processing unit,中央处理器)。
74.其中,如图6所示,定时器滤波器200、处理器300、gpio接口400可集成和封装在一芯片上。并且,该芯片可以是mcu(micro control unit,微控制器单元)芯片,也可以是mpu(micro processor unit,微处理器单元)、dsp(digital signal processing/processor,数字信号处理)芯片。
75.其中,信号采集器500可设置为示波器。
76.在本实施例中,通过计算器根据公式f=1/((t2-t1)/(n2-n1))计算出定时器滤波器的实际采样频率。可以理解,在其他实施例中,也可以通过人工计算出定时器滤波器的实际采样频率。
77.以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1