一种低功耗键盘及其扫描定位方法

阅读: 评论:0

著录项
  • CN201310176312.3
  • 20130514
  • CN103257716A
  • 20130821
  • 湖南工业大学
  • 凌云;周维龙;李飞;彭琼林;陈欢
  • G06F3/02(2006.01)I
  • G06F3/02(2006.01)I H03M11/20(2006.01)I

  • 湖南省株洲市泰山西路88号湖南工业大学产学研处
  • 中国,CN,湖南(43)
摘要
一种低功耗键盘及其扫描定位方法,包括控制器单元和矩阵键盘单元,控制器单元中嵌入有程控PWM模块、行线扫描控制模块、中断申请模块。控制器单元控制程控PWM模块输出PWM脉冲对矩阵键盘单元的键盘状态进行定期采样,没有键按下时,矩阵键盘单元不消耗电能,控制器单元处于休眠模式;有键按下时,矩阵键盘单元只在采样时短时间消耗电能,提出中断申请唤醒控制器单元进入活动模式,控制器单元进行键盘扫描定位并做相应的处理后,再次进入休眠模式。
权利要求

1.一种低功耗键盘,包括控制器单元和矩阵键盘单元,控制器单元中嵌入有程控PWM模块、行线扫描控制模块、中断申请模块,其特征是,包括:

所述的控制器单元可以工作在休眠模式,控制器单元的休眠模式可以由外部中断唤醒进入活动模式,也可以由片内的定时器中断唤醒,进入活动模式;

所述的程控PWM模块由控制器单元控制并可以重复启动,程控PWM模块重新启动时输出高电平;程控PWM单元输出的PWM脉冲高电平宽度在20ms~50ms之间;

所述矩阵键盘单元的行线连接至行线扫描控制模块,控制器单元可以通过行线扫描控制模块将各行线分别控制成高电平、低电平,或者是统一控制成高阻态;

所述矩阵键盘单元的行线同时通过二极管受到程控PWM模块的控制,每一根行线接至一个二极管的阳极,所有二极管的阴极并联后接至程控PWM模块的输出端;

所述矩阵键盘单元的列线分别由上拉电阻接到电源+VCC,同时接至控制器单元的中断申请模块,该中断申请模块同时作为键盘扫描时列线键值的输入接口。

2.如权利要求1所述的一种低功耗键盘,其特征在于:所述的控制器单元是单片机。

3.如权利要求1所述的一种低功耗键盘,其特征在于:所述的控制器单元是单片机;所述的单片机型号为MSP430。

4.一种低功耗键盘的扫描定位方法,所述低功耗键盘包括控制器单元和矩阵键盘单元,控制器单元中嵌入有程控PWM模块、行线扫描控制模块、中断申请模块,所述方法通过在控制器单元中运行的程序实现,其特征是,所述的方法包括以下步骤:

A、系统初始化;

B、控制器单元进入休眠模式,等待键盘中断或定时中断信号;

C、键盘中有键按下时,程控PWM模块输出的PWM脉冲下降沿触发键盘中断,或者是所有按键释放后的定时时间到引起定时溢出中断;

D、将现态码从现态码寄存器移至前态码寄存器中;

E、重启程控PWM模块;

F、键盘扫描,获得当前的键盘状态码并存放至现态码寄存器中;

G、控制行线扫描控制模块使行线为高阻态,降低键盘功耗;

H、根据扫描获得的现态码,判断当前键盘是否有键按下,有键按下,开始定时并开放定时中断,无键按下,停止定时并关闭定时中断;

I、根据前态码寄存器中的前态码和现态码寄存器中的现态码判断键盘状态是否发生变化以及键盘动作是否有效,是无效动作,直接返回步骤B,是有效动作,进行相应的按键处理后,再返回步骤B。

5.如权利要求4所述的一种低功耗键盘的扫描定位方法,其特征在于:所述的前态码寄存器有多个。

说明书
技术领域

本发明涉及一种电子产品键盘及其扫描定位方法,尤其是一种采用电池供电的电子产品低功耗键盘及其扫描定位方法。

电池供电的手持式电子产品必须满足低功耗的设计要求。

遥控器之类的电子设备,只需要在有按键按下的情况下才工作,该类电子设备作为用于达到低功耗的一种方法,通常,当没有按键按下时,电子设备处于断电状态,不消耗电池电能;按键按下的同时,通过电源控制电路将系统电源接通,电子设备上电,再自动检测按键输入状态并进行相应的处理。该方法正常工作情况下没有问题,但当按键长期被按下时,长期处于工作状态的电子设备将很快耗尽电池电能。

如果电子设备不仅仅是在有按键按下的情况下才工作,则键盘电路的低功耗设计需要采用其他的方法。专利号为CN201210181671.3的发明专利“一种超低功耗的仪器用键盘控制器”提出了一种低功耗键盘电路以及矩阵结构按键阵列扫描软件流程图,键盘电路采用以行列矩阵形式连接到单片机的输入/输出端口,其中行线连接到单片机的端口P0,该端口所有管脚都可以作为单片机的中断源,任意按键都可以触发单片机进入按键扫描中断服务程序;有按键按下时,如何触发单片机进入按键扫描中断服务程序该专利说明书没有交待清楚,但从电路结构上看,该行列矩阵键盘电路的所有列线与所有行线均接有下拉电阻,行线作为中断源输入时,必须使所有列线都为高电平,如此,当有按键按下时,相应的行线与列线连接,该行线变成高电平向单片机申请中断;待机时所有列线必须输出高电平,每根列线的10kΩ下拉电阻上都长期流过电流,以3V电池供电为例,其键盘电路的5根列线就需要长期流过1.5mA电流,键盘电路的功耗并不低。即使对电路做出改进,列线的10kΩ下拉电阻增加到100kΩ,150μA的电流也与低功耗单片机活动模式下的功耗相当。

有鉴于此,本发明的目的在于提供一种低功耗键盘及其扫描定位方法,降低键盘的功耗。

一种低功耗键盘,包括控制器单元和矩阵键盘单元,控制器单元中嵌入有程控PWM模块、行线扫描控制模块、中断申请模块,其特征是,包括:

所述的控制器单元可以工作在休眠模式,控制器单元的休眠模式可以由外部中断唤醒进入活动模式,也可以由片内的定时器中断唤醒,进入活动模式;

所述的程控PWM模块由控制器单元控制并可以重复启动,程控PWM模块重新启动时输出高电平;程控PWM单元输出的PWM脉冲高电平宽度在20ms~50ms之间;

所述矩阵键盘单元的行线连接至行线扫描控制模块,控制器单元可以通过行线扫描控制模块将各行线分别控制成高电平、低电平,或者是统一控制成高阻态;

所述矩阵键盘单元的行线同时通过二极管受到程控PWM模块的控制,每一根行线接至一个二极管的阳极,所有二极管的阴极并联后接至程控PWM模块的输出端;

所述矩阵键盘单元的列线分别由上拉电阻接到电源+VCC,同时接至控制器单元的中断申请模块,该中断申请模块同时作为键盘扫描时列线键值的输入接口。

低功耗键盘的电路工作原理是:

控制器单元控制程控PWM模块输出PWM脉冲对矩阵键盘单元的键盘状态进行定期采样后,控制器单元处于休眠模式下。

程控PWM模块输出高电平时,不进行键盘状态采样,矩阵键盘单元不消耗电能;程控PWM模块输出低电平时,对键盘状态进行采样,此时如果没有键被按下,矩阵键盘单元不消耗电能,也不会提出中断申请;此时如果有键被按下,矩阵键盘单元向控制器单元提出中断申请,控制器单元被唤醒并进入活动模式进行键盘扫描定位,确定键盘状态并进行相应的处理,处理完毕,控制器单元再次进入休眠模式。

一种低功耗键盘的扫描定位方法,所述低功耗键盘包括控制器单元和矩阵键盘单元,控制器单元中嵌入有程控PWM模块、行线扫描控制模块、中断申请模块,所述方法通过在控制器单元中运行的程序实现,其特征是,所述的方法包括以下步骤:

A、系统初始化;

B、控制器单元进入休眠模式,等待键盘中断或定时中断信号;

C、键盘中有键按下时,程控PWM模块输出的PWM脉冲下降沿触发键盘中断,或者是所有按键释放后的定时时间到引起定时溢出中断;

D、将现态码从现态码寄存器移至前态码寄存器中;

E、重启程控PWM模块;

F、键盘扫描,获得当前的键盘状态码并存放至现态码寄存器中;

G、控制行线扫描控制模块使行线为高阻态,降低键盘功耗;

H、根据扫描获得的现态码,判断当前键盘是否有键按下,有键按下,开始定时并开放定时中断,无键按下,停止定时并关闭定时中断;

I、根据前态码寄存器中的前态码和现态码寄存器中的现态码判断键盘状态是否发生变化以及键盘动作是否有效,是无效动作,直接返回步骤B,是有效动作,进行相应的按键处理后,再返回步骤B。

本发明所述一种低功耗键盘的扫描定位方法的进一步改进是,为解决按键抖动带来的误判,所述的前态码寄存器可以设置多个,以队列方式依次存放现态码之前的多个前态码,综合多个前态码与现态码一起判断键盘状态是否发生变化以及键盘动作是否有效。

本发明的有益效果是:所述的一种低功耗键盘可以用于电池供电的手持式电子产品的键盘部分,无论键盘处于什么状态下,键盘电路以及对按键进行扫描定位的相关控制器平均功耗均极低。

图1是一种低功耗键盘的实施方式结构框图。

图2是一种低功耗键盘的扫描定位方法流程图。

下面将结合说明书附图对本发明具体实施方式作具体说明。

见图1,本发明实施方式由控制器单元10和矩阵键盘单元20组成。

实施方式中的控制器单元10是可以工作在休眠模式的单片机,该单片机可以由外部中断和片内的定时器中断唤醒,进入活动模式。MSP430单片机满足实施方式中对单片机的要求。

控制器单元10中还嵌入有与矩阵键盘单元20相关的程控PWM模块110、行线扫描控制模块120、中断申请模块130。程控PWM模块110、行线扫描控制模块120、中断申请模块130在控制器单元10处于休眠模式时仍然可以工作,且耗电甚微。

所述的实施方式中矩阵键盘单元20由2行、2列组成,接有4个按键S1、S2、S3、S4。

矩阵键盘单元20的行线由行线扫描控制模块120直接控制或者由程控PWM模块110通过二极管D1、D2进行控制,二极管D1、D2的阳极分别接至各行线,二极管D1、D2的阴极并联起来后接至程控PWM模块110的输出端PWM11。

所述的程控PWM模块110输出低电平时,通过二极管D1、D2将所有行线拉成低电平;程控PWM模块110输出高电平时,二极管D1、D2截止,此时所有行线受行线扫描控制模块120的控制。

控制器单元10通过行线扫描控制模块120将各行线分别控制成高电平、低电平,或者是统一控制成高阻态。

行线扫描控制模块120用控制器单元10中嵌入的I/O接口实现其功能,该I/O接口可以随时由程序控制进行输入或者是输出的功能转换;矩阵键盘单元20的所有行线接至控制器单元10的I/O12接口,I/O12控制为输入状态时,行线为高阻状态;I/O12控制为输出状态时,实现键盘扫描。

矩阵键盘单元20的列线分别由上拉电阻R1、R2接到电源+VCC,同时接至中断申请模块130的中断申请接口INT13,该中断申请接口INT13同时作为键盘扫描时列线键值的输入接口。

低功耗键盘的电路工作原理是:

控制器单元10控制行线扫描控制模块120输出高阻状态,控制程控PWM模块110输出PWM脉冲对键盘状态进行定期采样,之后控制器单元10工作在休眠模式下。

程控PWM模块110输出高电平时,开放行线,所有行线均处于高阻态,此时不管键盘是否有键按下,所有列线为高电平,不会通过中断申请模块130向控制器单元10提出中断申请,上拉电阻R1、R2上没有电流流过。

程控PWM模块110输出低电平时,对键盘状态进行采样,矩阵键盘单元20所有行线被拉成低电平,此时如果没有键被按下,所有列线仍然为高电平,不会通过中断申请模块130向控制器单元10提出中断申请,上拉电阻R1、R2上没有电流流过。

程控PWM模块110输出低电平时如果有键被按下,相应列线上的上拉电阻流过电流,相应的列线变成低电平,并通过中断申请模块130向控制器单元10提出中断申请,该中断申请将控制器单元10从休眠模式唤醒进入活动模式,活动模式下的控制器单元10首先应该控制程控PWM模块110输出高电平,开放行线,然后通过行线扫描控制模块120进行键盘扫描定位,确定键盘状态并进行相应的处理,处理完毕,控制器单元10再次进入休眠模式。

低功耗键盘的低功耗原理是:

矩阵键盘单元20中没有键按下时,其中的所有上拉电阻不会流过电流,控制器单元10处于休眠模式,消耗的电源电流极小。

矩阵键盘单元20中有键按下时,上拉电阻只在相应的列线为低电平时才流过电流,列线的下降沿即会触发键盘中断,控制器单元10在键盘中断程序中完成键盘扫描后就控制行线扫描控制模块120使行线为高阻态,列线维持为低电平的时间极短,上拉电阻上消耗的电能极小。

所述的实施方式中,程控PWM模块110输出的PWM脉冲高电平宽度为50ms。程控PWM模块110输出的PWM脉冲高电平宽度应保持在20ms~100ms之间,该脉冲高电平宽度过宽时,有可能漏掉键盘动作;该脉冲高电平宽度过窄时,按键的抖动无法避开,电路功耗也相应增加。

程控PWM模块110输出脉冲的低电平宽度大于控制器单元10对中断申请的负脉冲宽度要求即可。

所述的实施方式中矩阵键盘单元20也可以是由M行、N列组成,有M×N个按键。当矩阵键盘单元20由M行、N列组成时,其中的M个二极管阴极并联后接至程控PWM模块110的输出,二极管的阳极分别接至各行线,每行1个;上拉电阻的个数为N个,每列1个。

假设有键按下时,列线维持为低电平的时间是100μs,上拉电阻值为100kΩ,供电电源+VCC为3V,此时矩阵键盘单元20的平均电流为(3÷0.1)×(0.1÷50)=0.06μA,消耗的电流极小,矩阵键盘单元20的功耗降至极低;没有键按下时矩阵键盘单元20的功耗为0。

矩阵键盘单元20中没有键按下时,控制器单元10处于休眠模式,功耗极低;矩阵键盘单元20中有键按下时,控制器单元10周期性地被激活进行键盘扫描处理,绝大部分时间仍然处于休眠模式,大大降低了整机功耗,特别是有键长期被按下时的平均功耗。

所述的一种低功耗键盘可以用于电池供电的手持式电子产品的键盘部分,无论键盘处于什么状态下,键盘电路以及对按键进行扫描定位的相关控制器平均功耗均极低。

图2是一种低功耗键盘的扫描定位方法流程图,所述方法通过在控制器单元10中运行的程序实现,其具体步骤如下:

1、在控制器单元10启动后,首先进行系统初始化操作,依次完成启动程控PWM输出、控制行线扫描控制模块120扫描并读取一次键盘状态存放到现态码寄存器与前态码寄存器、控制行线扫描控制模块120使行线为高阻态、开放中断等;

2、控制器单元10进入休眠模式,等待键盘中断或定时中断信号;

3、当键盘中有键按下时,程控PWM模块110输出的PWM脉冲下降沿触发键盘中断,或者是60ms定时时间到引起定时溢出中断;控制器单元10响应中断后,进入键盘扫描过程;

4、控制器单元10将现态码从现态码寄存器移至前态码寄存器中;

5、重启程控PWM输出,重启后,程控PWM模块110输出高电平,为下面的键盘扫描开放行线;

6、控制器单元10控制行线扫描控制模块120为输出状态,准备开始键盘扫描;

7、键盘扫描,获得当前的键盘状态码并存放至现态码寄存器中,现态码由键盘各行键值与各列键值共同组成,M行、N列键盘的现态码由M+N位二进制位组成;

8、控制器单元10控制行线扫描控制模块120使行线为高阻态,降低键盘功耗;

9、根据扫描获得的现态码,判断当前键盘是否有键按下,有键按下,开始60ms定时并开放定时中断,无键按下,停止60ms定时并关闭定时中断;60ms定时中断定用于解决一个问题,即:在程控PWM模块110输出PWM脉冲高电平期间,键盘中按下的键释放后,后面的PWM脉冲下降沿无法触发键盘中断,控制器无法及时获知该键盘动作,60ms定时中断可以保证在按键按下引起的键盘中断后面再增加一次按键释放的键盘扫描,保证控制器及时获知按键的释放动作;

10、根据前态码寄存器中的前态码和现态码寄存器中的现态码判断键盘状态是否发生变化以及键盘动作是否有效,是无效动作,直接返回步骤2,是有效动作,进行相应的按键处理后,再返回步骤2。

本发明所述一种低功耗键盘的扫描定位方法的进一步改进是,为解决按键抖动带来的误判,所述的前态码寄存器可以设置多个,以队列方式依次存放现态码之前的多个前态码,综合多个前态码与现态码一起判断键盘状态是否发生变化以及键盘动作是否有效。

本文发布于:2023-04-15 00:01:05,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/87473.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图