一种键盘和按键检测方法、以及移动设备的制作方法

文档序号:6485663阅读:177来源:国知局
一种键盘和按键检测方法、以及移动设备的制作方法
【专利摘要】本发明实施例公开了一种键盘和按键检测方法、以及移动设备。键盘包括:第一端子,第二端子,第三端子,以及第四端子;M条行线和N条列线,第一条行线连接第二端子,第M条行线连接第一端子,第一条列线连接第四端子,第N条列线连接第三端子;M×N个以阵列形式排列的按键;M-1个第一电阻,第m个第一电阻的两端分别连接第m条行线和第m+1条行线;N-1个第二电阻,第n个第二电阻的两端分别连接第n条列线和第n+1条列线。移动设备包括上述键盘和CPU,CPU各接口与键盘各端子分别连接。本发明通过采用电阻网络,使用很少的端子实现了全键盘方案,可以轻易地扩展按键的数目,占用的GPIO接口和排线数量也相应减少。
【专利说明】一种键盘和按键检测方法、以及移动设备
【技术领域】
[0001]本发明涉及电子电路领域,特别涉及一种键盘和按键检测方法、以及移动设备。【背景技术】
[0002]键盘是手机等移动设备重要的人机界面之一。用户通过键盘可以输入信息,对手机等移动设备进行控制操作等。
[0003]以4X4个按键的键盘为例,目前移动设备上键盘的电路结构参见图1所示。4X4个按键的键盘具有8个端子,相应需要占用8个GPIO (General Purpose Input Output,通用输入输出)接口,也即图1中所示的R1、R2、R3、R4、C1、C2、C3、C4,从GPIO接口 R1、R2、R3、R4引出4根行线,从GPIO接口 Cl、C2、C3、C4引出4根列线,每根行线和每根列线分别连接键盘的一个端子。按键可以为常开按键,用Xy表示。
[0004]假设按键Xi,」被接通,则CPU (Central Processing Unit,中央处理器)接收到来自GPIO-Rj的中断,进入中断服务程序。在中断服务程序中,CPU分别设置CL...≤中的其中一个GPIO接口为高电平,并轮询RP..R4线的电平状态。因为按键Xm被接通,所以当Ci被设置为高电平,轮询到Rj线时将检测到高电平,这样就可以确定Xm按键处于按下状态。
[0005]现有的键盘电路方案占用的GPIO接口比较多,并且当键盘中按键的数量增加时,端子数量也会增加,占用的GPIO接口的数量也会相应增加,例如,全键盘手机可能需要支持56个按键,有7+8共15个端子,则需要占用15个GPIO接口 ;另外,键盘所在的PCB(Printed Circuit Board,印刷电路板)和CPU所在的PCB是不同的,行线和列线需要通过排线连接在两块PCB之间,占用的GPIO接口越多,则意味着需要的排线数量也相应越多。
[0006]然而,GPIO接口和排线都是非常宝贵的资源,如何减少键盘电路方案中端子的数量,进而减少GPIO接口和排线的占有数量,现有技术还没有相应的解决方案。

【发明内容】

[0007]本发明实施例所要解决的技术问题是:提供一种键盘和按键检测方法、以及移动设备,以解决减少键盘电路方案中端子数量的问题,进而解决减少GPIO接口和排线的占有数量的问题。
[0008]本发明实施例的一个方面提供了一种键盘,包括:第一端子,第二端子,第三端子,以及第四端子…条行线和N条列线;其中,第一条行线连接第二端子,第M条行线连接第一端子,第一条列线连接第四端子,第N条列线连接第三端子;MXN个以阵列形式排列的按键,每个按键具有第一端和第二端;其中,按键Xm的第一端与第i条行线连接、第二端与第j条列线连接;当按键被按下时,该按键的第一端和第二端接通,当按键被松开时,该按键的第一端和第二端断开连接;M— I个第一电阻,其中,第m个第一电阻的两端分别连接第m条行线和第m+1条行线;N -1个第二电阻,其中,第η个第二电阻的两端分别连接第η条列线和第η+1条列线;其中,M和N均为大于I的自然数,Μ,表示行数,I≤j≤N,表不列数,I ≤ m ≤ M — 1,1 ≤ n ≤ N — I。[0009]本发明实施例的另一个方面提供了一种移动设备,包括:中央处理器CPU和上述键盘,所述CPU包括:第一 GPIO接口、第二 GPIO接口、第三GPIO接口、以及第四GPIO接口 ;其中,所述第一端子连接所述第一 GPIO接口,所述第二端子连接所述第二 GPIO接口,所述第三端子连接所述第三GPIO接口,所述第四端子连接所述第四GPIO接口。
[0010]本发明实施例的又一个方面提供了一种按键检测方法,包括:检测键盘中是否有按键被按下,其中,所述键盘具有第一端子,第二端子,第三端子,以及第四端子;当检测到有按键被按下时,置所述第一端子为高电平,并置所述第二端子为低电平,检测所述第三端子和所述第四端子上的电压;置所述第三端子为高电平,并置所述第四端子为低电平,检测所述第一端子和所述第二端子上的电压;根据检测到的所述第一端子、所述第二端子、所述第三端子和所述第四端子上的电压,以及预先设置的端子电压与按键的对应关系表,确定被按下的一个或两个按键。
[0011]本发明通过采用电阻网络,使用很少的端子实现了全键盘方案,在不增加端子的情况下,通过增加电阻的方式,可以轻易地扩展按键的数量目;同时由于键盘端子数量减少,占用的GPIO接口和排线数量也相应减少。
[0012]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0013]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0014]图1是现有技术提供的键盘电路不意图。
[0015]图2是本发明键盘一个实施例的电路示意图。
[0016]图3是本发明键盘另一个实施例的电路示意图。
[0017]图4是本发明键盘再一个实施例的电路示意图。
[0018]图5是本发明移动设备一个实施例的电路示意图。
[0019]图6是本发明移动设备另一个实施例的电路示意图。
[0020]图7是本发明移动设备再一个实施例的电路示意图。
[0021]图8是本发明按键检测方法一个实施例的流程图。
[0022]图9是本发明4X4个按键的键盘实例的电路示意图。
[0023]图10是在图9所示的4X4个按键的键盘中,两个按键不在同行或同列时的串并联电路意图;
[0024]图11是在图9所示的4X4个按键的键盘中,两个按键在同行时的串并联电路示意图。
【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]图2是本发明键盘一个实施例的电路示意图。如图2所示,该键盘包括:
[0027]第一端子,第二端子,第三端子,以及第四端子…条行线和N条列线;其中,第一条行线连接第二端子,第M条行线连接第一端子,第一条列线连接第四端子,第N条列线连接第三端子;MXN个以阵列形式排列的按键,每个按键具有第一端和第二端;其中,按键Xiij的第一端与第i条行线连接、第二端与第j条列线连接;当按键被按下时,该按键的第一端和第二端接通,当按键被松开时,该按键的第一端和第二端断开连接;M— I个第一电阻,其中,第m个第一电阻的两端分别连接第m条行线和第m+1条行线;N — I个第二电阻,其中,第η个第二电阻的两端分别连接第η条列线和第η+1条列线;其中,M和N均为大于I的自然数,I≤i≤M,表示行数,I≤j≤N,表示列数,I ≤ m ≤ M — I, I ≤ n ≤ N — I。
[0028]在图2中,Tm表不第一电阻,Pn表不第二电阻,cl表不第一端子,c2表不第二端子,r1表示第三端子,r2表示第四端子。
[0029]图2所示的键盘通过电阻网络,使用很少的端子实现了全键盘方案,在不增加端子的情况下,通过增加电阻的方式,可以轻易地扩展按键的数量目。
[0030]然而,图2所示的键盘在通过端子电压检测按键时,当被按下的按键在同一行或同一列、且按下的多个按键中包括行、列中第一个按键或最后一个按键时,会存在多种按键组合对应相同端子电压的情况,为了减少该情况,本发明还提供了键盘的另一实例,下面详细阐述该实例。
[0031]图3是本发明键盘另一个实施例的电路示意图。如图3所示,该键盘还包括:第三电阻和第四电阻;
[0032]其中,第M条行线可以通过第三电阻连接第一端子,具体为:第三电阻的一端连接第M条行线,第三电阻的另一端连接第一端子。
[0033]其中,第N条列线可以通过第四电阻连接第三端子,具体为:第四电阻的一端连接第N条列线,第四电阻的另一端连接第三端子。
[0034]在图3中,TO表示第三电阻,PO表示第四电阻。
[0035]为了检测多键同时被按下的情况,避免多键按下时检测到的电压值与单键按下时检测到的电压值相同而引起误判,则图3所示键盘中的各阻值需要满足如下关系:
[0036]每个第一电阻的阻值相同,并且所有第一电阻与第三电阻的阻值总和与一个第一电阻的阻值的倍数是素数;每个第二电阻的阻值相同,并且所有第二电阻与第四电阻的阻值总和与一个第二电阻的阻值的倍数是素数。
[0037]图3所示的键盘通过电阻网络,使用很少的端子同样实现了全键盘方案,在不增加端子的情况下,通过增加电阻的方式,可以轻易地扩展按键的数量目。并且,图3所示的键盘在通过端子电压检测按键时,当被按下的按键在同一行或同一列,只要按下的多个按键中不包括行、列中第一个按键,就可以避免多种按键组合对应相同端子电压的情况,提高了按键检测的准确性。
[0038]为了进一步减少多种按键组合对应相同端子电压的情况,本发明还提供了键盘的再一实例,下面详细阐述该实例。
[0039]图4是本发明键盘再一个实施例的电路示意图。如图4所示,该键盘还包括:第五电阻和第六电阻。[0040]其中,第I条行线可以通过第五电阻连接第二端子,具体为:第五电阻的一端连接第I条行线,第五电阻的另一端连接第二端子。
[0041]其中,第I条列线可以通过第六电阻连接第四端子,具体为:第六电阻的一端连接第I条列线,第六电阻的另一端连接第四端子。
[0042]在图4中,TM表示第五电阻,PN表示第六电阻。
[0043]为了检测多键同时被按下的情况,避免多键按下时检测的电压值与单键按下时相同而引起误判,则各阻值关系如下:
[0044]每个第一电阻的阻值相同,并且所有第一电阻与第三电阻、第五电阻的阻值总和与一个第一电阻的阻值的倍数是素数;每个第二电阻的阻值相同,并且所有第二电阻与第四电阻、第六电阻的阻值总和与一个第二电阻的阻值的倍数是素数。
[0045]图4所示的键盘通过电阻网络,使用很少的端子同样实现了全键盘方案,在不增加端子的情况下,通过增加电阻的方式,可以轻易地扩展按键的数量目。并且,图4所示的键盘在通过端子电压检测按键时,消除了被按下的按键在同一行或同一列时多种按键组合对应相同端子电压的情况,提高了按键检测的准确性。
[0046]基于上述键盘,本发明还提供了相应的移动设备,包括:
[0047]CPU和上述键盘,CPU包括:第一 GPIO接口、第二 GPIO接口、第三GPIO接口、以及第四GPIO接口 ;第一端子连接第一 GPIO接口,第二端子连接第二 GPIO接口,第三端子连接第三GPIO接口,第四端子连接第四GPIO接口。
[0048]其中,上述键盘分别指图2、图3、图4所示的键盘,相应的移动设备的电路示意图参见图5、图6、图7。在图5、图6、图7中,Cl表示第一 GPIO接口,C2表示第二 GPIO接口,Rl表示第三GPIO接口,R2表示第四GPIO接口。
[0049]由于通过端子电压检测按键,因此,移动设备中还可以包括:用于检测电压的模/数转换器。模/数转换器可以用A/D进行表示。
[0050]本实施例涉及的移动设备可以是手机、或者具有多种应用功能的智能手机、或者平板电脑等终端,本实施例对此不做限定。
[0051]本发明提供的移动设备,由于键盘的端子数量减少,占用的GPIO接口和排线数量也相应减少;另外,虽然本发明增加了一些电阻,但由于电阻的成本非常低,同时GPIO接口和排线的数量大大减少,可以抵消电阻的成本。
[0052]基于上述键盘或移动设备,相应的,本发明还提供了一种按键检测方法。图8是本发明按键检测方法一个实施例的流程图。如图8所示,该按键检测方法包括:
[0053]步骤101,检测键盘中是否有按键被按下,其中,该键盘具有第一端子,第二端子,第三端子,以及第四端子。
[0054]其中,检测键盘中是否有按键被按下具体可采用以下方法:置第一端子和第二端子为高电平,并置第三端子和第四端子为输入端,当检测到第三端子和第四端子为高电平时,确定有按键被按下。
[0055]步骤102,当检测到有按键被按下时,置第一端子为高电平,并置第二端子为低电平,检测第三端子和第四端子上的电压。
[0056]步骤103,置第三端子为高电平,并置第四端子为低电平,检测第一端子和第二端子上的电压。[0057]步骤104,根据检测到的第一端子、第二端子、第三端子和第四端子上的电压,以及预先设置的端子电压与按键的对应关系表,确定被按下的一个或两个按键。
[0058]需要说明的是,本实施例不限定步骤102和步骤103的先后顺序,也即可以先执行步骤102,再执行步骤103,也可以先执行步骤103,再执行步骤102。
[0059]上述端子电压可以通过模/数转换器进行检测,也即通过模/数转换器检测第三端子和第四端子上的电压、以及第一端子和第二端子上的电压。本发明用到了一个A/D转换器,但是在现代的移动设备基带处理器中,一般都带有辅助的A/D转换器以检测电池电压和其他各种电压,因此通过芯片内部的电路复接可以轻易实现对某个端口的电压检测,并不会增加成本。
[0060]当检测到第一端子、第二端子、第三端子和第四端子上的电压不在对应关系表时,则认为有三个以上按键被按下,确定为按键冲突。
[0061]图2所示的键盘方案结合上述按键检测方法,可以检测一个按键被按下的情况,还可以检测除了“被按下的按键在同一行或同一列、且按下的多个按键中包括行、列中第一个按键或最后一个按键”之外的两个按键被按下的情况,以及检测三个以上按键被按下所导致的按键冲突的情 况。
[0062]图3所示的键盘方案结合上述按键检测方法,可以检测一个按键被按下的情况,还可以检测除了“被按下的按键在同一行或同一列、且按下的多个按键中包括行、列中第一个按键”之外的两个按键被按下的情况,以及检测三个以上按键被按下所导致的按键冲突的情况。
[0063]图4所示的键盘方案结合上述按键检测方法,可以检测一个或两个按键被按下的情况,以及检测三个以上按键被按下所导致的按键冲突的情况。
[0064]在电容屏和电阻屏并存的时代,一般来说,基带芯片都可以同时支持电容屏和电阻屏。对于高端的全键盘智能手机,主屏可以采用电容屏触控,全键盘部分则可以利用现有空置不用的电阻屏控制电路来实现。
[0065]需要说明的是,在本发明实施例中,各端子与相应的GPIO接口连接,也即第一端子连接第一 GPIO接口,第二端子连接第二 GPIO接口,第三端子连接第三GPIO接口,第四端子连接GPIO接口,因此,各端子上的电压值与其连接的GPIO接口上的电压值是相同的。为了描述的简洁,后续本发明不再区分端子电压和GPIO接口电压。
[0066]下面通过一个具体实例,分析并说明上述键盘及其按键检测方法的实现过程。图9是本发明4X4个按键的键盘实例的电路示意图,设图9中所有电阻的阻值相同。
[0067]CPU置Cl、C2为高电平,置Rl、R2为输入端,并可以高电平触发CPU中断,产生中断时可以确定有按键被按下。
[0068]当单键被按下时,CPU将接收到一个中断,CPU在中断服务程序中设定Cl为V伏,C2为O伏,CPU检测Rl、R2 口上的电压,以判断是第几行的按键被按下了。同样的操作,(PU设定Rl为V伏,R2为O伏,CPU检测C1、C2 口上的电压,以判断是第几列的按键被按下了。CPU根据按键被按下的行数和列数,就可以确定被按下的按键。由于每个Ρ0-Ρ4以及每个Τ0-Τ4电阻阻值相同,因此当单键被按下时,R1、R2和C1、C2上测得的电压取值为4/5V,3/5V,2/5V,或1/5V。具体实现时,可以将GPIO接口电压与其对应的按键预先存在表中,检测到GPIO接口电压之后,查找GPIO接口电压与按键的对应关系表即可确定被按下的按键。[0069]例如,X21被按下,CPU将接收到一个中断,CPU在中断服务程序中设定Cl为3伏,C2为O伏,CPU检测到Rl、R2 口上的电压将为3 X 2/5 = 1.2伏,CPU判断是第2行的某个按键被按下了。同样的操作,设定Rl为3伏,R2为O伏,CPU检测到Cl、C2 口上的电压将为3X1/5 = 0.6伏,CPU判断是第I列的某个按键被按下了。综合上述,CPU可以判定是X21被按下。具体实现时,可以将R1、R2、C1、C2 口上的电压值与其对应的按键X21,保存在GPIO接口电压与按键的对应关系表,当检测到Rl、R2、Cl、C2 口上的电压时,可以通过查找该对应关系表,确定被按下的按键。
[0070]当两个键被按下时,Ρ0-Ρ4或Τ0-Τ4的阻值总和与Ρ1-Ρ3或T1- Τ3中某个电阻阻值的倍数是素数5,由于电阻Pf Ρ3与电阻Tl~Τ3发生并联关系或被短路,使得R1、R2和C1、C2上测得的电压与单键按下时测得的不同,可以检测到是否发生两键被按下的情况。由于R1、R2和C1、C2可以测得四个电压值,因此理论上在两键同时按下时,以按键的横纵坐标为参数列四元方程可以确定哪两个键被按下。但由于存在并联计算,直接解方程得到按键位置的方法比较复杂,可以采用本发明提供的通过查找端子电压与按键的对应关系表的按键检测方法进行计算。
[0071]例如,X21和X32被同时按下,或者,X22和X31被同时按下,CPU在中断服务程序中设定Cl为3伏,C2为O伏,由于X21和X32被同时按下,因此P3和T2发生并联,Rl和R2上的电压等于P3和T2并联后两端的电压,所以CPU检测
到Rl 口上的电压将为
【权利要求】
1.一种键盘,其特征在于,所述键盘包括:第一端子,第二端子,第三端子,以及第四端子;M条行线和N条列线;其中,第一条行线连接第二端子,第M条行线连接第一端子,第一条列线连接第四端子,第N条列线连接第三端子;MXN个以阵列形式排列的按键,每个按键具有第一端和第二端;其中,按键Xm的第一端与第i条行线连接、第二端与第j条列线连接;当按键被按下时,该按键的第一端和第二端接通,当按键被松开时,该按键的第一端和第二端断开连接;M -1个第一电阻,其中,第m个第一电阻的两端分别连接第m条行线和第m+1条行线;N -1个第二电阻,其中,第η个第二电阻的两端分别连接第η条列线和第η+1条列线;其中,M和N均为大于I的自然数,1≤i≤Μ,表示行数,1≤j≤N,表示列数,1≤ m ≤ M 一 1,1 ≤n≤N 一 1。
2.根据权利要求1所述的键盘,其特征在于,所述键盘还包括:第三电阻和第四电阻;所述第三电阻的一端连接第M条行线,所述第三电阻的另一端连接所述第一端子;所述第四电阻的一端连接第N条列线,所述第四电阻的另一端连接所述第三端子。
3.根据权利要求2所述的键盘,其特征在于,所述每个第一电阻的阻值相同,并且所有第一电阻与第三电阻的阻值总和与一个第一电阻的阻值的倍数是素数;所述每个第二电阻的阻值相同,并且所有第二电阻与第四电阻的阻值总和与一个第二电阻的阻值的倍数是素数。
4.根据权利要求2所述的键盘,其特征在于,所述键盘还包括:第五电阻和第六电阻;所述第五电阻的一端连接第I条行线,所述第五电阻的另一端连接所述第二端子;所述第六电阻的一端连接第I条列线,所述第六电阻的另一端连接所述第四端子。
5.根据权利要求4所述的键盘,其特征在于,所述每个第一电阻的阻值相同,并且所有第一电阻与第三电阻、第五电阻的阻值总和与一个第一电阻的阻值的倍数是素数;所述每个第二电阻的阻值相同,并且所有第二电阻与第四电阻、第六电阻的阻值总和与一个第二电阻的阻值的倍数是素数。
6.一种移动设备,其特征在于,所述移动设备包括:中央处理器CPU和如权利要求1 一5任一项权利要求所述的键盘,所述CPU包括:第一 GPIO接口、第二 GPIO接口、第三GPIO接口、以及第四GPIO接口 ;其中,所述第一端子连接所述第一 GPIO接口,所述第二端子连接所述第二 GPIO接口,所述第三端子连接所述第三GPIO接口,所述第四端子连接所述第四GPIO接口。
7.根据权利要求6所述的移动设备,其特征在于,所述移动设备还包括:用于检测电压的模/数转换器。
8.一种按键检测方法,其特征在于,所述方法包括:检测键盘中是否有按键被按下,其中,所述键盘具有第一端子,第二端子,第三端子,以及第四端子;当检测到有按键被按下时,置所述第一端子为高电平,并置所述第二端子为低电平,检测所述第三端子和所述第四端子上的电压;置所述第三端子为高电平,并置所述第四端子为低电平,检测所述第一端子和所述第二端子上的电压;根据检测到的所述第一端子、所述第二端子、所述第三端子和所述第四端子上的电压,以及预先设置的端子电压与按键的对应关系表,确定被按下的一个或两个按键。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:当检测到所述第一端子、所述第二端子、所述第三端子和所述第四端子上的电压不在所述对应关系表时,确定为按键冲突。
10.根据权利要求8所述的方法,其特征在于,所述检测键盘中是否有按键被按下包括:置所述第一端子和所述第二端子为高电平,并置所述第三端子和所述第四端子为输入端,当检测到所述 第三端子和所述第四端子为高电平时,确定有按键被按下。
【文档编号】G06F3/02GK103455148SQ201210174864
【公开日】2013年12月18日 申请日期:2012年5月31日 优先权日:2012年5月31日
【发明者】梁景新, 董宇 申请人:展讯通信(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1