具有传感器时间校准的方法和移动装置与流程

文档序号:11233670阅读:716来源:国知局
具有传感器时间校准的方法和移动装置与流程

本申请涉及一种移动装置。



背景技术:

现今移动装置通常配备有内嵌传感器,例如加速计、陀螺传感器和磁力计。移动装置的中央处理单元(centralprocessingunit,cpu)可以收集传感器产生的样本并基于样本执行一些处理。例如,cpu可以计算移动和移动装置的定向或计算移动装置的用户已经行走了多少步。

由于传感器持续地产生样本,因此cpu必须不断地接收并分析样本。因此,cpu必须很长一段时间处于完全工作模式中,这会消耗电力并缩短移动装置的电池寿命。



技术实现要素:

有鉴于此,本发明提供一种具有传感器时间校准的方法和移动装置。

本发明提供一种移动装置,其包括具有传感器电路和第一时钟的运动传感器以及具有电路的微控制器。所述运动传感器经配置以根据所述第一时钟以预定义输出数据速率产生并存储传感器数据样本。微控制器耦接到所述运动传感器,并且经配置以在预定义平均时间跨度期间从所述运动传感器提取所述传感器数据样本序列并计算所述所提取的传感器数据样本的总数目。所述微控制器进一步经配置以基于所述所提取的传感器数据样本的总数目和参考时间跨度提供经校准输出数据速率,所述参考时间跨度对应于在其期间以所述预定义输出数据速率存储所述传感器数据样本的时间跨度,所述参考时间跨度由第二时钟提供。

本发明还提供一种传感器时间校准方法,包括:根据第一时钟以预定义输出数据速率产生运动传感器数据样本;以所述预定义输出数据速率存储所述运动传感器数据样本;在预定义平均时间跨度期间提取所述传感器数据样本序列;计算所述所提取的传感器数据样本的总数目;以及基于所述所提取的传感器数据样本的总数目和参考时间跨度提供经校准输出数据速率,所述参考时间跨度对应于在其期间以所述预定义输出数据速率存储所述传感器数据样本的时间跨度,所述参考时间跨度由第二时钟提供。

附图说明

包括附图是为了提供对本发明的进一步理解,附图结合在本说明书中并且构成本说明书的一部分。图式说明本发明的实施例,并且与描述一起用于解释本发明的原理。

图1是示出根据本申请的实施例的移动装置的示意图。

图2是示出根据本申请的另一个实施例的移动装置的示意图。

图3是示出根据本申请的另一个实施例的移动装置的示意图。

图4是示出根据本申请的另一个实施例的电子设备的示意图。

图5是示出根据本申请的另一个实施例的电子设备的示意图。

图6是示出根据本申请的另一个实施例的电子装置的示意图。

图7是示出根据本申请的另一个实施例的运动处理方法的流程图。

图8是示出根据本申请的另一个实施例的运动处理的取样的示意图。

图9说明根据本申请的另一个实施例的电子装置。

图10说明根据本申请的另一个实施例的传感器时间校准方法的流程图。

图11说明根据本申请的另一个实施例的传感器时间校准方法的应用情境的示意图。

图12说明根据本申请的另一个实施例的传感器时间校准方法的应用情境的流程图。

图13说明根据本申请的另一个实施例的传感器时间校准方法的流程图。

图14说明根据本申请的另一个实施例的传感器时间校准方法的流程图。

附图标号说明

100:移动装置;

110:传感器;

115:缓冲器;

120:mcu;

125:缓冲器;

130:中央处理单元;

200:移动装置;

201:加速计;

202:陀螺传感器;

203:磁力计;

204:气压计;

205:触摸面板;

206:麦克风;

207:光传感器;

320:移动装置;

340:电子装置;

1100:电子设备;

1110:应用程序处理器;

1121、1122、112n:传感器;

1130:微处理器;

s1、s2、sn:感测信号;

sf:感测合并信号;

1200:电子设备;

1210:应用程序处理器;

1212:内核层;

1213:传感器硬件抽象层;

1214:框架层;

1215:应用层;

2200:电子装置;

2210:运动传感器;

2220:缓冲器;

2230:处理器;

2240:总线;

310、320、330、340:步骤;

410:曲线;

412、414、416、418:样本;

900:电子装置;

910:传感器;

912:传感器计时器;

914:传感器存储器;

916:输出接口;

920:微控制器;

922:微控制器计时器;

930:处理器;

s942、s944、s946、s948、s950:步骤;

962、964、966、9666:结果;

s972、s974、s976、s978、s980、s982、s984、s986:步骤;

1000:方法;

1002、1004、1006、1008、1010:方块;

1050:方法;

1052、1054、1056、1058、1060、1062、1064、1066:方块。

具体实施方式

现在将详细参考本发明的当前实施例,在附图中图示这些实施例的实例。只要可能,相同的参考标号在图式和说明书中用以指代相同或相似部分。

图1是示出根据本申请的实施例的移动装置100的示意图。移动装置100可以是远程控制器、智能电话、个人数字助理(pda)、平板计算机或笔记本计算机等。移动装置100包括括传感器110、mcu120和cpu130。mcu120耦接到传感器110。cpu130耦接到mcu120。传感器110包括缓冲器115。mcu120包括缓冲器125。缓冲器115和125是存储装置,例如寄存器或存储器。

传感器110产生多个样本。传感器110可以将样本存储在缓冲器115中。mcu120从传感器110提取样本,并且根据样本执行初始预设处理以产生初始预设处理的一个或多个结果。mcu120可以将或样本或结果存储在缓冲器125中。可替代地,mcu120可以将样本和结果都存储在缓冲器125中。

cpu130从mcu120提取一个或多个结果或从mcu120接收基于一个或多个结果的信号。cpu130根据来自mcu120的一个或多个结果或信号执行进一步预设处理。

在本申请的实施例中,传感器110以频率f1产生样本,这代表传感器110每秒产生f1个样本。mcu120以频率f2从传感器110分批地提取样本。cpu130以频率f3从mcu120分批地提取结果。频率f1可以高于或等于频率f2。频率f2可以高于或等于频率f3。

例如,f1可以是2000hz,f2可以是1hz,并且f3可以是0.001hz。传感器110每秒产生2000个样本。mcu120每秒从传感器110提取一次样本。在每次提取时,mcu120将2000个样本作为单批从传感器110提取。在每次提取之后,mcu120执行初始预设处理并且产生基于2000个样本的40个结果。cpu130将40个结果作为单批每1000秒从mcu120提取一次。在每次提取之后,cpu130根据40个结果执行进一步预设处理。此分批提取机制缓解了mcu120获取样本的负担,因为mcu120无需从传感器110逐个地提取样本。类似地,此分批提取机制缓解了cpu130获取结果的负担,因为cpu130无需从mcu120逐个地提取结果。

cpu130执行操作系统(os)和移动装置100的应用程序。进一步预设处理只是cpu130执行的许多任务之一。mcu120专门地专用于根据样本执行初始预设处理并且提供一个或多个结果或信号到cpu130。cpu130具有比mcu120更多的处理功率,并且cpu130比mcu120消耗更多电力。mcu120接管从传感器110收集样本以及执行来自cpu130的初始预设处理的负担,使得cpu130可以尽可能长地休眠以便省电并延长移动装置100的电池寿命。从mcu120分批提取结果有助于减少cpu130的唤醒频率,这更能省电。mcu120不断地轮询传感器110并从传感器110提取样本,因此mcu120从不休眠。

cpu130可以休眠,直到cpu130唤醒以从mcu120提取结果或直到cpu130被来自mcu120的信号唤醒。mcu120可以唤醒cpu130并通知cpu130从mcu120提取结果。可替代地,cpu130可以在移动装置100的用户启动应用程序时或在计时器过期时唤醒。换句话说,cpu130可以在没有来自mcu120的通知的情况下唤醒,且接着cpu130可以从mcu120提取一个或多个结果。

图2是示出根据本申请的另一个实施例的移动装置200的示意图。移动装置200包括cpu130、mcu120,以及七个传感器201到207,即,加速计201、陀螺传感器202、磁力计203、气压计204、触摸面板205、麦克风206和光传感器207。加速计201产生与移动装置200的移动和旋转相关联的加速度的样本。陀螺传感器202产生与移动装置200的移动和旋转相关联的角速度的样本。磁力计203产生与移动装置200的移动和旋转相关联的磁力的样本。气压计204产生与移动装置200的移动和旋转相关联的大气压力的样本。触摸面板205产生移动装置200的用户触摸的部位的样本。麦克风206产生移动装置200周围的声音的样本。光传感器207产生移动装置200周围的环境亮度的样本。传感器201到207中的每一个可以包括缓冲器,如传感器110具有缓冲器一样。

mcu120耦接到所有传感器201到207并且作为传感器集线器操作。包括cpu130、mcu120以及传感器201到207中的一个的移动装置200的每个子集可以如图1中示出的移动装置100相同的方式操作。另外,mcu120和cpu130可以基于多个传感器一起产生的样本执行预设处理。在本申请的另一个实施例中,移动装置200可以包括少于七个传感器或多于七个传感器。

在本申请的实施例中,移动装置200可以提供计步器的功能。mcu120从加速计201提取样本,并且通过根据样本计算移动装置200的用户已经行走了多少步来执行初始预设处理。mcu120可以将初始预设处理的结果(即步数)存储在缓冲器125中。

mcu120可以唤醒cpu130以提取每n步的结果,其中n是预设正整数。可替代地,cpu可以周期性唤醒以从mcu120提取结果。可替代地,cpu可以每当用户启动应用程序来查看步数时唤醒。cpu130的不频繁唤醒能节省能量。有时用户行走数小时并且直到用户到家时才想查看步数。在这种情况下,cpu130可以休眠数小时并且节省大量能量。

除了对步数计数以外,mcu120执行的初始预设处理还可以包括根据加速计201、陀螺传感器202和磁力计203产生的样本计算用户的每一步的方向和距离。mcu120可以将结果(即,步子的方向和距离)存储在缓冲器125中。当结果的大小达到缓冲器125的容量的预设百分比时,mcu120可以唤醒cpu130并且通知cpu130提取结果。

当cpu130唤醒时,cpu130执行的进一步预设处理可以包括显示步数、显示示出每小时的步数的图表,或根据步子的方向和距离绘制用户的轨迹等。

在本申请的另一个实施例中,移动装置200可以基于全球定位系统(gps)提供定位和导航的函数。用户可以关闭gps功能以省电。当关闭gps功能时,cpu130休眠。当关闭gps功能阶段期间,mcu120可以提取加速计201、陀螺传感器202和磁力计203产生的样本以计算移动装置200的移动轨迹。由于初始预设处理,mcu120可以将移动轨迹存储在缓冲器125中。当用户开启gps功能时,cpu130可以从mcu120提取移动轨迹,并且使用移动装置200的移动轨迹和最后gps位置来计算参考位置,使得cpu130可以更快地找到移动装置200的当前gps位置。

在本申请的另一个实施例中,除了加速计201、陀螺传感器202和磁力计203产生的样本以外,mcu120还可以根据气压计204产生的样本计算移动装置200的移动轨迹,使得移动轨迹可以包括对移动装置200的海拔高度的改变的更精确估计。

在本申请的另一个实施例中,移动装置200可以在解锁状态与锁定状态之间切换。移动装置200通常在处于解锁状态时从触摸面板205接收输入,但是移动装置200不会在锁定状态时从触摸面板205接收输入。在锁定状态中,cpu130休眠。例如,当移动装置200已经闲置预设时间段时,移动装置200可以从解锁状态进入锁定状态,并且当用户在移动装置200上执行预设操作时,移动装置200可以返回至解锁状态。

用于解锁移动装置200的预设操作可以在触摸面板205上绘制预设轨迹。在这种情况下,mcu200可以提取触摸面板205产生的样本,并且分析样本以确定用户是否绘制了预设轨迹。当用户在触摸面板205上完成预设轨迹时,mcu120可以发送信号(例如,中断)以唤醒cpu130。cpu130响应于所述信号使移动装置200从锁定状态切换到解锁状态。

可替代地,用于解锁移动装置200的预设操作可以向麦克风206说出预设密码。在这种情况下,mcu200可以提取麦克风206产生的样本,并且对样本执行语音识别以确定用户是否说出预设密码。当用户向麦克风206说出预设密码时,mcu120可以发送信号以唤醒cpu130。cpu130响应于所述信号使移动装置200从锁定状态切换到解锁状态。

可替代地,用于解锁移动装置200的预设操作可以固持移动装置200并且使移动装置200沿着预设轨迹移动。在这种情况下,mcu200可以提取加速计201、陀螺传感器202和磁力计203产生的样本,并且分析样本以确定移动装置200是否已沿着预设轨迹移动。当移动装置200已沿着预设轨迹移动时,mcu120可以发送信号以唤醒cpu130。cpu130响应于所述信号使移动装置200从锁定状态切换到解锁状态。

在本申请的另一个实施例中,移动装置200可以包括显示器。mcu120可以提取光传感器207产生的样本,并且分析样本以计算移动装置200历经具有预定长度的最近时间段的平均环境亮度。mcu120可以将平均环境亮度存储在缓冲器125中。cpu130可以周期性地提取平均环境亮度,并且根据平均环境亮度调整显示器的显示亮度。

图3是示出根据本申请的另一个实施例的移动装置320的示意图。移动装置320包括mcu120和传感器201到207。类似于先前实施例,mcu120可以提取传感器201到207中的一个或多个产生的样本,并且根据所述样本执行初始预设处理。mcu120可以将样本和/或初始预设处理的结果存储在缓冲器125中。在此实施例中,mcu120经配置以通过无线连接或有线连接而连接到电子装置340。mcu120进一步经配置以将初始预设处理的结果通过无线连接或有线连接提供到电子装置340。电子装置340可以根据所述一个或多个结果执行进一步预设处理。在一些方面中,电子装置340类似于先前实施例中的cpu130。

例如,移动装置320可以是佩戴式电子计步器。mcu120根据加速计201产生的样本对用户行走的步数计数。mcu120可以将步数存储在缓冲器125中。另外,mcu120可以将步数提供到电子装置340用于进一步观测或处理。

对于另一实例,移动装置320可以是可附接到用户的手掌或手臂或用户挥舞的高尔夫球棒的小装置。当用户打高尔夫时,mcu120可以提取加速计201、陀螺传感器202和磁力计203产生的样本来计算用户进行高尔夫球棒挥杆的次数。mcu120可以将挥杆的次数存储在缓冲器125中。另外,mcu120可以将挥杆的次数提供到电子装置340用于进一步观测或处理。

可替代地,mcu可以分析加速计201、陀螺传感器202和磁力计203产生的样本以获得用户进行的高尔夫球棒的每次挥杆的时间和力度。mcu120可以将分析的结果存储在缓冲器125中。另外,mcu120可以将分析的结果提供到电子装置340用于进一步观测或处理。

综上所述,本申请提供的mcu是具有缓冲器的传感器集线器。mcu可以从移动装置的cpu接管收集并且分析传感器产生的样本的负担。因此,mcu能减轻cpu的负担,并且cpu可以尽可能长地休眠以省电并延长移动装置的电池寿命。

请参考图4。图4是示出根据本申请的另一个实施例的电子设备1100的图。电子设备1100可以是移动电话、平板计算机、个人数码助理等。电子设备1100可以包括但不限于应用程序处理器1110(例如,cpu)、多个传感器1121到112n和微处理器1130(例如,mcu)。多个传感器1121到112n经配置以产生至少一个感测信号s1到sn。应用程序处理器1110经配置以根据感测合并信号sf执行应用程序。微处理器1130耦接在多个传感器1121到112n与应用程序处理器1110之间,并且经配置以根据至少一个感测信号s1到sn产生感测合并信号sf。

上述多个传感器1121到112n可以通过加速计、旋转传感器、磁力计和/或高度计实施,然而,这不应是本申请的限制。另外,应注意,应用程序处理器1110的计算能力大于微处理器1130的计算能力。例如,应用程序处理器1110可以是移动电话的多核基带处理器,并且微处理器1130可以是单芯片微控制器。所属领域的技术人员应很容易了解应用程序处理器1110与微处理器1130之间的区别,并且因此为简洁起见此处省略进一步描述。

应注意,当本申请的电子设备1100的应用程序处理器1110进入休眠模式时,微处理器1130仍工作使得维持电子设备1100的基本功能。因此,即使手持式电子设备1100进入休眠模式,应用程序处理器1110也可以通过电子设备1100的检测动作被唤醒。例如,当应用程序处理器1110进入休眠模式时,应用程序处理器1110关闭电子设备1100的显示模块(未示出),并且锁定电子设备1100的触摸面板(未示出)。下文列出本申请的电子设备1100的锁定机制。步骤(1):用户摆动电子设备1100,通过多个传感器1121到112n检测电子设备1100的动作和/或旋转以便产生感测信号s1到sn;步骤(2)接着通过微处理器1130根据感测信号s1到sn产生可以用于唤醒应用程序处理器1110的感测合并信号sf;以及步骤(3)应用程序处理器1110接收感测合并信号sf且接着根据感测合并信号sf执行应用程序。例如,应用程序处理器1110可以比较感测合并信号sf以查看其是否对应于特定手势;以及如果感测合并信号sf对应于特定手势,上述显示模块将被启动并且自动地进入解锁状态。因此,电子设备1100不需要具有如现有技术的物理按钮,并且用户不需要按下物理按钮来解锁电子设备1100。另外,当电子设备1100的显示模块关闭时,应用程序处理器1110可以继续播放音乐。本申请的电子设备1100可以在用户摆动电子设备1100时通过根据多个传感器1121到112n检测动作和/或旋转来产生运动数据;并且微处理器1130可以处理运动数据且接着应用程序处理器1110可以控制播放的音乐。例如,用户可以轻敲电子设备1100的左侧以选择播放前一歌曲,或轻敲电子设备1100的右侧以选择播放下一歌曲。

另一方面,本申请的另一个优点是:在应用程序处理器1110进入休眠模式之后,步子计数器或计步器的功能仍可以工作。例如,当应用程序处理器1110进入休眠模式并且电子设备1100使用步子计数器的功能时,传感器1121(例如加速计)可以产生至少一个感测信号s1。微处理器1130可以根据加速计产生的至少一个感测信号s1产生计算信息。应注意,在本申请的另一个实施例中,微处理器1130可以设置默认计算信息,例如1000计数。也就是说,当计算信息高达1000计数时,微处理器1130可以通过使用感测合并信号sf唤醒应用程序处理器1110。

图5是示出根据本申请的第二实施例的电子设备1200。请参考图5,电子设备1200可以包括应用程序处理器1210(例如,cpu)、微处理器1130(例如,mcu)以及多个传感器1121到112n。上述多个传感器1121到112n可以通过加速计、旋转传感器、磁力计和/或高度计实施。应用程序处理器1210可以包括内核层1212、传感器硬件抽象层(传感器hal)1213、框架层1214和应用层1215,其中应用层1215可以是安卓系统的应用层。微处理器1130设置在应用程序处理器1210与多个传感器1121到112n之间。多个传感器1121到112n将在感测之后产生相应感测信号s1到sn,并且将感测信号s1到sn传输到微处理器1130。微处理器1130合并多个传感器1121到112n产生的感测信号s1到sn,且接着将感测合并信号sf传输到应用程序处理器1210。应用程序处理器1210根据感测合并信号sf执行对应的应用程序。应注意,应用程序处理器1210与微处理器1130之间的通信通过内部集成电路端口实施;并且微处理器1130与多个传感器之间的通信通过内部集成电路端口实施;然而,这不应是本申请的限制。举例来说,在一些实施例中,与mcu相关联的功能可以内嵌在用来提供cpu的组件(例如,半导体芯片)内。

电子设备1100/1200的特征在于:可以选择性地启用或停用微处理器1130以省电。例如,多个传感器1121到1212n可以包括加速计,并且加速计产生的感测信号可以用于控制微处理器1130的启用和停用。更详细地,当加速计产生加速度相关的感测信号时,其表示电子设备1100/1200正移动(例如,此时感测信号可以处于高电平)以便启用微处理器1130。在微处理器1130启用之后,其可以合并多个传感器1121到112n产生的感测信号s1到sn从而根据算法产生感测合并信号sf。接着将感测合并信号sf从微处理器1130传输到应用程序处理器1110/1210,以便使应用程序处理器1110/1210执行对应的应用程序。

本申请的配置的优点是:通过使用多个传感器的特征来确定是否启用微处理器1130从而省电。例如,在上述实施例中,可以通过采用加速计传感器来确定是否启用微处理器1130。换句话说,具有此配置的电子设备1100/1200可以基于自身的运动检测来确定是否启用微处理器1130执行对应的应用程序从而省电。应注意,在本申请的电子设备1100/1200的一个实施例中,微处理器1130以及多个传感器1121到112n中的至少一个并非封装在单芯片中,然而,这不应是本申请的限制。多个传感器1121到112n中的一些可以封装在单芯片中。此外,微处理器1130独立于应用程序处理器1110/1210,并且它们并非封装在单芯片中。应注意,多个传感器1121到112n的驱动程序可以预装载到微处理器1130中。因此,如果开发者采用本申请的微处理器1130,可以成功地处理多个传感器1121到112n的感测信号s1到sn。本申请的配置的优点是:可以提高选择传感器芯片供应商的弹性。

图6是示出根据本申请的实施例的电子装置2200的示意图。电子装置2200可以是智能电话、个人数字助理(pda)、平板计算机、遥控器或可以移动和/或旋转的任何其它电子装置。电子装置2200包括运动传感器2210、处理器2230和总线2240。运动传感器2210包括缓冲器2220。处理器2230通过总线2240耦接到运动传感器2210。

应注意,运动传感器可以是陀螺传感器、加速计、6轴运动传感器或9轴运动传感器。在本申请的实施例中,运动传感器2210可以是检测电子装置2200的角速度并对其取样的陀螺传感器。在本申请的另一个实施例中,运动传感器2210可以是检测电子装置2200的加速度并对其取样的加速计。在本申请的另一个实施例中,运动传感器2210可以是检测电子装置2200的加速度或角速度并对其取样的6轴运动传感器。在本申请的另一个实施例中,运动传感器2210可以是检测电子装置2200的加速度、角速度或磁力并对其取样的9轴运动传感器。所属领域的技术人员可以容易了解,6轴运动传感器包括3轴陀螺仪和3轴加速计,并且此处为简洁起见省略进一步描述。类似地,9轴运动传感器包括3轴陀螺仪、3轴加速计和3轴罗盘,并且此处为简洁起见省略进一步描述。缓冲器2220可以是可以存储运动传感器2210产生的多个样本的先进先出(first-in-first-out,fifo)寄存器。处理器2230可以是cpu、微处理器,或电子装置2200的嵌入式控制器。

图7是示出根据本申请的实施例的运动处理方法的流程图。图7中示出的方法可以通过电子装置2200执行。在步骤310中,运动传感器2210以预定取样速率执行取样。在执行图7中示出的方法之前,处理器2230可以通过接入运动传感器2210的配置寄存器来设置运动传感器2210的取样速率。在每次取样时,运动传感器2210通过对电子装置2200的角速度或加速度取样来产生样本。在步骤320中,运动传感器2210将步骤310中产生的每个样本存储在缓冲器2220中。

在步骤330中,处理器2230以预定轮询速率周期性地轮询运动传感器2210。运动传感器2210的取样速率可以高于或等于处理器2230的轮询速率。因此,每当处理器2230轮询运动传感器2210时,可能已经存在存储于缓冲器2220中的多个样本,使得处理器2230可以从缓冲器2220提取超过一个样本。处理器2230可以在每个上述轮询中提取缓冲器2220中存储的部分或全部样本。处理器2230通过总线2240执行轮询和提取。

在步骤340中,处理器2230基于在步骤330中提取的样本执行数值积分。当运动传感器2210是陀螺传感器时,样本可以是电子装置2200的角速度并且数值积分的结果可以是电子装置2200的旋转或定向的角度。当运动传感器2210是加速计时,样本可以是电子装置2200的加速度,并且数值积分的结果可以是电子装置2200的平移速度或距离。处理器2230可以使用在步骤330中提取的部分或全部样本来执行数值积分。使用更多样本,数值积分的积累误差更小。

图8是示出根据本申请的实施例的电子装置2200的运动处理的取样的示意图。曲线410表示运动传感器2210抽取的角速度或加速度样本。样本由曲线410上的圆点表示,例如样本412、414、416和418。

在此实施例中,运动传感器2210的取样速率是500hz,并且处理器2230的轮询速率是100hz。换句话说,运动传感器2210每两毫秒产生一个样本,而处理器2230每十毫秒轮询一次运动传感器2210。在每次轮询时,缓冲器2220中已经存在存储的五个样本等待处理器2230。处理器2230可以提取缓冲器2220中存储的所述五个样本的部分或全部。

以此方式,处理器2230可以将运动传感器2210的取样速率设置为比处理器2230的轮询速率高得多,使得每次轮询时存在处理器2230可用的大量样本。低轮询速率可以使处理器2230免于频繁地接入总线2240进行轮询和提取,这样处理器2230具有更多时间来处理电子装置2200的其它任务。另外,运动传感器2210的高取样速率意味着更多样本和数值积分的更小积累误差。

在此实施例中,处理器2230使用对应于运动传感器2210的取样速率的取样周期作为由样本界定的梯形的高度(或宽度)来执行步骤340中的数值积分。换句话说,处理器2230根据运动传感器2210的时钟而不是处理器2230自身的时钟来执行数值积分,这消除了由两个异步时钟引起的积累误差。运动传感器2210专用于根据其自身的时钟产生样本。与处理器2230不同的是,运动传感器2210不具有其它分散注意力的任务。因此,运动传感器2210的取样时间非常精确,这有助于减少数值积分的积累误差。

综上所述,本申请可以通过更精确的取样时间和更高的取样速率有效地减少运动处理时数值积分的积累误差。此外,本申请不要求处理器的专用引线,因为处理器不需要中断提取样本。

应注意,在一些实施例中,可以取决于应用程序从传感器集线器(mcu)改变到应用程序处理器(ap或cpu)的处理信号的提取状态。借助于实例,对于游戏应用程序(其可能要求相对快速的更新频率),系统可以推迟使用旁路模式,其中可不执行分批提取。使用此类旁路模式时的潜在缺点可包括ap需要频繁地唤醒(例如,每当其从mcu检索信号时就要唤醒)。相比而言,对于pdr或健康监测功能(其可以不需要如此快速地更新),ap将以分批模式提取处理信号从而减少功耗。

同时,在一些实施例中,例如在陀螺仪或外部计时器的精密计时下,陀螺仪可能需要以分批模式提取样本。这是因为陀螺仪产生的样本呈相对矢量的形式。通常根据积分计算来计算此类相对矢量从而获得相对旋转角度。因此,取样数据通常以序列格式(类似于流动式接收,其可被称为流动式接收模式)保留在缓冲器中以提高精确度。因此,精确度是在传感器侧使用分批模式的主要原因,但是还可以考虑功耗。

与陀螺仪产生的样本不同的是,加速计产生的样本是绝对方向矢量。关于系统使用,系统可不需要如陀螺仪样本一样频繁地检索加速计样本。举例来说,mcu可以20到40ms(没有太大偏差)的频率检索加速计样本,但是mcu可以5ms的频率检索陀螺仪样本。因此,当mcu确定需要样本时,可只需要将加速器样本上传到mcu。

图9说明根据本发明示例性实施例中的一个的电子装置。结合图10更详细地公开组件的功能。

请参考图9,出于示例性目的,电子装置900包括传感器910、微控制器920(例如,mcu)以及处理器930(例如,cpu或ap)。应注意,在其它实施例中,移动电子装置900可以包括超过一个传感器。本发明在此方面不受限制。

传感器910可以是检测其环境中的事件或改变并且提供相应输出的任何类型的传感器,例如运动传感器、电压传感器、光传感器、图像传感器、麦克风等等。传感器910将包括传感器计时器912以提供定时信号用于传感器910自身以预定义频率检测事件和样本数据。传感器910将进一步包括传感器存储器914和输出接口916,分别存储和输出检测到的数据以及时戳。传感器存储器914可以是先进先出(first-in-first-out,fifo)缓冲器。出于示例性目的,在本发明实施例中,运动传感器910可以是以下中的一个或其组合:加速计(例如,g-传感器)、陀螺仪(例如,陀螺传感器),或检测移动电子装置900的线性移动、线性移动的方向或旋转移动的任何传感器。例如,三轴加速计将响应于当电子装置900遇到外力时突然移动的任何检测而输出对应于每个轴的加速度数据。陀螺仪将检测围绕空间中的具体轴旋转的移动电子装置900的旋转移动并且输出表示所述旋转移动的数据。加速计和陀螺仪的组合可以形成电子装置900的整体移动和定向的更精确测量。

微控制器920可以是通过(例如)串行外围接口总线(spi)或帧间集成电路(i2c)电耦接到传感器910的传感器集线器。微控制器920经配置以集成并处理从传感器获得的数据,并在之后将处理结果传输到处理器930。应注意,在本发明实施例中,微控制器920将进一步包括计时器922,从而以高精确度和低功耗保持精确时间。此类计时器又称为高精确度计时器,并且在下文中可被称为“微控制器计时器922”。

处理器930可以包括北桥、南桥、现场可编程阵列(fieldprogrammablegatearray,fpga)、可编程逻辑装置(programmablelogicdevice,pld)、专用集成电路(applicationspecificintegratedcircuit,asic)或其它类似装置或其组合中的一个或多个。处理器930还可以包括中央处理单元(centralprocessingunit,cpu)、可编程通用或专用微处理器、数字信号处理器(digitalsignalprocessor,dsp)、图形处理单元(graphicsprocessingunit,gpu)、应用程序处理器(applicationprocessor,ap)或其它类似装置或其组合。处理器930将通过(例如)i2c和spi电耦接到微控制器920。

图10说明根据本发明示例性实施例中的一个的传感器时间校准方法的流程图。图10的步骤可以通过如图9中所示的所提出的电子装置900实施。

请同时参考图9和图10,首先,传感器910的传感器计时器912将提供第一时钟序列(步骤s942),并且传感器910的输出接口916将基于第一时钟序列输出检测到的数据(步骤s944)。同时,微控制器计时器922将提供第二时钟序列,并且测量传感器910的输出接口916输出检测到的数据的时间段(步骤s946)。换句话说,当传感器910将正常操作时将根据传感器计时器912的第一时钟序列产生检测到的数据。例如,如果第一时钟序列的频率预定义为100hz,那么输出接口916将每10ms输出一次检测到的数据。当传感器910操作时,微控制器计时器922还将经一定时间段提供其自身的时钟序列用于时间测量目的。

具体来说,从传感器910的角度来看,传感器计时器912将被视为内嵌计时器,其提供时钟序列(即,上述第一时钟序列)。微控制器计时器922将被视为外部计时器,其提供另一时钟序列(即,上述第二时钟序列)。假设微控制器计时器922被视为绝对时间参考。理想地,传感器计时器912应与微控制器计时器922同步。然而,一些实例(例如,波动的环境温度和制造限制)可能不利地影响传感器计时器912的精确度并且造成相对于微控制器计时器922的时间偏差。此类时间偏差可以为正或负,将产生具有明显程度的误差的感测结果。也就是说,传感器910的预定义输出数据速率不可靠。因此,在本发明实施例中,将基于第二时钟序列校准与传感器910输出的检测到的数据相关联的时戳。

详细地说,微控制器920将对在所述时间段期间检测到的数据的数目计数(步骤s948),并且根据检测到的数据的数目和所述时间段确定相对输出数据速率(步骤s950)。也就是说,微控制器920将在累计的基础上对历经通过微控制器计时器922测得的时间段通过传感器910输出的检测到的数据的数目计数。

微控制器920可以通过各种方法对检测到的数据的数目计数。在实施例中,传感器910的每条检测到的数据与中断信号相关联,因此微控制器920可以对在所述时间段期间从传感器910接收到的中断信号的数目计数。在另一实施例中,每条检测到的数据临时存储在传感器910的传感器存储器914中,因此微控制器920可以接入传感器存储器914并确定在所述时间段期间存储在其中的检测到的数据的数目。一旦确定检测到的数据的数目,微控制器920就可以通过对所述时间段内累计的检测到的数据的数目求平均来计算相对输出数据速率。可以在较大时标上评估相对输出数据速率以获得相对最佳结果。

在实施例中,考虑到当在变化的环境中使用传感器910时(特别是当电子装置900为可以在任何时候和任何地方使用的便携式电子装置时)或当处理器930为多线程时,温度变化会明显降低传感器910的精密度。在此类情况下,对于偏差将需要时间补偿。因此,在本发明实施例中,电子装置900可以进一步包括温度传感器(未示出),并且微控制器920可以根据从温度传感器获得的检测到的数据周期性地确定在电子装置900中是否发生温度漂移。如果是,微控制器920将调整其微控制器计时器922的测量时间段。例如,微控制器920可以将测量时间段延长到更大时标,从而将由突然漂移引起的影响减到最小。

在实施例中,在微控制器920确定相对输出数据速率之后,其将进一步确定传感器910的相对输出数据速率与预定义输出数据速率之间的差值是否大于容限阈值。如果所述差值大于容限阈值,微控制器920将根据传感器910的相对输出数据速率校准与检测到的数据相关联的时戳。否则,微控制器920将不进行任何调整。应注意,仅对与检测到的数据相关联的时戳执行校准而不对传感器硬件执行校准。换句话说,传感器910的实际输出数据速率保持与其制造默认设置相同。此外,微控制器920可以将经校准时戳以及检测到的数据存储在数据库中,或将经校准时戳以及检测到的数据进一步传输到处理器930用于其它目的。

图11说明根据本发明示例性实施例中的一个的传感器时间校准方法的应用情境的示意图。

请参考图11,假设传感器910的预定义输出数据速率是100hz。理想地,传感器910应已经相对于实时时间在10ms、20ms、…、70ms和80ms输出检测到的数据,如结果962中所呈现。然而,当在预定义输出数据速率与实际输出数据速率之间存在1ms的偏移(即,10%误差率)时,将呈现结果964。也就是说,相对于实时时间(即,微控制器时间)在9ms、18ms、27ms、…、81ms输出检测到的数据,但是时戳在10ms、20ms、…、70ms、80ms和90ms。微控制器920将通过将参考时间段(即,81ms)除以在此时间段期间检测到的数据的数目(即,9)来计算相对输出数据速率。在这种情况下,相对输出数据速率将是9ms,并且经校准时戳将是9ms、18ms、27ms、…、81ms,如结果966中所呈现。

图12说明根据本发明示例性实施例中的一个的传感器时间校准方法的应用情境的流程图。在本发明实施例中,传感器910将是陀螺传感器。

请参考图12,首先,将默认地或通过电子装置900的用户手动地启用传感器910(步骤s972),接着,为了避免电路延迟中的不确定性,在传感器910执行实际测量之前将提供等待时间直到所述传感器变得稳定(步骤s974)。一旦传感器910稳定,传感器910将开始测量(步骤s976)。同时,微控制器920将开始其高精确度计时器(步骤s978)。接着,微控制器920将从传感器910获得检测到的数据,并且对检测到的数据的数目计数(步骤s980),以便计算平均输出数据速率(即,上述相对输出数据速率)(步骤s982)。微控制器920将通过比较传感器910的预定义输出数据速率与平均输出数据速率之间的差值来确定是否将平均输出数据速率更新到数据库(步骤984)。如果是,微控制器920会将平均输出数据速率以及检测到的数据一起更新到数据库(步骤s986),并且返回至步骤s980并开始另一次平均输出数据速率计算。如果不是,微控制器920将直接返回至步骤s980。步骤s972到s986的具体内容可以参考图10的相关描述并且将不在下文中重复。

图13说明根据本申请的另一个实施例的传感器时间校准方法的流程图。应注意,所述方法可以在各种装置上实施,例如图9的装置900。

如图13中所示,方法1000可以理解为在方块1002处开始,其中根据第一时钟(例如,计时器912)以预定义输出数据速率产生运动传感器(例如,传感器910)的运动传感器数据样本。借助于实例,运动传感器可以是陀螺仪。在方块1004中,以预定义输出数据速率存储运动传感器数据样本。接着,如方块1006中所描绘,在预定义平均时间跨度期间提取传感器数据样本序列。在方块1008中,计算所提取的传感器数据样本的总数目,并且接着,基于所提取的传感器数据样本的总数目和参考时间跨度提供经校准输出数据速率(方块1010)。具体来说,参考时间跨度由第二时钟提供,并且对应于在其期间以预定义输出数据速率存储传感器数据样本的时间跨度。

关于方块1004的功能,在一些实施例中,可以执行传感器数据样本的存储的运动传感器(例如,传感器910)可以将传感器数据样本存储在缓冲器(例如,存储器914)中。另外,运动传感器可以产生指示在缓冲器中存储的样本的数目的样本计数,并且响应于所述样本计数提供对应于水印值(例如,预定值)的冲刷信号(flushsignal)。响应于接收到冲刷信号,微控制器(例如,微控制器920)可以用于从缓冲器(例如分批地)提取传感器数据样本(方块1006)。

在一些实施例中,微控制器可经配置以选择性地以省电模式和样本提取模式操作。具体来说,当在省电模式中时,微控制器能够从运动传感器接收冲刷信号并切换到样本提取模式。一旦处于样本提取模式,微控制器就从第一缓冲器分批地提取传感器数据样本。

在一些实施例中,微控制器包括用于存储从运动传感器的缓冲器提取的传感器数据样本的缓冲器。另外或可替代地,微控制器经配置以使相应时间指示符与从运动传感器的缓冲器提取的传感器数据样本的选中样本相关联。可以响应于微控制器响应于从运动传感器接收冲刷信号而提供的查询命令来完成时间指示符的产生。值得注意的是,根据第二时钟(例如,计时器922)产生时间指示符以便提供用于确定参考时间跨度的参考时序(例如,时戳,时间标志)。具体来说,微控制器基于时间指示符中的连续时间指示符之间的差值确定参考时间跨度,其对应于在其期间以预定义输出数据速率(但是相对于微控制器的更精确时钟)存储传感器数据样本的时间跨度。

相对于方块1010,在一些实施例中,通过将所提取的传感器数据样本的总数目除以参考时间跨度来计算经校准输出数据速率。使用经校准输出速率(和传感器数据样本),微控制器可以计算与移动装置相关联的旋转角度。值得注意的是,所提取的传感器数据样本中的每一个表示与移动装置相关联的旋转速度。在结合用于产生加速度信号的加速计的那些实施例中,微控制器可经配置以根据加速度信号和旋转角度执行预设处理从而获得运动结果。

关于预定义平均时间跨度的使用,在一些实施例中,建立预定义平均时间跨度,使其延长历经至少连续的两批传感器数据样本。应注意,可以基于各种因素中的一个或多个调整预定义平均时间跨度。借助于实例,如果与连续两批相关联的时间跨度的差值小于时间差阈值,微控制器可以增大预定义平均时间跨度以确保精确度。作为另一实例,如果检测到的温度变化增加,微控制器可以出于类似原因而减小预定义平均时间跨度。

图14说明根据本申请的另一个实施例的传感器时间校准方法的流程图。如图14中所示,方法1050可以理解为在方块1052处开始,其中设置与陀螺仪相关联的参数。举例来说,参数可以包括以下各项中的一个或多个:设置预定义输出数据速率(即,基于传感器计时器产生的时钟的取样速率);设置对应于待分批输出的多个样本的水印或阈值;设置陀螺仪的缓冲器;以及设置初始预定义平均时间跨度,微控制器历经所述时间跨度从陀螺仪的缓冲器获得传感器数据样本。在一些实施例中,初始预定义平均时间跨度设置为对应于大致5批和大致10批之间的多个传感器数据样本。

在方块1054中,以流动式接收模式操作陀螺仪,其可以包括滤除在陀螺仪稳定之前产生的初始传感器数据样本。在一些实施例中,在确证中断之前以休眠模式操作微控制器。

在方块1056中,基于水印确证中断。具体来说,如果缓冲器中的多个传感器数据样本对应于水印(即,阈值),就将中断信号(例如,冲刷信号)提供到微控制器。如方块1058中所描绘,中断信号致使微控制器唤醒。一旦唤醒,微控制器可以执行各种功能中的一个或多个,例如:从陀螺仪缓冲器分批地提取传感器数据样本;确定所提取的样本的数目;以及执行时间同步操作。如先前所描述,时间同步操作可以包括响应于中断信号的样本的时间译码形式。

继续方块1060,可以更新预定义平均时间跨度。举例来说,如果检测到的温度漂移或变化增加,可以减小预定义平均时间跨度;和/或如果与连续批传感器数据样本相关联的时间跨度的差值小于时间差阈值,可以增大预定义平均时间跨度。

在方块1062中,通过微控制器收集从陀螺仪缓冲器提取的传感器数据样本序列。具体来说,所述传感器数据样本序列对应于在微控制器的预定义平均时间跨度期间存储的传感器数据样本。在一些实施例中,微控制器通过分析与样本相关联的时间(例如通过检查响应于中断信号而产生的时间标志)来计算所述序列的从第一个样本到最后一个样本的时间跨度,还可以基于缓冲器的计数器确定传感器数据样本的数目。

接着,在方块1064中,通过微控制器确定经校准输出数据速率。在一些实施例中,这可以通过将时间跨度除以相应序列中的样本的数目以相对于输出数据速率确定每个样本之间的时间方差(即,δt)来完成。接着微控制器能够根据所述时间方差更新输出数据速率(方块1066)。此使得能够根据时间方差更新角速度确定从而获得旋转角度改变的精确计算。在方块1066之后,所述过程可以返回至例如方块1054。

鉴于上述描述,由于传感器计时器的预定义输出数据速率可能因制造限制或温度变化而不稳定,因此可以基于高精确度计时器动态地校准通过传感器产生的与检测到的数据相关联的时戳。

所属领域的技术人员将显而易见的是,在不脱离本发明的范围或精神的情况下,可以对本发明的结构进行各种修改和变化。鉴于是以上内容,希望本申请涵盖本发明的修改和变化,只要所述修改和变化落入所附权利要求书和其等效物的范围内。

相关申请的交叉引用

本发明申请基于2016年3月2日递交的美国临时申请62/302,192并主张所述美国临时申请的优先权,并且是部分继续申请,其基于2016年11月21日递交的美国申请15/357,176并主张所述美国申请的优先权。美国申请15/357,176是2013年11月25日递交的在先美国申请14/088,452(目前待决)的部分继续申请并主张所述在先美国申请的优先权权益,美国申请14/088,452是2013年7月19日递交的在先美国申请13/945,930(目前待决)的部分继续申请并且主张所述在先美国申请的优先权权益,其还是2013年9月23日递交的在先美国申请14/033,553(目前获得专利为美国专利9,104,417,2015年8月11日发布)的部分继续申请并且主张所述在先美国申请的优先权权益。在先美国申请14/033,553主张2013年5月8日递交的第201320245496.x号中国申请的优先权权益。上述专利申请中的每一个的全部内容在此以引用的方式并入本文中并构成本说明书的一部分。

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