(57)【特許請求の範囲】
【請求項１】
デジタルプロセッサを複数のアナログデバイスとインターフェイス接続する方法であって、
動的再構成可能なフロントエンド回路が、アナログセンサデータを提供する、タイプが異なる複数のセンサからデータをサンプリングすることであり、前記フロントエンド回路は前記複数のセンサとインターフェイスするアナログインターフェイスコンポーネントとプリプロセッサコンポーネントとを含み、サンプリングは前記複数のセンサから未処理のアナログ入力信号を取得する、ことと、
前記プリプロセッサコンポーネントが、サンプリングされたアナログ入力信号を解析することであり、前記複数のセンサのアナログ入力信号の品質を判定することを含む、ことと、
前記プリプロセッサコンポーネントによる前記解析に基づき、前記プリプロセッサコンポーネントから前記複数のアナログインターフェイスコンポーネントへ制御信号を送り、前記フロントエンド回路の設定を動的に調整することであり、前記フロントエンド回路を、タイプが異なるセンサとインターフェイスする異なる設定で動的に再設定することを含む、ことと
を有する方法。
【請求項２】
複数のセンサからデータをサンプリングすることは、電圧モード信号を供給する少なくとも１つのセンサからのデータをサンプリングすることを有する、
請求項１に記載の方法。
【請求項３】
複数のセンサからのデータをサンプリングすることは、電流モード信号を供給する少なくとも１つのセンサからのデータをサンプリングすることを有する、
請求項１に記載の方法。
【請求項４】
前記アナログ入力信号を解析することは、予備的処理をされた入力信号を関連するプロセッサへ送るべきか、又は前記入力信号をドロップすべきかを判定することを更に有する、
請求項１に記載の方法。
【請求項５】
前記アナログ入力信号をデジタル信号に変換することをさらに有し、
前記アナログ入力信号を解析することは、変換されたデジタル信号に、デジタルフィルタリング、信号平滑化、離散フーリエ変換、又は信号特徴認識のうちの１つ以上を実行することを有する、
請求項１に記載の方法。
【請求項６】
前記制御信号を送ることは、増幅器ゲイン制御信号、増幅器帯域幅制御信号、増幅器の一部分をシャットダウンする信号、入力マルチプレクサ制御信号、アナログ−デジタル変換器サンプリングレート制御信号、ウェイクアップ信号、又はスリープ信号のうちの１つ以上を送ることを有する、
請求項１に記載の方法。
【請求項７】
単一のアナログ−デジタル変換器が、前記複数のアナログ入力信号を多重化すること
を更に有する請求項１に記載の方法。
【請求項８】
フロントエンド回路であって、
アナログセンサデータを供給する、タイプが異なる複数のセンサから複数の未処理のアナログ入力信号を受信する複数のアナログ入力ハードウェアインターフェイスと、
前記アナログ入力信号をサンプリングするアナログ−デジタル変換（ＡＤＣ）回路と、
サンプリングされたアナログ入力信号を解析し、サンプリングされたアナログ入力信号の解析に応じて、前記ＡＤＣ回路に制御信号を送り、前記フロントエンド回路の設定を動的に調整する信号制御及び処理ブロック（ＳＣＰ）であり、前記調整は前記フロントエンド回路を、タイプが異なるセンサとインターフェイスする異なる設定で動的に再設定することを含む、信号制御及び処理ブロックと
を有するフロントエンド回路。
【請求項９】
前記複数のアナログ入力ハードウェアインターフェイスは、少なくとも１つの電圧モード信号入力を含む、
請求項８に記載のフロントエンド回路。
【請求項１０】
前記複数のアナログ入力ハードウェアインターフェイスは、少なくとも１つの電流モード信号入力を含む、
請求項８に記載のフロントエンド回路。
【請求項１１】
前記ＳＣＰは、予備的処理をされた入力信号を関連するプロセッサへ送るべきか又は前記入力信号をドロップすべきかどうかを判定することを含めて、前記アナログ入力信号を解析する、
請求項８に記載のフロントエンド回路。
【請求項１２】
前記ＳＣＰは、デジタルフィルタリング、信号平滑化、離散フーリエ変換、又は信号特徴認識のうちの１つ以上を実行することを含めて、前記アナログ入力信号を解析する、
請求項８に記載のフロントエンド回路。
【請求項１３】
前記ＳＣＰは、増幅器ゲイン制御信号、増幅器帯域幅制御信号、増幅器の一部分をシャットダウンする信号、入力マルチプレクサ制御信号、アナログ−デジタル変換器サンプリングレート制御信号、ウェイクアップ信号、又はスリープ信号のうちの１つ以上を送ることを含めて、前記制御信号を送る、
請求項８に記載のフロントエンド回路。
【請求項１４】
前記ＳＣＰは、前記アナログ入力信号が増幅される必要がないとの解析に基づく決定に応答して、入力に増幅器をバイパスさせるよう前記制御信号を送る、
請求項８に記載のフロントエンド回路。
【請求項１５】
前記複数のアナログ入力信号を単一のアナログ−デジタル変換器へと多重化するマルチプレクサ
を更に有する請求項８に記載のフロントエンド回路。
【請求項１６】
システムであって、
フロントエンド回路であって、アナログセンサデータを供給する、タイプが異なる複数のセンサから複数の未処理のアナログ入力信号を受信する複数のアナログ入力ハードウェアインターフェイスと、前記アナログ入力信号をサンプリングするアナログ−デジタル変換（ＡＤＣ）回路と、サンプリングされたアナログ入力信号を解析し、サンプリングされたアナログ入力信号の解析に応じて、前記ＡＤＣ回路に制御信号を送り、前記フロントエンド回路の設定を動的に調整する信号制御及び処理ブロック（ＳＣＰ）であり、前記調整は前記フロントエンド回路を、タイプが異なるセンサとインターフェイスする異なる設定で動的に再設定することを含む、信号制御及び処理ブロックとを有するフロントエンド回路と、
前記フロントエンド回路へ結合され、該フロントエンド回路からアナログ入力信号サンプルを受信するプロセッサと、
前記プロセッサへ結合され、前記フロントエンド回路で受信されたデータに基づき視覚的に認知可能な出力を生成する高精細ディスプレイと
を有するシステム。
【請求項１７】
コンピュータで実行される場合に、該コンピュータに、請求項１乃至７のうちいずれか一項に記載の方法を実施させるコンピュータプログラム。
【請求項１８】
光検出及びレンジングのための装置であって、
請求項１乃至７のうちいずれか一項に記載の方法を実行する動作を実施する手段を有する装置。
【請求項１９】
請求項１７に記載のコンピュータプログラムを記憶しているコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、Ｉ／Ｏインターフェイスと概して関係があり、特に、動的に構成可能なアナログフロントエンド回路と関係がある。
【０００２】
［著作権の通知／許諾］
本特許文献の開示の部分は、著作権保護の対象である構成要素を含み得る。著作権所有者は、特許商標庁の特許出願又は記録において現れるような特許文献又は特許開示の何者かによる再現に異議はないが、その他の点では、何であれ全ての著作権を留保する。著作権の通知は、以下の記載及びそれに関する添付の図面で記載される全てのデータに並びに以下で記載されるあらゆるソフトウェアに当てはまる。コピーライト２０１４、インテルコーポレーション、全著作権所有。
【背景技術】
【０００３】
モバイルデバイスの数及びそれらのデバイスによって提供される機能の範囲は、著しく増えてきている。モバイルデバイスは、スマートフォン、拡張現実ヘッドセット若しくは同様のもの、時計、又は他のウェアラブルデバイスのようなウェアラブルデバイス、及び携帯型のコンピュータ、読書デバイス及び／又はゲーム機のようなデバイスを含むことができる。それらのモバイルデバイスは、センサ及び環境検出装置（概して本願ではセンサと呼ばれる。）の数を増やすことによって、インターフェイスの改善及び機能の増加を提供する。センサは、通常は、アナログ出力（可変電圧及び／又は可変電流のいずれかの出力）を生成する。アナログ出力は、それがデジタル処理コンポーネント（マイクロコントローラ、デジタル信号プロセッサ、又は他の処理デバイス）によって処理され得る前に、デジタル形式へ最初に変換されるべきである。センサの例は、モーションセンサ、加速度計、温度センサ、ジャイロスコープ、位置センサ、光検出器、音響／雑音検出器、又は他のセンサを含むことができる。
【０００４】
センサからの入力は、モバイルデバイスが機能の増加及び／又はユーザインターフェイス経験の改善を提供するための有益な情報を提供することができ、一方で、そのようなセンサを使用することには費用が伴うことが理解されるだろう。より具体的には、センサの使用が増えることは、センサを収容するために、モバイルデバイスに必要とされるサイズを大きくする。サイズの増大に加えて、センサは、特に変換インターフェイス（アナログインターフェイス）において、電力を必要とする。いくつかのセンサは、ネイティブなアナログ出力（連続値信号）をデジタル出力（離散信号）に変換するための内蔵アナログインターフェイスを備える。しかし、そのような機能は、センサのサイズ及び電力要件を増大させる。従来、夫々のセンサは、異なる出力、センサの感度レベル、アナログ出力のタイプ若しくは他のインターフェイスタイプ、及び／又は他の要件に基づき、インターフェイス接続するための異なる要件を有する。そのような違いは、相当なインターフェイス接続の不効率を生じさせ得る。
【図面の簡単な説明】
【０００５】
以下の記載は、本発明の実施形態を一例として示す図の説明を含む。図面は、限定としてではなく、一例として理解されるべきである。本願で使用されるように、１つ以上の「実施形態」への言及は、本発明の少なくとも１つの実施に含まれる特定の機能、構造、及び／又は特性を記載するものとして理解されるべきである。よって、本願において現れる「一実施形態において」又は「代替の実施形態において」との表現は、本発明の様々な実施形態及び実施を記載し、必ずしも全てが同じ実施形態に言及するわけではない。なお、それらはまた、必ずしも相互に排他的ではない。
【０００６】
【図１】動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。
【０００７】
【図２Ａ】多重化された動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。
【０００８】
【図２Ｂ】複数の入力経路を表す、多重化された動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。
【０００９】
【図３Ａ】システム・オン・チップにおいて動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。
【００１０】
【図３Ｂ】プロセッサにおいて動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。
【００１１】
【図４】動的にプログラム可能なアナログフロントエンド回路を用いてインターフェイス接続するプロセスの実施形態のフロー図である。
【００１２】
【図５】動的にプログラム可能なアナログフロントエンド回路が実装され得るコンピュータシステムの実施形態のブロック図である。
【００１３】
【図６】動的にプログラム可能なアナログフロントエンド回路が実装され得るモバイルデバイスの実施形態のブロック図である。
【００１４】
以下に続く特定の詳細及び実施の記載は、以下で記載される実施形態のいくつか又は全てを表す図の説明を含むとともに、本願で提示される発明概念の他の起こり得る実施形態又は実施を説明する。
【発明を実施するための形態】
【００１５】
本願で記載されるように、アナログフロントエンド（ＡＦＥ：analog  frontend）回路インターフェイスは、複数の異なるアナログデバイスとインターフェイス接続するよう動的にプログラム可能である。ＡＦＥ回路は、様々な異なるアナログデバイスからの入力をモニタし、そのインターフェイス回路を、夫々の異なるアナログデバイスとインターフェイス接続する有効性の改善のために、動的に構成する。ＡＦＥは、複数の未処理のアナログ入力信号を受信し、アナログ入力信号をサンプリングする。ＡＦＥにおけるプロセッサ要素は、入力信号を解析し、解析に基づき制御信号を生成する。制御信号は、如何にしてＡＦＥがアナログ入力信号をサンプリングするかを動的に調整し、ＡＦＥの動作効率を改善することができる。プロセッサは、ＡＦＥがサンプリングするセンサの帯域幅（例えば、ヘルツからキロヘルツの速さ）よりも相当に速い速さ（例えば、メガヘルツの速さ）で動作することができる。よって、ＡＦＥは、複数の異なるデバイスのアナログ出力をサンプリングすることができる。一実施形態において、回路は、空間及び電力消費を更に減らすよう入力を多重化する。
【００１６】
一実施形態において、ＡＦＥは、センサをセンサハブ及び／又はマイクロコントローラ若しくは他のプロセッサへインターフェイス接続する。従来、そのようなインターフェイスは、デジタル（例えば、Ｉ２Ｃ（集積回路）、ＳＰＩ（serial  peripheral  interface）（シリアル・ペリフェラル・インターフェイス））及びアナログ入力チャネルの組み合わせを含んでいた。センサデータがデジタルインターフェイス上でやり取りされる場合に、センサ信号の何らかの増幅及びデジタル化は、従来は、センサパッケージ内で実行されている。よって、センサを含むシステムの設計者は、従来は、いつどのように信号がサンプリングされるかに対してほとんど又は全く制御を有さない。信号サンプリングに対する制御が限られている結果として、電力最適化は、従来は、センサ製造者によって提供されるフック（hooks）（マイクロコントローラへのシグナリングのためのインタラプト）に制限されている。対照的に、本願で記載される動的にプログラム可能な又は再プログラム可能なＡＦＥは、ＡＦＥ内にサンプリング制御を持ち込むことができる。生のセンサデータを受け取ることによって、ＡＦＥは、増幅、帯域幅、サンプリングレート、分解能、使用される増幅器の数及びタイプ、並びに／又は他のパラメータを含め、入力サンプリングを制御することができる。
【００１７】
アナログ出力を有するいくつかのセンサは、マイクロコントローラ上でアナログ−デジタル変換器（ＡＤＣ；analog-digital  converter(s)）と直接にインターフェイス接続され得る。しかし、マイクロコントローラ上のＡＤＣ分解能は、センサが使用されるシステムに十分な情報を提供するにはしばしば不十分である。従来のアプローチは、限られたＡＤＣ分解能を緩和するようシステムレベルでディスクリート増幅器を加えてきたが、そのような増幅器の付加は、部品表（ＢＯＭ；bill  of  materials）コスト及び完成品サイズを増大させる。アナログセンサ信号とインターフェイス接続することに対する他の従来のアプローチは、内部のプログラム可能なアナログブロックを備えたシステム・オン・チップ（ＳｏＣ；system  on  a  chip）を使用することを含む。そのような従来のプログラム可能なアナログシステムは柔軟性があり、リソースを共有し且つ設定を調整するようランタイムで再構成され得る（動的再構成と呼ばれる。）。しかし、従来の動的再構成は、相当の時間を要し（再構成ごとにミリ秒のオーダー）、且つ／あるいは、メインプロセッサ又はマイクロコントローラからの介入を必要とする。時間の量及び／又は介入は、変化する割合で変化しうる種々の要件（例えば、温度センサ対加速度計）を夫々のセンサが有する低電力マルチセンサアプリケーションにうまく適さない。
【００１８】
従来の動的再構成と対照的に、本願で記載されるＡＦＥインターフェイスによって達成可能な動的再構成は、ＡＦＥの動作に対するマイクロ秒の調整を、ＡＦＥに制限されたコンポーネントにより可能にする。よって、動的に構成可能なマルチセンサＡＦＥは、よりずっと速い再構成を可能にし、一次プロセッサからの外部入力を必要としない。一実施形態において、ＡＦＥは、受信された入力信号に更にフィルタをかけ、一次プロセッサにとって関心がない信号又は信号の部分を捨てる。ＡＦＥは、複数の異なるアナログデバイスのための単一のインターフェイス回路と組み合わされた増幅、信号多重化、及びサンプリング制御を含むことができる。一実施形態において、ＡＦＥコントローラ又は制御ロジックは、最大効率のために冗長サンプルを最小限にしながら、センサデータの品質を改善又は最適化するようＡＦＥ構成を連続的に更新することができる。「最適化する（optimize）」及び「最小限にする（minimize）」のような表現は相対語であって、絶対的な最大又は最小が達成されることを必ずしも意味するものではないことが理解されるだろう。むしろ、「最適化する」及び「最小限にする」は、システムの構成及び動作、並びに所与の時間制約内で利用可能な処理能力の量を含む、センサ入力の最近の履歴に基づき、現在の条件に最も良く合うレベルを達成することを意味する。よって、最適条件又は最小値は、システムアーキテクチャに組み込まれている許容値内に制約され得る。ＡＦＥ内にサンプリング制御を含めることは、より低い船体の電力消費を可能にし、センサの集合とセンサデータを使用するセンサハブ／プロセッサとの間の必要とされるデータ帯域幅を低減することができる。
【００１９】
図１は、動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。システム１００は、複数のセンサが使用され得る如何なるタイプのシステムも表し、フロントエンド回路１２０へ結合された複数のセンサ１１０を含む。フロントエンド回路１２０は、それからプロセッサ１３０へ結合されている。プロセッサ１３０は、システム１００における一次若しくはメインプロセッサ又はマイクロコントローラであり、フロントエンド回路１２０と関連するか又はそれに対応すると考えられ得る。プロセッサ１３０は、フロントエンド回路１２０へ直接に結合されるか、あるいは、センサハブ又は同様の回路を介してフロントエンド回路１２０へ結合されてよい。プロセッサ１３０は、センサ１１０から集められたデータに基づき動作を実行し、よって、センサデータを使用するコンポーネントであると言われ得る。
【００２０】
センサ１１０は、データをプロセッサ１３０へ供給する。データは、環境データ（動き、温度、周囲光、若しくは他のデータ）、バイオメトリックデータ（心拍数、脈拍、皮膚メトリクス、指紋、光学読み取り情報、若しくは他のバイオメトリック情報）、又は条件及び／若しくはユーザに関して検出された他のデータのうちの１つ以上を含むことができる。センサ１１０は、アナログ出力を生成する少なくとも１つのコンポーネントを含む。一実施形態において、センサ１１０の１つ以上は、センサパッケージ内にアナログインターフェイス回路を含む。そのようなローカルのアナログインターフェイス回路によって提供される処理のレベルは、最小限であることができ、あるいは、より重要であることができる（例えば、デジタル出力を提供すること）。センサ１１０の例は、加速度計、モーションセンサ、ジャイロスコープ、温度センサ、位置センサ、光検出器、音響／雑音検出器、又は他のセンサを含むことができる。
【００２１】
システム１００は、相対的なタイミング周期の表現を含む。示されている２つのセンサ１１０は、アナログ入力をフロントエンド回路１２０へ供給する。一実施形態において、２つのセンサのタイミング周期は、図示されるように、わずかに異なっている（周期の１つは、破線によって表されている相対的なゼロ交差によって示されるように、他方よりもわずかに短い。）。しかし、２つのセンサのための２つの周期は、それらの動作の周期が同様である点において、同程度である。センサ１１０の動作の周波数を、よりずっと高い動作の周波数を有するものとして表されているプリプロセッサ１２４及びプロセッサ１３０と対比する。図示される特定の周波数は限定ではなく、必ずしも正確な縮尺ではない。しかし、プロセッサの動作の周波数と、センサ１１０からの関心のあるデータの周波数との間の相対的な差は、センサからのデータが変化する周波数よりもずっと高い周波数でプロセッサが動作することを表す。
【００２２】
フロントエンド１２０は、他の回路と一体化された回路における集積コンポーネントとして、及び／又はディスクリート回路として実装され得る。例えば、一実施形態において、フロントエンド１２０は、プロセッサ１３０が配置されるダイ又は基板上に集積され得る。一実施形態において、フロントエンド１２０は、ディスクリート回路（例えば、プロセッサ１３０とは別の基板及び／又はＰＣＢ（printed  circuit  board）（印刷回路基板）による。）である。一実施形態において、フロントエンド１２０は、集積コンポーネントとディスクリートコンポーネントとの組み合わせとして実装され得る（例えば、プリプロセッサ１２４を組み込み、他の要素をディスクリートコンポーネントして実装する。）。よって、フロントエンド１２０は、集積コンポーネント設計として実装され、且つ／あるいは、市販の（off-the-shelf）又は特殊化されたディスクリートコンポーネントから組み立てられ得る。
【００２３】
システム１００は、アナログフロントエンド回路をフロントエンド回路１２０と統合する。一実施形態において、フロントエンド回路１２０は、プロセッサ１３０へ供給するようセンサ１１０からのセンサ入力を統合するスタンドアローンのコンポーネント又はセンサハブである。一実施形態において、フロントエンド回路１２０は、フロントエンド１２０と並行して動作することができるセンサハブ（特に図示せず。）へ結合する。一実施形態において、フロントエンド回路１２０は、プロセッサ１３０の部分又はＳｏＣ若しくはマルチチップパッケージの回路若しくはコンポーネントである。フロントエンド回路１２０は、センサ１１０がセンサパッケージ内で最小限のアナログフロントエンドを有して又はそのようなアナログフロントエンドを有さずに動作することを可能にすることができる。一実施形態において、センサ１１０におけるアナログフロントエンドは、フロントエンド１２０とインターフェイス接続するようバイパスされ得る。センサ１１０におけるぎりぎり又は最低限のフロントエンドは、寄生が出力信号を圧倒しないように、容量性回路及び／又は増幅器のような何らかのアナログインターフェイスを依然として必要とし得る。一実施形態において、フロントエンド回路１２０は、センサ１１０から未処理のアナログ信号を受信する。未処理とは、ぎりぎり又は最小限のフロントエンドしか有さないセンサからのアナログ信号である如何なるアナログ出力も言うことができる。よって、未処理の信号は、寄生が信号を圧倒しないように増幅及び／又は容量性フィルタリングを受けた信号を依然として含むことができる。未処理とは、フロントエンド回路１２０が信号のサンプリング、デジタル化、及び処理を制御することができる場合に提供される信号を言う。
【００２４】
フロントエンド回路１２０は、複数のアナログ入力部１２２を含む。入力部１２２は、アナログ信号をサンプリングすること及び信号をデジタルフォーマットへ変換することを含め、入力信号に対するアナログ処理を提供する。プリプロセッサ１２４は、入力部１２２からデジタルサンプルを受け取って、データに対して予備的処理又はフィルタリングを施す。一実施形態において、プリプロセッサ１２４は、データがプロセッサ１３０へ渡されるべきか否かを判定する。例えば、プリプロセッサ１２４は、信号が重複データに相当し、プロセッサ１３０へ渡される必要がないことを決定することができ、あるいは、信号がセンサによってモニタされる特定の環境条件のためのトリガイベントに相当しないことを決定することができる。プリプロセッサ１２４がデータをプロセッサ１３０へ送出しないと決定する他の又は代わりの理由も存在し得る。一実施形態において、プリプロセッサ１２４がデータをプロセッサ１３０へ送出しないと決定する場合に、プリプロセッサ１２４はデータを捨てて、そのデータを記憶しない。
【００２５】
フロントエンド１２０は、複数のアナログ入力部１２２を含む。一実施形態において、夫々の入力部は、動的に構成可能な（ランタイム構成可能な）動作を含む別個の入力回路である。よって、プリプロセッサ１２４は、夫々のアナログ入力部１２２の動作を制御する制御信号を生成することができる。一実施形態において、複数のアナログ入力部１２２は、共通の入力回路コンポーネントへと多重化される（図２のシステム２００に関連して以下で更に詳細に記載される。）。プリプロセッサ１２４は、サンプリングレート、入力ゲイン、タイミング、及び／又はアナログ入力部の他の態様を変更又は調整するよう制御信号を生成することができる。
【００２６】
図２Ａは、多重化された動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。システム２０２は、多重化されたアナログ入力を含むフロントエンド２２０を含む。システム２０２は、図１のシステム１００に従うシステムの一例であることができる。フロントエンド２２０は、関連するプロセッサ２８０へ結合されている。プロセッサ２８０は、コンピュータデバイスの動作を制御するためにアナログ入力からのデータを最終的に使用する。プロセッサ２８０は、コンピュータデバイスのための一次プロセッサ若しくはホストプロセッサ、又は一次プロセッサと並行して実行するペリフェラルプロセッサであることができる。フロントエンド２２０は、本願で記載される如何なる実施形態にも従うフロントエンド回路の一例に相当する。
【００２７】
システム２０２は、電圧モードアナログ出力を生成する１つ以上のセンサ２１２と、電流モードアナログ出力を生成する１つ以上のセンサ２１４とを含む。電圧モードは、シングルエンド又は差動であり得るアナログ出力を言い、電流モードは、アナログ電流モードを言う。フロントエンド２２０は、電圧モードセンサ２１２からの入力を電圧モード入力回路２２２で受ける。フロントエンド２２０は、電流モードセンサ２１４からの入力を電流モード入力回路２２４で受ける。入力部２２２及び２２４は、センサ信号を受信するピン又はコネクタ及び信号線を表す。一実施形態において、フロントエンド２２０は多重化ＡＦＥであり、複数のセンサ（２１２、２１４）は同じアナログ回路（例えば、アナログ増幅器及びデータ変換器）を共有して、面積及び電力を節約することが可能である。よって、入力部２２２及び２２４は、アナログ入力を夫々のマルチプレクサ２３２及び２３４へ供給する。複数の入力部は、同じアナログ入力ハードウェアを共有することができる。これは、アナログコンポーネント及び処理コンポーネントの動作の速さ又は周波数がセンサ入力の変化の割合よりもずっと（１桁以上）大きいことを考えると、アナログハードウェアがさもなければ十分に利用されないからである。
【００２８】
一実施形態において、電圧モードマルチプレクサ２３２は、増幅器２４２による増幅のためにセンサ２１２からの特定のアナログ入力を選択することができる。一実施形態において、増幅器２４２は、入来する電圧信号の大きさを増大させるために使用され得るプログラム可能ゲイン増幅器（ＰＧＡ；programmable  gain  amplifier）である。一実施形態において、電流モードマルチプレクサ２３４は、増幅器２４４による増幅のためにセンサ２１４からの特定のアナログ入力を選択することができる。一実施形態において、増幅器２４４は、入来する電流の大きさに基づき可変な電圧出力を供給するトランスインピーダンス増幅器（ＴＩＡ；transimpedance  amplifier）である。よって、増幅器２４２及び２４４は両方とも、出力電圧を生成することができる。
【００２９】
増幅器２４２及び２４４は、それらの電圧出力を１つ以上のアナログ−デジタル変換器（ＡＤＣ）２５６へ供給する。一実施形態において、フロントエンド２２０は、増幅器からの出力信号を１つ以上のＡＤＣへルーティングするマルチプレクサ２５２又は他の選択ロジックを含む。一実施形態において、フロントエンド２２０は、ＡＤＣの前にフィルタ段を提供するようフィルタ２５４を含む。フィルタ２５４は、ローパス・アンチエイリアシング・フィルタ及び／又は他のより複雑なフィルタコンポーネントを含んでよい。一実施形態において、フィルタ２５４は、ＳＣＰ２７０による解析に応答してチューニング又は調整され得る調整可能な挙動を含む。フィルタ２５４は、ＡＤＣ２５６がサンプリングする入力のタイプに基づき調整可能であることができる。ＡＤＣ２５６は、複数の異なるデバイスを含むことができるアナログ−デジタル変換段に相当する。電圧モード入力部２２２及び電流モード入力部２２４は、マルチプレクサ２３２及び／又は２３４で見られるように、複数の異なるデバイスに細分されてよいことが理解されるだろう。ＡＤＣ２５６は、アナログ信号をデジタル表現に変換する。ＡＤＣ２５６によって変換された増幅された信号は、通常はセンサによる連続出力であるもののディスクリートサンプルである。よって、ＡＤＣ２５６は、サンプルのデジタル表現を生成すると、又はデジタルサンプルを生成すると言われ得る。
【００３０】
一実施形態において、ＡＤＣ２５６は、デジタル出力を信号制御及び処理（ＳＣＰ；signal  control  and  processing）ブロック２７０へバス２６０を介して渡す。ＳＣＰ２７０は、システム１００で表されたようなプリプロセッサの一例であることができる。一実施形態において、ＳＣＰ２７０は、複数のデジタル信号処理（ＤＳＰ；digital  signal  processing）ブロックを含む。一実施形態において、ＳＣＰ２７０は、他の（例えば、将来の）センサタイプとインターフェイス接続するようカスタマイズされ得る動的にプログラム可能なＤＳＰユニットを含むとともに、共通のセンサタイプに合わせられている複数のＤＳＰユニットであるか、又はそのような複数のＤＳＰユニットを含む。バス２６０は、複数の異なる回路コンポーネントとインターフェイス接続する信号線の如何なる１つ以上のグループも表す。バス２６０は、通常は、フロントエンド２２０が処理される基板上で、基板上（又は内）に配置された様々なコンポーネントへとルーティングされる。一実施形態において、ＳＣＰ２７０は、センサデータサンプルの品質を決定し、且つ／あるいは、注目すべきイベントが起こったか又は起こっているかどうか（例えば、プロセッサ２８０に動作を実行することを要求する何かをデータが示すかどうか）を判定するよう、初期解析を実行することができる。よって、処理は、関連するセンサデータが受け取られるまでプロセッサ２８０（又はセンサハブ、マイクロコントローラ、マイクロプロセッサ、ＤＳＰ、若しくは他の処理コンポーネント）がスリープ状態にあることを可能にすることができる。
【００３１】
一実施形態において、ＳＣＰ２７０は、入来するデータの品質及び有用性を評価するハードワイヤード・アルゴリズム及び／又はプログラム可能ユニットの集合を含む。一実施形態において、ＳＣＰ２７０は、プロセッサ２８０の部分であるが電源が別である混合処理ブロックである。プロセッサ２８０は、特定用途向けプロセッサであることができる。初期処理又は予備的処理に基づき、ＳＣＰ２７０は、フロントエンド２２０のアナログコンポーネントへフィードバックを供給する。よって、ＳＣＰ２７０は、コンポーネントの動作の効率を改善することができるアナログコンポーネントの動的なランタイム制御を提供する。システム２００で表されているように、制御信号２６２は、バス２６０からアナログコンポーネントへフィードバックされる。一実施形態において、ＳＣＰ２７０は、マルチプレクサ（２３２、２３４、２５２）、増幅器（２４２、２４４）、及び／又はＡＤＣ２５４のための制御信号２６２を生成することができる。制御信号２６２は、サンプリングレート、帯域幅、ゲイン、又はアナログコンポーネントの他の動作パラメータを調整することができる。
【００３２】
ＳＣＰ２７０は、フィルタ２７２及びコントロール２７４を含むものとして表されている。コントロール２７４は、アナログコンポーネントのサンプリング動作を制御するフィードバック又は制御信号を生成するＳＣＰ２７０における機能に相当する。フィルタ２７２は、入力のデジタルサンプルに予備的処理を施すことを可能にするＳＣＰ２７０における機能に相当する。フィルタ２７２は、次のタイプの処理機能のうちのいずれか１つ以上を含むことができる。一実施形態において、フィルタ２７２は、ＳＣＰ２７０がデジタルフィルタリングを入来信号に適用することを可能にする。デジタルフィルタリングは、アナログ信号雑音を除去すること（例えば、６０Ｈｚ雑音を除去すること）、又は他の雑音除去動作を含むことができる。雑音除去は、信号を平滑化することを言うことができる。一実施形態において、フィルタ２７２は、ＳＣＰ２７０が離散フーリエ変換（ＤＦＴ；discrete  Fourier  transform）フィルタを適用することを可能にする。ＤＦＴフィルタは、関心のある特定の周波数についてデータにフィルタをかけることができる。例えば、ＳＣＰ２７０は、入力信号において特定の周波数を検出し、周波数の検出に基づきフロントエンド２２０にサンプリングレートを調整させることができる。一実施形態において、フィルタ２７２は、ＳＣＰ２７０が、周波数パルス又は信号強度ピークのような、入来信号におけるピークを検出することによって、疎特徴認識を実行することを可能にする。一実施形態において、フィルタ２７２は、様々なカスタムのプログラム可能な機能のいずれかを実施することができるフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ；field  programmable  gate  array）を含む。記載されている例は例示にすぎず、フィルタ２７２は、例の中から選択されたもの、及び／又は具体的に記載されていない他の処理機能を含むことができることが理解されるだろう。
【００３３】
コントロール２７４は、フロントエンド２２０のサンプリング及びインターフェイス接続を制御するフィードバック制御信号を生成することができる。コントロール２７４は、ＳＣＰ２７０が増幅器ゲイン制御信号を生成することを可能にする。増幅器ゲインは、ＡＤＣの振幅範囲又は増幅器のフルスイングを利用しない振幅を有する信号のゲインアップを調整することができる。反対に、レールに流れ込む信号について、ゲイン制御信号はゲインダウンを調整することができる。一実施形態において、コントロール２７４は、ＳＣＰ２７０が増幅器帯域幅制御信号を生成することを可能にする。増幅器帯域幅制御信号は、増幅器２４２及び／又は２４４の帯域幅とゲインとの間のトレードオフの動作を調整することができる。一実施形態において、コントロール２７４は、ＳＣＰ２７０がマルチプレクサ２３２、２３４及び２５２からの特定の入力を選択する制御信号を生成することを可能にする。一実施形態において、コントロール２７４は、ＳＣＰ２７０が、例えば、サンプリングされるべき入力のタイプの基づき動作を調整することによって、フィルタ２５４のフィルタリングを調整する制御信号を生成することを可能にする。一実施形態において、コントロール２７４は、ＳＣＰ２７０が、ＡＤＣ２５６のサンプリングレートを調整し且つ／あるいはＡＤＣ２５６によって生成される出力信号の分解能のビットの数を調整する（例えば、ＡＤＣが１２ビットの分解能を生成することが可能である場合には、８ビットの分解能しか出力しない。）制御信号を生成することを可能にする。一実施形態において、コントロール２７４は、ＳＣＰ２７０が、アナログコンポーネントをスリープ状態とするか又は低電力状態に入らせる制御信号を生成することを可能にする。一実施形態において、コントロール２７４は、ＳＣＰ２７０が、アナログコンポーネントを低電力状態から起こす（例えば、特定の条件（例えば、特定の入力、閾値よりも大きい又は小さい入力、入力の変化、又は他の条件）で起きる）制御信号を生成することを可能にする。一実施形態において、コントロール２７４は、ＳＣＰ２７０が、フロントエンド２２０が使用する増幅段の数を制御する制御信号を生成することを可能にする。例えば、増幅器２４２及び／又は２４４は多段増幅器であることができ、制御信号２６２は、一方又は両方の増幅器の動作を単段増幅器から多段増幅器へ変えることができる。記載されている例は単なる例示であって、コントロール２７４は、例の中から選択されたもの、及び／又は具体的に記載されていない制御信号を生成することができることが理解されるだろう。
【００３４】
一実施形態において、フロントエンド２２０は、増幅器の必要なしで、直接に供給され得る信号とインターフェイス接続する。ＡＤＣ２５４は、電流モード信号をデジタル出力に変換することが可能でなくてよく、よって、ＴＩＡ２４４をバイパスすることが可能でないことがあり得ることが理解されるだろう。しかし、電圧モード信号については、一実施形態において、１つ以上の制御信号２６２は、ＰＧＡ２４２を直接にマルチプレクサ２５２へ（又は、システム構成に応じて、ＡＤＣ２５４へ）バイパスするようマルチプレクサ２５２を制御することができる。ＳＣＰ２７０は、入力信号が増幅器をバイパスするか否かを制御する制御信号２６２を生成することができる。
【００３５】
一実施形態において、ＳＣＰ２７０は、フロントエンド２２０のアナログコンポーネントに、クリアな信号を供給するために必要な最小限のゲイン及び最小限の電力を使用させる制御信号２６２を生成する。一実施形態において、ＳＣＰ２７０は、センサの相関関係に基づき入力にフィルタをかけ且つ制御することができる。例えば、全く同じデータを生成しないが、特定の状況におけるデータが重複する２つのセンサを考える。一実施形態において、ＳＣＰ２７０は、センサ間のデータの相関に基づき入力にフィルタ処理及び／又はスキップを適用することができる。そのようなロジックは、ＳＣＰ２７０に組み込まれ、且つ／あるいは、ＳＣＰ２７０のプログラム可能な要素にプログラムされ得る。
【００３６】
図２Ｂは、複数の入力経路を表す、多重化された動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。システム２０４は、図１のシステム１００及び図２Ａのシステム２０２に従うシステムの一例であることができる。システム２０４の要素は、システム２０２の要素と同じ参照符号を付されており、システム２０２に関する前述の記載は、システム２０４の要素に同様に当てはまる。システム２０４は、アナログフロントエンド回路の１つ以上が倍数単位で存在し得ることを、より具体的に表す。よって、複数の入力部２２２及び／又は２２４へ結合されている多数のセンサ２１２及び／又は２１４が存在し得る。複数の入力部は、信号入力を１つ以上のマルチプレクサ２３２及び／又は２３４へ供給することができる。１つ以上のマルチプレクサ２３２及び／又は２３４は、入力を１つ以上の増幅器２４２及び／又は２４４へ供給することができる。１つ以上の増幅器２４２及び／又は２４４は、信号を１つ以上のマルチプレクサ２５２へ供給することができる。１つ以上のマルチプレクサ２５２は、それから信号を１つ以上のフィルタ２５４へ供給することができる。１つ以上のフィルタ２５４は、信号を１つ以上のＡＤＣ２５６へ供給することができる。ＡＤＣ２５６は、ＳＣＰ２７０のために入力をサンプリングする。
【００３７】
図３Ａは、システム・オン・チップにおいて動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。システム３０２は、図１のシステム１００、図２Ａのシステム２０２、及び／又は図２Ｂのシステム２０４に従うシステムの一例であることができる。システム３０２は、システム・オン・チップ（ＳｏＣ）３２０とインターフェイス接続する複数のセンサ３１０を含む。ＳｏＣ３２０は、複数の要素が一緒に集積されている単一のチップであることができ、あるいは、複数のチップが一緒にアセンブルされている単一のパッケージ（より一般的には、マルチチップパッケージ（ＭＣＰ；multichip  package）と呼ばれる。）であることができる。
【００３８】
ＳｏＣ３２０は、ＣＰＵ（central  processing  unit）（中央演算処理装置）３２２又は他の一次プロセッサを含む。ＳｏＣ３２０は、コンピュータデバイスのためのホストプロセッサシステム、又はより大きいコンピュータデバイスシステムの部分である特定用途向け集積回路（ＡＳＩＣ；application  specific  integrated  circuit）であることができる。ＣＰＵ３２２は、ＳｏＣ３２０のためのホストオペレーティングシステムを実行し、一般的に、ＳｏＣ３２０の全体の動作を制御する制御ロジックを含む。ＣＰＵ３２２は、一般的に、ＳｏＣ３２０が提供すると期待される計算機能を生じる動作を制御する。
【００３９】
ＳｏＣ３２０は、ＳｏＣ３２０にあるメモリ記憶資源を表すメモリ３２４を含む。メモリ３２４は、揮発性及び／又は不揮発性のメモリ資源を含むことができる。不揮発性メモリは、電力がメモリに対して中断される場合でさえ状態を保持するメモリである。揮発性メモリは、電力がメモリに対して中断される場合に状態が不定であるメモリである。メモリ３２４は、１つ以上のメモリ要素がＣＰＵ３２２にある場合に実装され得る（例えば、オンチップ・キャッシュ）。メモリ３２４は、一般的に、ＣＰＵ３２２の動作の実行をサポートするようデータ及びコードを記憶する。
【００４０】
ＳｏＣ３２０は、本願で記載される如何なる実施形態にも従うフロントエンド回路であるＡＦＥ３２６を含む。ＡＦＥ３２６は、ＳｏＣ３２０をセンサ３１０へインターフェイス接続する。ＡＦＥ３２６は、電圧モード及び／又は電流モード入力部を含む。一実施形態において、ＡＦＥ３２６は、フロントエンドを実装するために必要とされるアナログ回路構成の量を削減するよう、センサ３１０からの入力を多重化する。ＡＦＥ３２６は動的に構成可能であり、このことは、フロントエンド回路がその動作及びアナログ入力のサンプリングを調整して動作の効率を改善することを可能にする。ＡＦＥ３２６は、アナログ入力要素（特に図示せず。）へのフィードバックを生成してそれらの動作を動的に調整するプロセッサ（特に図示せず。）を含む。よって、ＡＦＥ３２６は、センサ３１０とのインターフェイスの有効性を改善するようランタイムで動作を変更することができる。
【００４１】
図３Ｂは、プロセッサにおいて動的にプログラム可能なアナログフロントエンド回路を備えるシステムの実施形態のブロック図である。システム３０４は、図１のシステム１００、図２Ａのシステム２０２、及び／又は図２Ｂのシステム２０４に従うシステムの一例であることができる。システム３０４は、プロセッサ３３０とインターフェイス接続する複数のセンサ３１０を含む。プロセッサ３３０は、システム３０４のための一次プロセッサに相当する。一実施形態において、プロセッサ３３０は、コンピュータデバイスのためのホストプロセッサシステム、又はより大きいコンピュータデバイスシステムの部分である特定用途向け集積回路（ＡＳＩＣ）である。プロセッサ３３０は、システム３０４のためのホストオペレーティングシステムを実行し、一般的に、システム３０４の全体の動作を制御する制御ロジックを含む。
【００４２】
一実施形態において、プロセッサ３３０は、プロセッサ３３０の処理動作を実行する１つ又は複数のコアを表すプロセッシングコア３３２を含む。プロセッサ３３０は、プロセッサ３３０にあるメモリ記憶資源を表すキャッシュ３３４を含むことができる。キャッシュ３３４は、通常は揮発性メモリであり、次世代のメモリ技術は不揮発性であることができ、キャッシュとして使用される現世代のメモリ技術と同程度のアクセス速度を有する。キャッシュ３３４は、一般に、プロセッシングコア３３２の動作の実行をサポートするようデータ及びコードを記憶する。
【００４３】
プロセッサ３３０は、コンピュータシステムにおける他のエレクトロニクス・コンポーネント（図示せず。）とインターフェイス接続することができる外部インターフェイスを表すＩ／Ｏ（input/output）（入出力部）３３８を含む。Ｉ／Ｏ３３８は、外部メモリ３４０へアクセスするためにも使用され得る。メモリ３４０は、揮発性及び／又は不揮発性のメモリ資源を含むことができ、プロセッサ３３０の実行をサポートするデータ及びコマンドを記憶する。通常は、メモリ３４０は、キャッシュ３３４よりも大きく且つ低速である。システム３０４のメモリ３４０は、上記のシステム３０２のメモリ３２４に相当してよい。
【００４４】
一実施形態において、プロセッサ３３０は、本願で記載される如何なる実施形態にも従うフロントエンド回路であるＡＦＥ３３６を含む。ＡＦＥ３３６は、プロセッサ３３０をセンサ３１０へインターフェイス接続する。ＡＦＥ３３６は、電圧モード及び／又は電流モード入力部を含むことができる。一実施形態において、ＡＦＥ３３６は、フロントエンドを実装するために必要とされるアナログ回路構成の量を削減するよう、センサ３１０からの入力を多重化する。ＡＦＥ３３６は動的に構成可能であり、このことは、フロントエンド回路がその動作及びアナログ入力のサンプリングを調整して動作の効率を改善することを可能にする。ＡＦＥ３３６は、アナログ入力要素（特に図示せず。）へのフィードバックを生成してそれらの動作を動的に調整するプリプロセッサ（特に図示せず。）を含む。よって、ＡＦＥ３３６は、センサ３１０とのインターフェイスの有効性を改善するようランタイムで動作を変更することができる。
【００４５】
図４は、動的にプログラム可能なアナログフロントエンド回路を用いてインターフェイス接続するプロセスの実施形態のフロー図である。プロセス４００は、本願で記載される如何なる実施形態にも従う動的ＡＦＥを介して複数のセンサとインターフェイス接続することを記載する。一実施形態において、ＡＦＥ回路は、複数のセンサデバイスとインターフェイス接続するプロセッサ、プロセッシングユニット、システム・オン・チップ、又は他のシステムの部分である。具体的に、ＡＦＥは、アナログ出力を生成するセンサとインターフェイス接続する。
【００４６】
一実施形態において、ＡＦＥは、アナログ入力をチェックすると決定する（４０２）。一実施形態において、ＡＦＥは、センサ入力データを要求するシステムレベルのプロセッサの要求時にアナログ入力をチェックする。一実施形態において、ＡＦＥは、アナログ入力をサンプリングするよう複数のセンサデバイスの中から連続的に選択しながら、アナログ入力を連続的にモニタする。一実施形態において、ＡＦＥは、どのセンサをいつサンプリングすべきかの経過を追うよう１つ以上のタイマに従ってスケジュール通りに入力を巡回することによって、半連続的にセンサをモニタする。
外部プロセッサからの要求によろうと、それとも、内部ルーチンからの決定若しくはスケジュールによろうと、ＡＦＥは、トリガに基づきアナログ入力を受信し又はアナログ入力をサンプリングすると言える。トリガは、要求、タイマ値、又はアナログ入力をサンプリングするとのプロセス決定であることができる。
【００４７】
ＡＦＥは、制御設定をアナログ回路コンポーネントに適用する（４０４）。一実施形態において、ＡＦＥは、夫々の異なる入力について異なる制御設定を提供する。よって、ＡＦＥは、夫々の異なるアナログ入力がサンプリングされるためにサンプリング動作を動的に調整することができる。ＡＦＥは、どの入力がサンプリングされるべきかに基づき、電流設定をアナログ回路コンポーネントに適用する。以下で更に詳細に論じられるように、ＡＦＥは、次いで、ＡＦＥの部分であるプリプロセッサから供給されるフィードバックに基づき、如何にしてサンプリングが実行されるかを動的に調整することができる。一実施形態において、ＡＦＥは多重化される。よって、設定の部分として、あるいは、他の設定とともに、ＡＦＥは、複数の異なるアナログ入力信号のうちの１つをサンプリングするようアナログマルチプレクサを設定することができる（４０６）。
【００４８】
一実施形態において、入力は、良好な読み出しのための増幅を必要としない十分な信号を供給する。よって、ＡＦＥは、入力信号が増幅器段をバイパスすることを可能にすることができる。ＡＦＥが増幅器をバイパスしない場合、すなわち、４０８が‘いいえ’に枝分かれする場合には、ＡＦＥは、増幅器のための設定に基づき、選択されたアナログ入力に増幅を適用する（４１０）。設定は、夫々の異なる入力について変更され得る。ＡＦＥが増幅器をバイパスすべき場合、すなわち、４０８が‘はい’に枝分かれする場合には、あるいは、増幅を適用した（４１０）後に、アナログ−デジタル変換段は、アナログ入力信号サンプルをデジタル信号サンプルに変換する（４１２）。
【００４９】
アナログ−デジタル変換段は、デジタルサンプルをプリプロセッサ（例えば、ＳＣＰ）へ渡すことができる。プリプロセッサは、一次プロセッサへデータを送出する前に、予備的な処理をデジタル信号サンプルに対して実行する（４１４）。プリプロセッサは、多数のフィルタ又は他の予備的処理（例えば、上述されたようなもの）のうちのいずれかをデジタルサンプルに対して適用することができる。一実施形態において、予備的処理段は、デジタル信号サンプルが有意なデータを表すかどうかを判定する。何が有意なデータであるかに関する判定は、センサごと、及び実施ごとに異なることが理解されるだろう。例えば、１つのシステムは、熱センサを使用してよく、一次プロセッサが熱イベントに応答すべきでない限り熱センサの出力は有意でないと決定することができる。熱イベントは、例えば、閾値を上回る温度読み取り、又は所定期間内の所定範囲よりも大きい温度の変化であってよい。センサタイプ及びセンサが実装されるシステムに依存して、無数の他の例が存在する。
【００５０】
一実施形態において、データが有意でないとプリプロセッサが決定する場合、すなわち、４１６が‘いいえ’に枝分かれする場合には、プリプロセッサは、データの全て又は一部を捨てることができる（４１８）。センサがプリプロセッサにプログラムされ得る特定のセンサイベント又は条件を表さない限りは、センサデータにより一次プロセッサを起動又は中断する必要はない。データが有意である場合、すなわち、４１６が‘はい’に枝分かれする場合には、あるいは、たとえデータが有意でなかったとしても、プリプロセッサは、デジタルサンプルが十分な品質又はデータを解釈するために必要とされるよりも高い品質のサンプルであったかどうかを判定することができる。プリプロセッサは、アナログ動作が効率的であるかどうかを判定するよう夫々のセンサのための多数の異なった因子に基づきデータを解析する。データが必要とされるよりも高い品質又は精度又は分解能を有する場合には、プリプロセッサは、ＡＦＥがより低い精度、より低い帯域幅、より低い分解能、より低い電力、及び／又は何らかの他の調整において信号をサンプリングすることについて、より効率がよいと決定することができる。代替的に、サンプルが良好な読み出し（予備的処理段により所定の設定によって定義される。）を提供するには不十分な品質を有する場合には、プリプロセッサは、より高い精度、帯域幅、分解能、電力、及び／又は他の調整がより効率がよいと決定することができる。
【００５１】
ＡＦＥが所与の条件において特定の入力のために最大効率で動作している場合、すなわち、４２０が‘はい’に枝分かれする場合には、プリプロセッサは、データを、センサデータを使用する一次プロセッサへ送出することができる（４２４）。ＡＦＥが最大効率で動作していない場合、すなわち、４２０が‘いいえ’に枝分かれする場合には、プリプロセッサは、１つ以上の制御信号を生成することによってアナログコンポーネントの１つ以上の設定を調整することができる（４２２）。予備的処理段は、アナログコンポーネントの設定及び動作を連続的にモニタし調整することができる。一実施形態において、プリプロセッサは、夫々の入力のための設定をセーブするストレージを含む。プリプロセッサは、セーブされた設定を設定し、セーブされた設定を、プリプロセッサによって観測された動作に応じて調整することができる。
【００５２】
図５は、動的にプログラム可能なアナログフロントエンド回路が実装され得るコンピュータシステムの実施形態のブロック図である。システム５００は、本願で記載される如何なる実施形態にも従うコンピュータデバイスに相当し、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、ゲーム若しくはエンターテイメント制御システム、スキャナ、コピー機、プリンタ、ルーティング若しくはスイッチングデバイス、又は他の電子機器であることができる。システム５００は、システム５００のための命令の実行、動作管理、及び処理を提供するプロセッサ５２０を含む。プロセッサ５２０は、システム５００のための処理を提供する如何なるタイプのマイクロプロセッサ、中央演算処理装置（ＣＰＵ）、プロセッシングコア、又は他のプロセッシングハードウェアも含むことができる。プロセッサ５２０は、システム５００の全体の動作を制御し、１つ以上のプログラム可能な汎用又は特別目的のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、プログラム可能コントローラ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理デバイス（ＰＬＤ；programmable  logic  device）、若しくは同様のもの、又はそのようなデバイスの組み合わせであるか、あるいは、それらを含むことができる。
【００５３】
メモリサブシステム５３０は、システム５００のメインメモリに相当し、プロセッサ５２０によって実行されるコード又はルーチンを実行する際に使用されるデータ値の一時記憶を提供する。メモリサブシステム５３０は、リードオンリーメモリ（ＲＯＭ；read-only  memory）、フラッシュメモリ、１種類以上のランダムアクセスメモリ（ＲＡＭ；random  access  memory）、若しくは他のメモリデバイス、又はそのようなデバイスの組み合わせのような、１つ以上のメモリデバイスを含むことができる。メモリサブシステム５３０は、とりわけ、システム５００での命令の実行のためのソフトウェアプラットフォームを提供するオペレーティングシステム（ＯＳ；operating  system）５３６を記憶し且つホスティングする。加えて、他の命令５３８が記憶され、システム５００の処理及びロジックを提供するようメモリサブシステム５３０から実行される。ＯＳ５３６は、プロセッサ５２０によって実行される。メモリサブシステム５３０は、データ、命令、プログラム、又は他のアイテムを記憶するメモリデバイス５３２を含む。一実施形態において、メモリサブシステム５３０はメモリコントローラ５３４を含む。メモリコントローラ５３４は、メモリデバイス５３２へのコマンドを生成し発行するメモリコントローラである。メモリコントローラ５３４はプロセッサ５２０の物理部分であってよいことが理解されるだろう。
【００５４】
プロセッサ５２０及びメモリサブシステム５３０は、バス／バスシステム５１０へ結合されている。バス５１０は、適切なブリッジ、アダプタ、及び／又はコントローラによって接続される如何なる１つ以上の別個の物理バス、通信ライン／インターフェイス、及び／又はポイント・ツー・ポイント接続も表す抽象である。従って、バス５１０は、例えば、システムバス、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ；Peripheral  Component  Interconnect）バス、ハイパートランスポート若しくは業界標準アーキテクチャ（ＩＳＡ；industry  standard  architecture）バス、スモール・コンピュータ・システム・インターフェイス（ＳＣＳＩ；small  computer  system  interface）バス、ユニバーサル・シリアル・バス（ＵＳＢ；universal  serial  bus）、又は電気電子技術者協会（ＩＥＥＥ；Institute  of  Electrical  and  Electronics  Engineers）標準１３９４バス（一般的に「ファイアワイヤ（Firewire）」と呼ばれる。）のうちの１つ以上を含むことができる。バス５１０のバスはまた、ネットワークインターフェイス５５０におけるインターフェイスに対応することができる。
【００５５】
システム５００は、バス５１０へ結合されている１つ以上の入出力（Ｉ／Ｏ）インターフェイス５４０、ネットワークインターフェイス５５０、１つ以上の内部大容量記憶デバイス５６０、及びペリフェラル・インターフェイス５７０を更に含む。Ｉ／Ｏインターフェイス５４０は、１つ以上のインターフェイスコンポーネントを含むことができ、それを通じて、ユーザはシステム５００と相互作用する（例えば、ビデオ、オーディオ、及び／又は英数字インターフェイシング）。一実施形態において、Ｉ／Ｏインターフェイス５４０は、ユーザがシステム５００と相互作用するための視覚的及び／若しくは触覚的な表示並びに／又は視覚的に認知可能な出力を提供するコンポーネントを含む。一実施形態において、表示は、ユーザに出力を提供するとともにユーザからの入力を受けるタッチスクリーンデバイスを含む。一実施形態において、表示は、出力をユーザに提供する高精細（ＨＤ；high  definition）ディスプレイを含む。高精細は、約１００ＰＰＩ（pixels  per  inch）（ピクセル毎インチ）以上のピクセル密度を有するディスプレイを言うことができ、フルＨＤ（例えば、１０８０ｐ）、レティナ（retina）ディスプレイ、４Ｋ（超高精細若しくはＵＨＤ）、又は他のようなフォーマットを含むことができる。
【００５６】
ネットワークインターフェイス５５０は、１つ以上のネットワーク上で遠隔のデバイス（例えば、サーバ、他のコンピュータデバイス）と通信する能力をシステム５００に提供する。ネットワークインターフェイス５５０は、Ｅｔｈｅｒｎｅｔ（登録商標）アダプタ、無線相互接続コンポーネント、ＵＳＢ（universal  serial  bus）、又は有線若しくは無線の標準に基づく若しくは独自仕様のインターフェイスを含むことができる。記憶部５６０は、１つ以上の磁気、固体状態、若しくは光学に基づくディスク、又は組み合わせのような、不揮発様態において大量のデータを記憶する如何なる従来の媒体であってもよく、あるいは、そのような媒体を含むことができる。記憶部５６０は、永続的な状態でコード又は命令及びデータ５６２を保持する（すなわち、システム５００への電力の中断に関わらず値は保たれる。）。記憶部５６０は、総じて「メモリ」であると見なされ得るが、メモリ５３０は、命令をプロセッサ５２０へ供給する実行又は動作メモリである。記憶部５６０は不揮発性であり、一方で、メモリ５３０は不揮発性メモリを含むことができる（すなわち、電力がシステム５００に対して中断される場合に、データの値又は状態は不定である。）。
【００５７】
ペリフェラル・インターフェイス５７０は、具体的に上述されていない如何なるハードウェアインターフェイスも含むことができる。ペリフェラルは、一般的に、システム５００に従属的に接続するデバイスを言う。従属接続は、動作が実行され且つユーザが相互作用するソフトウェア及び／又はハードウェアプラットフォームをシステム５００が提供するものである。
【００５８】
一実施形態において、プロセッサ５２０は、本願で記載される如何なる実施形態にも従うフロントエンド回路であるＡＦＥ５２２を含む。ＡＦＥ５２２は、プロセッサ５２０を複数のセンサ５２４へインターフェイス接続する。センサ５２４は、例えば、Ｉ／Ｏインターフェイス５４０及び／又はペリフェラル・インターフェイス５７０を介して接続されてよい。一実施形態において、センサ５２４は、システム５００において図示されていないインターフェイスを介して接続される。ＡＦＥ５２２は、電圧モード及び／又は電流モード入力部を含むことができる。一実施形態において、ＡＦＥ５２２は、フロントエンドを実装するために必要とされるアナログ回路構成の量を削減するよう、複数のセンサからの入力を多重化する。ＡＦＥ５２２は動的に構成可能であり、このことは、フロントエンド回路がその動作及びアナログ入力のサンプリングを調整して動作の効率を改善することを可能にする。ＡＦＥ５２２は、アナログ入力要素（特に図示せず。）へのフィードバックを生成してそれらの動作を動的に調整するプリプロセッサ（特に図示せず。）を含む。よって、ＡＦＥ５２２は、センサとのインターフェイスの効率を改善するようランタイムで動作を変更することができる。
【００５９】
図６は、動的にプログラム可能なアナログフロントエンド回路が実装され得るモバイルデバイスの実施形態のブロック図である。デバイス６００は、コンピュータタブレット、携帯電話機若しくはスマートフォン、無線対応電子リーダー、ウェアラブルコンピュータデバイス、又は他のモバイルデバイスのような、モバイルコンピュータデバイスに相当する。特定のコンポーネントが一般的に示されており、そのようなデバイスの全てのコンポーネントデバイス６００において示されているわけではないことが理解されるだろう。
【００６０】
デバイス６００は、デバイス６００の主たる処理動作を実行するプロセッサ６１０を含む。プロセッサ６１０は、マイクロプロセッサ、アプリケーションプロセッサ、マイクロコントローラ、プログラム可能論理デバイス、又は他のプロセッシング手段のような、１つ以上の物理デバイスを含むことができる。プロセッサ６１０によって実行される処理動作には、アプリケーション及び／又はデバイス機能が実行されるオペレーティングプラットフォーム又はオペレーティングシステムの実行が含まれる。処理動作には、人間のユーザによる若しくは他のデバイスによるＩ／Ｏ（input/output）に関する動作、電力管理に関する動作、及び／又はデバイス６００を他のデバイスへ接続することに関する動作が含まれる。処理動作には、オーディオＩ／Ｏ及び／又はディスプレイＩ／Ｏに関する動作も含まれてよい。
【００６１】
一実施形態において、デバイス６００はオーディオサブシステム６２０を含む。オーディオサブシステム６２０は、オーディオ機能をコンピュータデバイスに提供することに関連したハードウェア（例えば、オーディオハードウェア及びオーディオ回路）及びソフトウェア（例えば、ドライバ、コーデック）コンポーネントを表す。オーディオ機能には、スピーカ及び／又はヘッドホン出力並びにマイクロホン入力が含まれ得る。そのような機能のためのデバイスは、デバイス６００と一体化されるか、あるいは、デバイス６００へ接続され得る。一実施形態において、ユーザは、プロセッサ６１０によって受け取られて処理されるオーディオコマンドを与えることによって、デバイス６００と対話する。
【００６２】
ディスプレイサブシステム６３０は、ユーザがコンピュータデバイスと対話するための視覚的及び／若しくは触覚的な表示並びに／又は視覚的に認知可能な出力を提供するハードウェア（例えば、表示デバイス）及びソフトウェア（例えば、ドライバ）を表す。ディスプレイサブシステム６３０は、表示をユーザに提供するために使用される特定のスクリーン又はハードウェアデバイスを含む表示インターフェイス６３２を含む。一実施形態において、表示インターフェイス６３２は、表示に関する少なくとも何らかの処理を実行する、プロセッサ６１０とは別個のロジックを含む。一実施形態において、ディスプレイサブシステム６３０は、ユーザへ出力を提供するとともにユーザからの入力を受けるタッチスクリーンデバイスを含む。一実施形態において、ディスプレイサブシステム６３０は、出力をユーザに提供する高精細（ＨＤ）ディスプレイを含む。高精細は、約１００ＰＰＩ（pixels  per  inch）以上のピクセル密度を有するディスプレイを言うことができ、フルＨＤ（例えば、１０８０ｐ）、レティナ（retina）ディスプレイ、４Ｋ（超高精細若しくはＵＨＤ）、又は他のようなフォーマットを含むことができる。
【００６３】
Ｉ／Ｏコントローラ６４０は、ユーザとのインタラクションに関するハードウェアデバイス及びソフトウェアコンポーネントを表す。Ｉ／Ｏコントローラ６４０は、オーディオサブシステム６２０及び／又はディスプレイサブシステム６３０の部分であるハードウェアを管理するよう動作することができる。加えて、Ｉ／Ｏコントローラ６４０は、デバイス６００へ接続する追加のデバイスのための接続点を表し、それを通じてユーザはシステムと相互作用してよい。例えば、デバイス６００に取り付けられ得るデバイスには、マイクロホンデバイス、スピーカ若しくはステレオシステム、ビデオシステム若しくは他の表示デバイス、キーボード若しくはキーパッドデバイス、又はカードリーダ若しくは他のデバイスのような特定の用途により使用される他のＩ／Ｏデバイスが含まれ得る。
【００６４】
上述されたように、Ｉ／Ｏコントローラ６４０は、オーディオサブシステム６２０及び／又はディスプレイサブシステム６３０と相互作用することができる。例えば、マイクロホン又は他のオーディオデバイスを通じた入力は、デバイス６００の１つ以上のアプリケーション又は機能のための入力又はコマンドを与えることができる。加えて、オーディオ出力は、ディスプレイ出力の代わりに、又はそれに加えて供給され得る。他の例では、ディスプレイサブシステム６３０がタッチスクリーンを含む場合には、表示デバイスは入力デバイスとしても働き、Ｉ／Ｏコントローラ６４０によって少なくとも部分的に管理され得る。Ｉ／Ｏコントローラ６４０によって管理されるＩ／Ｏ機能を提供するようデバイス６００には更なるボタン又はスイッチも存在することができる。
【００６５】
一実施形態において、Ｉ／Ｏコントローラ６４０は、例えば、加速度計、カメラ、光センサ若しくは他の環境センサ、ジャイロスコープ、グローバルポジショニングシステム（ＧＰＳ；global  positioning  system）、又はデバイス６００に含まれ得る他のハードウェアのような、デバイスを管理する。入力は、直接的なユーザインタラクションの部分であることができるとともに、環境入力をシステムに与えてその動作（例えば、雑音のフィルタリング、輝度検出のためのディスプレイの調整、カメラのフラッシュの適用、又は他の機能）に作用することができる。一実施形態において、デバイス６００は、バッテリ電力使用量、バッテリの充電、及び電力節約動作に関する機能を管理するパワーマネージメント６５０を含む。
【００６６】
メモリサブシステム６６０は、情報をデバイス６００において記憶するためのメモリデバイス６６２を含む。メモリサブシステム６６０は、不揮発性（メモリデバイスへの電力が中断される場合に状態が変化しない。）及び／又は揮発性（メモリデバイスへの電力が中断される場合に状態が不定である。）メモリデバイスを含むことができる。メモリ６６０は、アプリケーションデータ、ユーザデータ、音楽、写真、ドキュメント、又は他のデータとともに、システム６００のアプリケーション及び機能の実行に関するシステムデータ（長期又は一時に関わらず。）を記憶することができる。一実施形態において、メモリサブシステム６６０はメモリコントローラ６６４を含む（メモリコントローラ６６４は、システム６００の制御の部分とも見なされてよく、場合によっては、プロセッサ６１０の部分と見なされてよい。）。メモリコントローラ６６４は、メモリデバイス６６２へのコマンドを生成し発行するスケジューラを含む。
【００６７】
コネクティビティ６７０は、デバイス６００が外部のデバイスと通信することを可能にするハードウェアデバイス（例えば、無線及び／又は有線コネクタ並びに通信ハードウェア）及びソフトウェアコンポーネント（例えば、ドライバ、プロトコルスタック）を含む。外部のデバイスは、他のコンピュータデバイス、無線アクセスポイント又は基地局のような別個デバイス、並びにヘッドセット、プリンタ又は他のデバイスのような周辺機器であってよい。
【００６８】
コネクティビティ６７０は、多種多様なタイプのコネクティビティを含むことができる。一般的に言えば、デバイス６００は、セルラーコネクティビティ６７２及び無線コネクティビティ６７４により表されている。セルラーコネクティビティ６７２は、例えば、ＧＳＭ（global  system  for  mobile  communications）又は変形若しくは派生、ＣＤＭＡ（code  division  multiple  access）又は変形若しくは派生、ＴＤＭ（time  division  multiplexing）又は変形若しくは派生、ＬＴＥ（long-term  evolution、「４Ｇ」とも呼ばれる。）、あるいは他のセルラーサービス標準を介して提供されるような、無線キャリアによって提供されるセルラーネットワークコネクティビティを言う。無線コネクティビティ６７４は、セルラーではない無線コネクティビティを言い、パーソナルエリアネットワーク（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標））、ローカルエリアネットワーク（例えば、Ｗｉ−Ｆｉ（登録商標））、及び／又はワイドエリアネットワーク（例えば、ＷｉＭＡＸ（登録商標））、あるいは、他の無線通信を含むことができる。無線通信は、非個体媒体を通じた変調された電磁放射の使用によるデータの転送を言う。
【００６９】
周辺接続６８０は、周辺接続を行うハードウェアインターフェイス及びコネクタ並びにソフトウェアコンポーネント（例えば、ドライバ、プロトコルスタック）を含む。デバイス６００は、他のコンピュータデバイスへの周辺機器であってよく（“ｔｏ”１６８２）、更には、周辺機器を自身に接続されることも可能である（“ｆｒｏｍ”１６８４）ことが理解されるだろう。デバイス６００は、デバイス６００においてコンテンツを管理すること（例えば、ダウンロード及び／又はアップロード、変更、同期化）のような目的のために、他のコンピュータデバイスへ接続するための“ドッキング”コネクタを一般的に備える。加えて、ドッキングコネクタは、デバイス６００が、例えば、オーディオビジュアル又は他のシステムへ出力されるコンテンツを制御することを可能にする特定の周辺機器へ、デバイス６００が接続することを可能にすることができる。
【００７０】
独自仕様のドッキングコネクタ又は他の独自仕様の接続ハードウェアに加えて、デバイス６００は、共通の又は標準規格に基づいたコネクタを介して周辺機器接続６８０を行うことができる。共通のタイプには、ユニバーサル・シリアル・バス（ＵＳＢ）コネクタ（多種多様なハードウェアインターフェイスのいずれかを含むことができる。）、ミニディスプレイポート（ＭＤＰ；ＭｉｎｉＤｉｓｐｌａｙＰｏｒｔ）を含むディスプレイポート、高精細マルチメディアインターフェイス（ＨＤＭＩ）、ファイアワイヤ、又は他のタイプが含まれ得る。
【００７１】
一実施形態において、プロセッサ６１０は、本願で記載される如何なる実施形態にも従うフロントエンド回路であるＡＦＥ６１２を含む。ＡＦＥ６１２は、プロセッサ６１０を複数のセンサ（特に図示されないが、Ｉ／Ｏコントローラ６４０を介して接続されてよい。）へインターフェイス接続する。ＡＦＥ６１２は、電圧モード及び／又は電流モード入力部を含むことができる。一実施形態において、ＡＦＥ６１２は、フロントエンドを実装するために必要とされるアナログ回路構成の量を削減するよう、複数のセンサからの入力を多重化する。ＡＦＥ６１２は動的に構成可能であり、このことは、フロントエンド回路がその動作及びアナログ入力のサンプリングを調整して動作の効率を改善することを可能にする。ＡＦＥ６１２は、アナログ入力要素（特に図示せず。）へのフィードバックを生成してそれらの動作を動的に調整するプリプロセッサ（特に図示せず。）を含む。よって、ＡＦＥ６１２は、センサとのインターフェイスの効率を改善するようランタイムで動作を変更することができる。
【００７２】
一態様において、デジタルプロセッサを複数のアナログデバイスとインターフェイス接続する方法は、アナログインターフェイスコンポーネント及びプリプロセッサコンポーネントを含む動的に構成可能なフロントエンド回路において複数の異なるアナログデバイスから複数の未処理のアナログ入力信号を受信するステップと、前記フロントエンド回路により前記アナログ入力信号をサンプリングするステップであり、前記プリプロセッサコンポーネントにより前記アナログ入力信号を解析することを含むステップと、如何にして前記フロントエンド回路が前記アナログ入力信号をサンプリングするかを動的に調整するよう、前記プリプロセッサコンポーネントによる前記解析に基づき、前記プリプロセッサコンポーネントから前記アナログインターフェイスコンポーネントへ制御信号を送るステップとを含む。
【００７３】
一実施形態において、複数のアナログ入力信号を受信するステップは、少なくとも１つの電圧モード信号を受信することを有する。一実施形態において、複数のアナログ入力信号を受信するステップは、少なくとも１つの電流モード信号を受信することを有する。一実施形態において、複数のアナログ入力信号を受信するステップは、少なくとも１つの電圧モード信号入力及び少なくとも１つの電流モード信号入力を受けることを有する。一実施形態において、前記アナログ入力信号を解析することは、予備的処理をされた入力信号を関連するプロセッサへ送るべきか又は前記入力信号をドロップすべきかどうかを判定することを更に有する。一実施形態において、前記アナログ入力信号を解析することは、デジタルフィルタリングを実行することを有する。一実施形態において、前記アナログ入力信号を解析することは、信号平滑化を実行することを有する。一実施形態において、前記アナログ入力信号を解析することは、離散フーリエ変換を実行することを有する。一実施形態において、前記アナログ入力信号を解析することは、信号特徴認識を実行することを有する。一実施形態において、前記制御信号を送るステップは、増幅器ゲイン制御信号を送ることを有する。一実施形態において、前記制御信号を送るステップは、増幅器帯域幅制御信号を送ることを有する。一実施形態において、前記制御信号を送るステップは、増幅器の一部分をシャットダウンする信号を送ることを有する。一実施形態において、前記制御信号を送るステップは、入力マルチプレクサ制御信号を送ることを有する。一実施形態において、前記制御信号を送るステップは、アナログ−デジタル変換器サンプリングレート制御信号を送ることを有する。一実施形態において、前記制御信号を送るステップは、ウェイクアップ信号を送ることを有する。一実施形態において、前記制御信号を送るステップは、スリープ信号を送ることを有する。一実施形態において、当該方法は、単一のアナログ−デジタル変換器により前記複数のアナログ入力信号を多重化するステップを更に有する。
【００７４】
一態様において、デジタルプロセッサを複数のアナログデバイスとインターフェイス接続するフロントエンド回路は、複数の異なるアナログデバイスから複数の未処理のアナログ入力信号を受信する複数のアナログ入力ハードウェアインターフェイスと、前記アナログ入力信号をサンプリングするアナログ−デジタル変換回路と、前記アナログ入力信号を解析し、如何にして当該フロントエンド回路が前記アナログ入力信号をサンプリングするかを動的に調整するよう前記解析に基づき前記アナログ−デジタル変換回路へ制御信号を送る信号制御及び処理ブロック（ＳＣＰ）とを有する。
【００７５】
一実施形態において、前記複数のアナログ入力ハードウェアインターフェイスは、少なくとも１つの電圧モード信号入力を含む。一実施形態において、前記複数のアナログ入力ハードウェアインターフェイスは、少なくとも１つの電流モード信号入力を含む。一実施形態において、前記複数のアナログ入力ハードウェアインターフェイスは、少なくとも１つの電圧モード信号入力及び少なくとも１つの電流モード信号入力を含む。一実施形態において、前記ＳＣＰは、予備的処理をされた入力信号を関連するプロセッサへ送るべきか又は前記入力信号をドロップすべきかどうかを判定することを含めて、前記アナログ入力信号を解析する。一実施形態において、前記ＳＣＰは、デジタルフィルタリング、信号平滑化、離散フーリエ変換、又は信号特徴認識のうちの１つ以上を実行することを含めて、前記アナログ入力信号を解析する。一実施形態において、前記ＳＣＰは、増幅器ゲイン制御信号、増幅器帯域幅制御信号、増幅器の一部分をシャットダウンする信号、入力マルチプレクサ制御信号、アナログ−デジタル変換器サンプリングレート制御信号、ウェイクアップ信号、又はスリープ信号のうちの１つ以上を送ることを含めて、前記制御信号を送る。一実施形態において、前記ＳＣＰは、前記信号が増幅される必要がないと前記解析により決定することに応答して、入力に増幅器をバイパスさせるよう前記制御信号を送る。一実施形態において、当該フロントエンド回路は、前記複数のアナログ入力信号を単一のアナログ−デジタル変換器へと多重化するマルチプレクサを更に有する。
【００７６】
一態様において、デジタルプロセッサを複数のアナログデバイスとインターフェイス接続するフロントエンド回路を備えるシステムは、複数の異なるアナログデバイスから複数の未処理のアナログ入力信号を受信する複数のアナログ入力ハードウェアインターフェイスと、前記アナログ入力信号をサンプリングするアナログ−デジタル変換回路と、前記アナログ入力信号を解析し、如何にして当該フロントエンド回路が前記アナログ入力信号をサンプリングするかを動的に調整するよう前記解析に基づき前記アナログ−デジタル変換回路へ制御信号を送る信号制御及び処理ブロック（ＳＣＰ）とを有するフロントエンド回路と、該フロントエンド回路へ結合され、該フロントエンド回路からアナログ入力信号サンプルを受信するプロセッサと、該プロセッサへ結合され、前記フロントエンド回路で受信されたデータに基づき視覚的に認知可能な出力を生成する高精細ディスプレイとを有する。
【００７７】
一実施形態において、前記複数のアナログ入力ハードウェアインターフェイスは、少なくとも１つの電圧モード信号入力を含む。一実施形態において、前記複数のアナログ入力ハードウェアインターフェイスは、少なくとも１つの電流モード信号入力を含む。一実施形態において、前記複数のアナログ入力ハードウェアインターフェイスは、少なくとも１つの電圧モード信号入力及び少なくとも１つの電流モード信号入力を含む。一実施形態において、前記ＳＣＰは、予備的処理をされた入力信号を関連するプロセッサへ送るべきか又は前記入力信号をドロップすべきかどうかを判定することを含めて、前記アナログ入力信号を解析する。一実施形態において、前記ＳＣＰは、デジタルフィルタリング、信号平滑化、離散フーリエ変換、又は信号特徴認識のうちの１つ以上を実行することを含めて、前記アナログ入力信号を解析する。一実施形態において、前記ＳＣＰは、増幅器ゲイン制御信号、増幅器帯域幅制御信号、増幅器の一部分をシャットダウンする信号、入力マルチプレクサ制御信号、アナログ−デジタル変換器サンプリングレート制御信号、ウェイクアップ信号、又はスリープ信号のうちの１つ以上を送ることを含めて、前記制御信号を送る。一実施形態において、前記ＳＣＰは、前記信号が増幅される必要がないと前記解析により決定することに応答して、入力に増幅器をバイパスさせるよう前記制御信号を送る。一実施形態において、前記フロントエンド回路は、前記複数のアナログ入力信号を単一のアナログ−デジタル変換器へと多重化するマルチプレクサを更に有する。
【００７８】
一態様において、実行される場合に、デジタルプロセッサを複数のアナログデバイスとインターフェイス接続する動作を実施するコンテンツが記憶されているコンピュータ可読記憶媒体を有する製品であって、前記コンテンツは、アナログインターフェイスコンポーネント及びプリプロセッサコンポーネントを含む動的に構成可能なフロントエンド回路において複数の異なるアナログデバイスから複数の未処理のアナログ入力信号を受信することと、前記フロントエンド回路により前記アナログ入力信号をサンプリングし、前記プリプロセッサコンポーネントにより前記アナログ入力信号を解析することを含むことと、如何にして前記フロントエンド回路が前記アナログ入力信号をサンプリングするかを動的に調整するよう、前記プリプロセッサコンポーネントによる前記解析に基づき、前記プリプロセッサコンポーネントから前記アナログインターフェイスコンポーネントへ制御信号を送ることとを含む、製品が提供される。
【００７９】
一実施形態において、複数のアナログ入力信号を受信するコンテンツは、少なくとも１つの電圧モード信号を受信するコンテンツを有する。一実施形態において、複数のアナログ入力信号を受信するコンテンツは、少なくとも１つの電流モード信号を受信するコンテンツを有する。一実施形態において、複数のアナログ入力信号を受信するコンテンツは、少なくとも１つの電圧モード信号入力及び少なくとも１つの電流モード信号入力を受けるコンテンツを有する。一実施形態において、前記アナログ入力信号を解析するコンテンツは、予備的処理をされた入力信号を関連するプロセッサへ送るべきか又は前記入力信号をドロップすべきかどうかを判定するコンテンツを更に有する。一実施形態において、前記アナログ入力信号を解析するコンテンツは、デジタルフィルタリング、信号平滑化、離散フーリエ変換、又は信号特徴認識のうちの１つ以上を実行するコンテンツを有する。一実施形態において、前記制御信号を送るコンテンツは、増幅器ゲイン制御信号、増幅器帯域幅制御信号、増幅器の一部分をシャットダウンする信号、入力マルチプレクサ制御信号、アナログ−デジタル変換器サンプリングレート制御信号、ウェイクアップ信号、又はスリープ信号のうちの１つ以上を送るコンテンツを有する。一実施形態において、当該製品の前記コンピュータ可読記憶媒体は、単一のアナログ−デジタル変換器により前記複数のアナログ入力信号を多重化するコンテンツを更に有する。
【００８０】
一態様において、デジタルプロセッサを複数のアナログデバイスとインターフェイス接続する装置は、アナログインターフェイスコンポーネント及びプリプロセッサコンポーネントを含む動的に構成可能なフロントエンド回路において複数の異なるアナログデバイスから複数の未処理のアナログ入力信号を受信する手段と、前記フロントエンド回路により前記アナログ入力信号をサンプリングする手段であり、前記プリプロセッサコンポーネントにより前記アナログ入力信号を解析することを含む手段と、如何にして前記フロントエンド回路が前記アナログ入力信号をサンプリングするかを動的に調整するよう、前記プリプロセッサコンポーネントによる前記解析に基づき、前記プリプロセッサコンポーネントから前記アナログインターフェイスコンポーネントへ制御信号を送る手段とを有する。
【００８１】
一実施形態において、複数のアナログ入力信号を受信する手段は、少なくとも１つの電圧モード信号を受信する手段を有する。一実施形態において、複数のアナログ入力信号を受信する手段は、少なくとも１つの電流モード信号を受信する手段を有する。一実施形態において、複数のアナログ入力信号を受信する手段は、少なくとも１つの電圧モード信号入力及び少なくとも１つの電流モード信号入力を受ける手段を有する。一実施形態において、前記アナログ入力信号を解析する手段は、予備的処理をされた入力信号を関連するプロセッサへ送るべきか又は前記入力信号をドロップすべきかどうかを判定する手段を更に有する。一実施形態において、前記アナログ入力信号を解析する手段は、デジタルフィルタリング、信号平滑化、離散フーリエ変換、又は信号特徴認識のうちの１つ以上を実行する手段を有する。一実施形態において、前記制御信号を送る手段は、増幅器ゲイン制御信号、増幅器帯域幅制御信号、増幅器の一部分をシャットダウンする信号、入力マルチプレクサ制御信号、アナログ−デジタル変換器サンプリングレート制御信号、ウェイクアップ信号、又はスリープ信号のうちの１つ以上を送る手段を有する。一実施形態において、当該装置は、単一のアナログ−デジタル変換器により前記複数のアナログ入力信号を多重化する手段を更に有する。
【００８２】
本願で表されているフロー図は、様々なプロセス動作のシーケンスの例を提供する。フロー図は、ソフトウェア又はファームウェアルーチンによって実行される動作と、物理動作とを含むことができる。一実施形態において、フロー図は、ハードウェア及び／又はソフトウェアにおいて実装され得る有限状態機械（ＦＳＭ；finite  state  machine）を表すことができる。特定のシーケンス又は順序で示されているとしても、特段示されない限りは、動作の順序は変更され得る。よって、表されている実施形態は、単に一例として理解されるべきであり、プロセスは異なる順序で実施されてよく、いくつかの動作は同時に実施されてよい。加えて、１つ以上の動作は、様々な実施形態において省略され得る。よって、全ての動作があらゆる実施形態で必要とされるわけではない。他のプロセスフローが可能である。
【００８３】
様々な動作又は機能が本願で記載されている限りにおいて、それらは、ソフトウェアコード、命令、構成、及び／又はデータとして記述又は定義され得る。コンテンツは、直接に実行ファイル（“オブジェクト”若しくは“実行可能”形式）、ソースコード、又は異なるコード（“デルタ”若しくは“パッチ”コード）であることができる。本願で記載される実施形態のソフトウェアコンテンツは、コンテンツが記憶されている製品を介して、又は通信インターフェイスを介してデータを送信するよう通信インターフェイスを作動させる方法を介して、提供され得る。マシン読み取り可能な記憶媒体は、記載されている機能又は動作をマシンに実行させることができ、追記型／非追記型媒体（例えば、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、など）のような、マシン（例えば、コンピュータデバイス、電子システム、など）によってアクセス可能な形で情報を記憶する如何なるメカニズムも含む。通信インターフェイスは、メモリバス、プロセッサバスインターフェイス、インターネット接続、ディスクコントローラ、などのような、他のデバイスと通信するようハードワイヤード、無線、光、などの媒体のいずれかとインターフェイス接続する如何なるメカニズムも含む。通信インターフェイスは、ソフトウェアコンテンツを記述するデータ信号を提供するように通信インターフェイスを準備するよう、構成パラメータを供給すること及び／又は信号を送信することによって構成され得る。通信インターフェイスは、通信インターフェイスへ送信される１つ以上のコマンド又は信号を介してアクセスされ得る。
【００８４】
本願で記載される様々なコンポーネントは、記載されている動作又は機能を実行する手段であることができる。本願で記載される夫々のコンポーネントは、ソフトウェア、ハードウェア、又はそれらの組み合わせを含む。コンポーネントは、ソフトウェアモジュール、ハードウェアモジュール、特別目的のハードウェア（例えば、特定用途向けハードウェア、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、など）、埋め込みコントローラ、ハードワイヤード回路構成、などとして実装され得る。
【００８５】
本願で記載されるものに加えて、開始されている実施形態及び発明の実施に対して、それらの適用範囲を逸脱することなしに、様々な変更が行われ得る。従って、本願における説明及び例は、制限的な意味ではなく、例示の意味において解釈されるべきである。本発明の適用範囲は、続く特許請求の範囲を参照することのみにより評価されるべきである。
【図１】
0006316988.tif 000002
【図２Ａ】
0006316988.tif 000003
【図２Ｂ】
0006316988.tif 000004
【図３Ａ】
0006316988.tif 000005
【図３Ｂ】
0006316988.tif 000006
【図４】
0006316988.tif 000007
【図５】
0006316988.tif 000008
【図６】
0006316988.tif 000009