(57)【特許請求の範囲】
【請求項１】
センサユニット（１０５）との少なくとも１つの通信インタフェース（１１５）を有するアプリケーションプロセッサ（１１０）であって、
センサユニット（１０５）は、
測定値を検出し、センサ信号に変換するための少なくとも１つのセンサ（１１８）と、
少なくとも１つのマイクロプロセッサ（１２０）と、
センサ信号を処理するプログラムモジュールのための少なくとも１つのメモリ（１２５）であって、プログラムモジュールがマイクロプロセッサ（１２０）で実行可能なメモリ（１２５）と、
外部のアプリケーションプロセッサ（１１０）との少なくとも１つの通信インタフェース（１１５）であって、ａ．この通信インタフェース（１１５）を介してプログラムモジュールがアクティブ化及び非アクティブ化可能であり、ｂ．この通信インタフェース（１１５）を介してさらなるプログラムモジュール（プラグイン・プログラムモジュール）（１３５）がメモリ（１２５）にロード可能である、通信インタフェース（１１５）と
を含み、前記マイクロプロセッサ（１２０）が、プラグイン・プログラムモジュール（１３５）を実行するための少なくとも１つのクローズド環境（１２１）を含み、
センサユニット（１０５）の構成及びセンサユニット（１０５）のマイクロプロセッサ（１２０）のクローズド環境の特定の機能範囲がアプリケーションプロセッサに知られており、アプリケーションプロセッサ（１１０）は、
センサ信号を処理するためのプラットフォーム独立型のプログラムモジュール（プラグイン）（１３５）が記憶されている不揮発性のメモリ（１６０）へのアクセス可能性、
少なくとも１つのプラットフォーム独立型のプラグイン（１３５）に基づき、センサユニット（１０５）のマイクロプロセッサ（１２０）のクローズド環境（１２１）で実行可能な少なくとも１つのプラグイン・プログラムモジュール（１３５’）を提供するための手段（１４６）、
通信インタフェース（１１５）を介してセンサユニット（１０５）のメモリ（１２５）にこのようなプラグイン・プログラムモジュール（１３５’）を伝送するための手段、及び
通信インタフェース（１１５）を介してこれらのプラグイン・プログラムモジュール（１３５’）をアクティブ化及び非アクティブ化するための手段を備えることを特徴とするアプリケーションプロセッサ（１１０）。
【請求項２】
請求項１に記載のアプリケーションプロセッサ（１１０）において、
前記マイクロプロセッサ（１２０）が、プラグイン・プログラムモジュール（１３５）を実行するためのクローズド環境（１２１）として少なくとも１つの仮想マシンを提供する、アプリケーションプロセッサ（１１０）。
【請求項３】
請求項１に記載のアプリケーションプロセッサ（１１０）において、
前記マイクロプロセッサ（１２０）が、プラグイン・プログラムモジュール（１３５）を実行するためのクローズド環境（１２１）として少なくとも１つのサンドボックスを提供する、アプリケーションプロセッサ（１１０）。
【請求項４】
請求項１から３までのいずれか１項に記載のアプリケーションプロセッサ（１１０）において、
複数のセンサ（１１８）のセンサ信号を処理するためにマイクロプロセッサ（ハブプロセッサ）（１２０）がセンサユニット（１０５）に設けられる、アプリケーションプロセッサ（１１０）。
【請求項５】
請求項１から４までのいずれか１項に記載のアプリケーションプロセッサ（１１０）において、
前記提供するための手段が、プラットフォーム独立型のプラグイン（１３５）を、前記センサユニット（１０５）のマイクロプロセッサ（１２０）のクローズド環境（１２１）で実行可能なそれぞれ少なくとも１つのプラグイン・プログラムモジュール（１３５’）に変換するための手段（１４６）を備えるアプリケーションプロセッサ（１１０）。
【請求項６】
請求項５に記載のアプリケーションプロセッサ（１１０）において、
前記プラットフォーム独立型のプラグイン（１３５）をプラグイン・プログラムモジュール（１３５’）に変換するための手段（１４６）が、前記センサユニット（１０５）の構成に関して、プログラム最適化及び／又は互換性チェックを行うように構成されているアプリケーションプロセッサ（１１０）。
【請求項７】
請求項１から６までのいずれか１項に記載のアプリケーションプロセッサ（１１０）において、
前記プラットフォーム独立型のプラグイン（１３５）及び／又は該プラットフォーム独立型のプラグインに基づくプラグイン・プログラムモジュール（１３５’）を記憶するための手段（１５０）を備えるアプリケーションプロセッサ（１１０）。
【請求項８】
請求項１から７までのいずれか１項に記載のアプリケーションプロセッサ（１１０）において、
前記プラットフォーム独立型のプラグイン（１３５）及び／又はプラグイン・プログラムモジュール（１３５’）を実行するための少なくとも１つのクローズド環境（１４７）を備えるアプリケーションプロセッサ（１１０）。
【請求項９】
請求項８に記載のアプリケーションプロセッサ（１１０）において、
センサユニットのマイクロプロセッサのクローズド環境において実行可能なプラグイン・プログラムセクションを識別するために、プラットフォーム独立型のプラグイン及び／又はプラグイン・プログラムモジュールを取り付け、プロファイリングを行うための手段、及び
これらのプラグイン・プログラムセクションを調整するための手段を備えるアプリケーションプロセッサ（１１０）。
【請求項１０】
請求項１から９のいずれか１項に記載の少なくとも１つのアプリケーションプロセッサ（１１０）を有するセンサシステム（１００）において、
前記プラットフォーム独立型のプラグイン（１３５）が、アプリケーションプロセッサ（１１０）の内部メモリ（１５０）、外部の記憶媒体（１６０）及び／又はクラウドに記憶されていることを特徴とするセンサシステム（１００）。
【請求項１１】
請求項１０に記載のセンサシステム（１００）を動作させる方法（２００）において、
少なくとも１つのプラットフォーム独立型のプログラムモジュール（プラグイン）（１３５）を前記アプリケーションプロセッサ（１１０）に提供し、
該アプリケーションプロセッサ（１１０）が、少なくとも１つのプラットフォーム独立型のプラグイン（１３５）に基づき、センサユニット（１０５）のマイクロプロセッサ（１２０）のクローズド環境（１２１）において実行可能な少なくとも１つのプラグイン・プログラムモジュール（１３５’）を提供し、
センサユニット（１０５）のメモリ（１２５）内に少なくとも１つのプラグイン・プログラムモジュール（１３５’）をロードし、センサユニット（１０５）の構成及びステータスが許可する場合には、センサユニット（１０５）のマイクロプロセッサ（１２０）のクローズド環境（１２１）内で実行する方法（２００）。
【請求項１２】
請求項１１に記載の方法（２００）において、
前記アプリケーションプロセッサ（１１０）が、前記少なくとも１つのプラットフォーム独立型のプラグイン（１３５）を、前記センサユニット（１０５）の前記マイクロプロセッサ（１２０）のクローズド環境（１２１）で実行可能な少なくとも１つのプラグイン・プログラムモジュール（１３５’）に変換し、該プラグイン・プログラムモジュール（１３５’）が前記センサユニット（１０５）の構成と互換性があるかどうかをチェックする方法（２００）。
【請求項１３】
請求項１２に記載の方法（２００）において、
少なくとも１つのプラットフォーム独立型のプラグイン（１３５）が少なくとも１つのプラグイン・プログラムモジュール（１３５’）に変換される場合及び／又はプラグイン・プログラムモジュール（１３５’）が実行される場合に、センサユニット（１０５）の構成及びステータス、及び／又はクローズド環境（１２１）の機能範囲に関するプログラム最適化を行う方法（２００）。
【請求項１４】
請求項１１から１３までのいずれか１項に記載の方法（２００）において、
前記プラグイン・プログラムモジュール（１３５’）の実行時にセンサシステム（１００）にとって欠陥のある、又は動作を妨げる挙動が検出されるか、又は予測可能である場合には、前記プラグイン・プログラムモジュール（１３５’）を前記センサユニット（１０５）のマイクロプロセッサ（１２０）及び／又は前記アプリケーションプロセッサ（１１０）によって非アクティブ化する方法（２００）。
【請求項１５】
請求項１１から１４までのいずれか１項に記載の方法（２００）において、
前記少なくとも１つのプラットフォーム独立型のプラグイン（１３５）及び／又は該プラットフォーム独立型のプラグインに基づく少なくとも１つのプラグイン・プログラムモジュール（１３５’）を、必要に応じて前記センサユニット（１０５）のメモリ（１２５）に再ロードできるように、前記センサユニット（１０５）の外部に記憶する方法（２００）。
【請求項１６】
請求項１１から１５までのいずれか１項に記載の方法（２００）において、
少なくとも１つのプラットフォーム独立プラグイン（１３５）及び／又は少なくとも１つのプラグイン・プログラムモジュール（１３５’）が、センサユニット（１０５）のマイクロプロセッサ（１２０）のクローズド環境（１２１）で実行することが不可能な場合に、少なくとも部分的にアプリケーションプロセッサ（１１０）のクローズド環境（１４７）で実行する方法（２００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサシステムに関する。特に、本発明は、処理装置が組み込まれたセンサシステムの処理制御に関する。
【背景技術】
【０００２】
センサシステムは、物理量をサンプリングするように構成されたセンサと、処理装置とを含む。処理装置は、物理量のサンプリングされた値を処理し、インタフェースによって外部に供給するように構成されている。センサ及び処理装置は、通常、集積密度を高め、信号経路を短縮するために共通のケーシングに組み込まれている。
【０００３】
外部からのセンサシステムの構成は、通常、構成メッセージによって実行することができる。この場合、例えば、パラメータを変更することができるか、又はセンサシステムの個々の部分をアクティブ化又は非アクティブ化することができる。
【０００４】
米国特許出願公開第２０１２／０２５４８７８号明細書は、センサシステム内に固定して設けられた異なる機能構成要素を外部から選択するか、又は互いに関連付けることができるセンサシステムを提案している。この場合、クローズドシステムが前提とされ、システムの機能範囲は始動前に一度だけ定義され、その後に構成されるのみである。機能範囲の拡張は行われない。
【０００５】
従来のセンサシステムでは、機能範囲はセンサシステム内に設けられた構成要素によって定義されている。機能範囲を後に変更すること、特に拡張することは不可能である。センサシステムをできるだけ自在に使用することが望ましい場合には、多くの異なる機能構成要素を設ける必要があり、このことが生産コストを高めることがある。少数の機能構成要素のみを設ける場合には、センサシステムを使用できる環境は少なくなる。本発明の基礎をなす課題は、できるだけ少ない労力によりできるだけ自在に使用することができる改良されたセンサシステムを提供することである。別の課題は、センサシステムのための適切な制御方法を示すことである。本発明は、独立請求項の対象によってこれらの課題を解決する。従属請求項は、好ましい実施形態を示す。
【発明の概要】
【０００６】
センサユニットは、測定値を検出し、センサ信号に変換するための少なくとも１つのセンサと、少なくとも１つのマイクロプロセッサと、センサ信号を処理するプログラムモジュールのための少なくとも１つのメモリであって、プログラムモジュールがマイクロプロセッサで実行可能なメモリと、外部のアプリケーションプロセッサとの少なくとも１つの通信インタフェースであって、プログラムモジュールがこの通信インタフェースを介してアクティブ化及び非アクティブ化可能であり、この通信インタフェースを介してさらなるプログラムモジュールがメモリにロード可能である通信インタフェースと、を含む。この場合、マイクロプロセッサは、プラグイン・プログラムモジュールを実行するための少なくとも１つのクローズド環境を含む。
【０００７】
マイクロプロセッサは、プラグイン・プログラムモジュールを実行するためのクローズド環境として少なくとも１つの仮想マシンを提供することができる。
【０００８】
マイクロプロセッサは、プラグイン・プログラムモジュールを実行するためのクローズド環境として少なくとも１つのサンドボックスを提供することができる。
【０００９】
複数のセンサのセンサ信号を処理するためにマイクロプロセッサを設けてもよい。
【００１０】
アプリケーションプロセッサは、上述のようなセンサユニットとの少なくとも１つの通信インタフェースを備える。この場合、センサユニットの構成及びセンサユニットのマイクロプロセッサのクローズド環境の特定の機能範囲は、アプリケーションプロセッサに知られている。センサ信号を処理するためのプラットフォーム独立型プログラムモジュールが記憶されている不揮発性メモリへのアクセス可能性があり、少なくとも１つのプラットフォーム独立型のプラグインに基づき、センサユニットのマイクロプロセッサのクローズド環境において実行可能な少なくとも１つのプラグイン・プログラムモジュールを提供するための手段が設けられている。さらに通信インタフェースを介してセンサユニットのメモリにこのようなプラグイン・プログラムモジュールを送信するための手段と、通信インタフェースを介してこれらのプラグイン・プログラムモジュールをアクティブ化及び非アクティブ化するための手段とが設けられている。
【００１１】
ここでいう「センサユニットの構成」とは、既存のセンサ、マイクロプロセッサ、及びメモリに関する情報である。「クローズド環境の機能範囲」は、仮想マシンであるか、サンドボックスであるか、又は任意の他のタイプのクローズド環境であるか、並びにどれだけのプログラムメモリが利用可能であるかを記述する。以下では、「プラグイン」は、常に、アプリケーションプロセッサがアクセスすることができるプラットフォーム独立型プログラムモジュールを指す。これらのプラグインは外部の記憶媒体に格納することもできる。「プラグイン・プログラムモジュール」は、センサユニットのマイクロプロセッサのクローズド環境で実行されるプラグインに基づいたプログラムモジュールである。クローズド環境が仮想マシンである場合、プラットフォーム独立型のプラグインは、仮想マシンに直接にロードし、実行することができる。この場合、プラグイン及びプラグイン・プログラムモジュールは、本質的に同一であってもよい。
【００１２】
上記提供するための手段は、プラットフォーム独立型のプラグインを、センサユニットのマイクロプロセッサのクローズド環境において実行可能な少なくとも１つのプラグイン・プログラムモジュールに変換するための手段を備えてもよい。変換には、例えば、外部のアプリケーションプロセッサのコンパイラを用いることができる。
【００１３】
プラットフォーム独立型のプラグインをプラグイン・プログラムモジュールに変換するための手段は、センサユニットの構成に関してプログラム最適化及び／又は互換性チェックを行うように構成されてもよい。
【００１４】
プログラム最適化は、機能を保持し、同時に待ち時間、電力消費及び／又はメモリ要件を低減しながらプログラムを変更することと理解される。あるいは、「余分な機能特性（待ち時間、電力消費、メモリ要件など）の効率を高めること」と言うこともできる。
【００１５】
プラットフォーム独立型のプラグイン及び／又はプラットフォーム独立型のプラグインに基づくプラグイン・プログラムモジュールを記憶するための手段を設けてもよい。
【００１６】
これにより、いったんダウンロードされたプラグイン及び／又は対応するプラグイン・プログラムモジュールは、アプリケーションプロセッサ又はセンサシステムの追加の記憶媒体にローカルに記憶することができる。この場合、プラグインは一度だけ提供するか、もしくはプラグイン・プログラムモジュールに変換する必要がある。さらに、プラグインを有するメモリへのアクセスがいつでも至る所で可能ではない場合であっても、プラグインもしくはプラグイン・プログラムモジュールを使用することができる。
【００１７】
さらに、プラットフォーム独立型のプラグイン及び／又はプラグイン・プログラムモジュールを実行するための少なくとも１つのクローズド環境がアプリケーションプロセッサに含まれてもよい。
【００１８】
有利には、アプリケーションプロセッサは、プラグインもしくはプラグイン・プログラムモジュールを実行するためのクローズド環境も含む。例えば、プラグインもしくはプラグイン・プログラムモジュールをセンサユニットのマイクロプロセッサのクローズド環境において、例えば、高利用率又は容量が小さすぎることにより実行できない場合には、代替的に、遥かに高性能のアプリケーションプロセッサのクローズド環境において、完全に、又は部分的にのみ（請求項１０）実行することができる。
【００１９】
センサユニットのマイクロプロセッサのクローズド環境で実行可能なプラグイン・プログラムセクションを識別するためのプラットフォーム独立型のプラグイン及び／又はプラグイン・プログラムモジュールを取り付け、プロファイリングを行うための手段と、これらのプラグイン・プログラムセクションを調整するための手段とを設けてもよい。
【００２０】
センサシステムは、本明細書で説明するように、少なくとも１つのセンサユニットと少なくとも１つのアプリケーションプロセッサとを含み、プラットフォーム独立型のプラグインは、アプリケーションプロセッサの内部メモリ、外部の記憶媒体、及び／又はクラウドに記憶されている。
【００２１】
従来技術とは異なり、本発明によるセンサシステムは、例えばＳＤカード又はクラウドなどの外部の記憶媒体によって提供されるプラットフォーム独立型のプラグインを実行することもできる。
【００２２】
さらに、上述のように、少なくとも１つのプラットフォーム独立型プログラムモジュールがアプリケーションプロセッサに提供され、アプリケーションプロセッサが、少なくとも１つのプラットフォーム独立型のプラグインに基づいて、センサユニットのマイクロプロセッサのクローズド環境において実行可能な少なくとも１つのプラグイン・プログラムモジュールを提供し、少なくとも１つのプラグイン・プログラムモジュールが、センサユニットのメモリにロードされ、センサユニットの構成及びステータスが許可する場合には、センサユニットのマイクロプロセッサのクローズド環境において実行される、センサシステムを動作させる方法が提供される。
【００２３】
この方法は、クローズド環境の利用を可能にすることができる。センサユニットのマイクロプロセッサ又はアプリケーションプロセッサにおいてこのようなクローズド環境でプラグインもしくはプラグイン・プログラムモジュールを実行する場合には、とりわけ、動作を妨げる欠陥のある挙動が検出されたか、又は予測可能である場合には、いつでも実行を停止することができる。この可能性は、最初は未知のプログラムコードを「危険性なしに」ダウンロードするための前提条件である。
【００２４】
アプリケーションプロセッサは、少なくとも１つのプラットフォーム独立型のプラグインを、センサユニットのマイクロプロセッサのクローズド環境において実行可能な少なくとも１つのプラグイン・プログラムモジュールに変換することができ、プラグイン・プログラムモジュールがセンサユニットの構成と互換性があるかどうかをチェックする。
【００２５】
少なくとも１つのプラットフォーム独立プラグインが少なくとも１つのプラグイン・プログラムモジュールに変換される場合及び／又はプラグイン・プログラムモジュールが実行される場合に、センサユニットの構成及びステータス、及び／又はクローズド環境の機能範囲に関するプログラム最適化を行うことができる。
【００２６】
プラグイン・プログラムモジュールは、プラグイン・プログラムモジュールの実行時にセンサシステムにとって欠陥のある、又は動作を妨げる挙動が検出されるか、又は予測可能な場合には、センサユニットのマイクロプロセッサ及び／又はアプリケーションプロセッサによって非アクティブ化することができる。
【００２７】
少なくとも１つのプラットフォーム独立型のプラグイン及び／又はプラットフォーム独立型のプラグインに基づく少なくとも１つのプラグイン・プログラムモジュールは、必要に応じてセンサユニットのメモリに再ロードできるように、センサユニットの外部に記憶することができる。
【００２８】
少なくとも１つのプラットフォーム独立型のプラグイン及び／又は少なくとも１つのプラグイン・プログラムモジュールは、センサユニットのマイクロプロセッサのクローズド環境で実行することが不可能な場合には、アプリケーションプロセッサのクローズド環境で少なくとも部分的に実行することができる。
【００２９】
これにより、サンプリングされた値の処理の機能範囲に後に影響を及ぼすことが可能になる。特に、センサシステムの使用目的に応じて処理を適応させることができる。適応は動作中に行うこともでき、例えば、処理が異なる状況において、サンプリングされた値の異なる可能である。
【００３０】
一般に、処理装置を比較的低電力で経済的に設計することができるように、センサは、極端に大量のデータをサンプリングしないことが好ましい。値の処理が実際のセンサにおいてより詳細に行われる程、それだけ省電力で処理を実現することができる。部分的に処理された情報を１つの処理装置から別の処理装置に伝送する度にエネルギー消費が上昇する場合もあり、約１０倍の上昇率が一般的である。センサは、例えば、温度センサ、湿度センサ、又は揮発性有機化合物（ＶＯＣ）センサを含むことができる。このために、センサは、特に半導体技術で構成することができる。処理装置は、好ましくは同様に半導体技術で構成されており、この場合、同じか、又は異なる半導体技術を使用することができる。
【００３１】
センサは、微小機械センサを含むことがさらに好ましい。このようなセンサは、センサによる測定を実行するための処理装置を必要とすることがある。このために、例えば、微小機械構成要素のバランスを調節するか、又は機械的励起を実施することができる。処理装置は、既存のアナログ測定値をデジタル測定値に変換し、さらに処理することができる。このために、例えば、アルゴリズム処理又は特性マップ制御による処理を行うことができる。
【００３２】
センサは、特に、慣性センサを含むことができる。特に、慣性センサは、微小機械加速度センサ又は回転速度センサを含むことができる。処理装置は、好ましくは、センサシステムの所定の動きを決定するように構成されている。センサシステムは、例えば、靴に取り付けるように構成することができ、所定の動きは、靴を着用する人のステップを含む。別の実施形態では、センサシステムは、携帯電話に取り付けるように構成されており、動きはジェスチャを含む。所定の動きの検出はセンサシステムによって良好に行うことができ、使用される処理装置は電力を節約するように構成することができる。センサシステムに接続された処理装置は、通常、はるかに大きな処理能力を有し、同じ決定のためにより多くの電気エネルギーを必要とする。外部の処理装置は、省エネルギー状態に移行することができるように、又は他の目的に使用することができるように良好に負荷を低減することができる。
【００３３】
処理装置は、インタフェースによって受信された方法の命令を実行するためのクローズド環境を提供することが特に好ましい。例えば、仮想マシンやサンドボックスを用いることができる。仮想マシンは、ホストマシンが対応するプログラムによって提供するプログラムの実行環境である。例えば、検出可能なハードウェア構成などの仮想マシン内の条件は、ホストマシンによって制御することができる。サンドボックス（砂箱、サンドケース）は、一般に、処理システムの隔離された領域を指し、この領域内では実行される措置は外部環境に影響を及ぼさない。クローズド環境は、悪意のある、又は誤った処理命令がセンサシステムに損傷を引き起こすこと、又はセンサシステムの有用性を低下させることを防止することができる。
【００３４】
処理装置は、所定量の処理命令を実行するように構成されており、クローズド環境は、所定量のサブセットの実行を防止することがさらに好ましい。例えば、処理命令は、特権命令と非特権命令とに分割してもよい。特権処理命令は、それらが以前にインタフェースを介して受信されていない場合にのみ、処理装置によって実行することができる。特権命令は、例えば、センサの構成へのダイレクトアクセス又はセンサの制御を含むことができる。以前にアップロードされた処理命令が特権命令を実行しようとする場合、実行は中断されるか、又は違反する命令又はプログラムが除去される。
【００３５】
別の好ましい実施形態では、センサシステムは、受信された処理命令を格納するためのローカルメモリをさらに備え、処理装置は、以前に受信した処理命令をメモリから除去するように構成されている。もはや必要とされない命令は、ローカルメモリがさらなる処理命令を収容するためのより多くの空きスペースを有するように、削除又は廃棄することができる。特に、センサシステムは、外部からプログラムすることができるだけでなく、処理プログラムを動的に取得又は修正することもできる。これにより、センサシステムの多種多様な機能を、比較的少ないローカルメモリによっても達成することができる。
【００３６】
記載されたセンサシステムを制御する方法は、インタフェースを介してセンサシステムに処理命令を供給するステップと、インタフェースによって、物理的測定値に基づいて決定された処理値を受信するステップとを含む。
【００３７】
処理命令は、状況、測定タスク、又は他の事情に応じて、センサシステムに動的にアップロードし、センサシステムで実行することができる。次いで、センサシステムの外部で、アップロードされた処理命令によって処理又は前処理された値を取り込むことができる。したがって、センサシステムに接続された処理システムは、良好に上位のタスクを実行することができ、測定値の詳細な処理は、センサシステムによって部分的に又は完全に実行することができる。
【００３８】
センサシステムによって実行可能な処理命令の環境の記述は、あらかじめ決定されていることが好ましい。処理命令は、センサシステムが処理命令を実行するように設定されている場合にのみセンサシステムに供給することができる。例えば、異なるセンサシステムが設けられていてもよく、これらのセンサシステムの環境は互いにサブセットを形成する。より小さいサブセットに含まれる処理命令は、両方のセンサシステムによって処理することができる。したがって、プログラムは、異なるセンサシステムで実行可能な命令を処理することによって作成することができる。
【００３９】
他方では、所与のセンサシステムの可能性を良好に、十分に利用するプログラムを作成することができる。
【００４０】
センサシステムが処理命令を実行するように設定されていない場合には、サンプリングされた物理量の値をインタフェースによって受信し、センサシステムの外部で処理してもよい。この場合、以前にアップロードされていない処理命令は、例えば、外部の処理装置によって実行することができる。言い換えれば、所定のセンサシステムにアップロードできないプログラムは、外部の処理装置自体によって実行することもできる。このために、センサシステム側の実施形態と比較して増大した電力要件が必要となることがあるが、実際の処理目標は、良好に達成することができる。
【００４１】
第１の変形例では、環境の記述をセンサシステム内に提供し、インタフェースによって供給することができる。外部の処理装置は、必要に応じて記述をダウンロードし、所与のプログラムがセンサシステムで実行可能であるかどうかをチェックすることができる。別の実施形態では、記述は、良好に更新又は調整することができるように、外部に提供されている。
【００４２】
以下に、添付の図面を参照して本発明をより詳細に説明する。
【図面の簡単な説明】
【００４３】
【図１】システムを示す図である。
【図２】図１のセンサシステムを制御する方法のフロー図である。
【発明を実施するための形態】
【００４４】
図１は、インタフェース１１５によって相互接続されたセンサシステム１０５及び処理システム１１０を有するシステム１００を示す。センサシステム１０５は、センサ１１８と、処理装置１２０と、随意にメモリ１２５とを備える。処理装置１２０は、好ましくは、プログラマブルマイクロコンピュータ又はマイクロプロセッサを含み、センサシステム１０５を制御するためのクローズド処理環境１２１を提供することができる。処理装置１２０は、センサ１１８及びインタフェース１１５に接続されている。メモリ１２５は、処理装置１２０に接続されており、インタフェース１１５を介したダイレクトアクセス（ＤＭＡ）１３０によって随意に読み書きすることができる。
【００４５】
センサ１１８は、好ましくは慣性センサであり、これとは独立して、好ましくは微小機械センサ（微小電気機械システム、ＭＥＭＳ）である。処理装置１２０は、センサ１１８によって測定プロセスを制御するように構成することができる。別の実施形態では、このために専用の別の処理装置が設けられている。測定プロセスを制御するために、例えば、特定の物理的条件（バランス、振動、予荷重）を生成することができるか、又は測定値をサンプリングし、必要に応じてあらかじめ処理することができる。センサ１１８によってサンプリングされた加速度又は回転速度などの物理量の値は、処理装置１２０によってさらに処理することができる。このために、特に、サンプリングされた値の経時的な波形を決定することができ、波形は、例えば、ステップ又は手の動きのような、検出されるべき動きに特徴的な場合もある所定の波形との類似性に関して調べることができる。
【００４６】
サンプリングされた値を処理するために、処理装置１２０は、処理装置１２０で処理方法を実施するプログラムを実行するように設定されている。プログラムは、通常、メモリ１２５に格納されている。このために、メモリ１２５は複数の領域を有していてもよく、これらの領域は、異なる条件下で、又は異なる権限を用いて、読み取り可能又は書き込み可能であってもよい。サンプリングされた物理量の値は、インタフェース１１５を介して外部に供給してもよいし、メモリ１２５にロードしてもよく、そこからインタフェース１１５を介してダイレクトメモリアクセス（ＤＭＡ）１３０によってダウンロードしてもよい。通常、インタフェース１１５を介して外部から処理装置１２０と通信し、例えば、処理パラメータを変更したり、メモリ１１５から値を取り込むなどのアクティビティの要求を送信したりすることも可能である。
【００４７】
センサ１１８のサンプリングされた値の処理を制御するプラグイン・プログラムモジュール１３５’を、インタフェース１１５を介してセンサシステム１０５にアップロードできることが提案される。さらに好ましくは、アップロードされたプラグイン・プログラムモジュール１３５’は、センサシステム１０５の所定の処理環境１２１の使用に限定されている。
【００４８】
プラグイン・プログラムモジュール１３５’の処理環境１２１は、好ましくは、プラグイン・プログラムモジュール１３５’が処理装置１２０又はセンサシステム１０５の完全な制御能力又は処理能力の一部のみを利用できるように制限されている。さらに好ましくは処理環境１２１が閉じられており、プラグイン・プログラムモジュール１３５’が処理環境１２１から離れることができず、特に、追加の特権を取得することができない。プラグイン・プログラムモジュール１３５’のための処理環境１２１の記述１４０は、一実施形態ではメモリ１２５に格納されており、例えばインタフェース１１５を介してランダムアクセス１３０によって呼び出すことができる。プラグイン・プログラムモジュール１３５’は、インタフェース１１５を介して、特にダイレクトアクセス１３０によって、メモリ１２５にロードすることができる。プラグイン・プログラムモジュール１３５’の実行又は構成は、同様にして、又は処理装置１２０との通信によって制御することができる。
【００４９】
別の処理装置１４５は、プラットフォーム独立型のプラグイン１３５を提供し、必要に応じてプラグイン・プログラムモジュール１３５’及び／又は少なくとも１つのクローズド処理環境１４７に変換するための少なくとも１つの手段１４６を提供することができる。処理環境１４７は、センサシステム１０５の処理装置１１０の処理環境１２１に対応することができる。さらに、プラットフォーム独立型のプラグイン及び／又はプラグイン・プログラムモジュールを格納することができる外部のメモリ１６０を、処理システム１１０に設けることができる。外部のメモリ１６０は、取外し可能な記憶媒体を含むことができる。
【００５０】
センサシステム１０５は、処理システム１１０に接続するように構成されている。通常、処理システム１１０は上位に位置し、センサシステム１０５よりもはるかに高性能の別の処理装置１４５を含む。例えば、センサシステム１０５及び処理システム１１０は、携帯電話などの共通の機器に含まれていてもよく、処理システム１１０は、画像の撮影又は表示、あるいは無線通信の実行など、携帯電話の他の多くの機能を制御するように構成されてもよい。処理システム１１０は、別のメモリ１５０を有することが好ましい。
【００５１】
処理システム１１０は、１つ以上のプラグイン・プログラムモジュール１３５’を提供することができ、これらのうちの１つを選択し、インタフェース１１５を介してセンサシステム１０５にアップロードすることができる。さらに、処理システム１１０は、センサシステム１０５のプラグイン・プログラムモジュール１３５’のための環境の記述１４０を提供することができる。
【００５２】
処理システム１１０は、例えば、イベント、状況、又は利用可能なリソースに応じて、プラグイン・プログラムモジュール１３５’を選択し、センサシステム１０５にアップロードし、実行を制御するようにさらに構成されていることが好ましい。以前にアップロードされたプラグイン・プログラムモジュール１３５’は、センサシステム１０５内の処理システム１１０によって削除又は無効にすることができる。アップロードの前に、処理システム１１０はプラグイン１３５もしくはプラグイン・プログラムモジュール１３５’が記述１４０に適合するかどうかを調べてもよい。適合しない場合には、プラグイン１３５を記述１４０に適合させることができ、これによりプラグイン・プログラムモジュール１３５’が得られるか、又はさらなる処理装置１４５によってプラグイン１３５をローカルに実行することができる。別の実施形態では、プラグイン１３５の一部をプラグイン・プログラムモジュール１３５’としてセンサシステム１０５にロードし、そこで実行し、他の部分を処理システム１１０で実行することもできる。
【００５３】
プラグイン１３５の部分間の通信は、好ましくはインタフェース１１５によって行われる。
【００５４】
図２は、図１のセンサシステム１０５を制御する方法２００のフロー図を示す。方法２００は、図１のシステム１００の１つ以上の構成要素で実行することができる。このために、方法２００は、割り当てられた処理装置１２０，１４５で実行されるように構成された１つ以上のコンピュータプログラム製品として提供してもよい。したがって、方法２００に関する特徴又は利点は、システム１００に適用することができ、逆もまた同様である。
【００５５】
ステップ２０５では、プラグイン１３５が処理システム１１０によって検出されるか、又は別のメモリ１５０に取り込まれる。一変形形態では、いくつかのプラグイン１３５が設けられており、例えば状況、測定値、又は別の基準に基づいて選択が行われる。
【００５６】
ステップ２１０では、選択されたプラグイン１３５を随意にさらに最適化することができる。このために、特に、プラグイン１３５をパラメータ化するか、又は使用されていない部分を除去することができる。
【００５７】
ステップ２１５において、好ましくは、選択されたプラグイン１３５と、センサシステム１０５でプラグイン１３５が実行されることが望ましい環境との互換性がチェックされる。このために、プラグイン１３５は、好ましくは、センサシステム１０５によってサポートされる処理環境１２１の記述１４０と比較される。必要であれば、このために、まず、センサシステム１０５から記述１４０をダウンロードすることができる。
【００５８】
ステップ２２０において、選択されたプラグイン１３５もしくはプラグイン・プログラムモジュール１３５’が環境と互換性がないと判定された場合、ステップ２２５において、処理システム１１０によってプラグイン１３５をローカルに実行してもよい。したがって、処理システム１１０は、実行に必要な環境を適宜に提供又はエミュレートすることができる。この場合、センサシステム１０５は、インタフェース１１５を介してプラグイン・プログラムモジュール１３５’を実施するのに必要なサンプリング値を供給するように構成することができる。
【００５９】
あるいは、ステップ２３０において、プラグイン・プログラムモジュール１３５’は、好ましくは、センサシステム１０５に送信される。ステップ２３５において、プラグイン・プログラムモジュール１３５’は、センサシステム１０５によって受信され、実行される前に必要に応じてメモリ１２５に格納される。実行は、インタフェース１１５を介して処理システム１１０のメッセージ又は要求として伝送することができる明示的なアクティブ化又は解除を必要とする場合がある。
【００６０】
ステップ２４０において、センサシステム１０５のプラグイン・プログラムモジュール１３５’の実行時にエラーが発生したかどうかをチェックすることができる。例えば、プラグイン・プログラムモジュール１３５の処理命令が、保護されたメモリ領域にアクセスしようとするか、さもなければ特権機能を実行しようとした場合にエラーが発生する可能性がある。エラーが検出されたか、又は予測可能である場合、ステップ２２５に分岐することでき、ステップ２２５でプラグイン・プログラムモジュール１３５’は停止されるか、除去されるか、又は処理システム１１０でローカルに実行するためにアクティブ化される。そうでなければ、ステップ２４５において、特に、アップロードされたプラグイン・プログラムモジュール１３５’がセンサシステム１０５で依然として必要であるかどうかを定期的にチェックすることができる。必要でない場合には、ステップ２５０においてプラグイン・プログラムモジュール１３５’を非アクティブ化することができる。
【図１】
0006849818.tif 000002
【図２】
0006849818.tif 000003