(57)【特許請求の範囲】
【請求項１】
デジタル出力センサであって、該デジタル出力センサは、
感知されたパラメータを表すデジタルデータを提供するためのセンサモジュールと、
該デジタルデータを伝送するための出力ポートと、
シングルポートメモリを有する先入れ先出し（ＦＩＦＯ）メモリバッファであって、該センサモジュールからの該デジタルデータは、単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプッシュされ、該デジタルデータは、該出力ポートによる受信のために、該単一のメモリポートを介して該ＦＩＦＯメモリバッファからポップされる、先入れ先出し（ＦＩＦＯ）メモリバッファと、
該センサモジュールと該シングルポートメモリとの間で動作可能に結合された出力保持レジスタであって、該単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプッシュされる前に、該センサモジュールからのデジタルデータを一時的に記憶するための出力保持レジスタと、
該シングルポートメモリと該出力ポートとの間で動作可能に結合された出力ステージングレジスタであって、該単一のメモリポートを介して該ＦＩＦＯメモリバッファからポップされたデジタルデータを一時的に記憶するための出力ステージングレジスタと、
該ＦＩＦＯメモリバッファを制御するコントローラと
を備え、
該コントローラは、
新しいデジタルデータが該出力保持レジスタにおいて準備が整っているか否かを決定することと、
新しいデジタルデータが該出力保持レジスタにおいて準備が整っている場合には、該出力保持レジスタからのデジタルデータを該単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプッシュすることと、
該出力保持レジスタにおいて準備が整っている新しいデジタルデータが存在しない場合には、該ＦＩＦＯメモリバッファからのデジタルデータを該単一のメモリポートを介して該出力ステージングレジスタにポップするか否かを決定し、ポップすると決定された場合には、該ＦＩＦＯメモリバッファからのデジタルデータを該単一のメモリポートを介して該出力ステージングレジスタにポップすることと
を行うように構成されている、デジタル出力センサ。
【請求項２】
前記コントローラは、前記出力ポートがビジー状態でなくなると、実質的にすぐに前記出力ステージングレジスタに前記デジタルデータをポップするように、前記ＦＩＦＯメモリバッファを制御する、請求項１に記載のデジタル出力センサ。
【請求項３】
前記デジタル出力センサが第２のモードにある場合に、前記ＦＩＦＯメモリバッファは、前記デジタルデータが、該ＦＩＦＯメモリバッファを通過することなく、前記出力保持レジスタから前記出力ステージングレジスタに転送されるように、バイパスされる、請求項１に記載のデジタル出力センサ。
【請求項４】
前記出力ポートは、前記センサモジュールのデジタルデータ出力速度よりも速いデータ転送速度を有する、請求項１に記載のデジタル出力センサ。
【請求項５】
前記デジタル出力センサは、ＭＥＭＳ加速度計を含む、請求項１に記載のデジタル出力センサ。
【請求項６】
データ入力を前記ＦＩＦＯメモリバッファにプッシュするときに、該ＦＩＦＯメモリバッファへの複数の書き込みが行われ、前記出力ポートにデータ入力をポップするときに、ＦＩＦＯメモリバッファからの複数の読み出しが行われるように、該ＦＩＦＯメモリバッファは、転送されるデータ入力の幅より狭い、請求項１に記載のデジタル出力センサ。
【請求項７】
請求項１に記載のデジタル出力センサを備える、チップ。
【請求項８】
デジタル出力センサ内にセンサデータを提供する方法であって、該方法は、
感知されたパラメータを表すデジタルデータを出力保持レジスタに提供することと、
シングルポートメモリを有する先入れ先出し（ＦＩＦＯ）メモリバッファに該デジタルデータを伝送することであって、該デジタルデータは、該出力保持レジスタから受信され、単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプシュされる、ことと、
該単一のメモリポートを介して該ＦＩＦＯメモリバッファから該デジタルデータを出力ステージングレジスタにポップすることと、
該出力ステージングレジスタから該デジタルデータを出力ポートに伝送することと
を含み、
該方法は、該ＦＩＦＯメモリバッファを制御することを含み、
該制御することは、
新しいデジタルデータが該出力保持レジスタにおいて準備が整っているか否かを決定することと、
新しいデジタルデータが該出力保持レジスタにおいて準備が整っている場合には、該出力保持レジスタからのデジタルデータを該単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプッシュすることと、
該出力保持レジスタにおいて準備が整っている新しいデジタルデータが存在しない場合には、該ＦＩＦＯメモリバッファからのデジタルデータを該単一のメモリポートを介して該出力ステージングレジスタにポップするか否かを決定し、ポップすると決定された場合には、該ＦＩＦＯメモリバッファからのデジタルデータを該単一のメモリポートを介して該出力ステージングレジスタにポップすることと
を含む、方法。
【請求項９】
前記ＦＩＦＯメモリバッファからのデジタルデータを、前記出力ステージングレジスタ内にポップすることは、前記出力ポートがビジー状態でなくなると実質的にすぐに生じる、請求項８に記載の方法。
【請求項１０】
ＭＥＭＳ加速度計によって慣性データを感知することをさらに含み、前記デジタルデータは、感知された慣性を表す、請求項８に記載の方法。
【請求項１１】
前記デジタル出力センサが第２のモードにある場合に、前記方法は、前記デジタルデータが、前記ＦＩＦＯメモリバッファを通過することなく前記出力保持レジスタから前記出力ステージングレジスタに転送されるように、該ＦＩＦＯメモリバッファをバイパスすることをさらに含む、請求項８に記載の方法。
【請求項１２】
前記デジタルデータを前記出力ポートを介して伝送することをさらに含み、前記感知されたパラメータを表すデジタルデータは、センサモジュールによって提供され、該出力ポートは、該センサモジュールのデジタルデータ出力速度よりも速いデータ転送速度を有する、請求項８に記載の方法。
【請求項１３】
データ入力を前記ＦＩＦＯメモリバッファにプッシュするときに、該ＦＩＦＯメモリバッファへの複数の書き込みが行われ、前記出力ポートにデータ入力をポップするときに、該ＦＩＦＯメモリバッファからの複数の読み出しが行われるように、該ＦＩＦＯメモリバッファは、転送されるデータ入力の幅よりも狭い、請求項８に記載の方法。
【請求項１４】
感知されたパラメータを表すデジタルデータを提供するためのセンサモジュールを有するデジタル出力センサを制御するために、コンピュータシステム上で使用するためのコンピュータプログラム製品であって、
該デジタル出力センサは、
該デジタルデータを伝送するための出力ポートと、
シングルポートメモリを有する先入れ先出し（ＦＩＦＯ）メモリバッファと、
該センサモジュールと該シングルポートメモリとの間で動作可能に結合された出力保持レジスタであって、単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプッシュされる前に、該センサモジュールからの該デジタルデータを一時的に記憶するための出力保持レジスタと、
該シングルポートメモリと該出力ポートとの間で動作可能に結合された出力ステージングレジスタであって、該単一のメモリポートを介して該ＦＩＦＯメモリバッファからポップされたデジタルデータを一時的に記憶するための出力ステージングレジスタと
をさらに含み、
該コンピュータプログラム製品は、コンピュータ可読プログラムコードを有するコンピュータ使用可能媒体を備え、
該コンピュータ可読プログラムコードは、
新しいデジタルデータが該出力保持レジスタにおいて準備が整っているか否かを決定するためのプログラムコードと、
新しいデジタルデータが該出力保持レジスタにおいて準備が整っている場合には、該出力保持レジスタからのデジタルデータを該単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプッシュするためのプログラムコードと、
該出力保持レジスタにおいて準備が整っている新しいデジタルデータが存在しない場合には、該ＦＩＦＯメモリバッファからのデジタルデータを該単一のメモリポートを介して該出力ステージングレジスタにポップするか否かを決定し、ポップすると決定された場合には、該ＦＩＦＯメモリバッファからのデジタルデータを該単一のメモリポートを介して該出力ステージングレジスタにポップするためのプログラムコードと
を含む、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権主張）
本願は、米国特許出願第１２／４１８，０９８号（２００９年４月３日出願、名称「ＤＩＧＩＴＡＬ  ＯＵＴＰＵＴ  ＳＥＮＳＯＲ  ＦＩＦＯ  ＢＵＦＦＥＲ  ＷＩＴＨ  ＳＩＮＧＬＥ  ＰＯＲＴ  ＭＥＭＯＲＹ」）に基づく優先権を主張する。該出願は、その全体が参照により本明細書に援用される。
【０００２】
（関連出願）
本願は、米国特許出願第１２／４０８，５４０号（２００９年３月２０日出願、名称「ＡＣＴＩＶＩＴＹ  ＤＥＴＥＣＴＩＯＮ  ＩＮ  ＭＥＭＳ  ＡＣＣＥＬＥＲＯＭＥＴＥＲＳ」）、米国特許出願第１２／４０８，５３６号（２００９年３月２０日出願、名称「ＭＡＮＡＧＥＭＥＮＴ  ＳＹＳＴＥＭ  ＦＯＲ  ＭＥＭＳ  ＩＮＥＲＴＩＡＬ  ＳＥＮＳＯＲＳ」）、および米国特許出願第１２／４０８，５３２号（２００９年３月２０日出願、名称「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＣＡＰＴＵＲＩＮＧ  ＡＮ  ＥＶＥＮＴ  ＩＮ  ＭＥＭＳ  ＩＮＥＲＴＩＡＬ  ＳＥＮＳＯＲＳ」）に関連する。これらの開示は、その全体が参照により本明細書に援用される。
【０００３】
（技術分野）
本発明は、概して、デジタル出力センサに関し、より具体的には、シングルポートメモリを伴うＦＩＦＯバッファを有する、ＭＥＭＳ慣性センサに関する。
【背景技術】
【０００４】
先入れ先出し（ＦＩＦＯ）バッファは、データをバッファするために、万能非同期送受信機（ＵＡＲＴ）等のシリアルインターフェースにおいてしばしば使用される。ＦＩＦＯバッファは、プロセッサが、データを落とすことなく、データを同期的に取得することを必要とする時、長い待ち時間を可能にする。ほとんどのデジタル出力センサは、ＦＩＦＯバッファがサンプルを格納する必要のない、時として読み出し専用である、ＩＣ−ＩＣ間（Ｉ２Ｃ）またはシリアルペリフェラルインターフェース（ＳＰＩ）等のシンプルなシリアルポートを有する。
【０００５】
ＦＩＦＯバッファは、多くの場合レジスタまたはフリップフロップのアレイを使用して実装される。通常、ＦＩＦＯバッファは、デュアルポートメモリを含み、デュアルポートメモリでは、新しいデータを追加するために１つのポートが使用され、古いデータを読み出すために別のポートが使用される。それぞれのポートは、追加のゲートおよび／またはトランジスタを追加し、その結果、所与のチップ上で比較的大きな領域を消費する。小型のＭＥＭＳ加速度計デジタル出力センサ等の、現代のデジタル出力センサが受ける領域の制約は、デュアルポートメモリの使用を妨げる。センサのＦＩＦＯ設計は、読み出しおよび書き込みが生じる時の両者間の非同期タイミングの可能性によって、さらに複雑である。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の一実施形態によると、デジタル出力センサは、感知されたパラメータを表すデジタルデータを提供するためのセンサモジュールと、シングルポートメモリを有する先入れ先出し（ＦＩＦＯ）メモリバッファと、デジタルデータを伝送するための出力ポートとを含む。センサモジュールからのデジタルデータは、単一のメモリポートを介してＦＩＦＯメモリバッファ内にプッシュされ、デジタルデータは、出力ポートによる受信のために、単一のメモリポートを介してＦＩＦＯメモリバッファからポップされる。
【０００７】
本発明の別の実施形態によると、センサデータをデジタル出力センサ内に提供する方法は、感知されたパラメータを表すデジタルデータを提供することを含む。デジタルデータは、単一のメモリポートを有する先入れ先出し（ＦＩＦＯ）メモリバッファに伝送され、ここでデジタルデータは受信されて、単一のメモリポートを介してＦＩＦＯメモリバッファ内にプッシュされる。デジタルデータは、出力ポートに伝送するために、単一のメモリポートを介してＦＩＦＯメモリバッファからポップされる。
【０００８】
本発明のさらなる実施形態によると、デジタル出力センサを制御するために、コンピュータシステム上で使用するためのコンピュータプログラム製品が提示される。デジタル出力センサは、感知されたパラメータを表すデジタルデータを提供するためのセンサモジュールと、デジタルデータを伝送するための出力ポートと、シングルポートメモリを有する先入れ先出し（ＦＩＦＯ）メモリバッファとを有する。コンピュータプログラム製品は、その上にコンピュータ可読プログラムコードを有する、コンピュータ使用可能媒体を含む。コンピュータ可読プログラムコードは、センサモジュールからのデジタルデータを、単一のメモリポートを介してＦＩＦＯメモリバッファ内にプッシュすることを制御するためのプログラムコードを含む。コンピュータ可読プログラムコードはさらに、出力ポートによる受信のために、単一のメモリポートを介してＦＩＦＯメモリバッファからデジタルデータをポップすることを制御するためのプログラムコードを含む。
【０００９】
いくつかの関連する実施形態では、デジタル出力センサは、センサモジュールとシングルポートメモリとの間で動作可能に結合される出力保持レジスタを含むことができる。出力保持レジスタは、単一のメモリポートを介してＦＩＦＯメモリバッファ内にプッシュされる前に、デジタルデータを一時的に記憶する。デジタル出力センサは、シングルポートメモリと出力ポートとの間で動作可能に結合される出力ステージングレジスタを含むことができる。出力ステージングレジスタは、出力ポートによる受信の前に、シングルポートメモリを介してＦＩＦＯメモリバッファからポップされたデジタルデータを一時的に記憶する。コントローラは、出力ポートがビジー状態でなくなると、実質的にすぐにデジタルデータを出力ステージングレジスタにポップするようにＦＩＦＯメモリバッファを制御することができる。デジタル出力センサは２つのモードを有することができ、デジタル出力センサが第１のモードにある場合に、出力保持レジスタは、単一のメモリポートを介してＦＩＦＯメモリバッファ内にプッシュされる前に、デジタルデータを一時的に記憶し、出力ステージングレジスタは、出力ポートによる受信の前に、単一のメモリポートを介してＦＩＦＯメモリバッファからポップされたデジタルデータを一時的に記憶する。デジタル出力センサが第２のモードにある場合に、ＦＩＦＯバッファは、デジタルデータが、ＦＩＦＯメモリバッファを通過することなく出力保持レジスタから出力ステージングレジスタに転送されるように、バイパスされる。
【００１０】
さらなる関連する実施形態では、出力ポートは、センサモジュールのデジタルデータ出力速度よりも早いデータ転送速度を有することができる。デジタル出力センサは、ＭＥＭＳ加速度計を含むことができる。ＦＩＦＯメモリバッファは、データ入力をＦＩＦＯメモリバッファにプッシュする時に、ＦＩＦＯメモリバッファへの複数の書き込みが行われ、また、データ入力を出力ポートにポップする時に、ＦＩＦＯメモリバッファからの複数の読み出しが行われるように、転送されるデータ入力の幅よりも狭い。出力ポートはシリアルポートとすることができる。デジタル出力センサは、単一のチップ上に設けることができる。
例えば、本発明は以下の項目を提供する。
（項目１）
感知されたパラメータを表すデジタルデータを提供するためのセンサモジュールと、
該デジタルデータを伝送するための出力ポートと、
シングルポートメモリを有する先入れ先出し（ＦＩＦＯ）メモリバッファであって、該センサモジュールからの該デジタルデータは、単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプッシュされ、該デジタルデータは、該出力ポートによる受信のために、該単一のメモリポートを介して該ＦＩＦＯメモリバッファからポップされる、先入れ先出し（ＦＩＦＯ）メモリバッファと
を備える、デジタル出力センサ。
（項目２）
前記センサモジュールと前記シングルポートメモリとの間で動作可能に結合される、出力保持レジスタであって、前記単一のメモリポートを介して前記ＦＩＦＯメモリバッファ内にプッシュされる前に、前記デジタルデータを一時的に記憶するための出力保持レジスタをさらに備える、項目１に記載のデジタル出力センサ。
（項目３）
前記シングルポートメモリと前記出力ポートとの間で動作可能に結合される、出力ステージングレジスタであって、該出力ポートによる受信の前に、前記単一のメモリポートを介して前記ＦＩＦＯメモリバッファからポップされた前記デジタルデータを一時的に記憶するための出力ステージングレジスタをさらに備える、項目１に記載のデジタル出力センサ。
（項目４）
前記出力ポートがビジー状態でなくなると、実質的にすぐに前記出力ステージングレジスタに前記デジタルデータをポップするように、前記ＦＩＦＯメモリバッファを制御するコントローラをさらに備える、項目３に記載のデジタル出力センサ。
（項目５）
前記センサモジュールと前記シングルポートメモリとの間で動作可能に結合される出力保持レジスタと、
該シングルポートメモリと前記出力ポートとの間で動作可能に結合される出力ステージングレジスタと
をさらに備え、
前記デジタル出力センサが第１のモードにある場合に、該出力保持レジスタは、前記単一のメモリポートを介して前記ＦＩＦＯメモリバッファ内にプッシュされる前に、前記デジタルデータを一時的に記憶し、該出力ステージングレジスタは、該出力ポートによる受信の前に、該単一のメモリポートを介して該ＦＩＦＯメモリバッファからポップされた該デジタルデータを一時的に記憶し、
該デジタル出力センサが第２のモードにある場合に、該ＦＩＦＯメモリバッファは、該デジタルデータが、該ＦＩＦＯメモリバッファを通過することなく、該出力保持レジスタから該出力ステージングレジスタに転送されるように、バイパスされる、
項目１に記載のデジタル出力センサ。
（項目６）
前記出力ポートは、前記センサモジュールのデジタルデータ出力速度よりも速いデータ転送速度を有する、項目１に記載のデジタル出力センサ。
（項目７）
前記デジタル出力センサは、ＭＥＭＳ加速度計を含む、項目１に記載のデジタル出力センサ。
（項目８）
データ入力を前記ＦＩＦＯメモリバッファにプッシュする時に、該ＦＩＦＯメモリバッファへの複数の書き込みが行われ、前記出力ポートにデータ入力をポップする時に、ＦＩＦＯメモリバッファからの複数の読み出しが行われるように、該ＦＩＦＯメモリバッファは、転送されるデータ入力の幅より狭い、項目１に記載のデジタル出力センサ。
（項目９）
項目１に記載のデジタル出力センサを備える、チップ。
（項目１０）
デジタル出力センサ内にセンサデータを提供する方法であって、
感知されたパラメータを表すデジタルデータを提供することと、
シングルポートメモリを有する先入れ先出し（ＦＩＦＯ）メモリバッファに該デジタルデータを伝送することであって、該デジタルデータは、受信され、単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプシュされる、ことと、
出力ポートに伝送するために、該単一のメモリポートを介して該ＦＩＦＯメモリバッファから該デジタルデータをポップすることと
を含む方法。
（項目１１）
前記デジタルデータを提供することは、前記デジタルデータを出力保持レジスタに提供することを含み、前記デジタルデータをＦＩＦＯメモリバッファに伝送することは、該デジタルデータを、前記単一のメモリポートを介して該出力保持レジスタから前記ＦＩＦＯメモリバッファにコピーすることを含む、項目１０に記載の方法。
（項目１２）
前記単一のメモリポートを介して前記ＦＩＦＯメモリバッファからのポップされたデジタルデータを、出力ステージングレジスタ内にコピーすることと、
該デジタルデータを、該出力ステージングレジスタにおいて前記出力ポート内にコピーすることと、
該デジタルデータを、該出力ポートにおいて伝送することと
をさらに含む、項目１１に記載の方法。
（項目１３）
前記ＦＩＦＯメモリバッファからのポップされたデジタルデータを、出力ステージングレジスタ内にコピーすることは、前記出力ポートがビジー状態でなくなると実質的にすぐに生じる、項目１２に記載の方法。
（項目１４）
ＭＥＭＳ加速度計によって慣性データを感知することをさらに含み、前記デジタルデータは、感知された慣性を表すデジタルデータである、項目１０に記載の方法。
（項目１５）
前記デジタル出力センサが第１のモードにある場合に、前記方法はさらに、
前記単一のメモリポートを介して前記ＦＩＦＯメモリバッファ内にプッシュされる前に、前記デジタルデータを出力保持レジスタ内に一時的に記憶することと、
前記出力ポートによる受信の前に、該単一のメモリポートを介して該ＦＩＦＯメモリバッファからポップされたデジタルデータを出力ステージングレジスタ内に一時的に記憶することと
を含み、
前記デジタル出力センサが第２のモードにある場合に、前記方法はさらに、
該デジタルデータが、該ＦＩＦＯメモリバッファを通過することなく該出力保持レジスタから該出力ステージングレジスタに転送されるように、該ＦＩＦＯメモリバッファをバイパスすることを含む、
項目１０に記載の方法。
（項目１６）
前記デジタルデータを、前記出力ポートを介して伝送することをさらに含み、該出力ポートは、前記センサモジュールのデジタルデータ出力速度よりも速いデータ転送速度を有する、項目１０に記載の方法。
（項目１７）
データ入力を前記ＦＩＦＯメモリバッファにプッシュする時に、該ＦＩＦＯメモリバッファへの複数の書き込みが行われ、前記出力ポートにデータ入力をポップするときに、該ＦＩＦＯメモリバッファからの複数の読み出しが行われるように、該ＦＩＦＯメモリバッファは、転送されるデータ入力の幅よりも狭い、項目１０に記載の方法。
（項目１８）
感知されたパラメータを表すデジタルデータを提供するためのセンサモジュールを有するデジタル出力センサを制御するために、コンピュータシステム上で使用するためのコンピュータプログラム製品であって、
該デジタル出力センサは、該デジタルデータを伝送するための出力ポートと、シングルポートメモリを有する先入れ先出し（ＦＩＦＯ）メモリバッファとをさらに含み、
該コンピュータプログラム製品は、コンピュータ可読プログラムコードを有するコンピュータ使用可能媒体を備え、
該コンピュータ可読プログラムコードは、該センサモジュールからの該デジタルデータを、単一のメモリポートを介して該ＦＩＦＯメモリバッファ内にプッシュすることを制御するためのプログラムコードと、該出力ポートによる受信のために、該単一のメモリポートを介して該ＦＩＦＯメモリバッファから該デジタルデータをポップすることを制御するためのプログラムコードとを含む、
コンピュータプログラム製品。
（項目１９）
前記デジタル出力センサは、出力保持レジスタをさらに含み、前記コンピュータプログラム製品は、
前記センサモジュールから前記出力保持レジスタへの前記デジタルデータの伝送を制御するためのプログラムコードをさらに備え、前記デジタルデータをプッシュすることを制御するためのプログラムコードは、前記単一のメモリポートを介した、該出力保持レジスタから前記ＦＩＦＯメモリバッファへの該デジタルデータのコピーを制御するためのプログラムコードを含む、項目１８に記載のコンピュータプログラム製品。
（項目２０）
前記デジタル出力センサは、出力ステージングレジスタをさらに含み、前記コンピュータプログラム製品は、
前記単一のメモリポートを介して前記ＦＩＦＯメモリバッファからポップされたデジタルデータを、該出力ステージングレジスタ内にコピーすることを制御するためのプログラムコードをさらに含む、項目１８に記載のコンピュータプログラム製品。
【図面の簡単な説明】
【００１１】
本発明の、上述の特徴は、添付の図面を参照しながら、以下の詳細な説明を参考にすることによってより容易に理解されるであろう。
【図１】図１は、本発明のさまざまな実施形態による、デジタル出力センサの概略ブロック図を示す。
【図２】図２は、本発明のさまざまな実施形態による、シングルポートメモリを介してＦＩＦＯメモリバッファ上にデジタルデータをプッシュおよびポップするプロセスを示す。
【図３】図３は、本発明のさまざまな実施形態による、ＦＩＦＯバッファバイパスモードにある場合、またはＦＩＦＯバッファが空である場合に、デジタルデータを転送するプロセスを示す。
【発明を実施するための形態】
【００１２】
例示的な実施形態において、小型で低出力のＦＩＦＯバッファを含むデジタル出力センサのためのシステムおよび方法が提示される。概して、システムおよび方法は、データを入力および出力するためのシングルポートメモリのみを有するＦＩＦＯメモリバッファを含む。例示的な実施形態の詳細は、以下に説明される。
【００１３】
図１は、本発明のさまざまな実施形態による、デジタル出力センサ１００の概略ブロック図を示す。デジタル出力センサ１００は、感知されたパラメータを表す信号を提供する、少なくとも１つのセンサ１０３を含む。感知されたパラメータは、当技術分野において知られている多種多様の測定可能な数量のうちのいずれか１つに関連し得、自動車、機械、航空宇宙産業、医学、製造、ゲーム機、携帯電話、携帯端末、およびロボット工学等の、さまざまな用途において使用することができる。
【００１４】
センサ１００は、限定はされないが、比較的サイズの小さいマイクロ電子システム（ＭＥＭＳ）とすることができ、測定されたパラメータにおける比較的小さな変化を検知する能力を有する。加速度計またはジャイロスコープ等のＭＥＭＳ慣性センサデバイスは、通常、１つまたは複数の固定された移動しない構造体と共に形成された、移動可能な慣性質量を採用する。たとえば、ＭＥＭＳ加速度計では、慣性質量は、基板の上の平面内にサスペンドされ、基板に対して移動可能であり得る。移動可能な構造体および固定された構造体は、移動可能な構造体が、加えられた力に応答して固定された構造体に対して、デバイスの所定の軸、たとえば、ｘ軸、ｙ軸、およびｚ軸に沿って移動する時に変化する容量を有する、キャパシタを形成する。
【００１５】
目下、限定はされないが、ゲーム機、携帯電話、携帯端末、および医療機器等の電子デバイスとのユーザの相互作用を観察するために、数ある中でも慣性センサを使用することができる。デバイス内の１つまたは複数の慣性センサは、特定の閾値を上回る移動または配向の変化を感知することができる。慣性センサは、デジタル出力センサを形成するために、デジタルエレクトロニクスと組み合わせることができ、デジタル出力センサは、通常、検知された移動に応答する外部のコンピュータまたはマイクロプロセッサと連動する単一のチップ上に実装される。
【００１６】
図１を再び参照すると、感知されたパラメータを表す信号であり、かつセンサ１０３によって提供された信号は、通常アナログ形式であり、センサ１０３に動作可能に結合されたＡＤ変換器１０５によってデジタルデータに変換される。ＡＤ変換器１０５からのデジタルデータは、任意選択によって、１つまたは複数のデジタルフィルタ１０７を使用してフィルタリングすることができる。
【００１７】
本発明の例示的な実施形態では、デジタルデータは、シングルポートメモリのみを有するＦＩＦＯメモリバッファ１１１内にプッシュされる。シングルポートメモリは、限定はされないが、ランダムアクセスメモリ（ＲＡＭ）を含むことができる。デュアルポートメモリとは対照的に、シングルポートメモリは有利なことに、実質的に少ないトランジスタを使用し、したがってチップ上ではるかに少ない領域を消費する。これは、スペースが重要な用途において重大なことである。同じクロック周期において、シングルポートメモリへの書き込みおよびシングルポートメモリからの読み出しの両方を同時に行うことができないため、読み出しおよび書き込みの非同期タイミング、ならびに読み出しおよび書き込みの並列処理の必要性は、重要である。シングルポートメモリに関連づけられる制御タイミングは、その実装形態に関して以下により詳細に論じる。
【００１８】
ＦＩＦＯメモリバッファ１１１内に記憶されたデジタルデータは、単一のメモリポートを介して出力ポート１１５に提供される。出力ポート１１５は、限定はされないが、ＩＣ−ＩＣ間（Ｉ２Ｃ）またはシリアルペリフェラルインターフェース（ＳＰＩ）等のシリアルポートとすることができる。当技術分野では知られているように、他のタイプのポートを利用することもできる。出力ポート１１５は、たとえば、デジタル出力センサ１００の外側にあるマイクロプロセッサとインターフェースをとることができる。外部プロセッサによって要求され、出力ポート１１５を介して外部プロセッサに出力されるデータは、通常、センサ１０３から出力されるデジタルデータと非同期性である。
【００１９】
本発明のさまざまな実施形態によると、出力保持レジスタ１０９および／または出力ステージングレジスタ１１３はそれぞれ、必要に応じて非同期読み出しおよび書き込みをより適合させるように、ＦＩＦＯメモリバッファへ入力するために、およびＦＩＦＯメモリバッファから出力するために使用することができる。たとえば、外部プロセッサは、ＦＩＦＯメモリバッファからデータを読み出すための贅沢な時間を費やすことなく、出力ポート１１５から非同期的にデータを読み出すことができる。そのような事例では、データは、単一のメモリポートを介してＦＩＦＯメモリバッファ１１１からポップされ、出力ポート１１５によって必要とされるまで、出力ステージングレジスタ１１３内に保持される。同様の様式で、たとえば、ＡＤ変換器１０５またはデジタルフィルタ１０７からのデジタルデータは、出力保持レジスタ１０９内に一時的に記憶することができ、ＦＩＦＯメモリバッファ１１１のシングルポートメモリが使用可能となるための十分な時間を提供することができる。
【００２０】
図２は、本発明のさまざまな実質的による、デジタルデータを、単一のメモリポートを介してＦＩＦＯメモリバッファ１１１上にプッシュおよびポップするプロセスを示す。図２に示されるプロセスは、出力ポート１１５の、出力ステージングレジスタ１１３からデータを転送するための速度が、出力保持レジスタ１０９において新しいデータの準備が整うまでの時間よりも早いという前提に基づくものとする。つまり、出力ステージングレジスタ１１３内に保持されたデータを転送するための、出力ポート１１５がビジー状態の時間は、新しいデータが出力保持レジスタ１０９において準備が整うまでにかかる時間よりも短い。出力ポート１１５がデータを要求する前に、出力ステージングレジスタ１１３においてデータが使用可能となることが強調される。
【００２１】
プロセスはステップ２０１で開始し、ここでは、出力保持レジスタ１０９において準備の整った新しいデータが存在するかどうかの判定がなされる。このステップ（および後に続くさまざまなステップ）は、デジタル出力センサ１００内の制御回路および／またはファームウェアによって行われ得る。より具体的には、デジタル出力センサ１００は、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサによって実行されるファームウェアを含むコントローラを含むことができる。さまざまな実施形態において、シングルポートメモリのために必要とされるタイミングが、他のコントローラと衝突することなく実現されるように、単一のコントローラが、データをＦＩＦＯメモリバッファにプッシュすることおよびＦＩＦＯメモリバッファからポップすることを制御する。
【００２２】
出力保持レジスタ１０９において、準備の整った新しいデータが存在しない場合、プロセスはステップ２０３に進み、ステップ２０３では、出力ポート１１５がデータを転送していてビジー状態にあるかどうかの判定がなされる。出力ポート１１５がデータを転送していない場合、プロセスはステップ２０１に戻る。出力ポート１１５がデータを転送していてビジー状態にある場合、プロセスはステップ２０５に進み、ステップ２０５では、プロセスは出力ポート１１５がビジー状態でなくなるまで待機する。出力ポート１１５がビジー状態でなくなると、ステップ２０７において、データは単一のメモリポートを介してＦＩＦＯメモリバッファ１１１から出力ステージングレジスタ１１３内にポップされる。この様式において、データは、出力ポート１１５がデータ転送を終えると実質的にすぐに、出力ステージングレジスタ１１３に対して使用可能となる。これは、通常、出力ポート１１５による出力ステージングレジスタ１１３の次の読み出しの前に、時宜を逃さず出力ステージングレジスタ１１３においてデータが使用可能になることを確実にする。データがＦＩＦＯメモリバッファ１１１から出力ステージングレジスタ１１３に転送されると、プロセスはステップ２０１に戻る。
【００２３】
再びステップ２０１を参照すると、出力保持レジスタ１０９において新しいデータの準備が整っている場合、プロセスはステップ２０９に進む。ステップ２０９において、出力保持レジスタ１０９内のデジタルデータは、単一のメモリポートを介して出力保持レジスタ１０９からＦＩＦＯメモリバッファ１１１内にプッシュされる。データをＦＩＦＯメモリバッファ１１１から出力ステージングレジスタ１１３に転送すると、プロセスはステップ２０１に戻る。
【００２４】
本発明のさまざまな実施形態において、デジタル出力センサ１００は、たとえば、上記に記載されるように出力保持レジスタ１０９および出力ステージングレジスタ１１３を使用して、データが、単一のメモリポートを介してＦＩＦＯメモリバッファ１１１へおよびＦＩＦＯメモリバッファから渡される第１のモードを含むことができる。さらに、デジタル出力センサ１００は、デジタルデータが、ＦＩＦＯメモリバッファ１１１を通過することなく、出力保持レジスタ１０９から直接、出力ステージングレジスタ１１３に転送されるように、ＦＩＦＯメモリバッファ１１１がバイパスされる第２のモードを含むことができる。
【００２５】
図３は、本発明のさまざまな実施形態によるプロセスを示し、ここでは、ＦＩＦＯメモリバッファ１１１はバイパスされ得る。これは、たとえば、ＦＩＦＯバッファバイパスモードの場合、またはＦＩＦＯメモリバッファ１１１が空である場合に生じ得る。プロセスは、ステップ３０１で開始し、ステップ３０１では、出力保持レジスタ１０９において準備の整った新しいデータが存在するかどうかの判定がなされる。図２に関して上記に説明されるように、図３に関連するステップは、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサによって実行されるファームウェアを含むコントローラによって行われ得る。
【００２６】
出力保持レジスタ１０９において新しいデータの準備が整うと、プロセスはステップ３０３に進む。ステップ３０３では、出力ポート１１５がビジー状態にある（たとえば、出力ポート１１５においてデジタルデータの読み出しおよび伝送が行われている）かどうかの判定がなされる。出力ポート１１５がビジー状態ではない場合、データは、ステップ３０５において、出力保持レジスタ１０９から出力ステージングレジスタ１１３にコピーされる。
【００２７】
本発明のさまざまな実施形態において、ＦＩＦＯメモリバッファ１１１は、データ入力をＦＩＦＯメモリバッファ１１１にプッシュする時に、ＦＩＦＯメモリバッファ１１１への複数の書き込みが行われ、データ入力を出力ポートにポップする時に、ＦＩＦＯメモリバッファ１１１からの複数の読み出しが行われるように、転送されるデータ入力の幅よりも狭いものであり得る。たとえば、センサ１０３は、Ｘ、Ｙ、およびＺ方向における加速度を測定する加速度計であり得る。ＦＩＦＯメモリバッファ１１１の幅は、Ｘ、Ｙ、およびＺ方向のうちの１つのみと関連づけられたデータを記憶するのに十分な幅であり得る。したがって、データが、単一のメモリポートを介してセンサからＦＩＦＯメモリバッファ１１１内に読み出されるたびに、または、単一のメモリポートを介してＦＩＦＯメモリバッファ１１１から出力ポート１１５に転送されるたびに、Ｘ、Ｙ、およびＺのデータセットのすべてを転送するために３回の読み出しまたは書き込みが行われ得る。単一のワードの読み出し操作のみが行われる場合、データに相当する他の２つの軸は失われる。したがって、３つの軸データは、ＦＩＦＯメモリバッファ１１１内に、限定はされないが、３つのクロック周期を使用し得る、バースト読み出しまたはバースト書き込みで、読み出され得るか、または書き込まれ得る。さまざまな実施形態において、データセットに対応するために複数の出力保持レジスタまたは複数の出力ステージングレジスタが存在し得る。
【００２８】
実施形態は、コンピュータシステムと共に使用するためのコンピュータプログラムとして実装することができる。そのような実装形態は、コンピュータ可読媒体（たとえば、ディスケット、フラッシュメモリ、ＣＤ−ＲＯＭ、ＲＯＭ、もしくは固定ディスク）等の有形的表現媒体上に固定される一連のコンピュータ命令、または、媒体にわたるネットワークに接続された通信アダプタ等の、モデムもしくは他のインターフェースデバイスを介してコンピュータシステムに伝送可能な一連のコンピュータ命令のいずれかを含むことができる。媒体は、有形的表現媒体（たとえば、光通信回線もしくはアナログ通信回線）または無線技術（たとえば、マイクロ波伝送、赤外線伝送、もしくは他の伝送技術）を用いて実装される媒体のいずれかとすることができる。一連のコンピュータ命令は、本方法およびシステムに関して本明細書において上記に説明される機能性のすべてまたは一部を含むことができる。そのようなコンピュータ命令は、多数のコンピュータアーキテクチャまたはコンピュータの基本ソフトで使用される、多くのプログラミング言語で書き込まれ得ることが、当業者には理解されるであろう。たとえば、実施形態は、手続き型プログラミング言語（たとえば、「Ｃ」）またはオブジェクト指向プログラミング言語（たとえば、「Ｃ＋＋」）で実装することができる。本発明の代替的な実施形態は、あらかじめプログラムされたハードウェア要素として、他の関連するコンポーネントとして、またはハードウェアコンポーネントとソフトウェアコンポーネントとの組み合わせとして、実装することができる。
【００２９】
さらに、そのような命令は、半導体メモリデバイス、磁気メモリデバイス、光メモリデバイス、または他のメモリデバイス等の、あらゆるメモリデバイス内に記憶させることができ、光伝送、電磁波伝送、または他の伝送技術等の、あらゆる通信技術を使用して伝送することができる。そのようなコンピュータプログラムは、添付の印刷文書または電子文書を伴う取り外し可能な媒体（たとえば、市販のパッケージソフトウェア）として流通させることができ、コンピュータシステムに（たとえば、システムＲＯＭ上または固定ディスク上に）あらかじめロードすることもでき、あるいは、ネットワーク上（たとえば、インターネットまたはワールドワイドウェブ）のサーバもしくは電子掲示板から流通させることもできることが見込まれる。このように、本発明のいくつかの実施形態は、ハードウェア、ソフトウェア（たとえば、コンピュータプログラム）、またはソフトウェアおよびハードウェアの両方の組み合わせとして実装することができる。
【００３０】
上記に説明された本発明の実施形態は、例を意図するものに過ぎず、多くの変形形態および変更形態が当業者には明らかとなるであろう。そのような変形形態および変更形態のすべては、添付の特許請求の範囲のうちのいずれかにおいて定義される本発明の範囲内に含まれるものとする。
【図１】
0005683567.tif 000002
【図２】
0005683567.tif 000003
【図３】
0005683567.tif 000004