(57)【要約】  様々な例は、物理量の測定法を実施するように構成可能なハードウェアモジュールを構成することを対象とする。構成マネージャは、物理量の指示と、物理量の測定法を記述する性能係数データとを受け取り得る。構成マネージャは、物理量の指示および性能係数データに少なくとも部分的に基づいて、ハードウェアのハードウェア構成を生成し得る。ハードウェア構成は、物理量の動的測定を実行するようにハードウェアモジュールを構成するための命令データを含み得る。構成マネージャはまた、ハードウェア構成を記述する構成データを生成し得、構成データが、ハードウェア構成のシミュレーションのための入力パラメータを含むシミュレーションデータと、ハードウェア構成の少なくとも一部を実施するようにハードウェアモジュールを構成するためのハードウェア構成データと、を含む。
2019507455.tif 000002
【特許請求の範囲】
【請求項１】
構成可能なハードウェアモジュールを物理量の測定法を実施するように構成するためのシステムであって、
ユーザから、前記物理量の指示を受け取ることと、
前記ユーザから、前記物理量の前記測定法を記述する性能係数データを受け取ることと、
前記物理量の前記指示および前記性能係数データに少なくとも部分的に基づいて、前記物理量を測定するための前記ハードウェアモジュールのハードウェア構成を生成することであって、前記ハードウェア構成が、前記物理量の動的測定を実行するように前記ハードウェアモジュールを構成するための命令データを含む、生成することと、
前記ハードウェア構成を記述する構成データを生成することであって、前記構成データが、前記ハードウェア構成の少なくとも一部を実装するようにハードウェアモジュールを構成するためのハードウェア構成データを含む、生成することと、を含むアクションを実施するように構成された構成マネージャ、を備える、システム。
【請求項２】
前記命令データが、
センサに励磁信号を提供することと、
前記センサに前記励磁信号を提供した後、前記センサに修正された励磁信号を提供することと、を含む動作を実施するように前記ハードウェアモジュールの制御回路を構成する命令を含む、請求項１に記載のシステム。
【請求項３】
前記命令データが、
第１の条件が真であると判定することと、
前記第１の条件が真であると判定した後、センサからの入力信号を測定することであって、前記入力信号が前記物理量を示す、測定することと、を含む動作を実施するように前記ハードウェアモジュールの制御回路を構成する命令を含む、請求項１に記載のシステム。
【請求項４】
前記ハードウェア構成が、前記物理量を検知するようにセンサにバイアスをかけるための前記ハードウェアモジュールの励磁チャネルを構成するための励磁チャネルデータと、前記センサから前記物理量を示す信号を受け取るための前記ハードウェアモジュールの入力チャネルを構成するための入力チャネルデータと、をさらに含む、請求項１〜３のいずれか一項に記載のシステム。
【請求項５】
前記構成マネージャが、前記ハードウェアモジュールの記述を受け取ることを含むアクションを実施するようにさらに構成され、前記ハードウェア構成の前記生成がまた、前記ハードウェアモジュールの前記記述にも少なくとも部分的に基づいている、請求項１〜３のいずれか一項に記載のシステム。
【請求項６】
前記構成マネージャがまた、
第１の候補ハードウェア構成のための構成データを生成することと、
シミュレーションマネージャから、前記第１の候補ハードウェア構成のシミュレーションを要求することと、
前記シミュレーションマネージャから、前記第１の候補ハードウェア構成の前記シミュレーションを記述する第１のシミュレーションデータを受け取ることであって、前記ハードウェア構成の前記生成が、前記第１のシミュレーションデータに少なくとも部分的に基づいている、受け取ることと、を含む動作を実施するようにも構成されている、請求項１〜３のいずれか一項に記載のシステム。
【請求項７】
前記性能係数データは、前記物理量を測定するためのセンサタイプの指示と、前記物理量を測定するための測定精度とを含む、請求項１〜３のいずれか一項に記載のシステム。
【請求項８】
前記構成マネージャがまた、
第１の候補ハードウェア構成を生成することと、
第２の候補ハードウェア構成を生成することと、
前記ユーザから、前記ハードウェア構成となる前記第１の候補ハードウェア構成または前記第２の候補ハードウェア構成の選択を受け取ることと、を含む動作を実施するように構成されている、請求項１〜３のいずれか一項に記載のシステム。
【請求項９】
前記性能係数データが、複数の性能係数を含み、構成マネージャがまた、
前記ユーザから、前記性能係数の少なくとも一部の重みを記述する重みデータを受け取ることと、
前記重みデータに少なくとも部分的に基づいて、候補ハードウェア構成のセットから、前記ハードウェア構成を選択することと、を含む動作を実施するようにも構成されている、請求項８に記載のシステム。
【請求項１０】
前記ハードウェア構成データが、前記ハードウェアモジュールにおいて前記ハードウェア構成を実装するスイッチネットワーク状態を記述するスイッチネットワークデータを含む、請求項１〜３のいずれか一項に記載のシステム。
【請求項１１】
前記ハードウェア構成データが、前記ハードウェアモジュールのスイッチネットワークの状態を記述するスイッチネットワークデータを含み、前記スイッチネットワークの前記状態が、前記ハードウェアモジュールのセンサ入力／出力（Ｉ／Ｏ）コネクタと前記ハードウェアモジュールの励磁チャネルとの間の第１の接続、および前記センサＩ／Ｏ接続と前記ハードウェアモジュールの入力チャネルとの間の第２の接続、を記述する、請求項１〜３のいずれか一項に記載のシステム。
【請求項１２】
前記ハードウェア構成データがまた、第２のスイッチネットワークの状態を記述するスイッチネットワークデータも含み、前記第２のスイッチネットワークの前記状態が、前記入力チャネルと前記ハードウェアモジュールのアナログデジタル変換器との間の第３の接続、および前記励磁チャネルと前記ハードウェアモジュールのアナログデジタル変換器との間の第４の接続を記述する、請求項１１に記載のシステム。
【請求項１３】
前記命令データが、
前記ハードウェアモジュールの励磁チャネルに励磁信号を提供することと、
前記ハードウェアモジュールの入力チャネルからセンサ入力を受け取ることと、を含む動作を実施するように前記ハードウェアモジュールの制御回路を構成する命令を含む、請求項１〜３のいずれか一項に記載のシステム。
【請求項１４】
前記構成データが、前記ハードウェア構成のシミュレーションのための入力パラメータを含むシミュレーションデータをさらに含む、請求項１〜３のいずれか一項に記載のシステム。
【請求項１５】
シミュレーションマネージャをさらに備え、前記シミュレーションマネージャが、
前記入力パラメータを受け取ることと、
前記ハードウェア構成のシミュレーションを生成することと、
前記ユーザに前記ハードウェア構成の前記シミュレーションの結果を提供することと、を含む動作を実施するように構成されている、請求項１４に記載のシステム。
【請求項１６】
前記ハードウェア構成が、
第１のセンサから第１のセンサ信号を受け取るための第１の入力チャネルと、
前記第１のセンサ信号を受け取るための第２の入力チャネルと、
前記第１の入力チャネルの出力と前記第２の入力チャネルの出力とを結合して結合データストリームを生成するための命令と、を含む、請求項１〜３のいずれか一項に記載のシステム。
【請求項１７】
物理量の測定法を実施するように、構成可能なハードウェアモジュールを構成するための方法であって、
ユーザから、かつ少なくとも１つのコンピューティングデバイスによって、前記物理量の指示を受け取ることと、
前記ユーザから、かつ前記少なくとも１つのコンピューティングデバイスによって、前記物理量の前記測定法を記述する性能係数データを受け取ることと、
前記少なくとも１つのコンピューティングデバイスによって、前記物理量の前記指示および前記性能係数データに少なくとも部分的に基づいて、前記物理量を測定するための前記ハードウェアモジュールのハードウェア構成を生成することであって、前記ハードウェア構成が、前記物理量の動的測定を実行するように前記ハードウェアモジュールを構成するための命令データを含む、生成することと、
前記少なくとも１つのコンピューティングデバイスによって、前記ハードウェア構成を記述する構成データを生成することであって、前記構成データが、前記ハードウェア構成の少なくとも一部を実装するようにハードウェアモジュールを構成するためのハードウェア構成データを含む、生成することと、を含む方法。
【請求項１８】
センサに励磁信号を提供することと、
前記センサに前記励磁信号を提供した後、前記センサに修正された励磁信号を提供することと、をさらに含む、請求項１７に記載の方法。
【請求項１９】
第１の条件が真であると判定することと、
前記第１の条件が真であると判定した後、センサからの入力信号を測定することであって、前記入力信号が前記物理量を示す、測定することと、をさらに含む、請求項１７に記載の方法。
【請求項２０】
コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、
ユーザから、物理量の指示を受け取ることと、
前記ユーザから、前記物理量の測定法を記述する性能係数データを受け取ることと、
前記物理量の前記指示および前記性能係数データに少なくとも部分的に基づいて、前記物理量を測定するための構成可能なハードウェアモジュールのハードウェア構成を生成することであって、前記ハードウェア構成が、前記物理量の動的測定を実行するように前記ハードウェアモジュールを構成するための命令データを含む、生成することと、
前記ハードウェア構成を記述する構成データを生成することであって、前記構成データが、前記ハードウェア構成の少なくとも一部を実装するようにハードウェアモジュールを構成するためのハードウェア構成データを含む、生成することと、を含む動作を実施させる記憶された命令を含む、マシン可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、２０１６年２月２２日に出願された米国仮出願第６２／２９８，３２８号の優先権の利益を主張し、参照によりその全体が本明細書に組み込まれる。
【０００２】
本文書は、物理量を測定するためのハードウェア構成を生成するための設計環境および技術を設計することを目的としているが、これに限定されない。
【背景技術】
【０００３】
電子デバイスは、化学もしくは工業プロセス制御、モーション制御、暖房、換気および空調（ＨＶＡＣ）の制御などのビル制御、ならびに監視制御およびデータ取得（ＳＣＡＤＡ）の状況などにおける遠隔監視もしくは制御などの様々なアプリケーションの監視または制御を容易にするために使用され得る。かかる電子デバイスの他のアプリケーションは、電気ネットワークの保護もしくは監視、スマートメータリング、またはユーティリティもしくは電力産業による他の使用のための、組み込みアプリケーションを含む。かかるデバイスは、電流、電圧、または抵抗（抵抗温度デバイス（ＲＴＤ）を使用した測定など）を監視するためなどの入力を有し得る。電子デバイスは、１つ以上の増幅またはフィルタリングを含むような信号調整を提供することができ、アナログデジタル変換機能を提供することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
様々な例は、物理量の測定法を実施するように構成可能なハードウェアモジュールを構成することに関する。構成マネージャは、物理量の指示と、物理量の測定法を記述する性能係数データとを受け取り得る。構成マネージャは、物理量の指示および性能係数データに少なくとも部分的に基づいて、ハードウェアのハードウェア構成を生成し得る。ハードウェア構成は、物理量の動的測定を実行するようにハードウェアモジュールを構成するための命令データを含み得る。構成マネージャはまた、ハードウェア構成を記述する構成データを生成し得、構成データが、ハードウェア構成のシミュレーションのための入力パラメータを含むシミュレーションデータと、ハードウェア構成の少なくとも一部を実装するようにハードウェアモジュールを構成するためのハードウェア構成データと、を含む。方法およびマシン可読媒体の例もまた説明されている。
【０００５】
必ずしも一定の縮尺で描かれていない図面において、同様の数字は、異なる図で類似の構成要素を説明することがある。異なる文字接尾辞を有する同様の数字は、同様の構成要素の異なる実例を表し得る。図面は、一般に、本文書で論じられている様々な実施形態を例として示すが、これに限定されるものではない。
【図面の簡単な説明】
【０００６】
【図１】測定のためのハードウェア構成を生成およびテストするための環境の一例を示す図である。
【図２】測定のためのハードウェア構成を生成およびテストするための環境の別の例を示す図である。
【図３】構成可能なハードウェアモジュールの配置の一例を示す図である。
【図４】構成可能なハードウェアモジュールの配置の別の例を示す図である。
【図５】構成可能なハードウェアモジュールの配置のさらに別の例を示す図である。
【図６】構成可能なハードウェアモジュールのハードウェア構成のための構成データの配置の一例を示す図である。
【図７】図１のシミュレーションマネージャによるシミュレーションの構成データによって記述され得る信号チェーンの一例を示す図である。
【図８】図１のシミュレーションマネージャによるシミュレーションの構成データ１１０によって記述され得る信号チェーンの別の例を示す図である。
【図９】図１のシミュレーションマネージャによるシミュレーションの構成データによって記述され得る信号チェーンのさらに別の例を示す図である。
【図１０】構成可能なハードウェアモジュールのためのハードウェア構成を生成およびシミュレートするために図１の環境において実行され得るプロセスフローの一例を示すフロー図である。
【図１１】測定される物理量を記述するデータを受け取るための図１のユーザインターフェースのスクリーンを示すスクリーンショットである。
【図１２】ユーザから追加の設計入力を受け取るための測定法フィールドのより詳細な図を含む、図１１のスクリーンの図の別の例を示す図１１のスクリーンショットである。
【図１３】ユーザからの性能係数データおよび追加の設計入力を受け取るための測定法フィールドの図を含む、図１１のスクリーンの図の別の例を示すスクリーンショットである。
【図１４】ユーザから追加の設計入力を受け取るための受け取りのための測定法フィールドの図を含む、図１１のスクリーンの図の別の例示を示すスクリーンショットである。
【図１５】ユーザから追加の設計入力を受け取るための受け取りのための構成詳細フィールドの図を含む、図１１のスクリーンの図の別の例を示すスクリーンショットである。
【図１６】図１１のスクリーンの図の別の例を示すスクリーンショットである。
【図１７】測定法フィールドにおける候補ハードウェア構成を表示する、図１１のスクリーンの図の別の例を示すスクリーンショットである。
【図１８】選択されたハードウェア構成を記述する追加の情報を表示する図１１のスクリーンの図の別の例を示すスクリーンショットである。
【図１９】シミュレーションスクリーンの一例を示すスクリーンショットである。
【図２０】波形評価の結果を見るために波形評価タブが選択された、図１９のスクリーンの別の例を示すスクリーンショットである。
【図２１】周波数応答タブが選択された、図１９のスクリーンの別の例を示すスクリーンショットである。
【図２２】コンピューティングデバイスのためのソフトウェアアーキテクチャの一例を示すブロック図である。
【図２３】その中で命令のセットまたはシーケンスを実行して、本明細書で論じた技法の任意の１つの例をマシンに実施させることができる、コンピューティングデバイスハードウェアアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【０００７】
本発明者らは、とりわけ、集積デバイスまたはシステムなどの電子ハードウェアデバイスが、様々なユーザ構成可能な機能を提供できることを認識した。かかるバイスは、可変ゲイン増幅器、フィルタ回路、およびデジタル化回路（例えば、１つ以上のアナログデジタル変換器を含む）のうちの１つ以上を有する複素信号チェーンを含むデータ変換機能を含み得る。かかるデバイスはまた、１つ以上の汎用プロセッサ回路または１つ以上の特定用途向け回路を含むような、１つ以上のプロセッサ回路を含み得る。かかる回路は、１つ以上の特定の用途に合わせた信号処理能力を含み得る。かかる用途は、例えば、データ変換デバイスに連結されたセンサまたはトランスデューサから取得された情報の線形化を含み得る。例示的な例として、かかる処理は、処理されている信号のうちの１つ以上を組み合わせること、数値技術または他の特定用途の信号調整を適用することなど、特定の測定機能に合わせた処理を含み得る。
【０００８】
一例において、集積電子デバイスは、測定に使用され得、時には励磁生成回路と呼ばれる、バイアスまたは刺激生成回路を含み得る。かかる刺激生成回路は、データ変換デバイスに連結されたトランスデューサまたは他の負荷デバイスに給電するための励磁信号（例えば、バイアス信号またはフィールド電力）を提供するために使用され得る。例えば、データ変換デバイスは、デジタル励磁信号をトランスデューサのアナログ励磁信号に変換するための１つ以上のデジタル−アナログ変換回路を含み得る。
【０００９】
本発明者らはまた、とりわけ、広範囲の構成オプションを提供することが、集積測定デバイスまたは他の電子回路のユーザに課題を与え得ることを認識した。例えば、データ変換デバイス（例えば、アナログデジタル変換器またはデジタルアナログ変換器）を求めるユーザは、広範囲の異なる利用可能なデバイスに直面する場合、または特定のデバイスに関連する広範囲の内部構成オプションに直面した場合に、特定の用途のためのデータ変換デバイスを選択または構成することに困難を有することがある。結果として、ユーザは、指定された測定性能目標を満たすことができないデバイスなど、特定の用途に不適切なデバイスを選択する可能性がある。
【００１０】
自動または半自動ツールを含む設計環境は、測定アプリケーションなどの、集積デバイスの選択、シミュレーション、および構成を容易にするために使用され得る。かかるツールは、ネットワークを介したアクセスのためにオンラインで提供されてもよく、またはマシン可読媒体（例えば、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）媒体、デジタル多用途ディスク読み取り専用メモリ（ＤＶＤ−ＲＯＭ）媒体、もしくはフラッシュメモリデバイスなどのメモリ技術デバイス）に分散されるようなスタンドアロンデバイスの使用に提供されてもよく、またはネットワークからダウンロードすることによって提供され得る。
【００１１】
設計環境を使用する設計フローは、「ソフトウェア定義測定」またはＳＤＭスキームの一部と呼ばれ得る。かかるスキームは「ソフトウェア」に言及しているが、かかるスキームは、一般に、１つ以上のデータ変換デバイスを組み込むフレキシブル（例えば構成可能な）集積回路デバイスを含む、データ変換デバイスまたはシステムの選択、シミュレーション、プロトタイピング、および構成情報の提供のうちの１つ以上を含み得る。例えば、ユーザは、測定されている単位（例えば、セ氏温度Ｃまたは別のパラメータ）における測定パラメータに関して定義された物理量などの測定目的を指定することができる。かかるパラメータは、データ変換回路またはシステムによって直接測定された単位で定義される必要はない。例えば、かかる測定パラメータは、電圧、電圧分解能、電流、または電流分解能に関して指定される必要はないが、その代わり、例示的な例のように、温度または圧力の物理単位などの測定された物理量を記述する用途由来の単位において指定され得る。ユーザはまた、測定精密度、測定精度、測定がなされ得る値の範囲、または１つ以上の他の係数のうちの１つ以上などに関して、測定パラメータに関連する１つ以上の性能基準または性能係数を指定することができる。トランスデューサまたはセンサ、データ変換デバイス、信号調整回路、および信号処理のうちの１つ以上からの誤差寄与が、システム誤差全体を推定するために使用され得る。かかるシステム全体の誤差は、トランスデューサとデータ変換デバイスとの特定の組み合わせが指定された基準を満たすことができるか否かを判定するような、１つ以上の性能係数と比較され得る。
【００１２】
ソフトウェア定義測定スキームは、指定された測定目的を提供することができるデバイスが識別される対話型環境を提供することができる。例えば、トランスデューサおよびデバイスの特定の組み合わせ、または測定システムの他の要素の組み合わせの性能を評価するために、利用可能なデバイスがユーザに識別され得、調整可能なパラメータの範囲がユーザに提供され得る。
【００１３】
より洗練されているかまたは経験豊富なユーザは、信号チェーン全体の選択に候補デバイスを提供する環境を必要とせずに、対話型環境内での評価のための特定のハードウェア構成を入力することができる。例えば、ユーザは、既存のハードウェア構成（１つ以上のアナログデジタル変換器または他の機能要素を含む既存の信号チェーンなど）を異なる測定用途に再ターゲット化し得る。対話型環境は、ユーザが他の既存のハードウェア構成（新しいユースケースまたは測定システム用のアプリケーションなど）のために異なるトランスデューサを選択した場合など、再ターゲット化されたシステムの性能を予測するために使用され得る。かかる例において、環境は、トランスデューサからの誤差寄与または線形化などの関連処理を含む、所望の測定のためのエンドツーエンドシステム性能の推定値を提供することができる。
【００１４】
ユーザは、行動シミュレーションモデルを使用して様々なデバイスの代替または構成を探索するなど、１つ以上のデータ変換デバイスをシミュレートする環境を使用することができる。１つ以上の特定のデバイスまたはデバイス構成が識別された後、ユーザは、ソフトウェアまたはハードウェア環境のいずれかで定義された信号処理を提供するためのツールと集積することができるような、ハードウェアモジュールを使用して、エンドユースアプリケーションをシミュレートすることができる。このようにして、ユーザは、変換デバイスの選択と、デバイス構成と、行動シミュレーションのうちの１つ以上を含む階層を通じて、仮想的（例えば、「仮想評価」）に移動することができ、開発が進むにつれて「ハードウェアインザループ」を組み込むことができる。シミュレートされたシステム内の信号チェーンの部分は、性能を分析または検証するための開発フローの後半などの、少なくとも一部において、ハードウェア実装またはハードウェアエミュレートが可能である。設計環境からの出力は、指定された性能係数を満たすために測定目的に関する情報を使用するなど、特定の用途のためのデータ変換デバイスを構成するための構成データを含み得る。
【００１５】
ユーザは、設計環境によってサポートされる設計フロー全体をたどる必要はない。例えば、ユーザは、測定目的または他の情報を入力し、測定目的または測定性能係数などに基づいて、デバイス選択のような特定のニーズに対処するフローを含む、利用可能なツールセットの一部を使用することができる。    別の例において、ユーザは、デバイス選択ツールの使用を必要とすることなく、行動シミュレーションのための指定されたデバイス組み合わせ（例えば、トランスデューサ、変換デバイス、信号調整、または他の信号処理回路のうちの１つ以上を含む）を選択して、まず利用可能なデバイスの一覧を絞り込むことができる。
【００１６】
本発明者らはまた、測定法によって決定される電子ハードウェア設計における構成可能性およびスケーラビリティの向上の必要性を認識した。例えば、プロトタイピングに使用される構成可能なハードウェアは、単価の上限がなくても量産向けにスケーリングするには不適切な場合が多い。さらに、多くの特定用途向け集積回路（ＡＳＩＣ）などの、構成可能性が低いカスタムハードウェアは、小規模な生産稼働には費用対効果がない。本明細書に記載されるいくつかの例は、本明細書に記載されるように、構成可能な励磁チャネルおよび入力チャネルと、データ変換デバイスと、制御回路と、を有するアナログフロントエンドを有するハードウェアモジュールを提供することによって、この必要性に対処する。
【００１７】
本明細書に記載されるいくつかの例はまた、構成可能なハードウェアモジュールのためのハードウェア構成を生成し、ハードウェア構成は、動的測定を実装するように構成可能なハードウェアモジュールを構成するための命令データを含む。構成可能なハードウェアモジュールは、例えば、物理量を経時的に測定する方法を変化させることによって、例えば、センサの励磁を変化させることによって、および／またはセンサからの入力信号を異なる時間に異なる方法で処理することによって、動的測定を実装し得る。
【００１８】
図１は、測定のためのハードウェア構成を生成およびテストするための環境１００の一例を示す図である。環境１００は、集合的および／または個別にユーザインターフェース（ＵＩ）１０６を生成する、構成マネージャ１０２およびシミュレーションマネージャ１０４を含む。ＵＩ  １０６は、ユーザコンピューティングデバイス１２２を介してユーザ１２４に提供される。ユーザ１２４は、構成可能なハードウェアモジュール１２０のための１つ以上のハードウェア構成を生成するため、および／または構成可能なハードウェアモジュール１２０のための１つ以上のハードウェア構成をシミュレートするために、構成マネージャ１０２および／またはシミュレーションマネージャ１０４と対話するために、ＵＩ  １０６を利用し得る。
【００１９】
構成マネージャ１０２およびシミュレーションマネージャ１０４は、サーバ１２６によって実行されるソフトウェアコードを含み得る。図１において、単一のサーバ１２６は、構成マネージャ１０２とシミュレーションマネージャ１０４との両方を実行する。しかしながら、いくつかの例において、構成マネージャ１０２およびシミュレーションマネージャ１０４は、２つ以上の異なるサーバまたは他の適切なコンピューティングデバイスにおいて実行され得る。
【００２０】
ＵＩ  １０６は、構成マネージャ１０２および／またはシミュレーションマネージャ１０４によって生成され得、任意の適切な方法でユーザコンピューティングデバイス１２２に供給され得る。いくつかの例において、構成マネージャ１０２および／またはシミュレーションマネージャ１０４は、インターネットまたは他の適切なネットワークを介して、ユーザコンピューティングデバイス１２２にＵＩ  １０６を提供するためのウェブサーバを含むか、またはこれと通信し得る。ユーザコンピューティングデバイス１２２は、例えば、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、モバイルコンピューティングデバイスなどの任意の適切なコンピューティングデバイスであり得る。構成マネージャ１０２および／またはシミュレーションマネージャ１０４は、測定法によって決定される電子ハードウェアのための設計およびシミュレーション機能をユーザ１２４に提供するために、ＵＩ  １０６を配置し得る。
【００２１】
ユーザ１２４は、ＵＩ  １０６を介して、構成マネージャ１０２および／またはシミュレーションマネージャ１０４に、測定される物理的特性および性能係数を提供し得る。物理量は、構成可能なハードウェアモジュール１２０の一部である、および／またはこれと通信しているトランスデューサまたは他のセンサ１２８によって、直接的または間接的に測定され得る任意の物理量であり得る。測定され得る物理量の例は、温度、圧力、光、重量、力、接触、近接、流れ、酸性度またはｐＨなどの化学量などを含む。性能係数は測定法を記述し得、例えば、測定精密度、測定精度、測定可能な値の範囲などを含み得る。
【００２２】
構成マネージャ１０２は、構成可能なハードウェアモジュール１２０のハードウェア構成を生成するために、受け取られた物理量および性能係数を利用し得る。例えば、構成マネージャ１０２は、物理量および性能係数によって示される物理量を測定するのに適したセンサ１２８を選択し得る。いくつかの例において、構成マネージャ１０２は、構成マネージャ１０２と通信し得る構成データストア１０８から、潜在的なセンサ１２８および／またはハードウェア構成に関するデータを受け取り得る。
【００２３】
構成マネージャ１０２はまた、例えば、受け取られた設計パラメータにも基づいて、構成データ１１０を生成し得る。構成データ１１０は、構成可能なハードウェアモジュール１２０のための１つ以上のハードウェア構成（例えば、設計パラメータから導出される）を記述し得る。例えば、構成データ１１０は、ハードウェア構成を実装する構成可能なハードウェアモジュール１２０において、ハードウェア構成を生成するための命令および／またはプログラミングパラメータを含むハードウェア構成データを含み得る。例えば、ハードウェア構成データは、構成可能なハードウェアモジュール１２０における様々なスイッチの状態、構成可能なハードウェアモジュール１２０の制御回路において実行されるファームウェアまたは他の命令などを記述し得る。構成データ１１０はまた、例えば、シミュレーションマネージャ１０４を利用してハードウェア構成をシミュレートするための入力パラメータを含むシミュレーションデータを含み得る。いくつかの例において、構成データ１１０はまた、例えば、本明細書に記載されるように、ＵＩ  １０６の全部または一部のための１つ以上の構成を含み得る。
【００２４】
構成可能なハードウェアモジュール１２０は、ハードウェア構成を実装するハードウェア構成データを受け取り得る。例えば、構成可能なハードウェアモジュール１２０は、例えばセンサ１２８を利用して性能係数に従って物理量を測定するようにハードウェア構成を実装し得る。センサ１２８は、物理量を測定するための任意の適切なトランスデューサまたは他のセンサであり、またはこれを含み得る。例えば、物理量が温度である場合、センサ１２８は、熱電対または他の適切な温度センサであり得る。物理量が圧力である場合、センサ１２８は、圧電センサまたは他の適切なセンサであり、またはこれを含み得る。物理量が近接である場合、センサ１２８は、容量性圧力センサであり、またはこれを含み得る。これらおよび他の物理量には、他の適切なセンサが使用され得る。
【００２５】
ハードウェア構成によれば、構成可能なハードウェアモジュール１２０は、励磁信号１３０をセンサ１２８に提供し、センサ１２８からセンサ信号１３２を受け取り得る。例えば、励磁信号１３０は、センサ１２８に、電流、電圧、または物理量を示す他の信号（例えば、センサ信号１３２）を生成することを可能にするためのバイアス信号またはフィールド電力信号であり得る。構成可能なハードウェアモジュール１２０はまた、センサ信号１３２を受け取り、デジタルであり得る物理量信号１３４を生成し、そして物理量を示し得る。
【００２６】
選択されたセンサ１２８のタイプは、提供された励磁信号１３０のタイプおよび受け取られたセンサ信号１３２のタイプを判定し得る。例えば、力電圧／測定電圧（ＦＶＭＶ）センサは、所定の電圧で励磁信号１３０を受け取り、センサ信号１３２の電圧が物理量を示すセンサ信号１３２を生成し得る。力電圧／測定電流（ＦＶＭＩ）センサは、所定の電圧で励磁信号１３０を受け取り、センサ信号１３２の電流が物理量を示すセンサ信号１３２を生成し得る。力電流／測定電圧（ＦＩＭＶ）センサは、所定の電流で励磁信号１３０を受け取り、センサ信号１３２の電圧が物理量を示すセンサ信号１３２を生成し得る。力電流／測定電流（ＦＩＭＩ）センサは、所定の電流で励磁信号１３０を受け取り、センサ信号１３２の電流が物理量を示すセンサ信号１３２を生成し得る。無力／測定電圧（ＦＮＭＶ）センサは、励磁信号１３０を受け取らず、センサ信号１３２の電圧が物理量を示すセンサ信号１３２を生成し得る。無力／測定電流（ＦＮＭＩ）センサは、励磁信号１３０を受け取らず、センサ信号１３２の電流が物理量を示すセンサ信号１３２を生成し得る。
【００２７】
いくつかの例において、構成マネージャ１０２はまた、センサ信号１３２を処理するためのハードウェアおよび／またはソフトウェアを実装するためのハードウェア構成を生成し得る。センサ信号１３２の任意の適切な処理が実施され得る。いくつかの例において、ハードウェア構成は、センサ１２８の特徴を補償する処理を指定し得る。例えば、ロゴスキーコイルのようないくつかのセンサは、物理量が経時的にセンサ信号１３２の電流（または電圧）の変化として示されるセンサ信号１３２を生成する。このタイプのセンサから平坦な周波数応答を取得するために、ハードウェア構成は、信号経路に配置される積分器を記述し得る。積分器は、ハードウェアまたはソフトウェアにおいて実装され得る。
【００２８】
いくつかの例において、ハードウェア構成は、物理量の指示を含むがより少ないデータを含む形式のような、異なる形式の物理量の測定法を縮小するかまたは表すための処理を特定し得る。例えば、測定法の縮小は、物理量の測定のストリームから二乗平均平方根（ＲＭＳ）値を求めることを含み得る。かかる減少は、ハードウェアまたはソフトウェアにおいて実施され得る。
【００２９】
いくつかの例において、ハードウェア構成は、物理量の測定法を生成するために、複数のデータストリームからのデータの組み合わせを示し得る。例えば、構成可能なハードウェアモジュール１２０は、それぞれが異なるセンサ１２８からの複数のセンサ信号１３２を受け取り得る。ハードウェア構成は、複数のセンサ信号１３２を組み合わせるためのハードウェアおよび／またはソフトウェア配置を指定し得る。例えば、電力についての物理量は、電圧を示すセンサ信号１３２に電流を示す別のセンサ信号１３２を乗算することによって測定され得る。
【００３０】
いくつかの例において、ハードウェア構成は、同じセンサ信号１３２を受け取り、センサ信号１３２を異なる方法で処理する複数のチャネル（例えば、入力チャネル）を示し得る。例えば、同じセンサ信号１３２を受け取る２つの入力チャネルは、異なるゲインを有し得る。ハードウェア構成は、例えば、単一のセンサ信号１３２の拡張ダイナミックレンジバージョンを取得するために、２つの入力チャネルをマージするためのハードウェアおよび／またはソフトウェア機構を指定し得る。
【００３１】
いくつかの例において、ハードウェア構成は、単一のセンサ信号１３２から複数のデータストリームを抽出するためのハードウェアおよび／またはソフトウェア機能を示し得る。例えば、より低いレイテンシ、より低い信号対雑音比（ＳＮＲ）信号が保護アルゴリズムのために使用され得るが、より高いレイテンシ、より高いＳＮＲ信号が物理量の測定法を生成するために使用され得る。
【００３２】
いくつかの例において、ハードウェア構成は、単一のデータストリームを生成するために同じ物理量を示す複数の入力信号１３２を組み合わせるためのハードウェアおよび／またはソフトウェア機能を示し得る。例えば、構成可能なハードウェアモジュール１２０は、異なる伝達関数および／または飽和を有する２つの異なる電流トランスから２つのセンサ信号１３２を受け取ってもよく、各センサ信号１３２は個別の入力チャネルを介して受け取られる。個別の入力チャネルにおいてデータストリームがマージされ得る。不一致または飽和は、存在する場合、例えば、構成可能なハードウェアモジュールの制御回路において補償され得る。
【００３３】
構成データ１１０はまた、シミュレーションデータを含み得る。シミュレーションデータは、構成マネージャ１０２によって生成された１つ以上のハードウェア構成のシミュレーションを容易にするために、シミュレーションマネージャ１０４に提供され得る。シミュレーションデータは、例えば、シミュレーションにおいて使用される１つ以上のモデル１１２の識別、シミュレーションにおいて使用される１つ以上の生成器の記述、シミュレーションにおいて実施される１つ以上の分析の記述などの、シミュレーションを容易にするための様々なデータを含み得る。シミュレーションマネージャ１０４は、構成データ１１０によって記述される１つ以上のハードウェア構成の１つ以上のモデルを呼び出しおよび／または実行するために、シミュレーションデータを利用し得る。
【００３４】
任意の適切なタイプのモデルが使用され得る。いくつかの例において、シミュレーションマネージャ１０４は、ハードウェア構成の一部または全部をシミュレートするために、データモデル１１４を利用し得る。例えば、データモデル１１４は、ハードウェア構成の一部または全部の応答を、例えばデータベース、テーブルまたは他の適切なデータ構造に格納されたデータとして記述し得る。いくつかの例において、シミュレーションマネージャ１０４は、ハードウェア構成の一部または全部をシミュレートするために、実行可能なモデル１１６を利用し得る。実行可能なモデルは、（例えば、サーバ１２６によって）シミュレーションマネージャにおいて、または別の適切なコンピューティングデバイスにおいて実行される任意の適切なモデルであり得る。実行可能なモデルの例は、集積回路強調（ＳＰＩＣＥ）モデルを有するシミュレーションプログラム、機能の実装によるモデル動作（ＭＯＴＩＦ）モデルなどを含み得る。いくつかの例において、シミュレーションマネージャ１０４は、ハードウェアの組み合わせの一部または全部をシミュレートするために、ベンチモデル１１８を利用し得る。ベンチモデル１１８は、物理的構成要素に生成器信号が提供され、その応答が測定される「ハードウェアインザループ」モデルであり得る。
【００３５】
図２は、測定のためのハードウェア構成を生成およびテストするための環境２００の別の例を示す図である。例えば、環境２００は、図１に関して説明された環境１００の代替構成であり得る。環境２００は、構成ＵＩ  ２０４とシミュレーションＵＩ  ２０６とを含む。いくつかの例において、ＵＩ  ２０４、２０６が個別に生成されてユーザコンピューティングデバイス１２２に提供され得るが、それぞれのＵＩ  ２０４、２０６はＵＩ  １０６の構成要素として示されている。いくつかの例において、構成ＵＩ  ２０４および／またはシミュレーションＵＩ  ２０６の一方または両方は、ユーザコンピューティングデバイス１２２において実行される実行可能なウェブクライアントであり、またはこれを含み得る。アプリケーションプログラミングインターフェイス（ＡＰＩ）２０２は、構成ＵＩ  ２０４と構成マネージャ１０２との間に配置される。例えば、構成ＵＩ  ２０４は、ＡＰＩ  ２０２と一致するコマンドおよび／または構文を利用して、ＡＰＩ  ２０２を介して構成マネージャ１０２と接触するか、または別様にこれと対話し得る。同様に、構成マネージャ１０２は、ＡＰＩ  ２０２と一致するコマンドおよび／または構文を利用して、構成ＵＩ  ２０４と接触するか、または別様にこれと対話し得る。ＡＰＩ  ２０２は、任意の適切な構文または技術を利用する任意の適切なＡＰＩであり得る。いくつかの例において、ＡＰＩ  ２０２は、表現による状態転送（ＲＥＳＴ）の原則に従って構成されている。
【００３６】
図２の例において、構成マネージャ１０２は、スイーパー２１０を含む。スイーパー２１０は、シミュレーションマネージャ１０４を利用して、構成可能なハードウェアモジュール１２０のハードウェア構成を事前シミュレートするように構成され得る。例えば、スイーパー２１０は、構成可能なハードウェアモジュール１２０のための潜在的なハードウェア構成を受け取りかつ／または生成し得る。スイーパー２１０によって生成される潜在的ハードウェア構成は、構成可能なハードウェアモジュール１２０とともに使用される、例えば、図１のセンサ１２８などのセンサを含み得る。スイーパー２１０は、シミュレーションマネージャ１０４が様々なハードウェア構成のシミュレーションを実行することを要求し得る。例えば、モデル化されたハードウェア構成のノイズ特徴を記述するノイズファイル２０８を含むシミュレーションの結果は、顧客クエリに応答してハードウェア構成を判定する際に、構成マネージャ１０２によって利用される構成データストア１０８に提供され得る。シミュレーションマネージャ１０４はまた、（例えば、全体ＵＩ  １０６の一部として）シミュレーションＵＩ  ２０６をユーザ１２４に提供し得る。例えば、ユーザ１２４は、例えば、本明細書に記載されるように、ハードウェア構成の追加のシミュレーションを実施し得る。
【００３７】
図３は、構成可能なハードウェアモジュール１２０の配置の一例を示す図である。図３の例において、構成可能なハードウェアモジュール１２０は、アナログフロントエンド３０１と、変換器３１２Ａ、３１２Ｂ、３１２Ｎと、制御回路３１４と、を備える。アナログフロントエンド３０１は、センサ入力／出力（Ｉ／Ｏ）モジュール３０２と、スイッチネットワーク３０４、３１０と、入力チャネル３０６Ａ、３０６Ｎと、励磁チャネル３０８Ａ、３０８Ｎと、を備える。
【００３８】
制御回路３１４は、１つ以上の励磁信号（例えば、デジタル励磁信号）を生成し、生成されたデジタル励磁信号を変換器３１２Ａ、３１２Ｂ、３１２Ｎのデジタルアナログ変換器（ＤＡＣ）に提供して、アナログ励磁信号を生成する。ＤＡＣは、増幅、フィルタリングなどのような様々なプロセスを提供して、アナログ励磁信号を調整して、調整された励磁信号を生成し得る、励磁チャネル３０８Ａ、３０８Ｎを提供し得る。調整された励磁信号は、センサに連結するための１つ以上のピンまたは他のＩ／Ｏデバイスを含み得る、センサＩ／Ｏモジュール３０２を介して、センサ１２８（図１）などのセンサに提供され得る。調整された励磁信号は、例えば、定電圧、定電流、または任意の他の適切な形態であり得る。
【００３９】
センサ信号は、センサＩ／Ｏモジュール３０２を介して受け取られ、増幅、フィルタリング、および／または他の信号調整を提供して、変換器３１２Ａ、３１２Ｂ、３１２Ｎのアナログデジタル変換器（ＡＤＣ）に調整されたアナログセンサ信号を提供して、デジタルセンサ信号を生成し得る、入力チャネル３０６Ａ、３０６Ｎに提供され得る。いくつかの例において、入力チャネル３０６Ａ、３０６Ｎはまた、本明細書に記載されるように、異なるセンサ特徴、測定法を抽出または縮小するためのハードウェアなどを補償するために、積分器などを実装するためのハードウェアを含み得る。デジタルセンサ信号は、制御回路Ｉ／Ｏモジュール３１２を介して利用可能なデジタル出力信号を生成し得る、制御回路３１４に提供され得る。制御回路Ｉ／Ｏモジュール３１２は、例えば、ユニバーサルシリアルバス（ＵＳＢ）などの任意の適切なプロトコル（例えば、デジタルプロトコル）を実装するためのハードウェアを含み得る。
【００４０】
図３の例において、構成可能なハードウェアモジュール１２０は、例えば、スイッチネットワーク３０４、３１０および制御回路３１４の状態が変更された場合に、異なるハードウェア構成を想定し得る。例えば、スイッチネットワーク３０４は、１つ以上の入力チャネル３０６Ａ、３０６Ｎおよび／または励磁チャネル３０８Ａ、３０８ＮをセンサＩ／Ｏモジュール３０２に選択的に連結し得る。スイッチネットワーク３１０は、入力チャネル３０６Ａ、３０６Ｎおよび／または励磁チャネル３０８Ａ、３０８Ｎのうちの１つ以上を変換器３１２Ａ、３１２Ｂ、３１２Ｎのうちの１つ以上に選択的に連結し得る。スイッチネットワーク３０４、３１０はまた、例えば、フィルタ、積分器、増幅器を実装し、かつ／またはその特性を変更するために、様々な構成要素を入力チャネル３０６Ａ、３０６Ｎまたは励磁チャネル３０８Ａ、３０８Ｎの中またはこれらの外に切り替え得る。励磁チャネルを実装するためにスイッチネットワーク３０４、３１０を構成するためのデータは、励磁チャネルデータと呼ばれ得、入力チャネルを実装するためのスイッチネットワーク３０４、３１０を構成するためのデータは、入力チャネルデータと呼ばれ得る。
【００４１】
いくつかの例において、制御回路３１４は、スイッチネットワーク３０４、３１０および制御回路の状態を設定するためのファームウェア３１８および／または１つ以上のスイッチ構成レジスタ３１６を含み得る。例えば、スイッチ制御レジスタ３１６は、制御回路３１４のプロセッサユニットからマッピングされたメモリであり得る。例えば、制御回路３１４は、レジスタマップ設定をスイッチ構成レジスタ３１６に書き込んでもよく、レジスタマップ設定の値は、スイッチネットワーク３０４、３１０の状態を設定する。例えば、レジスタマップ設定は、入力チャネルデータおよび／または励磁チャネルデータを含み得る。ファームウェア３１８は、制御回路３１４および／またはそのプロセッサユニット（例えば、デジタル信号プロセッサまたはＤＳＰ）によって実行される任意の適切なソフトウェアコードを含み得る。例えば、ファームウェア３１８は、制御回路３１４において実行されると、制御回路３１４に特定タイプのデジタル励磁信号を生成させ、かつ／または任意の適切なタイプのセンサ信号を受け取らせかつ処理させ得る。いくつかの例において、ファームウェア３１８は、入力チャネル３０６Ａ、３０６Ｎおよび出力チャネル３０８Ａ、３０８Ｎの増幅器または他の構成要素のゲインまたは他の特性を構成するための命令を含み得る。図３の例はファームウェア３１８を示しているが、様々な例の制御回路は、読み取り専用メモリに書き込まれたファームウェアおよび他のタイプのメモリに書き込まれた命令を含む、様々な他の種類の命令を受け取りかつ／または処理し得る。
【００４２】
図３に示される配置は、構成可能なハードウェアモジュール１２０の一例に過ぎない。２つの入力チャネル３０６Ａ、３０６Ｎおよび２つの励磁チャネル３０８Ａ、３０８Ｎが示されているが、任意の適切な数の入力および／または励磁チャネルが含まれ得る。また、いくつかの例において、入力チャネルおよび／または励磁チャネルが、スイッチネットワーク３０４、３１０のうちの１つ以上の状態に基づいて、アナログフロントエンド３０１の構成要素から生成され得る。例えば、アナログフロントエンドの１つ以上の増幅器、フィルタ、受動構成要素などは、例えば、スイッチネットワーク３０４、３１０の状態に応じて、励磁チャネルまたは入力チャネルにおいて利用され得る。３つの変換器３１２Ａ、３１２Ｂ、３１２Ｎが示されているが、任意の適切な数の変換器が含まれ得る。さらに、複数のスイッチネットワーク３０４、３１０が示されているが、単一のスイッチネットワークまたは３つ以上のスイッチネットワークを含む任意の適切な数のスイッチネットワークが使用され得る。
【００４３】
図３に示される構成可能なハードウェアモジュール１２０は、例えば、ユーザ１２４の要件に基づいて、多数のハードウェア構成が異なる能力を有することを可能にし得る。いくつかの例において、制御回路３１４は、ハードウェア構成、ダイナミックレンジのトレードオフ速度および／またはレイテンシに応じて、構成され得る。例えば、制御回路３１４は、オーバサンプリング（ＯＳ）または他のフィルタを適用することによってセンサ信号のダイナミックレンジを増加させるためにデジタルフィルタを実装し得るが、これによりレイテンシが増加し、速度が低下する可能性がある。同様に、制御回路３１４は、レイテンシを減少して速度を上げるために、より少ない時間を要する処理でセンサ信号１３２を通過させるように構成され得る。いくつかの例において、制御回路３１４は、例えば、センサ信号１３２または同じ信号の処理されたバージョンに閾値を適用することによって、割り込み信号を生成するように構成され得る。制御回路３１４は、いくつかの例において、同じチャネルからの同時データストリームを処理し得る。例えば、制御回路３１４は、同じセンサ信号１３２を受け取り、個別に、最小限の処理、閾値処理、デジタルフィルタ、および／または様々なデジタルフィルタを並列に適用し得る。
【００４４】
複数の入力チャネル３０６Ａ、３０６Ｎを含む構成可能なハードウェアモジュール１２０の例は、追加の構成可能性を提供し得る。例えば、センサ信号１３２は、複数のチャネル３０６Ａ、３０６Ｎに提供されてもよく、異なるチャネル３０６Ａ、３０６Ｎは、異なるゲインを有する増幅器を有する。センサ信号１３２を受け取るチャネル３０６Ａ、３０６Ｎは、例えば変換器３１２Ａ、３１２Ｎによって変換された後に結合され得る。これにより、本明細書に記載されるように、増加したダイナミックレンジを有する結合されたデータストリームが生成され得る。別の例において、センサ信号１３２は、個別のチャネル３０６Ａ、３０６Ｎおよび個別の変換器３１２Ａ、３１２Ｎに提供され、利用可能なサンプリングレートを増加させるように時間インターリーブされ得る。
【００４５】
制御回路３１４はまた（ファームウェア３１８を介してなど）、例えば、スマートメータリングアプリケーション、ロゴスキーコイルサポート用のｄｉ／ｄｔ積分器、多点位相較正などを含む様々な他の信号処理を実施するように構成され得る。制御回路３１４はまた、例えば、ライン周波数測定、タイムスタンプ、ゼロ交差検出、同期フェーザ計算、１／２サイクルＲＭＳ測定、計測機能などの様々な低レベルサポートアルゴリズムを実施するように構成され得る。制御回路３１４はまた、デジタルテスト波形生成、オンチップ診断など、様々なシステム監視機能を実施するように構成され得る。
【００４６】
いくつかの例において、構成可能なハードウェアモジュール１２０の制御回路３１４または他の回路は、例えば、障害検出時のセンサ切断、電源低ドロップアウトレート（ＬＤＯ）監視、電源電圧監視、シリアルペリフェラルインターフェース（ＳＰＩ）監視（例えば、制御回路Ｉ／Ｏモジュール３１２の）、レジスタ内容監視、巡回冗長検査（ＣＲＣ）などの安全機能を実施するように構成され得る。制御回路３１４または構成可能なハードウェアモジュール１２０の他の適切な回路によって実装され得る他の潜在的な診断機能は、キャパシタが基準ピン上に欠落しているか否かの判定、電圧基準監視、過不足電圧入力検出、ビジー信号スタック検出、およびゲイン設定検証を含み得る。
【００４７】
図４は、構成可能なハードウェアモジュール４２０の配置の別の例を示す図である。構成可能なハードウェアモジュール４２０は、アナログフロントエンド４０２と、処理または制御回路４０４と、制御回路４０４によって制御可能な信号調整スイッチネットワーク４０６と、を備える。アナログフロントエンド４０２は、様々な増幅器４０８、４１０、４１２を備える。例えば、増幅器４０８および４１２は、制御回路４０４によってプログラム可能なゲインを有するプログラマブルゲイン入力増幅器であり得る。例えば、増幅器４０８、４１２の一方または両方は、入力チャネルの一部であり得る。増幅器４１０は、例えば調整のためにアナログ励磁信号を増幅するように構成された駆動増幅器であり得る。加算器４１８は、例えば、複数の他の構成要素の出力を合計するために使用され得る。例えば、いくつかのハードウェア構成では、構成可能なハードウェアモジュール４２０は、増幅器４０８、４１２と加算器との両方を含む単一の入力チャネルを利用し得る。変換器４１４、４１６、４２２は、ＡＤＣ  ４１４、４２２およびＤＡＣ  ４１６を含む。変換器４１４、４１６、４２２はまた、いくつかの例において、例えば、制御回路４０４によってかつ／またはスイッチネットワーク４０６によって構成され得る。
【００４８】
図４は、例えば、温度センサ４４０と、電源４４２と、基準電圧（または電流）生成器４４４と、タイミングおよび同期回路４４６と、を含む構成可能なハードウェアモジュール４２０の追加の構成要素を示す。図４はまた、１つ以上の物理量を測定するように構成可能なハードウェアモジュール４２０に連結され得るセンサタイプ４２４、４２６、４２８、４３０の例を示す。例えば、近接性、厚さなどの様々な物理量を測定するために、容量性センサ４２４が使用され得る。圧力、温度などの様々な物理量を測定するために、抵抗性センサ４２６が使用され得る。例えば、圧力、光などの様々な物理量を測定するために、電圧センサ４２８が同様に使用され得る。光などの様々な物理量を測定するために、電流センサ４３０が使用され得る。
【００４９】
さらに、図４は、構成可能なハードウェアモジュール４２０の出力の使用例を示す。いくつかの例において、物理量を示す無線出力４３２は、別のコンピューティングデバイス（例えば、コントローラ）に提供される。いくつかの例において、物理量を示す有線出力４３４は、別のコンピューティングデバイスに提供される。いくつかの例において、物理量を示す出力は、インターネットまたはクラウドシステム４３６に提供される。また、いくつかの例において、物理量を示す出力は、デバイスセットアップ機能４３８に提供され得る。例えば、物理量は、コンピューティングデバイスまたは他のデバイスが故障の危険性がある場合に、変化する傾向のある温度または他の物理量であり得る。物理量をデバイスセットアップ機能４３８に提供することにより、デバイスに過熱または他の検出可能な状態からの損傷を回避するようにその動作を修正することを可能にする。
【００５０】
図５は、構成可能なハードウェアモジュール５２０の配置のさらに別の例を示す図である。構成可能なハードウェアモジュール５２０は、インターポーザボード５０１と、アナログフロントエンド（ＡＦＥ）ボード５０３と、適切なプロセッサユニットと、を含むかつ／または実装するフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含む制御回路５０４を備える。ＡＦＥボード５０３は、いくつかの例において、インターポーザボード５０１とは別々に示されているが、構成可能なハードウェアモジュール５２０のＡＦＥおよび他の様々な構成要素は、同じ物理ボード上に実装され、かつ／または単一の集積回路（ＩＣ）内に実装され得る。
【００５１】
ＡＦＥボード５０３は、様々な増幅器５０８、５１０および５１２を含む。例えば、増幅器５０８および５１２は、上記の増幅器４０８および４１２と同様に、制御回路５０４によって構成可能なゲインを有する構成可能なゲイン増幅器であり得る。加算器５１８は、本明細書に記載される加算器４１８と同様に動作し得る。ＡＦＥボード５０３はまた、ＡＦＥボード５０３の他の構成要素を構成するように制御回路５０４によって設定可能なスイッチネットワーク５２１、５２３を含む。いくつかの例において、ＡＦＥボード５０３は、例えば、様々なスイッチ、ポテンショメータ、キャパシタなどを含む入力チャネルおよび／または出力チャネルを構成するための様々な他の構成要素を含み得る。例えば、変換器５１４、５１６、５２２などの増幅器５０８、５１０、５１２のゲイン、フィードバックまたは他の特徴を修正するために、レジスタおよび／またはキャパシタが利用され得る。
【００５２】
変換器５１４、５１６、５２２および加算器５１８は、本明細書に記載される変換器４１４、４１６、４２２および加算器４１８と同様に動作し得る。図５はまた、本明細書に記載されるセンサタイプ４２４、４２６、４２８、４３０と同様に動作し得るセンサタイプ５２４、５２６、５２８、５３０の例を示す。構成可能なハードウェアモジュール５２０の出力５４６の例は、例えば、制御回路出力５０６を介してＵＳＢまたは他の適切な接続を介して提供され得る。図５は、例えば、温度センサ５４０と、電源５４２と、基準電圧（または電流）生成器５４４と、を含む、構成可能なハードウェアモジュール５２０の追加の構成要素を示す。
【００５３】
本明細書に記載されるように、構成マネージャ１０２は、１２０、４２０、５２０などの構成可能なハードウェアモジュールの特定のハードウェア構成のための構成データ１１０を生成し得る。本明細書に記載されるように、構成データ１１０は、１２０、４２０、５２０などの構成可能なハードウェアモジュールにおいて、ハードウェア構成を実装するためのハードウェア構成データと、ハードウェア構成をシミュレートするためのシミュレーションデータと、を含み得る。
【００５４】
いくつかの例において、構成マネージャ１０２は、異なる構成可能なハードウェアモジュール１２０、４２０、５２０のハードウェア構成を生成するように構成され得る。例えば、構成データストア１０８は、例えば、増幅器および変換器などの異なるタイプの構成要素、異なる範囲の許容可能な構成要素構成の、異なる数ならびに／またはタイプの利用可能な入力および／もしくは出力チャネル、スイッチネットワークをプログラミングするための異なるスイッチネットワークおよび／または機構、異なる制御回路タイプなど、を有する、異なる構成可能なハードウェアモジュール１２０、４２０、５２０を記述するデータを含み得る。構成マネージャ１０２は、例えば、ユーザ１２４によって提供される物理量および／または性能係数に基づいて、構成ハードウェアモジュール１２０、４２０、５２０を選択し得る。他の例において、ユーザ１２４は、使用のための構成可能なハードウェアモジュール１２０、４２０、５２０を指定し得る。
【００５５】
図６は、本明細書に記載される１２０、４２０、５２０などの、構成可能なハードウェアモジュールのハードウェア構成のための構成データ１１０の配置の一例を示す図である。構成データ１１０は、ハードウェア構成データ６０２と、例えば、引数データ６１６、バインディングデータ６１２、バンドルデータ６１４、生成器データ６０８、シミュレータデータ６１０、分析データ６０４、および評価データ６０６を含むシミュレーションデータと、を含む。
【００５６】
ハードウェア構成データ６０２は、構成可能なハードウェアモジュールにおいて特定のハードウェア構成を実施するための任意の適切なデータを含み得る。例えば、ハードウェア構成データ６０２は、１つ以上の入力チャネルおよび／または１つ以上の励磁チャネルを実装するための１つ以上のスイッチの構成を記述するスイッチデータを含み得る。かかるデータは、任意の適切な形態であり得る。いくつかの例において、スイッチデータは、構成可能なハードウェアモジュールのための制御回路の処理ユニットのレジスタに書き込まれ得る１つ以上のレジスタマップを含み得る。いくつかの例において、ハードウェア構成データはまた、命令データを含み得る。命令データは、１つ以上の励磁信号を生成するために、かつ／またはトランスデューサもしくは他のセンサからの１つ以上のセンサ信号を処理するために、制御回路において実行される命令を含み得る。
【００５７】
ハードウェア構成をシミュレートするためのシミュレーションデータは、選択されたハードウェア構成を１つ以上のシミュレータに関連付ける値および／またはデータ構造を含み得る。例えば、引数データ６１６は、シミュレーションのための１つ以上の引数を記述し得る。引数は、ハードウェア構成またはシミュレーションのための他の適切な条件を記述するパラメータを含み得る。引数の例は、シミュレーションのための開始電圧、シミュレーションのための入力信号の周波数などを含む。引数データ６１６は、任意の適切なデータタイプまたはデータ形式を利用して引数を表し得る。
【００５８】
いくつかの例において、引数データ６１６によって記述される引数は、シミュレーションのための入力パラメータ（例えば、シミュレーション入力パラメータ）を受け取るための共通フォーマットを提供する。例えば、本明細書で記載されるように、引数は、ＵＩ  １０６に、基礎のシミュレータ、生成器、評価、分析、または使用された分析に関係なく、一貫した方法の形式で、ユーザ１２４からシミュレーション入力パラメータを提供および／または要求することを可能にし得る。同様に、本明細書に記載されるように、引数を使用することにより、構成マネージャ１０２は、ハードウェア構成をシミュレートするために、特定の基礎のシミュレータ、生成器、評価、または使用された分析に関係なく利用され得るシミュレーション入力パラメータを生成することができる。
【００５９】
いくつかの例において、引数は、特定のシミュレーション入力パラメータと、例えば、引数の最小値、引数の最大値、パラメータの単位、パラメータの他の記述子などのシミュレーション入力パラメータを記述するメタデータと、を記述し得る。引数データ６１６は、例えば拡張マークアップ言語（ＸＭＬ）、Ｃ＃などの任意の適切な構文を使用して引数を記述し得る。シミュレーションのための開始電圧の引数の記述の例が以下に提供される。
【００６０】
＜Ａｒｇｓ＞
＜Ｆｌｏａｔ  Ｎａｍｅ＝“ｖＳｔａｒｔ”  ＤｉｓｐｌａｙＮａｍｅ＝“Ｓｔａｒｔ  Ｖｏｌｔａｇｅ”  Ｕｎｉｔ＝“Ｖ”  Ｖａｌｕｅ＝“０．００１”／＞
＜Ｔｏｇｇｌｅ  Ｎａｍｅ＝“ｆｓＯｒＯＤＲ”  ＤｉｓｐｌａｙＮａｍｅ＝“Ｃｏｎｔｒｏｌ  ＦＳ  ｏｒ  ＯＤＲ”  Ｖａｌｕｅ＝“ＦＳ”＞
＜Ｏｐｔｉｏｎ＞Ｆｓ＜／Ｏｐｔｉｏｎ＞
＜Ｏｐｔｉｏｎ＞ＯＤＲ＜／Ｏｐｔｉｏｎ＞
＜／Ｔｏｇｇｌｅ＞
＜／Ａｒｇｓ＞
【００６１】
この例において、引数ｖＳｔａｒｔは引数名、引数値、および引数選択肢ｆｓＯｒＯＤＲを提供する。ＦｓＯｒＯＤＲは、開始電圧が指定された出力データレート（ＯＤＲ）または指定されたサンプリング周波数を有するべきかどうかを示し得る。
【００６２】
バインディングデータ６１２は、１つ以上のバインディングを記述し得る。バインディングは、特定のシミュレータ、生成器、評価、または分析に対する１つ以上の引数を関連付けるデータ構造であるか、またはこれを含み得る。バインディングは、１つ以上の引数に対して実施される変換を記述し得る。例えば、上記の開始電圧を参照すると、特定のシミュレータ、生成器、評価、または分析は、ミリボルト（ｍＶ）で表される開始電圧を受け取ることが予想され得る。一方、上記の例のような引数は、ボルト単位の電圧を提供し得る。バインディングは、引数をシミュレータ、生成器、評価、または分析によって予想される入力に変換し得る。いくつかの例において、バインディングによって記述される変換は、複数の引数を含み得る。以下のコード例は、２つのバインディングを示している。第１のバインディングは、４８００ＯｖｅｒＯＤＲと呼ばれる引数が、４８００を別の引数ｏｄｒの値で除算した値に等しいことを示している。第２のバインディングは、ｆｓＯｒＯＤＲが値ＦＳを有する場合、内部サンプリング周波数ｆｓＩｎｔｅｒｎａｌが引数ｆｓｂｉｔｓに設定されるが、ｆｓＯｒＯＤＲが値ＯＤＲを有する場合、４８００ＯｖｅｒＯＤＲの値に設定されることを示している。
【００６３】
＜Ｂｉｎｄｉｎｇｓ＞
＜Ｂｉｎｄｉｎｇ  ＲＰＮ＝“４８００  ＠ｏｄｒ／”Ｄｅｓｔｉｎａｔｉｏｎ＝“４８００ＯｖｅｒＯＤＲ”／＞
＜Ｂｉｎｄｉｎｇ  Ｔｏｇｇｌｅ＝“ｆｓＯｒＯＤＲ”  Ｄｅｓｔｉｎａｔｉｏｎ＝“ｆｓＩｎｔｅｒｎａｌ”＞
＜Ｃａｓｅ  Ｖａｌｕｅ＝“ＦＳ”  Ｓｏｕｒｃｅ＝“ｆｓｂｉｔｓ”  Ｄｅｓｔｉｎａｔｉｏｎ＝“ｆｓＩｎｔｅｒｎａｌ”／＞
＜Ｃａｓｅ  Ｖａｌｕｅ＝“ＯＤＲ”  Ｓｏｕｒｃｅ＝“４８００ＯｖｅｒＯＤＲ”  Ｄｅｓｔｉｎａｔｉｏｎ＝“ｆｓＩｎｔｅｒｎａｌ”／＞
＜／Ｂｉｎｄｉｎｇ＞
＜／Ｂｉｎｄｉｎｇｓ＞
【００６４】
バンドル６１４は、ＵＩ  １０６においてユーザ１２４から表示および／または求められるべき引数のグループを記述し得る。バンドル６１４を記述するためのコードの例が以下に提供される。
【００６５】
＜Ｄｅｆ  Ｎａｍｅ＝“ＣＯＭＭＯＮ−ＢＵＮＤＬＥＳ”＞
＜Ｂｕｎｄｌｅ  Ｎａｍｅ＝“ｅｘｔＥｎａｂｌｅｄ”＞
＜Ａｒｇ  Ｎａｍｅ＝“ｒｅｓｉｓｔａｎｃｅ”／＞
＜Ａｒｇ  Ｎａｍｅ＝“ｃａｐａｃｉｔａｎｃｅ”／＞
＜／Ｂｕｎｄｌｅ＞
＜Ｂｕｎｄｌｅ  Ｎａｍｅ＝“ｅｘｔＤｉｓａｂｌｅｄ”／＞
＜／Ｄｅｆ＞
【００６６】
以上の例は、構成マネージャ１０２から受け取られる、かつ／またはバンドルｅｘｔＥｎａｂｌｅｄが起動されたときに、ＵＩ  １０６を介してユーザ１２４から求められる引数を記述するｅｘｔＥｎａｂｌｅｄと呼ばれるバンドルを示す。例えば、引数の抵抗と静電容量はバンドルｅｘｔＥｎａｂｌｅｄを介して受け取られる。以上のコードはまた、引数を求めないかまたは受け取らない、バンドルｅｘｔＤｉｓａｂｌｅｄを記述する。
【００６７】
評価データ６０６は、シミュレーションの対象である信号チェーンを記述し得る。信号チェーンは、１つ以上の生成器（生成器データ６０８によって記述される）と、１つ以上のシミュレータ（シミュレータデータ６１０によって記述される）と、１つ以上の評価（評価データ６０６によって記述される）と、を含み得る。生成器データ６０８によって記述される生成器は、シミュレーションのための入力信号を生成および／または記述し得る。生成器データ６０８は、生成器をシミュレートするためのコードおよび／または生成器をシミュレートするためのコードへのリンク、生成器の実行シミュレーションの位置などを含み得る。生成器データ６０８および／または評価データはまた、例えば、波形タイプ、周波数などの生成器のための入力パラメータを含み得る。単一の波形生成器、複数の波形生成器などを含む生成器の例。シミュレータデータ６１０は、本明細書に記載されるモデル１１２のような、ハードウェア構成要素をシミュレートするための１つ以上のモデルへのインターフェースとして記述および／または機能し得る。いくつかの例において、構成データ１１０は、例えば、増幅器、変換器、フィルタなどを含む構成可能なハードウェアモジュールの複数の構成要素のためのシミュレータデータ６１０を含み得る。シミュレータデータ６１０は、構成要素をシミュレートするためのコードおよび／または構成要素をシミュレートするためのコードへのリンク、構成要素の実行シミュレーションの位置などを含み得る。評価データ６０６は、生成器６０８によって提供される入力を受け取ったときに、シミュレートされた構成要素の出力に対して実施される評価を記述し得る。評価の例は、電圧プロット、電流プロット、高速フーリエ変換、または他の適切な変換などを含む。
【００６８】
図７は、図１のシミュレーションマネージャ１０４によるシミュレーションのための構成データ１１０によって記述され得る、信号チェーン７００の一例を示す図である。例えば、信号チェーン７００は、構成データ１１０の分析データ６０４によって記述され得る。信号チェーン７００は、生成器７０２と、構成要素７０４と、構成要素７０６と、評価７０８と、を含む。例えば、生成器７０２は、シミュレーションのための入力信号を生成し得る。生成器７０２は、上記の生成器データ６０８によって記述され得る。構成要素７０４、７０６は、例えば、ハードウェア構成の全部または一部であり得る。例えば、構成要素７０４、７０６は、例えば、フィルタ、増幅器、変換器などであり得る。シミュレータデータ６１０は、構成要素７０４をシミュレートするためのモデル（例えば、１１２）および／または構成要素７０６をシミュレートするためのモデルを記述し、かつ／またはこれと交信し得る。評価７０８は、評価データ６０６によって記述され得る。
【００６９】
図８は、図１のシミュレーションマネージャ１０４によるシミュレーションのための構成データ１１０によって記述され得る、信号チェーン８００の別の例を示す図である。信号チェーン８００は、単一の正弦波形を生成するように構成された生成器８０２を含む。信号チェーンはまた、構成要素と、ＤＡＣ  ８０４と、フィルタ８０６とを含む。ＤＡＣ  ８０４は、デジタル信号をアナログに変換し得る。フィルタ８０６は、例えば、高周波ノイズを除去するための低パスフィルタであり得る。分析８０８は、周波数成分を示すフーリエ変換である。例えば、高速フーリエ変換アルゴリズムを含む、任意の適切なフーリエ変換が使用され得る。信号チェーン８００は、構成データ１１０によって記述され得る。例えば、評価データ６０６は、例えば、信号チェーン８００に含まれる断片８０２、８０４、８０６、８０８を含む信号チェーン８００と、断片８０２、８０４、８０６、８０８が互いにどのように接続されているかを記述し得る。生成器データ６０８は、例えば、引数および／またはバインディングに関して記述され得る、生成器８０２の特性および／または入力パラメータを含む、生成器８０２を記述し得る。シミュレータデータ６１０は、例えば引数および／またはバインディングに関して、モデルへの入力パラメータとともに、ＤＡＣ  ８０４のモデルおよびフィルタ８０６のモデルを記述し得る。解析データ６０４は、例えば、使用されるフーリエ変換のタイプ、分析の周波数範囲または周波数焦点などの入力パラメータとともに、フーリエ変換分析８０８を記述し得る。
【００７０】
図９は、図１のシミュレーションマネージャ１０４によるシミュレーションの構成データ１１０によって記述され得る、信号チェーン９００のさらに別の例を示す図である。例えば、信号チェーン９００は、複数の生成器９０２、９０４、並列構成要素９０６、９０８、および複数の分析９１０、９１２を示す複合信号チェーンである。いくつかの例において、シミュレーションマネージャ１０４は、信号チェーン９００のような複合信号変化を記述するシミュレーションデータを受け取り、これに応答して、直列または同時に信号チェーン９００の様々な置換をシミュレートするように構成され得る。生成器９０２は、単一波形の正弦波生成器であり得る。構成要素９０６、９０８は、異なるＤＡＣおよび／または同じモデルのＤＡＣであり得るが、異なる構成であり得る。分析は、経時的な電圧プロット（分析９１０）およびフーリエ変換（分析９１２）を含み得る。
【００７１】
図１０は、構成可能なハードウェアモジュール１２０、４２０、５２０のうちの１つなどの構成可能なハードウェアモジュールのためのハードウェア構成を生成およびシミュレートするように、環境１００内で実行され得るプロセスフロー１０００の一例を示すフロー図である。例えば、プロセスフロー１０００は、ユーザ１２４がハードウェア構成を要求し、要求されたハードウェア構成を受け取り、ハードウェア構成をシミュレートする対話を記述する。
【００７２】
動作１００２において、構成マネージャ１０２は、測定される物理量を記述するデータを受け取り得る。物理量は、構成可能なハードウェアモジュールと通信するトランスデューサまたは他のセンサで測定可能な任意の物理量であり得る。いくつかの例において、物理量を記述するデータは、ＵＩ  １０６を介して受け取られ得る。動作１００４において、構成マネージャ１０２は、物理量の測定法を記述する性能係数データを受け取り得る。性能係数データは、例えば、物理量の予想される範囲、測定についての所望の精度、測定についての所望の精密度などの、行われる測定に関する制約を記述し得る。性能係数データは、１つ以上の性能係数に対する許容可能な値の範囲を含み得る。いくつかの例において、性能係数データはまた、性能係数のうちの１つ以上の重みを示し得る。重みは、ハードウェア構成を判定する際に、性能係数に優先順位を付けるために、構成マネージャ１０２によって使用され得る。いくつかの例において、ユーザはまた、例えば、使用するセンサのタイプ、使用する特定のセンサ、入力チャネルパラメータ、励磁チャネルパラメータなどを含む追加の設計入力を提供し得る。
【００７３】
動作１００６において、構成マネージャ１０２は、例えば物理量および性能係数に少なくとも部分的に基づいて、物理量を測定するための１つ以上のハードウェア構成を識別し得る。ハードウェア構成を選択するために、任意の適切な方法が使用され得る。例えば、構成マネージャ１０２は、構成データストア１０８などにおける、例えば、様々なハードウェア構成の性能を記述する性能データを含む、構成可能なハードウェアモジュールの異なる構成を記述する構成データにアクセスし得る。構成マネージャ１０２は、示された物理量を測定し、ユーザ１２４によって提供される性能係数に適合する１つ以上のハードウェア構成を選択し得る。いくつかの例において、全ての性能係数を満たすハードウェア構成はない。構成マネージャ１０２は、例えば、ユーザ１２４によって提供される性能係数重みに従って、性能係数に基づいて最適化されたハードウェア構成を選択し得る。
【００７４】
任意選択的に、構成マネージャ１０２は、動作１００６において、ハードウェア構成を選択するために、１つ以上のシミュレーションを利用し得る。例えば、任意選択の動作１００６Ｂにおいて、構成マネージャ１０２は、例えば、シミュレーションを実行するためにシミュレーションマネージャ１０４を利用して、１つ以上の候補ハードウェア構成をシミュレートし得る。構成マネージャ１０２は、選択された候補ハードウェア構成のための構成データ１１０を生成し、候補ハードウェア構成のための構成データ１１０の全部または一部をシミュレーションマネージャ１０４に提供し得る。シミュレーションマネージャ１０４は、候補ハードウェア構成のシミュレーションを実行し得る。シミュレーションは、例えば、１つ以上の性能係数に関連するハードウェア構成の格付けを含む、ハードウェア構成の結果を返し得る。いくつかの例において、構成は、動作１００６Ｂにおいて、複数の候補ハードウェア構成をシミュレートし得る。任意選択の動作１００６Ａにおいて、構成マネージャ１０２は、例えば、シミュレーションの結果に基づいて、シミュレートされた候補ハードウェア構成の中から１つ以上のハードウェア構成を選択し得る。いくつかの例において、構成マネージャ１０２は、候補ハードウェア構成の中から１つのハードウェア構成を選択し得る。例えば、構成マネージャ１０２は、ユーザ１２４によって選択された性能係数に最もよく一致するハードウェア構成を選択し得る。
【００７５】
いくつかの例において、動作１００６において生成および／または識別されるハードウェア構成は、動的測定を実行するための命令データを含み得る。動的測定は、構成可能なハードウェアモジュールの動作が経時的に変化する測定であり得る。例えば、構成可能なハードウェアモジュールは、センサの状態を変化させ（例えば、センサに提供された励磁信号を修正することによって）、かつ／またはセンサからの入力信号を異なる時間に異なる方法で処理し得る。
【００７６】
例えば、構成可能なハードウェアモジュールは、センサに提供される励磁信号を修正することによって（例えば、本明細書に記載される構成された励磁チャネルを介して）、センサの状態を変化させ得る。いくつかの例において、構成可能なハードウェアモジュールは、例えば、第１の定電流または定電圧から、第２の定電流または定電圧に上昇することなどによって、ステップアップする段階的状励磁信号を提供し得る。いくつかの例において、構成可能なハードウェアモジュールは、例えば、第１の定電流または定電圧から、第２の定電流または定電圧に降下することなどによって、ステップダウンする段階的励磁信号を提供し得る。いくつかの例において、構成可能なハードウェアモジュールは、ステップアップおよびステップダウンする（例えば、ある場合にはステップアップし、他の場合にはステップダウンする）段階的励磁信号を提供し得る。構成可能なハードウェアモジュールは、例えば、他の方法で変化する励磁信号を提供することによって、同様に任意の他の適切な方法でセンサの状態を変化させ得る。例えば、励磁信号は、ランプ関数、指数関数、正弦関数または他の周期的関数などであり得るか、またはこれらを含み得る。上記のように、関数に応じた、または関数を含む励磁信号を提供する場合、第１の励磁信号を提供し、続いて修正された励磁信号を提供するものとして説明される。
【００７７】
いくつかの例において、構成可能なハードウェアモジュールは、例えば、条件が真であると判定された後に物理量を測定することによって、経時的にセンサ入力信号を異なる方法で処理し得る。例えば、構成可能なハードウェアモジュールは、センサからの入力信号を測定するためにセンサが起動された後、所定の時間待機し得る。例えば、これにより、物理量が測定される前に、センサが安定化またはウォームアップすることが可能になる。別の例において、この条件は、励磁信号に関連し得る。例えば、励磁信号が特定の電流または電圧までランプアップする場合、構成可能なハードウェアモジュールは、センサからの入力信号を測定する前に、励磁信号がランプアップを完了するまで待機し得る。
【００７８】
動作１００８において、構成マネージャ１０２は、動作１００６において生成された１つ以上の候補ハードウェア構成を、ＵＩ  １０６において表示し得る。構成マネージャ１０２はまた、それぞれの候補ハードウェア構成のための性能係数の値を表示し得る。いくつかの例において、ＵＩ  １０６はまた、例えば、それぞれの利点および／または欠点の記述を含む候補ハードウェア構成のテキスト記述を提供し得る。動作１０１０において、構成マネージャ１０２は、ユーザ１２４から、ＵＩ  １０６に表示された候補ハードウェア構成のうちの１つの選択肢を受け取り得る。例えば、ユーザ１２４は、ＵＩ  １０６においてハードウェア構成を選択し得る。いくつかの例において、ユーザ１２４はまた、例えば、図１４で後述するように、ハードウェア構成の追加の実装の詳細を選択し得る。
【００７９】
いくつかの例において、構成マネージャ１０２は、候補ハードウェア構成の中から単一のハードウェア構成を選択し得る。例えば、構成マネージャ１０２は、性能係数（例えば、性能係数の重み）に最もよく一致する候補ハードウェア構成を選択し得る。構成管理１０２は、単一のハードウェア構成を選択すると、動作１００８において、そのハードウェア構成を記述するデータがＵＩに表示され、ユーザは動作１０１０において選択されたハードウェア構成を確認し得る。
【００８０】
動作１０１２において、構成マネージャ１０２は、選択されたハードウェア構成のための構成データ１１０を生成し得る。以前に動作１００６Ｂにおいてシミュレートされたような選択されたハードウェア構成であれば、選択されたハードウェア構成のための構成データ１１０は、既に存在する可能性がある。いくつかの例において、動作１０１２において、動作１００６Ｂのために生成されたシミュレーションデータは、レジスタマップ設定または他のスイッチ状態データ、制御回路における実行のための命令などのハードウェア構成データで補われ得る。
【００８１】
動作１０１４において、構成マネージャ１０２および／またはシミュレーションマネージャ１０４は、例えば、ＵＩ  １０６を介して、ユーザ１２４に選択されたハードウェア構成をシミュレートすることを可能にし得る。例えば、図２を参照すると、シミュレーションマネージャ１０４は、個別にまたはＵＩ  １０６を介して、シミュレーションＵＩ  ２０６を提供し得る。いくつかの例において、ユーザ１２４は、シミュレーションの結果に基づいてハードウェア構成を修正し得る。例えば、構成マネージャ１０２は、動作１０１６において、ＵＩ  １０６を介して、ユーザからハードウェア構成を修正する要求を受け取り得る。これに応答して、構成マネージャ１０２は、選択されたハードウェア構成のための構成データ１１０を修正し得る。
【００８２】
図１１〜図２１は、プロセスフロー１０００の実装の例を示すＵＩ  １０６からのスクリーンショットの例を示す。図１１は、測定される物理量を記述するデータを受け取るためのＵＩ  １０６のスクリーン１１００を示すスクリーンショットである。スクリーン１１００は、ウェブブラウザ１１０２に示されている。例えば、ＵＩ  １０６は、ユーザコンピューティングデバイス１２２において実行されるウェブアプリによって提供され得る。スクリーン１１００は、スクリーン１１００に表示される「測定タイプを選択する」タブ１１０４を含む。「測定タイプを選択する」タブ１１０４は、「測定タイプ」フィールド１１０６を含み得る。ユーザは、「測定タイプ」フィールド１１０６から測定される物理量を選択し得る。図１１の例において、「測定タイプ」フィールド１１０６は、温度、圧力、光、重量、力、接触、近接、流れ、化学量、ガス、バイオセンスまたはバイオメトリック量、レベルなどを含む物理量の例を含む。このリストは非限定的であり、図１１に示される物理量の一部または全部に加えて、またはその代わりに、いくつかの例において、選択のために、追加の物理量がまた利用可能であり得る。
【００８３】
いくつかの例において、ユーザ１２４が「測定タイプ」フィールド１１０６から物理量を選択するとき、情報フィールド１１１４において物理量に関する追加の情報および／または物理量の測定に関する情報が表示され得る。これにより、ハードウェア構成を選択するプロセス中にユーザ１２４を教育し得る。
【００８４】
測定法フィールド１１０８は、ユーザ１２４によって選択された物理量を表示し得る（例えば、「測定タイプ」フィールド１１０６から）。例えば、ユーザ１２４は、測定に測定法フィールド１１０８を表示させるために、追加の測定ボタン１１１２を選択し得る。ユーザは、例えば、測定法フィールド１１０８において対応するタブを選択することによって、追加された測定を選択し得る。例えば、図１１において、第１の測定のタブ「測定１」が選択される。測定法タブが選択されると、ユーザ１２４は、例えばメニュー１１１０を利用して測定のための物理量を提供し得る。任意の適切なメニュータイプが使用され得る。
【００８５】
図１１は、測定法フィールド１１０８に複数の測定法を示す。いくつかの例において、構成マネージャ１０２は、複数の物理量を同時に管理することができる構成可能なハードウェアモジュールのハードウェア構成を選択するように構成され得る。例えば、構成可能なハードウェアモジュール（１２０、４２０、５２０など）は、複数のセンサを駆動するために複数の入力および励磁チャネルを生成する構成要素を含み得る。他の例において、ＵＩ  １０６および構成マネージャ１０２は、ユーザ１２４に複数のハードウェア構成を生成することを可能にし得る。例えば、測定法フィールド１１０８の各タブ（例えば、「測定１」、「測定２」、「測定３」、「測定４」など）は、構成マネージャによって生成された異なるハードウェア構成に対応し得る。
【００８６】
図１２は、ユーザから追加の設計入力を受け取るための測定法フィールド１１０８のより詳細な図を含む、スクリーン１１００の図の別の例を示すスクリーンショットである。図１２において、図１１と同様に、「測定タイプを選択する」タブ１１０４が選択される。測定法フィールド１１０８の「測定１」タブはまた、選択されたままである。ユーザ１２４は、メニュー１１１０に示されるように、測定される物理量として「温度」を選択した。センサクラスメニュー１１１６は、センサクラス「熱電対」が選択されたことを示している。センサの１つのクラスのみが特定の物理量を測定するために利用可能である場合、構成マネージャ１０２はそのクラスを選択し、それに応じてセンサクラスメニュー１１１６を設定し得る。複数のセンサクラスが利用可能であるいくつかの例において、ユーザ１２４は、センサクラスメニュー１１１６からセンサクラスを選択し得る。いくつかの例において、情報フィールド１１１４は、例えば、選択されたセンサクラスを含むセンサクラスに関する情報を表示するように更新され得る。
【００８７】
センサタイプフィールド１１１８は、ユーザ１２４に使用されるセンサのタイプを選択することを可能にする。センサタイプデータフィールド１１２０は、選択されたセンサタイプおよび／または他のセンサタイプに関するデータを提供し得る。例えば、図１２において、センサタイプデータフィールド１１２０は、例えば、測定可能な最低温度、測定可能な最高温度、および感度を含むＴタイプ熱電対センサの性能パラメータを示す。
【００８８】
図１３は、ユーザ１２４からの性能係数データおよび追加の設計入力を受け取るための測定法フィールド１１０８の図を含む、スクリーン１１００の別の図の例を示すスクリーンショットである。図１３において、図１１および図１２と同様に、「測定タイプを選択する」タブ１１０４が選択される。測定法フィールド１１０８の「測定１」タブはまた、選択されたままである。ユーザ１２４は、メニュー１１１０に示されるように、測定される物理量として「温度」を選択した。センサクラスメニュー１１１６は、センサクラス「熱電対」が選択されたことを示し、センサタイプメニュー１１１８は、センサタイプ「Ｔタイプ」が選択されたことを示している。「測定精度」フィールド１１２２は、温度測定の所望の精度を記述する性能係数の値を受け取り得る。例えば、図１３において、ユーザは０．２５℃の所望の精度を選択した。
【００８９】
ハードウェア構成タイプボタン１１２４は、フィールド１１２２に入力された性能係数を満たし得るハードウェア構成のタイプを示す。例えば、図１３において、１つのハードウェア構成は、示された性能係数、すなわち「冷接点補償測定」構成を満たす。複数のタイプのハードウェア構成が性能係数を満たすことができる場合、ボタン１１２４の複数の例が示され得る。いくつかの例において、ユーザ１２４は、対応するボタン（例えば、ボタン１１２４または追加ボタンが示されている場合には別のボタン）を選択することによって、ハードウェア構成タイプを選択する。情報フィールド１１１４は、選択されたセンサクラス、タイプ、およびハードウェア構成タイプの記述を含むように更新され得る。
【００９０】
図１４は、ユーザ１２４から追加の設計入力を受け取るための測定法フィールド１１０８の図を含む、スクリーン１１００の図の別の例を示すスクリーンショットである。図１４に示されるように、ユーザ１２４は、「冷接点補償測定」ハードウェア構成を選択した。ハードウェア構成詳細フィールド１１２６は、選択されたハードウェア構成タイプの追加の詳細を受け取り得る。例えば、構成フィールド１１２６は、ユーザにハードウェア構成とともに使用される特定のセンサを選択することを可能にするセンサフィールド１１２８を含み得る。センサフィールド１１２８は、センサのカテゴリを記述するタブを含み得る。例えば、図１４において、センサフィールド１１２８は、「サーミスタ」カテゴリセンサ、「ＲＴＤ３ワイヤ」カテゴリセンサ、「ＲＴＤ４ワイヤ」カテゴリセンサ、および「デジタル温度ＩＣ」カテゴリセンサのためのタブを含む。図１４において、「ＲＴＤ３ワイヤ」カテゴリセンサが選択され、２つの特定のセンサが、例えばシリアル番号（例えば、Ｐｔ１００およびＰｔ１０００）によってセンサフィールド１１２８に表示される。ユーザは、センサフィールド１１２８からセンサのうちの１つを選択し得る。構成詳細フィールド１１２６はまた、ハードウェア構成の概略図１１３０を表示し得る。また、いくつかの例において、選択されたセンサ、感覚カテゴリ、センサクラスなどを記述するために、情報フィールド１１１４を更新し得る。
【００９１】
図１５は、ユーザ１２４から追加の設計入力を受け取るための構成詳細フィールドの図を含む、スクリーン１１００の図の別の例を示すスクリーンショットである。図１５において、ユーザ１２４はセンサ（例えば、Ｐｔ１００）を選択した。センサフィールド１１２８は、Ｐｔ１００の選択時に、推奨される入力チャネルおよび励磁チャネルパラメータを利用するか、または入力チャネルおよび励磁チャネルパラメータを手動で選択するかをユーザ１２４に尋ねるプロンプトを含み得る。例えば、図１５の例で選択されたセンサは、力電流、測定電流（ＦＩＭＩ）センサであるため、示された励磁チャネルパラメータは励磁電流であり、示された入力チャネルパラメータは基準抵抗値である。異なるタイプのセンサは、異なる励磁パラメータおよび入力チャネルパラメータを有することになる。
【００９２】
図１５で選択されたように、ユーザ１２４が入力チャネルおよび励磁チャネルパラメータを手動で選択すべき場合、構成詳細フィールド１１２６は、入力チャネルおよび／または励磁チャネルパラメータを受け取るための手動パラメータフィールド１１３１を含み得る。ユーザ１２４が「コンプライアンスをチェックする」ボタン１１３２を選択した場合、構成マネージャは、ユーザの選択された入力チャネルおよび励磁チャネルパラメータを有するハードウェア構成が性能係数を満たすか否かを判定し得る。情報フィールド１１１４は、入力チャネルおよび／または励磁チャネル構成に関する追加の情報を示すために、再び更新され得る。図１６は、スクリーン１１００の図の別の例を示すスクリーンショットである。図１６において、ユーザは、記載されるように、追加の設計入力を提供した。追加の設計入力の一部または全部は、設計入力要約フィールド１１３４において要約され得る。ユーザは、ハードウェア構成を選択するように構成マネージャ１０２に促すために、検索ボタン１１３６を選択し得る。
【００９３】
図１７は、測定法フィールド１１０８における候補ハードウェア構成を表示するスクリーン１１００の別の図の例を示すスクリーンショットである。例えば、候補ハードウェア構成フィールド１１４０は、例えば、ユーザ１２４が検索ボタン１１３６（図１６）を選択したときに、構成マネージャ１０２によって生成された候補ハードウェア構成を記述する情報を表示し得る。例えば、候補ハードウェア構成フィールド１１４２、１１４４、１１４６は、それぞれ、３つの異なる候補ハードウェア構成を記述し得る。いくつかの例において、フィールド１１４２、１１４４、１１４６における候補ハードウェア構成は、ハードウェア構成がユーザ１２４によって提供される性能係数とどれだけよく一致するかを示す順序で配置され得る。例えば、フィールド１１４２において記述された候補ハードウェア構成は、性能係数と最もよく一致し得るが、フィールド１１４４および１１４６において記述されたハードウェア構成は、あまり一致していない可能性がある。
【００９４】
図１７はまた、様々な性能係数および対応する重みメニューを含む性能係数重みフィールド１１４８の例を示す。ユーザ１２４は、記載された性能係数に重みを割り当ててもよく、構成マネージャ１０２は、入力された重みに基づいて候補ハードウェア構成を判定および／または格付け得る。例えば、フィールド１１４２、１１４４、１１４６において示される候補ハードウェア構成の順序は、性能係数重みフィールド１１４８において提供される性能係数重みを反映し得る。ユーザ１２４は、例えば候補ハードウェア構成フィールド１１４０から候補ハードウェア構成を選択し得る。
【００９５】
ユーザが候補ハードウェア構成を選択する場合、いくつかの例において、構成マネージャ１０２は、ユーザに、選択されたハードウェア構成を説明する追加の情報および／または処理のためのオプションを提供し得る。図１８は、選択されたハードウェア構成を記述する追加の情報を表示するスクリーン１１００の図の別の例を示すスクリーンショットである。例えば、図１８において、ハードウェア構成フィールド１１４０は、選択されたハードウェア構成を記述するデータを含む性能グラフ１１５２を含む。図１８の例において、性能グラフ１１５２は、測定セトリング時間（横軸）にわたる測定誤差（縦軸）の指示を示す。例えば、測定セトリング時間は、センサが起動されて（例えば、バイアス信号が提供される）からの時間を示し得る。いくつかの例において、ハードウェア構成は、測定セトリング時間でセンサからの入力信号を測定するための命令を含んでもよく、許容可能な誤差レベルを提供する。例えば、判定された測定セトリング時間の経過は、その後に入力信号が測定される条件であり得る。
【００９６】
「ハードウェア構成ファイルを作成する」ボタン１１５４は、選択されたハードウェア構成のための構成データ１１０を生成および／または完了するように構成マネージャに促すために、ユーザ１２４によって選択され得る。例えば、ユーザがボタン１１５４を選択すると、構成マネージャ１０２は、例えば、ハードウェア構成のためのレジスタマップまたは他のスイッチセットアップ、構成可能なハードウェアモジュールの制御回路によって実行される命令などのハードウェア構成データを生成し得る。
【００９７】
フィールド１１５０は、ユーザ１２４に構成マネージャ１０２から追加のサービスを要求することを可能にするためのボタンを含み得る。例えば、「データシートをクリップボードに追加する」ボタンは、選択されると、構成マネージャ１０２に、センサおよび／または構成可能なハードウェアモジュールの他の構成要素のデータシートを取り出し、それをユーザに提供し、かつ／またはデータシートを構成データ１１０に付加するように促し得る。「ハードウェアレイアウトランドパターン」ボタンは、選択されると、構成マネージャ１０２に、例えばＵＩ  １０６を介して、かつ／または構成データ１１０に付加されて、ハードウェアレイアウトランドパターンを提供するように促し得る。「ハードウェア構成ファイルを追加する」ボタンは、構成マネージャ１０２に、例えば、ＵＩ  １０６を介して、かつ／または構成データ１１０に付加されて、例えば、ハードウェア構成データを含むかまたは記述するハードウェア構成ファイルを提供するように促し得る。「ハードウェア接続図表を加える」ボタンは、構成マネージャ１０２に、例えば、ＵＩ  １０６を介して、かつ／または構成データ１１０に付加されて、ハードウェア構成のハードウェア接続図表を提供するように促し得る。「サンプルボタン」は、ユーザ１２４によって選択されると、例えば、ユーザ１２４がハードウェア構成によって利用されるハードウェア構成要素のサンプルを購入または注文し得るウェブ位置にユーザ１２４を案内し得る。「評価ボード」ボタンは、ユーザ１２４によって選択されると、例えば、ユーザ１２４がハードウェア構成を実装するための評価ボードを購入するか、または別様に取得し得るウェブ位置にユーザ１２４を案内し得る。
【００９８】
いくつかの例において、「評価に続く」ボタン１１５３は、ユーザ１２４によって選択されると、構成マネージャ１０２および／またはシミュレーションマネージャ１０４に、選択されたハードウェア構成をシミュレートするように促し得る。図１９は、シミュレーションスクリーン１９００の例を示すスクリーンショットである。シミュレーションスクリーン１９００は、ＵＩ  １０６を介してユーザ１２４に提供され得る。スクリーン１９００は、設定フィールド１９０２および概略フィールド１９０４を含む。設定フィールド１９０２は、選択されたハードウェア構成のシミュレーションのための入力パラメータを示すことをメイする。例えば、入力パラメータの値は、構成データ１１０から読み取られ得る。いくつかの例において、ユーザ１２４は、フィールド１９０２において入力パラメータの一部または全部の値を修正し得る。いくつかの例において、設定フィールド１９０２からの入力パラメータは、構成データ１１０における引数データ６１６によって記述された引数に対応し得る。例えば、構成データは、フィールド１９０２において示される入力パラメータ／引数の組み合わせを記述するバンドルデータ６１４を含み得る。
【００９９】
タブ１９０６、１９０８、１９１０、１９１２、１９１４、１９１６、１９１８は、スクリーン１９００におけるシミュレーションの異なる態様を表示するためにユーザによって選択され得る。例えば、図１９において、「図表」タブ１９０６が選択されており、これによりシミュレーションマネージャ１０４に、ハードウェア構成の概略図表を示す概略フィールド１９０４を表示するように促し得る。図１９の例において、シミュレーションのための生成器を記述する入力パラメータまたは引数は、概略フィールド１９０４における「アナログ入力」ブロックおよび設定フィールド１９０２における「アナログ入力（ＤＣ）」フィールドによって示される。様々な構成要素のためのシミュレータおよび基礎モデル１１２は、構成データ１１０（例えば、シミュレータデータ６１０）から読み取られ得る。
【０１００】
タブ１９０８、１９１０、１９１２および１９１４は、シミュレーションマネージャ１０４によって実施される評価を表す。例えば、図２０は波形評価の結果を見るために「波形」評価タブが選択されたスクリーン１９００の別の例を示すスクリーンショットである。例えば、グラフフィールド１９２０は、ハードウェア構成のシミュレーションから生じる波形のグラフィカルプロットを示す。結果テーブルフィールド１９２２は、グラフフィールド１９０４において示される波形の様々な特徴に関する数値を示す。図２１は、周波数応答タブ１９１０が選択されたスクリーン１９００の別の例を示すスクリーンショットである。グラフフィールド１９３０は、生成器に対するハードウェア構成の周波数応答のグラフィカル表現を示す。結果テーブルフィールド１９３２は、グラフフィールド１９３０において示される周波数応答を記述する数値を示す。追加のタブ１９１２、１９１４は、スクリーン１９００に追加の評価結果を表示することを可能にし得る。例えば、ヒストグラムタブ１９１２は、選択されると、モデルの実行された試行に関してハードウェア構成の特定の特性（例えば、ノイズレベル、出力電圧）のヒストグラムを示し得る。「ステップ応答」タブ１９１４は、選択されると、ステップ機能に対するハードウェア構成の応答を示し得る。
【０１０１】
「次のステップ」タブ１９１６は、例えば、ユーザ１２４がハードウェア構成を実装するための構成可能なハードウェアモジュール、センサ、および／または他の構成要素を命令し得るウェブ位置にリンクし得る。「ヘルプ」タブ１９１８は、シミュレーションマネージャ１０４のヘルプ機能を起動し得る。
【０１０２】
図２２は、コンピューティングデバイスのソフトウェアアーキテクチャ２２０２の一例を示すブロック図２２００である。例えば、本明細書に記載されるように、アーキテクチャ２２０２は、例えば、制御回路３１４、４０４、５０４、ユーザコンピューティングデバイス１２２、サーバ１２６、または構成マネージャ１０２およびシミュレーションマネージャ１０４などを実装するサーバなどの様々なハードウェアアーキテクチャとともに使用され得る。図２２は、ソフトウェアアーキテクチャ２２０２の単なる非限定的な例に過ぎず、多くの他のアーキテクチャが、本明細書に記載される機能を容易にするために実装され得る。代表的なハードウェア層２２０４が示されており、例えば、上記したコンピューティングデバイスのいずれかを表し得る。いくつかの例において、ハードウェア層２２０４は、図２２のアーキテクチャ２２０２および／または図２３のアーキテクチャ２３００に従って実装され得る。
【０１０３】
代表的なハードウェア層２２０４は、関連する実行可能命令２２０８を有する１つ以上のプロセッサユニット２２０６を含む。実行可能命令２２０８は、図１〜図２１の、方法、モジュール、構成要素などの実装を含む、ソフトウェアアーキテクチャ２２０２の実行可能命令を表す。ハードウェア層２２０４はまた、実行可能命令２２０８も有する、メモリおよび／または記憶モジュール２２１０を含む。ハードウェア層２２０４はまた、ハードウェアアーキテクチャ２３００の一部として示された他のハードウェアなどの、ハードウェア層２２０４の任意の他のハードウェアを表す、他のハードウェア２２１２によって示されるような他のハードウェアを含み得る。
【０１０４】
図２２のアーキテクチャの例において、ソフトウェア２２０２は、各層が特定の機能性を提供する層のスタックとして概念化され得る。例えば、ソフトウェア２２０２は、オペレーティングシステム２２１４、ライブラリ２２１６、フレームワーク／ミドルウェア２２１８、アプリケーション２２２０、およびプレゼンテーション層２２４４などの層を含み得る。動作的に、層内のアプリケーション２２２０および／または他の構成要素は、ソフトウェアスタックを介してアプリケーションプログラミングインターフェース（ＡＰＩ）コール２２２４を呼び出し、ＡＰＩコール２２２４に応答して、メッセージ２２２６として示される、応答、戻り値などを受け取り得る。図示される層は、本質的に代表的であり、全てのソフトウェアアーキテクチャが全ての層を有するわけではない。例えば、一部のモバイルまたは特殊目的オペレーティングシステムは、フレームワーク／ミドルウェア層２２１８を提供しなくてもよいが、他のものはかかる層を提供し得る。他のソフトウェアアーキテクチャは、追加のまたは異なる層を含み得る。
【０１０５】
オペレーティングシステム２２１４は、ハードウェアリソースを管理し、共通サービスを提供し得る。オペレーティングシステム２２１４は、例えば、カーネル２２２８、サービス２２３０、およびドライバ２２３２を含み得る。カーネル２２２８は、ハードウェア層と他のソフトウェア層との間の抽象化層として機能し得る。例えば、カーネル２２２８は、メモリ管理、プロセッサ管理（例えば、スケジューリング）、構成要素管理、ネットワーク化、セキュリティ設定などを担当し得る。サービス２２３０は、他のソフトウェア層のための他の共通サービスを提供し得る。いくつかの例において、サービス２２３０は割り込みサービスを含む。割り込みサービスは、ハードウェアまたはソフトウェア割り込みの受け取りを検出し、それに応答して、アーキテクチャ２２０２に、その現在の処理を一時停止させ、割り込みが受け取られたときに割り込みサービスルーチン（ＩＳＲ）を実行させ得る。ＩＳＲは、例えば、本明細書で記載するように、アラートを生成し得る。
ドライバ２２３２は、基礎ハードウェアを制御またはこれと交信することを担当し得る。例えば、ドライバ２２３２は、ハードウェア構成に依存する、ディスプレイドライバ、カメラドライバ、Ｂｌｕｅｔｏｏｔｈ（登録商標）ドライバ、フラッシュメモリドライバ、シリアル通信ドライバ（例えば、ユニバーサルシリアルバス（ＵＳＢ）ドライバ）、Ｗｉ−Ｆｉ（登録商標）ドライバ、ＮＦＣドライバ、オーディオドライバ、電源管理ドライバなどを含み得る。
【０１０６】
ライブラリ２２１６は、アプリケーション２２２０および／または他の構成要素および／または層によって利用され得る共通インフラストラクチャを提供し得る。ライブラリ２２１６は、典型的には、他のソフトウェアモジュールに基礎オペレーティングシステム２２１４の機能（例えば、カーネル２２２８、サービス２２３０および／またはドライバ２２３２）と直接交信するよりも容易な方法で、タスクを実施することを可能にする機能を提供する。ライブラリ２２１６は、メモリ割り当て関数、文字列操作関数、数学関数などの関数を提供し得るシステムライブラリ２２３４（例えば、Ｃ標準ライブラリ）を含み得る。さらに、ライブラリ２２１６は、メディアライブラリ（例えば、ＭＰＥＧ４、Ｈ．２６４、ＭＰ３、ＡＡＣ、ＡＭＲ、ＪＰＧ、ＰＮＧなどの様々なメディアフォーマットの提示および操作をサポートするライブラリ）、グラフィックスライブラリ（例えば、ディスプレイ上のグラフィックコンテンツに２Ｄおよび９Ｄをレンダリングするために使用され得るＯｐｅｎＧＬフレームワーク）、データベースライブラリ（例えば、様々なリレーショナルデータベース機能を提供し得るＳＱＬｉｔｅ）、ウェブライブラリ（例えば、ウェブブラウジング機能性を提供するＷｅｂＫｉｔ）などの、ＡＰＩライブラリ２２３６を含み得る。ライブラリ２２１６はまた、アプリケーション２２２０および他のソフトウェア構成要素／モジュールに多くの他のＡＰＩを提供するための多種多様な他のライブラリ２２３８を含み得る。
【０１０７】
フレームワーク２２１８（ミドルウェアとも呼ばれることもある）は、アプリケーション２２２０および／または他のソフトウェア構成要素／モジュールによって利用され得るより高いレベルの共通インフラストラクチャを提供し得る。例えば、フレームワーク２２１８は、様々なグラフィックユーザインターフェース（ＧＵＩ）機能、高レベルリソース管理、高レベル位置特定サービスなどを提供し得る。フレームワーク２２１８は、アプリケーション２２２０および／または他のソフトウェア構成要素／モジュールによって利用され得る広範囲の他のＡＰＩを提供してもよく、そのいくつかは特定のオペレーティングシステムまたはプラットフォームに固有であり得る。
【０１０８】
アプリケーション２２２０は、組み込みアプリケーション２２４０および／または第三者アプリケーション２２４２を含む。代表的な組み込みアプリケーション２２４０の例は、連絡先アプリケーション、ブラウザアプリケーション、ブックリーダーアプリケーション、位置特定アプリケーション、メディアアプリケーション、メッセージングアプリケーション、および／またはゲームアプリケーションを含み得るが、これらに限定されない。第三者アプリケーション２２４２は、組み込みアプリケーション２２４０のいずれか、および他の広範囲のアプリケーションを含み得る。特定の例において、第三者アプリケーション２２４２（例えば、特定のプラットフォームのベンダー以外のエンティティによってＡｎｄｒｏｉｄ（商標）またはｉＯＳ（商標）ソフトウェア開発キット（ＳＤＫ）を使用して開発されたアプリケーション）は、ｉＯＳ（商標）、Ａｎｄｒｏｉｄ（商標）、Ｗｉｎｄｏｗｓ（登録商標）Ｐｈｏｎｅ、または他のユーザコンピューティングデバイスオペレーティングシステムなどのモバイルオペレーティングシステム上で実行されるモバイルソフトウェアであり得る。この例において、第三者アプリケーション２２４２は、本明細書に記載される機能を容易にするために、オペレーティングシステム２２１４などのモバイルオペレーティングシステムによって提供されるＡＰＩコール２２２４を呼び出し得る。
【０１０９】
アプリケーション２２２０は、ユーザインターフェースを作成してシステムのユーザと対話するために、組み込みオペーティングシステム機能（例えば、カーネル２２２８、サービス２２３０および／またはドライバ２２３２）、ライブラリ（例えば、システム２２３４、ＡＰＩ２２３６、および他のライブラリ２２３８）、フレームワーク／ミドルウェア２２１８を利用し得る。代わりに、またはさらに、いくつかのシステムにおいて、ユーザとの対話は、プレゼンテーション層２２４４などのプレゼンテーション層を介して行われ得る。これらのシステムにおいて、アプリケーション／モジュール「論理」は、ユーザと対話するアプリケーション／モジュールの側面から分離され得る。
【０１１０】
いくつかのソフトウェアアーキテクチャは仮想マシンを利用する。例えば、本明細書に記載されるシステムは、１つ以上のサーバコンピューティングマシンで実行される１つ以上の仮想マシンを利用して実行され得る。図２２の例において、これは仮想マシン２２４８によって示されている。仮想マシンは、アプリケーション／モジュールがハードウェアコンピューティングデバイス上で実行しているかのように実行し得るソフトウェア環境を作成する。仮想マシンは、ホストオペレーティングシステム（オペレーティングシステム２２１４）によってホストされ、典型的には、必ずしもそうではないが、仮想マシン２２４８の動作およびホストオペレーティングシステム（すなわち、オペレーティングシステム２２１４）との交信を管理する、仮想マシンモニタ２２４６を有する。ソフトウェアアーキテクチャは、オペレーティングシステム２２５０、ライブラリ２２５２、フレームワーク／ミドルウェア２２５４、アプリケーション２２５６、および／またはプレゼンテーション層２２５８などの仮想マシン２２４８内で実行される。仮想マシン２２４８内で実行されるソフトウェアアーキテクチャのこれらの層は、前述の対応する層と同じであってもよいかまたは異なっていてもよい。
【０１１１】
図２３は、その中で命令のセットまたはシーケンスを実行して、本明細書で論じた技法のいずれか１つの例をマシンに実施させることができる、コンピューティングデバイスハードウェアアーキテクチャ２３００を示すブロック図である。例えば、アーキテクチャ２３００は、図２２に関して記載されたソフトウェアアーキテクチャ２２０２を実行し得る。アーキテクチャ２３００は、スタンドアロンデバイスとして動作し得えるか、または他のマシンに接続され（例えば、ネットワーク接続）得る。ネットワーク化デプロイメントにおいて、アーキテクチャ２３００は、サーバクライアントネットワーク環境内のサーバまたはクライアントマシンのいずれかの能力で動作してもよく、ピアツーピア（または分散）ネットワーク環境においてピアマシンとして機能し得る。アーキテクチャ２３００は、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、ハイブリッドタブレット、セットトップボックス（ＳＴＢ）、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンがとる動作を指定する命令（シーケンシャルまたはその他）を実行できる任意のマシンンにおいて実装され得る。
【０１１２】
例示的なアーキテクチャ２３００は、少なくとも１つのプロセッサ（例えば、中央処理装置（ＣＰＵ）、グラフィック処理装置（ＧＰＵ）またはその両方、プロセッサコア、計算ノードなど）を含むプロセッサ装置２３０２を含む。アーキテクチャ２３００は、リンク２３０８（例えば、バス）を介して互いに通信するメインメモリ２３０４およびスタティックメモリ２３０６をさらに含み得る。アーキテクチャ２３００は、ビデオディスプレイユニット２３１０、英数字入力デバイス２３１２（例えば、キーボード）、およびユーザインターフェース（ＵＩ）ナビゲーションデバイス２３１４（例えば、マウス）をさらに含み得る。いくつかの例において、ビデオディスプレイユニット２３１０、入力デバイス２３１２、およびＵＩナビゲーションデバイス２３１４は、タッチスクリーンディスプレイに組み込まれる。アーキテクチャ２３００は、記憶デバイス２３１６（例えば、ドライブユニット）、信号生成デバイス２３１８（例えば、スピーカ）、ネットワークインターフェースデバイス２３２０、および１つ以上のセンサ（図示せず）、全地球測位システム（ＧＰＳ）センサ、コンパス、加速度計、または他のセンサをさらに含み得る。
【０１１３】
いくつかの例において、プロセッサユニット２３０２または他の適切なハードウェア構成要素は、ハードウェア割り込みをサポートし得る。ハードウェア割り込みに応答して、プロセッサユニット２３０２は、その処理を中断し、例えば、本明細書に記載されるように割り込みサービスルーチン（ＩＳＲ）を実行し得る。
【０１１４】
記憶デバイス２３１６は、本明細書に記載される技法または機能のいずれか１つ以上によって具体化または利用されるデータ構造および命令２３２４（例えば、ソフトウェア）の１つ以上のセットが記憶されるマシン可読媒体２３２２を含む。命令２３２４はまた、マシン可読媒体も構成するメインメモリ２３０４、スタティックメモリ２３０６およびプロセッサユニット２３０２とともに、メインメモリ２３０４、スタティックメモリ２３０６内に、および／またはプロセッサユニット２３０２内に、アーキテクチャ２３００による実行中に、完全にまたは少なくとも部分的に存在し得る。マシン可読媒体２３２２に記憶される命令は、例えば、ソフトウェアアーキテクチャ２２０２を実装するための命令、本明細書に記載される特徴のうちのいずれかを実行するための命令などを含み得る。
【０１１５】
マシン可読媒体２３２２は、単一の媒体である例において示されているが、用語「マシン可読媒体」は、１つ以上の命令２３２４を記憶する単一の媒体または複数の媒体（例えば、集中型もしくは分散型データベース、ならびに／または関連キャッシュおよびサーバ）を含み得る。用語「マシン可読媒体」はまた、マシンによる実行のための命令であって、マシンに本開示の技法の任意の１つ以上を行わせる命令を記憶、符号化、または運ぶことができる任意の媒体、あるいはかかる命令によって使用されるまたはそれと関連付けられたデータ構造を記憶、符号化、または運ぶことができる任意の有形の媒体を含み得る。したがって、用語「マシン可読媒体」は、固体メモリ、ならびに光学および磁気媒体を含み得るが、これに限定されない。マシン可読媒体の特定の例は、例えば半導体メモリデバイス（例えば、電気的にプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）、電気的に消去可能でプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ））およびフラッシュメモリデバイスを含むがこれに限定されない不揮発性メモリ、内部ハードディスクおよび取り外し可能なディスクなどの磁気ディスク、磁気光学ディスク、ならびにＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含む。
【０１１６】
命令２３２４は、さらに、多数の周知の転送プロトコル（例えば、ハイパーテキスト転送プロトコルまたはＨＴＴＰ）のうちの任意の１つを利用するネットワークインターフェースデバイス２３２０を介して、通信媒体を使用して通信ネットワーク２３２６上で送信または受信され得る。通信ネットワークの例は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット、携帯電話ネットワーク、旧来の一般電話（ＰＯＴＳ）ネットワーク、および無線データネットワーク（例えば、Ｗｉ−Ｆｉ、３Ｇ、および５Ｇ  ＬＴＥ／ＬＴＥ−ＡまたはＷｉＭＡＸネットワーク）を含む。用語「伝送媒体」は、マシンによる実行のための命令を記憶、符号化、または搬送することができる任意の無形媒体を含むとみなされるものとし、かかるソフトウェアの通信を容易にするデジタルまたはアナログの通信信号またはその他の無形媒体を含む。
【０１１７】
本開示では、様々な構成要素が特定の方法で構成されているものとして説明されている。構成要素は、任意の適切な方法で構成され得る。例えば、コンピューティングデバイスであるか、またはそれを含む構成要素は、コンピューティングデバイスをプログラムする適切なソフトウェア命令で構成され得る。構成要素はまた、そのハードウェア構成によって、または任意の他の適切な方法で構成され得る。
【０１１８】
上記は、例示的なものであって、限定的なものではないことが意図される。例えば、上記の例（またはそれらの１つ以上の態様）は、互いと組み合わせて使用されてもよい。他の実施形態が、例えば、当業者による上記の検討後に、使用され得る。要約は、例えば、米国の３７Ｃ．Ｆ．Ｒ．§１．７２（ｂ）に準拠しており、読み手が技術的開示の本質を迅速に確認することを可能にするものである。それは特許請求の範囲もしくはその意味を解釈または限定するために使用されないという理解の下で提示される。
【０１１９】
また、上記の「発明を実施するための形態」では、様々な特徴が、開示を簡素化するためにまとめられ得る。しかしながら、特許請求の範囲は、実施形態が前記特徴の部分集合を特徴とすることができるため、本明細書に開示されるあらゆる特徴を説明することはできない。さらに、実施形態は、特定の例で開示されたものより少ない特徴を含み得る。したがって、添付の特許請求の範囲は、本明細書によって「発明を実施するための形態」に組み込まれ、請求項が個別の実施形態として独立して立証される。本明細書に記載される実施形態の範囲は、かかる特許請求の範囲が権利を与えられる均等物の全範囲とともに、添付の特許請求の範囲を参照して決定されるべきである。
【０１２０】
様々な注記および実施例
本文書に記載されている非限定的な例のそれぞれは、単独で存在することができ、または１つ以上の他の例との様々な置換または組み合わせで組み合わせることができる。
【０１２１】
上記の発明を実施するための形態は、発明を実施するための形態の一部を形成する添付の図面の参照を含む。図面は、例示として、本発明が実施され得る特定の実施形態を示す。これらの実施形態は、本明細書では「例」とも呼ばれる。かかる例は、図示または説明されたものに加えて要素を含み得る。しかしながら、本発明者らはまた、図示または説明された要素のみが提供される実施例も企図する。さらに、本発明者らはまた、特定の例（またはその１つ以上の態様）に関して、あるいは本明細書に図示または説明された他の例（またはその１つ以上の態様）に関して、図示または説明された要素（またはその１つ以上の態様）の任意の組み合わせまたは置換を使用する例も企図する。
【０１２２】
万一、本文書と、参照によって組み込まれるようなあらゆる文書の間に矛盾する使用法があった場合には、本文書における使用法が支配する。
【０１２３】
本文書では、特許文書において一般的であるように、用語「ａ」または「ａｎ」が、１つまたは２つ以上を含むように、「少なくとも１つの」または「１つ以上の」の任意の他の実例あるいは使用法とは独立して、使用される。本文書では、用語「または」は、別段指示されない限り、「ＡまたはＢ」が、「ＢではなくてＡ」、「ＡではなくてＢ」、および「ＡおよびＢ」を含むように、非排他的なまたはこのことを言うために使用される。本文書では、用語「含む（ｉｎｃｌｕｄｉｎｇ）」および「それにおいて（ｉｎ  ｗｈｉｃｈ）」は、それぞれの用語「備える（ｃｏｍｐｒｉｓｉｎｇ）」および「それにおいて（ｗｈｅｒｅｉｎ）」のプレインイングリッシュの均等物として使用される。また、以下の特許請求の範囲では、用語「含む」および「備える」は、オープンエンド形式であり、すなわち、特許請求の範囲内のかかる用語の後に列挙されたものに加えた要素を含むシステム、デバイス、物品、組成、配合物、またはプロセスは、依然としてその特許請求の範囲内にあるとみなされる。さらに、以下の特許請求の範囲では、用語「第１の」、「第２の」、および「第３の」などが、単に標識として使用され、それらの対象に数値的要件を課すことを意図されない。
【０１２４】
本明細書に記載される方法の例は、マシンまたはコンピュータで少なくとも部分的に実現され得る。いくつかの例は、上記例に記載されたような方法を実施するために電子デバイスを構成するように動作可能な命令を用いて符号化されたコンピュータ可読媒体またはマシン可読媒体を含むことができる。かかる方法の実現形態は、コード、例えば、マイクロコード、アセンブリ言語コード、高レベル言語コード、または同様のものなどを含むことができる。かかるコードは、様々な方法を実施するためにコンピュータ可読命令を含むことができる。コードは、コンピュータプログラム製品の一部を形成し得る。さらに、ある実施例では、コードは、実行の間または他の時間などに、１つ以上の揮発性の、非一時的な、または不揮発性の有形コンピュータ可読媒体上に有形的に記憶され得る。これらの有形のコンピュータ可読媒体の例は、限定されるものではないが、ハードディスク、取り外し可能な磁気ディスク、取り外し可能な光学ディスク（例えば、コンパクトディスクおよびデジタルビデオディスク）、磁気カセット、メモリカードまたはスティック、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、および同様のものを含むことができる。
【０１２５】
上記は、例示的なものであって、限定的なものではないことが意図される。例えば、上記の例（またはそれらの１つ以上の態様）は、互いと組み合わせて使用されてもよい。他の実施形態が、例えば、当業者による上記の検討後に、使用され得る。要約は、３７Ｃ．Ｆ．Ｒ．§１．７２（ｂ）に準拠して提供され、読み手が技術的開示の本質を迅速に確認することを可能にする。それは特許請求の範囲もしくはその意味を解釈または限定するために使用されないという理解の下で提示される。また、上記の「発明を実施するための形態」では、様々な特徴が、開示を簡素化するためにまとめられ得る。これは、特許請求されない開示された特徴が任意の特許請求の範囲に必須であることを意図するように解釈されるべきではない。むしろ、発明の主題は、特定の開示された実施形態の全ての特徴よりも少なく存在し得る。それ故、以下の特許請求の範囲は、実施例または実施形態として「発明を実施するための形態」に本明細書により組み込まれ、各特許請求の範囲は、個別の実施形態として自立しており、かかる実施形態は、様々な組み合わせまたは置換で互いと組み合わされ得ることが考えられる。本発明の範囲は、かかる特許請求の範囲が権利を与えられる均等物の全範囲とともに、添付の特許請求の範囲を参照して決定されるべきである。
【０１２６】
［実施例］
実施例１は、ユーザから、物理量の指示を受け取ることと、ユーザから、物理量の測定法を記述する性能係数データを受け取ることと、物理量および性能係数データの指示に少なくとも部分的に基づいて、物理量を測定するためのハードウェアモジュールのハードウェア構成を生成することであって、ハードウェア構成が、物理量の動的測定を実行するようにハードウェアモジュールを構成するための命令データを含む、生成することと、ハードウェア構成を記述する構成データを生成することであって、構成データが、ハードウェア構成の少なくとも一部を実装するようにハードウェアモジュールを構成するためのハードウェア構成データを含む、生成することと、を含む、アクションを実施するように構成された構成マネージャ、を備える、物理量の測定を実施するように構成可能なハードウェアモジュールを構成するためのシステムである。
【０１２７】
実施例２において、実施例１に記載の主題では、任意選択的に、命令データが、センサに励磁信号を提供することと、センサに励磁信号を提供した後、センサに修正された励磁信号を提供することと、を含む動作を実施するハードウェアモジュールの制御回路を構成する命令を含む。
【０１２８】
実施例３において、実施例１〜２のいずれか１つ以上に記載の主題では、任意選択的に、命令データが、第１の条件が真であると判定することと、第１の条件が真であると判定した後、センサからの入力信号を測定することであって、入力信号が物理量を示す、測定することと、を含む動作を実施するようにハードウェアモジュールの制御回路を構成する命令を含む。
【０１２９】
実施例４において、実施例１〜３のいずれか１つ以上に記載の主題では、任意選択的に、ハードウェア構成が、物理量を検知するようにセンサにバイアスをかけるためのハードウェアモジュールの励磁チャネルを構成するための励磁チャネルデータと、センサから物理量を示す信号を受け取るためのハードウェアモジュールの入力チャネルを構成するための入力チャネルデータと、をさらに含む。
【０１３０】
実施例５において、実施例１〜４のいずれか１つ以上に記載の主題では、任意選択的に、構成マネージャが、ハードウェアモジュールの記述を受け取ることを含むアクションを実施するようにさらに構成され、ハードウェア構成の生成がまた、ハードウェアモジュールの記述にも少なくとも部分的に基づいている。
【０１３１】
実施例６において、実施例１〜５のいずれか１つ以上に記載の主題では、任意選択的に、構成マネージャがまた、第１の候補ハードウェア構成のための構成データを生成することと、シミュレーションマネージャから、第１の候補ハードウェア構成のシミュレーションを要求することと、シミュレーションマネージャから、第１の候補ハードウェア構成のシミュレーションを記述する第１のシミュレーションデータを受け取ることであって、ハードウェア構成の生成が、第１のシミュレーションデータに少なくとも部分的に基づいている、受け取ることと、を含む動作を実施するようにも構成されている。
【０１３２】
実施例７において、実施例１〜６のいずれか１つ以上に記載の主題では、任意選択的に、性能係数データが、物理量を測定するためのセンサタイプの指示と、物理量を測定するための測定精度と、を含む。
【０１３３】
実施例８において、実施例１〜７のいずれか１つ以上に記載の主題では、任意選択的に、前記構成マネージャがまた、第１の候補ハードウェア構成を生成することと、第２の候補ハードウェア構成を生成することと、ユーザから、ハードウェア構成となる第１の候補ハードウェア構成または第２の候補ハードウェア構成の選択を受け取ることと、を含む動作を実施するように構成されている。
【０１３４】
実施例９において、実施例８に記載の主題では、任意選択的に、性能係数データが、複数の性能係数を含み、構成マネージャがまた、ユーザから、性能係数の少なくとも一部の重みを記述する重みデータを受け取ることと、重みデータに少なくとも部分的に基づいて、候補ハードウェア構成のセットから、ハードウェア構成を選択することと、を含む動作を実施するようにも構成されている。
【０１３５】
実施例１０において、実施例１〜９のいずれか１つ以上に記載の主題では、任意選択的に、ハードウェア構成データが、ハードウェアモジュールにおいてハードウェア構成を実装するためのスイッチネットワーク状態を記述するスイッチネットワークデータを含む。
【０１３６】
実施例１１において、実施例１〜１０のうちのいずれか１つ以上に記載の主題では、任意選択的に、ハードウェア構成データが、ハードウェアモジュールのスイッチネットワークの状態を記述するスイッチネットワークデータを含み、スイッチネットワークの状態が、ハードウェアモジュールのセンサ入力／出力（Ｉ／Ｏ）コネクタとハードウェアモジュールの励磁チャネルとの間の第１の接続、およびセンサＩ／Ｏ接続とハードウェアモジュールの入力チャネルとの間の第２の接続を記述する。
【０１３７】
実施例１２において、実施例１１に記載の主題では、任意選択的に、ハードウェア構成データがまた、第２のスイッチネットワークの状態を記述するスイッチネットワークデータを含み、第２のスイッチネットワークの前記状態が、入力チャネルとハードウェアモジュールのアナログデジタル変換器との間の第３の接続、および励磁チャネルとハードウェアモジュールのアナログデジタル変換器との間の第４の接続を記述する。
【０１３８】
実施例１３において、実施例１〜１２のいずれか１つ以上に記載の主題では、任意選択的に、命令データが、ハードウェアモジュールの励磁チャネルに励磁信号を提供することと、ハードウェアモジュールの入力チャネルからセンサ入力を受け取ることと、を含む動作を実施するハードウェアモジュールの制御回路を構成する命令を含む。
【０１３９】
実施例１４において、実施例１〜１３のいずれか１つ以上に記載の主題では、任意選択的に、構成データが、ハードウェア構成のシミュレーションのための入力パラメータを含むシミュレーションデータをさらに含む。
【０１４０】
実施例１５において、実施例１４に記載の主題は、任意選択的に、シミュレーションマネージャを備え、シミュレーションマネージャが、入力パラメータを受け取ることと、ハードウェア構成のシミュレーションを生成することと、ユーザにハードウェア構成のシミュレーションの結果を提供することと、を含む動作を実施するように構成される。
【０１４１】
実施例１６において、実施例１〜１５のいずれか１つ以上に記載の主題では、任意選択的に、ハードウェア構成が、第１のセンサから第１のセンサ信号を受け取るための第１の入力チャネルと、第１のセンサ信号を受け取るための第２の入力チャネルと、第１の入力チャネルの出力と第２の入力チャネルの出力とを結合して結合データストリームを生成するための命令と、を含む。
【０１４２】
実施例１７は、ユーザから、かつ少なくとも１つのコンピューティングデバイスによって、物理量の指示を受け取ることと、ユーザから、かつ少なくとも１つのコンピューティングデバイスによって、物理量の測定法を記述する性能係数データを受け取ることと、少なくとも１つのコンピューティングデバイスによって、物理量の指示および性能係数データに少なくとも部分的に基づいて、物理量を測定するためのハードウェアモジュールのハードウェア構成を生成することであって、ハードウェア構成が、物理量の動的測定を実行するように、ハードウェアモジュールを構成するための命令データを含む、生成することと、少なくとも１つのコンピューティングデバイスによって、ハードウェア構成を記述する構成データを生成することであって、構成データが、ハードウェア構成の少なくとも一部を実装するように、ハードウェアモジュールを構成するためのハードウェア構成データを含む、生成することと、を含む、物理量の測定を実施するように構成可能なハードウェアモジュールを構成するための方法である。
【０１４３】
実施例１８において、実施例１７に記載の主題は、任意選択的に、センサに励磁信号を提供することと、センサに励磁信号を提供した後、センサに修正された励磁信号を提供することと、を含む。
【０１４４】
実施例１９において、実施例１７〜１８のいずれか１つ以上の主題は、任意選択的に、第１の条件が真であると判定することと、第１の条件が真であると判定した後、センサからの入力信号を測定することであって、入力信号が前記物理量を示す、測定することと、を含む。
【０１４５】
実施例２０は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに、ユーザから、物理量の指示を受け取ることと、ユーザから、物理量の測定法を記述する性能係数データを受け取ることと、物理量の指示および性能係数データに少なくとも部分的に基づいて、物理量を測定するように構成可能なハードウェアモジュールのハードウェア構成を生成することであって、ハードウェア構成が、物理量の動的測定を実行するようにハードウェアモジュールを構成するための命令データを含む、生成することと、ハードウェア構成を記述する構成データを生成することであって、構成データが、ハードウェア構成の少なくとも一部を実装するようにハードウェアモジュールを構成するためのハードウェア構成データを含む、生成することと、を含む動作を実施させる記憶された命令を含む、マシン可読媒体である。
【符号の説明】
【０１４６】
１００  環境
１０２  構成マネージャ
１０４  シミュレーションマネージャ
１０６  ユーザインターフェース（ＵＩ）
１２０  構成可能なハードウェアモジュール
１２２  ユーザコンピューティングデバイス
１２４  ユーザ
【図１】
2019507455.tif 000003
【図２】
2019507455.tif 000004
【図３】
2019507455.tif 000005
【図４】
2019507455.tif 000006
【図５】
2019507455.tif 000007
【図６】
2019507455.tif 000008
【図７】
2019507455.tif 000009
【図８】
2019507455.tif 000010
【図９】
2019507455.tif 000011
【図１０】
2019507455.tif 000012
【図１１】
2019507455.tif 000013
【図１２】
2019507455.tif 000014
【図１３】
2019507455.tif 000015
【図１４】
2019507455.tif 000016
【図１５】
2019507455.tif 000017
【図１６】
2019507455.tif 000018
【図１７】
2019507455.tif 000019
【図１８】
2019507455.tif 000020
【図１９】
2019507455.tif 000021
【図２０】
2019507455.tif 000022
【図２１】
2019507455.tif 000023
【図２２】
2019507455.tif 000024
【図２３】
2019507455.tif 000025
【国際調査報告】
2019507455.tif 000026
2019507455.tif 000027