CN105103079B - 多传感器集成芯片架构的低功率管理 - Google Patents

多传感器集成芯片架构的低功率管理 Download PDF

Info

Publication number
CN105103079B
CN105103079B CN201380060992.0A CN201380060992A CN105103079B CN 105103079 B CN105103079 B CN 105103079B CN 201380060992 A CN201380060992 A CN 201380060992A CN 105103079 B CN105103079 B CN 105103079B
Authority
CN
China
Prior art keywords
processor
sensor
motion state
computing device
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380060992.0A
Other languages
English (en)
Other versions
CN105103079A (zh
Inventor
D·A·劳特纳
S·P·迪波特斯
M·K·赫尔-劳
F·W·福雷斯特
J·V·沙哈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google Technology Holdings LLC
Original Assignee
Google Technology Holdings LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/930,529 external-priority patent/US9329701B2/en
Application filed by Google Technology Holdings LLC filed Critical Google Technology Holdings LLC
Publication of CN105103079A publication Critical patent/CN105103079A/zh
Application granted granted Critical
Publication of CN105103079B publication Critical patent/CN105103079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • Navigation (AREA)
  • Power Sources (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了用于多传感器芯片架构的低功率管理的方法、装置、系统或制品。在一个实施例中,方法包括以下步骤:在包括第一处理器、第二处理器和第三处理器的计算装置中,进行以下操作:在所述第一处理器中从第一传感器接收第一传感器数据;在所述第一处理器中使用所述第一传感器数据来判断所述计算装置的运动状态;响应于判断为所述运动状态对应于预定运动状态来激活所述第二处理器;在所述第二处理器中从第二传感器接收第二传感器数据;利用所述第二处理器,使用所述第二传感器数据来判断为所述运动状态对应于所述预定运动状态;以及响应于使用所述第二传感器数据判断为所述运动状态对应于所述预定运动状态,来将所述运动状态发送至所述第三处理器。

Description

多传感器集成芯片架构的低功率管理
相关申请的交叉引用
本申请要求2013年6月28日提交的美国非临时专利申请13/930,529(其要求2012年11月21日提交的美国临时专利申请61/728,921的优先权)的优先权,还要求2013年3月12日提交的美国临时专利申请61/776,868的优先权,并且还要求2013年5月24日提交的美国临时专利申请61/827,458的优先权,所有这些申请的标题均为“多传感器芯片架构的低功率管理”并且所有这些申请的内容如同以下完全陈述那样通过引用而包含于此。
技术领域
这里所述的实施例涉及集成芯片架构内的多个各种通信传感器,并且更特别地涉及对来自多个各种通信传感器的传感器数据进行管理。
背景技术
在诸如移动计算装置、智能电话、平板计算机和可穿戴式计算装置等的当今复杂的计算装置中,在计算装置内采用许多内部传感器。这些传感器中的一些传感器辅助针对计算装置的语境条件的确定。其它传感器辅助针对计算装置的地理位置的确定。在这方面,一些传感器相比室外使用更适合室内使用,反之亦然。
这些复杂的计算装置的用户已开始严重依赖于他们的计算装置内的这些传感器的准确性、鲁棒性和可用性,而与这些用户是否主观上知晓该情况无关。例如,存在范围广泛的不同传感器和感测类型:诸如全球定位卫星(GPS)传感器和全球导航卫星系统(GLONASS)传感器等的全球导航卫星系统(GNSS)传感器以及诸如WiFi传感器、近场通信(NFC)传感器、蓝牙(Bluetooth)传感器和射频标识(RFID)传感器等的短距离无线传感器。另外,可以存在诸如加速度计、陀螺仪、磁力计以及其它微机电系统装置(MEMS)等的涉及运动的传感器。在复杂的计算装置内还可以采用摄像传感器、麦克风传感器和接近传感器。此外,传感器可以包括调制解调器、收发器和处理器等。
此外,计算装置通常利用电池进行工作,从而功率消耗是营销这些装置时的重要特征。许多计算装置能够进入低功率状态以节省电池电力。在低功率状态期间,计算装置的大部分资源断电,这导致该装置的能力受限。因此,需要用以在例如计算装置处于低电力状态的情况下允许对该计算装置的集成芯片架构中的多个传感器进行低功率管理的改进技术。此外,通过结合附图以及上述的技术领域部分和背景技术部分来考虑的后续的具体实施方式部分和权利要求书,本发明的其它期望特征和特性将变得明显。
附图说明
本发明是通过示例和实施例等进行例示的并且不受附图所限制,其中在这些附图中,相同的附图标记表示相似的元件。附图中的元件仅是为了简单和清楚而例示的而未必是按比例绘制的。根据本发明,附图连同具体实施方式部分一起并入,构成说明书的一部分,用于进一步例示示例和实施例等,并且说明各种原理和优点,其中:
图1A是示出根据这里所述的各种方面的计算装置的多传感器集成芯片架构的一个实施例的框图。
图1B是示出根据这里所述的各种方面的计算装置的多传感器集成芯片架构的另一实施例的框图。
图2是示出根据这里所述的各种方面的计算装置的多传感器集成芯片架构的另一实施例的框图。
图3是示出根据这里所述的各种方面的、用于进行语境引擎训练的系统的框图。
图4是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的一个实施例的流程图。
图5是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。
图6是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。
图7是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。
图8是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。
图9是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。
图10是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。
图11是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。
图12是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。
图13是根据这里所述的各种方面的、用于在具有多传感器集成芯片架构的计算装置中执行算法的方法的一个实施例的流程图。
图14是根据这里所述的各种方面的、用于在具有多传感器集成芯片架构的计算装置中执行算法的方法的另一实施例的流程图。
图15是根据这里所述的各种方面的、针对计算装置的多传感器集成芯片架构的低功率管理的方法的一个实施例的流程图。
图16是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的累计移动的方法的一个实施例的流程图。
图17是示出根据这里所述的各种方面的、在计算装置的多传感器集成芯片架构中进行工作的地理围栏引擎和累计移动算法之间可以交换的示例信号的梯形图。
图18是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的车内的模态的方法的一个实施例的流程图。
图19是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的车外的模态的方法的一个实施例的流程图。
具体实施方式
这里说明用于管理计算装置中的多个传感器的处理器分析的方法,其中该方法包括:监测可以连接至传感器集线器处理器的第一传感器信号,之后将该所监测的第一传感器信号与预定签名进行比较以建立与从多个传感器所接收的传感器信令相关联的置信度关系。可选地,可以简单地将所监测的第一传感器信号与预定签名进行比较。
另外,可以确定多个传感器的操作的有效性,并且可以监测连接至低功率核的第二传感器信号。可以将该所监测的第二传感器信号与另一预定签名进行比较以建立与从多个传感器所接收的传感器信令相关联的置信度关系。该方法确认一个或多个传感器满足了预定置信度状态。
在一个实施例中,短距离无线子系统可以连接至低功率核。也就是说,在WiFi子系统和低功率核之间可以存在一个或多个应用程序编程接口(API)以监测并操作例如以下的WiFi扫描结果:接收信号强度指示(RSSI)、服务集标识符(SSID)、基本服务集标识符(BSSID)、SSID与所存储的SSID一致的触发、或者BSSID与所存储的BSSID一致的触发。该方法可以将关注点的低功率地理围栏提供至移动计算装置用户。另外,API还可以包括用于确定调制解调器连接状态的部件。
在同样涉及连接至低功率核的短距离无线子系统的另一实施例中,在该低功率核内可能存在位置管理器和位置确定引擎。可以采用这种架构以使位置确定引擎使用包括元数据的WiFi AP数据库(例如,基于纬度、经度、海拔/地平面和置信度)来产生地理位置。
另一实施例使诸如GNSS子系统等的卫星定位传感器连接至低功率核。该GNSS子系统可以包括GPS子系统或GLONASS子系统。若干应用程序编程接口(API)可被配置为监测卫星穿行模式以确定纬度、经度、速度、位置准确性相对于不确定性、以及扫描速率。扫描速率可以是接收器扫描速率或报告扫描速率。
对于又一实施例,应用处理器直接连接至低功率核以使得能够进行短距离无线子系统的可编程性。该可编程性可以确定诸如WiFi扫描等的短距离无线扫描的开始和停止以及短距离无线扫描的速率。
此外,本发明描述用于确定用户在持有计算装置的状态下的活动的模态的示例实施例。模态还可被称为语境状态。可以通过收集计算装置上的传感器数据并且从该传感器数据中提取特征以推断与计算装置的用户相关联的活动来确定用户的活动的模态,从而确定用户的活动的模态。所推断的活动可以包括运动状态、位置状态、环境状态、通信状态、其它状态或它们的任何组合。尽管模态可以是运动状态、环境状态、通信状态或其它状态,但还可以使用这些状态的任何组合来确定模态。运动状态可以与持有计算装置的用户的移动(或没有移动)相关联,并且可以包括静止、步行、慢跑、跑步、驾驶车辆、乘坐诸如小汽车、公共汽车或飞机等的交通工具、乘坐自动扶梯或升降梯等或者它们的任何组合。运动状态可以使用来自加速度传感器或陀螺仪等的传感器数据。位置状态可以与持有计算装置的用户的位置相关联。位置状态可以使用来自诸如GPS传感器或GLONASS传感器等的GNSS传感器、或者诸如WiFi传感器等的短距离无线传感器等的传感器数据。环境状态可以与持有计算装置的用户周围的环境相关联。环境状态可以使用来自麦克风等的传感器数据。通信状态可以与在持有计算装置的用户的附近进行的诸如语音等的人造声音相关联。此外,本发明描述用于在计算装置的各种处理器之间对与确定用户的活动的模态相关联的功能进行划分的示例实施例,其效果是降低计算装置的功率消耗。
根据一个示例实现,如这里所使用的,术语计算装置或移动计算装置可以是中央处理单元(CPU)、控制器或处理器,或者可以概念化为CPU、控制器或处理器(例如,图1B的第一处理器101)。在另外的其它实例中,计算装置可以是组合到一个或多个附加硬件组件的CPU、控制器或处理器。在特定示例实现中,用作CPU、控制器或处理器的计算装置可以与诸如显示器、导航系统、立体声系统、娱乐中心或WiFi接入点(AP)等的一个或多个外围装置可操作地连接。在另一示例实现中,如这里所使用的,术语计算装置可以是指移动计算装置,诸如智能电话、移动站(MS)、终端、蜂窝电话、蜂窝手机、个人数字助理(PDA)、智能电话、无线电话、整理器、手持式计算机、台式计算机、笔记本式计算机、平板计算机、机顶盒、电视机、器具、游戏装置、医疗装置、显示装置或一些其它相似的术语。在示例实施例中,计算装置可以将内容输出至其本地显示器或扬声器。在另一示例实现中,计算装置可以将内容(例如,经由诸如WiFi等的短距离无线)输出至诸如TV或外部计算系统等的外部显示装置。
图1A是示出根据这里所述的各种方面的计算装置的多传感器集成芯片架构100a的一个实施例的框图。在图1A中,架构100a可被配置为包括第二处理器120、第三处理器110、第一调制解调器处理器130、第二调制解调器处理器140和外围子系统150。第二处理器120和第三处理器110各自可被配置为处理计算机指令和数据。此外,各处理器可被配置成计算机处理器或控制器。在一个示例中,第二处理器120可以是诸如低功率核(LPC)等的处理器。在另一示例中,第三处理器110可以是应用处理器并且可以包括多个计算机处理器。可以将架构100a的各种组件组合成包括硅或适合采用高速芯片技术的一些其它材料的单个集成电路架构。在一个示例中,单芯片架构105可被配置为包括第二处理器120、第三处理器110、第一调制解调器处理器130和第二调制解调器处理器140。
在图1A中,第三处理器110可以可操作地连接至第二处理器120、第一调制解调器处理器130和第二调制解调器处理器140。在一个示例中,第一调制解调器处理器130可被配置为接收或发送与诸如GPS或GLONASS等的GNSS系统相关联的数据信号。在一个示例中,第二调制解调器处理器140可被配置为接收或发送与诸如WiFi信号、蓝牙信号、FM无线电信号、其它通信协议信号或它们的任何组合等的短距离无线信号相对应的数据信号。诸如以下调制解调器处理器等的其它调制解调器处理器可被视为可操作地连接至第三处理器110或第二处理器120,其中这些调制解调器处理器能够发送或接收针对射频标识(RFID)通信协议、近场通信(NFC)协议、局域网(LAN)协议、广域网(WAN)协议、计算机网络协议、无线网络协议、远程通信网络协议、其它相似的通信协议信号或它们的组合的数据信号。第二处理器120可能能够相对于外围子系统150进行感测数据的接收或发送。外围子系统150可被配置为包括加速度计152、陀螺仪154、磁力计156、气压计158和诸如环境光传感器(ALS)、接近传感器或气味传感器等的其它传感器160或者它们的任何组合。
图1B是示出根据这里所述的各种方面的计算装置的多传感器集成芯片架构100b的一个实施例的框图。在图1B中,架构100b可被配置为包括第一处理器101、第二处理器120、第三处理器110、第一调制解调器处理器130、第二调制解调器处理器140和外围子系统150。第一处理器101、第二处理器120和第三处理器110各自可被配置为处理计算机指令和数据。此外,各处理器可被配置成计算机处理器或控制器。在一个示例中,第一处理器101可以是诸如传感器集线器等的控制器。在另一示例中,第二处理器120可以是诸如LPC等的处理器。在另一示例中,第三处理器110可以是应用处理器并且可以包括多个计算机处理器。可以将架构100b的各种组件组合成包括硅或适合采用高速芯片技术的一些其它材料的单个集成电路架构。在一个示例中,单芯片架构105可被配置为包括第二处理器120、第三处理器110、第一调制解调器处理器130和第二调制解调器处理器140。
在图1B中,第三处理器110可以可操作地连接至第一处理器101、第二处理器120、第一调制解调器处理器130和第二调制解调器处理器140。在一个示例中,第一调制解调器处理器130可被配置为接收或发送与诸如GPS或GLONASS等的GNSS系统相关联的数据信号。在一个示例中,第二调制解调器处理器140可被配置为接收或发送与诸如WiFi信号、蓝牙信号、FM无线电信号、其它通信协议信号或它们的任何组合等的短距离无线信号相对应的数据信号。诸如以下调制解调器处理器等的其它调制解调器处理器可被视为可操作地连接至第三处理器110或第二处理器120,其中这些调制解调器处理器能够发送或接收针对射频标识(RFID)通信协议、近场通信(NFC)协议、局域网(LAN)协议、广域网(WAN)协议、计算机网络协议、无线网络协议、远程通信网络协议、其它相似的通信协议或它们的组合的数据信号。第二处理器120可以连接至第三处理器110、第一调制解调器处理器130、第二调制解调器处理器140和第一处理器101。外围子系统150可被配置为包括加速度计152、陀螺仪154、磁力计156、气压计158和诸如环境光传感器(ALS)、接近传感器或气味传感器等的其它传感器160或者它们的任何组合。第一处理器101例如还可被配置为从可操作地连接至麦克风的数字信号处理器(DSP)接收输入数据。
在图1B中,第一处理器101可以可操作地连接至第三处理器110、外围子系统150和第二处理器120。此外,第一处理器101可以可操作地连接至加速度计152、陀螺仪154、磁力计156、气压计158或其它传感器160。架构100b可以允许第一处理器101从外围子系统150接收运动数据、位置数据或模态数据,而第二处理器120和第三处理器110处于诸如待机模式或睡眠模式等的低功率状态。此外,架构100b可以允许利用第二处理器120接收运动数据、位置数据或模态数据,而第三处理器110处于诸如待机模式或睡眠模式等的低功率状态。在一个示例中,第一处理器101可以从外围子系统150接收运动数据并且可以判断计算装置是移动还是静止。响应于检测运动,第一处理器101可以激活第二处理器120。在一个示例中,处理器可以通过向另一处理器或电子组件提供电力来激活该处理器或电子组件。在另一示例中,处理器可以通过初始化或中断其它处理器或电子组件来激活另一处理器或电子组件。在另一示例中,处理器可以通过改变其它处理器或电子组件的操作状态来激活另一处理器或电子组件。第二处理器120可以从第一调制解调器处理器130接收诸如GNSS位置数据等的位置数据,或者从第二调制解调器处理器140接收诸如短距离无线位置数据(WiFi位置数据等)等的位置数据,以确定计算装置的模态。响应于确定了特定模态,第一处理器101或第二处理器120可以激活第三处理器110。
在另一实施例中,第三处理器110可以使用第二处理器120来仅可操作地连接至第一调制解调器处理器130或第二调制解调器处理器140。该结构例如可以允许在无需唤醒第三处理器110的情况下经由因特网进行电话呼叫或数据传输。
在另一实施例中,在一个样本的确定期间所测量到的有源模式电流小于一毫安培(1mA)的任何传感器可操作地连接至第一处理器101。此外,在一个样本的确定期间所测量到的有源模式电流至少为一毫安培(1mA)的任何传感器可操作地连接至第二处理器120。
在另一实施例中,在一个样本的确定期间所测量到的有源模式电流小于十毫安培(10mA)的任何传感器可操作地连接至第一处理器101。此外,在一个样本的确定期间所测量到的有源模式电流至少为十毫安培(10mA)的任何传感器可操作地连接至第二处理器120。
图2是示出根据这里所述的各种方面的计算装置的多传感器集成芯片架构200的另一实施例的框图。在图2中,架构200可被配置为包括第一处理器201、第二处理器220和第三处理器210。第一处理器201、第二处理器220和第三处理器210各自可被配置为处理计算机指令和数据。此外,各处理器可被配置成计算机处理器或控制器。在一个示例中,第一处理器201可以是诸如传感器集线器等的控制器。在另一示例中,第二处理器220可以是诸如LPC等的处理器。在另一示例中,第三处理器210可以是应用处理器并且可以包括多个计算机处理器。在一个定义中,数据是采用适合由计算机使用的形式的信息。值得注意的是,本领域普通技术人员可以使用各种操作系统或操作系统的组合来实现本发明的主题。
在图2中,第一处理器201可被配置为包括接口端口271~278、中断控制器279、其它元件或它们的任何组合。第一处理器201的接口端口271~278可以是串行端口、诸如I2C端口等的多主串行单端计算机总线端口、串行外围接口(SPI)端口、并行端口、通用输入和输出(GPIO)端口、游戏端口、通用串行总线(USB)、微型USB端口、高清晰度多媒体接口(HDMI)端口、视频端口、音频端口、诸如蓝牙端口、NFC端口或WiFi端口等的短距离无线端口、GNSS端口、其它相似的接口端口或者它们的任何组合。中断控制器279可用于提供第一处理器201和中断硬件之间的软件接口。接口端口271可用于使第一处理器201可操作地连接至加速度计传感器252、陀螺仪传感器253、磁力计传感器254、气压计传感器255、环境光传感器256、接近传感器257、诸如环境光传感器(ALS)、接近传感器或气味传感器等的其它传感器258或者它们的任何组合。
在当前实施例中,接口端口274可用于使用显示器接口285来使第一处理器201可操作地连接至显示器287。显示器接口285可被配置成通信接口,并且可以提供用于在显示器287上渲染视频、图形、图像、文本、其它信息或它们的任何组合的功能。在一个示例中,通信接口可以包括串行端口、并行端口、通用输入和输出(GPIO)端口、游戏端口、通用串行总线(USB)、微型USB端口、高清晰度多媒体接口(HDMI)端口、视频端口、音频端口、蓝牙端口、近场通信(NFC)端口、其它相似的通信端口或者它们的任何组合。在一个示例中,显示器接口285可以可操作地连接至诸如与计算装置相关联的触摸屏显示器等的本地显示器。在另一示例中,显示器接口285可被配置为向未必连接至计算装置的外部/远程显示器提供视频、图形、图像、文本、其它信息或它们的任何组合。在一个示例中,可以利用桌面监视器来反映或扩展在计算装置上可以呈现的图形信息。在另一示例中,显示器接口285例如可以使用第一调制解调器处理器230、第二调制解调器处理器240或其它调制解调器处理器来与外部/远程显示器进行无线通信。
在图2中,接口端口273可用于使用触摸屏接口286来使第一处理器201可操作地连接至触摸屏288。显示器287可以与触摸屏288相组合以形成触摸敏感显示器。接口端口275可用于使第一处理器201可操作地连接至第二处理器220。接口端口276可用于使第一处理器201可操作地连接至第三处理器210。接口端口277可用于使第一处理器201可操作地连接至数字信号处理器(DSP)282。DSP 282可以可操作地连接至麦克风283或扬声器。接口端口278可用于使第一处理器201可操作地连接至触觉集成电路(IC)284。功率管理IC 281可用于向系统的元件提供各种电压。此外,功率管理IC 281可以将诸如三十二千赫(32KHz)等的时钟提供至第一处理器201。
在当前实施例中,可以将架构200的各种组件组合成包括硅或适合采用高速芯片技术的一些其它材料的单个集成电路架构。在一个示例中,单芯片架构205可被配置为包括第二处理器220、第三处理器210、第一调制解调器处理器230、第二调制解调器处理器240、存储器211、接口端口212和213、中断控制器214、其它元件或它们的组合。第三处理器210可以可操作地连接至第一调制解调器处理器230、第二调制解调器处理器240和存储器211。此外,第三处理器210可以使用存储器211可操作地连接至第二处理器220。此外,第三处理器210可以使用接口端口212可操作地连接至第一处理器201。第二处理器220可以使用存储器211可操作地连接至第一调制解调器处理器230和第二调制解调器处理器240。此外,第二处理器230可以使用接口端口213可操作地连接至第一处理器201。中断控制器214可用于提供第二处理器220和中断硬件之间的软件接口。此外,中断控制器279可用于提供第三处理器210和中断硬件之间的软件接口。
在图2中,第一调制解调器处理器230可被配置为接收或发送与诸如GPS或GLONASS卫星等的GNSS子系统或者其它通信协议相关联的数据信号。第二调制解调器处理器240可被配置为接收或发送与诸如WiFi信号、蓝牙信号、FM无线电信号、其它通信协议信号或它们的任何组合等的短距离无线信号相对应的数据信号。其它调制解调器处理器可被视为可操作地连接至第三处理器210或第二处理器220。其它调制解调器处理器可以包括能够发送或接收针对RFID、NFC、局域网(LAN)、广域网(WAN)、计算机网络、无线网络、远程通信网络、其它相似的网络或它们的任何组合的数据信号的调制解调器处理器。这些其它调制解调器处理器的通信功能可以包括数据通信、语音通信、多媒体通信、短距离通信、近场通信、其它相似的通信功能或它们的任何组合。例如,其它调制解调器处理器可以包括蜂窝通信。
在本实施例中,存储器211可以在诸如操作系统、应用程序、装置驱动器和固件等的软件程序的执行期间提供数据或计算机指令的存储或高速缓存。存储器211可被配置为包括存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁性盘、光盘、软盘、硬盘、可移除卡型盒式磁带、闪速驱动器。在一个示例中,存储器211可被配置为包括操作系统、诸如web浏览器应用程序、微件(widget)或小工具(gadget)引擎或者其它应用等的应用程序、数据文件和RAM。存储器211还可被配置为包括多个物理驱动单元,诸如独立磁盘冗余阵列(RAID)、软盘驱动器、闪速存储器、USB闪速驱动器、外部硬盘驱动器、拇指大小的驱动器、笔型驱动器、键驱动器、高密度数据多功能盘(HD-DVD)光盘驱动器、内部硬盘驱动器、蓝光(Blu-Ray)光盘驱动器、全息数字数据存储(HDDS)光盘驱动器、外部小型双列直插内存模块(DIMM)同步动态随机存取存储器(SDRAM)、外部微型DIMM SDRAM、诸如身份标识模块或可移除用户身份(SIM/RUIM)模块等的智能卡存储器、其它存储器或它们的任何组合。存储器211可以允许第二处理器220或第三处理器210访问瞬态或非瞬态存储器介质上所存储的计算机可执行指令或应用程序等、卸载数据或者上传数据。可以将诸如利用通信系统的制品等的制品有形地嵌入可以包括计算机可读介质的存储介质中。
图3是示出根据这里所述的各种方面的、用于进行语境引擎训练的系统300的框图。在图3中,系统300可被配置为包括第一计算装置301、第二计算装置302和离线处理器321。系统300可以使用第二计算装置302来以离线方式进行语境引擎训练。第二计算装置302可以在特定用户物理活动304期间捕获感测数据306。计算装置302可以从计算装置302内的传感器收集感测数据306。用户物理活动304可以包括静止、步行、跑步、驾驶或其它类型的物理活动。计算装置302的内部传感器可以包括加速度计、磁力计、诸如GPS传感器等的GNSS传感器、诸如WiFi传感器等的短距离无线传感器、气压计传感器、陀螺仪、麦克风或其它相似的传感器。计算装置302可以将感测数据306提供至离线处理器321。在一个示例中,离线处理器可以是有权访问诸如因特网等的网络的计算机服务器。在另一示例中,离线处理器可以是另一计算装置。在另一示例中,离线处理器321可以是第二计算装置302。
在图3中,离线处理器321可被配置为包括预处理模块323、特征提取模块325和机器学习模块327。离线处理器321可以通过处理感测数据306以获得用作置信度水平的预定签名的学习参数329以供第一计算装置301使用,来进行离线训练。在一个示例中,第二计算装置302可以与第一计算装置301相同。预处理模块323可用于提取特定活动特有的传感器数据。特征提取模块325可用于从传感器数据306提取统计和非统计信息。机器学习模块327可用于基于所提取的信息来确定学习参数329。学习参数329可以直接用在计算装置301的模态确定引擎307中。可以基于训练阶段的机器学习来获得感测数据的置信度以实现更大的精度。可以在计算装置301的模态确定引擎307中使用两个以上的置信度水平阈值。模态确定引擎307可被配置为包括预处理模块309、特征提取模块311、应用学习参数模块313和所确定模态模块317。在一个示例中,第一置信度水平可以包括与加速度计信号相关联的感测数据305的使用。在另一示例中,第二置信度水平可以包括例如在应用处理器处于空闲状态的情况下与诸如WiFi信号等的短距离无线信号或者诸如GPS信号等的GNSS信号相关联的感测数据305的使用。在另一示例中,第一、第二或第三置信度水平可以包括与麦克风、环境光传感器(ALS)、接近传感器、其它传感器或它们的任何组合相关联的感测数据的使用。
图4是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法400的一个实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器401、第二处理器420和第三处理器。在一个示例中,第一处理器401可以是传感器集线器。第二处理器420可以是LPC,并且第三处理器可以是应用处理器。在图4中,方法400例如可以从块403开始,其中在该块403中,第一处理器401可以从第三处理器的应用程序或特征接收针对计算装置的模态的请求。响应于针对计算装置的模态的请求,在块405中,方法400可以使用基于机器学习的内容算法和来自第一传感器的第一传感器数据来确定运动状态。第一传感器可以是加速度计、磁力计、陀螺仪和气压计等中的至少一个。在一个示例中,第一传感器是加速度计。本领域普通技术人员应当理解与基于机器学习的内容算法相关联的结构、功能和性能。运动状态例如还可以是静止、步行、跑步或驾驶等。
在图4中,在块407中,方法400可以确定是否需要第二传感器以提供第二置信度水平。在一个示例中,驾驶状态可能需要第二传感器以提供第二置信度水平。第二传感器可以是诸如GPS传感器等的GNSS传感器和诸如WiFi传感器等的短距离无线传感器中的至少一个。在块423中,如果需要第二传感器以提供第二置信度水平,则方法400可以使用基于机器学习的内容算法和来自第二传感器的第二传感器数据来确定运动状态。第一处理器401可以将用以提供第二置信度水平的请求发送至第二处理器420。此外,第一处理器401可以将来自第一传感器的第一传感器数据或与第一置信度水平相关联的信息发送至第二处理器420。此外,第一处理器401可能需要激活第二处理器420。
在当前实施例中,在块409中,方法400可以判断当前迭代是否是第一次确定模态。在块411中,方法400可以判断模态是否不同于先前模态。如果模态不同,则在块413中,方法400可以使用例如第一处理器401的用户管理器元件来将计算装置的模态发送至第三处理器。否则,如果模态相同,则方法400可以返回至块405。在块415中,方法400可以利用第二处理器或第三处理器的应用程序或功能来判断是否存在针对计算装置的模态的任何其它请求。在块417中,方法400可以注销第二处理器或第三处理器的特定应用程序或特征所进行的针对计算装置的模态的请求。
图5是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。多传感器集成芯片架构可以与图1B所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器501、第二处理器520和第三处理器。在一个示例中,第一处理器501可以是传感器集线器,第二处理器520可以是低功率核,并且第三处理器可以是应用处理器。在图5中,方法500例如可以从块525开始,其中在该块525中,第二处理器520可以从第三处理器的应用程序或特征接收针对计算装置的模态的请求。
在图5中,在块527中,方法500可以开始或恢复第一处理器501所进行的模态检测。响应于用以开始或恢复模态检测的请求,在块503中,方法500可以开始或恢复第一处理器501所进行的模态检测。在块505中,方法500可以使用基于机器学习的内容算法和来自第一传感器的第一传感器数据来确定运动状态。第一传感器可以是加速度计、磁力计、陀螺仪和气压计等中的至少一个。在一个示例中,第一传感器是加速度计。本领域普通技术人员应当理解与基于机器学习的内容算法相关联的结构、功能和技术。运动状态例如可以是静止、步行、跑步或驾驶等。
在图5中,在块507中,方法500可以判断是否需要第二传感器以提供第二置信度水平。在一个示例中,驾驶状态可能需要第二传感器以提供第二置信度水平。第二传感器可以是诸如GPS传感器等的GNSS传感器和诸如WiFi传感器等的短距离无线传感器中的至少一个。在块523中,如果需要第二传感器以提供第二置信度水平,则方法500可以使用基于机器学习的内容算法和来自第二传感器的第二传感器数据来确定运动状态。第一处理器501可以将用以提供第二置信度水平的请求发送至第二处理器520。此外,第一处理器501可以将来自第一传感器的第一传感器数据或与第一置信度水平相关联的信息发送至第二处理器520。此外,第一处理器501可能需要激活第二处理器520。
在当前实施例中,在块509中,方法500可以判断当前迭代是否是第一次确定模态。在块511中,方法500可以判断模态是否不同于先前模态。如果内容状态不同,则在块513中,方法500可以将计算装置的模态发送至例如第二处理器520的用户管理器元件。否则,如果内容状态相同,则方法500可以返回至块503。在块529中,方法500可以从第一处理器501接收计算装置的模态。在块531中,方法500可以利用第三处理器的应用程序或功能来判断是否针对计算装置的模态的任何其它请求。在块533中,方法500可以注销第三处理器的特定应用程序或特征所进行的针对计算装置的模态的请求。
图6是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器、第二处理器和第三处理器。在图6中,方法600例如可以从块601开始,其中在该块601中,可以对计算装置进行通电。在块603中,方法600可以对诸如GNSS传感器等的第一传感器进行初始化。在块605中,方法600可以获得诸如临时数据等的位置数据以辅助第一传感器。在一个示例中,位置数据可以由计算装置从蜂窝网络或诸如WiFi网络等的短距离无线网络获得。
在图6中,在块606中,方法600可以对诸如短距离无线传感器等的第二传感器进行初始化。在块607中,方法600可以通过例如将模态设置为诸如空(null)状态等的第一状态来对模态传感器算法进行初始化。在块609中,方法600可以执行交互引擎处理程序。该交互引擎处理程序可用于执行诸如用以确定计算装置的模态的模态传感器算法或用以判断计算装置是否移动的运动检测算法等的算法。在块611中,方法600可以针对GNSS信号或短距离无线信号进行扫描。还可以将GNSS信号和短距离无线信号单独或总体称为传感器信号或传感器数据。如果使用第一传感器检测到GNSS信号,则在块613中,方法600可以针对GNSS位置进行扫描。否则,如果使用第二传感器检测到短距离无线信号,则在块612中,方法600可以针对短距离无线位置进行扫描。可以将GNSS位置和短距离无线位置单独或总体称为位置。如果没有检测到GNSS信号和短距离无线信号这两者,则方法600可以继续进入块617。在块615中,方法600可以判断是否获得GNSS位置。在块614中,方法600可以判断是否获得短距离无线位置。在块617中,方法600可以判断模态是否是诸如静止状态或者与计算装置没有移动相关联的状态等的第一状态。
在当前实施例中,如果模态不是第一状态,则在块619中,方法600可以判断模态是否是诸如驱动状态或者与计算装置以同小汽车、公共汽车、火车或飞机等相关联的速度移动相关联的状态等的第二状态。如果模态对应于第二状态,则在块631中,方法600可以基于计算装置的速度来调整位置扫描占空比。可以使用来自GNSS传感器或WiFi传感器的传感器数据来确定计算装置的速度。本领域普通技术人员应当理解用于根据GNSS传感器或诸如WiFi传感器等的短距离无线传感器的传感器数据来确定速度的各种技术。在一些实例中,速度越快,扫描所用的占空比越低。在块621中,方法600可以判断模态是否对应于诸如步行状态或者与计算装置以同步行相关联的速度移动相关联的状态等的第三状态。如果模态对应于第三状态,则在块629中,方法600可以基于计算装置的速度来调整位置扫描占空比。此外,可以使用诸如加速度计或陀螺仪等的第三传感器来确定计算装置正移动的朝向或方向或者进行计步器的功能。
在图6中,在块623中,方法600可以判断模态是否对应于诸如室内状态或者与计算装置处于室内相关联的状态等的第四状态。在典型的室内环境中,可能难以检测到GNSS信号,而可能更容易检测诸如WiFi信号等的建筑物内短距离无线信号。如果模态是第四状态,则在块627中,方法600可以减小短距离无线扫描占空比。例如,在建筑物内WiFi网络中,在持有计算装置的用户在建筑物内走动的情况下,较低的占空比可能仍允许检测到多个紧密间隔的接入点(AP)。如果模态不是第四状态,则在块625中,方法600可以判断位置扫描计算器是否到期。在块626中,如果扫描时间没有到期,则在特定时间内没有发现位置的情况下,方法600可以减小短距离无线扫描占空比或GNSS扫描占空比。否则,如果扫描时间到期,则方法600可以返回至块609中的交互引擎处理程序。
在另一实施例中,计算装置的多传感器集成芯片架构例如可被配置为包括音频、多媒体或功率管理所用的附加组件或处理器。
在另一实施例中,计算装置的多传感器集成芯片架构可以包括多模无线通信集成电路或芯片集。
在另一实施例中,用于唤醒应用处理器的阈值可以使用接收信号强度指示(RSSI)或期望置信度水平。诸如确认语境感知状态或提供关注点的确认等的其它阈值例如可以基于运动传感器、音频水平或任何其它的环境感测数据。还可以基于接收阈值水平来进行功率管理。
图7是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法700的另一实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器、第二处理器和第三处理器。在一个示例中,可以利用诸如传感器集线器等的第一处理器来进行方法700。此外,第一处理器可以进行方法700,而诸如LPC等的第二处理器或诸如应用处理器等的第三处理器处于低功率模式。在图7中,方法700例如可以从块701开始,其中在该块701中,方法700可以判断是否设置了装载寄存器(stowed register)。可以使用该装载寄存器来启用或禁用用于判断计算装置是否装载在诸如钱包或口袋等的容器中的装载算法。如果没有设置装载寄存器,则方法700可以返回至块701。否则,如果设置了装载寄存器,则在块703中,方法700可以读取来自环境光传感器(ALS)的ALS数据或来自接近传感器的接近数据。
在图7中,在块705中,方法700可以判断在计算装置的附近是否存在物体。在一个示例中,如果物体在从计算装置起的小于五十毫米(50mm)的距离内或者在足以判断计算装置是否储存在诸如钱包或皮夹等的容器内的距离内,则该物体在计算装置的附近。在另一示例中,如果物体在从计算装置起的小于三十毫米(30mm)的范围内,则该物体在计算装置的附近。如果物体在计算装置的附近,则在块707中,方法700可以判断ALS数据是否对应于小于诸如二十(20)勒克斯(lux)等的第一亮度阈值或者小于与计算装置在光线昏暗的房间内相关联的亮度。否则,如果物体不在计算装置的附近,则在块706中,方法700可以报告计算装置没有被装载。如果ALS数据对应于至少第一亮度阈值,则在块709中,方法700可以判断当前装载状态是否为装载。否则,如果ALS数据对应于小于第一亮度阈值,则在块708中,方法700可以报告计算装置被装载。如果当前状态为装载,则在块711中,方法700可以判断ALS数据是否大于诸如五十(50)勒克斯等的第二亮度阈值或者大于与计算装置在明亮房间的阴影中相关联的亮度。如果ALS数据大于第二亮度阈值,则在块713中,方法700可以报告计算装置没有被装载。否则,如果ALS数据小于或等于第二亮度阈值,则方法700可以返回至块701。
图8是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的模态的方法800的另一实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器、第二处理器和第三处理器。在一个示例中,可以利用诸如传感器集线器等的第一处理器来进行方法800。此外,第一处理器可以进行方法800,而诸如LPC等的第二处理器或诸如应用处理器等的第三处理器处于低功率模式。在图8中,方法800例如可以从块801开始,其中在该块801中,方法800可以判断是否设置了面朝上或面朝下寄存器。可以使用该面朝上或面朝下寄存器来启用或禁用用于判断计算装置是面朝上还是面朝下的面朝上或面朝下算法。如果设置了面朝上或面朝下寄存器,则在块803中,方法800可以读取加速度计数据。否则,如果没有设置面朝上或面朝下寄存器,则在块819中,方法800可以报告计算装置的面朝上或面朝下状态是未知的。
在图8中,在块805中,方法800可以判断计算装置的x轴、y轴和z轴各自是否等于0,其中该0可能与用以进行面朝上或面朝下算法或经由该算法的第一次迭代的加速度计数据不足相关联。如果计算装置的x轴、y轴和z轴各自等于0,则在块807中,方法800可以针对加速度计数据应用低通滤波器或进行平均化函数。否则,如果计算装置的x轴、y轴和z轴各自不都等于0,则方法800可以返回至块803。在块809中,方法800可以确定滤波后的加速度计数据的大小。在块811中,方法800可以判断滤波后的加速度计数据的大小是否小于诸如一米/平方秒(1m/s2)等的预定加速度。如果滤波后的加速度计数据至少为预定加速度阈值,则在块813中,方法800可以确定计算装置的倾斜角度。本领域普通技术人员应当理解用于确定物体的倾斜角度的各种算法。
在当前实施例中,在块815中,方法800可以判断沿着计算装置的z轴的倾斜角度相对于与重力方向垂直的表面是否在诸如负九十度(-90°)等的第一角度阈值和诸如负七十五度(-75°)等的第二角度阈值的范围内或者小于或等于诸如负十五度(-15°)等的第三角度阈值。在一个示例中,第一角度阈值可以在负七十度(-70°)~负八十九度(-89°)的范围内。在另一示例中,第三角度阈值可以在负二十度(-20°)~负一度(-1°)的范围内。
在图8中,如果计算装置的倾斜角度在第一角度阈值和第二角度阈值的范围内或者小于或等于第三角度阈值,则在块816中,方法800可以报告计算装置面朝下。在一个示例中,第一处理器可以向第二处理器或第三处理器报告计算装置面朝下。在另一示例中,第一处理器可以在报告计算装置面朝下之前或者与该报告同时激活第二处理器或第三处理器。否则,如果倾斜角度在该范围外,则在块817中,方法800可以判断计算装置相对于与重力方向垂直的方向是否为诸如七十五度(75°)等的第四角度阈值~诸如九十度(90°)等的第五角度阈值或者小于或等于诸如十五度(15°)等的第六角度阈值。在另一示例中,第四角度可以在七十度(70°)~八十九度(89°)的范围内。在另一示例中,第六角度阈值可以在二十度(20°)~负一度(1°)的范围内。如果计算装置的倾斜角度为第三角度~第四角度,则在块818中,方法800可以报告计算装置面朝上。否则,如果倾斜角度在该范围外,则在块819中,方法800可以报告计算装置的面朝上或面朝下状态是未知的。
图9是根据这里所述的各种方面的、用于判断具有多传感器集成芯片架构的计算装置的模态的方法900的另一实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器901、第二处理器920和第三处理器。在一个示例中,可以利用诸如传感器集线器等的第一处理器901和诸如LPC等的第二处理器920来进行方法900。在另一示例中,可以利用第一处理器901来进行方法900。在另一示例中,可以利用第二处理器920来进行方法900。第一处理器901或第二处理器920可以进行方法900,而诸如应用处理器等的第三处理器处于低功率模式。此外,在第一处理器901正进行方法900中的该第一处理器901的一部分的情况下,第二处理器920可以处于低功率模式。同样,在第二处理器920正进行方法900中的该第二处理器920的一部分的情况下,第一处理器901可以处于低功率模式。
在图9中,方法900例如可以从块902开始,其中在该块902中,方法900可以判断是否设置了运动寄存器。可以使用该运动寄存器来启用或禁用用于判断计算装置是处于运动还是静止不动的运动检测算法。如果设置了运动寄存器,则在块903中,方法900可以对加速度计传感器进行初始化。否则,如果没有设置运动寄存器,则方法900可以返回至块902。第二处理器或第三处理器所执行的多个应用程序或特征可以请求第一处理器在检测到运动的情况下提供中断以进行通知。第二处理器或第三处理器的各个应用程序或特征还可以请求第一处理器必须中断第二处理器或第三处理器的持续时间。
在当前实施例中,在块905中,方法900可以在中断处理器之前或与该中断同时,从第二处理器或第三处理器的应用程序或特征所请求的一组持续时间中确定最小持续时间。在块907中,方法900可以读取加速度计传感器以接收加速度计数据。在块909中,方法900可以使用该加速度计数据来判断计算装置是在移动中还是静止。如果装置在移动中,则在块912中,方法900可以累计计算装置在移动中的时间量。如果装置为静止,则在块911中,方法900可以累计计算装置为静止的连续时间量。
在图9中,在块913中,方法900可以判断计算装置为静止的累计时间量是否至少为用于判断计算装置是否为静止的最小静止时间。在一个示例中,最小静止时间可以为五(5)秒或者判断物体是否为静止所需的时间量。在另一示例中,最小静止时间可以在一(1)秒~十(10)秒的范围内。如果计算装置为静止的累计时间量至少为最小静止时间,则在块923中,方法900可以使第一处理器激活第二处理器,以使得第二处理器可以使用将计算装置检测为静止这一情况来确定计算装置的模态。在一个示例中,在第二处理器确定计算装置的模态之后,第二处理器可以激活第三处理器以提供模态。在另一示例中,在第二处理器确定计算装置的模态之后,第二处理器可以将该模态报告至第一处理器。然后,第一处理器可以将该模态报告至第三处理器。然后,第二处理器可以进入低功率模式。如果计算装置为静止的时间量小于最小静止时间,则方法900可以返回至块907。
在当前实施例中,在块914中,方法900可以判断计算装置在移动中的累计时间量是否至少为用于判断计算装置是否在移动中的最小移动时间。在一个示例中,用于判断计算装置是否在移动中的最小移动时间为十(10)秒。在另一示例中,最小移动时间可以在一(1)秒~十(10)秒的范围内。如果计算装置在移动中的时间量至少为最小移动时间,则在块923中,方法900可以使第一处理器激活第二处理器,以使得第二处理器可以使用针对计算装置的移动的检测来确定计算装置的模态。如果计算装置在移动中的累计时间量小于最小移动时间,则方法900可以返回至块907。在块917中,方法900可以判断是否设置了运动寄存器。如果设置了运动寄存器,则方法900可以返回至块905。如果没有设置运动寄存器,则方法900可以返回至块902。
图10是根据这里所述的各种方面的、用于判断具有多传感器集成芯片架构的计算装置的模态的方法1000的另一实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器1001、第二处理器1020和第三处理器。在一个示例中,可以利用诸如传感器集线器等的第一处理器1001和诸如LPC等的第二处理器1020来进行方法1000。在另一示例中,可以利用第一处理器1001来进行方法1000。在另一示例中,可以利用第二处理器1020来进行方法1000。第一处理器或第二处理器可以进行方法1000,而第三处理器处于低功率模式。此外,在第一处理器正进行方法1000中的该第一处理器的一部分的情况下,第二处理器可以处于低功率模式。在图10中,方法1000例如可以从块1003开始,其中在该块1003中,第二处理器1020、第三处理器或另一处理器可以登记以接收计算装置的运动状态。在一个示例中,第三处理器的应用程序或特征可以向第一处理器1001进行登记以接收计算装置的运动状态。在块1005中,方法1000可以对诸如来自加速度计传感器等的传感器数据进行运动检测算法。本领域普通技术人员应当理解用于判断物体是静止还是在移动中的各种算法。
在图10中,在块1007中,方法1000可以判断计算装置是静止还是在移动中。如果计算装置在移动中,则在块1009中,方法1000可以判断模态确定引擎是否接通。如果模态确定引擎接通,则第一处理器1001可以将用以启动模态确定引擎的请求发送至第二处理器1020。在一个示例中,第一处理器1001可以在请求启动模态确定引擎之前或与该请求同时激活第二处理器1020。如果计算装置为静止,则在块1010中,方法1000可以判断模态确定引擎是否断开。如果模态确定引擎接通,则第一处理器1001可以将用以启动模态确定引擎的请求发送至第二处理器1020。在块1023中,方法1000可以从第一处理器1001接收用以启动或停止模态确定引擎控制器的请求。此外,模态确定引擎控制器可以启动、停止或控制模态确定引擎。
在当前实施例中,在块1025中,方法1000可以判断模态确定引擎控制器是接通还是断开。如果该引擎断开,则在块1026中,方法1000可以使第二处理器1020进入低功率模式或进行第二处理器1020的另一功能或任务。如果该引擎接通,则方法1000可以开始模态确定引擎。方法1000可以通过进行与预处理块1027、特征提取块1029、应用学习参数模块1031和确定模态块1033相关联的功能来进行模态确定引擎。预处理块1027可用于提取特定活动特有的传感器数据1006。特征提取块1029可用于从传感器数据1006中提取统计和非统计信息。应用学习参数块1031可以将学习参数应用于传感器数据1006中的所提取特征。
在图10中,在块1033中,方法1000可以确定模态。此外,方法1000可以将所确定的模态提供至如块1013所述的模态登记管理器。此外,如块1025所述,方法1000可以返回检查模态确定引擎是接通还是断开。可以基于训练阶段的机器学习来获得传感器数据1006的置信度以实现更高的精度。可以在计算装置的模态确定引擎中使用一个或多个置信度水平。在一个示例中,第一置信度水平可以包括与加速度计相关联的感测数据的使用。在另一示例中,第二置信度水平可以包括与短距离无线信号或GNSS信号相关联的感测数据的使用。在另一示例中,第一、第二或第三置信度水平可以包括与麦克风、环境光传感器(ALS)、接近传感器、其它传感器或它们的任何组合相关联的感测数据的使用。
在本实施例中,在模态登记管理器块1013中,方法1000可以接收所确定的模态。在一个示例中,第二处理器1020可以在将所确定的模态发送至第一处理器1001之前或与该发送同时激活第一处理器1001。在块1015中,方法1000可以判断所确定的模态是否满足例如第三处理器的应用程序或特征所提供的模态标准。如块1014所述,第三处理器可以向第一处理器1001登记模态标准。如果所确定的模态满足或超过模态标准,则在块1004中,方法1000可以向第三处理器发送应答。在一个示例中,第一处理器1001可以在发送所确定的模态满足或超过模态标准这一应答之前或与该发送同时激活第三处理器。
图11是根据这里所述的各种方面的、用于判断具有多传感器集成芯片架构的计算装置的模态的方法1100的一个实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器1101、第二处理器1120和第三处理器。在一个示例中,第一处理器1101可以是传感器集线器,第二处理器1120可以是LPC,并且第三处理器可以是应用处理器。在图11中,方法1100例如可以从块1103开始,其中在该块1103中,第一处理器1101可以从第三处理器的应用程序或特征接收针对计算装置的模态的请求。响应于针对计算装置的模态的请求,在块1105中,方法1100可以使用来自第一传感器的第一传感器数据来进行运动检测算法。第一传感器可以是加速度计、磁力计、陀螺仪和气压计等中的至少一个。在一个示例中,第一传感器是加速度计。本领域普通技术人员应当理解用于判断物体是静止还是在移动中的各种算法。
在图11中,在块1107中,方法1100可以判断计算装置是静止还是在移动中。如果计算装置在移动中,则在块1123中,方法1100可以使用基于机器学习的内容算法、来自第一传感器的第一传感器数据和来自第二传感器的第二传感器数据来确定运动状态。第二传感器例如可以是GNSS传感器或短距离无线传感器。第一处理器1101可能需要在请求第二处理器进行基于机器学习的内容算法之前激活第二处理器1120。如果计算装置为静止,则在块1109中,方法1100可以判断当前迭代是否是第一处理器1101第一次确定模态。在块1111中,方法1100可以判断模态是否不同于先前模态。在块1113中,方法1100可以使用例如第一处理器1101的用户管理器元件来将计算装置的模态发送至第三处理器。在块1115中,方法1100可以利用应用处理器的应用程序或功能来判断是否存在针对计算装置的模态的任何其它请求。在块1117中,方法1100可以注销应用处理器所进行的针对计算装置的模态的请求。
图12是根据这里所述的各种方面的、用于判断具有多传感器集成芯片架构的计算装置的模态的方法的另一实施例的流程图。多传感器集成芯片架构可以与图1B所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器1201、第二处理器1220和第三处理器。在一个示例中,第一处理器1201可以是传感器集线器,第二处理器1220可以是低功率核,并且第三处理器可以是应用处理器。在图12中,方法1200例如可以从块1225开始,其中在该块1225中,第二处理器1220可以从第三处理器的应用程序或特征接收针对计算装置的模态的请求。在块1227中,方法1200可以开始或恢复第一处理器1201所进行的模态检测。响应于用以开始或恢复模态检测的请求,在块1203中,方法1200可以开始或恢复第一处理器1201所进行的模态检测。在块1205中,方法1200可以使用来自第一传感器的第一传感器数据来进行运动检测算法。第一传感器可以是加速度计、磁力计、陀螺仪和气压计等中的至少一个。在一个示例中,第一传感器是加速度计。本领域普通技术人员应当理解用于判断物体是静止还是在移动中的各种算法。
在图12中,在块1207中,方法1200可以判断计算装置是静止还是在移动中。如果计算装置在移动中,则在块1223中,方法1200可以使用基于机器学习的内容算法、来自第一传感器的第一传感器数据和来自第二传感器的第二传感器数据来确定运动状态。第二传感器例如可以是GNSS传感器或短距离无线传感器。在块1209中,方法1200可以判断当前迭代是否是第一次确定模态。在块1211中,方法1200可以判断模态是否不同于先前模态。在块1213中,方法1200可以将计算装置的模态发送至例如第二处理器1220的用户管理器元件。在块1229中,方法1200可以从第一处理器1201接收计算装置的模态。在块1231中,方法1200可以利用应用处理器的应用程序或功能来判断是否存在针对计算装置的模态的任何其它请求。在块1233中,方法1200可以注销应用处理器所进行的针对计算装置的模态的请求。
图13是根据这里所述的各种方面的、用于在具有多传感器集成芯片架构的计算装置中执行算法的方法1300的一个实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器1301、第二处理器1320和第三处理器。在一个示例中,第一处理器1301可以是传感器集线器,第二处理器1320可以是LPC,并且第三处理器可以是应用处理器。在图13中,方法1300例如可以从块1303开始,其中在该块1303中,第一处理器1301可以从第三处理器的应用程序或特征接收用以执行算法的请求。响应于该用以执行算法的请求,在块1305中,方法1300可以使用与来自第一传感器的第一传感器数据相关联的第一置信度水平来执行算法。第一传感器可以是加速度计、磁力计、陀螺仪和气压计等中的至少一个。在一个示例中,第一传感器是加速度计。
在图13中,在块1307中,方法1300可以判断是否需要第二置信度水平。在一个示例中,算法可以使用第一置信度水平来检测计算装置是静止还是在运动中,并且可以使用第二置信度水平来检测计算装置的模态。第二置信度水平可以与来自第二传感器的第二传感器数据相关联。第二传感器可以是诸如GNSS传感器或短距离无线传感器等的与计算装置的位置相关联的传感器、诸如麦克风传感器等的与计算装置周围的环境相关联的传感器、或者诸如麦克风传感器等的与在计算装置的附近所进行的通信相关联的传感器。如果需要第二置信度水平,则在块1323中,方法1300可以使用与来自第二传感器的第二传感器数据相关联的第二置信度水平来执行算法。第一处理器1301可以将来自第一传感器的第一传感器数据或与第一置信度水平相关联的其它信息发送至第二处理器1320。此外,第一处理器1301可能需要激活第二处理器1320。
在当前实施例中,在块1309中,方法1300可以判断当前迭代是否是第一次执行算法。在块1311中,方法1300可以判断算法的结果是否改变。如果结果不同,则在块1313中,方法1300可以使用例如第一处理器1301的用户管理器元件来将该结果发送至第三处理器。否则,如果结果相同,则方法1300可以返回至块1305。在块1315中,方法1300可以利用第二处理器或第三处理器的应用程序或功能来判断是否存在用以执行算法的任何其它请求。在块1317中,方法1300可以注销第二处理器或第三处理器的应用或功能所进行的用以执行算法的请求。
图14是根据这里所述的各种方面的、用于在具有多传感器集成芯片架构的计算装置中执行算法的方法1400的一个实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器1401、第二处理器1420和第三处理器。在一个示例中,第一处理器1401可以是传感器集线器,第二处理器1420可以是低功率核,并且第三处理器可以是应用处理器。在图14中,方法1400例如可以从块1425开始,其中在该块1425中,第二处理器1420可以从第三处理器的应用程序或特征接收用以执行算法的请求。在块1427中,方法1400可以开始或恢复第一处理器1401所进行的算法。响应于该用以开始或恢复算法的请求,在块1403中,方法1400可以开始或恢复第一处理器1401所进行的算法。在块1405中,方法1400可以使用与来自第一传感器的第一传感器数据相关联的第一置信度水平来执行算法。第一传感器可以是加速度计、磁力计、陀螺仪和气压计等中的至少一个。在一个示例中,第一传感器是加速度计。
在图14中,在块1407中,方法1400可以判断算法的结果是否需要与来自第二传感器的第二传感器数据相关联的第二置信度水平。第二传感器可以是诸如GNSS传感器或短距离无线传感器等的与计算装置的位置相关联的传感器、诸如麦克风传感器等的与计算装置周围的环境相关联的传感器、或者诸如麦克风传感器等的与在计算装置的附近所进行的通信相关联的传感器。如果需要第二置信度水平,则在块1423中,方法1400可以使用与来自第二传感器的第二传感器数据相关联的第二置信度水平来执行算法。第二处理器1401可以将来自第一传感器的第一传感器数据或与第一置信度水平相关联的其它信息发送至第二处理器1420。此外,第一处理器1401可能需要激活第二处理器1420。
在当前实施例中,在块1409中,方法1400可以判断当前迭代是否是第一次执行算法。在块1411中,方法1400可以判断算法的结果是否改变。如果结果不同,则在块1413中,方法1400可以将该结果发送至第二处理器1420的用户管理器元件。否则,如果结果相同,则方法1400可以返回至块1405。在块1429中,方法1400可以从第一处理器1401接收算法的结果。在块1431中,方法1400可以利用第三处理器的应用程序或功能来判断是否存在用以执行算法的任何其它请求。在块1433中,方法1400可以注销第三处理器的特定应用程序或特征所进行的用以执行算法的请求。
图15是根据这里所述的各种方面的、针对计算装置的多传感器集成芯片架构的低功率管理的方法1500的一个实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器、第二处理器和第三处理器。在一个示例中,可以利用诸如传感器集线器等的第一处理器来进行方法1500。此外,第一处理器可以进行方法1500,而诸如LPC等的第二处理器或诸如应用处理器等的第三处理器处于低功率模式。
在图15中,方法1500例如可以从块1501开始,其中在该块1501中,第一处理器在等待来自以第一数据速率进行工作的传感器的传感器数据的同时,可以以第一时钟速率进行工作。在等待来自传感器的传感器数据的情况下,以第一时钟速率进行工作的第一处理器可以以诸如待机模式或睡眠模式等的低功率模式进行工作。在一个示例中,传感器可以是加速度计。传感器数据可以表示传感器的一个或多个读数。在块1503中,方法1500可以判断来自传感器的传感器数据是否表示计算装置的运动。在一个示例中,在传感器感测到计算装置的运动的情况下,该传感器可用于激活第一处理器。在另一示例中,来自传感器的传感器数据可以由第一处理器用来确定计算装置的运动。
在当前实施例中,在块1505中,方法1500可以使用来自传感器的传感器数据来进行第一运动状态算法。该第一运动状态算法可用于判断计算装置是否处于第一运动状态。在一个示例中,该第一运动状态可以与计算装置为静止相关联。本领域普通技术人员应当理解用于确定物体的各种运动状态的各种算法。如果计算装置处于第一运动状态,则方法1500可以返回至块1505。否则,如果计算装置不是处于第一运动状态,则在块1509中,方法1500可以使第一处理器改变为第二时钟速率或使传感器改变为第二数据速率。在一个示例中,第二时钟速率可以比第一时钟速率大百分之五十(50%)或者是足以满足第一处理器接下来要进行的诸如另一运动状态算法等的算法或功能的处理需求的时钟速率。在另一示例中,第二时钟速率可以在比第一时钟速率大百分之零(0%)~百分之一百(100%)的范围内。在一个示例中,第二数据速率可以比第一数据速率大百分之五十(50%)或者是足以满足第一处理器接下来要进行的诸如另一运动状态算法等的算法或功能的数据需求的数据速率。在另一示例中,第二数据速率可以在比第一数据速率大百分之零(0%)~百分之一百(100%)的范围内。
在图15中,在块1511中,方法1500可以使用来自传感器的传感器数据来进行第二运动状态算法。该第二运动状态算法可用于判断计算装置是否处于第二运动状态。在一个示例中,该第二运动状态可以与计算装置以步行速度移动相关联。在块1513中,方法1500可以判断计算装置是否处于第二运动状态。如果计算装置处于第二运动状态,则方法1500可以返回至块1511。否则,如果计算装置不是处于第二运动状态,则在块1515中,方法1500可以使第一处理器的时钟速率改变为第三时钟速率或使传感器的数据速率改变为第三数据速率。在一个示例中,第三时钟速率可以比第一时钟速率或第二时钟速率大百分之五十(50%)或者是足以满足第一处理器接下来要进行的诸如另一运动状态算法等的算法或功能的处理需求的时钟速率。在另一示例中,第三时钟速率可以在比第一时钟速率或第二时钟速率大百分之零(0%)~百分之一百(100%)的范围内。在一个示例中,第三数据速率可以比第一数据速率或第二数据速率大百分之五十(50%)或者是足以满足第一处理器接下来要进行的诸如另一运动状态算法等的算法或功能的数据需求的数据速率。在另一示例中,第三数据速率可以在比第一数据速率或第二数据速率大百分之零(0%)~百分之一百(100%)的范围内。
在当前实施例中,在块1517中,方法1500可以使用来自传感器的传感器数据来进行第三运动状态算法。该第三运动状态算法可用于判断计算装置是否处于第三运动状态。在一个示例中,该第三运动状态可以与计算装置以跑步速度移动相关联。在块1519中,方法1500可以判断计算装置是否处于第三运动状态。如果计算装置处于第三运动状态,则方法1500可以返回至块1517。否则,如果计算装置不是处于第三运动状态,则在块1521中,方法1500可以使第一处理器改变为第四时钟速率或使传感器改变为第四数据速率。在一个示例中,第四时钟速率可以比第一时钟速率、第二时钟速率或第三时钟速率大百分之五十(50%)或者是足以满足第一处理器接下来要进行的诸如另一运动状态算法等的算法或功能的处理需求的时钟速率。在另一示例中,第四时钟速率可以在比第一时钟速率、第二时钟速率或第三时钟速率大百分之零(0%)~百分之一百(100%)的范围内。在一个示例中,第四数据速率可以比第一数据速率、第二数据速率或第三数据速率大百分之五十(50%)或者是足以满足第一处理器接下来要进行的诸如另一运动状态算法等的算法或功能的数据需求的数据速率。在另一示例中,第四数据速率可以在比第一数据速率、第二数据速率或第三数据速率大百分之零(0%)~百分之一百(100%)的范围内。
在图15中,在块1523中,方法1500可以使用来自传感器的传感器数据来进行第四运动状态算法。该第四运动状态算法可用于判断计算装置是否处于第四运动状态。在一个示例中,该第四运动状态可以与计算装置以车辆速度移动相关联。在块1525中,方法1500可以判断计算装置是否处于第四运动状态。如果计算装置处于第四运动状态,则方法1500可以返回至块1523。否则,如果计算装置不是处于第四运动状态,则方法1500可以返回至块1501。
图16是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的累计移动的方法1600的一个实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器、第二处理器和第三处理器。在一个示例中,可以利用诸如传感器集线器等的第一处理器来进行方法1600。此外,第一处理器可以进行方法1600,而诸如LPC等的第二处理器或诸如应用处理器等的第三处理器处于低功率模式。
在图16中,方法1600例如可以从块1601开始,其中在该块1601中,第一处理器可以从第二处理器或第三处理器的应用程序或特征接收用以进行累计移动算法的请求。在块1603中,方法1600可以判断计算装置是静止还是在运动中。如果计算装置为静止,则方法1600可以等待,直到计算装置在运动中为止。否则,如果计算装置在运动中,则在块1605中,方法1600可以判断要使用哪个类型的移动算法。在一个示例中,移动算法的类型可以是基于时间的移动算法或基于距离的移动算法。
在当前实施例中,如果移动算法的类型基于时间,则在块1606中,方法1600可以累计移动时间。在块1608中,方法1600可以判断移动时间是否至少为移动时间阈值。该移动时间阈值可以与基于假定速率的特定距离相对应。在一个示例中,可以将移动时间阈值设置为与计算装置以三米/秒(3m/s)的假定速率移动30米相对应的十(10)秒。在另一示例中,可以将移动时间阈值设置为与计算装置以六米/秒(6m/s)的假定速率移动一百二十(120)米相对应的二十(20)秒。如果移动时间至少为移动时间阈值,则在块1615中,方法1600可以报告该移动时间或者报告计算装置的移动时间至少为移动时间阈值。在一个示例中,第一处理器可以将计算装置的移动时间至少为移动时间阈值报告至第二处理器或第三处理器。在另一示例中,第一处理器可以在报告计算装置的移动时间至少为移动时间阈值之前或与该报告同时激活第二处理器或第三处理器。如果移动时间小于移动时间阈值,则在块1614中,方法1600可以判断拖延持续时间是否到期。在该拖延持续时间到期之后,该拖延持续时间可用于触发针对另一处理器的应答。在一个示例中,拖延持续时间可以为二十(20)秒。如果拖延持续时间到期,则在块1615中,方法1600可以报告拖延持续时间到期。否则,如果拖延持续时间没有到期,则方法1600可以返回至块1603。
在图16中,如果移动的类型基于距离,则在块1607中,方法1600可以判断是否检测到模态。在一个示例中,模态可以包括静止、微运动、步行、慢跑、跑步、驾驶、车内或车外等。在第一处理器或第二处理器中可以并行进行模态确定算法。如果没有检测到模态,则在块1609中,方法1600可以累计第一移动距离。在一个示例中,可以通过累计第一预定距离来确定第一移动距离。该第一预定距离可以是累计移动算法的占空比与诸如车辆速度等的预定移动速度的乘积。在一个示例中,移动算法的占空比可以为一赫兹(1Hz),并且预定移动速度可以为六米/秒(6m/s)。因而,第一预定移动距离为六米(6m)。在块1613中,方法1600可以判断第一移动距离是否至少为移动距离阈值。如果第一移动距离至少为移动距离阈值,则在块1615中,方法1600可以报告该第一移动距离或者报告第一移动距离至少为移动距离阈值。否则,如果第一移动距离小于移动距离阈值,则在块1614中,方法1600可以判断拖延持续时间是否到期。
在本实施例中,如果检测到模态,则在块1611中,方法1600可以通过将模态移动距离与第一预定距离相加来累计第二移动距离。可以使用所检测到的模态的速度来确定模态移动距离。此外,模态移动距离可以是针对各模态预先确定的。模态移动距离可以是累计移动算法的占空比与所检测到的模态的速度的乘积。在一个示例中,移动算法的占空比可以为一赫兹(1Hz),所检测到的模态可以为步行,并且步行的速度可以为1.5米/秒(1.5m/s)。因而,模态移动距离为1.5米(1.5m)。在另一示例中,移动算法的占空比可以为一赫兹(1Hz),所检测到的模态可以为慢跑,并且慢跑的速度可以为三米/秒(3m/s)。因而,模态移动距离为三米(3m)。在另一示例中,移动算法的占空比可以为一赫兹(1Hz),所检测到的模态可以为跑步,并且跑步的速度可以为四米/秒(4m/s)。因而,模态移动距离为四米(4m)。在另一示例中,移动算法的占空比可以为一赫兹(1Hz),所检测到的模态可以为驾驶,并且驾驶的速度可以为六米/秒(6m/s)。因而,模态移动距离为六米(6m)。
在图16中,在块1613中,方法1600可以判断第二移动速度是否至少为移动距离阈值。如果第二移动距离至少为移动距离阈值,则在块1615中,方法160可以报告该第二移动距离或者报告该第二移动距离至少为移动距离阈值。否则,如果第二移动距离小于移动距离阈值,则在块1614中,方法1600可以判断拖延持续时间是否到期。
图17是示出根据这里所述的各种方面的、在计算装置的多传感器集成芯片架构中进行工作的地理围栏引擎和累计移动算法之间可以交换的示例信号的梯形图1700。在一个定义中,地理围栏可以是真实世界地理区域的虚拟周界。在另一定义中,地理围栏可以是位置周围的动态生成的虚拟边界。在另一定义中,地理围栏可以是边界的预定集合。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器、第二处理器和第三处理器。梯形图1700可以包括地理围栏引擎1701和第一处理器1703。诸如LPC等的第二处理器或诸如应用处理器等的第三处理器可以包括地理围栏引擎。如块1704所述,地理围栏引擎1701可以从GNSS传感器请求GNSS位置。
在图17中,响应于该请求,如块1705所述,地理围栏引擎1701可以从GNSS传感器接收GNSS位置。响应于接收到GNSS位置,地理围栏引擎1701可以确定到GNSS位置周围的地理围栏边界的移动距离阈值。此外,如附图标记1709所述,地理围栏引擎1701可以将用以请求累计移动(还可以包括诸如图16所述等的移动距离阈值)的信号发送至第一处理器1703。地理围栏引擎1701还可以将诸如图16所述等的拖延持续时间发送至第一处理器1703。响应于用以累计移动的请求,第一处理器1703可以进行诸如图16所述等的累计移动算法1711。在执行了累计移动算法之后,如附图标记1713所述,第一处理器1703可以将报告累计移动算法的结果的信号发送至地理围栏引擎。在一个示例中,响应于累计移动至少为移动距离阈值,第一处理器1703可以将报告累计移动或者报告累计移动至少为移动距离阈值的信号发送至地理围栏引擎1701。在另一示例中,响应于拖延持续时间到期,第一处理器1703可以将报告拖延持续时间到期的信号发送至地理围栏引擎1701。响应于报告累计移动算法的结果,如附图标记1715所述,地理围栏引擎1701可以将用以取消累计移动的请求的信号发送至第一处理器。响应于取消用以累计移动的请求,第一处理器1703可以取消用以累计移动的请求。
图18是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的车内的模态的方法1800的一个实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器、第二处理器和第三处理器。在一个示例中,可以利用诸如应用处理器等的第三处理器来进行方法1800。在另一示例中,可以利用诸如LPC等的第二处理器来进行方法1800。在另一示例中,可以利用第三处理器来进行方法1800的一部分,而利用第二处理器来进行方法1800的另一部分。在图18中,方法1800例如可以从块1801开始,其中在该块1801中,方法1800可以从第二处理器或第三处理器的应用程序或特征接收用以进行车内模态算法的请求。在块1803中,方法1800可以判断计算装置是否连接至静态接入点(AP)。在一个定义中,静态AP是允许无线装置使用诸如WiFi或相关标准等的短距离无线通信连接至有线网络的装置并且固定至地理位置。
在图18中,如果计算装置没有连接至静态AP,则在块1805中,方法1800可以判断模态是否等于第一预定状态。在一个示例中,第一预定状态可以是车内或者与计算装置以车辆速度移动相关联的状态。认识到模态可以独立于方法1800而确定并且可以与方法1800的操作同时改变,这很重要。在一个示例中,可以利用例如在第一处理器或第二处理器中所进行的模态确定算法来确定模态。如果计算装置连接至静态AP,则方法1800可以返回至块1803。如果模态等于第一预定状态,则在块1807中,方法1800可以判断是否在第一GNSS请求时间内从GNSS传感器请求了GNSS数据。在一个示例中,第一GNSS请求时间可以为一百二十(120)秒。在另一示例中,第一GNSS请求时间可以在三十(30)秒~二百四十(240)秒的范围内。否则,如果模态不等于第一预定状态,则方法1800可以等待模态等于第一状态。
在当前实施例中,如果从GNSS传感器请求了GNSS数据,则在块1811中,方法1800可以从GNSS传感器接收GNSS数据。GNSS数据可以表示GNSS传感器的一个或多个读数。在块1813中,方法1800可以使用GNSS数据来确定第一速度。在一个示例中,可以根据与GNSS传感器的三个(3)连续读数相关联的GNSS数据来确定第一速度。在另一示例中,可以根据与诸如十(10)秒等的特定时间段内GNSS传感器的三个(3)读数相关联的GNSS数据来确定第一速度。
在图18中,在块1815中,方法1800可以判断第一速度是否至少为第一速度阈值。在一个示例中,第一速度阈值可以是六米/秒(6m/s)或比一般人跑步的可能速度快。在另一示例中,第一速度阈值可以在五米/秒(5m/s)~十米/秒(10m/s)的范围内。如果第一速度至少为第一速度阈值,则在块1871中,方法1800可以向第二处理器或第三处理器的请求应用程序或特征报告计算装置的模态为车内。在一个示例中,第二处理器可以向第三处理器的应用程序或特征报告模态为车内。在另一示例中,第二处理器可以在报告模态为车内之前或者与该报告同时激活第三处理器。在另一示例中,第三处理器可以向第二处理器的应用程序或特征报告模态为车内。
在当前实施例中,如果第一速度小于第一速度阈值,则在块1817中,方法1800可以判断模态是否等于第二预定状态。在一个示例中,第二预定状态可以是步行状态或者与计算装置以步行速度移动相关联的状态。在另一示例中,第二预定状态可以是跑步状态或者与计算装置以跑步速度移动相关联的状态。在另一示例中,第二预定状态可以是步行状态或跑步状态。如果模态等于第二预定状态,则方法1800可以返回至块1801。否则,如果模态不等于第二预定状态,则在块1819中,方法1800可以判断GNSS数据是否表示来自GNSS传感器的所接收GNSS信号弱。在一个示例中,如果GNSS传感器不能获取载噪比(C/N0)大于二十分贝(20dB)或等同于中等信号强度的三个以上的卫星车辆(SV),则可以判断为所接收GNSS信号弱。在另一示例中,如果GNSS传感器不能根据所接收GNSS信号来确定速度,则可以将所接收GNSS信号判断为弱。如果所接收GNSS信号弱,则方法1800可以返回至块1811。否则,如果所接收信号不弱,则在块1821中,方法1800可以使GNSS传感器在第一延迟时间内无效并且返回至块1801。在一个示例中,第一延迟时间可以为一百二十(120)秒。在另一示例中,第一延迟时间可以在三十(30)秒~二百四十(240)秒的范围内。在另一示例中,第一延迟时间可以从例如三十(30)秒开始、在各迭代后增加。
在图8中,在块1831中,方法1800可以确定模态等于第一状态的时间在诸如六十(60)秒或一百二十(120)秒等的测量时间段内的百分比。在一个示例中,方法1800可以通过将与计算装置处于第一状态相关联的累计时间除以总测量时间来确定模态等于第一状态的百分比。在一个示例中,在利用模态确定引擎检测到步行状态或跑步状态的情况下,方法1800可以重置与计算装置处于第一状态相关联的累计时间。在块1833中,方法1800可以判断模态等于第一状态的时间的百分比是否至少为第一模态百分比阈值。在一个示例中,第一模态百分比阈值可以约为百分之六十六(66%)。在另一示例中,第一模态百分比阈值可以在约百分之五十(50%)~约百分之一百(100%)的范围内。如果模态等于第一状态的时间的百分比小于第一模态百分比阈值,则方法1800可以等待模态等于第一状态的时间的百分比至少为第一模态百分比阈值。否则,如果模态等于第一状态的百分比至少为第一模态百分比阈值,则在块1835中,方法1800将等待,直到模态为诸如模态确定引擎所报告的车内状态等的第一预定状态为止。在块1837中,在计算装置处于不同位置的情况下,方法1800可以针对静态AP进行扫描。此外,方法1800可以确定进行扫描的连续位置之间的持续时间。方法1800可以获得诸如服务集标识(SSID)、基本服务集标识(BSSID)、接收信号强度指示(RSSI)、其它AP信息或来自各连续位置的各所扫描静态AP的AP信息的组合等的AP标识数据。
在当前实施例中,在块1839中,方法1800可以使用无线或有线网络从服务器请求基于所扫描静态AP的计算装置的连续位置。作为针对发送至服务器的基于所扫描静态AP的计算装置的连续位置的请求的一部分,方法1800可以将针对各所扫描静态AP的SSID、BSSID、RSSI或其它信息发送至服务器。在一个示例中,服务器可以与诸如谷歌位置服务(Google Location ServiceTM)等的服务相关联。响应于针对基于所扫描静态AP的计算装置的连续位置的请求,在块1841中,方法1800可以从服务器接收计算装置的连续位置。在块1843中,方法1800可以使用计算装置的连续位置之间的距离和连续位置之间的持续时间来确定第二速度。在块1845中,方法1800可以判断第二速度是否至少为第二速度阈值。在一个示例中,第二速度阈值可以为六米/秒(6m/s)或者比一般人跑步的可能速度快。在另一示例中,第二速度阈值可以在五米/秒(5m/s)~十米/秒(10m/s)的范围内。如果第二速度至少为第二速度阈值,则在块1871中,方法1800可以向第二处理器或第三处理器的请求应用程序或特征报告计算装置的模态为车内。否则,如果第二速度小于第二速度阈值,则方法1800可以返回至块1831。
在图18中,在块1851中,方法1800可以判断是否存在任何无源GNSS数据。在一个定义中,无源GNSS数据可以是根据针对诸如来自第二处理器或第三处理器的应用程序或特征等的除车内模态算法以外的GNSS数据的请求所推断出的GNSS数据。如果存在无源GNSS数据,则在块1855中,方法1800可以使用无源GNSS数据来确定第三速度。在一个示例中,可以根据与GNSS传感器的三个(3)连续读数相关联的无源GNSS数据来确定第三速度。在另一示例中,可以根据与诸如十(10)秒等的特定时间段内的GNSS传感器的三个(3)读数相关联的无源GNSS数据来确定第三速度。本领域普通技术人员应当理解用于根据GNSS数据来确定速度的各种算法。如果不存在无源GNSS数据,则方法1800可以等待无源GNSS数据。在块1857中,方法1800可以判断第三速度是否至少为第三速度阈值。在一个示例中,第三速度阈值可以为十二米/秒(12m/s)或比一般人跑步的可能速度快。在另一示例中,第三速度阈值可以在五米/秒(5m/s)~十五米/秒(15m/s)的范围内。如果第三速度至少为第三速度阈值,则在块1871中,方法1800可以向第二处理器或第三处理器的请求应用程序或特征报告计算装置的模态为车内。否则,如果第三速度小于第三速度阈值,则方法1800可以返回至块1851。
图19是根据这里所述的各种方面的、用于确定具有多传感器集成芯片架构的计算装置的车外的模态的方法1900的一个实施例的流程图。多传感器集成芯片架构可以与图1B或图2所述的架构相似。此外,多传感器集成芯片架构可被配置为包括第一处理器、第二处理器和第三处理器。在一个示例中,可以利用诸如应用处理器等的第三处理器来进行方法1900。在另一示例中,可以利用诸如LPC等的第二处理器来进行方法1900。在另一示例中,可以将方法1900添加至方法1800。在图19中,方法1900例如可以从块1901开始,其中在该块1901中,方法1900从第二处理器或第三处理器的应用程序或特征接收用以进行车外模态算法的请求。在块1903中,方法1900可以确定模态等于第三状态的时间的百分比。在一个示例中,第三状态可以是步行状态或跑步状态。在一个示例中,方法1900可以通过将与计算装置处于第三状态相关联的累计时间除以诸如六十(60)秒或一百二十(120)秒等的测量时间段来确定模态等于第三状态的时间的百分比。
在图19中,在块1905中,方法1900可以判断模态等于第三状态的时间相对于诸如六十(60)秒或一百二十(120)秒等的测量时间段的百分比是否至少为第二模态百分比阈值。在一个示例中,第二模态百分比阈值可以约为百分之五十(50%)。在另一示例中,第二模态百分比阈值可以在约百分之四十(40%)~约百分之一百(100%)的范围内。如果模态等于第三状态的时间的百分比至少为第二模态百分比阈值,则在块1915中,方法1900可以向第二处理器或第三处理器的请求应用程序或特征报告计算装置的模态为车外。否则,如果模态等于第三状态的时间的百分比小于第二模态百分比阈值,则在块1907中,方法1900可以确定计算装置的模态保持处于第四状态的第四状态时间。在一个示例中,第四状态可以与计算装置处于静止相关联。
在当前实施例中,在块1909中,方法1900可以判断第四状态时间是否至少为第四状态阈值。如果第四状态时间至少为第四状态阈值,则在块1915中,方法1900可以向第二处理器或第三处理器的请求应用程序或特征报告计算装置的模态为车外。否则,如果第四状态时间小于第四状态阈值,则在块1911中,方法1900可以确定计算装置的模态保持处于第五状态的第五状态时间。在一个示例中,第五状态可以与计算装置具有微动作或者未知状态相关联。在一个示例中,微动作可以与计算装置具有传感器所检测到的小的随机运动相关联。在块1913中,方法1900可以判断第五状态时间是否至少为第五状态阈值。如果第五状态时间至少为第五状态阈值,则在块1915中,方法1900可以向第二处理器或第三处理器的请求应用程序或特征报告计算装置的模态为车外。否则,如果第五状态时间小于第五状态阈值,则方法1900可以返回至块1903。
在另一实施例中,在包括第一处理器、第二处理器和第三处理器的计算装置中,方法可被配置为在第一处理器中从第一传感器接收第一传感器数据。该方法可以在第一处理器中使用第一传感器数据来判断计算装置的运动状态。响应于判断为运动状态对应于预定运动状态,该方法可以激活第二处理器。此外,该方法可以在第二处理器中从第二传感器接收第二传感器数据。该方法可以利用第二处理器使用第二传感器数据来判断为运动状态对应于预定运动状态。响应于使用第二传感器数据判断为运动状态对应于特定运动状态,该方法可以将该运动状态发送至第三处理器。
在另一实施例中,该方法可以利用第一处理器将运动状态发送至第三处理器。
在另一实施例中,该方法可以利用第二处理器将运动状态发送至第三处理器。
在另一实施例中,该方法可以利用第一处理器激活第三处理器。
在另一实施例中,该方法可以利用第一处理器从第三处理器接收针对运动状态的请求。
在另一实施例中,该方法可以利用第二处理器从第三处理器接收针对运动状态的请求。
在另一实施例中,该方法可以使用第一传感器数据和第一预定签名来判断计算装置的运动状态。
在另一实施例中,该方法可以使用第二传感器数据和第二预定签名来判断计算装置的运动状态。
在另一实施例中,该方法可以通过使用来自第一传感器的第一传感器数据和来自第二传感器的第二传感器数据来判断为运动状态对应于预定运动状态。
在另一实施例中,该方法可以利用第一处理器使用运动状态来管理第二处理器的电流消耗。
在另一实施例中,该方法可以利用第一处理器使用运动状态来管理第三处理器的电流消耗。
在另一实施例中,该方法可以利用第二处理器使用运动状态来管理第一处理器的电流消耗。
在另一实施例中,该方法可以利用第二处理器使用运动状态来管理第三处理器的电流消耗。
在另一实施例中,该方法可以利用第一处理器判断为运动状态对应于计算装置在至少最小静止时间内为静止。
在另一实施例中,该方法可以利用第一处理器判断为运动状态对应于计算装置在至少最小运动时间内在运动中。
在另一实施例中,该方法可以在第一处理器中使用运动状态来指定计算装置的模态。
在另一实施例中,该方法可以在第二处理器中使用运动状态来指定计算装置的模态。
在另一实施例中,与第二传感器相比,第一传感器可以使用较小的平均电流消耗。
在另一实施例中,第一传感器可以是加速度计。
在另一实施例中,第一传感器可以是陀螺仪。
在另一实施例中,第二传感器可以是全球导航卫星系统(GNSS)传感器。
在另一实施例中,第二传感器可以是短距离无线传感器。
在另一实施例中,第一处理器可以是传感器集线器。
在另一实施例中,第二处理器可以是低功率处理器(LPC)。
在另一实施例中,第三处理器是应用处理器。
在另一实施例中,该方法可以使用训练算法和训练数据来确定运动状态。
在另一实施例中,系统可被配置为包括可操作地连接至第一传感器的第一处理器。该系统可被配置为包括可操作地连接至第一处理器和第二传感器的第二处理器。此外,该系统可被配置为包括可操作地连接至第二处理器的第三处理器。第一处理器可被配置为从第一传感器接收第一传感器数据。此外,第一传感器可以使用第一传感器数据来判断系统的运动状态。响应于判断为运动状态对应于预定运动状态,第一处理器可以激活第二处理器。第二处理器可被配置为从第二传感器接收第二传感器数据。此外,第二处理器可被配置为使用第二传感器数据来判断为运动状态对应于预定运动状态。响应于使用第二传感器数据判断为运动状态对应于预定运动状态,第一处理器或第二处理器可以将运动状态发送至第三处理器。
在另一实施例中,该系统可被配置为包括可操作地连接至第三处理器的第一处理器。此外,该第一处理器可被配置为激活该第三处理器。
在另一实施例中,在具有第一处理器、第二处理器和第三处理器的计算装置中,方法可以在第一处理器中从第一传感器接收第一传感器数据。该方法可以在第一处理器中使用第一传感器数据来判断计算装置的运动状态。响应于判断为计算装置的运动状态发生改变并且对应于计算装置的移动,利用第一处理器激活第二处理器。该方法可以利用第二处理器使用第一传感器数据和第一预定签名来判断为运动状态对应于预定运动状态。响应于判断为运动状态对应于预定运动状态,该方法可以将该运动状态发送至第三处理器。
在另一实施例中,一种具有第一处理器、第二处理器和第三处理器的计算装置,其中:第一处理器可操作地连接至第二处理器和第一传感器;第二处理器可操作地连接至第三处理器;以及改进包括:利用第一处理器和第二处理器,使用第一处理器、第二处理器和第三处理器的平均电流消耗小于十八毫安培(18mA)来判断为计算装置在运动中。
在另一实施例中,一种具有第一处理器、第二处理器和第三处理器的计算装置,其中:第一处理器可操作地连接至第二处理器和第一传感器;第二处理器可操作地连接至第三处理器;以及改进包括:利用第一处理器和第二处理器,使用第一处理器、第二处理器和第三处理器的平均电流消耗小于七十微安培(70uA)来判断为计算装置静止不动。
在另一实施例中,一种具有第一处理器、第二处理器和第三处理器的计算装置,其中:第一处理器可操作地连接至第二处理器和第一传感器;第二处理器可操作地连接至第三处理器;以及改进包括:利用第一处理器和第二处理器,使用第一处理器、第二处理器、第三处理器和第一传感器的平均电流消耗小于十八毫安培(18mA)来判断为计算装置在运动中。
在另一实施例中,在包括第一处理器、第二处理器和第三处理器的计算装置中,方法可以在第一处理器中使用与第一传感器相关联的第一置信度水平来执行算法。响应于判断为需要与第二传感器相关联的第二置信度水平,该方法可以激活第二处理器。此外,该方法可以利用第二处理器使用与第二传感器相关联的第二置信度水平来判断该算法的结果。响应于判断为该算法的结果对应于预定结果,该方法可以将该算法的结果发送至第三处理器。
在另一实施例中,在包括第一处理器、第二处理器和第三处理器的计算装置中,方法可以利用第二处理器使用传感器来针对第一位置数据进行以第一扫描速率的第一扫描。该方法可以在第二处理器中从传感器接收第一未知数据。此外,该方法可以利用第二处理器使用第一位置数据来确定第一位置。该方法可以利用第二处理器接收计算装置的模态。响应于确定了第一位置,该方法可以利用第二处理器判断为模态对应于预定状态。响应于判断为模态对应于预定状态,该方法可以利用第二处理器使用传感器来针对第二位置数据进行以第二扫描速率的第二扫描。
在另一实施例中,该方法可以利用第二处理器使用第一位置数据来确定计算装置的速度。此外,该方法可以利用第二处理器基于计算装置的速度来确定第二扫描速率。
在另一实施例中,预定状态可以是静止状态。
在另一实施例中,预定状态可以处于驾驶状态。
在另一实施例中,第二扫描速率可以基于计算装置的速度。
在另一实施例中,预定状态可以为室内状态。
在另一实施例中,该方法可以利用第二处理器来使第二扫描速率降至第一扫描速率以下。
在另一实施例中,预定状态可以是步行状态。
在另一实施例中,第二扫描速率可以基于计算装置的速度。
在另一实施例中,该方法可以激活第三传感器。此外,该方法可以从第三传感器接收与计算装置的移动相关联的传感器数据。此外,该方法可以使用传感器数据来确定计算装置的移动的方向。
在另一实施例中,第三传感器可以是加速度计。
在另一实施例中,该方法可以激活第三传感器。该方法可以从第三传感器接收与计算装置的移动相关联的传感器数据。此外,该方法可以使用传感器数据来进行与计步器相关联的功能。
在另一实施例中,该方法可以利用第一处理器来确定模态。
在另一实施例中,该方法可以利用第二处理器来确定模态。
在另一实施例中,第一传感器可以是GNSS传感器。
在另一实施例中,第一传感器可以是短距离无线传感器。
在另一实施例中,在包括第一处理器、第二处理器和第三处理器的计算装置中,方法可以利用以第一始终速率进行工作的第一处理器从以第一时钟速率进行工作的第一传感器接收第一传感器数据。该方法可以利用第一处理器使用第一传感器数据来判断计算装置的移动。响应于判断为计算装置移动,该方法可以利用第一处理器来进行用以判断计算装置的模态是否是第一运动状态的第一运动状态算法。响应于判断为计算装置的模态不是第一运动状态,该方法可以利用第一处理器进行以下改变中的至少一个:使第一处理器改变为以足以进行第二运动状态算法的第二时钟速率进行工作、以及使第一传感器改变为以足以进行第二运动状态算法的第二数据速率进行工作。此外,可以使用第二运动状态算法来判断计算装置的模态是否是第二运动状态。
在另一实施例中,第二处理器和第三处理器中的至少一个可以处于低功率模式。
在另一实施例中,该方法可以利用第一处理器来判断为计算装置的模态为第二运动状态。此外,该方法可以利用第一处理器来将该模态发送至第二处理器和第三处理器中的至少一个。
在另一实施例中,响应于判断为计算装置的模态是第二运动状态,该方法可以利用第一处理器激活第二处理器和第三处理器中的至少一个。
在另一实施例中,该方法可以利用第一处理器来判断为计算装置的模态不是第二运动状态。响应于判断为计算装置的模态不是第二运动状态,该方法可以利用第一处理器来进行以下改变中的至少一个:使第一处理器改变为以足以进行第一运动状态算法的第一时钟速率进行工作、以及使第一传感器改变为以足以进行第一运动状态算法的第一数据速率进行工作。
在另一实施例中,第二时钟速率可以大于第一时钟速率。
在另一实施例中,第二时钟速率可以比第一时钟速率大了约百分之五十(50%)。
在另一实施例中,第二数据速率可以大于第一数据速率。
在另一实施例中,第二数据速率可以比第一数据速率大了约百分之五十(50%)。
在另一实施例中,第一运动状态可以与计算装置为静止相关联,并且第二运动状态可以与计算装置以步行速度移动相关联。
在另一实施例中,第一运动状态可以与计算装置以步行速度移动相关联,并且第二运动状态可以与计算装置以跑步速度移动相关联。
在另一实施例中,第一运动状态可以与计算装置以跑步速度移动相关联,并且第二运动状态可以与计算装置以车辆速度移动相关联。
在另一实施例中,第一传感器可以是加速度计。
在另一实施例中,响应于判断为计算装置移动,该方法可以利用第一处理器来进行以下改变中的至少一个:使第一处理器改变为以足以进行第一运动状态算法的第三时钟速率进行工作、以及使第一传感器改变为以足以进行第一运动状态算法的第三数据速率进行工作。
在另一实施例中,第三时钟状态可以大于第一时钟状态。
在另一实施例中,第三时钟状态可以为第二时钟状态以下。
在另一实施例中,第三数据状态可以大于第一数据速率且小于第二数据速率。
在另一实施例中,在包括第一处理器、第二处理器和第三处理器的计算装置中,方法可以利用第一处理器来从第一传感器接收传感器数据。该方法可以利用第一处理器使用传感器数据来判断计算装置的移动。此外,该方法可以利用第一传感器来接收计算装置的模态。响应于判断为模态对应于预定状态,利用第一处理器来判断与预定状态相关联的模态移动距离。该方法可以利用第一处理器使用模态移动距离来判断计算装置的移动距离。此外,该方法可以利用第一处理器判断为计算装置的移动距离至少为移动距离阈值。响应于判断为计算装置的移动距离至少为移动距离阈值,利用第一处理器来向第二处理器和第三处理器中的至少一个报告计算装置的移动距离至少为移动距离阈值。
在另一实施例中,该方法可以利用第一处理器来从第二处理器和第三处理器中的至少一个接收用以进行累计移动算法的请求。
在另一实施例中,该方法可以接收用以进行累计移动算法的请求(包括接收移动距离阈值)。
在另一实施例中,模态移动距离可以是累计移动算法的占空比与预定状态的速率的乘积。
在另一实施例中,该方法可以利用第二处理器和第三处理器中的至少一个来从第二传感器请求全球定位卫星系统(GNSS)位置。该方法可以利用第二处理器和第三处理器中的至少一个来从第二传感器接收GNSS位置。此外,该方法可以利用第二处理器和第三处理器中的至少一个来确定从GNSS位置到地理围栏边界的移动距离阈值。此外,该方法可以利用第二处理器和第三处理器中的至少一个来向第一个处理器发送用以进行累计移动算法的请求。
在另一实施例中,该方法可以发送用以进行累计移动算法的请求(包括发送移动距离阈值)。
在另一实施例中,该方法包括报告移动距离。
在另一实施例中,第一传感器可以是加速度计。
在另一实施例中,在包括第一处理器、第二处理器和第三处理器的计算装置中,方法可以利用第二处理器来判断计算装置的模态是第一预定状态的时间的百分比。响应于判断为计算装置的模态是第一预定状态的时间的百分比至少为第一模态百分比阈值,该方法可以利用第二处理器使用传感器来在第一可用接入点(AP)的第一时间进行第一扫描。该方法可以在第二处理器中使用传感器接收针对各第一可用AP的第一AP标识数据。此外,该方法可以将第一AP标识数据从第二处理器发送至服务器。该方法可以在第二处理器中从服务器接收与第一时间相关联的计算装置的第一位置。此外,该方法可以利用第二处理器使用传感器来在第二可用AP的第二时间进行第二扫描。该方法可以将第二AP标识数据从第二处理器发送至服务器。该方法可以在第二处理器中从服务器接收与第二时间相关联的计算装置的第二位置。此外,该方法可以利用第二处理器使用第一位置、第二位置、第一时间和第二时间中的至少一个来确定计算装置的速度。响应于计算装置的速度至少为预定速度阈值,利用第二处理器来向第三处理器报告模态为车内。
在另一实施例中,第一AP标识数据可以包括接收信号强度指示(RSSI)、服务集标识符(SSID)和基本服务集标识符(BSSID)中的至少一个。
在另一实施例中,第二AP标识数据可以包括接收信号强度指示(RSSI)、服务集标识符(SSID)和基本服务集标识符(BSSID)中的至少一个。
在另一实施例中,该方法可以利用第二处理器使用传感器来判断为计算装置可通信地连接至第一静态AP。
在另一实施例中,在模态为第一预定状态的情况下,该方法可以在第一可用AP的第一时间进行第一扫描。
在另一实施例中,在模态为第一预定状态的情况下,该方法可以在第二可用AP的第二时间进行第二扫描。
在另一实施例中,响应于计算装置的速度至少为特定速度阈值,该方法可以利用第二处理器来激活第三处理器。
在另一实施例中,第一预定状态可以为车内状态。
在另一实施例中,第一模态百分比阈值可以在约百分之五十(50%)~约百分之一百(100%)的范围内。
在另一实施例中,预定速度阈值可以在五米/秒(5m/s)~十米/秒(10m/s)的范围内。
在另一实施例中,在包括第一处理器、第二处理器和第三处理器的计算装置中,方法可以利用第二处理器来判断为计算装置的模态是第一预定状态。响应于判断为模态是第一预定状态,该方法可以利用第二处理器来从传感器接收传感器数据。该方法可以利用第二处理器使用传感器数据来确定计算装置的速度。此外,该方法可以利用第二处理器来判断为计算装置的速度至少为预定速度阈值。响应于判断为计算装置的速度至少为预定速度阈值,该方法可以利用第二处理器向第三处理器报告计算装置的模态是车内。
在另一实施例中,第一预定状态可以为车内状态。
在另一实施例中,传感器可以是GNSS传感器。
在上述说明中,已经说明了特定实施例。然而,本领域普通技术人员应当理解,可以在没有背离如所附权利要求书中所陈述的本发明的范围的情况下进行各种修改和改变。因此,说明书和附图均应被视为例示性而非限制性的,并且所有这些修改均意图包括在本教导的范围内。益处、优点、针对问题的解决方案和可能引起任何益处、优点或解决方案发生或变得更明显的任何元件不应被构造成任何或所有权利要求的关键、必需或必要特征或元件。本发明仅由包括在本申请的待审期间所进行的任何修改的所附权利要求书以及如所公布的这些权利要求的所有等同物来限定。
此外,在本文中,诸如第一和第二以及顶部和底部等的关系术语可以仅用于将一个实体或动作与另一实体或动作区分开,而未必要求或暗示这些实体或动作之间的任何实际这种关系或顺序。术语“具备(comprise/comprising)”、“具有(has/having)”、“包括(include/including)”或“包含(contain/containing)”或任何其它变形意图覆盖非排他性包含,使得具备、具有、包括、包含元件列表的处理、方法、物品或设备不是仅仅包括这些元件,而且可以包括这些处理、方法、物品或设备没有明确列出的或者固有的其它元件。在“具备…一种”、“具有…一种”、“包括…一种”、“包含…一种”之前的元件在不存在更多限制的情况下,并未排除具备、具有、包括、包含该元件的处理、方法、物品或设备中的附加的相同元件的存在。除非这里另外明确陈述,否则术语“a”和“an”被定义为一个或多个。如本领域普通技术人员所理解的,术语“基本”、“实质”、“大致”、“约”或它们的任何其它版本被定义为接近,并且在一个非限制性示例中,术语被定义为在10%内,在另一实施例中在5%内,在另一实施例中在1%内并且在另一实施例中在0.5%内。如这里所使用的术语“耦接”被定义为连接,尽管未必以直接和机械方式连接。以某种方式“进行配置”的装置或结构是以至少该方式进行配置的,但还可以以未列出的方式进行配置。
此外,术语“连接”意味着一个功能、特征、结构、组件、元件或特性直接接合至另一功能、特征、结构、组件、元件或特性或者与该另一功能、特征、结构、组件、元件或特性进行通信。术语“接合”意味着一个功能、特征、结构、组件、元件或特性直接或间接接合至另一功能、特征、结构、组件、元件或特性或者与该另一功能、特征、结构、组件、元件或特性进行通信。诸如第一和第二等的关系术语可以仅用于将一个实体或动作与另一实体或动作区分开,而未必要求或暗示这些实体或动作之间的任何实际这种关系或顺序。术语“或”意图意味着包括性的或。此外,除非另外指出或根据涉及单数形式的模态显而易见,术语“a”、“an”和“the”意图意味着一个或多个。针对“一个实施例”、“实施例”、“示例实施例”、“”各种实施例和其它相似的术语的提及表示如所述的公开技术的实施例可以包括特定功能、特征、结构、组件、元件或特性,但未必每个实施例都包括该特定功能、特征、结构、组件、元件或特性。此外,短语“在一个实施例中”的重复使用未必是指同一实施例,尽管该短语也可能是指同一实施例。
应当理解,一些实施例可以包括诸如微处理器、数字信号处理器、定址处理器和现场可编程门阵列(FPGA)等的一个或多个通用或专用处理器(或“处理装置”)以及独特的所存储程序指令(包括软件和固件这两者),其中这些所存储的程序指令控制该一个或多个处理器以与特定非处理器型电路相结合地实现这里所述的方法和/或设备的功能的一部分、大部分或全部。可选地,一部分或全部功能可以由不具有所存储的程序指令的状态机来实现、或者在各功能或这些功能中的某些功能的一些组合被实现为自定义逻辑的一个或多个专用集成电路(ASIC)中实现。当然,可以使用两个方法的组合。此外,尽管例如由可用时间、当前技术和经济考虑所促成的可能的显著效果和许多设计选择,但预期普通技术人员在受到这里所公开的概念和原理指导的情况下,将能够容易地利用最低限度的实验来生成这些软件指令和程序以及IC。
提供本发明的摘要部分以使得读者能够快速确定技术公开内容的性质。摘要部分是在了解该部分将不用于解释或限制权利要求书的范围或含义的情况下提交的。另外,在上述具体实施方式部分中,可以看出,为了简化本发明的目的,在各种实施例中将各种特征组合到一起。本发明的方法不应被解释为反映所要保护的实施例要求比各权利要求中明确陈述的特征更多的特征这一意图。相反,如所附权利要求书所反映的,发明性主题在于比所公开的一个实施例的所有特征少。因而,所附权利要求书由此被并入具体实施方式部分,其中各权利要求独立作为单独要求保护的主题。
该具体实施方式部分在性质上仅是例示性的并且并不意图限制本发明或者限制本发明的应用和用途。此外,并不意图受到技术领域部分、背景技术部分或该具体实施方式部分中所呈现的任何明确或暗示的理论所限制。本发明提供这里可以在功能或逻辑块元件方面进行说明的各种示例和实施例等。这里所述的各种技术可用于进行计算装置的多传感器集成芯片架构的低功率管理。这些所述的各种方面可被呈现为方法、装置(或设备)、系统或者可以包括多个组件、元件、构件、模块、节点或外设等的制品。此外,这些方法、装置、系统或制品可以包括或者不包括附加的组件、元件、构件、模块、节点或外设等。此外,可以使用标准编程或工程技术来实现这里所述的各种方面以产生用以控制计算装置实现所公开的主题的软件、固件、硬件或它们的任何组合。如这里所使用的术语“制品”意图包含从任何计算装置、载体或介质均可访问的计算机程序。例如,非瞬态计算机可读介质可以包括:诸如硬盘、软件或磁条等的磁性存储装置;诸如致密盘(CD)或数字多功能盘(DVD)等的光盘;智能卡;以及诸如卡、棒或键驱动器等的闪速存储器装置。另外,应当理解,可以采用载波来传输包括包括在发送和接收诸如电子邮件(e-mail)等的电子数据时或者在访问诸如因特网或局域网(LAN)等的计算机网络时所使用的数据等的计算机可读电子数据。当然,本领域普通技术人员应当理解,可以在没有背离要求保护的主题的范围或精神的情况下对该结构进行多种变形。

Claims (31)

1.一种用于低功率管理的方法,包括以下步骤:
在包括第一处理器、第二处理器和第三处理器的计算装置处,进行以下操作:
在所述第一处理器处,接收来自第一传感器的第一传感器数据;
在所述第一处理器处,使用所述第一传感器数据来判断所述计算装置的运动状态;
响应于判断为所述运动状态对应于预定运动状态,来激活所述第二处理器;
在所述第二处理器处,接收来自第二传感器的第二传感器数据;
利用所述第二处理器,使用所述第二传感器数据来判断所述运动状态是否对应于所述预定运动状态;
判断所述计算装置处于所述运动状态的累计时间是否超过预定阈值;以及
响应于使用所述第二传感器数据判断为所述运动状态对应于所述预定运动状态并且所述累计时间超过所述预定阈值,来将所述运动状态发送至所述第三处理器。
2.根据权利要求1所述的方法,其中,将所述运动状态发送至所述第三处理器是由所述第一处理器来进行的。
3.根据权利要求2所述的方法,其中,将所述运动状态发送至所述第三处理器包括:利用所述第一处理器来激活所述第三处理器。
4.根据权利要求1所述的方法,其中,将所述运动状态发送至所述第三处理器是由所述第二处理器来进行的。
5.根据权利要求4所述的方法,其中,将所述运动状态发送至所述第三处理器包括:利用所述第二处理器来激活所述第三处理器。
6.根据权利要求1所述的方法,其中,还包括以下步骤:
利用所述第一处理器来从所述第三处理器接收针对所述运动状态的请求。
7.根据权利要求1所述的方法,其中,还包括以下步骤:
利用所述第二处理器来从所述第三处理器接收针对所述运动状态的请求。
8.根据权利要求1所述的方法,其中,使用所述第一传感器数据来判断所述计算装置的所述运动状态包括:使用第一预定签名。
9.根据权利要求2所述的方法,其中,使用所述第二传感器数据来判断所述计算装置的所述运动状态包括:使用第二预定签名。
10.根据权利要求1所述的方法,其中,所述预定运动状态是驾驶。
11.根据权利要求1所述的方法,其中,还包括以下步骤:
利用所述第一处理器使用所述运动状态来管理所述第二处理器的电流消耗。
12.根据权利要求1所述的方法,其中,还包括以下步骤:
利用所述第一处理器使用所述运动状态来管理所述第三处理器的电流消耗。
13.根据权利要求1所述的方法,其中,还包括以下步骤:
利用所述第二处理器使用所述运动状态来管理所述第三处理器的电流消耗。
14.根据权利要求1所述的方法,其中,使用所述运动状态来管理所述第二处理器的电流消耗包括:
利用所述第一处理器来判断所述运动状态是否对应于所述计算装置在至少最小静止时间内静止不动。
15.根据权利要求1所述的方法,其中,使用所述运动状态来管理所述第二处理器的电流消耗包括:
利用所述第一处理器来判断所述运动状态是否对应于所述计算装置在至少最小移动时间内运动。
16.根据权利要求1所述的方法,其中,还包括以下步骤:
在所述第一处理器处使用所述运动状态来确定所述计算装置的模态。
17.根据权利要求1所述的方法,其中,还包括以下步骤:
在所述第二处理器处使用所述运动状态来确定所述计算装置的模态。
18.根据权利要求1所述的方法,其中,与所述第二传感器相比,所述第一传感器使用较少平均电流消耗。
19.根据权利要求1所述的方法,其中,所述第一传感器是加速度计。
20.根据权利要求1所述的方法,其中,所述第二传感器是全球导航卫星系统传感器,即GNSS传感器。
21.一种用于低功率管理的系统,包括:
第一处理器,其可操作地连接至第一传感器;
第二处理器,其可操作地连接至所述第一处理器和第二传感器;
第三处理器,其可操作地连接至所述第二处理器,
其中,所述第一处理器被配置为进行以下操作:
从所述第一传感器接收第一传感器数据;
使用所述第一传感器数据来判断所述系统的运动状态;以及
响应于判断为所述运动状态对应于预定运动状态,来激活所述第二处理器,
所述第二处理器被配置为进行以下操作:
从所述第二传感器接收第二传感器数据;以及
使用所述第二传感器数据来判断所述运动状态是否对应于所述预定运动状态,
判断所述系统处于所述运动状态的累计时间是否超过预定阈值;以及
响应于使用所述第二传感器数据判断为所述运动状态对应于所述预定运动状态并且所述累计时间超过所述预定阈值,来将所述运动状态发送至所述第三处理器。
22.根据权利要求21所述的系统,其中,所述第一处理器可操作地连接至所述第三处理器,以及
所述第一处理器还被配置为进行以下操作:
响应于使用所述第二传感器数据判断为所述运动状态对应于所述预定运动状态,来激活所述第三处理器。
23.根据权利要求21所述的系统,其中,所述第一传感器是加速度计。
24.根据权利要求21所述的系统,其中,所述第一传感器是陀螺仪。
25.根据权利要求21所述的系统,其中,所述第二传感器是全球导航卫星系统收发器,即GNSS收发器。
26.根据权利要求21所述的系统,其中,所述第二传感器是无线保真收发器,即WiFi收发器。
27.根据权利要求21所述的系统,其中,所述第一处理器是传感器集线器处理器。
28.根据权利要求21所述的系统,其中,所述第二处理器是低功率处理器。
29.根据权利要求21所述的系统,其中,所述第三处理器是应用处理器。
30.一种用于低功率管理的方法,包括以下步骤:
在包括第一处理器、第二处理器和第三处理器的计算装置处,进行以下操作:
在所述第一处理器处,接收来自第一传感器的第一传感器数据;
在所述第一处理器处,使用所述第一传感器数据来判断所述计算装置是否从静止改变为运动;
响应于判断为所述计算装置发生改变,利用所述第一处理器来激活所述第二处理器;
利用所述第二处理器,使用所述第一传感器数据来判断所述计算装置的运动状态;
判断所述计算装置处于所述运动状态的累计时间是否超过预定阈值;
响应于判断出所述计算装置的所述运动状态并且所述累计时间超过所述预定阈值,来激活所述第三处理器;以及
将所述运动状态发送至所述第三处理器。
31.一种用于低功率管理的方法,包括以下步骤:
在包括第一处理器、第二处理器和第三处理器的计算装置处,进行以下操作:
在所述第一处理器处,使用与第一传感器相关联的第一置信度水平来执行算法;
响应于判断为需要与第二传感器相关联的第二置信度水平,来激活所述第二处理器;
利用所述第二处理器,使用与所述第二传感器相关联的所述第二置信度水平并且根据所述计算装置处于运动状态的累计时间是否超过预定阈值来判断所述算法的结果;以及
响应于判断为所述算法的结果对应于预定结果,来将所述算法的结果发送至所述第三处理器。
CN201380060992.0A 2012-11-21 2013-11-21 多传感器集成芯片架构的低功率管理 Active CN105103079B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201261728921P 2012-11-21 2012-11-21
US61/728,921 2012-11-21
US201361776868P 2013-03-12 2013-03-12
US61/776,868 2013-03-12
US201361827458P 2013-05-24 2013-05-24
US61/827,458 2013-05-24
US13/930,529 2013-06-28
US13/930,529 US9329701B2 (en) 2012-11-21 2013-06-28 Low power management of multiple sensor chip architecture
PCT/US2013/071299 WO2014081961A2 (en) 2012-11-21 2013-11-21 Low power management of multiple sensor integrated chip architecture

Publications (2)

Publication Number Publication Date
CN105103079A CN105103079A (zh) 2015-11-25
CN105103079B true CN105103079B (zh) 2018-07-17

Family

ID=53901507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380060992.0A Active CN105103079B (zh) 2012-11-21 2013-11-21 多传感器集成芯片架构的低功率管理

Country Status (3)

Country Link
EP (1) EP2923250B1 (zh)
CN (1) CN105103079B (zh)
WO (1) WO2014081961A2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160274738A1 (en) * 2015-03-19 2016-09-22 Mediatek Inc. Display method using virtual widget and associated device
US10651827B2 (en) * 2015-12-01 2020-05-12 Marvell Asia Pte, Ltd. Apparatus and method for activating circuits
US10602313B2 (en) 2017-06-02 2020-03-24 Apple Inc. State-based location monitoring
TWI712878B (zh) * 2019-04-17 2020-12-11 美律實業股份有限公司 穿戴裝置以及適用於穿戴裝置的省電方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7692627B2 (en) * 2004-08-10 2010-04-06 Microsoft Corporation Systems and methods using computer vision and capacitive sensing for cursor control
US9086875B2 (en) * 2009-06-05 2015-07-21 Qualcomm Incorporated Controlling power consumption of a mobile device based on gesture recognition
US8954099B2 (en) * 2010-06-16 2015-02-10 Qualcomm Incorporated Layout design of proximity sensors to enable shortcuts
US9880604B2 (en) * 2011-04-20 2018-01-30 Microsoft Technology Licensing, Llc Energy efficient location detection
US8543135B2 (en) * 2011-05-12 2013-09-24 Amit Goyal Contextually aware mobile device

Also Published As

Publication number Publication date
EP2923250B1 (en) 2019-02-27
CN105103079A (zh) 2015-11-25
WO2014081961A3 (en) 2015-01-29
WO2014081961A2 (en) 2014-05-30
EP2923250A2 (en) 2015-09-30

Similar Documents

Publication Publication Date Title
US9354722B2 (en) Low power management of multiple sensor integrated chip architecture
EP3951774B1 (en) Voice-based wakeup method and device
CN110192248B (zh) 语音输入处理方法和用于支持该方法的电子设备
CN108701495B (zh) 用于整合和提供从多个设备收集的数据的方法以及用于实现该方法的电子设备
KR20160123892A (ko) 전자 장치 및 전자 장치에서 적어도 하나의 페어링 대상을 식별하는 방법
CN105103079B (zh) 多传感器集成芯片架构的低功率管理
US11059438B2 (en) Vehicle on-boarding recognition method and electronic device implementing same
EP4096256A1 (en) Method for invoking nfc applications, electronic device, and nfc apparatus
US10306406B2 (en) Method for obtaining location information and electronic device thereof
CN111475072A (zh) 一种支付信息显示方法及电子设备
CN116070035B (zh) 数据处理方法和电子设备
KR101995799B1 (ko) 상황 인지 서비스를 제공하기 위한 장소 인식 장치 및 방법
CN109995934A (zh) 提示方法及终端设备
KR20140089975A (ko) 이동 단말의 배터리 소모를 줄이는 장치 및 방법
CN113744736B (zh) 命令词识别方法、装置、电子设备及存储介质
CN114997728A (zh) 车辆调度方法、装置、设备及存储介质
WO2014081956A2 (en) Low power management of multiple sensor integrated chip architecture
WO2014081949A2 (en) Low power management of multiple sensor integrated chip architecture
CN109886199A (zh) 信息处理方法、装置、车辆及移动终端
CN113239901B (zh) 场景识别方法、装置、设备及存储介质
CN116668951B (zh) 一种生成地理围栏的方法、电子设备及存储介质
CN116844375B (zh) 停车信息的显示方法和电子设备
WO2014081952A2 (en) Low power management of multiple sensor integrated chip architecture
CN118057805A (zh) 语音助手的唤醒方法和唤醒装置
CN116452653A (zh) 通行信息的确定方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Technology Holdings Co., Ltd of Google

Address before: American California

Applicant before: MOTOROLA MOBILITY LLC

GR01 Patent grant
GR01 Patent grant