(57)【要約】【課題】センサクロックを同期させるための方法、装置およびシステムを提供すること。【解決手段】本発明の態様は、第1のセンサの第1のセンサクロックを同期させるための方法に関連する。例示的な方法は、第1のセンサクロックに一度目の補正を行うことと、第1のセンサからデータを転送することと、第1のセンサクロック二度目の補正を行うこととを含み、第1のセンサクロックの2回の補正間の時間間隔は、第1のセンサクロックが、その時間間隔にわたってプロセッサのプロセッサクロックと十分に整合するように選択される。【選択図】図３
2018125024.tif 000002
【特許請求の範囲】
【請求項１】
センサのセンサクロックを補正するための方法であって、
第1のセンサに適合するプロセッサから前記第1のセンサにおいて第1の時点で第1の信号を受信するステップであって、前記第1の信号の前記第1の時点が、前記プロセッサのプロセッサクロックのタイミングに関連する、ステップと、
前記プロセッサから前記第1のセンサにおいて第2の時点で第2の信号を受信するステップであって、前記第2の信号の前記第2の時点が、前記プロセッサの前記プロセッサクロックのタイミングに関連する、ステップと、
前記第1のセンサで測定される前記第1の時点と前記第2の時点との間の時間間隔に基づいて、前記第1のセンサにおいて第1のクロック補正係数を導出するステップと、
前記第1のセンサの第1のセンサクロックにおいて前記第1のクロック補正係数を適用し、前記プロセッサクロックに対して前記第1のセンサクロックのタイミングを補正するステップと
を含む方法。
【請求項２】
前記クロック補正係数を導出するステップは、
前記第1のセンサクロックにより前記センサにおいて測定される前記第1および第2の時点の間の前記時間間隔と、所定の時間間隔とを比較するステップであって、前記プロセッサが前記第1および第2の信号を前記所定の時間間隔で送信することが知られている、ステップと、
前記第1のクロック補正係数を導出するときに、前記測定された時間間隔と前記所定の時間間隔との差を用いるステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記所定の時間間隔が、システム内に存在する複数のセンサのうちで最も短いセンササンプリング周期と同じである、請求項2に記載の方法。
【請求項４】
前記第1および第2の信号は、専用線、データレディ割込み(DRI)線、I2Cバス、シリアルデータ(SDA)線、シリアルクロック(SCL)線、シリアル・ペリフェラル・インタフェース(SPI)バス、Universal Asynchronous Receiver/Transmitter(UART)接続、または、前記プロセッサと前記第1のセンサとの間の双方向通信を提供するように構成されるその他のデータ接続インターフェースのうちの少なくとも1つを含むインターフェースを介して受信される、請求項1に記載の方法。
【請求項５】
第2のセンサに適合する前記プロセッサから前記第2のセンサにおいて前記第1の時点で前記第1の信号を受信するステップであって、前記第1の信号の前記第1の時点が前記プロセッサの前記プロセッサクロックのタイミングに関連する、ステップと、
前記第2のセンサにおいて前記第2の時点で前記第2の信号を受信するステップであって、前記第2の信号の前記第2の時点が前記プロセッサの前記プロセッサクロックのタイミングに関連する、ステップと、
前記第2のセンサにおいて測定される前記第1の時点と前記第2の時点との間の時間間隔に基づき、前記第2のセンサにおいて第2のクロック補正係数を導出するステップと、
前記第2のセンサの第2のセンサクロックにおいて前記第2のクロック補正係数を適用し、前記プロセッサクロックに対して前記第2のセンサクロックのタイミングを補正するステップと
をさらに含み、
前記第1のセンサクロックの前記補正、および前記第2のセンサクロックの第2の補正が同時に行わされ、前記時間間隔は、前記第1のセンサのサンプリング周期と前記第2のセンサのサンプリング周期との公倍数である、請求項1に記載の方法。
【請求項６】
前記補正係数を適用すること、および
前記第1のセンサの指定されたサンプリング周波数と一致する前記プロセッサクロックによって測定されるポーリング周波数で前記第1のセンサをポーリングする結果として、前記時間間隔にわたり前記第1のセンサのあらゆるデータサンプリングが厳密に一度だけ読み出されること
により、前記第1のセンサクロックは、前記時間間隔にわたり前記プロセッサクロックと整合する、請求項1に記載の方法。
【請求項７】
前記第1のセンサクロックに関連するタイミング情報を前記第1のセンサから前記プロセッサに送信するステップと、
プロセッサの計算によるクロック補正係数を含む情報を前記第1のセンサにおいて前記プロセッサから受信するステップであって、前記プロセッサの計算によるクロック補正係数は、前記第1のセンサクロックに関連する前記送信されたタイミング情報に基づき前記プロセッサにより決定される、ステップと
前記第1のセンサの前記第1のセンサクロックにおいて、前記第1のクロック補正係数に代えて前記プロセッサの計算によるクロック補正係数を適用し、前記プロセッサクロックに対して前記第1のセンサクロックのタイミングを補正するステップと
をさらに含む、請求項1に記載の方法。
【請求項８】
前記第1のセンサクロックに関連する前記送信されたタイミング情報が、前記第1のセンサクロックにより測定される他の時間間隔だけ隔離される第1および第2のパルスを含み、
前記第1および第2のパルスは、前記他の時間間隔の持続時間と前記プロセッサにおいて既知の所定の時間間隔との比較により前記プロセッサの計算によるクロック補正係数を決定するために、前記プロセッサによって利用可能なように構成される、請求項7に記載の方法。
【請求項９】
第1のセンサクロックを含む第1のセンサと、
プロセッサクロックを含むプロセッサと、
前記第1のセンサと前記プロセッサとを通信可能に結合するインターフェースと
を備え、
前記プロセッサは、前記第1のセンサに第1の信号を送信するとともに、所定の時間間隔を空けた時点で第2の信号を前記第1のセンサに送信するように構成され、前記第1および第2の信号の送信時点は、前記プロセッサのプロセッサクロックのタイミングに関連し、
前記第1のセンサは、
前記第1および第2の信号をそれぞれ第1および第2の時点で受信し、
前記第1のセンサで測定される前記第1の時点と前記第2の時点との間の測定された時間間隔に基づいて前記第1のセンサにおいて第1のクロック補正係数を導出し、
前記第1のセンサの第1のセンサクロックにおいて前記第1のクロック補正係数を適用し、前記プロセッサクロックに対して前記第1のセンサクロックのタイミングを補正する
ように構成される、コンピュータシステム。
【請求項１０】
前記クロック補正係数を導出することが、
前記第1のセンサクロックにより前記センサにおいて測定される前記第1および第2の時点の間の前記測定された時間間隔と、前記所定の時間間隔とを比較することであって、前記プロセッサが前記第1および第2の信号を前記所定の時間間隔で送信することが知られている、ことと、
前記第1のクロック補正係数を導出するときに、前記測定された時間間隔と前記所定の時間間隔との差を用いることと
を含む、請求項9に記載のシステム。
【請求項１１】
前記所定の時間間隔が、システム内に存在する複数のセンサのうちで最も短いセンササンプリング周期と同じである、請求項10に記載のシステム。
【請求項１２】
前記第1および第2の信号は、専用線、データレディ割込み(DRI)線、I2Cバス、シリアルデータ(SDA)線、シリアルクロック(SCL)線、シリアル・ペリフェラル・インタフェース(SPI)バス、Universal Asynchronous Receiver/Transmitter(UART)接続、または、前記プロセッサと前記第1のセンサとの間の双方向通信を提供するように構成されるその他のデータ接続インターフェースのうちの少なくとも1つを含むインターフェースを介して受信される、請求項9に記載のシステム。
【請求項１３】
第2のセンサクロックを含む第2のセンサをさらに備え、
前記第2のセンサは、前記インターフェースにより前記プロセッサに通信可能に結合され、
前記第2のセンサは、
前記第2のセンサに適合する前記プロセッサから前記第2のセンサにおいて前記第1の時点で前記第1の信号を受信することであって、前記第1の信号の前記第1の時点が前記プロセッサの前記プロセッサクロックのタイミングに関連する、ことと、
前記第2のセンサにおいて前記第2の時点で前記第2の信号を受信することであって、前記第2の信号の前記第2の時点が前記プロセッサの前記プロセッサクロックのタイミングに関連する、ことと、
前記第2のセンサにおいて測定される前記第1の時点と前記第2の時点との間の時間間隔に基づき、前記第2のセンサにおいて第2のクロック補正係数を導出することと、
前記第2のセンサの第2のセンサクロックにおいて前記第2のクロック補正係数を適用し、前記プロセッサクロックに対して前記第2のセンサクロックのタイミングを補正することと
を行うように構成され、
前記第1のセンサクロックの前記補正、および前記第2のセンサクロックの第2の補正が同時に行わされ、前記時間間隔は、前記第1のセンサのサンプリング周期と前記第2のセンサのサンプリング周期との公倍数である、請求項9に記載のシステム。
【請求項１４】
前記補正係数を適用すること、および
前記第1のセンサの指定されたサンプリング周波数と一致する前記プロセッサクロックによって測定されるポーリング周波数で前記第1のセンサをポーリングする結果として、前記時間間隔にわたり前記第1のセンサのあらゆるデータサンプリングが厳密に一度だけ読み出されること
により、前記第1のセンサクロックは、前記時間間隔にわたり前記プロセッサクロックと整合する、請求項9に記載のシステム。
【請求項１５】
前記第1のセンサは、前記第1のセンサクロックに関連するタイミング情報を前記第1のセンサから前記インターフェースを介して前記プロセッサに送信するように構成され、
前記プロセッサは、前記第1のセンサにより送信された前記タイミング情報に基づいて、プロセッサの計算によるクロック補正係数を導出すること、および前記プロセッサの計算によるクロック補正係数を、前記インターフェースを介して前記第1のセンサに送信することを行うように構成され、
前記第1のセンサがさらに、前記第1のセンサの前記第1のセンサクロックにおいて、前記第1のクロック補正係数に代えて前記プロセッサの計算によるクロック補正係数を適用し、前記プロセッサクロックに対して前記第1のセンサクロックのタイミングを補正するように構成される、請求項9に記載のシステム。
【請求項１６】
前記第1のセンサクロックに関連する前記送信されたタイミング情報が、前記第1のセンサクロックにより測定される他の時間間隔だけ隔離される第1および第2のパルスを含み、
前記第1および第2のパルスは、前記他の時間間隔の持続時間と前記プロセッサにおいて既知の所定の時間間隔との比較により前記プロセッサの計算によるクロック補正係数を決定するために、前記プロセッサによって利用可能なように構成される、請求項15に記載のシステム。
【請求項１７】
第1のセンサに適合するプロセッサから前記第1のセンサにおいて第1の時点で第1の信号を受信するための手段であって、前記第1の信号の前記第1の時点が、前記プロセッサのプロセッサクロックのタイミングに関連する、手段と、
前記プロセッサから前記第1のセンサにおいて第2の時点で第2の信号を受信するための手段であって、前記第2の信号の前記第2の時点が、前記プロセッサの前記プロセッサクロックのタイミングに関連する、手段と、
前記第1のセンサで測定される前記第1の時点と前記第2の時点との間の時間間隔に基づいて、前記第1のセンサにおいて第1のクロック補正係数を導出するための手段と、
前記第1のセンサの第1のセンサクロックにおいて前記第1のクロック補正係数を適用し、前記プロセッサクロックに対して前記第1のセンサクロックのタイミングを補正するための手段と
を含むコンピューティングデバイス。
【請求項１８】
前記クロック補正係数を導出するための手段が、
前記第1のセンサクロックにより前記センサにおいて測定される前記第1および第2の時点の間の前記時間間隔と、所定の時間間隔とを比較するための手段であって、前記プロセッサが前記第1および第2の信号を前記所定の時間間隔で送信することが知られている、手段と、
前記第1のクロック補正係数を導出するときに、前記測定された時間間隔と前記所定の時間間隔との差を用いるための手段と
を含む、請求項17に記載のコンピューティングデバイス。
【請求項１９】
前記所定の時間間隔が、システム内に存在する複数のセンサのうちで最も短いセンササンプリング周期と同じである、請求項18に記載のコンピューティングデバイス。
【請求項２０】
前記第1および第2の信号は、専用線、データレディ割込み(DRI)線、I2Cバス、シリアルデータ(SDA)線、シリアルクロック(SCL)線、シリアル・ペリフェラル・インタフェース(SPI)バス、Universal Asynchronous Receiver/Transmitter(UART)接続、または、前記プロセッサと前記第1のセンサとの間の双方向通信を提供するように構成されるその他のデータ接続インターフェースのうちの少なくとも1つを含むインターフェースを介して受信される、請求項17に記載のコンピューティングデバイス。
【請求項２１】
第2のセンサに適合する前記プロセッサから前記第2のセンサにおいて前記第1の時点で前記第1の信号を受信するための手段であって、前記第1の信号の前記第1の時点が前記プロセッサの前記プロセッサクロックのタイミングに関連する、手段と、
前記第2のセンサにおいて前記第2の時点で前記第2の信号を受信するための手段であって、前記第2の信号の前記第2の時点が前記プロセッサの前記プロセッサクロックのタイミングに関連する、手段と、
前記第2のセンサにおいて測定される前記第1の時点と前記第2の時点との間の時間間隔に基づき、前記第2のセンサにおいて第2のクロック補正係数を導出するための手段と、
前記第2のセンサの第2のセンサクロックにおいて前記第2のクロック補正係数を適用し、前記プロセッサクロックに対して前記第2のセンサクロックのタイミングを補正するための手段と
をさらに含み、
前記第1のセンサクロックの前記補正、および前記第2のセンサクロックの第2の補正が同時に行わされ、前記時間間隔は、前記第1のセンサのサンプリング周期と前記第2のセンサのサンプリング周期との公倍数である、請求項17に記載のコンピューティングデバイス。
【請求項２２】
前記補正係数を適用すること、および
前記第1のセンサの指定されたサンプリング周波数と一致する前記プロセッサクロックによって測定されるポーリング周波数で前記第1のセンサをポーリングする結果として、前記時間間隔にわたり前記第1のセンサのあらゆるデータサンプリングが厳密に一度だけ読み出されること
により、前記第1のセンサクロックは、前記時間間隔にわたり前記プロセッサクロックと整合する、請求項17に記載のコンピューティングデバイス。
【請求項２３】
前記第1のセンサクロックに関連するタイミング情報を前記第1のセンサから前記プロセッサに送信するための手段と、
プロセッサの計算によるクロック補正係数を含む情報を前記第1のセンサにおいて前記プロセッサから受信するための手段であって、前記プロセッサの計算によるクロック補正係数は、前記第1のセンサクロックに関連する前記送信されたタイミング情報に基づき前記プロセッサにより決定される、手段と
前記第1のセンサの前記第1のセンサクロックにおいて、前記第1のクロック補正係数に代えて前記プロセッサの計算によるクロック補正係数を適用し、前記プロセッサクロックに対して前記第1のセンサクロックのタイミングを補正するための手段と
をさらに含む、請求項17に記載のコンピューティングデバイス。
【請求項２４】
前記第1のセンサクロックに関連する前記送信されたタイミング情報が、前記第1のセンサクロックにより測定される他の時間間隔だけ隔離される第1および第2のパルスを含み、
前記第1および第2のパルスは、前記他の時間間隔の持続時間と前記プロセッサにおいて既知の所定の時間間隔との比較により前記プロセッサの計算によるクロック補正係数を決定するために、前記プロセッサによって利用可能なように構成される、請求項23に記載のコンピューティングデバイス。
【請求項２５】
コードを含むコンピュータ可読記録媒体であって、前記コードはプロセッサによる実行時に前記プロセッサに方法を実行させ、前記方法が、
第1のセンサに適合するプロセッサから前記第1のセンサにおいて第1の時点で第1の信号を受信するステップであって、前記第1の信号の前記第1の時点が、前記プロセッサのプロセッサクロックのタイミングに関連する、ステップと、
前記プロセッサから前記第1のセンサにおいて第2の時点で第2の信号を受信するステップであって、前記第2の信号の前記第2の時点が、前記プロセッサの前記プロセッサクロックのタイミングに関連する、ステップと、
前記第1のセンサで測定される前記第1の時点と前記第2の時点との間の時間間隔に基づいて、前記第1のセンサにおいて第1のクロック補正係数を導出するステップと、
前記第1のセンサの第1のセンサクロックにおいて前記第1のクロック補正係数を適用し、前記プロセッサクロックに対して前記第1のセンサクロックのタイミングを補正するステップと
を含む、コンピュータ可読記録媒体。
【請求項２６】
前記コードが、前記プロセッサによる実行時に、
前記第1のセンサクロックにより前記センサにおいて測定される前記第1および第2の時点の間の前記時間間隔と、所定の時間間隔とを比較することであって、前記プロセッサが前記第1および第2の信号を前記所定の時間間隔で送信することが知られている、こと、および
前記第1のクロック補正係数を導出するときに、前記測定された時間間隔と前記所定の時間間隔との差を用いること
により前記クロック補正係数を導出するステップを含む方法を前記プロセッサにさらに実行させる、請求項25に記載のコンピュータ可読記録媒体。
【請求項２７】
前記所定の時間間隔が、システム内に存在する複数のセンサのうちで最も短いセンササンプリング周期と同じである、請求項26に記載の前記コンピュータ可読記録媒体。
【請求項２８】
前記コードがさらに、前記プロセッサに、
第2のセンサに適合する前記プロセッサから前記第2のセンサにおいて前記第1の時点で前記第1の信号を受信するステップであって、前記第1の信号の前記第1の時点が前記プロセッサの前記プロセッサクロックのタイミングに関連する、ステップと、
前記第2のセンサにおいて前記第2の時点で前記第2の信号を受信するステップであって、前記第2の信号の前記第2の時点が前記プロセッサの前記プロセッサクロックのタイミングに関連する、ステップと、
前記第2のセンサにおいて測定される前記第1の時点と前記第2の時点との間の時間間隔に基づき、前記第2のセンサにおいて第2のクロック補正係数を導出するステップと、
前記第2のセンサの第2のセンサクロックにおいて前記第2のクロック補正係数を適用し、前記プロセッサクロックに対して前記第2のセンサクロックのタイミングを補正するステップと
を含む方法をさらに実行させ、
前記第1のセンサクロックの前記補正、および前記第2のセンサクロックの第2の補正が同時に行わされ、前記時間間隔は、前記第1のセンサのサンプリング周期と前記第2のセンサのサンプリング周期との公倍数である、請求項25に記載の前記コンピュータ可読記録媒体。
【請求項２９】
前記補正係数を適用すること、および
前記第1のセンサの指定されたサンプリング周波数と一致する前記プロセッサクロックによって測定されるポーリング周波数で前記第1のセンサをポーリングする結果として、前記時間間隔にわたり前記第1のセンサのあらゆるデータサンプリングが厳密に一度だけ読み出されること
により、前記第1のセンサクロックは、前記時間間隔にわたり前記プロセッサクロックと整合する、請求項25に記載の前記コンピュータ可読記録媒体。
【請求項３０】
前記プロセッサによる実行時に、
前記第1のセンサクロックに関連するタイミング情報を前記第1のセンサから前記プロセッサに送信するステップと、
プロセッサの計算によるクロック補正係数を含む情報を前記第1のセンサにおいて前記プロセッサから受信するステップであって、前記プロセッサの計算によるクロック補正係数は、前記第1のセンサクロックに関連する前記送信されたタイミング情報に基づき前記プロセッサにより決定される、ステップと
前記第1のセンサの前記第1のセンサクロックにおいて、前記第1のクロック補正係数に代えて前記プロセッサの計算によるクロック補正係数を適用し、前記プロセッサクロックに対して前記第1のセンサクロックのタイミングを補正するステップと
を含む方法を前記プロセッサに実行させるコードをさらに含む、請求項25に記載の前記コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2013年11月12日に出願された「SYSTEM AND METHODS OF REDUCING ENERGY CONSUMPTION BY SYNCHRONIZING SENSORS」と題する先行特許出願第61/903,243号に基づいており、その特許出願の優先権の利益を主張する。
【０００２】
本明細書において開示される主題は、電子デバイスに関し、より詳細には、センサクロックを同期させるための方法、装置およびシステムに関する。
【背景技術】
【０００３】
現在のモバイルデバイスは、複数のセンサが高い密度で搭載されている。一般に、センサによって収集されたデータを受信し、処理するために、システムオンチップ(SoC)のようなデータ処理ユニットが設けられる。電力を保存するために、センサからデータ処理ユニットにデータが転送されていないときに、データ処理ユニットは定期的にスリープ状態に入れられる。
【０００４】
センサからデータ処理ユニットにデータを転送する2つの方法が一般に利用される。非同期法としても知られている第1の方法では、転送するために利用可能なデータを有するセンサが、専用データレディ割込み(DRI:Data Ready Interrupt)ピンを通してDRI信号を発行することによって、データ処理ユニットに通知し、その信号は、データ処理ユニットを起動し、データ処理ユニットがレディ状態にあるときに、データを転送する。同期法としても知られている第2の方法では、データ処理ユニットは、所定の時間間隔においてスリープ状態から自発的に起動し、センサをポーリングし、データを受信する。2つ以上のセンサからのデータ転送を1回のポーリングおよび転送セッションに集約することができるので、同期法は複数のセンサを備えるデバイスにおいて、よりエネルギー効率が高い。
【０００５】
理想的には、センサが最新の結果のみを送達すると仮定すると、センサのサンプリング周波数と一致する周波数においてセンサをポーリングすれば、センサによって収集されたすべてのデータを得るのに必要かつ十分である。しかしながら、データ処理ユニットおよびセンサは一般にクロック信号を共有せず、結果としてクロック信号のずれが生じる場合があるので、センサがそのサンプリング周波数においてポーリングされる場合であっても、センサデータサンプルによっては、失われるものもあれば、2回読み取られるものもある。その現象は、いくつかのセンサが、良くないクロック精度(すなわち、温度範囲にわたって、かつデバイス間で±15%偏差)を有するという事実によって、悪化する。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の一態様は、第1のセンサの第1のセンサクロックを同期させるための方法に関連する。例示的な方法は、第1のセンサクロックに一度目の補正を行うことと、第1のセンサからデータを転送することと、第1のセンサクロックに二度目の補正を行うこととを含み、第1のセンサクロックの2回の補正間の時間間隔は、第1のセンサクロックが、その時間間隔にわたってプロセッサのプロセッサクロックと十分に整合するように選択される。
【０００７】
本発明の別の態様は、コンピューティングデバイスに関連し、そのコンピューティングデバイスは、第1のセンサクロックを含むか、またはそれに結合される第1のセンサと、プロセッサクロックを含むか、またはそれに結合されるプロセッサとを備え、プロセッサは、第1のセンサクロックに一度目の補正を行い、第1のセンサからデータを転送し、第1のセンサクロックに二度目の補正を行い、第1のセンサクロックの2回の補正間の時間間隔は、第1のセンサクロックが、その時間間隔にわたってプロセッサクロックと十分に整合するように選択される。
【０００８】
本発明のさらに別の態様は、コンピューティングデバイスに関連し、そのコンピューティングデバイスは、第1のセンサの第1のセンサクロックに一度目の補正を行うための手段と、第1のセンサからデータを転送するための手段と、第1のセンサクロックに二度目の補正を行うための手段とを含み、第1のセンサクロックの2回の補正間の時間間隔は、第1のセンサクロックが、その時間間隔にわたってプロセッサのプロセッサクロックと十分に整合するように選択される。
【０００９】
本発明のさらに別の態様は、プロセッサによって実行されるとき、プロセッサに方法を実行させるコードを含む非一時的コンピュータ可読媒体に関連し、そのコードは、第1のセンサの第1のセンサクロックに一度目の補正を行うことと、第1のセンサからデータを転送することと、第1のセンサクロックに二度目の補正を行うこととを行うことを含み、第1のセンサクロックの2回の補正間の時間間隔は、第1のセンサクロックが、その時間間隔にわたってプロセッサのプロセッサクロックと十分に整合するように選択される。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態を実施することができる例示的なモバイルデバイスを示すブロック図である。
【図２】本発明の実施形態を実施することができる例示的なハードウェア環境を示すブロック図である。
【図３】センサクロックを同期させるための例示的な方法を示す流れ図である。
【発明を実施するための形態】
【００１１】
本発明の特定の実施形態を対象とする以下の説明および関連する図面において、本発明の態様が開示される。本発明の範囲から逸脱することなく、代替の実施形態を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素は詳細に記載されないか、または省略される場合がある。
【００１２】
「例示的」という言葉は、「一例、事例、または例示として役立つ」ことを意味するように本明細書において使用される。「例示的」として本明細書において説明されるいかなる実施形態も、他の実施形態よりも好ましいか、または有利であると必ずしも解釈されるべきではない。同様に、「実施形態」という用語は、すべての実施形態が、論じられている特徴、利点、または動作モードを含むことを必要としない。
【００１３】
本明細書において使用される用語は、特定の実施形態の説明のみを目的とするものであり、本発明の実施形態を限定するものではない。本明細書において使用されるときに、単数形「a」、「an」、および「the」は、文脈によって別段に明確に指示されない限り、複数形をも含むものとする。さらに、本明細書で使用する「備える、含む(comprises)」、「備えている、含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことは理解されよう。
【００１４】
さらに、多くの実施形態が、たとえば、コンピューティングデバイス(たとえば、サーバまたはデバイス)の要素によって実行されるべき動作シーケンスに関して説明される。本明細書において説明される種々の動作は、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行できることは認識されよう。さらに、本明細書において説明されるこれらの動作シーケンスは、実行時に、関連するプロセッサに本明細書において説明される機能を実行させる対応する1組のコンピュータ命令を記憶した、任意の形のコンピュータ可読記憶媒体内で完全に具現されるものと見なすことができる。したがって、本発明の種々の態様はいくつかの異なる形において具現することができ、そのすべてが、特許請求される主題の範囲内に入ると考えられる。さらに、本明細書において説明される実施形態ごとに、対応する形の任意のそのような実施形態が、本明細書において、たとえば、説明された動作を実行する「ように構成されたロジック」として説明される場合がある。
【００１５】
図1は、本発明の実施形態を実施することができる例示的なモバイルデバイスを示すブロック図である。そのシステムは、1つまたは複数のプロセッサ101と、メモリ105と、I/Oコントローラ125と、ネットワークインターフェース110とを含むことができるデバイス(たとえば、デバイス100)とすることができる。また、デバイス100は、プロセッサ101にさらに結合される1つまたは複数のバスまたは信号線に結合される複数のデバイスセンサを含むことができる。また、デバイス100は、ディスプレイ120、ユーザインターフェース(たとえば、キーボード、タッチスクリーン、または類似のデバイス)、電源デバイス121(たとえば、バッテリー)、ならびに電子デバイスに一般的に関連付けられる他の構成要素を含む場合もあることは理解されたい。いくつかの実施形態では、デバイス100は、モバイルデバイスまたは非モバイルデバイスとすることができる。本明細書において、「プロセッサ」および「データ処理ユニット」は互換的に用いられる。
【００１６】
そのデバイス(たとえば、デバイス100)は、周囲光センサ(ALS)135、加速度計140、ジャイロスコープ145、磁力計150、温度センサ151、気圧センサ155、赤色-緑色-青色(RGB)カラーセンサ152、紫外線(UV)センサ153、UV-Aセンサ、UV-Bセンサ、コンパス、近接センサ167、近距離通信(NFC)169および/または全地球測位センサ(GPS)160のようなセンサを含むことができる。いくつかの実施形態では、複数のカメラがデバイスに組み込まれるか、またはデバイスにアクセス可能である。たとえば、モバイルデバイスは、少なくとも前面取付および背面取付カメラを有することができる。いくつかの実施形態では、他のセンサも複数の設置またはバージョンを有することができる。
【００１７】
プロセッサ101によって実行するための命令を記憶するために、プロセッサ101にメモリ105を結合することができる。いくつかの実施形態では、メモリ105は非一時的である。メモリ105はまた、以下に説明される実施形態を実施するための1つまたは複数のモデルまたはモジュールを記憶することができる。メモリ105は、一体型センサまたは外部センサからのデータを記憶することもできる。
【００１８】
また、ネットワークインターフェース110は、ワイヤレスリンクを介してデータストリームをワイヤレスネットワークに送信し、ワイヤレスネットワークから受信するために、複数のワイヤレスサブシステム115(たとえば、Bluetooth(登録商標)166、WiFi111、セルラー161、または他のネットワーク)に結合される場合があるか、あるいはネットワーク(たとえば、インターネット、イーサーネット、または他の有線もしくはワイヤレスシステム)に直結するための有線インターフェースとすることができる。モバイルデバイスは、1つまたは複数のアンテナに接続される1つまたは複数のローカルエリアネットワークトランシーバも含むことができる。ローカルエリアネットワークトランシーバは、ワイヤレスAPと通信し、および/またはワイヤレスAPへの/からの信号を検出し、および/またはネットワーク内の他のワイヤレスデバイスと直接通信するのに適したデバイス、ハードウェア、および/またはソフトウェアを備える。一態様では、ローカルエリアネットワークトランシーバは、たとえば、1つまたは複数のワイヤレスアクセスポイントと通信するのに適した、WiFi(802.11x)通信システムを含むことができる。
【００１９】
また、デバイス100は、1つまたは複数のアンテナに接続される場合がある1つまたは複数のワイドエリアネットワークトランシーバも含む場合がある。ワイドエリアネットワークトランシーバは、ネットワーク内の他のワイヤレスデバイスと通信し、および/またはネットワーク内の他のワイヤレスデバイスへの/からの信号を検出するのに適したデバイス、ハードウェア、および/またはソフトウェアを備える。一態様では、ワイドエリアネットワークトランシーバは、ワイヤレス基地局のCDMAネットワークと通信するのに適したCDMA通信システムを含む場合があるが、他の態様では、ワイヤレス通信システムは、たとえば、TDMA、LTE、LTEアドバンスト、WCDMA(登録商標)、UMTS、4GまたはGSM(登録商標)などの、別のタイプのセルラー電話ネットワークまたはフェムトセルを含む場合がある。さらに、たとえば、WiMax(802.16)、超広帯域、ZigBee、ワイヤレスUSBなどの任意の他のタイプのワイヤレスネットワーキング技術も用いることができる。
【００２０】
したがって、デバイス100は、モバイルデバイス、ワイヤレスデバイス、携帯電話、携帯情報端末、モバイルコンピュータ、ウェアラブルデバイス(たとえば、ヘッドマウントディスプレイ、バーチャルリアリティグラスなど)、ロボットナビゲーションシステム、タブレット、パーソナルコンピュータ、ラップトップコンピュータ、または処理能力を有する任意のタイプのデバイスとすることができる。本明細書において用いられるときに、モバイルデバイスは、1つまたは複数のワイヤレス通信デバイスまたはネットワークから送信されたワイヤレス信号を取り込み、それらのデバイスまたはネットワークにワイヤレス信号を送信するように構成可能である持運び可能な、または移動可能なデバイスまたは機械とすることができる。したがって、例であって、限定はしないが、デバイス100は、無線デバイス、セルラー電話デバイス、コンピューティングデバイス、パーソナル通信システムデバイス、または他の同様の移動可能なワイヤレス通信機能搭載デバイス、電化製品または機械を含むことができる。上記の任意の動作可能な組合せも、「モバイルデバイス」と見なされる。
【００２１】
モバイルデバイスは、RF信号(たとえば、2.4GHz、3.6GHzおよび4.9/5.0GHz帯)と、RF信号の変調および情報パケットの交換のための標準化されたプロトコル(たとえば、IEEE802.11x)とを用いて、複数のワイヤレスAPとワイヤレス通信することができる。
【００２２】
以下に説明される本発明の実施形態は、デバイスのプロセッサ101および/またはデバイスの他の回路および/または他のデバイスによって、たとえばメモリ105もしくは他の要素内に記憶されるような命令の実行を通して実施される場合があることは理解されたい。詳細には、限定はしないが、プロセッサ101を含むデバイスの回路は、プログラム、ルーチンの制御下で、または本発明の実施形態による方法もしくはプロセスを実行するための命令の実行を通して、動作する場合がある。たとえば、そのようなプログラムは、(たとえば、メモリ105および/または他のロケーションに記憶される)ファームウェアまたはソフトウェアにおいて実現される場合があり、プロセッサ101などのプロセッサ、および/またはデバイスの他の回路によって実現される場合がある。さらに、プロセッサ、マイクロプロセッサ、回路、コントローラなどの用語は、ロジック、コマンド、命令、ソフトウェア、ファームウェア、機能などを実行することが可能な任意のタイプのロジックまたは回路を指す場合があることは理解されたい。
【００２３】
さらに、本明細書において説明される機能、エンジン、またはモジュールの一部または全部が、デバイス自体によって実行される場合があること、ならびに/あるいは本明細書において説明される機能、エンジン、またはモジュールの一部または全部が、I/Oコントローラ125またはネットワークインターフェース110を通して(ワイヤレスでまたは有線で)デバイスに接続される別のシステムによって実行される場合があることは理解されたい。したがって、機能の一部および/または全部が別のシステムによって実行される場合があり、結果または中間の計算が元のデバイスに転送される場合がある。いくつかの実施形態では、そのような他のデバイスは、リアルタイムに、または概ねリアルタイムに情報を処理するように構成されたサーバを含むことができる。いくつかの実施形態では、他のデバイスは、たとえばデバイスの知られている構成に基づいて結果をあらかじめ設定するように構成される。さらに、図1に示される要素のうちの1つまたは複数は、デバイス100から省くことができる。たとえば、センサ130〜165のうちの1つまたは複数を、いくつかの実施形態において省くことができる。
【００２４】
図2は、本発明の実施形態を実施することができる例示的なハードウェア環境200を示すブロック図である。数ある機能の中でも、センサ210から転送されたデータサンプルを受信し、処理するために、デバイス100のプロセッサ101が設けられ得る。センサ210は、上記のような任意のタイプのセンサとすることができる。本発明は、センサの数によって限定されず、さらに多くのセンサ(図示せず)が存在することができる。いくつかの実施形態では、プロセッサ101は、クロック102からクロック信号を与えられる場合がある。他の実施形態では、プロセッサ101に内部クロック発生器が埋め込まれる場合がある。センサ210は、内部クロック信号を生成する内部クロック発生器215を含み、内部クロック信号に基づいて、センサ210がサンプルを収集する。データ接続がプロセッサ101をセンサ210とリンクさせ、プロセッサ101とセンサ210との間でデータを転送できるようにする。図2に示される実施形態では、データ接続は、シリアルデータ(SDA)線220およびシリアルクロック(SCL)線230を含むI2Cバスとすることができる。SDA線220およびSCL線230はいずれも、プルアップ抵抗器(図示せず)でプルアップすることができる。I2Cバスの動作は当該技術分野においてよく知られており、本明細書では詳述されない。データ接続は、UART接続、SPIバス、またはプロセッサとセンサとの間でデータを転送するのに適した任意の他のタイプの接続とすることもできる。いくつかの実施形態では、センサ210は、データレディ割込み(DRI)ピンを有することができ、そのピンは、DRI線240を介してプロセッサ101に接続することができる。2つ以上のセンサが存在する実施形態では、プロセッサ101に接続される前に、複数のセンサからのDRI線を多重化することができる。いくつかの他の実施形態では、DRIピンに加えて、またはその代わりに、センサ210は専用クロック補正ピンを有することができ、そのピンは、クロック補正線250を介してプロセッサ101に接続することができる。
【００２５】
コンピューティングデバイス100は、センサクロック215を含むか、またはそれに結合されるセンサ210と、プロセッサクロック102を含むか、またはそれに結合されるプロセッサ101とを備えることができ、プロセッサは、センサクロック215に一度目の補正を行い、センサ210からデータを転送し、センサクロック215に二度目の補正を行い、センサクロック215の2回の補正間の時間間隔は、センサクロック215が、その時間間隔にわたってプロセッサクロック102と十分に整合するように選択することができる。
【００２６】
センサ210からプロセッサ101にデータを転送する2つの方法が一般に利用される。非同期法としても知られている第1の方法では、転送するために利用可能なデータを有するセンサ210が、専用データレディ割込みピンを通してDRI信号を発行することによって、プロセッサ101に通知することができ、その信号は、プロセッサを起動し、プロセッサがデータ転送レディ状態にあるときに、データを転送する。同期法としても知られている第2の方法では、プロセッサ101は、所定の時間間隔においてスリープ状態から自発的に起動することができ、センサ210をポーリングし、データを受信することができる。2回以上のセンサからのデータ転送を1回のポーリングおよび転送セッションに集約することができるので、同期法は複数のセンサを備えるデバイスにおいて、よりエネルギー効率が高い。
【００２７】
理想的には、センサが最新の結果のみを送達すると仮定すると、センサのサンプリング周波数と一致する周波数においてセンサをポーリングすれば、センサによって収集されたすべてのデータを得るのに必要かつ十分である。しかしながら、プロセッサ101およびセンサ210は一般にクロック信号を共有せず、結果としてクロック信号のずれが生じる場合があるので、センサ210がそのサンプリング周波数においてポーリングされる場合であっても、センサデータサンプルによっては、失われるものもあれば、2回読み取られるものもある。その現象は、いくつかのセンサが、極めて良くないクロック精度(すなわち、温度範囲にわたって、かつデバイス間で±15%偏差)を有する場合があるという事実によって、さらに悪化する場合がある。
【００２８】
図3を参照すると、センサクロックを同期させるための例示的な方法300を示す流れ図が示される。動作310では、センサクロックに一度目の補正を行うことができる。センサクロックを補正することは、サンプリングイベントがそれに基づく内部センサクロックが、プロセッサ101によって用いられるクロック信号(これ以降、プロセッサクロック)と十分に整合するように、内部センサクロックにクロック補正係数を適用することを含むことができる。センサの指定されたサンプリング周波数と一致する周波数においてセンサをポーリングする結果として、データサンプルを失うことなく、そしてデータサンプルを2回読み取ることなく、すべてのセンサデータサンプルを受信することを十分に長い期間にわたって保証できるときに、内部センサクロックは、ポーリングイベントがそれに基づくプロセッサクロックと十分に整合している。2つのクロック信号が完全に整合するとき、それらの実際の周波数間の比は、指定された周波数間の比に等しいことに留意されたい。動作320において、プロセッサ101によってセンサ210をポーリングすることができ、センサデータサンプルをセンサ210からプロセッサ101に転送することができる。動作320は、複数のポーリングおよび複数のデータサンプル転送からなることができる。動作330において、センサクロックに、動作310において一度目の補正を行うのと同じようにして、二度目の補正を行うことができる。センサクロックの2回の補正間の時間間隔は、クロック信号が、その間隔にわたって、先に規定されたように十分に整合したままであるように選択することができるが、それでも、クロック信号の誤差がその間隔にわたって累積される。選択された間隔が短すぎる場合には、必要以上に頻繁にセンサクロックを補正するのにエネルギーを浪費する場合がある。一方、選択された間隔が長すぎる場合には、クロック信号が整合しなくなる場合があり、上記のデータサンプル損失または反復が生じるおそれがある。
【００２９】
2回のセンサクロック補正間の時間間隔は、位相時間間隔(T_Ph)と呼ばれる場合がある。動作310〜330を繰返し実行することによって、内部センサクロックを、プロセッサクロックに十分に整合した状態に保つことができる。いくつかの実施形態では、T_Phは、存在するセンサのサンプリング周期の公倍数とすることができる。たとえば、それぞれ200Hz、100Hzおよび10Hzのサンプリング周波数(5ms、10msおよび100msのサンプリング周期に対応する)を有する3つのセンサが存在する実施形態では、T_Phとして100msを選択することができる。存在する複数のセンサのサンプリング周期の公倍数であるT_Phを用いて実質的に同時に複数のセンサを同期させることは、センサクロックを互いに整合させ、それゆえ、プロセッサが同期法を用いて最も少ない起動ウィンドウによってすべてのサンプルを入手できるようにすることは理解されたい。上記の例において、200Hz、100Hzおよび10Hzのサンプリング周波数を有する3つのセンサのセンサクロックが互いに整合していない場合には、プロセッサは、プロセッサが各起動ウィンドウにおいて単一のセンサから単一のサンプルを受信する(200Hzセンサの場合毎秒200回、100Hzセンサの場合毎秒100回、そして10Hzセンサの場合毎秒10回)最悪のシナリオの場合、すべてのサンプルを入手するために、全部で毎秒310回起動しなければならない場合がある。一方、3つのセンサのセンサクロックが上記のように整合する場合には、プロセッサは、すべてのサンプルを入手するのに毎秒200回しか起動する必要がなく、200Hzセンサはプロセッサが起動するたびにポーリングされ、100Hzセンサは、プロセッサが起動する1つおきの時間にポーリングされ、10Hzセンサは、プロセッサが20回起動するごとにポーリングされる。必要とされる起動ウィンドウの数を少なくすることは、電力を保存し、電池寿命を長くするので望ましい。いくつかの実施形態では、T_Phは約1秒とすることができる。また、T_Phは、センサ210によってクロック関連フィードバック情報が与えられる実施形態では、実行時に調整することもできる。
【００３０】
センサクロックを補正するためのいくつかの非限定的な方法が考えられてきた。いくつかの実施形態では、センサ210は、プロセッサクロックに関連する情報を受信し、クロック補正係数を導出し、クロック補正係数を適用することができる。いくつかの実施形態では、センサ210は、その内部クロックに関連する情報をプロセッサ101に送り、プロセッサ101において導出されたクロック補正係数を受信し、クロック補正係数を適用することができる。
【００３１】
プロセッサ101とセンサ210との間でクロック関連情報が交換される実施形態では、クロック関連情報を交換するためのいくつかの非限定的な方法が考えられてきた。いくつかの実施形態では、クロック情報はDRI線240を用いて転送することができる。いくつかの実施形態では、クロック情報は、専用クロック補正線250を用いて転送することができる。さらに他のいくつかの実施形態では、上記のI2Cバスのような、プロセッサ101とセンサ210との間の正規のデータ接続を用いて転送することができる。
【００３２】
第1の実施形態群
【００３３】
第1の実施形態群では、センサ210がプロセッサクロックに関連する情報を受信し、クロック補正係数を導出し、センサクロックが補正されているときに、クロック補正係数を適用することができる。
【００３４】
一実施形態では、センサクロックが補正されているとき、プロセッサ101は、所定の数のパルスからなるパルスのバーストをセンサ210に送信することができる。パルスのバーストは、プロセッサクロックから導出される場合があり、その周波数は、プロセッサクロックの周波数によって決まる場合がある必要とされるバーストは、相対的に短い期間のみ継続する。ここで、センサ210は、バーストの予想周波数を事前に設定することができる。センサ210がバーストを受信すると、センサは受信されたバーストの周波数と予想周波数とを比較し、それに応じて、クロック補正係数を導出し、クロック補正係数を適用して、内部センサクロックを補正することができる。
【００３５】
別の実施形態では、センサクロックが補正されているとき、プロセッサ101は、プロセッサクロックによって測定されるような所定の時間間隔だけ間隔をおいた2つのパルスをセンサ210に送信することができる。その時間間隔は、センサクロックを補正するクロック補正係数を導出するために確実に使用することができるように選択される。この時間間隔は、周波数時間間隔(T_Fq)と呼ばれる場合がある。いくつかの実施形態では、T_Fqは数ミリ秒の範囲にあることができる。いくつかの実施形態では、T_Fqは、存在する最も短いセンササンプリング周期と一致するように選択される。いくつかの他の実施形態では、T_Fqは、T_Phと同じ長さになるように選択することができる。たとえば、T_Fqは1秒とすることができる。ここで、センサ210は、所定のT_Fqを事前に設定することができる。センサ210が2つのパルスを受信すると、センサは、センサクロックによって測定されるような、受信された2つのパルスによって挟まれる時間間隔の持続時間を、同じくセンサクロックによって測定されるような、所定のT_Fqと比較し、それに応じて、クロック補正係数を導出し、クロック補正係数を適用して、内部センサクロックを補正することができる。
【００３６】
さらに別の実施形態では、センサクロックが補正されているとき、クロック補正メッセージの送信中に生成された2つの識別可能な明確なエッジが、プロセッサクロックによって測定されるような所定のT_Fqだけ間隔をおくように、プロセッサ101が、プロセッサ101とセンサ210との間のデータ接続を介してセンサ210にクロック補正メッセージを送信することができる。上記のように、プロセッサ101とセンサ210との間のデータ接続はI2Cバスとすることができる。また、データ接続は、UART接続、SPIバス、またはプロセッサとセンサとの間でデータを転送するのに適した任意の他のタイプの接続とすることができる。所定のT_Fqは先に説明されたのと同じとすることができる。ここで、センサ210は、所定のT_Fqを事前に設定することができる。センサ210がクロック補正メッセージを受信すると、センサは、センサクロックによって測定されるような、クロック補正メッセージとともに含まれる2つの識別可能な明確なエッジによって挟まれる時間間隔の持続時間を、同じくセンサクロックによって測定されるような所定のT_Fqと比較し、それに応じて、クロック補正係数を導出し、クロック補正係数を適用して、内部センサクロックを補正することができる。
【００３７】
たとえば、プロセッサ101とセンサ210との間のデータ接続がI2Cバスである実施形態では、2つのクロック補正メッセージが送信される場合がある。これら2つのクロック補正メッセージはそれぞれMS1およびMS2と呼ばれる場合がある。T_Fqは、MS1のための開始条件におけるSDA線220上の立ち下がりエッジと、MS2のための開始条件におけるSDA線220上の立ち下がりエッジとによって挟まれる場合があるか、または代替的には、MS1のための停止条件におけるSDA線220上の立ち上がりエッジと、MS2のための開始条件におけるSDA線220上の立ち下がりエッジとによって挟まれる場合がある。T_FqがT_Phと同じ長さになるように選択される実施形態では、1つのクロック補正メッセージ、たとえば、MS1しか必要とされない場合があり、たとえば、各T_Phの開始時に、プロセッサ101によってMS1メッセージが送信される場合がある。したがって、T_Phに等しい周期T_Fqが、たとえば、一実施形態では、2つの連続するMS1メッセージのための開始条件におけるSDA線220上の立ち下がりエッジによって挟まれる場合がある。当然、本発明は本明細書において提供される例によって限定されない。さらに、センサクロックを補正するためにI2Cバスを使用することによって、誤り訂正手順、故障検出およびアボートコマンドなども追加できるようなる。たとえば、センサ210が、タイムスタンプ、または時間偏差情報を含むメッセージを送信することができ、プロセッサ101が、それに応じて、後続のデータストリームを補正することができる。この手順を利用することによって、T_Phの精度要件を緩和することができる。クロック補正のためにI2Cバスの双方向通信能力を利用する他の方法も考えられてきた。
【００３８】
第2の実施形態群
【００３９】
第2の実施形態群では、センサ210がその内部クロックに関連する情報をプロセッサ101に送り、プロセッサ101において導出されたクロック補正係数を受信し、センサクロックが補正されているときに、クロック補正係数を適用することができる。
【００４０】
一実施形態では、センサクロックが補正されているとき、センサ210は、センサクロックによって測定されるような所定のT_Fqだけ間隔をおいた2つのパルスをプロセッサ101に送信することができる。所定のT_Fqは先に説明されたのと同じとすることができる。ここで、プロセッサ101は、所定のT_Fqを事前に設定することができる。プロセッサ101が2つのパルスを受信すると、プロセッサは、プロセッサクロックによって測定されるような、受信された2つのパルスによって挟まれる時間間隔の持続時間を、同じくプロセッサクロックによって測定されるような所定のT_Fqと比較し、それに応じて、クロック補正係数を導出し、I2Cバスのような、プロセッサ101とセンサ210との間のデータ接続を介して、クロック補正係数をセンサ210に送信することができる。次いで、センサ210は、データ補正係数を受信し、データ補正係数を適用することができる。
【００４１】
第3の実施形態群
【００４２】
第3の実施形態群では、クロック補正係数は用いられない。これらの実施形態では、プロセッサクロック、またはプロセッサクロックから導出された信号をセンサ210に与えることができ、センサ210は、サンプリングイベントを、プロセッサクロック、またはプロセッサクロックから導出された信号に直接基づかせることができる。プロセッサクロック、またはプロセッサクロックから導出された信号は、専用線、DRI線240を用いて送信することができるか、またはプロセッサ101とセンサ210との間のデータ接続上で転送されるメッセージ内で送信することができる。
【００４３】
一実施形態では、プロセッサ101は、プロセッサクロックに基づいてサンプリングクロック信号を生成することができ、サンプリングクロックをセンサ210に送信することができる。サンプリングクロックの周波数は、センサ210のサンプリング周波数と同じとすることができる。センサ210は、その内部センサクロックを無視し、プロセッサ101によって送信されたサンプリングクロック信号内のパルスを受けたときにのみサンプルを収集するように構成される。
【００４４】
複数のセンサが存在する一実施形態では、サンプリングクロック信号の周波数が、存在するセンサのサンプリング周波数の公倍数であるように、プロセッサ101によって生成されたサンプリングクロック信号の周波数を選択することができる。たとえば、それぞれ200Hz、100Hzおよび10Hzのサンプリング周波数を有する3つのセンサが存在する実施形態では、プロセッサ101は、プロセッサクロックに基づいて200Hzの周波数を有するサンプリングクロック信号を生成することができ、サンプリングクロック信号を3つのセンサすべてに送信することができる。次いで、200Hzサンプリング周波数を有するセンサは、サンプリングクロック信号内で受けたパルスごとにサンプルを収集するように構成することができ、100Hzサンプリング周波数を有するセンサは、サンプリングクロック信号内で受けた1つおきのパルスごとにサンプルを収集するように構成することができ、10Hzサンプリング周波数を有するセンサは、サンプリングクロック信号内で受けた20個のパルスごとにサンプルを収集するように構成することができる。
【００４５】
サンプリングクロックはプロセッサクロックに基づくので、センサ210のサンプリングイベントおよびプロセッサ101のポーリングイベントは常に整合できることは理解されたい。
【００４６】
いくつかの実施形態において、サンプリングクロック信号は、同時にポーリング信号としての役割も果たすことができることも理解されたい。
【００４７】
別の実施形態では、プロセッサクロックは、センサ210に直接与えることができ、センサ210は、サンプリングイベントを、その内部センサクロックの代わりに、プロセッサクロックに基づかせることができる。
【００４８】
本明細書において説明されるセンサクロックを同期させるための例示的な方法を利用することによって、プロセッサは、センサのためのクロック補正を調整することができ、ある周波数においてセンサをポーリングする際に必要以上に高いエネルギーを浪費することなく、エネルギー効率の良い同期モードにおいて、複数のセンサからすべてのセンサデータサンプルを一括で受信することができる。
【００４９】
これまでに説明された本発明の態様は、先に説明されたように、コンピューティングデバイス100のプロセッサ101による命令(たとえば、アプリケーション)の実行に関連して実施される場合があることを理解されたい。具体的には、限定はしないが、プロセッサを含むデバイスの回路は、本発明の実施形態による方法またはプロセス(たとえば、図3のプロセス)を実行するために、アプリケーション、プログラム、ルーチンの制御下で、または命令の実行によって動作することができる。たとえば、そのようなプログラムは、(たとえば、メモリおよび/または他のロケーションに記憶される)ファームウェアまたはソフトウェアにおいて実現される場合があり、プロセッサおよび/またはデバイスの他の回路によって実現される場合がある。さらに、プロセッサ、マイクロプロセッサ、回路、コントローラなどの用語は、ロジック、コマンド、命令、ソフトウェア、ファームウェア、機能などを実行することが可能な任意のタイプのロジックまたは回路を指すことを理解されたい。
【００５０】
本明細書において開示される方法は、ワイヤレスワイドエリアネットワーク(WWAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN)などの種々のワイヤレス通信ネットワークとともに実現することができる。「ネットワーク」および「システム」という用語は、多くの場合に互換的に使用される。WWANは、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交周波数分割多元接続(OFDMA)ネットワーク、シングルキャリア周波数分割多元接続(SC-FDMA)ネットワークなどとすることができる。CDMAネットワークは、cdma2000、Wideband-CDMA(W-CDMA(登録商標))などの1つまたは複数の無線アクセス技術(RAT)を実施することができる。cdma2000は、IS-95、IS-2000、およびIS-856標準を含む。TDMAネットワークは、モバイル通信用グローバルシステム(GSM(登録商標))、デジタル高度移動電話システム(D-AMPS)、または他の何らかのRATを実施することができる。GSM(登録商標)およびW-CDMA(登録商標)は、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織からの文書に記載されている。cdma2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織からの文書に記載されている。3GPP文書および3GPP2文書は公開されている。WLANは、IEEE 802.11xネットワークとすることができ、WPANは、Bluetooth(登録商標)ネットワーク、IEEE 802.15x、または何らかの他のタイプのネットワークとすることができる。本技法はまた、WWAN、WLAN、および/またはWPANの任意の組合せとともに実施することができる。
【００５１】
本明細書において提示される例示的な方法、装置または製品は、全体的に、または部分的に、モバイル通信デバイスにおいて、またはモバイル通信デバイスとともに使用するために実現することができる。本明細書で用いられる場合、「モバイルデバイス」、「モバイル通信デバイス」、「ハンドヘルドデバイス」、「タブレット」など、またはそのような用語の複数形は、互換的に用いられる場合があり、1つまたは複数の通信プロトコルに従って適切な通信ネットワークを介して情報のワイヤレス送信または受信を通して通信することができ、時間の経過とともに場所または位置が変化する場合がある、任意の種類の専用のコンピューティングプラットフォームまたはデバイスを指す場合がある。例示として、専用のモバイル通信デバイスは、たとえば、セルラー電話、衛星電話、スマート電話、ヒートマップまたは無線マップ生成ツールまたはデバイス、被観測信号パラメータ生成ツールまたはデバイス、携帯情報端末(PDA)、ラップトップコンピュータ、パーソナルエンターテインメントシステム、電子ブックリーダ、タブレットパーソナルコンピュータ(PC)、パーソナルオーディオまたはビデオデバイス、パーソナルナビゲーションユニットなどを含むことができる。しかしながら、これらは本明細書において説明された1つまたは複数のプロセスまたは動作を容易にするか、またはサポートするために利用することができるモバイルデバイスに関連する説明のための例にすぎないことは理解されたい。
【００５２】
本明細書において説明される方法は、特定の適用例に応じて種々の方法において、かつ種々の構成で実施することができる。たとえば、そのような方法は、ソフトウェアとともに、ハードウェア、ファームウェア、および/またはこれらの組合せで実施することができる。ハードウェア実施態様では、たとえば、処理ユニットは、1つまたは複数の特定用途向け集積回路(ASIC)、デジタルシグナルプロセッサ(DSP)、デジタルシグナルプロセシングデバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書において説明された機能を実行するように設計された他のデバイスユニット、および/またはこれらの組合せ内において実現することができる。
【００５３】
本明細書において説明される記憶媒体は、一次、二次および/または三次記憶媒体を含むことができる。一次記憶媒体は、たとえばランダムアクセスメモリおよび/またはリードオンリーメモリなどのメモリを含むことができる。二次記憶媒体は、磁気またはソリッドステートハードドライブなどの大容量記憶装置を含むことができる。三次記憶媒体は、磁気または光ディスク、磁気テープ、ソリッドステート記憶デバイスなどのようなリムーバブル記憶媒体を含むことができる。いくつかの実施態様では、記憶媒体またはその部分は、プロセッサのようなコンピューティングプラットフォームの他の構成要素を動作可能に収容するか、または場合によってはそれに結合するように構成することができる。
【００５４】
少なくともいくつかの実装形態では、本明細書において説明される記憶媒体の1つまたは複数の部分は、記憶媒体の特定の状態によって表現されるようなデータおよび/または情報を表す信号を記憶することができる。たとえば、データおよび/または情報を表す電子信号は、記憶媒体(たとえばメモリ)の一部分に、バイナリ情報(たとえば、1および0)としてデータおよび/または情報を表すように記憶媒体のそのような部分の状態に作用するか、またはそのような状態を変化させることによって「記憶する」ことができる。したがって、特定の実施態様では、データおよび/または情報を表す信号を記憶するために記憶媒体の一部の状態をそのように変化させることは、記憶媒体を異なる状態または物に変換することに相当する。
【００５５】
これまでの詳細な説明において、多くの具体的な詳細が、特許請求される主題を完全に理解してもらうために説明されてきた。しかし、特許請求される主題は、これらの具体的な詳細がなくても実施できることは、当業者には理解されよう。他の例では、当業者であれば既知である方法および装置は、特許請求される主題を不明瞭にしないために、詳細には説明されていない。
【００５６】
これまでの詳細な説明のいくつかの部分は、特定の装置または専用のコンピューティングデバイスまたはプラットフォームのメモリ内に記憶される、バイナリのデジタル電子信号上の、動作のアルゴリズムまたは記号による表現の形で提示されてきた。この特定の明細書との関連で、「特定の装置」などの用語は、プログラムされると、プログラムソフトウェアからの命令に従って特定の機能を実行する汎用コンピュータを含む。アルゴリズム記述または記号表現は、当業者が作業内容を他の当業者に伝えるために、信号処理または関連技術において当業者によって使用される技法の例である。アルゴリズムは、本明細書において、一般に、所望の結果につながる首尾一貫した動作シーケンスまたは類似の信号処理であると見なされる。この文脈において、動作または処理は、物理量の物理的な操作を伴う。通常、必須ではないが、そのような物理量は、情報を表す電子信号として、記憶され、送信され、組み合わされ、比較され、または別の方法で操作されることが可能である、電気信号または磁気信号の形をとることができる。場合によっては、主に一般に使用されるという理由から、そのような信号を、ビット、データ、値、要素、記号、文字、語、数字、番号、情報などとして言及することが便利であることがわかっている。しかしながら、これらの用語または同様の用語のすべてが、適切な物理量と関連付けられるべきであり、便宜的な呼び方にすぎないことは理解されたい。
【００５７】
別段に明記されていない限り、以下の議論から明らかなように、本明細書全体にわたって、「処理する」、「算出する」、「計算する」、「識別する」、「判断する」、「確立する」、「入手する」などの用語を利用する議論は、専用コンピュータまたは類似の専用電子コンピューティングデバイスなどの、特定の装置の動作またはプロセスを指すことを理解されたい。したがって、本明細書の文脈において、専用コンピュータまたは類似の専用電子コンピューティングデバイスは、専用コンピュータもしくは類似の専用電子コンピューティングデバイスのメモリ、レジスタ、もしくは他の情報記憶デバイス、伝送デバイス、またはディスプレイデバイス内で、通常物理的で電子的な量または磁気的な量として表される信号を、操作あるいは変換することができる。この特定の特許出願の文脈において、「特定の装置」という用語は、プログラムされると、プログラムソフトウェアからの命令に従って特定の機能を実施する汎用コンピュータを含むことができる。
【００５８】
本明細書を通じて「一例」、「例」、「いくつかの例」または「例示的な実施態様」を参照することは、特徴および/もしくは例に関して説明される特定の特徴、構造物または特性が、特許請求される主題の少なくとも1つの特徴および/または例に含まれる場合があることを意味する。したがって、本明細書を通して種々の場所に「一例では」、「例」、「いくつかの例では」もしくは「いくつかの実施態様では」という語句または他の同様の語句が出現しても、すべてが同じ特徴、例および/または限定を指しているとは限らない。さらに、特定の特徴、構造物または特性は、1つもしくは複数の例および/または特徴において組み合わせることができる。
【００５９】
例示的な特徴であると現在考えられるものを例示し説明したが、特許請求される主題から逸脱することなく、種々の他の変更を行うことができ、均等物で置き換えることがきることは、当業者には理解されよう。さらに、特許請求される主題の教示に個別の状況を適合させるために、本明細書において説明される中心的な概念から逸脱することなく、多くの変更を加えることができる。したがって、特許請求される主題は、開示される特定の例に限定されず、そのような特許請求される主題は添付の特許請求の範囲内にあるすべての態様およびその均等物も含むことができることを意図している。
【符号の説明】
【００６０】
100  デバイス
101  プロセッサ
102  クロック
105  メモリ
110  ネットワークインターフェース
111  WiFi
115  ワイヤレスサブシステム
120  ディスプレイ
121  電源デバイス
125  I/Oコントローラ
135  周囲光センサ(ALS)
140  加速度計
145  ジャイロスコープ
150  磁力計
151  温度センサ
152  赤色-緑色-青色(RGB)カラーセンサ
153  紫外線(UV)センサ
155  気圧センサ
160  全地球測位センサ(GPS)
161  セルラー
166  Bluetooth(登録商標)
167  近接センサ
169  近距離通信(NFC)
200  ハードウェア環境
210  センサ
215  内部クロック発生器、センサクロック
220  シリアルデータ(SDA)線
230  シリアルクロック(SCL)線
240  データレディ割込み(DRI)線
250  クロック補正線
【図１】
2018125024.tif 000003
【図２】
2018125024.tif 000004
【図３】
2018125024.tif 000005
【外国語明細書】
2018125024000001.pdf