背景技术
在单个封装内集成诸如加速计、陀螺仪和磁力计之类的多种传感器正成为日益增长的趋势。传感器的价格越来越低并已被市场用于大量应用。加速计使得消费型电子产品的用户可以方便地进行多种操作,例如肖像-风景转换或诸如震动和其他运动之类的特定事件的检测。加速计通常测量一维或多维中的加速度。通过检测三个不同部件关于三条正交轴线的差值可以测量空间加速度,由此能够确定角度。沿着时间比较角度,假设除重力之外不存在加速度,则可以得出角速度。
在实践中,虽然加速计为重力提供绝对参考,但也伴随有许多限制使得它们无法准确地测量旋转。最重要的是,加速计并非设计用于区分旋转运动和线性加速,因为它们感测包括静态的和动态的加速度的加速度的每个分量。因此,根据角度间的差异,加速计感知***的横向运动(injected lateral movement)作为不期望的旋转扰动。此外,加速计噪音较大。结果,在没有附加的定向信息的情况下,加速度传感器不适用于检测动态和静态加速度之间的差异。
与此相对,陀螺仪或角速率传感器非常适合于测量旋转。它们设计为只感测旋转定向且排除由线性加速度引起的扰动。然而,陀螺仪不具有绝对参考信息。因此,即使当角速率传感器是静止的且没有进行任何实际的角度旋转时,即估计的旋转角度的RMS值保持为0时,一旦传感器的固有噪声输出信号对时间积分,则估计的旋转角度将为非零。结果,缓慢的角度漂移发生,这可以用“随机游走”理论来描述。
现行方法是将陀螺仪与来自低带宽加速计的适当而精确的参数相结合,用以补偿陀螺仪的缓慢漂移。然而,尽管加速计能够在截距和滚动面上补偿陀螺仪的漂移,但是其不能补偿围绕陀螺仪的垂直轴的漂移(摇摆),因为加速计缺少对于地球磁场北极的绝对参考。一种解决方案是,将磁力计增加到陀螺仪和加速计的组合中以补偿围绕摇摆轴的陀螺仪的漂移,因为磁力计的磁场传感器提供了加速计所缺少的绝对参考。
然而,组合多个传感器会导致必须由***集成器承受的相对高的功耗,并且无法明显地降低该相对高的功耗,尤其是只要陀螺仪启动。目前,市场上可获得的陀螺仪的平均功耗远远超过10mW。由于陀螺仪通常为单机型,实时打开或关断陀螺仪以管理电源需要向/从陀螺仪传送数据的应用处理器,从而控制陀螺仪的打开和关断时间。这个过程通常由软件管理,且主要具有包括时间延迟和提高的功率要求的两个固有限制。另外,软件操作***的慢的定时方案使得由短时的关断时间(例如,1ms)而产生的可能的节能无法实行。同样,由长时的关断时间(例如,50ms)而产生的节能被陀螺仪固有的慢的打开时间阻止。另外,基于软件的方式要求应用处理器的恒定操作,例如,使得数据通信能够询问加速计以确定打开和关断陀螺仪的适当的时间。这有助于增加数据流量、CPU周期和功耗。总之,基于软件的方式阻止***集成器实现明显的节能。
需要的是,能够完全集成的传感器功率管理以克服上述的限定并在将陀螺仪的平均功耗降低至5mW以下的同时提供陀螺仪的优良的感测性能的方法、装置和***。
具体实施方式
在下列描述中,为了达到解释的目的,阐述了特定的细节从而提供对本发明的理解。但是显然,对于本领域技术人员来说能够实施本发明而无需这些细节。本领域技术人员应当认识到,可以以多种方式以及使用多种手段来执行如下所述的本发明的实施例。本领域技术人员还应当认识到,附加的修改、应用和实施例包含在本发明范围之内,作为本发明提供应用的附加领域。因此,下述的实施例是本发明的具体实施例的例示,并用来避免使本发明模糊不清。
说明中所引用的“一个实施例”或“一实施例”是指结合实施例所描述的特定的特征、结构、特点或功能包含在本发明的至少一个实施例中。说明书中多处出现的短语“在一个实施例中”、“在一实施例中”等并不必然指向同一个实施例。
此外,附图中部件之间或方法步骤之间的连接并不局限于直接影响的连接。相反,在不背离本发明的教导的情况下,附图中所示的部件之间或方法步骤之间的连接可以通过向其添加中间部件或方法步骤来进行修改或改变。
在呈现的多个实施例中,集成的动态传感器功率管理方案动态地关断陀螺仪,只要条件允许其关断,例如,当在一些时间段没有积极使用陀螺仪时。例如,为了降低智能手机的功率预算,在通话期间可以关断应用所使用的陀螺仪而无需退出该应用。
将磁力计与加速计组合使得***集成器能够代替陀螺仪的某些功能,因为***可以获得所有需要的绝对参考来在空间中准确地定向物体,而没有留下任何未知参数。不幸地是,这种组合仍然易于产生由磁力计和加速计两者产生的那种类型的噪音,如前所论述的那样;尤其是处于较高频率。例如,以100Hz带宽操作磁力计将引起磁力计捕捉由周边电子设备这样的设备产生的外部磁干扰,这将导致噪声极高的罗盘。因此,只有在限定的带宽状态(诸如用于慢速运动)下,才能够组合加速计与磁力计以相对准确地检测旋转。在需要检测更快运动的应用中,诸如在游戏应用中,陀螺仪是检测旋转的优选方法。本文中所描述的全集成的、低延时方式在将陀螺仪平均功耗降至5mW以下的同时提供了陀螺仪的优良的感测性能。
图1示出了用于控制多传感器***中的功耗的功率管理***。功率管理***100可以包括融合模块102,该模块将由一组内部或外部传感器提供的诸如角度数据之类的数据结合起来,所述数据例如是可以通过多个串行接口132、134和136与***100耦合的陀螺仪数据120、加速计数据124和磁力计数据128。***100进一步包含功率管理器104,该功率管理器设计为接收包括来自传感器组中的一个或多个传感器的数据的传感器数据。功率管理器104通过控制信号122、126、130与一个或多个传感器通信以管理它们的操作。
陀螺仪112是诸如三维角速率传感器之类的传感器,其测量角度位置的旋转速率并输出一个或多个相应的数据信号120。典型地,陀螺仪112具有超过300Hz的带宽。在操作中,陀螺仪112消耗大约5mW的功率。与此相对,当陀螺仪112被关断时其实际上不消耗任何功率。加速计114是一传感器,其通过感测线性移动来测量加速度并输出一个或多个相应的数据信号124。磁力计116是磁场强度传感器,其通过一个或多个相应的数据信号128为磁北极提供绝对参考。
在一个实施例中,功率管理***100被配置为使用功率管理器104来监测使用磁力计116的磁场强度的三个自由度,使用加速计114的线性运动的三个自由度以及通过陀螺仪112的角度运动的三个自由度,从而产生能够通过数字传感器输出数据信号120、124和128在空间追踪物体的定向和运动的9个自由度的传感器***。
功率管理器104例如通过数字功率控制信号132、134、136来传达在任意给定时刻传感器112、114、116中的哪一个启用或禁用的决定。一个或多个传感器112、114、116可以以任意的组合形式被启用或禁用,从而有助于降低整体功耗。
在一个实施例中,功率管理器104根据加速计114或磁力计116或它们两者的状态来确定是否禁用陀螺仪112。完全关断陀螺仪112可以提供最大的节能,因为加速计114和磁力计116通常明显地比陀螺仪112消耗更少的功率。在一个实施例中,加速计114和磁力计116两者在任意时候均可以保持运行和有效,并且始终由硬件或软件来监测,从而持续向功率管理器104提供关于它们的条件的状态信息。
此外,功率管理器104可以例如在与功率管理器104耦合的软件输入接口157处接收关于内部或外部软件事件156的信息。通过软件事件所接收的信息可以包括:用户设置、软件中断和关于用户响应期望的软件配置。在其他实例中,功率管理器104对实际测量的传感器数据作出反应。例如,当磁力计116的传感器输出信号实质超过表示磁干扰的源(例如磁力计116附近的一组大的扬声器)的预定阈值时,这样的干扰会产生不可靠的磁力计数据128并导致功率管理器104通过暂时拒绝所产生的错误磁力计数据128直到恢复正常情况为止来对传感器输出信号中的明显增长作出反应。
在一个实施例中,可以在融合模块102内组合由陀螺仪112、加速计114和磁力计116所提供的数据以产生融合的角度数据152,其用于估计定向,即与陀螺仪112、加速计114和磁力计116耦合的运动物体的角度和角速度。物体在空间中的角速度可以根据关于多条轴线所收集的传感器读数来静态和动态地准确测定,例如,通过产生四元数。(四元数是表示陀螺仪的定向的优选方式,基于它们在数学上比例如欧拉角更易于操控的事实。)不同的是,在仅使用陀螺仪112的情况下,如果在任意长度的时间段内都未检测到运动则***不出现任何类型的偏差,也就是说,在相对大的带宽上(例如,从DC到几百赫兹)陀螺仪数据不漂移而保持准确。
陀螺仪112、加速计114和磁力计116的组合使得能够迅速地进行捕捉运动以及相对于绝对参考准确地确定定向。本领域技术人员应当理解,可以在功率管理***100内实施陀螺仪112、加速计114和磁力计116以及附加的控制***、非运动传感器和数据储存器。
在一个实施例中,功率管理***100可以进一步包含数据虚拟器106,其设计为接收诸如加速计数据134和磁力计数据136之类的传感器数据。数据虚拟器106例如通过多路复用器110在原始数据输出接口155处输出原始数据154。在特定条件下,数据虚拟器106组合由加速计114和磁力计116所提供的数据以模仿陀螺仪112的行为从而输出可以代替实际的陀螺仪原始数据的原始数据154,以进一步提高功率管理***100的节能方案。在以相对小的注入的噪声等级为特点的有限带宽和低数据速率的应用中,诸如在包括慢速移动的电视指针的应用中,例如,数据虚拟器106可以从加速计114的传感器输出信号生成虚拟陀螺仪原始数据154以代替陀螺仪数据120。在另一个实施例中,数据虚拟器106可以从加速计114和磁力计116的传感器输出信号的组合生成虚拟的陀螺仪原始数据154。
在某些实例中,虚拟化的角度旋转原始数据154可能不充分而除了虚拟的数据以外还可能需要陀螺仪数据120。例如,软件应用可以以要求陀螺仪数据120的方式被写入。在这些情况下,数据虚拟器106可以利用多路复用器110来直接地输出实际的陀螺仪数据120。
为了进一步的处理,可以将原始数据154和包括关于定向的信息的来自各个传感器的融合角度数据152传送到操作***软件驱动器,包括传送到在应用接口等级(未示出)的应用程序接口(API)。
图2示出了用于移动电话的现代操作***的软件层的典型结构。
图3A是用于快速使用模型的传感器的功率管理的FSM实施方式的示例性示例。介绍了三种不同的功率模式,正常模式302、休眠模式312和暂停模式322。
在一个实施例中,在所有的三个功率模式中,加速计和磁力计始终打开。在可能是默认设置的正常模式302中,陀螺仪始终打开;在第一节能状态的休眠模式312中,陀螺仪的功耗被降低,例如从5mW至3mW;最后,在第二节能状态的暂停模式322中,陀螺仪始终关断或处于非有效状态。从效率的角度来看,希望保持在暂停模式322中的时间越长越好,从而最小化功耗。
假设例如操作***或应用(预)选择了与用于有限状态机300的(例如用于游戏应用)快速使用模型相对应的设置,则状态机300通常在多数时间保持在正常模式302。如果在预定时间长度(例如,20毫秒)内未检测到明显的运动,则状态机300转换到休眠模式312。在休眠模式312中,功耗从例如5mW降到3mW以允许相当快的恢复,在几毫秒的数量级,而不是从暂停模式(将在接下来的段落描述)恢复所需的十分之几毫秒。一旦检测到事件(例如,运动或软件事件),状态机300就能够相对迅速地从低功率休眠模式312转换回正常模式302以恢复全面的正常操作。典型地,该转换历时少于1毫秒,其在游戏应用中构成了在用户体验方面可以忽略不计的延迟。在休眠模式312,加速计和磁力计保持打开并继续向四元数输出和原始数据虚拟器输出两者提供旋转信息。
如果在延长的时间段(例如,10秒)内没有检测到明显的运动,例如,陀螺仪在较长时间段内没有被使用,则状态机300可以从休眠模式312转换到暂停模式322。在一个实施例中,只有满足至少一个附加条件之后,例如,磁力计的精确度充分可靠,状态机300才采取暂停模式322。
在暂停模式322中,完全关断陀螺仪以进一步增强节能。陀螺仪在暂停模式322中的功耗几乎为0,例如小于10μW。一旦处于暂停模式322中,对于所涉及的带宽相对有限的应用,可以组合磁力计和加速计来提供如前文所述的模拟陀螺仪的行为的模拟的虚拟旋转数据。
在暂停模式322中检测到事件(例如,旋转、震动事件)后,或者在磁力计数据中检测到不可接受的低精确度,则状态机300返回正常模式302。在一个实施例中,从暂停模式322退出的条件可以是超过加速计输出数据或磁力计输出数据的预定阈值。在多数实例中,带宽较大时会使用休眠模式312且期望快速恢复到正常模式302。
图3B是用于慢速使用模型的传感器的功率管理的FSM实施方式的示例性示例。假设为有限状态机350(预)选择了慢速使用模型,例如,在典型的用户界面操作中,如通过关于适当的轴线倾斜手机来控制菜单,其中最高频率为60Hz。在这样的设置中,在陀螺仪不经常使用且带宽被限制的情况下,可能从在转换到暂停模式322之前进入休眠模式312无法获得益处。在一个实施例中,如果在预定时间段内(例如,10秒)没有检测到明显的运动,则状态机350从正常模式302直接转换到暂停模式322以最大化节能。
在一个实施例中,磁力计和加速计保持打开并且是继续向四元数输出和原始数据虚拟器输出提供旋转信息的唯一来源。在磁力计数据中检测到事件或低的精确度后,状态机300返回正常模式302。从节能状态恢复的时间,例如在检测到事件和从暂停模式322转换到正常模式302之间的时间应充分快速以避免错过任何附加的事件或运动。本领域技术人员应当认识到,在本发明的范围内可以增加所选择的状态机的复杂度,并且可以增加中间的功率模式以对状态机条件的变化作出反应,从而获得类似的节能。
应当理解,前述的示例和实施例是示例性的且出于清楚和进行理解的目的,而并非对于本发明范围进行限制。应当指出,在阅读说明书和研究附图后,所有的排列、增强、等同、组合及其改进对本领域技术人员而言都是显而易见的,且都包含在本发明范围内。因此应当指出,权利要求包括落入本发明的真实精神和范围内的所有这样的修改、排列和等同。
图4是根据本发明的多个实施例的用于管理传感器功率的示例性过程的流程图。节能的过程在传感器数据被接收时的步骤402开始。该传感器数据与被配置为测量旋转运动的一个或多个传感器关联。
在步骤404,功率管理器确定外部事件的存在,例如,软件中断。
在步骤406,将一个或多个基于规则的标准应用到从传感器所接收的传感器数据。
在步骤408,功率管理器确定传感器数据是否满足一个或多个标准条件。
响应于上述确定,在步骤410,功率管理器选择多个操作状态中的一个。
最后,在步骤412,功率管理器使得一个或多个传感器操作在所选择的状态。每个状态包括多个操作模式,在所述多个操作模式之间可以切换传感器以降低功耗。
本领域术人员应当理解,在不脱离本发明的范围的情况下,较少或附加的步骤可以与本文中所描述的步骤相结合。流程图内的方框的布置或本文中的描述并不暗示特定的顺序。