基于FPGA的触发按键的采集方法技术

技术编号:20549686 阅读:22 留言:0更新日期:2019-03-09 22:01
本发明专利技术公开了一种基于FPGA的触发按键的采集方法,包括:对触发按键进行采样,并根据按键按下的时间对按键操作按照下述的方式进行分类:在按键操作在第一预设时间内弹起时,判定为短按操作,则执行数据变化;在按键操作在第一预设时间内未弹起时,判定为长按操作,则每个预设时间间隔执行一次数据变化,直至该数据变化为极限值或者按键弹起时终止。该基于FPGA的触发按键的采集方法克服了现有技术中的FPGA没有触发采集方法的问题,实现了FPGA的触发按键的采集。

【技术实现步骤摘要】
基于FPGA的触发按键的采集方法
本专利技术涉及航空、航天的显示,具体地,涉及一种基于FPGA的触发按键的采集方法。
技术介绍
在航空、航天的显示领域中,常常会使用到按键导光板作为人机交互的平台,而针对显示最常用的功能即是亮度和对比度调节,均是通过单独的触发按键实现的。针对亮度和对比度调节所需要的功能则分别有短按实现1个等级的变化,长按实现持续的等级变化,且有时还会出现亮度和对比度的调节等级不一致的情况,即亮度的调节等级为100级,而对比度的调节等级仅为64级或者16级。同时,按键采集还需具备防抖处理、掉电保存等功能。由于在航空、航天的显示领域中,FPGA具有其一定的便捷性和必要性,为了应对按键采集方法的适用性和可靠性,使用FPGA实现触发按键的采集的情况随之而来。
技术实现思路
本专利技术的目的是提供一种基于FPGA的触发按键的采集方法,该基于FPGA的触发按键的采集方法克服了现有技术中的FPGA没有触发采集方法的问题,实现了FPGA的触发按键的采集。为了实现上述目的,本专利技术提供了一种基于FPGA的触发按键的采集方法,该采集方法包括:对触发按键进行采样,并根据按键按下的时间对按键操作按照下述的方式进行分类:在按键操作在第一预设时间内弹起时,判定为短按操作,则执行数据变化;在按键操作在第一预设时间内未弹起时,判定为长按操作,则每个预设时间间隔执行一次数据变化,直至该数据变化为极限值或者按键弹起时终止。优选地,对触发按键进行采样的方法包括:通过对触发按键按下的下降沿进行采样。优选地,对触发按键进行采样的方法包括:预设按键采样的时钟频率为50KHz,在按键时间超过第二预设时间的情况下,判定该按键操作有效,否则,判定该按键操作无效。优选地,在判定为长按操作的情况下,控制打开计时器,并间隔一定的时间发出有效正脉冲,在检测到有效正脉冲的情况下,执行一次数据变化,直至该数据变化为极限值或者按键弹起时终止。优选地,数据变化为亮度级变化。优选地,记录并保存该亮度级变化。根据上述技术方案,本专利技术通过对按键操作时间的采集来确认按键的操作状态并执行相应的数据操作,同时也可根据客户需求,通过参数配置来调整短按时间、长按时间、长按数据变化时间等相关参数,具备较强的适应性和灵活性,可适用于各种情况下的按键操作,同时该方法具备一定的按键防抖处理,具备较高的可靠性。本专利技术的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术,但并不构成对本专利技术的限制。在附图中:图1是说明本专利技术的一种按键采集硬件电路图;图2是说明本专利技术的一种按键采集及数据处理流程图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。本专利技术提供一种基于FPGA的触发按键的采集方法,该采集方法包括:对触发按键进行采样,并根据按键按下的时间对按键操作按照下述的方式进行分类:在按键操作在第一预设时间内弹起时,判定为短按操作,则执行数据变化;在按键操作在第一预设时间内未弹起时,判定为长按操作,则每个预设时间间隔执行一次数据变化,直至该数据变化为极限值或者按键弹起时终止。根据上述技术方案,本专利技术通过对按键操作时间的采集来确认按键的操作状态并执行相应的数据操作,同时也可根据客户需求,通过参数配置来调整短按时间、长按时间、长按数据变化时间等相关参数,具备较强的适应性和灵活性,可适用于各种情况下的按键操作,同时该方法具备一定的按键防抖处理,具备较高的可靠性。在本专利技术的一种具体实施方式中,对触发按键进行采样的方法可以包括:通过对触发按键按下的下降沿进行采样。对于按键采集,我们首先需要确认下FPGA对其进行采样的时钟频率,考虑按键正常操作的持续时间和防抖处理,我们将按键采样的时钟频率一般设置为50KHz。对按键的硬件设计是将按键一端使用电阻上拉至3.3V,同时接到FPGA的IO管脚进行采集,按键另一端则连接到地。如图1所示。当按键未按下时,FPGA采集到的按键状态为高电平,当按键按下时,FPGA采集到的按键状态为从高电平变为低电平,按键松开后,又变回高电平。FPGA程序中使用50KHz的采样时钟对输入的按键状态进行实时采集。在初始状态0中,一直处在等待按键按下的状态,当按键按下时,高电平变为低电平产生的下降沿脉冲会被采集到,此时进入到状态1。状态1中是对低电平的持续时间进行采集,在状态1中有个持续时间的判断,即短按和长按的判断,如果低电平持续时间超过500ms(根据客户需求的长按判断时间),则认为此时按键是处于长按状态,进入状态3,如果持续时间未超过500ms就检测到了上升沿(上升沿表明按键松开),则认为按键刚执行了一次短按状态,进入到状态2。状态2是按键短按状态的处理,同时具有按键防抖处理。首先,对状态1中的按键采样时间进行判断,确认按键的时间大于10ms才确认按键有效(防抖处理)。如果确认按键有效,则将当前数据变化1级,实现按键操作。状态3是按键长按状态的处理。首先,此时将一个计时器打开,该计时器间隔一定的时间发出一个有效正脉冲,然后,检测到正脉冲后,将当前数据变化1级,如果一直处于长按状态,则会间隔一定的时间,数据累积变化1此,直到按键松开后结束。这样处理的目的是为使产品当前状态的变化更为平滑,而不是突变,如长按亮度调节,按上述方式处理,则产品的亮度调节是按一定速度平滑过渡的,而不是以突变或者跳变的方式,更容易让人接受。在本专利技术的一种具体实施方式中,对触发按键进行采样的方法可以包括:预设按键采样的时钟频率为50KHz,在按键时间超过第二预设时间的情况下,判定该按键操作有效,否则,判定该按键操作无效。在本专利技术的一种具体实施方式中,在判定为长按操作的情况下,控制打开计时器,并间隔一定的时间发出有效正脉冲,在检测到有效正脉冲的情况下,执行一次数据变化,直至该数据变化为极限值或者按键弹起时终止。在本专利技术的一种具体实施方式中,数据变化为亮度级变化。在本专利技术的一种具体实施方式中,记录并保存该亮度级变化。上述按键采集和处理流程中,按键短按的数据无需额外处理,按键按下一次,则数据变化1级,但需要保证正常数据的范围,不能溢出。而按键长按的数据则需要一些参数的配置,如长按状态下,多长时间数据变化1次。首先,根据用户需求,如,用户需要长按5s内可以完成从0级到99级的数据变化,则根据总的时间和变化等级,可以大致判断长按状态下,1级变化的时间约为5/100=50ms。因此,此处设定脉冲的触发时间为50ms。考虑到该程序模块的通用性和便捷性,我们需要配置的参数有两个:一是按键数据的上限值,一般下限值为0,上限值则需要根据用户需求,如亮度调节一般为100级或者255级,对比度调节一般为16级或者64级等。这个数据最大值的变量在程序模块中定义为data_max。二是,脉冲触发的时间,按上述要求的长按5s完成100级的调节,则脉冲时间为50ms,如果是5s完成64级的调节,则脉冲时间约为5/64=78ms。由于脉冲产生的时间是由定时器决定,则我们根据需求设定产生脉冲的定时器的参数变量即可,定时器的时间单位设置为1m本文档来自技高网...

【技术保护点】
1.一种基于FPGA的触发按键的采集方法,其特征在于,该采集方法包括:对触发按键进行采样,并根据按键按下的时间对按键操作按照下述的方式进行分类:在按键操作在第一预设时间内弹起时,判定为短按操作,则执行数据变化;在按键操作在第一预设时间内未弹起时,判定为长按操作,则每个预设时间间隔执行一次数据变化,直至该数据变化为极限值或者按键弹起时终止。

【技术特征摘要】
1.一种基于FPGA的触发按键的采集方法,其特征在于,该采集方法包括:对触发按键进行采样,并根据按键按下的时间对按键操作按照下述的方式进行分类:在按键操作在第一预设时间内弹起时,判定为短按操作,则执行数据变化;在按键操作在第一预设时间内未弹起时,判定为长按操作,则每个预设时间间隔执行一次数据变化,直至该数据变化为极限值或者按键弹起时终止。2.根据权利要求1所述的基于FPGA的触发按键的采集方法,其特征在于,对触发按键进行采样的方法包括:通过对触发按键按下的下降沿进行采样。3.根据权利要求1所述的基于FPGA的触发按键的采集方法,其特征在于,对触发按键...

【专利技术属性】
技术研发人员:晋兴强陈召全顾娅南
申请(专利权)人:中航华东光电有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1