用于低功率和高准确度时间戳的技术的制作方法

文档序号:17439322发布日期:2019-04-17 04:32阅读:158来源:国知局
用于低功率和高准确度时间戳的技术的制作方法

本申请要求于2016年9月29日提交的名称为“technologiesforlow-powerandhigh-accuracytimestamps(用于低功率和高准确度时间戳的技术)”的美国实用新型专利申请序列号15/280,282的优先权。



背景技术:

诸如可穿戴计算机等移动计算设备通常周期性地捕获传感器数据。在这样的设备中,当移动计算设备的一部分处于待机模式时可以捕获传感器数据。根据应用,传感器数据可能需要与相应的时间戳一起存储。高度精密定时器(诸如系统时钟)可以用于生成用来捕获传感器数据的时间戳。

在一些情况下,捕获高度精密定时器的值以用作时间戳可能需要移动计算设备退出待机模式。退出待机模式可能需要相对大量的能量,并且因此,捕获时间戳可能需要相对大量的能量。

附图说明

在附图中通过示例的方式而非限制的方式展示了本文中所描述的概念。为了说明的简单和清楚起见,附图中所展示的元件不一定按比例绘制。在认为适当的情况下,在附图当中已经重复了参考标号以表示相应或相似的元件。

图1是用于低功率捕获具有高准确度时间戳的传感器值的计算设备中的至少一个实施例的简化框图;

图2是可以由图1的计算设备建立的环境的至少一个实施例的框图;

图3是可以由图1的计算设备执行的用于确定时钟误差的方法的至少一个实施例的简化流程图;

图4是可以由图1的计算设备执行的用于低功率捕获具有高准确度时间戳的传感器值的方法的至少一个实施例的简化流程图;并且

图5是示出了作为图1的计算设备的计数器系统的时间函数的值的一个实施例的简化图。

具体实施方式

虽然本公开的概念易于经历各种修改和替代形式,但是在附图中已经通过示例的方式示出了本公开的特定实施例并且将在本文中对其进行详细描述。然而,应当理解的是,不意在将本公开的概念限制于所公开的特定形式,而相反,旨在覆盖与本公开和所附权利要求书一致的所有修改形式、等效形式和替代形式。

在说明书中提到“一个实施例(oneembodiment)”、“实施例(anembodiment)”、“示意性实施例(anillustrativeembodiment)”等表明所描述的实施例可以包括特定特征、结构或特性,但每一个实施例可以或可以不一定包括所述特定特征、结构或特性。而且,此类短语不必指相同的实施例。进一步地,当关于实施例而描述了特定特征、结构或特性时,应当认为的是,无论是否进行了显式地描述,结合其他实施例来实现这种特征、结构或特性都在本领域的技术人员的知识内。另外,应当理解的是,包括在采用“至少一个a、b和c”形式的列表中的项可以意指(a);(b);(c):(a和b);(b和c);(a和c);或(a、b以及c)。类似地,采用“a、b或c中的至少一者”的形式列出的项可以意指(a);(b);(c):(a和b);(b和c);(a和c);或(a、b以及c)。

在一些情况下,可以在硬件、固件、软件或其任何组合中实施所公开的实施例。所公开的实施例还可以被实施为一个或多个暂态或非暂态机器可读(例如,计算机可读)存储介质所携带或其上所存储的指令,这些指令可以由一个或多个处理器读取和执行。机器可读存储介质可以被实施为任何存储设备、机制、或用于存储或传输采用机器可读形式的信息的其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。

在附图中,可以以具体的安排和/或排序示出一些结构或方法特征。然而,应当理解的是,可以不需要这种特定的安排和/或排序。相反,在一些实施例中,可以采用与在说明性附图中所示出的方式和/或顺序不同的方式和/或顺序来安排这种特征。另外,在特定的附图中包括结构性特征或方法特征并不意味着暗示在所有实施例中都需要这种特征,并且在某些实施例中,可以不包括这种特征或者这种特征可以与其他特征相组合。

现在参考图1,说明性计算设备100包括始终运行的定时器(art)112和传感器中枢110,所述传感器中枢包括一个或多个传感器114、粗粒度时钟116以及细粒度时钟118。因为粗粒度时钟116(和细粒度时钟118)独立于始终运行的定时器112,所以始终运行的定时器112可以相对于粗粒度时钟118(和/或细粒度时钟118)而具有时间漂移。为了校正漂移,计算设备100可以确定始终运行的定时器112与粗粒度时钟116之间的差异(和/或始终运行的定时器112与细粒度时钟118之间的差异),并且将所述差异的指示存储在传感器中枢110的时钟误差寄存器120中。在说明性实施例中,当计算设备100处于低功率待机模式时,传感器中枢110可以捕获传感器数据,并且还捕获相应的时间戳。在待机模式下,计算设备100可以将粗粒度时钟116和/或细粒度时钟118用于时间戳,因为在待机模式下始终运行的定时器112可能无法访问。当说明性计算设备100退出待机模式时,传感器中枢110更新时钟误差寄存器120以校正任何漂移。

说明性计算设备100可以被实施为能够执行在本文中所描述的功能的任何类型的计算设备。例如,计算设备100可以被实施为以下各项或者以其他方式包括在其中但不限于此:可穿戴计算机、嵌入式计算系统、片上系统(soc)、智能电话、蜂窝电话、平板计算机、笔记本计算机、膝上型计算机、服务器计算机、台式计算机、手机、消息收发设备、相机设备、多处理器系统、基于处理器的系统、消费电子设备、和/或任何其他计算设备。

说明性计算设备100包括处理器102、存储器104、输入/输出(i/o)子系统106、数据存储装置108、传感器中枢110、以及始终运行的定时器112。在一些实施例中,计算设备100中的一个或多个说明性组件可以被结合到另一组件中,或者以其他方式形成另一组件的一部分。例如,在一些实施例中,存储器104或其多个部分可以结合到处理器102中。

处理器102可以被实施为能够执行本文中所描述的功能的任何类型的处理器。例如,处理器102可以被实施为(多个)单核或多核处理器、单插槽或多插槽处理器、数字信号处理器、图形处理器、微控制器或者其他处理器或处理/控制电路。类似地,存储器104可以被实施为能够执行本文中所描述的功能的任何类型的易失性或非易失性存储器或数据存储设备。在操作中,存储器104可以存储在对计算设备100的操作期间所使用的各种数据和软件,如操作系统、应用、程序、库、和驱动程序。存储器104经由i/o子系统106通信地耦合到处理器102,所述i/o子系统可以被实施为用于促进与计算设备100的处理器102、存储器104以及其他组件的输入/输出操作的电路系统和/或组件。例如,i/o子系统106可以被实施为或者以其他方式包括存储器控制器中枢、输入/输出控制中枢、固件设备、通信链路(即,点对点链路、总线链路、导线、线缆、光导、印刷电路板迹线等)和/或其他组件和子系统以便促进输入/输出操作。在一些实施例中,i/o子系统106可以形成片上系统(soc)的一部分并且可以与计算设备100的处理器102、存储器104以及其他组件一起结合在单个集成电路芯片上。

数据存储设备108可以被实施为被配置用于对数据进行短期或者长期存储的任何类型的一个或多个设备。例如,数据存储设备108可以包括任何一个或多个存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或者其他数据存储设备。

传感器中枢110可以被实施为能够执行所述功能的任何设备或设备组。传感器中枢110可以实施为集成电路、嵌入式系统、印刷电路板上的组件等。在一些实施例中,传感器中枢110的一部分可以与处理器102、存储器104和i/o子系统106中的一些或全部一起被实施为片上系统(soc)的一部分,其中,传感器中枢110的一部分(诸如所述一个或多个传感器114)与soc分离。说明性传感器中枢110包括所述一个或多个传感器114、粗粒度时钟116、细粒度时钟118和时钟误差寄存器120。

所述一个或多个传感器114可以包括可以与计算设备100一起使用的任何类型的传感器。例如,所述一个或多个传感器114可以包括麦克风、图像传感器、加速度计、陀螺仪、光传感器等。

粗粒度时钟116可以被实施为用于产生指示时间流逝的定时值的任何类型的时钟,诸如晶体振荡器或陶瓷振荡器、电感器-电容器(lc)时钟、电阻器-电容器(rc)时钟等。粗粒度时钟116可以以任何频率振荡,诸如高于或低于1、2、5、10、15、20、30、35、50、100或250千赫(khz),或者在这些值中的任一个之间振荡。在说明性实施例中,粗粒度时钟116以大约32khz或32.768khz振荡。粗粒度时钟116具有相关联的定时值,所述定时值对于粗粒度时钟116的每个周期增加1并且可以以任何方式存储,诸如存储在64位寄存器、32位寄存器、16位寄存器、10位寄存器、8位寄存器等中。粗粒度时钟116的定时值可以总是增加的,或者可以能够通过计算设备100的指令重置为零(或者设置为特定值)。在说明性实施例中,只要计算设备100的电力可用,粗粒度时钟116就继续运行。在一些实施例中,粗粒度时钟116可以在某些时间(诸如当传感器中枢110没有从所述一个或多个传感器114捕获传感器数据时)关闭(即,移除其电力)。

类似地,细粒度时钟118可以被实施为用于产生指示时间流逝的定时值的任何类型的时钟,诸如晶体振荡器或陶瓷振荡器、电感器-电容器(lc)时钟、电阻器-电容器(rc)时钟等。细粒度时钟118可以以任何频率振荡,诸如高于或低于1、2、5、10、15、20、30、35、50、100或250兆赫(mhz),或者在这些值中的任何一个之间振荡。在说明性实施例中,细粒度时钟118以大约19.2mhz振荡。细粒度时钟118具有相关联的定时值,所述定时值对于细粒度时钟118的每个周期增加1。细粒度时钟118的定时值可以以任何方式存储,诸如存储在64位寄存器、32位寄存器、16位寄存器、10位寄存器、8位寄存器等中。细粒度时钟118的定时值可以总是增加的,或者可以能够通过计算设备100的指令重置为零(或者设置为特定值)。在一些实施例中,当粗粒度时钟116改变值时,细粒度时钟118的定时值可以重置为零。细粒度时钟118可以在某些时间(诸如当传感器中枢110没有从所述一个或多个传感器114捕获传感器数据时,或者当粗粒度时钟116的准确度足够时)关闭(即,移除其电力)。

时钟误差寄存器120可以被实施为适用于存储时钟误差值的任何类型的寄存器。例如,时钟误差寄存器120可以被实施为64位寄存器、32位寄存器、16位寄存器、10位寄存器、8位寄存器等。如下文更详细描述的,存储在时钟误差寄存器120中的值可以用于校正计算设备100的两个时钟之间(诸如细粒度时钟118与始终运行的定时器112之间)的定时的任何漂移。

始终运行的定时器112可以被实施为用于产生指示时间流逝的定时值的任何类型的时钟,诸如晶体振荡器或陶瓷振荡器、电感器-电容器(lc)时钟、电阻器-电容器(rc)时钟等。始终运行的定时器112可以以任何频率振荡,诸如高于或低于1、2、5、10、15、20、30、35、50、100或250兆赫(mhz),或者在这些值中的任何一个之间振荡。在说明性实施例中,始终运行的定时器112以大约19.2mhz振荡。始终运行的定时器112具有相关联的定时值,所述定时值对于始终运行的定时器112的每个周期增加1。始终运行的定时器112的定时值可以以任何方式存储,诸如存储在64位寄存器、32位寄存器、16位寄存器、10位寄存器、8位寄存器等中。始终运行的定时器112的定时值可以总是增加的,或者可以能够通过计算设备100的指令重置为零(或者设置为特定值)。在说明性实施例中,只要计算设备100的电力可用,始终运行的定时器112就继续运行,并且始终运行的定时器112可以具有专门用于始终运行的定时器112的电池。在一些实施例中,始终运行的定时器112可以在某些情况下被断电,诸如当计算设备100处于非常低的功率状态(诸如休眠状态)下或者完全关闭时。应当理解的是,在说明性实施例中,粗粒度时钟116、细粒度时钟118和始终运行的定时器112中的每一个都作为独立时钟运行,并且都不同步或“锁定”,而是被允许相对于彼此而漂移。当然,如下文更详细描述地,可以跟踪各种时钟的漂移,从而允许以允许校正漂移的方式进行数字同步。在其他实施例中,粗粒度时钟116、细粒度时钟118和始终运行的定时器112中的一些或全部可以在某些时间被同步或“锁定”。例如,当计算设备100未处于待机模式时,细粒度时钟118和始终运行的定时器112可以被“锁定”。

当然,在一些实施例中,计算设备100可以包括通常在计算设备100中找到的附加组件,诸如通信电路122和/或一个或多个外围设备124。通信电路122可以被实施为能够使得在计算设备100与其他设备之间实现通信的任何类型的通信电路、设备或其集合。为此,通信电路122可以被配置用于使用任何一种或多种通信技术和相关联协议(例如,以太网、蓝牙wimax、近场通信(nfc)等)以实现这种通信。外围设备124可以包括键盘、鼠标、显示器等。

应当理解的是,计算设备100能够进入低功率或待机模式。在待机模式下,计算设备100可以从某些组件中减少或移除电力,诸如从处理器102、存储器104和/或i/o子系统106中的每一个的一部分或全部。在待机模式下,始终运行的定时器112(以及具体地始终运行的定时器112的定时值)可能是传感器中枢110无法访问的。

现在参考图2,在使用中,计算设备100可以建立环境200。说明性环境200包括传感器管理器202。应当理解的是,在使用中,计算设备100的环境200可以包括在图2中未示出的附加组件,以执行可以由计算设备100执行的计算任务。环境200的各种组件可以被实施为硬件、固件、软件或其组合。这样,在一些实施例中,环境200的组件中的一个或多个可以被实施为电路系统或电气设备的集合(例如,传感器管理器电路202)。应当理解的是,在这样的实施例中,传感器管理器202可以形成传感器中枢110、处理器102、i/o子系统106、通信电路122和/或计算设备100的其他组件中的一个或多个的一部分。另外,在一些实施例中,说明性组件中的一个或多个可以形成另一个组件的一部分和/或说明性组件中的一个或多个可以彼此独立。进一步地,在一些实施例中,环境200的组件中的一个或多个可以被实施为可以由处理器102或计算设备100的其他组件来建立和维护的虚拟化硬件组件或仿真架构。

传感器管理器202包括时钟同步器204、传感器数据捕获器206、以及传感器数据时间戳器208。时钟同步器204被配置用于通过确定和存储正在同步的时钟之间的误差来使细粒度时钟118和/或粗粒度时钟116与始终运行的定时器112同步。时钟同步器204可以以任何方式确定误差,这可能取决于特定实施例。例如,当细粒度时钟118和始终运行的定时器112以相同的速率(例如,19.2mhz)运行时,这两个时钟之间的误差可以通过确定来自细粒度时钟118和始终运行的定时器112的定时值并且然后确定定时值之间的差来确定。在时钟速率不相同的实施例中,可能需要转换被比较的一个或两个时钟的定时值以补偿时钟速率的差,诸如通过将定时值之一乘以时钟速率的比率。在说明性实施例中,一旦时钟同步器204已经确定了时钟误差,时钟误差寄存器更新器210就利用时钟误差来更新时钟误差寄存器120。在一些实施例中,时钟同步器204可以包括时钟更新器212,所述时钟更新器可以直接更新细粒度时钟118(和/或粗粒度时钟116)的定时值。然而,应当理解的是,在一些情况下,使用时钟更新器212可能导致无效或错误的时间戳,而将时钟误差寄存器更新器210与时钟误差寄存器120一起使用可以避免这些无效或错误的时间戳。

传感器数据捕获器206被配置用于捕获传感器数据。传感器数据捕获器206可以周期性地、连续地和/或持续地从所述一个或多个传感器114中的任何一个或多个捕获传感器数据。即使当计算设备100处于待机模式时,传感器数据捕获器206也可以捕获传感器数据。在一些实例中,传感器数据捕获器206可以请求与传感器数据的捕获相对应的时间戳。在其他实例中,传感器数据中的一些或全部可能不需要相应的时间戳。

传感器数据时间戳器208被配置用于确定与传感器数据的捕获相关联的时间戳。说明性传感器数据时间戳器208包括粗粒度时间戳器214和细粒度时间戳器216。在说明性实施例中,传感器数据时间戳器208可以被配置用于捕获粗粒度时间戳或细粒度时间戳,这取决于特定应用和正在采集的传感器数据。粗粒度时间戳器214被配置用于捕获来自粗粒度时钟116的定时值,并且基于所述定时值以及时钟误差寄存器120的值来确定时间戳。细粒度时间戳器216被配置用于捕获来自粗粒度时钟116和细粒度时钟118中的每一个的定时值,并且基于所述定时值以及时钟误差寄存器120的值来确定时间戳。对基于定时值以及时钟误差寄存器的值计算时间戳的更多讨论,参见下文关于图5的讨论。

应当理解的是,在一些实施例中,细粒度时间戳器216可以仅基于细粒度时钟118的定时值和时钟误差寄存器120的值来确定时间戳。例如,一些实施例可能不具有粗粒度时钟116,或者可能具有细粒度时钟118,所述细粒度时钟可以在不依赖于粗粒度时钟116的情况下保持跟踪时间,诸如通过将细粒度时钟118的定时值存储在具有较大数量的位(诸如64位)的寄存器中。应当进一步理解的是,在一些实施例中,细粒度时间戳器216可以基于细粒度时钟118的定时值来确定时间戳,并且不需要考虑时钟误差寄存器120的值,诸如在由时钟更新器212直接更新细粒度时间戳器216的定时值的实施例中,如上所述。

类似地,粗粒度时间戳器214可以仅基于粗粒度时钟118的定时值和时钟误差寄存器120的值来确定时间戳。例如,一些实施例可以不具有细粒度时钟118,或者在为了节省电力或者当不需要更高度精密的时间戳时,可以关闭细粒度时钟118。在一些实施例中,粗粒度时间戳器214可以基于粗粒度时钟118的定时值来确定时间戳,并且不需要考虑时钟误差寄存器120的值,诸如在由时钟更新器212直接更新粗粒度时间戳器214的定时值的实施例中,如上所述。

现在参考图3,在使用中,计算设备100可以执行用于使计算设备100的始终运行的定时器112与计算设备100的细粒度时钟118进行同步的方法300。方法300开始于框302,在所述框中,计算设备100判定是否应当更新细粒度时钟118的误差。在说明性实施例中,每当计算设备100退出低功率待机模式时,就对细粒度时钟118的误差进行更新,并且然后只要计算设备100仍未处于待机模式就对其进行周期性更新。应当理解的是,在说明性实施例中,在计算设备100处于低功率待机模式的同时,计算设备100无法更新细粒度时钟118的误差。

在框304中,如果计算设备100不应当更新细粒度时钟118的误差,则方法300环回至框302。否则,如果计算设备100应当更新细粒度时钟118的误差,则方法300前进到框304。

在框306中,计算设备100确定始终运行的定时器112的定时值,诸如通过复制在始终运行的定时器112的定时寄存器中存储的值。在框308中,计算设备100类似地确定细粒度时钟118的定时值,诸如通过复制在细粒度时钟118的定时寄存器中存储的值。

在框310中,计算设备100通过确定始终运行的定时器112和细粒度时钟118的定时值之间的差来确定细粒度框118的时钟误差。在说明性实施例中,始终运行的定时器112的速率与细粒度时钟118的速率相同,并且可以通过简单地从一个的定时值中减去另一个的定时值来确定差。在一些实施例中,始终运行的定时器112的速率可能稍微或显著不同于细粒度时钟118的速率,并且在可以确定定时值之间的差之前可能需要执行定时值中的一个或两个的转换。

在框312中,计算设备100存储细粒度时钟118的时钟误差的指示。在说明性实施例中,计算设备100通过在框314中将时钟误差的值存储在时钟误差寄存器中来存储时钟误差的指示。在一些实施例中,计算设备100可以通过在框316中基于所确定的时钟误差直接更新细粒度时钟118的定时值来存储时钟误差的指示。方法300然后环回至框302。

应当理解的是,在一些实施例中,方法300可以以类似的方式执行,但是用于使始终运行的定时器112与粗粒度时钟216同步。例如,在这样的实施例中,方法300将在框302中判定粗粒度时钟114的误差是否应当被更新,在框308中确定粗粒度时钟114的定时值等等。

现在参考图4,在使用中,计算设备100可以执行用于捕获具有高度精密时间戳的传感器数据的方法400。方法400开始于框402,在所述框中,计算设备100判定是否捕获传感器数据。计算设备100可以以任何数量的方式捕获传感器数据,诸如周期性地、连续地、持续地、或者当计算设备100的程序指令如此指示时。

在框404中,如果计算设备100不应当捕获传感器数据,则计算设备100环回至框402。否则,如果计算设备100应当捕获传感器数据,则计算设备100前进到框406。在框406中,计算设备100从所述一个或多个传感器114中的一个或多个捕获传感器数据。

在框408中,计算设备100确定与所捕获的传感器数据相对应的时间戳。在说明性实施例中,计算设备100在框410中确定粗粒度时钟116的定时值,并且在框412中确定细粒度时钟118的定时值。计算设备100然后基于粗粒度时钟116和细粒度时钟118的定时值以及时钟误差寄存器120的值来确定时间戳。当然,如上所述,在一些实施例中,计算设备100可以在没有粗粒度时钟116的定时值和/或没有时钟误差寄存器120的情况下确定时间戳。另外,在一些实施例中,计算设备100可以在没有细粒度时钟118的定时值(以及在具有或没有时钟误差寄存器120的值的情况下)的情况下确定时间戳,诸如当细粒度时钟118断电时。

现在参考图5,简化图示出了计算设备100的作为时间函数的各种值。数据系列502示出了粗粒度时钟116的作为时间函数的值,数据系列504示出了细粒度时钟118作为时间函数的值,数据系列506示出了时钟误差寄存器120的作为时间函数的值,并且数据系列508示出了时间戳的作为时间函数的计算值。在第一时间510处,粗粒度时钟116的值为零,并且在粗粒度时钟116的每个周期之后(诸如在第二时间512处),粗粒度时钟116的值增加相同的量(例如,增加1)。

在第一时间510处,细粒度时钟118的值也为零,并且在细粒度时钟118的每个周期之后,细粒度时钟118的值增加相同的量(例如,增加1)。在所示的示例中,每当粗粒度时钟116的值增加时(诸如在第二时间512处),就将细粒度时钟118的值重置为零。

在第一时间510处,时钟误差寄存器120的值为1。如上文关于图3所述,计算设备100可以不时地将始终运行的定时器112的定时值与粗粒度时钟116和/或细粒度时钟118的定时值进行比较。计算设备100在时间514处进行这样的比较,确定时钟误差已经改变为值2(由于例如时钟之间的时间漂移),并且相应地更新时钟误差寄存器120的值。

数据系列508示出作为时间函数的时间戳值。在说明性实施例中,计算设备100通过将粗粒度时钟116的定时值(具有补偿较低时钟速率的缩放因子)与细粒度时钟118的定时值相加并且与时钟误差寄存器120的值相加来确定时间戳。如图5所示,在说明性实施例中,每当细粒度时钟118改变值时(除了当时钟误差寄存器120也改变值时之外,在这种情况下,时间戳可以增加与第三时间514处所示不同的量),时间戳增加与细粒度时钟118相同的量。

如图5所示,细粒度时钟116的频率可以是粗粒度时钟118的精确倍数。应当理解的是,在一些实施例中,细粒度时钟116的频率可以不是粗粒度时钟118的精确倍数。

示例

下文提供了本文公开的设备、系统和方法的说明性示例。所述设备、系统和方法的实施例可以包括下文描述的示例中的任何一个或多个、及其任意组合。

示例1包括一种用于低功率捕获具有高准确度时间戳的传感器值的计算设备,所述计算设备包括:始终运行的定时器(art),用于产生指示时间流逝的定时值;以及传感器中枢,包括一个或多个传感器以及细粒度时钟,所述细粒度时钟用于产生指示时间流逝的定时值,并且所述传感器中枢用于:确定所述art的第一定时值;确定所述细粒度时钟的第二定时值;基于所述第一定时值和所述第二定时值确定所述细粒度时钟的时钟误差;将所述时钟误差的指示存储在所述传感器中枢中;在所述计算设备处于待机模式的同时从所述一个或多个传感器捕获传感器数据;在所述计算设备处于所述待机模式的同时确定与所述传感器数据的捕获相关联的所述细粒度时钟的第三定时值;以及基于所述第三定时值以及所述时钟误差的所述指示来确定与所述传感器数据的捕获相关联的时间戳,其中,在所述计算设备处于所述待机模式的同时,所述art对于所述传感器中枢是不可访问的。

示例2包括如示例1所述的主题,并且其中,所述传感器中枢进一步包括用于产生指示时间流逝的定时值的粗粒度时钟,其中,所述传感器中枢进一步用于确定所述粗粒度时钟的第四定时值,其中,确定与所述传感器数据的捕获相关联的所述时间戳包括进一步基于所述第四定时值确定与所述传感器数据的捕获相关联的所述时间戳。

示例3包括如示例1和2中任一项所述的主题,并且其中,所述细粒度时钟的变化速率大于10兆赫,并且所述粗粒度时钟的变化速率小于50千赫。

示例4包括如示例1-3中任一项所述的主题,并且其中,所述传感器中枢进一步包括时钟误差寄存器,其中,存储所述时钟误差的所述指示包括将所述时钟误差存储在所述时钟误差寄存器中,并且其中,确定与所述传感器数据的捕获相关联的所述时间戳包括基于所述第三定时值和存储在所述时钟误差寄存器中的所述时钟误差来确定与所述传感器数据的捕获相关联的所述时间戳。

示例5包括如示例1-4中任一项所述的主题,并且其中,存储所述时钟误差的所述指示包括基于所述时钟误差来更新所述细粒度时钟,其中,基于所述第三定时值以及所述时钟误差的所述指示来确定与所述传感器数据的捕获相关联的所述时间戳包括基于经更新细粒度时钟的所述第三定时值来确定与所述传感器数据的捕获相关联的所述时间戳。

示例6包括如示例1-5中任一项所述的主题,并且其中,所述传感器中枢进一步包括用于产生指示时间流逝的定时值的粗粒度时钟,其中,所述传感器中枢进一步用于:在所述计算设备处于所述待机模式的同时并且在所述细粒度时钟断电的同时,从所述一个或多个传感器捕获附加传感器数据;在所述计算设备处于所述待机模式的同时并且在所述细粒度时钟断电的同时,确定与所述附加传感器数据的捕获相关联的所述粗粒度时钟的第四定时值;基于所述粗粒度时钟的所述第四定时值确定与所述附加传感器数据的捕获相关联的时间戳。

示例7包括如示例1-6中任一项所述的主题,并且其中,确定所述细粒度时钟的所述时钟误差包括响应于所述计算设备从所述待机模式退出而确定所述细粒度时钟的所述时钟误差。

示例8包括如示例1-7中任一项所述的主题,并且其中,所述传感器中枢进一步用于:在所述计算设备未处于所述待机模式的同时,等待预定时间段;以及响应于等待所述预定时间段而更新所述细粒度时钟的所述时钟误差,其中,更新所述细粒度时钟的所述时钟误差包括确定所述art的第四定时值,确定所述细粒度时钟的第五定时值,基于所述第一定时值和所述第二定时值确定所述细粒度时钟的更新时钟误差,并且将所述经更新的时钟误差的指示存储在所述传感器中枢中。

示例9包括如示例1-8中任一项所述的主题,并且其中,所述计算设备的所述待机模式包括所述计算设备使所述计算设备的至少一部分断电的模式。

示例10包括如示例1-9中任一项所述的主题,并且其中,所述计算设备的所述待机模式包括所述计算设备的易失性存储器的至少一部分断电的模式。

示例11包括如示例1-10中任一项所述的主题,并且其中,所述计算设备的所述待机模式包括所述计算设备的处理器的至少一部分断电的模式。

示例12包括如示例1-11中任一项所述的主题,并且其中,所述art的变化速率不同于所述细粒度时钟的变化速率。

示例13包括一种用于由计算设备低功率捕获具有高准确度时间戳的传感器值的方法,所述方法包括:由所述计算设备确定所述计算设备的始终运行的定时器(art)的第一定时值,其中,所述art用于产生指示时间流逝的定时值;由所述计算设备确定所述计算设备的传感器中枢的细粒度时钟的第二定时值,其中,所述传感器中枢包括一个或多个传感器,并且其中,所述细粒度时钟用于产生指示时间流逝的定时值;由所述计算设备基于所述第一定时值和所述第二定时值确定所述细粒度时钟的时钟误差;由所述计算设备将所述时钟误差的指示存储在所述传感器中枢中;由所述传感器中枢在所述计算设备处于待机模式的同时从所述一个或多个传感器捕获传感器数据;由所述传感器中枢在所述计算设备处于所述待机模式的同时确定与所述传感器数据的捕获相关联的所述细粒度时钟的第三定时值;以及由所述传感器中枢基于所述第三定时值以及所述时钟误差的所述指示来确定与所述传感器数据的捕获相关联的时间戳,其中,在所述计算设备处于所述待机模式的同时,所述art对于所述传感器中枢是不可访问的。

示例14包括如示例13所述的主题,并且进一步包括:由所述计算设备确定所述传感器中枢的粗粒度时钟的第四定时值,其中,所述粗粒度时钟用于产生指示时间流逝的定时值,并且其中,确定与所述传感器数据的捕获相关联的所述时间戳包括进一步基于所述第四定时值确定与所述传感器数据的捕获相关联的所述时间戳。

示例15包括如示例13和14中任一项所述的主题,并且其中,所述细粒度时钟的变化速率大于10兆赫,并且所述粗粒度时钟的变化速率小于50千赫。

示例16包括如示例13-15中任一项所述的主题,并且其中,存储所述时钟误差的所述指示包括将所述时钟误差存储在所述传感器中枢的所述时钟误差寄存器中,并且其中,确定与所述传感器数据的捕获相关联的所述时间戳包括基于所述第三定时值和存储在所述时钟误差寄存器中的所述时钟误差来确定与所述传感器数据的捕获相关联的所述时间戳。

示例17包括如示例13-16中任一项所述的主题,并且其中,存储所述时钟误差的所述指示包括基于所述时钟误差来更新所述细粒度时钟,其中,基于所述第三定时值以及所述时钟误差的所述指示来确定与所述传感器数据的捕获相关联的所述时间戳包括基于经更新细粒度时钟的所述第三定时值来确定与所述传感器数据的捕获相关联的所述时间戳。

示例18包括如示例13-17中任一项所述的主题,并且进一步包括:由所述传感器中枢在所述计算设备处于所述待机模式的同时以及在所述细粒度时钟断电的同时从所述一个或多个传感器捕获附加传感器数据;由所述传感器中枢在所述计算设备处于所述待机模式的同时以及在所述细粒度时钟断电的同时确定与所述附加传感器数据的捕获相关联的所述传感器中枢的粗粒度时钟的第四定时值,其中,所述粗粒度时钟用于产生指示时间流逝的定时值;由所述传感器中枢基于所述粗粒度时钟的所述第四定时值确定与所述附加传感器数据的捕获相关联的时间戳。

示例19包括如示例13-18中任一项所述的主题,并且其中,确定所述细粒度时钟的所述时钟误差包括响应于所述计算设备从所述待机模式退出而确定所述细粒度时钟的所述时钟误差。

示例20包括如示例13-19中任一项所述的主题,并且进一步包括:由所述计算设备在所述计算设备未处于所述待机模式的同时等待预定时间段;以及由所述计算设备响应于等待所述预定时间段而更新所述细粒度时钟的所述时钟误差,其中,更新所述细粒度时钟的所述时钟误差包括:由所述计算设备确定所述art的第四定时值,由所述计算设备确定所述细粒度时钟的第五定时值,由所述计算设备基于所述第一定时值和所述第二定时值确定所述细粒度时钟的更新时钟误差,并且由所述计算设备将所述更新时钟误差的指示存储在所述传感器中枢中。

示例21包括如示例13-20中任一项所述的主题,并且其中,所述计算设备的所述待机模式包括所述计算设备使所述计算设备的至少一部分断电的模式。

示例22包括如示例13-21中任一项所述的主题,并且其中,所述计算设备的所述待机模式包括所述计算设备的易失性存储器的至少一部分断电的模式。

示例23包括如示例13-22中任一项所述的主题,并且其中,所述计算设备的所述待机模式包括所述计算设备的处理器的至少一部分断电的模式。

示例24包括如示例13-23中任一项所述的主题,并且其中,所述art的变化速率不同于所述细粒度时钟的变化速率。

示例25包括一种或多种计算机可读介质,所述计算机可读介质包括其上的多条指令,所述指令当被执行时使得计算设备执行如示例13-24中任一项所述的方法。

示例26包括一种用于低功率捕获具有高准确度时间戳的传感器值的计算设备,所述计算设备包括:用于由所述计算设备确定所述计算设备的始终运行的定时器(art)的第一定时值的装置,其中,所述art用于产生指示时间流逝的定时值;用于由所述计算设备确定所述计算设备的传感器中枢的细粒度时钟的第二定时值的装置,其中,所述传感器中枢包括一个或多个传感器,并且其中,所述细粒度时钟用于产生指示时间流逝的定时值;用于由所述计算设备基于所述第一定时值和所述第二定时值确定所述细粒度时钟的时钟误差的装置;用于由所述计算设备将所述时钟误差的指示存储在所述传感器中枢中的装置;用于由所述传感器中枢在所述计算设备处于待机模式的同时从所述一个或多个传感器捕获传感器数据的装置;用于由所述传感器中枢在所述计算设备处于所述待机模式的同时确定与所述传感器数据的捕获相关联的所述细粒度时钟的第三定时值的装置;以及用于由所述传感器中枢基于所述第三定时值以及所述时钟误差的所述指示来确定与所述传感器数据的捕获相关联的时间戳的装置,其中,在所述计算设备处于所述待机模式的同时,所述art对于所述传感器中枢是不可访问的。

示例27包括如示例26所述的主题,并且进一步包括:用于由所述计算设备确定所述传感器中枢的粗粒度时钟的第四定时值的装置,其中,所述粗粒度时钟用于产生指示时间流逝的定时值,并且其中,所述用于确定与所述传感器数据的捕获相关联的所述时间戳的装置包括用于进一步基于所述第四定时值确定与所述传感器数据的捕获相关联的所述时间戳的装置。

示例28包括如示例26和27中任一项所述的主题,并且其中,所述细粒度时钟的变化速率大于10兆赫,并且所述粗粒度时钟的变化速率小于50千赫。

示例29包括如示例26-28中任一项所述的主题,并且其中,所述用于存储所述时钟误差的所述指示的装置包括用于将所述时钟误差存储在所述传感器中枢的所述时钟误差寄存器中的装置,并且其中,所述用于确定与所述传感器数据的捕获相关联的所述时间戳的装置包括用于基于所述第三定时值和存储在所述时钟误差寄存器中的所述时钟误差来确定与所述传感器数据的捕获相关联的所述时间戳的装置。

示例30包括如示例26-29中任一项所述的主题,并且其中,所述用于存储所述时钟误差的所述指示的装置包括用于基于所述时钟误差来更新所述细粒度时钟的装置,其中,所述用于基于所述第三定时值以及所述时钟误差的所述指示来确定与所述传感器数据的捕获相关联的所述时间戳的装置包括用于基于经更新细粒度时钟的所述第三定时值来确定与所述传感器数据的捕获相关联的所述时间戳的装置。

示例31包括如示例26-30中任一项所述的主题,并且进一步包括:用于由所述传感器中枢在所述计算设备处于所述待机模式的同时以及在所述细粒度时钟断电的同时从所述一个或多个传感器捕获附加传感器数据的装置;用于由所述传感器中枢在所述计算设备处于所述待机模式的同时以及在所述细粒度时钟断电的同时确定与所述附加传感器数据的捕获相关联的所述传感器中枢的粗粒度时钟的第四定时值的装置,其中,所述粗粒度时钟用于产生指示时间流逝的定时值;用于由所述传感器中枢基于所述粗粒度时钟的所述第四定时值确定与所述附加传感器数据的捕获相关联的时间戳的装置。

示例32包括如示例26-31中任一项所述的主题,并且其中,所述用于确定所述细粒度时钟的所述时钟误差的装置包括用于响应于所述计算设备从所述待机模式退出而确定所述细粒度时钟的所述时钟误差的装置。

示例33包括如示例26-32中任一项所述的主题,并且进一步包括:用于由所述计算设备在所述计算设备未处于所述待机模式的同时等待预定时间段的装置;以及用于由所述计算设备响应于等待所述预定时间段而更新所述细粒度时钟的所述时钟误差的装置,其中,所述用于更新所述细粒度时钟的所述时钟误差的装置包括:用于由所述计算设备确定所述art的第四定时值的装置、由所述计算设备确定所述细粒度时钟的第五定时值的装置、由所述计算设备基于所述第一定时值和所述第二定时值确定所述细粒度时钟的更新时钟误差的装置、以及由所述计算设备将所述更新时钟误差的指示存储在所述传感器中枢中的装置。

示例34包括如示例26-33中任一项所述的主题,并且其中,所述计算设备的所述待机模式包括所述计算设备使所述计算设备的至少一部分断电的模式。

示例35包括如示例26-34中任一项所述的主题,并且其中,所述计算设备的所述待机模式包括所述计算设备的易失性存储器的至少一部分断电的模式。

示例36包括如示例26-35中任一项所述的主题,并且其中,所述计算设备的所述待机模式包括所述计算设备的处理器的至少一部分断电的模式。

示例37包括如示例26-36中任一项所述的主题,并且其中,所述art的变化速率不同于所述细粒度时钟的变化速率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1