CN109143043B - 控制器io输入防抖检测方法、系统、装置及存储介质 - Google Patents
控制器io输入防抖检测方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN109143043B CN109143043B CN201811165302.9A CN201811165302A CN109143043B CN 109143043 B CN109143043 B CN 109143043B CN 201811165302 A CN201811165302 A CN 201811165302A CN 109143043 B CN109143043 B CN 109143043B
- Authority
- CN
- China
- Prior art keywords
- input
- value
- detection result
- result value
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 307
- 230000035945 sensitivity Effects 0.000 claims abstract description 88
- 238000004364 calculation method Methods 0.000 claims abstract description 65
- 230000009471 action Effects 0.000 claims abstract description 20
- 238000005070 sampling Methods 0.000 claims description 76
- 238000000034 method Methods 0.000 abstract description 31
- 238000013461 design Methods 0.000 abstract description 13
- 238000001914 filtration Methods 0.000 description 18
- 230000006698 induction Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 241000282326 Felis catus Species 0.000 description 9
- 241000282472 Canis lupus familiaris Species 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 239000000779 smoke Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31708—Analysis of signal quality
- G01R31/31709—Jitter measurements; Jitter generators
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Analogue/Digital Conversion (AREA)
- Measurement Of Current Or Voltage (AREA)
Abstract
本发明公开了一种控制器IO输入防抖检测方法、系统、装置及存储介质,该方法包括:基于预设条件,检测并获取IO输入信号;根据当前IO输入检测场景,确定灵敏度参数及门限值,获取IO输入信号对应的计算检测结果值;判断计算检测结果值与门限上限值、门限下限值之间的关系:若计算检测结果值大于门限上限值或计算检测结果值小于门限下限值,则确定IO输入信号为稳定信号并输出IO输入信号;若计算检测结果值处于门限上限值与门限下限值之间,则确定IO输入信号为抖动信号且不执行输出动作;本发明扩大了防抖检测应用范围,提升IO输入检测准确性,更好地满足了系统设计要求。
Description
技术领域
本发明涉及工业控制传感与检测技术领域,尤其涉及一种控制器IO输入防抖检测方法、系统、装置及存储介质。
背景技术
在现代工控与检测领域中,存在大量的IO(Input/Output,输入输出)状态量检测需求,诸如人体感应检测、手指触摸感应检测、烟雾报警检测、行程开关/限位开关状态检测等,检测设备用于检测IO口输入的电平信号并将检测到的IO输入作为IO状态量输出,由于IO口接收到的输入信号弱、信号状态不确定导致检测设备输出的IO状态常出现剧烈的抖动,如果此时MCU(Microcontroller Unit,微控制单元,又称单片机)采用简单的IO检测方法,则容易出现由于IO检测失误造成测试误判从而引起系统功能失效等问题。
目前,行业常采用输入延时检测方法,对IO输入进行防抖处理:该方法针对IO输入,当IO电平状态出现变化后,MCU延时一段时间(通常10ms左右),再判断一次是否还是刚刚IO电平状态,如果是,则确定检测到的电平信号为可靠信号,再等待按键释放并输出IO检测结果。然而该方法适用于行程开关/限位开关状态检测等机械按键检测的简单应用场合,对于其它检测情况复杂的应用场合,例如人体感应检测等场景,需要剔除猫狗等小目标感应干涉,简单的通过延时防抖就不再能满足系统的设计要求。
发明内容
本发明提供一种控制器IO输入防抖检测方法、系统、装置及存储介质,旨在实现可以根据不同的IO输入检测场景,选择不同的灵敏度参数及门限值来滤除IO输入信号中的抖动信号,扩大了防抖检测应用范围,提升了IO输入检测准确性,更好地满足系统设计要求。
为实现上述目的,本发明提供一种控制器IO输入防抖检测方法,所述方法应用于控制器IO输入防抖检测系统,所述方法包括:
基于预设条件,检测并获取IO输入信号;
根据当前IO输入检测场景,确定灵敏度参数及门限值,其中所述门限值包括门限上限值和门限下限值,且所述门限上限值大于所述门限下限值;
根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;
判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:
若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;
若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。
可选地,所述基于预设条件,检测并获取IO输入信号的步骤包括:
基于预设采样条件,检测IO输入的模拟信号;
获取当前采样时刻所述模拟信号对应的数字信号。
可选地,所述根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值的步骤包括:
获取所述数字信号对应的逻辑值;
将所述灵敏度参数、所述逻辑值代入所述灵敏度参数、所述逻辑值和计算检测结果值三者之间的预设公式中,获取所述逻辑值对应的当前采样时刻计算检测结果值。
可选地,所述预设公式为Sn=Sn-1+Inn-Outn-1,Outn=Sn/N;
其中,Sn为当前采样时刻计算结果值,Sn-1为上一采样时刻计算结果值,Inn为当前采样时刻数字信号对应的逻辑值,Outn-1为上一采样时刻计算检测结果值,Outn为当前采样时刻计算检测结果值,N为所述灵敏度参数,且N为大于1的自然数;
其中,Sn-1及Outn-1的初始量均为0。
可选地,所述确定所述IO输入信号为抖动信号且不执行输出动作的步骤之后还包括:
发出提示信息用于提示IO输入信号抖动。
可选地,所述门限上限值、所述门限下限值的取值范围均为(0,1)。
可选地,所述N取值为8或16或32。
此外,为实现上述目的,本发明还提供一种控制器IO输入防抖检测系统,所述控制器IO输入防抖检测系统包括:
采集单元,用于基于预设条件,检测并获取IO输入信号;
获取单元,根据当前IO输入检测场景,确定灵敏度参数及门限值;
计算单元,根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;
判断执行单元,用于判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:
若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;
若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。
此外,为实现上述目的,本发明还提供一种控制器IO输入防抖检测装置,所述控制器IO输入防抖检测装置包括处理器,存储器以及存储在所述存储器中的控制器IO输入防抖检测程序,所述控制器IO输入防抖检测程序被所述处理器运行时,实现如上所述的控制器IO输入防抖检测方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,应用于计算机,所述存储介质上存储有控制器IO输入防抖检测程序,所述控制器IO输入防抖检测程序被处理器运行时实现如上所述的控制器IO输入防抖检测方法的步骤。
相比现有技术,本发明提供一种控制器IO输入防抖检测方法,所述方法应用于控制器IO输入防抖检测系统,所述方法包括:基于预设条件,检测并获取IO输入信号;根据当前IO输入检测场景,确定灵敏度参数及门限值,其中所述门限值包括门限上限值和门限下限值,且所述门限上限值大于所述门限下限值;根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。由此实现了根据不同的IO输入检测场景,通过选择不同的灵敏度参数及门限值来确定当前IO输入信号为稳定信号还是抖动信号,以此来滤除当前IO输入信号中的抖动信号,扩大了防抖检测应用范围,提升IO输入检测准确性,更好地满足系统设计要求。
附图说明
图1是本发明控制器IO输入防抖检测方法第一实施例的流程示意图;
图2是本发明控制器IO输入防抖检测方法第二实施例的流程示意图;
图3是本发明控制器IO输入防抖检测方法第三实施例的流程示意图;
图4是本发明控制器IO输入防抖检测装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:基于预设条件,检测并获取IO输入信号;根据当前IO输入检测场景,确定灵敏度参数及门限值,其中所述门限值包括门限上限值和门限下限值,且所述门限上限值大于所述门限下限值;根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。
现有技术中,行业常采用输入延时检测方法,对IO输入进行防抖处理:该方法针对IO输入,当IO电平状态出现变化后,MCU延时一段时间(通常10ms左右),再判断一次是否还是刚刚IO电平状态,如果是,则确定检测到的电平信号为可靠信号,再等待按键释放并输出IO检测结果。然而该方法适用于行程开关/限位开关状态检测等机械按键检测的简单应用场合,对于人体感应等这类应用场合,由于检测情况复杂多样,简单的通过延时防抖不能满足系统的设计要求。
本发明通过根据不同的IO输入检测场景,选择不同的灵敏度参数及门限值,达到滤除IO输入信号中的抖动信号再输出的效果,扩大防抖检测应用范围,提升IO输入检测准确性,更好地满足系统设计要求。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
参照图1,图1为本发明控制器IO输入防抖检测方法第一实施例的流程示意图。
本实施例中,所述控制器IO输入防抖检测方法应用于控制器IO输入防抖检测系统,所述方法包括:
步骤S10,基于预设条件,检测并获取IO输入信号;
在现代工控与检测领域中,存在大量的IO状态量检测需求,诸如人体感应检测、手指触摸感应检测、烟雾报警检测、行程开关/限位开关状态检测等,检测设备用于检测IO口输入的电平信号并将检测到的IO输入作为IO状态量输出,由于IO口接收到的输入信号弱、信号状态不确定导致检测设备输出的IO状态常出现剧烈的抖动,如果此时MCU(Microcontroller Unit,微控制单元,又称单片机)只是采用简单的IO检测方法,则容易出现由于IO检测失误造成测试误判从而引起系统功能失效等问题。
本实施例中,首先基于预设条件检测并获取IO输入信号,IO输入信号可以是电平信号,对检测设备IO输入的电平信号首先经过预处理,再进行计算分析后做防抖处理再作为IO输入检测结果输出。
具体地,作为一种实施方式,可以是检测到IO输入的电平信号,根据预设的采样时间间隔,对电平信号进行采样、量化及编码,将IO输入信号转换为对应的数字信号再进行计算分析防抖及输出。
步骤S20,根据当前IO输入检测场景,确定灵敏度参数及门限值;
其中所述门限值包括门限上限值和门限下限值,且所述门限上限值大于所述门限下限值。
现有技术中常采用输入延时检测方法对IO输入进行防抖处理:该方法针对IO输入,当IO电平状态出现变化后,MCU延时一段时间(通常10ms左右),再判断一次是否还是刚刚IO电平状态,如果是,则确定检测到的电平信号为可靠信号,再等待按键释放并输出IO检测结果。然而该方法适用于行程开关/限位开关状态检测等机械按键检测的简单应用场合,对于人体感应等这类应用场合,由于检测情况复杂多样,简单的通过延时防抖不能满足系统的设计要求,例如在人体感应检测中,需要剔除猫狗等小目标感应干涉场景下,如采用延时检测方法,即当第一次检测到IO输入的猫狗动物电平信号后,延时10ms再检测一次,如果还是所述第一次的IO电平状态,则确定第二次检测到的电平信号为可靠信号并输出检测结果,但有可能第二次检测到的电平信号依然是猫狗动物电平信号,则延时防抖未能有效剔除猫狗等小目标感应干涉。
本实施例中,根据当前IO输入检测场景,确定灵敏度参数及门限值,具体地,在上述例子中,由于猫狗等动物身体发出的辐射波相较于人体发出的辐射波是很小的,本实施例则可以根据应用场景改变灵敏度参数及门限值,将IO输入检测系统的灵敏度调高,则可实现有效剔除猫狗等小目标的感应干涉并且可以有效去抖后再输出IO检测结果,提升系统IO输入检测准确性,扩大IO输入防抖检测应用范围,更好地满足系统设计要求。
步骤S30,根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;
本实施例中,所述对应关系可以是一个计算式,将所述灵敏度参数、IO输入信号代入所述对应关系即可通过计算获取IO输入信号对应的计算检测结果值,得到的计算检测结果值用于和门限值比较并以此判断IO输入信号为稳定信号还是抖动毛刺,若为稳定信号则输出,若为抖动信号则不输出,实现IO输入信号的防抖。
在其它实施例中,作为一种实施方式,可以根据滤波算法结合不同的门限值,实现对IO输入有效防抖。基于预设条件,检测并获取IO输入信号的步骤可以包括:基于预设采样条件,检测IO输入的模拟信号;获取当前采样时刻所述模拟信号对应的数字信号。进一步地,根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值的步骤可以包括:获取所述数字信号对应的逻辑值;将所述灵敏度参数、所述逻辑值代入所述灵敏度参数、所述逻辑值和计算检测结果值三者之间的预设公式中,获取所述逻辑值对应的当前采样时刻计算检测结果值。基于上述步骤,获取所述数字信号对应的逻辑值,将IO输入电平信号转换为0/1数值进行后续计算分析处理。在其它实施例中,作为一种实施方式,所述预设公式可以是Sn=Sn-1+Inn-Outn-1,Outn=Sn/N;其中,Sn为当前采样时刻计算结果值,Sn-1为上一采样时刻计算结果值,Inn为当前采样时刻数字信号对应的逻辑值,Outn-1为上一采样时刻计算检测结果值,Outn为当前采样时刻计算检测结果值,N为所述灵敏度参数,且N为大于1的自然数;其中,Sn-1及Outn-1的初始量均为0。
具体地,根据应用场景确定抖动检测灵敏度需求后确定N值,N值越大,检测灵敏度越低,N值越小,检测灵敏度越高,例如当前应用场景为人体感应检测,系统想要通过IO状态检测滤除猫狗类动物对IO输入造成的抖动毛刺,则可相应地调高N值降低检测设备的检测灵敏性来实现。
进一步地,Sn-1及Outn-1的初始量均初始化为0,Sn=Sn-1+Inn-Outn-1,令当前采样时刻数字信号对应的逻辑值输入为变量Inn,将上一采样时刻计算结果值,当前采样时刻数字信号对应的逻辑值,上一采样时刻计算检测结果值按上述公式计算后保存为当前采样时刻计算结果值,根据Outn=Sn/N,用当前采样时刻计算结果值计算出当前采样时刻计算检测结果值,用于所述IO输入信号的防抖处理。可以理解的是,在本发明其它实施例中,还可以使用其它算法对IO输入信号进行计算分析,此处不做具体限制。
步骤S40,判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:
若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则进入步骤S50,确定所述IO输入信号为稳定信号并输出所述IO输入信号;
若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则进入步骤S60,确定所述IO输入信号为抖动信号且不执行输出动作。
若所述当前采样时刻计算检测结果值大于所述门限上限值,则评定当前IO输入稳定地达到状态1;若所述当前采样时刻计算检测结果值小于所述门限下限值,则评定当前IO输入稳定地达到状态0;若所述当前采样时刻计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作,可以理解的是,实际应用中,可以根据实际检测环境,设定当前采样时刻计算检测结果值高于门限上限值即输出检测到的输入信号,也可以设定当前采样时刻计算检测结果值低于门限下限值即输出检测到的输入信号,此处不做具体限制,所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值即可确定所述IO输入信号为稳定信号,实际应用中,可以根据实际应用场景设定所述门限上限值及所述门限下限值。
本实施例通过上述方案,基于预设条件,检测并获取IO输入信号;根据当前IO输入检测场景,确定灵敏度参数及门限值,其中所述门限值包括门限上限值和门限下限值,且所述门限上限值大于所述门限下限值;根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作;由此实现了根据不同的IO输入检测场景,选择不同的灵敏度参数及门限值来确定当前IO输入信号为稳定信号还是抖动信号,达到了滤除当前IO输入信号中的抖动信号再输出的效果,扩大了防抖检测应用范围,提升IO输入检测准确性,更好地满足系统设计要求。
如图2所示,本发明第二实施例提出一种控制器IO输入防抖检测方法,基于上述图1所示的第一实施例,步骤S10,基于预设条件,检测并获取IO输入信号的步骤包括:
步骤S11,基于预设采样条件,检测IO输入的模拟信号;
步骤S12,获取当前采样时刻所述模拟信号对应的数字信号。
作为一种实施方式,本实施例中,IO输入防抖检测基于固定采样检测,检测到IO输入的电平信号后,根据预设的采样时间间隔,对电平信号进行采样、量化及编码,将IO输入信号转换为对应的数字信号再进行计算分析防抖及输出。
具体地,本实施例控制器IO输入防抖检测方法可以将检测到IO输入的电平信号后,根据预设的采样时间间隔,对电平信号进行采样、量化及编码后输入数字滤波器进行滤波处理,滤波处理后得到当前采样时刻计算检测结果值,将所述滤波处理后得到当前采样时刻计算检测结果值输入门限值检测单元进行比较,判断所述计算检测结果值与预设的门限上限值、预设的门限下限值之间的关系,其中所述门限上限值大于所述门限下限值;若所述当前采样时刻计算检测结果值大于所述门限上限值,则评定当前IO输入稳定地达到状态1;若所述当前采样时刻计算检测结果值小于所述门限下限值,则评定当前IO输入稳定地达到状态0;若所述当前采样时刻计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。
本实施例通过上述方案,基于预设采样条件,检测IO输入的模拟信号,获取当前采样时刻所述模拟信号对应的数字信号;根据当前IO输入检测场景,确定灵敏度参数及门限值,其中所述门限值包括门限上限值和门限下限值,且所述门限上限值大于所述门限下限值;根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作;由此实现可以根据不同的IO输入检测场景,选择不同的灵敏度参数及门限值,达到滤除IO输入信号中的抖动信号再输出的效果,扩大防抖检测应用范围,提升IO输入检测准确性,更好地满足系统设计要求。
如图3所示,本发明第三实施例提出一种控制器IO输入防抖检测方法,基于上述图2所示的第二实施例,步骤S30,根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值的步骤包括:
步骤S31,获取所述数字信号对应的逻辑值;
步骤S32,将所述灵敏度参数、所述逻辑值代入所述灵敏度参数、所述逻辑值和计算检测结果值三者之间的预设公式中,获取所述逻辑值对应的当前采样时刻计算检测结果值。
进一步地,基于上述图2所示的第二实施例,步骤S32,将所述灵敏度参数、所述逻辑值代入所述灵敏度参数、所述逻辑值和计算检测结果值三者之间的预设公式中,获取所述逻辑值对应的当前采样时刻计算检测结果值,所述预设公式为Sn=Sn-1+Inn-Outn-1,Outn=Sn/N;
其中,Sn为当前采样时刻计算结果值,Sn-1为上一采样时刻计算结果值,Inn为当前采样时刻数字信号对应的逻辑值,Outn-1为上一采样时刻计算检测结果值,Outn为当前采样时刻计算检测结果值,N为所述灵敏度参数,且N为大于1的自然数;
其中,Sn-1及Outn-1的初始量均为0。
步骤S40,判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:
若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则进入步骤S50,确定所述IO输入信号为稳定信号并输出所述IO输入信号;
若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则进入步骤S60,确定所述IO输入信号为抖动信号且不执行输出动作。
作为一种实施方式,本实施例中,将IO输入电平信号转换为0和1值的输入信号,对IO输入信号进行滤波防抖处理,为了提高该方法可以针对不同应用场景的适用性,以及适应该类应用处理芯片的资源限制,本实施例结合Butterworth数值滤波算法与滑动窗口滤波算法的特点,实现了通过一个简化的滤波算法并采用两个参数调整滤波防抖检测的敏感性,灵敏度参数N为整数且是大于1的自然数,是可变参数,结合防抖检测灵敏度及检测累计结果时间,N的取值优选地可以为8、16或32,它影响计算检测结果的累计量,可以用于调整防抖检测方法的敏感度,N值越大则防抖检测累计越慢,防抖效果越好,但检测累计结果时间则越长。因此,在方法应用过程中根据实际应用对象合理选择N值,本实施例不做具体限制。
具体地,将所述逻辑值带入公式Sn=Sn-1+Inn-Outn-1,Outn=Sn/N中计算,获取当前采样时刻计算检测结果值Outn;Inn为当前采样时刻数字信号对应的逻辑值,根据应用场景确定抖动检测灵敏度需求后确定N值,N值越大,检测灵敏度越低,N值越小,检测灵敏度越高,例如当前应用场景为人体感应检测,系统想要通过IO状态检测滤除猫狗类动物对IO输入造成的抖动毛刺,则可相应地调高N值降低检测设备的检测灵敏性来实现,Sn-1及Outn-1的初始量均初始化为0,令当前采样时刻数字信号对应的逻辑值输入为变量Inn,将上一采样时刻计算结果值,当前采样时刻数字信号对应的逻辑值,上一采样时刻计算检测结果值按上述公式计算后保存为当前采样时刻计算结果值,根据Outn=Sn/N,用当前采样时刻计算结果值除N计算出当前采样时刻计算检测结果值,用于所述IO输入信号的防抖处理。
判断所述当前采样时刻计算检测结果值与预设的门限上限值、预设的门限下限值之间的关系;可以理解的是,基于相同的N值,所述门限上限值与所述门限下限值之间的差值越大,则检测灵敏度越低,所述门限上限值与所述门限下限值之间的差值越小,则检测灵敏度越低,实际应用可以根据不用的灵敏度需求,基于上述滤波算法,门限上限值、门限下限值在(0,1)内灵活设置。当IO输入检测出一系列抖动时,IO防抖检测方法会不断累积抖动输入的影响量,直到达到一个上限值后,即所述当前采样时刻计算检测结果值大于所述门限上限值,则评定当前IO输入状态己可靠的达到状态1;当IO输入检测出一系列抖动时,IO防抖检测方法会不断累积抖动输入的影响量,但输入抖动累计量未能达到门限上限值后又跌回了系统检测的门限上限值以下,即所述当前采样时刻计算检测结果值小于所述门限下限值,则评定当前IO输入状态己可靠的达到状态0,若所述当前采样时刻计算检测结果值处于所述门限上限值与所述门限下限值之间,即IO输入还在门限值之间抖动,则目前还无法确定IO的最终状态,进一步地,步骤S60,确定所述IO输入信号为抖动信号且不执行输出动作的步骤之后还包括:步骤S70,发出提示信息用于提示IO输入信号抖动。发出提示信息用于提示检测结果待定,实际应用中,可以根据实际检测环境,设定当前采样时刻计算检测结果值高于门限上限值即输出检测到的输入信号,也可以设定当前采样时刻计算检测结果值低于门限下限值即输出检测到的输入信号,此处不做具体限制,所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值即可确定所述IO输入信号为稳定信号。可以理解的是,对于本发明检测到的IO输入信号还可以采用其他算法进行计算分析,并结合其他区别于门限值的方法去抖,此处不做具体限制。
本实施例控制器IO输入防抖检测方法将IO输入电平信号视为0和1值的输入模拟信号,结合了Butterworth数值滤波算法与滑动窗口滤波算法的特点,设计了一个极为简化的数值滤波方法对IO输入的抖动进行累计,然后通过门限比较处理得到最后的检测结果,通过改变N值及门限值,适用于人体感应检测、手指触摸感应检测、烟雾报警检测、行程开关/限位开关等多种应用场景,适用范围广,本实施例控制器IO输入防抖检测方法简单,计算量非常小,程序实现变量需求量非常小,极大减少了方法对系统资源的依赖成度。
本实施例通过上述方案,基于预设采样条件,检测IO输入的模拟信号,获取当前采样时刻所述模拟信号对应的数字信号;根据当前IO输入检测场景,确定灵敏度参数及门限值,获取所述数字信号对应的逻辑值;将所述灵敏度参数、所述逻辑值代入所述灵敏度参数、所述逻辑值和计算检测结果值三者之间的预设公式中,获取所述逻辑值对应的当前采样时刻计算检测结果值;判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作;发出提示信息用于提示IO输入信号抖动。由此实现了根据不同的IO输入检测场景,选择不同的灵敏度参数及门限值来确定当前IO输入信号为稳定信号还是抖动信号,达到了滤除当前IO输入信号中的抖动信号再输出的效果,扩大了防抖检测应用范围,提升IO输入检测准确性,更好地满足系统设计要求。
此外,本发明实施例还提供一种控制器IO输入防抖检测系统,所述控制器IO输入防抖检测系统包括:
采集单元,用于基于预设条件,检测并获取IO输入信号;
获取单元,根据当前IO输入检测场景,确定灵敏度参数及门限值;
计算单元,根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;
判断执行单元,用于判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:
若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;
若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。
本实施例控制器IO输入防抖检测系统各个组成部件运行时实现如上所述的控制器IO输入防抖检测方法的步骤,在此不再赘述。
本发明实施例还提出一种控制器IO输入防抖检测装置,参照图4,图4是本发明各实施例涉及的控制器IO输入防抖检测装置的硬件结构示意图。本发明实施例中,控制器IO输入防抖检测装置可以包括处理器1001(例如中央处理器Central Processing Unit、CPU),通信总线1002,输入端口1003,输出端口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;输入端口1003用于数据输入;输出端口1004用于数据输出,存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图4中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图4,图4中作为一种可读存储介质的存储器1005可以包括操作系统、网络通信模块、应用程序模块以及控制器IO输入防抖检测程序。在图4中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的控制器IO输入防抖检测程序,并执行本发明实施例提供的控制器IO输入防抖检测方法;
基于预设条件,检测并获取IO输入信号;
根据当前IO输入检测场景,确定灵敏度参数及门限值,其中所述门限值包括门限上限值和门限下限值,且所述门限上限值大于所述门限下限值;
根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;
判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:
若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;
若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。
此外,本发明实施例还提供一种存储介质,所述存储介质上存储有控制器IO输入防抖检测程序,所述控制器IO输入防抖检测程序被处理器运行时实现如上所述控制器IO输入防抖检测方法的步骤。
其中,所述控制器IO输入防抖检测程序被执行是所实现的方法可参照本发明控制器IO输入防抖检测方法各个实施例,此处不再赘述。
相比现有技术,本发明提供一种控制器IO输入防抖检测方法,所述方法应用于控制器IO输入防抖检测系统,所述方法包括:基于预设条件,检测并获取IO输入信号;根据当前IO输入检测场景,确定灵敏度参数及门限值,其中所述门限值包括门限上限值和门限下限值,且所述门限上限值大于所述门限下限值;根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。由此实现了根据不同的IO输入检测场景,选择不同的灵敏度参数及门限值来确定当前IO输入信号为稳定信号还是抖动信号,达到了滤除当前IO输入信号中的抖动信号再输出的效果,扩大了防抖检测应用范围,提升IO输入检测准确性,更好地满足系统设计要求。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种控制器IO输入防抖检测方法,其特征在于,所述方法应用于控制器IO输入防抖检测系统,所述方法包括:
基于预设条件,检测并获取IO输入信号;
根据当前IO输入检测场景,确定灵敏度参数及门限值,其中所述门限值包括门限上限值和门限下限值,且所述门限上限值大于所述门限下限值;
根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;
判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:
若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;
若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。
2.根据权利要求1所述的控制器IO输入防抖检测方法,其特征在于,所述基于预设条件,检测并获取IO输入信号的步骤包括:
基于预设采样条件,检测IO输入的模拟信号;
获取当前采样时刻所述模拟信号对应的数字信号。
3.根据权利要求2所述的控制器IO输入防抖检测方法,其特征在于,所述根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值的步骤包括:
获取所述数字信号对应的逻辑值;
将所述灵敏度参数、所述逻辑值代入所述灵敏度参数、所述逻辑值和计算检测结果值三者之间的预设公式中,获取所述逻辑值对应的当前采样时刻计算检测结果值。
4.根据权利要求3所述的控制器IO输入防抖检测方法,其特征在于,所述预设公式为Sn=Sn-1+Inn-Outn-1,Outn=Sn/N;
其中,Sn为当前采样时刻计算结果值,Sn-1为上一采样时刻计算结果值,Inn为当前采样时刻数字信号对应的逻辑值,Outn-1为上一采样时刻计算检测结果值,Outn为当前采样时刻计算检测结果值,N为所述灵敏度参数,且N为大于1的自然数;
其中,Sn-1及Outn-1的初始量均为0。
5.根据权利要求4所述的控制器IO输入防抖检测方法,其特征在于,所述确定所述IO输入信号为抖动信号且不执行输出动作的步骤之后还包括:
发出提示信息用于提示IO输入信号抖动。
6.根据权利要求4所述的控制器IO输入防抖检测方法,其特征在于,所述门限上限值、所述门限下限值的取值范围均为(0,1)。
7.根据权利要求6所述的控制器IO输入防抖检测方法,其特征在于,所述N取值为8或16或32。
8.一种控制器IO输入防抖检测系统,其特征在于,所述控制器IO输入防抖检测系统包括:
采集单元,用于基于预设条件,检测并获取IO输入信号;
获取单元,根据当前IO输入检测场景,确定灵敏度参数及门限值;
计算单元,根据所述灵敏度参数,及预设的灵敏度参数、IO输入信号和计算检测结果值三者之间的对应关系,获取所述IO输入信号对应的计算检测结果值;
判断执行单元,用于判断所述计算检测结果值与所述门限上限值、所述门限下限值之间的关系:
若所述计算检测结果值大于所述门限上限值或所述计算检测结果值小于所述门限下限值,则确定所述IO输入信号为稳定信号并输出所述IO输入信号;
若所述计算检测结果值处于所述门限上限值与所述门限下限值之间,则确定所述IO输入信号为抖动信号且不执行输出动作。
9.一种控制器IO输入防抖检测装置,其特征在于,所述控制器IO输入防抖检测装置包括处理器,存储器以及存储在所述存储器中的控制器IO输入防抖检测程序,所述控制器IO输入防抖检测程序被所述处理器运行时,实现如权利要求1-7中任一项所述的控制器IO输入防抖检测方法的步骤。
10.一种存储介质,其特征在于,应用于计算机,所述存储介质上存储有控制器IO输入防抖检测程序,所述控制器IO输入防抖检测程序被处理器运行时实现如权利要求1-7中任一项所述的控制器IO输入防抖检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811165302.9A CN109143043B (zh) | 2018-09-30 | 2018-09-30 | 控制器io输入防抖检测方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811165302.9A CN109143043B (zh) | 2018-09-30 | 2018-09-30 | 控制器io输入防抖检测方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109143043A CN109143043A (zh) | 2019-01-04 |
CN109143043B true CN109143043B (zh) | 2021-04-16 |
Family
ID=64810256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811165302.9A Active CN109143043B (zh) | 2018-09-30 | 2018-09-30 | 控制器io输入防抖检测方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109143043B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019109653A1 (de) * | 2019-04-11 | 2020-10-15 | Zf Automotive Germany Gmbh | Verfahren zum Entprellen eines elektrischen Eingangssignals sowie Entprellmodul |
CN110853225B (zh) * | 2019-11-01 | 2020-11-17 | 广州乐摇摇信息科技有限公司 | 一种解决mcu io电平信号上电抖动的电路及电子支付自助设备 |
CN111654100B (zh) * | 2020-04-13 | 2023-05-16 | 上海紫通信息科技有限公司 | 一种遥信防抖扫描方法 |
CN112491381B (zh) * | 2020-11-12 | 2022-10-28 | 苏州长风航空电子有限公司 | 用于改善控制系统微分计算稳定性的滤波方法 |
CN115483993A (zh) * | 2021-06-15 | 2022-12-16 | 中兴通讯股份有限公司 | 检测输入信号对输出信号影响的方法、装置、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1321026A (zh) * | 2000-04-07 | 2001-11-07 | 株式会社Ntt都科摩 | 在数据传输中减少延迟抖动的装置和方法 |
CN1900915A (zh) * | 2005-07-18 | 2007-01-24 | 鸿富锦精密工业(深圳)有限公司 | 系统主板接收信号灵敏度的测量装置与方法 |
CN102591328A (zh) * | 2012-03-02 | 2012-07-18 | 三一重工股份有限公司 | 一种参数自校准方法及操纵装置 |
CN103140811A (zh) * | 2010-10-11 | 2013-06-05 | 通用电气公司 | 用于检测并且去除传感器信号脉冲干扰的系统、方法和设备 |
CN106201019A (zh) * | 2016-06-28 | 2016-12-07 | 广东欧珀移动通信有限公司 | 一种接近传感器的阈值调节方法及移动终端 |
WO2018121330A1 (zh) * | 2016-12-29 | 2018-07-05 | 阿里巴巴集团控股有限公司 | 一种检测方法、相关装置和系统 |
-
2018
- 2018-09-30 CN CN201811165302.9A patent/CN109143043B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1321026A (zh) * | 2000-04-07 | 2001-11-07 | 株式会社Ntt都科摩 | 在数据传输中减少延迟抖动的装置和方法 |
CN1900915A (zh) * | 2005-07-18 | 2007-01-24 | 鸿富锦精密工业(深圳)有限公司 | 系统主板接收信号灵敏度的测量装置与方法 |
CN103140811A (zh) * | 2010-10-11 | 2013-06-05 | 通用电气公司 | 用于检测并且去除传感器信号脉冲干扰的系统、方法和设备 |
CN102591328A (zh) * | 2012-03-02 | 2012-07-18 | 三一重工股份有限公司 | 一种参数自校准方法及操纵装置 |
CN106201019A (zh) * | 2016-06-28 | 2016-12-07 | 广东欧珀移动通信有限公司 | 一种接近传感器的阈值调节方法及移动终端 |
WO2018121330A1 (zh) * | 2016-12-29 | 2018-07-05 | 阿里巴巴集团控股有限公司 | 一种检测方法、相关装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109143043A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109143043B (zh) | 控制器io输入防抖检测方法、系统、装置及存储介质 | |
KR101952798B1 (ko) | 검출 거리 보정 방법, 장치, 및 디바이스 | |
KR101639720B1 (ko) | 직접 주입 솔레노이드 주입기 개방 시간 검출 | |
CN107925405A (zh) | 用于触发脚踏检测的自适应信号阈值 | |
CN112585494A (zh) | 激光雷达信号处理方法、装置、计算机设备和存储介质 | |
CN113259213B (zh) | 一种基于边缘计算智能网关的智能家居信息监控方法 | |
KR101866768B1 (ko) | 운전자 특성을 고려한 운전 지원 장치 및 방법 | |
CN112639517A (zh) | 激光雷达测距方法、装置、计算机设备和存储介质 | |
CN110109130B (zh) | 目标位置检测方法、装置、传感器及存储介质 | |
CN109254291B (zh) | 云雷达的多普勒功率谱数据融合方法及装置 | |
CN110007967B (zh) | 一种基于流式框架的数据处理方法、装置及设备 | |
TWI634455B (zh) | 動作偵測方法與動作偵測裝置 | |
CN106847306B (zh) | 一种异常声音信号的检测方法及装置 | |
CN111091518B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN117687110A (zh) | 抗环境光干扰的方法、系统、设备及存储介质 | |
JP4647284B2 (ja) | アナログ/デジタル変換方法及びアナログ/デジタル変換回路 | |
CN117218027A (zh) | 一种噪声确定方法、装置及电子设备 | |
CN110598797A (zh) | 故障的检测方法及装置、存储介质和电子装置 | |
US11322137B2 (en) | Video camera | |
CN115904719A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN112764791A (zh) | 一种增量更新的恶意软件检测方法及系统 | |
CN111324600A (zh) | 数据清洗方法及装置 | |
CN113300897B (zh) | 因果关系的识别方法、终端设备及存储介质 | |
CN115659134B (zh) | 一种提高芯片灵敏度的信号处理方法与相关装置 | |
US9423792B2 (en) | Method for suppressing interference |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |