具有最佳化的输入扫描的电阻矩阵的制作方法

文档序号:6431872阅读:195来源:国知局
专利名称:具有最佳化的输入扫描的电阻矩阵的制作方法
具有最佳化的输入扫描的电阻矩阵
背景技术
各种类型的电子设备利用输入设备接收来自用户的输入。某些输入设备可以具有被配置成由用户人工按压的键,而其它输入设备可包括能够检测用户的触摸输入的触敏表面。让输入设备正确地处理多个同时的或重叠的输入可能是具有挑战性的。而且,以这样的方式对输入设备的扫描进行最佳化,即使得提高输入检测扫描的精度而不包括扫描速率, 也可能是具有挑战性的。

发明内容
本概要被提供来以简化的形式介绍概念的选择,这些概念还将在下面的详细说明中进行描述。本概要既不打算标示要求权利保护的主题的关键特征或必要特征,也不打算被使用来限制要求权利保护的主题的范围。此外,要求权利保护的主题不限于解决了在本公开内容的任何部分中指出的任何或全部缺点的实现。按照本公开内容的一个方面,提供了在被配置成响应于触摸或其它物理地施加的输入而提供输出的电阻列-行矩阵中,识别在电阻列-行矩阵上的一个或多个输入位置的方法。该方法包括接收在电阻列-行矩阵上的一个或多个物理地施加的输入。该方法还包括,在施加一个或多个物理地施加的输入期间,执行电阻列-行矩阵的分级扫描,以确定对于组成该电阻列-行矩阵的多个多单元组的每个多单元组,所述一个或多个物理地施加的输入是否造成在该多单元组内的列-行单元的激活。该方法还包括如果确定物理地施加的输入造成在该多单元组内的列-行单元的激活,则在该多单元组内执行补充扫描。该方法还包括根据分级扫描和补充扫描,生成指示所述一个或多个物理地施加的输入在该电阻列-行矩阵上的一个或多个输入位置的输出。


图1显示可以结合这里描述的电阻矩阵扫描而被使用的示例性计算设备的框图。图2显示用于识别在电阻列-行矩阵上的一个或多个输入位置的示例性扫描方法的流程图。图3示意地显示可以通过使用这里描述的扫描方法而被扫描的电阻列-行矩阵的示例性电路。
具体实施例方式输入设备可以利用各种技术来接收用户输入。某些输入设备(例如,键盘)具有可以由用户机械地致动(actuate)的物理的键。另一个常见的方法是使用触敏显示器上在视觉上呈现的键,让所述键通过触摸输入(例如,手指触摸、触摸手势、多触摸输入等等)而被致动,这些触摸输入经由所施加的触摸导致的改变的电特性而被检测到。在一些情形下,键和触摸方法利用电阻致动,其中被施加到设备上特定位置的力(例如,通过机械的键致动或触摸输入)产生电阻的改变,这种改变例如通过改变流过相关电路的电流或在相关电路上的电压,而产生信号。电阻变化是通过物理接触而达到的,并且还可以响应于所施加的接触的压力或力而变化。在一些实施例中,休眠或未致动状态是开路,而致动状态则经由其值容易测量的电阻将行连接到列。然而,应意识到,任何适当的电状态/特性(例如,除开路之外) 可以对应于键/触摸操作的不同的方面/状态。这样的输入设备可以利用电阻矩阵来检测物理地施加的输入并生成最终得到的输出。正如下面更详细地描述的,电阻矩阵包括感测电路,用于检测物理地施加的输入和确定输入的位置。输入位置的检测典型地通过扫描处理而达到,借助于扫描处理,电路读取与电阻矩阵上的特定位置相关联的电流、电阻、电压和/或其它参数。而且,“单元(cell)”或 “位置”可以广义地指除了特定的列-行交叉点以外的其它事物。在一些情形中,例如,在交叉点之间的位置或接近特定交叉点的位置可以诸如通过内插法或其它方法而被推断出来。 然而,在许多例子中,被扫描的位置是在电阻矩阵上的特定单元,令每个单元被定义为对应于电阻矩阵上的特定列与行的交叉点的位置。除了部件和处理能力以外,感测电路的配置, 以及扫描方法,还可以指定给定扫描的精度和持续时间。常常希望以这样的方式执行扫描, 即使得精度与扫描速率均最佳化。这样,用户被提供以响应式的和精确的输入设备,以及输入设备本身可以在完成扫描后在低功率模式下度过更多的时间。现在转到图1,图1显示示例性计算设备100,其包括被配置成接收触摸或其它物理地施加的输入的电阻输入设备102。作为非限制性例子,电阻输入设备102可以是具有机械键的键盘,和/或是可由物理地施加的输入致动的在视觉上呈现的键。因此,电阻输入设备102还包括电阻列-行矩阵104,它被配置成响应于触摸或其它物理地施加的输入而提供输出。电阻输入设备102可被配置成精确地确定键致动的任何组合和/或在电阻触摸设备上的多触摸组合。这有时被称为“η-键转滚(rollover)”或“消重影(anti-ghosting)”。 这样的技术允许电阻输入设备102独立地报告与每个键致动相关联的力。电阻输入设备 102可被配置成读取电阻列-行矩阵104以便以任何适当的方式确定键致动。例如,电阻列-行矩阵104可包括被组织成列和行的电路,令列和行的交叉点对应于可通过物理地施加的输入而被电激活的位置。在这样的情形下,电阻列-行矩阵104的列可被驱动到已知的扫描控制信号(例如,电压),而流出电阻列-行矩阵104的行的电流被提供到低阻抗连接并被测量。正如这里使用的,术语矩阵意味着选择性的电连接的排列。在许多情形下,矩阵的电引线实际上可被安排成水平和垂直取向,虽然可以利用其它的安排而同时仍属于术语矩阵的范围。当电阻列-行矩阵104的列被驱动到已知的扫描控制信号时,假设在每列上有适当的电路的话,测量可以并行地进行。替换地,单个电路可以在列上被复用,从而依次测量每个列,正如下面参照图3更详细地描述的。在任一种情形下,用于扫描电阻列-行矩阵的传统方法包括设定单个列用于测量,测量各行,然后对于每个列重复这个处理过程。这样,电阻输入设备“扫描”矩阵以确定在被测量的列-行组合内的、对应于键致动的激活的单元。非常期望尽可能快速地执行这样的扫描。然而,上述的传统方法的重复可能导致扫描和/或重新扫描矩阵的非活动区域,导致较长的扫描时间。作为例子,输入设备可以具有对应于列-行矩阵的20个列的超过100个键。取决于电路的类型,扫描可包括对于每个列重复该测量(例如,在并联的行电路的情形下),或对于每个键重复该测量(例如,在复用的列电路的情形下)。由于重复扫描而导致的较长扫描时间可能促成限制输入设备的响应度。在压敏输入设备的情形下尤其如此,其中列电路典型地是需要相当数量的时间来完成单个测量的复用的模数(AD)转换器。照这样,电阻列-行矩阵104被配置成战略性地 (strategically)扫描键激活,以使得扫描的持续时间最小化,正如下面更详细地描述的。从上文应意识到,快速和高效的扫描在人的感知方面可能是重要的。具体地,期望让扫描以大大快于键致动或其它物理输入变化的速率的速率出现。然而,人的感知不是驱动对于快速扫描的期望的唯一因素。对于电阻输入设备102是无线的和/或电池供电的情形,电力可能是有限的资源。照这样,扫描能完成得越快,系统在低功率模式下(例如,睡眠模式)度过的时间就越多。例如,电阻输入设备102可被配置成在缺省模式期间睡眠,以及在键致动后唤醒,在这时,电阻输入设备102于是可以执行扫描,以确定哪些键/位置是当前被致动的。然后,电阻输入设备102在没有检测到活动时可以随后返回到睡眠模式。因此,电阻输入设备102被配置成通过执行两部分扫描而战略性地扫描键致动, 以使得扫描的持续时间最小化。本扫描方法可在这样的意义上被认为是分级的,即首先执行区域扫描或多单元扫描来确定输入的近似位置,如果初步扫描指示在被测试区域内的激活,则执行辅助的补充扫描,以便精确测定位置。更具体地,可以首先执行分级扫描,以定位电阻列-行矩阵104的潜在激活的区域,之后接着是补充扫描,以确定在电阻列-行矩阵 104的激活区域内的键致动的具体位置。这样,分级扫描可以快速消除矩阵的非活动的区域,从而允许补充扫描快速瞄准感兴趣的激活的区域。图2图示这样的、识别在电阻列-行矩阵上的一个或多个输入位置的方法。方法 200例如可以在图1所示的电阻输入设备102的电阻列-行矩阵104内被执行。在202,方法200包括接收在电阻列-行矩阵上的一个或多个物理地施加的输入。这样的物理地施加的输入例如可以通过用户的触摸或诸如指示笔那样的任何其它适当的设备而被施加。正如在前面讨论的例子中,输入也可以包括在键盘切换的矩阵上被选择键的激活。在204,方法200包括在施加所述一个或多个物理地施加的输入期间,执行电阻列-行矩阵的分级扫描。分级扫描为组成电阻列-行矩阵的多个多单元组的每个多单元组确定所述一个或多个物理地施加的输入是否造成在该多单元组内的一个或多个列-行单元的激活。换句话说,分级扫描大致地确定矩阵的哪个或哪些区域包括由物理地施加的输入激活的列-行单元。多单元组可以以任何适当的方式被定义。例如,在电阻列-行矩阵包括行和列的情形下,特定的行和列的每个交叉点可以定义一个单元。因此,多单元组可包括一个或多个单元的任何适当的编组。作为非限制性例子,每个多单元组可以是电阻列-行矩阵的一行。 在这样的情形下,执行分级扫描可包括扫描每行以确定那个行是否包括任何激活的单元。 然而,应当意识到,这个例子是非限制性的,且每个多单元组可以替代地与列-行矩阵的另一个区域相关联。而且,在一些实施例中,一个或多个多单元组可以根据在先前扫描中所识别的输入位置而被确定,这样使得来自先前扫描的知识可以在随后的扫描中被战略性地利用。为了说明这个例子,读者应当理解,矩阵扫描可被认为是在一系列帧中发生的,其中一帧的扫描是指整个矩阵已被扫描。因此,扫描可以根据帧速率而被构思,其中帧速率是扫描方法使得能进行矩阵的完整扫描所用的速率或频率。在一些实施例中,多单元组可以根据先前的分级扫描和/或补充扫描而被定义。附加于或者替换定义多单元组,先前的分级扫描和/或补充扫描可以指定执行随后的扫描操作的次序。再者,多单元组可以在多个顺序的帧扫描过程期间被动态地定义。例如,在采用矩阵的行作为多单元组的第一帧扫描期间,输入可被定义为已经在矩阵的特定区域内发生。 为了随后的扫描起见,这个区域然后可被定义为离散的多单元组,即使新定义的多单元组可能是除了矩阵的一行或多行之外的什么。继续进行方法200,在206,方法200包括如果确定物理地施加的输入造成在多单元组内的列-行单元的激活,则在这样的多单元组内执行补充扫描。应意识到,本示例的方法和这里的其它讨论并不意味着扫描必须以特定的顺序或次序发生。例如,覆盖整个矩阵的分级扫描可以先于任何补充扫描来执行。替换地,一个区域的补充扫描可以在分级扫描指示该区域内的活动后立即执行。所以,由于分级扫描已确定感兴趣的(多个)区域,补充扫描可以仅仅集中在感兴趣的(多个)区域,以使得扫描时间最小化。对于方法200的、其中多单元组的一部分(例如,一部分而不是全部)是基于在电阻列-行矩阵上的一个或多个先前识别的输入位置的实施例,上述的分级扫描和补充扫描可以确定输入位置是否相对于先前扫描的那些输入位置是不同的。例如,在扫描速率(例如, 每秒成百上千次)大大快于用户输入速率的情形下,矩阵的激活区域不改变(例如,自从上次扫描以来没有新的键/位置被激活)可能是很常见的。因此,分级扫描可被利用来测试在先前非活动的区域中是否有任何单元被激活。如果没有的话,则补充扫描可以扫描与在先前扫描中所扫描区域相同的区域。因此,用于分级扫描的多单元组可被选择成使得排除包括在电阻列-行矩阵上一个或多个先前识别的输入位置的其它多单元组。这允许分级扫描在矩阵的不包括上次扫描时标识的输入的(多个)区域上被执行。分级扫描然后可以快速地探知自从先前的扫描以来是否有任何另外的键/位置被致动/激活。在这样的情形下,在根据先前的扫描执行分级扫描后,方法200还可包括确定物理地施加的输入未造成多单元组内列-行单元的激活,因此这些多单元组仍旧是非活动的,正如它们在先前的扫描中那样。照这样,便接着可以在活动的区域,即,电在阻列-行矩阵上包括一个或多个先前识别的输入位置的其它多单元组上执行补充扫描。应当意识到,多单元组的这样的选择是非限制性,且多单元组可以以任何适当的方式被定义。例如,为了使上述的方法得以推广,方法200还可包括从多个多单元组中确定在其上执行分级扫描和补充扫描的一组或多组多单元组。因此,作为非限制的例子,这些组可以根据先前的(多个)扫描、先前识别的输入位置、预定的信息、先前选择的多单元组等等进行选择。作为一般的例子,方法200可包括选择多单元组的第一集合,以及在多单元组的第一集合上执行分级扫描。通过扫描多单元组的第一集合,可以快速地确定对于第一组是否需要进行补充扫描,或者是否应当把补充扫描改而施加到多单元组的第二集合。因此,如果确定在多单元组的第一集合内有激活的区域,则可以在多单元组的第一集合上执行补充扫描。然而,如果确定在多单元组的第一集合内没有激活的区域,则可以在多单元组的第二集合上执行补充扫描。继续进行方法200,在如上所述地对以任何适当的方式选择的多单元组执行分级扫描和补充扫描后,在208,方法200包括根据分级扫描和补充扫描,生成指示所述一个或多个物理地施加的输入在电阻列-行矩阵上的一个或多个输入位置的输出。作为一个例子,输入位置可以是在列-行单元处(例如,列和行的交叉点),因此可以由那个列和行来指示。作为另一个例子,输入位置可以接近列-行单元(例如,在列和行的交叉点附近),因此可以由距那个行和列的交叉点的距离来指示。因此,应当意识到,可以结合一个或多个扫描使用内插法来推断出输入的具体位置。这种推断性方法在触摸设备的情形下可以是特别有用的,其引入了用户输入激活矩阵中的邻近位置的可能性。当执行分级扫描和/或补充扫描(例如,在204和/或206)时,方法200可以确定所述一个或多个物理地施加的输入是否以任何适当的方式造成在给定的多单元组内的列-行单元的激活。如以上概略地介绍的,诸如图1的电阻列-行矩阵104那样的电阻列-行矩阵可包括感测电路,其可被选择性地激活来确定是否存在输入。作为非限制性例子,输入设备可包括力敏(force-sensitive)电阻材料,它响应于被施加的力和/或压力而改变它的电阻。通过将力敏电阻材料电连接到感测电路,可以根据在激活地点处的电阻的改变而确定在多单元组内的激活。例如,力敏电阻材料典型地是高电阻的,使得所施加的力和/或压力降低了在所施加的输入的位置处的电阻。在这样的情形下,在多单元组内的激活可以通过以下方式被确定,即把电压施加到电阻列-行矩阵的一部分(例如,一列)并测量流过电阻列-行矩阵的对应部分(例如,一行)的电流。电流于是与在激活地点处的电阻成比例,正如下文参照图3更详细地描述的。图3示意地显示包括多个列302和多个行304的电阻列-行矩阵104的示例性电路300。应当意识到,这仅仅是感测电路的许多潜在适当配置的其中一个,在任何意义下都不应当看作为限制。例如,单个转移阻抗放大器308可被复用到当前正被测量的行。示例性电路300还包括输出引脚306,其被配置成或者将扫描控制信号施加到对应的列,或者使对应的列保持在基线信号(例如,接地)。示例性电路300还包括转移阻抗放大器308,每个被配置成使对应的行保持在基线信号(例如,假接地)。正如所例示的,每个行馈入转移阻抗放大器,后随单个复用的(MUX)模数转换器(ADC) 310。在列-行矩阵104内的列-行单元被图示为电阻开关312,其中每个开关通过所施加的力(例如,经由键致动)被电闭合, 以及其中与每个电阻开关相关联的电阻的量值由所施加的力的量值来确定。换句话说,当没有输入被物理地施加到力敏电阻材料时,材料具有高电阻,以及所有的开关都是开路的。 在这样的情形下,如果列302被保持在基线信号以及行304被保持在基线信号,则模数转换器310输出对应于电阻列-行矩阵104的所有列-行单元处在非活动状态的基线电压。然而,当输入被物理地施加到力敏电阻材料时,在附近的列-行单元处的电阻开关被闭合,因此完成电路。如果对应于列-行单元的列被保持在扫描控制信号,则电流可以流经电阻开关到与那个行相关联的转移阻抗放大器。由于转移阻抗放大器使行保持在基线信号上,所以这样的电流的接收导致了转移阻抗放大器通过将与电阻开关处电阻的改变成比例的扫描电压传递到模数转换器310而测量最终得到的行电流。照这样,对扫描电压的分析指示了是否有任何电阻开关在电路300内被激活。例如,对应于激活电压的扫描电压可以指示被激活的电阻开关,而对应于禁止电压的扫描电压可以指示非活动的电阻开关。这样的激活电压和禁止电压可以以任何适当的方式被定义。例如,激活电压和禁止电压可以相对于基线信号被定义。例如,禁止电压可以属于基线附近的预定电压范围内,而激活电压可以超出该预定的电压范围。
传统上,每个电阻开关的电阻值可以通过如下方式被一个个地测量,即将扫描控制信号施加到电阻列-行矩阵的单个列,并测量由电阻开关设置的对应的行电流。然而,以这样的传统方法扫描具有例如m列和η行的电阻列-行矩阵,需要mXη次单独的模数(AD) 转换。对于典型的计算机键盘,对于每次扫描,这可能或多或少要超过100次个别的测量。 如果每次测量花费20 μ s,则用于一次完整扫描的时间将超过ans。给定在嵌入的控制器上的典型AD转换速度,则清楚的是,实时响应可能是有挑战性的,而且处理器必须在大部分时间都运行,使得很难达到低的功耗。因此,不是一个个地检查每个键,电阻输入设备102被配置成一次检查电阻列-行矩阵104的一整行。这是通过将非零电压同时施加到所有的列302而完成的。在每行304 中的电流于是等于流过被连接到那个行的所有电阻开关的电流的总和。假设当一个键被致动时电阻显著地下降,则高于低阈值的任何电流可以指示在那个行上的一个或多个键当前被致动。于是电阻列-行矩阵104的分级扫描在一次AD转换中检查一整行,以查看是否有任何键被致动。如果没有键被致动,则分级扫描进到电阻列-行矩阵104的下一行。如果有键被致动,则电阻列-行矩阵104的补充扫描将确定那个行上的哪些特定键被按压。在典型的情形下,没有键被致动(例如,由于扫描速率超过物理地施加的输入的速率),那么电阻列-行矩阵104的分级扫描可以以每行进行一次AD转换被完成,经过总共η次AD转换。 这样的扫描因此比传统扫描方法的情形下一个个扫描所有键快m-1倍(例如,快19倍)。换句话说,通过减少在一次扫描内发生的AD转换的数量,在典型的扫描中由电阻输入设备102完成的工作量相比于传统的扫描方法可以显著地减小。这些能量节省可被使用于各种其它用途,诸如,通过使用较低性能的部件(例如,较慢的模数转换器310)而使得电阻输入设备102更易响应、有更低的功率和/或不那么贵。这尤其可应用于压敏键盘,并且可以对制造可买得起的、高性能的系统有作用。作为另一个例子,对于电阻输入设备102的另一个典型的使用情景牵涉到单个键致动(例如,键按压,或它的单个位置触摸的触敏的模拟)。在这样的情形下,分级扫描检查电阻列-行矩阵104的每行,以确定行304的哪一行包括被致动的键。然后,电阻列-行矩阵104的补充扫描检查那个行的每个键,以确定哪个键被致动。因此,对于单个键激励的情形,以这样的方式执行的分级扫描包括η次AD转换,以及补充扫描包括m次AD转换,经过总共n+m次AD转换,这大大地少于一个个地扫描每个键的传统扫描方法的nXm次AD转换。对于其中多个键被致动的使用情景,仍旧可以利用电阻列-行矩阵的分级扫描和补充扫描方法。例如,如果在相同行中的两个键被按压,则完全的扫描仍旧只执行n+m次转换。然而,如果它们是在分开的行中,则执行n+aii次转换。换句话说,除了总体地考察行以外,两个行被完全检查。通常,这样的方法可包括n+(rXm)次转换,其中r是其中的至少一个键被致动的行的总数。在最坏的情形下,当在行304的每行中按压至少一个键时,被执行的转换的数目是η+ (η Xm),这与仅仅简单地一个个扫描每个键相比不太有利。然而,应当明白,这样的极端情形可能是极罕见的,那么由于它很少发生,所以不太可能减损通过使用这里描述的分级/补充方法可得到的引人注目的改进。对于方法200的实施例,电路300的上述扫描可以通过执行分级扫描而被实施,所述分级扫描基本上并发地施加扫描控制信号到电阻列-行矩阵104的多个列302的每一列,而同时使多个行304的每一行保持在基线信号上,并对于每行读取对应于那个行的扫
9描电压。对于行304的每一行,行的扫描电压是由那个行的转移阻抗放大器308输出的电压。如上所述,如果没有电阻开关312被物理地施加的输入所致动,则电路保持开路且那个行的转移阻抗放大器在使该行维持在基线信号时输出对应于禁止电压的扫描电压。然而, 如果有一个或多个电阻开关312被物理地施加的输入所致动,则电路被闭合,以及那个行的转移阻抗放大器在使该行维持在基线信号时输出对应于激活电压的扫描电压。照这样,可以对具有被激活单元的所选择行执行补充扫描,以便确定在该行内哪些电阻开关被激活。因此,执行补充扫描可包括对于多个行304中被确定为包括激活的列-行单元的每一行,使该行保持在基线信号上,而同时施加扫描电压到多个列302的每一列,并为该行内的每个列-行单元读取扫描电压。由于对于每行,补充扫描一次将扫描信号施加到仅仅一列,而不是同时施加到所有的列,所以由那个行的转移阻抗放大器输出的扫描电压特别地对应于那个列的列-行单元。照这样,对于每个扫描电压可以确定如果扫描电压对应于激活电压,则一个或多个物理地施加的输入造成该列-行单元的激活。一旦激活的列-行单元被识别,则生成输出就包括对于具有激活电压的每个列-行单元,根据包括该列-行单元的电阻列-行矩阵的列和行,指示该列-行单元在电阻列-行矩阵上的位置。继续进行图3,如以上介绍的,先前的扫描可被有利地利用,因为即使是在许多键被同时按下时(或在触摸设备上多个位置被激活时),在接连的扫描之间改变状态的键的数目典型地也是非常小的。因此,不是对全部的行304执行分级扫描,而是可以仅仅在与先前扫描期间没有被按压的键相关联的矩阵区域上执行分级扫描。这个局部行测试可以通过将扫描控制信号仅仅施加到列302中在先前扫描中没有键被致动的选择的列而完成。这具有测试是否有任何新的键被致动的效果。如果没有新的键被致动,则补充扫描将仅仅检查剩余的列,即,在其中有键在先前的扫描中被致动的列。这可以在m+p次AD转换中被确定,其中P是在先前的扫描中被致动的键的数目。给定快速的扫描速率,则没有键改变的状态是相当典型的情形,以及在分级/补充扫描方法内的局部行测试允许扫描时间的大大减小, 这再次允许系统更长时间地保持在较低功率状态。因此,在上面相对于电路300所述的局部行测试的这种情形下,方法200的多单元组可被选择成使得扫描行的子集,其中每个子集包括多个键。例如,多单元组可被选择成使得将可能的键的组分成两半,以及在多单元组的第一集合上的分级扫描可以确定该第一集合是否包含新按下的键。补充扫描然后可以检查多单元组的第二集合,以确定该第二集合是否包含新按下的键。然后可以在多单元组的更小集合内执行附加的补充扫描。应当意识到,尽管是以复杂得多的扫描逻辑为代价,但是这样的方法可以减少扫描时间。作为另一个例子,可以创建在哪里最可能找到被按下的键的统计模型,并且可以设计最佳搜索图案来找到它们。然而,增加的好处可能不能用附加的复杂性来证明。而且,参照图3描述的力敏电阻材料可以以任何适当的方式在电阻列-行矩阵104 上形成图案。在一个例子中,电阻列-行矩阵104可包括用银墨丝网印刷的两片,诸如具有丝网印刷的行的底部片,和具有丝网印刷的列的上部片。然后在交叉点处可以涂上力敏电阻墨水,以使得当施加触摸时,在交叉点处的电阻墨水接触,从而允许通过那个行和列形成电路(例如,通过闭合电阻开关312之一)。在交叉点处的电阻下降与通过触摸施加的力成比例,使得增加的力产生减小的电阻。
在另一个例子中,电阻列-行矩阵104可包括用碳墨形成图案并由在交叉点处具有孔的分隔层分隔开的两片。诸如一小串碳(carbon)那样的电阻器可以在交叉点处提供接触点。另外还可以利用力扩张器(force spreader)来引导施加的力以将上部膜向下推过孔,造成与底部片的电接触(例如,通过闭合电阻开关312之一)。因此,当施加更大的力时,膜更大地变形到孔中,并且力扩张。这种物理扩张逐渐使电阻器短路,因此在该行与列之间的电阻下降。应当意识到,这里描述的电阻输入设备102不限于计算机键盘。而是,电阻输入设备102可以是包括具有复用的行测量电路的电阻列-行矩阵104的任何适当的设备,诸如其它类型的键盘、多触摸传感器等等。而且,上述的方法也可以应用到通常的键盘矩阵(例如,没有刻意加上电阻器的矩阵)。然而,给定相对高速和并行的设计,则好处可能不那么显著。而且,上述的方法也可以应用到具有并行的行读取硬件的计算系统。在这种情形下,类似的技术是分级地预先测试在先前的扫描中完全没有被按下的开关的列。而且,应当意识到,在输入设备包括机械键的情形下,这些键可能遭受被称为反跳 (bounce)的现象。这是当在安定下来到始终如一的接触之前有若干闭合断开循环时。计算机键盘通常提供防反跳逻辑,以使得当仅仅想要一次键击时,这些反跳不表现为多次键击。 当在初始接触之后不久键反跳时,完全可能再次很快地击打。因此,除了使用来自先前扫描的键列表以外,这里描述的方法还可以利用防反跳信息,以便将很可能反跳的键包括到分级扫描时检查的多单元组中。而且,应当意识到,虽然上述的方法牵涉到将电压施加到列并感测行,但这并不打算在任何意义上进行限制,并且可以反过来进行。而且,上述的激活电压和禁止电压也不打算在任何意义上进行限制。应当意识到,激活电压和禁止电压可以相对于基线信号而被相对地定义。照这样,扫描电压是对应于激活电压还是禁止电压的确定可包括比较扫描电压与基线电压、基线电压的一部分、与基线电压的预定差值,或执行任何其它这样的适当确定。在一些实施例中,上述的方法和处理过程可能关系到包括一个或多个计算设备的计算系统,这些计算设备可以经由诸如互联网那样的计算机网络互相连接。这些计算设备典型地包括处理器和相关联的易失性和非易失性存储器,以及诸如硬驱动那样的大容量存储设备。具体地,这里描述的方法和处理过程可以被实施为计算机应用、计算机服务、计算机API、计算机库和/或其它计算机程序产品。图1示意地显示可以执行一个或多个上述的方法和处理过程的非限制性计算设备100。计算设备100以简化的形式被显示。应当理解,实际上可以使用任何计算机结构体系而不背离本公开内容的范围。在不同的实施例中,计算设备100可以采用大型计算机、服务器计算机、台式计算机、膝上型计算机、平板电脑、家庭娱乐计算机、网络计算设备、移动计算设备、移动通信设备、游戏设备等等的形式。计算设备100包括逻辑子系统106和数据保持子系统108。计算设备100可以任选地包括显示子系统、通信子系统、和/或图1上未示出的其它部件。计算设备100还可以任选地包括用户输入设备,诸如举例而言,键盘、鼠标、游戏控制器、照相机、话筒和/或触
摸屏等等。逻辑子系统106可包括被配置成执行一个或多个指令的一个或多个物理设备。例如,逻辑子系统可被配置成执行一个或多个指令,所述指令是一个或多个应用、服务、程序、 例行程序、库、对象、组件、数据结构、或其它逻辑构造的一部分,诸如用来控制对电阻输入设备102的电阻列-行矩阵104的矩阵输入和所描述的用于识别在电阻列-行矩阵104上的一个或多个输入位置的扫描操作的指令。这样的指令可被实施来执行任务、实施数据类型、变换一个或多个设备的状态、或另外地达到想要的结果。逻辑子系统可包括被配置成执行软件指令的一个或多个处理器。附加地或替换地,逻辑子系统可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑子系统的处理器可以是单核或多核的,以及在其上执行的程序可被配置成用于并行或分布式处理。逻辑子系统可以任选地包括一个个组件,其被分布在两个或更多个设备上,这些设备可以位于远端和/或被配置用于协同配合的处理。逻辑子系统的一个或多个方面可以由以云计算格局配置的远端可接入的联网计算设备来虚拟化和执行。数据保持子系统108可包括一个或多个物理的、非暂时性的设备,其被配置成保持数据和/或可由逻辑子系统执行的指令,以实施这里描述的方法和处理过程。例如,数据保持子系统108可包括可由逻辑子系统106执行的指令,诸如用来控制矩阵输入和上述的扫描操作的指令。当这样的方法和处理过程被实施时,数据保持子系统108的状态可被变换(例如,以保持不同的数据)。数据保持子系统108可包括可拆卸的媒体和/或内置的设备。数据保持子系统 108尤其可包括光学存储装置(例如,⑶、DVD、HD-DVD、蓝光盘等等)、半导体存储装置(例如, RAM、EPROM、EEPROM等等)和/或磁存储装置(例如,硬盘驱动、软盘驱动、磁带驱动、MRAM等等)。数据保持子系统108可包括具有以下特性中的一个或多个的设备易失性、非易失性、 动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址以及内容可寻址。 在一些实施例中,逻辑子系统106和数据保持子系统108可被集成到一个或多个共同的设备中,诸如专用集成电路或芯片上的系统。术语“模块”、“程序”和“引擎”可使用来描述被实施以执行一个或多个特定功能的计算设备100的一个方面。在一些情形下,这样的模块、程序或引擎可以经由执行由数据保持子系统108保持的指令的逻辑子系统106而被实例化。应当理解,可以从相同的应用、 服务、代码块、对象、库、例行程序、API、功能等等实例化不同的模块、程序和/或引擎。同样地,可以通过不同的应用、服务、代码块、对象、例行程序、API、功能等等实例化相同的模块、 程序和/或引擎。术语“模块”、“程序”和“引擎”意欲包括单独的或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等等。应当理解,这里描述的配置和/或方法实际上是示例性的,且这些特定的实施例或例子不应被认为是限制意义的,因为可能有许多变例。而且,要求权利保护的/所描述的实施例和示例性方法不应当被解释为限于用来解决这里讨论的一个或多个问题的那些。这里描述的特定的例行程序或方法可以代表任何数目的处理策略中的一个或多个。照这样, 所举例说明的各种行动可以以所示的顺序、以其它顺序、并行地被执行,或在某些情形下被省略。同样地,上述的处理过程的次序可以改变。本公开内容的主题包括这里公开的各种处理过程、系统和配置、以及其它特征、功能、动作和/或属性的所有新颖的和非显而易见的组合和子组合,以及它们的任何的和所有的等同物。
权利要求
1.一种在被配置成响应于触摸或其它物理地施加的输入而提供输出的电阻列-行矩阵中识别在电阻列-行矩阵上的一个或多个输入位置的方法(200),该方法包括接收(202)在电阻列-行矩阵处的一个或多个物理地施加的输入;在施加一个或多个物理地施加的输入期间,执行(204)电阻列-行矩阵的分级扫描,以确定对于组成电阻列-行矩阵的多个多单元组的每个多单元组,所述一个或多个物理地施加的输入是否造成在该多单元组内的列-行单元的激活;如果确定物理地施加的输入造成在该多单元组内的列-行单元的激活,则在所述多单元组内执行(206)补充扫描;以及根据分级扫描和补充扫描,生成(208)指示所述一个或多个物理地施加的输入在电阻列-行矩阵上的一个或多个输入位置的输出。
2.权利要求1的方法,还包括根据在电阻列-行矩阵上的一个或多个先前识别的输入位置,确定该多个多单元组中的某些但不是所有的多单元组。
3.权利要求2的方法,其中所述多个多单元组中的某些但不是所有的多单元组排除该多个多单元组中包括了在电阻列-行矩阵上的该一个或多个先前识别的输入位置的其它多单元组。
4.权利要求3的方法,还包括经由分级扫描确定物理地施加的输入未造成在该多个多单元组的所述某些但不是所有的多单元组内的列-行单元的激活,以及在包括电阻列-行矩阵上的该一个或多个先前识别的输入位置的其它多单元组内执行补充扫描。
5.权利要求1的方法,其中对于多个多单元组的每个多单元组执行分级扫描包括将扫描控制信号施加到该多个多单元组,并读取与该多个多单元组的每个多单元组相关联的扫描电压。
6.权利要求5的方法,还包括对于多个多单元组的每个多单元组确定如果对于该多单元组读取的扫描电压对应于激活电压,则所述一个或多个物理地施加的输入造成在那个多单元组内的列-行单元的激活。
7.权利要求6的方法,还包括对于多个多单元组的每个多单元组确定如果对于该多单元组读取的扫描电压对应于禁止电压,则所述一个或多个物理地施加的输入未造成在那个多单元组内的列-行单元的激活。
8.权利要求7的方法,其中在多单元组内执行补充扫描包括将扫描控制信号施加到该多单元组内的一个或多个列-行单元,并对于所述一个或多个列-行单元的每个列-行单元,读取用于该列-行单元的扫描电压。
9.权利要求8的方法,还包括对于每个列-行单元确定如果用于该列-行单元的扫描电压对应于激活电压,则所述一个或多个物理地施加的输入造成该列-行单元的激活。
10.权利要求9的方法,还包括对于每个列-行单元确定如果扫描电压对应于禁止电压,则所述一个或多个物理地施加的输入不造成该列-行单元的激活。
11.权利要求10的方法,其中生成输出包括对于对应于激活电压的每个列-行单元, 根据包括该列-行单元的该电阻列-行矩阵的列和行,指示在电阻列-行矩阵上该列-行单元的位置。
12.—种计算设备(100),包括电阻输入设备(102),其包括力敏电阻材料并被配置成接收触摸或其它物理地施加的输入,该电阻输入设备(102)包括电阻列-行矩阵(104),其包括多个行和多个列,行和列的每个交叉点定义一个列-行单元; 逻辑子系统(106);以及数据保持子系统(108),其保持能由逻辑子系统(106)执行的指令,用来 接收在电阻列-行矩阵(104)处的一个或多个物理地施加的输入; 选择组成该电阻列-行矩阵(104)的多个多单元组中多单元组的第一集合; 在施加该一个或多个物理地施加的输入期间,确定所述一个或多个物理地施加的输入是否造成在多单元组的第一集合内的一个或多个列-行单元的激活;如果确定所述一个或多个物理地施加的输入造成在该多单元组的第一集合内的一个或多个列-行单元的激活,则在该多单元组的第一集合上执行补充扫描,并作为响应,生成指示所述一个或多个物理地施加的输入在电阻列-行矩阵(104)上的一个或多个输入位置的输出;如果确定所述一个或多个物理地施加的输入未造成在该多单元组的第一集合内的一个或多个列-行单元的激活,则选择组成该电阻列-行矩阵(104)的多个多单元组中多单元组的第二集合,该多单元组的第二集合与多单元组的第一集合不同,以及在施加所述一个或多个物理地施加的输入期间,确定所述一个或多个物理地施加的输入是否造成在该多单元组的第二集合内的一个或多个列-行单元的激活;以及如果确定所述一个或多个物理地施加的输入造成在多单元组的第二集合内的一个或多个列-行单元的激活,则在该多单元组的第二集合上执行补充扫描,并作为响应,生成指示所述一个或多个物理地施加的输入在电阻列-行矩阵(104)上的一个或多个输入位置的输出。
13.权利要求12的计算设备,其中所述指令被配置成根据在电阻列-行矩阵上的一个或多个先前识别的输入位置,选择该多单元组的第一集合和多单元组的第二集合。
14.权利要求12的计算设备,其中所述指令被配置成选择该多单元组的第一集合以便包括电阻列-行矩阵的列-行单元的第一集合,和选择该多单元组的第二集合以便排除电阻列-行矩阵的该列-行单元的第一集合。
15.权利要求12的计算设备,其中所述一个或多个物理地施加的输入改变在一部分力敏电阻材料中的电阻,以及其中所述指令能进一步执行来通过将扫描控制信号施加到电阻列-行矩阵的一部分并测量电阻列-行矩阵的对应部分上的扫描电压,而确定所述一个或多个物理地施加的输入是否在多单元组的第一集合和多单元组的第二集合的一个或多个多单元组内造成激活,所述扫描电压与电阻的改变成比例。
全文摘要
通过一种在电阻列-行矩阵上识别输入位置的方法而提供了具有最佳化输入扫描的电阻矩阵,该方法包括接收在电阻列-行矩阵处的一个或多个物理地施加的输入;和在施加该一个或多个物理地施加的输入期间,执行电阻列-行矩阵的分级扫描,以确定所述物理地施加的输入是否造成在电阻列-行矩阵的多单元组内的列-行单元的激活。该方法还包括如果确定物理地施加的输入造成在多单元组内的列-行单元的激活,则在所述多单元组内执行补充扫描;以及根据分级扫描和补充扫描,生成指示所述一个或多个物理地施加的输入在电阻列-行矩阵上的输入位置的输出。
文档编号G06F3/045GK102385465SQ201110252328
公开日2012年3月21日 申请日期2011年8月30日 优先权日2010年8月30日
发明者迪茨 P. 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1