基于FPGA的触发按键的采集方法与流程

文档序号:17069111发布日期:2019-03-08 23:09阅读:831来源:国知局
基于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。由于脉冲产生的时间是由定时器决定,则我们根据需求设定产生脉冲的定时器的参数变量即可,定时器的时间单位设置为1ms,时间配置参数的变量定义为time_data。

变量data_max和time_data均定义在程序模块的接口中,即在该程序模块的接口中使用一个需要的数值对其进行赋值即可。如在接口中分别将data_max和time_data赋值为99和50,则该调节数据的范围为0~99,长按变化时间为50ms,即长按5s内完成从0级到99级的数据调节。

数据存储

现在要求产品的亮度或者对比度调节都需要具备记忆功能,即数据掉电保存功能,因此,我们在设计按键采集的工作时,需要将调整好的数据存入到eeprom中,以实现功能。

将数据存入到eeprom也是一个标准的fpga程序模块,我们只需要给其一个数据写的标志位和需要写的数据值即可。

在上述的按键采集模块中,我们需要在按键短按和长按数据处理的两个状态中都设置数据写入功能。按键短按操作时,在数据更新之后,将数据写的标识位置高即可,按键长按操作时,则需要在长按结束后再将写的标识位置高,而不是数据更新后。因为长按操作是一个持续的过程,如果数据每更新一次,就执行一次写数据的操作,则一次长按操作下来,会执行多次的数据写入功能,而如果是长按结束后执行,则只会执行一次写数据操作,将最终数据存入eeprom。因为,每个eeprom的写入次数是有限的,这样能有效延长eeprom的使用寿命。

整个按键采集和数据处理过程的流程图如下图2所示。

硬件设计简单、方便、可靠,实现功能强大;

内容均为简单的逻辑语言描述,占用fpga的内部资源少;

具备较强的适用性和便捷性,适用与多数情况下的按键采集,配置参数方便,调用简单,减少了开发周期;

方法具有一定的通用性,不依赖于具体的pfga平台,移植方便,在常见fpga平台上都能实现,如xilinx,altera,lattice等。

以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。

此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

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