(58)【調査した分野】(Int.Cl.,DB名)
  前記ハードウェア構成が、前記物理量を検知するようにセンサにバイアスをかけるための前記ハードウェアモジュールの励磁チャネルを構成するための励磁チャネルデータと、前記センサから前記物理量を示す信号を受け取るための前記ハードウェアモジュールの入力チャネルを構成するための入力チャネルデータと、をさらに含む、請求項1〜3のいずれか一項に記載のシステム。
  前記性能係数データは、前記物理量を測定するためのセンサタイプの指示と、前記物理量を測定するための測定精度とを含む、請求項1〜3のいずれか一項に記載のシステム。
  前記ハードウェア構成データが、前記ハードウェアモジュールにおいて前記ハードウェア構成を実装するスイッチネットワーク状態を記述するスイッチネットワークデータを含む、請求項1〜3のいずれか一項に記載のシステム。
  前記ハードウェア構成データが、前記ハードウェアモジュールのスイッチネットワークの状態を記述するスイッチネットワークデータを含み、前記スイッチネットワークの前記状態が、前記ハードウェアモジュールのセンサ入力/出力(I/O)コネクタと前記ハードウェアモジュールの励磁チャネルとの間の第1の接続、および前記センサI/Oコネクタと前記ハードウェアモジュールの入力チャネルとの間の第2の接続、を記述する、請求項1〜3のいずれか一項に記載のシステム。
  前記ハードウェア構成データがまた、第2のスイッチネットワークの状態を記述するスイッチネットワークデータも含み、前記第2のスイッチネットワークの前記状態が、前記入力チャネルと前記ハードウェアモジュールのアナログデジタル変換器との間の第3の接続、および前記励磁チャネルと前記ハードウェアモジュールのアナログデジタル変換器との間の第4の接続を記述する、請求項10に記載のシステム。
【発明を実施するための形態】
【0007】
  本発明者らは、とりわけ、集積デバイスまたはシステムなどの電子ハードウェアデバイスが、様々なユーザ構成可能な機能を提供できることを認識した。かかるバイスは、可変ゲイン増幅器、フィルタ回路、およびデジタル化回路(例えば、1つ以上のアナログデジタル変換器を含む)のうちの1つ以上を有する複素信号チェーンを含むデータ変換機能を含み得る。かかるデバイスはまた、1つ以上の汎用プロセッサ回路または1つ以上の特定用途向け回路を含むような、1つ以上のプロセッサ回路を含み得る。かかる回路は、1つ以上の特定の用途に合わせた信号処理能力を含み得る。かかる用途は、例えば、データ変換デバイスに連結されたセンサまたはトランスデューサから取得された情報の線形化を含み得る。例示的な例として、かかる処理は、処理されている信号のうちの1つ以上を組み合わせること、数値技術または他の特定用途の信号調整を適用することなど、特定の測定機能に合わせた処理を含み得る。
 
【0008】
  一例において、集積電子デバイスは、測定に使用され得、時には励磁生成回路と呼ばれる、バイアスまたは刺激生成回路を含み得る。かかる刺激生成回路は、データ変換デバイスに連結されたトランスデューサまたは他の負荷デバイスに給電するための励磁信号(例えば、バイアス信号またはフィールド電力)を提供するために使用され得る。例えば、データ変換デバイスは、デジタル励磁信号をトランスデューサのアナログ励磁信号に変換するための1つ以上のデジタル−アナログ変換回路を含み得る。
 
【0009】
  本発明者らはまた、とりわけ、広範囲の構成オプションを提供することが、集積測定デバイスまたは他の電子回路のユーザに課題を与え得ることを認識した。例えば、データ変換デバイス(例えば、アナログデジタル変換器またはデジタルアナログ変換器)を求めるユーザは、広範囲の異なる利用可能なデバイスに直面する場合、または特定のデバイスに関連する広範囲の内部構成オプションに直面した場合に、特定の用途のためのデータ変換デバイスを選択または構成することに困難を有することがある。結果として、ユーザは、指定された測定性能目標を満たすことができないデバイスなど、特定の用途に不適切なデバイスを選択する可能性がある。
 
【0010】
  自動または半自動ツールを含む設計環境は、測定アプリケーションなどの、集積デバイスの選択、シミュレーション、および構成を容易にするために使用され得る。かかるツールは、ネットワークを介したアクセスのためにオンラインで提供されてもよく、またはマシン可読媒体(例えば、コンパクトディスク読み取り専用メモリ(CD−ROM)媒体、デジタル多用途ディスク読み取り専用メモリ(DVD−ROM)媒体、もしくはフラッシュメモリデバイスなどのメモリ技術デバイス)に分散されるようなスタンドアロンデバイスの使用に提供されてもよく、またはネットワークからダウンロードすることによって提供され得る。
 
【0011】
  設計環境を使用する設計フローは、「ソフトウェア定義測定」またはSDMスキームの一部と呼ばれ得る。かかるスキームは「ソフトウェア」に言及しているが、かかるスキームは、一般に、1つ以上のデータ変換デバイスを組み込むフレキシブル(例えば構成可能な)集積回路デバイスを含む、データ変換デバイスまたはシステムの選択、シミュレーション、プロトタイピング、および構成情報の提供のうちの1つ以上を含み得る。例えば、ユーザは、測定されている単位(例えば、セ氏温度Cまたは別のパラメータ)における測定パラメータに関して定義された物理量などの測定目的を指定することができる。かかるパラメータは、データ変換回路またはシステムによって直接測定された単位で定義される必要はない。例えば、かかる測定パラメータは、電圧、電圧分解能、電流、または電流分解能に関して指定される必要はないが、その代わり、例示的な例のように、温度または圧力の物理単位などの測定された物理量を記述する用途由来の単位において指定され得る。ユーザはまた、測定精密度、測定精度、測定がなされ得る値の範囲、または1つ以上の他の係数のうちの1つ以上などに関して、測定パラメータに関連する1つ以上の性能基準または性能係数を指定することができる。トランスデューサまたはセンサ、データ変換デバイス、信号調整回路、および信号処理のうちの1つ以上からの誤差寄与が、システム誤差全体を推定するために使用され得る。かかるシステム全体の誤差は、トランスデューサとデータ変換デバイスとの特定の組み合わせが指定された基準を満たすことができるか否かを判定するような、1つ以上の性能係数と比較され得る。
 
【0012】
  ソフトウェア定義測定スキームは、指定された測定目的を提供することができるデバイスが識別される対話型環境を提供することができる。例えば、トランスデューサおよびデバイスの特定の組み合わせ、または測定システムの他の要素の組み合わせの性能を評価するために、利用可能なデバイスがユーザに識別され得、調整可能なパラメータの範囲がユーザに提供され得る。
 
【0013】
  より洗練されているかまたは経験豊富なユーザは、信号チェーン全体の選択に候補デバイスを提供する環境を必要とせずに、対話型環境内での評価のための特定のハードウェア構成を入力することができる。例えば、ユーザは、既存のハードウェア構成(1つ以上のアナログデジタル変換器または他の機能要素を含む既存の信号チェーンなど)を異なる測定用途に再ターゲット化し得る。対話型環境は、ユーザが他の既存のハードウェア構成(新しいユースケースまたは測定システム用のアプリケーションなど)のために異なるトランスデューサを選択した場合など、再ターゲット化されたシステムの性能を予測するために使用され得る。かかる例において、環境は、トランスデューサからの誤差寄与または線形化などの関連処理を含む、所望の測定のためのエンドツーエンドシステム性能の推定値を提供することができる。
 
【0014】
  ユーザは、行動シミュレーションモデルを使用して様々なデバイスの代替または構成を探索するなど、1つ以上のデータ変換デバイスをシミュレートする環境を使用することができる。1つ以上の特定のデバイスまたはデバイス構成が識別された後、ユーザは、ソフトウェアまたはハードウェア環境のいずれかで定義された信号処理を提供するためのツールと集積することができるような、ハードウェアモジュールを使用して、エンドユースアプリケーションをシミュレートすることができる。このようにして、ユーザは、変換デバイスの選択と、デバイス構成と、行動シミュレーションのうちの1つ以上を含む階層を通じて、仮想的(例えば、「仮想評価」)に移動することができ、開発が進むにつれて「ハードウェアインザループ」を組み込むことができる。シミュレートされたシステム内の信号チェーンの部分は、性能を分析または検証するための開発フローの後半などの、少なくとも一部において、ハードウェア実装またはハードウェアエミュレートが可能である。設計環境からの出力は、指定された性能係数を満たすために測定目的に関する情報を使用するなど、特定の用途のためのデータ変換デバイスを構成するための構成データを含み得る。
 
【0015】
  ユーザは、設計環境によってサポートされる設計フロー全体をたどる必要はない。例えば、ユーザは、測定目的または他の情報を入力し、測定目的または測定性能係数などに基づいて、デバイス選択のような特定のニーズに対処するフローを含む、利用可能なツールセットの一部を使用することができる。    別の例において、ユーザは、デバイス選択ツールの使用を必要とすることなく、行動シミュレーションのための指定されたデバイス組み合わせ(例えば、トランスデューサ、変換デバイス、信号調整、または他の信号処理回路のうちの1つ以上を含む)を選択して、まず利用可能なデバイスの一覧を絞り込むことができる。
 
【0016】
  本発明者らはまた、測定法によって決定される電子ハードウェア設計における構成可能性およびスケーラビリティの向上の必要性を認識した。例えば、プロトタイピングに使用される構成可能なハードウェアは、単価の上限がなくても量産向けにスケーリングするには不適切な場合が多い。さらに、多くの特定用途向け集積回路(ASIC)などの、構成可能性が低いカスタムハードウェアは、小規模な生産稼働には費用対効果がない。本明細書に記載されるいくつかの例は、本明細書に記載されるように、構成可能な励磁チャネルおよび入力チャネルと、データ変換デバイスと、制御回路と、を有するアナログフロントエンドを有するハードウェアモジュールを提供することによって、この必要性に対処する。
 
【0017】
  本明細書に記載されるいくつかの例はまた、構成可能なハードウェアモジュールのためのハードウェア構成を生成し、ハードウェア構成は、動的測定を実装するように構成可能なハードウェアモジュールを構成するための命令データを含む。構成可能なハードウェアモジュールは、例えば、物理量を経時的に測定する方法を変化させることによって、例えば、センサの励磁を変化させることによって、および/またはセンサからの入力信号を異なる時間に異なる方法で処理することによって、動的測定を実装し得る。
 
【0018】
  図1は、測定のためのハードウェア構成を生成およびテストするための環境100の一例を示す図である。環境100は、集合的および/または個別にユーザインターフェース(UI)106を生成する、構成マネージャ102およびシミュレーションマネージャ104を含む。UI  106は、ユーザコンピューティングデバイス122を介してユーザ124に提供される。ユーザ124は、構成可能なハードウェアモジュール120のための1つ以上のハードウェア構成を生成するため、および/または構成可能なハードウェアモジュール120のための1つ以上のハードウェア構成をシミュレートするために、構成マネージャ102および/またはシミュレーションマネージャ104と対話するために、UI  106を利用し得る。
 
【0019】
  構成マネージャ102およびシミュレーションマネージャ104は、サーバ126によって実行されるソフトウェアコードを含み得る。
図1において、単一のサーバ126は、構成マネージャ102とシミュレーションマネージャ104との両方を実行する。しかしながら、いくつかの例において、構成マネージャ102およびシミュレーションマネージャ104は、2つ以上の異なるサーバまたは他の適切なコンピューティングデバイスにおいて実行され得る。
 
【0020】
  UI  106は、構成マネージャ102および/またはシミュレーションマネージャ104によって生成され得、任意の適切な方法でユーザコンピューティングデバイス122に供給され得る。いくつかの例において、構成マネージャ102および/またはシミュレーションマネージャ104は、インターネットまたは他の適切なネットワークを介して、ユーザコンピューティングデバイス122にUI  106を提供するためのウェブサーバを含むか、またはこれと通信し得る。ユーザコンピューティングデバイス122は、例えば、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、モバイルコンピューティングデバイスなどの任意の適切なコンピューティングデバイスであり得る。構成マネージャ102および/またはシミュレーションマネージャ104は、測定法によって決定される電子ハードウェアのための設計およびシミュレーション機能をユーザ124に提供するために、UI  106を配置し得る。
 
【0021】
  ユーザ124は、UI  106を介して、構成マネージャ102および/またはシミュレーションマネージャ104に、測定される物理的特性および性能係数を提供し得る。物理量は、構成可能なハードウェアモジュール120の一部である、および/またはこれと通信しているトランスデューサまたは他のセンサ128によって、直接的または間接的に測定され得る任意の物理量であり得る。測定され得る物理量の例は、温度、圧力、光、重量、力、接触、近接、流れ、酸性度またはpHなどの化学量などを含む。性能係数は測定法を記述し得、例えば、測定精密度、測定精度、測定可能な値の範囲などを含み得る。
 
【0022】
  構成マネージャ102は、構成可能なハードウェアモジュール120のハードウェア構成を生成するために、受け取られた物理量および性能係数を利用し得る。例えば、構成マネージャ102は、物理量および性能係数によって示される物理量を測定するのに適したセンサ128を選択し得る。いくつかの例において、構成マネージャ102は、構成マネージャ102と通信し得る構成データストア108から、潜在的なセンサ128および/またはハードウェア構成に関するデータを受け取り得る。
 
【0023】
  構成マネージャ102はまた、例えば、受け取られた設計パラメータにも基づいて、構成データ110を生成し得る。構成データ110は、構成可能なハードウェアモジュール120のための1つ以上のハードウェア構成(例えば、設計パラメータから導出される)を記述し得る。例えば、構成データ110は、ハードウェア構成を実装する構成可能なハードウェアモジュール120において、ハードウェア構成を生成するための命令および/またはプログラミングパラメータを含むハードウェア構成データを含み得る。例えば、ハードウェア構成データは、構成可能なハードウェアモジュール120における様々なスイッチの状態、構成可能なハードウェアモジュール120の制御回路において実行されるファームウェアまたは他の命令などを記述し得る。構成データ110はまた、例えば、シミュレーションマネージャ104を利用してハードウェア構成をシミュレートするための入力パラメータを含むシミュレーションデータを含み得る。いくつかの例において、構成データ110はまた、例えば、本明細書に記載されるように、UI  106の全部または一部のための1つ以上の構成を含み得る。
 
【0024】
  構成可能なハードウェアモジュール120は、ハードウェア構成を実装するハードウェア構成データを受け取り得る。例えば、構成可能なハードウェアモジュール120は、例えばセンサ128を利用して性能係数に従って物理量を測定するようにハードウェア構成を実装し得る。センサ128は、物理量を測定するための任意の適切なトランスデューサまたは他のセンサであり、またはこれを含み得る。例えば、物理量が温度である場合、センサ128は、熱電対または他の適切な温度センサであり得る。物理量が圧力である場合、センサ128は、圧電センサまたは他の適切なセンサであり、またはこれを含み得る。物理量が近接である場合、センサ128は、容量性圧力センサであり、またはこれを含み得る。これらおよび他の物理量には、他の適切なセンサが使用され得る。
 
【0025】
  ハードウェア構成によれば、構成可能なハードウェアモジュール120は、励磁信号130をセンサ128に提供し、センサ128からセンサ信号132を受け取り得る。例えば、励磁信号130は、センサ128に、電流、電圧、または物理量を示す他の信号(例えば、センサ信号132)を生成することを可能にするためのバイアス信号またはフィールド電力信号であり得る。構成可能なハードウェアモジュール120はまた、センサ信号132を受け取り、デジタルであり得る物理量信号134を生成し、そして物理量を示し得る。
 
【0026】
  選択されたセンサ128のタイプは、提供された励磁信号130のタイプおよび受け取られたセンサ信号132のタイプを判定し得る。例えば、力電圧/測定電圧(FVMV)センサは、所定の電圧で励磁信号130を受け取り、センサ信号132の電圧が物理量を示すセンサ信号132を生成し得る。力電圧/測定電流(FVMI)センサは、所定の電圧で励磁信号130を受け取り、センサ信号132の電流が物理量を示すセンサ信号132を生成し得る。力電流/測定電圧(FIMV)センサは、所定の電流で励磁信号130を受け取り、センサ信号132の電圧が物理量を示すセンサ信号132を生成し得る。力電流/測定電流(FIMI)センサは、所定の電流で励磁信号130を受け取り、センサ信号132の電流が物理量を示すセンサ信号132を生成し得る。無力/測定電圧(FNMV)センサは、励磁信号130を受け取らず、センサ信号132の電圧が物理量を示すセンサ信号132を生成し得る。無力/測定電流(FNMI)センサは、励磁信号130を受け取らず、センサ信号132の電流が物理量を示すセンサ信号132を生成し得る。
 
【0027】
  いくつかの例において、構成マネージャ102はまた、センサ信号132を処理するためのハードウェアおよび/またはソフトウェアを実装するためのハードウェア構成を生成し得る。センサ信号132の任意の適切な処理が実施され得る。いくつかの例において、ハードウェア構成は、センサ128の特徴を補償する処理を指定し得る。例えば、ロゴスキーコイルのようないくつかのセンサは、物理量が経時的にセンサ信号132の電流(または電圧)の変化として示されるセンサ信号132を生成する。このタイプのセンサから平坦な周波数応答を取得するために、ハードウェア構成は、信号経路に配置される積分器を記述し得る。積分器は、ハードウェアまたはソフトウェアにおいて実装され得る。
 
【0028】
  いくつかの例において、ハードウェア構成は、物理量の指示を含むがより少ないデータを含む形式のような、異なる形式の物理量の測定法を縮小するかまたは表すための処理を特定し得る。例えば、測定法の縮小は、物理量の測定のストリームから二乗平均平方根(RMS)値を求めることを含み得る。かかる減少は、ハードウェアまたはソフトウェアにおいて実施され得る。
 
【0029】
  いくつかの例において、ハードウェア構成は、物理量の測定法を生成するために、複数のデータストリームからのデータの組み合わせを示し得る。例えば、構成可能なハードウェアモジュール120は、それぞれが異なるセンサ128からの複数のセンサ信号132を受け取り得る。ハードウェア構成は、複数のセンサ信号132を組み合わせるためのハードウェアおよび/またはソフトウェア配置を指定し得る。例えば、電力についての物理量は、電圧を示すセンサ信号132に電流を示す別のセンサ信号132を乗算することによって測定され得る。
 
【0030】
  いくつかの例において、ハードウェア構成は、同じセンサ信号132を受け取り、センサ信号132を異なる方法で処理する複数のチャネル(例えば、入力チャネル)を示し得る。例えば、同じセンサ信号132を受け取る2つの入力チャネルは、異なるゲインを有し得る。ハードウェア構成は、例えば、単一のセンサ信号132の拡張ダイナミックレンジバージョンを取得するために、2つの入力チャネルをマージするためのハードウェアおよび/またはソフトウェア機構を指定し得る。
 
【0031】
  いくつかの例において、ハードウェア構成は、単一のセンサ信号132から複数のデータストリームを抽出するためのハードウェアおよび/またはソフトウェア機能を示し得る。例えば、より低いレイテンシ、より低い信号対雑音比(SNR)信号が保護アルゴリズムのために使用され得るが、より高いレイテンシ、より高いSNR信号が物理量の測定法を生成するために使用され得る。
 
【0032】
  いくつかの例において、ハードウェア構成は、単一のデータストリームを生成するために同じ物理量を示す複数の入力信号132を組み合わせるためのハードウェアおよび/またはソフトウェア機能を示し得る。例えば、構成可能なハードウェアモジュール120は、異なる伝達関数および/または飽和を有する2つの異なる電流トランスから2つのセンサ信号132を受け取ってもよく、各センサ信号132は個別の入力チャネルを介して受け取られる。個別の入力チャネルにおいてデータストリームがマージされ得る。不一致または飽和は、存在する場合、例えば、構成可能なハードウェアモジュールの制御回路において補償され得る。
 
【0033】
  構成データ110はまた、シミュレーションデータを含み得る。シミュレーションデータは、構成マネージャ102によって生成された1つ以上のハードウェア構成のシミュレーションを容易にするために、シミュレーションマネージャ104に提供され得る。シミュレーションデータは、例えば、シミュレーションにおいて使用される1つ以上のモデル112の識別、シミュレーションにおいて使用される1つ以上の生成器の記述、シミュレーションにおいて実施される1つ以上の分析の記述などの、シミュレーションを容易にするための様々なデータを含み得る。シミュレーションマネージャ104は、構成データ110によって記述される1つ以上のハードウェア構成の1つ以上のモデルを呼び出しおよび/または実行するために、シミュレーションデータを利用し得る。
 
【0034】
  任意の適切なタイプのモデルが使用され得る。いくつかの例において、シミュレーションマネージャ104は、ハードウェア構成の一部または全部をシミュレートするために、データモデル114を利用し得る。例えば、データモデル114は、ハードウェア構成の一部または全部の応答を、例えばデータベース、テーブルまたは他の適切なデータ構造に格納されたデータとして記述し得る。いくつかの例において、シミュレーションマネージャ104は、ハードウェア構成の一部または全部をシミュレートするために、実行可能なモデル116を利用し得る。実行可能なモデルは、(例えば、サーバ126によって)シミュレーションマネージャにおいて、または別の適切なコンピューティングデバイスにおいて実行される任意の適切なモデルであり得る。実行可能なモデルの例は、集積回路強調(SPICE)モデルを有するシミュレーションプログラム、機能の実装によるモデル動作(MOTIF)モデルなどを含み得る。いくつかの例において、シミュレーションマネージャ104は、ハードウェアの組み合わせの一部または全部をシミュレートするために、ベンチモデル118を利用し得る。ベンチモデル118は、物理的構成要素に生成器信号が提供され、その応答が測定される「ハードウェアインザループ」モデルであり得る。
 
【0035】
  図2は、測定のためのハードウェア構成を生成およびテストするための環境200の別の例を示す図である。例えば、環境200は、
図1に関して説明された環境100の代替構成であり得る。環境200は、構成UI  204とシミュレーションUI  206とを含む。いくつかの例において、UI  204、206が個別に生成されてユーザコンピューティングデバイス122に提供され得るが、それぞれのUI  204、206はUI  106の構成要素として示されている。いくつかの例において、構成UI  204および/またはシミュレーションUI  206の一方または両方は、ユーザコンピューティングデバイス122において実行される実行可能なウェブクライアントであり、またはこれを含み得る。アプリケーションプログラミングインターフェイス(API)202は、構成UI  204と構成マネージャ102との間に配置される。例えば、構成UI  204は、API  202と一致するコマンドおよび/または構文を利用して、API  202を介して構成マネージャ102と接触するか、または別様にこれと対話し得る。同様に、構成マネージャ102は、API  202と一致するコマンドおよび/または構文を利用して、構成UI  204と接触するか、または別様にこれと対話し得る。API  202は、任意の適切な構文または技術を利用する任意の適切なAPIであり得る。いくつかの例において、API  202は、表現による状態転送(REST)の原則に従って構成されている。
 
【0036】
  図2の例において、構成マネージャ102は、スイーパー210を含む。スイーパー210は、シミュレーションマネージャ104を利用して、構成可能なハードウェアモジュール120のハードウェア構成を事前シミュレートするように構成され得る。例えば、スイーパー210は、構成可能なハードウェアモジュール120のための潜在的なハードウェア構成を受け取りかつ/または生成し得る。スイーパー210によって生成される潜在的ハードウェア構成は、構成可能なハードウェアモジュール120とともに使用される、例えば、
図1のセンサ128などのセンサを含み得る。スイーパー210は、シミュレーションマネージャ104が様々なハードウェア構成のシミュレーションを実行することを要求し得る。例えば、モデル化されたハードウェア構成のノイズ特徴を記述するノイズファイル208を含むシミュレーションの結果は、顧客クエリに応答してハードウェア構成を判定する際に、構成マネージャ102によって利用される構成データストア108に提供され得る。シミュレーションマネージャ104はまた、(例えば、全体UI  106の一部として)シミュレーションUI  206をユーザ124に提供し得る。例えば、ユーザ124は、例えば、本明細書に記載されるように、ハードウェア構成の追加のシミュレーションを実施し得る。
 
【0037】
  図3は、構成可能なハードウェアモジュール120の配置の一例を示す図である。
図3の例において、構成可能なハードウェアモジュール120は、アナログフロントエンド301と、変換器312A、312B、312Nと、制御回路314と、を備える。アナログフロントエンド301は、センサ入力/出力(I/O)モジュール302と、スイッチネットワーク304、310と、入力チャネル306A、306Nと、励磁チャネル308A、308Nと、を備える。
 
【0038】
  制御回路314は、1つ以上の励磁信号(例えば、デジタル励磁信号)を生成し、生成されたデジタル励磁信号を変換器312A、312B、312Nのデジタルアナログ変換器(DAC)に提供して、アナログ励磁信号を生成する。DACは、増幅、フィルタリングなどのような様々なプロセスを提供して、アナログ励磁信号を調整して、調整された励磁信号を生成し得る、励磁チャネル308A、308Nを提供し得る。調整された励磁信号は、センサに連結するための1つ以上のピンまたは他のI/Oデバイスを含み得る、センサI/Oモジュール302を介して、センサ128(
図1)などのセンサに提供され得る。調整された励磁信号は、例えば、定電圧、定電流、または任意の他の適切な形態であり得る。
 
【0039】
  センサ信号は、センサI/Oモジュール302を介して受け取られ、増幅、フィルタリング、および/または他の信号調整を提供して、変換器312A、312B、312Nのアナログデジタル変換器(ADC)に調整されたアナログセンサ信号を提供して、デジタルセンサ信号を生成し得る、入力チャネル306A、306Nに提供され得る。いくつかの例において、入力チャネル306A、306Nはまた、本明細書に記載されるように、異なるセンサ特徴、測定法を抽出または縮小するためのハードウェアなどを補償するために、積分器などを実装するためのハードウェアを含み得る。デジタルセンサ信号は、制御回路I/Oモジュール312を介して利用可能なデジタル出力信号を生成し得る、制御回路314に提供され得る。制御回路I/Oモジュール312は、例えば、ユニバーサルシリアルバス(USB)などの任意の適切なプロトコル(例えば、デジタルプロトコル)を実装するためのハードウェアを含み得る。
 
【0040】
  図3の例において、構成可能なハードウェアモジュール120は、例えば、スイッチネットワーク304、310および制御回路314の状態が変更された場合に、異なるハードウェア構成を想定し得る。例えば、スイッチネットワーク304は、1つ以上の入力チャネル306A、306Nおよび/または励磁チャネル308A、308NをセンサI/Oモジュール302に選択的に連結し得る。スイッチネットワーク310は、入力チャネル306A、306Nおよび/または励磁チャネル308A、308Nのうちの1つ以上を変換器312A、312B、312Nのうちの1つ以上に選択的に連結し得る。スイッチネットワーク304、310はまた、例えば、フィルタ、積分器、増幅器を実装し、かつ/またはその特性を変更するために、様々な構成要素を入力チャネル306A、306Nまたは励磁チャネル308A、308Nの中またはこれらの外に切り替え得る。励磁チャネルを実装するためにスイッチネットワーク304、310を構成するためのデータは、励磁チャネルデータと呼ばれ得、入力チャネルを実装するためのスイッチネットワーク304、310を構成するためのデータは、入力チャネルデータと呼ばれ得る。
 
【0041】
  いくつかの例において、制御回路314は、スイッチネットワーク304、310および制御回路の状態を設定するためのファームウェア318および/または1つ以上のスイッチ構成レジスタ316を含み得る。例えば、スイッチ制御レジスタ316は、制御回路314のプロセッサユニットからマッピングされたメモリであり得る。例えば、制御回路314は、レジスタマップ設定をスイッチ構成レジスタ316に書き込んでもよく、レジスタマップ設定の値は、スイッチネットワーク304、310の状態を設定する。例えば、レジスタマップ設定は、入力チャネルデータおよび/または励磁チャネルデータを含み得る。ファームウェア318は、制御回路314および/またはそのプロセッサユニット(例えば、デジタル信号プロセッサまたはDSP)によって実行される任意の適切なソフトウェアコードを含み得る。例えば、ファームウェア318は、制御回路314において実行されると、制御回路314に特定タイプのデジタル励磁信号を生成させ、かつ/または任意の適切なタイプのセンサ信号を受け取らせかつ処理させ得る。いくつかの例において、ファームウェア318は、入力チャネル306A、306Nおよび出力チャネル308A、308Nの増幅器または他の構成要素のゲインまたは他の特性を構成するための命令を含み得る。
図3の例はファームウェア318を示しているが、様々な例の制御回路は、読み取り専用メモリに書き込まれたファームウェアおよび他のタイプのメモリに書き込まれた命令を含む、様々な他の種類の命令を受け取りかつ/または処理し得る。
 
【0042】
  図3に示される配置は、構成可能なハードウェアモジュール120の一例に過ぎない。2つの入力チャネル306A、306Nおよび2つの励磁チャネル308A、308Nが示されているが、任意の適切な数の入力および/または励磁チャネルが含まれ得る。また、いくつかの例において、入力チャネルおよび/または励磁チャネルが、スイッチネットワーク304、310のうちの1つ以上の状態に基づいて、アナログフロントエンド301の構成要素から生成され得る。例えば、アナログフロントエンドの1つ以上の増幅器、フィルタ、受動構成要素などは、例えば、スイッチネットワーク304、310の状態に応じて、励磁チャネルまたは入力チャネルにおいて利用され得る。3つの変換器312A、312B、312Nが示されているが、任意の適切な数の変換器が含まれ得る。さらに、複数のスイッチネットワーク304、310が示されているが、単一のスイッチネットワークまたは3つ以上のスイッチネットワークを含む任意の適切な数のスイッチネットワークが使用され得る。
 
【0043】
  図3に示される構成可能なハードウェアモジュール120は、例えば、ユーザ124の要件に基づいて、多数のハードウェア構成が異なる能力を有することを可能にし得る。いくつかの例において、制御回路314は、ハードウェア構成、ダイナミックレンジのトレードオフ速度および/またはレイテンシに応じて、構成され得る。例えば、制御回路314は、オーバサンプリング(OS)または他のフィルタを適用することによってセンサ信号のダイナミックレンジを増加させるためにデジタルフィルタを実装し得るが、これによりレイテンシが増加し、速度が低下する可能性がある。同様に、制御回路314は、レイテンシを減少して速度を上げるために、より少ない時間を要する処理でセンサ信号132を通過させるように構成され得る。いくつかの例において、制御回路314は、例えば、センサ信号132または同じ信号の処理されたバージョンに閾値を適用することによって、割り込み信号を生成するように構成され得る。制御回路314は、いくつかの例において、同じチャネルからの同時データストリームを処理し得る。例えば、制御回路314は、同じセンサ信号132を受け取り、個別に、最小限の処理、閾値処理、デジタルフィルタ、および/または様々なデジタルフィルタを並列に適用し得る。
 
【0044】
  複数の入力チャネル306A、306Nを含む構成可能なハードウェアモジュール120の例は、追加の構成可能性を提供し得る。例えば、センサ信号132は、複数のチャネル306A、306Nに提供されてもよく、異なるチャネル306A、306Nは、異なるゲインを有する増幅器を有する。センサ信号132を受け取るチャネル306A、306Nは、例えば変換器312A、312Nによって変換された後に結合され得る。これにより、本明細書に記載されるように、増加したダイナミックレンジを有する結合されたデータストリームが生成され得る。別の例において、センサ信号132は、個別のチャネル306A、306Nおよび個別の変換器312A、312Nに提供され、利用可能なサンプリングレートを増加させるように時間インターリーブされ得る。
 
【0045】
  制御回路314はまた(ファームウェア318を介してなど)、例えば、スマートメータリングアプリケーション、ロゴスキーコイルサポート用のdi/dt積分器、多点位相較正などを含む様々な他の信号処理を実施するように構成され得る。制御回路314はまた、例えば、ライン周波数測定、タイムスタンプ、ゼロ交差検出、同期フェーザ計算、1/2サイクルRMS測定、計測機能などの様々な低レベルサポートアルゴリズムを実施するように構成され得る。制御回路314はまた、デジタルテスト波形生成、オンチップ診断など、様々なシステム監視機能を実施するように構成され得る。
 
【0046】
  いくつかの例において、構成可能なハードウェアモジュール120の制御回路314または他の回路は、例えば、障害検出時のセンサ切断、電源低ドロップアウトレート(LDO)監視、電源電圧監視、シリアルペリフェラルインターフェース(SPI)監視(例えば、制御回路I/Oモジュール312の)、レジスタ内容監視、巡回冗長検査(CRC)などの安全機能を実施するように構成され得る。制御回路314または構成可能なハードウェアモジュール120の他の適切な回路によって実装され得る他の潜在的な診断機能は、キャパシタが基準ピン上に欠落しているか否かの判定、電圧基準監視、過不足電圧入力検出、ビジー信号スタック検出、およびゲイン設定検証を含み得る。
 
【0047】
  図4は、構成可能なハードウェアモジュール420の配置の別の例を示す図である。構成可能なハードウェアモジュール420は、アナログフロントエンド402と、処理または制御回路404と、制御回路404によって制御可能な信号調整スイッチネットワーク406と、を備える。アナログフロントエンド402は、様々な増幅器408、410、412を備える。例えば、増幅器408および412は、制御回路404によってプログラム可能なゲインを有するプログラマブルゲイン入力増幅器であり得る。例えば、増幅器408、412の一方または両方は、入力チャネルの一部であり得る。増幅器410は、例えば調整のためにアナログ励磁信号を増幅するように構成された駆動増幅器であり得る。加算器418は、例えば、複数の他の構成要素の出力を合計するために使用され得る。例えば、いくつかのハードウェア構成では、構成可能なハードウェアモジュール420は、増幅器408、412と加算器との両方を含む単一の入力チャネルを利用し得る。変換器414、416、422は、ADC  414、422およびDAC  416を含む。変換器414、416、422はまた、いくつかの例において、例えば、制御回路404によってかつ/またはスイッチネットワーク406によって構成され得る。
 
【0048】
  図4は、例えば、温度センサ440と、電源442と、基準電圧(または電流)生成器444と、タイミングおよび同期回路446と、を含む構成可能なハードウェアモジュール420の追加の構成要素を示す。
図4はまた、1つ以上の物理量を測定するように構成可能なハードウェアモジュール420に連結され得るセンサタイプ424、426、428、430の例を示す。例えば、近接性、厚さなどの様々な物理量を測定するために、容量性センサ424が使用され得る。圧力、温度などの様々な物理量を測定するために、抵抗性センサ426が使用され得る。例えば、圧力、光などの様々な物理量を測定するために、電圧センサ428が同様に使用され得る。光などの様々な物理量を測定するために、電流センサ430が使用され得る。
 
【0049】
  さらに、
図4は、構成可能なハードウェアモジュール420の出力の使用例を示す。いくつかの例において、物理量を示す無線出力432は、別のコンピューティングデバイス(例えば、コントローラ)に提供される。いくつかの例において、物理量を示す有線出力434は、別のコンピューティングデバイスに提供される。いくつかの例において、物理量を示す出力は、インターネットまたはクラウドシステム436に提供される。また、いくつかの例において、物理量を示す出力は、デバイスセットアップ機能438に提供され得る。例えば、物理量は、コンピューティングデバイスまたは他のデバイスが故障の危険性がある場合に、変化する傾向のある温度または他の物理量であり得る。物理量をデバイスセットアップ機能438に提供することにより、デバイスに過熱または他の検出可能な状態からの損傷を回避するようにその動作を修正することを可能にする。
 
【0050】
  図5は、構成可能なハードウェアモジュール520の配置のさらに別の例を示す図である。構成可能なハードウェアモジュール520は、インターポーザボード501と、アナログフロントエンド(AFE)ボード503と、適切なプロセッサユニットと、を含むかつ/または実装するフィールドプログラマブルゲートアレイ(FPGA)を含む制御回路504を備える。AFEボード503は、いくつかの例において、インターポーザボード501とは別々に示されているが、構成可能なハードウェアモジュール520のAFEおよび他の様々な構成要素は、同じ物理ボード上に実装され、かつ/または単一の集積回路(IC)内に実装され得る。
 
【0051】
  AFEボード503は、様々な増幅器508、510および512を含む。例えば、増幅器508および512は、上記の増幅器408および412と同様に、制御回路504によって構成可能なゲインを有する構成可能なゲイン増幅器であり得る。加算器518は、本明細書に記載される加算器418と同様に動作し得る。AFEボード503はまた、AFEボード503の他の構成要素を構成するように制御回路504によって設定可能なスイッチネットワーク521、523を含む。いくつかの例において、AFEボード503は、例えば、様々なスイッチ、ポテンショメータ、キャパシタなどを含む入力チャネルおよび/または出力チャネルを構成するための様々な他の構成要素を含み得る。例えば、変換器514、516、522などの増幅器508、510、512のゲイン、フィードバックまたは他の特徴を修正するために、レジスタおよび/またはキャパシタが利用され得る。
 
【0052】
  変換器514、516、522および加算器518は、本明細書に記載される変換器414、416、422および加算器418と同様に動作し得る。
図5はまた、本明細書に記載されるセンサタイプ424、426、428、430と同様に動作し得るセンサタイプ524、526、528、530の例を示す。構成可能なハードウェアモジュール520の出力546の例は、例えば、制御回路出力506を介してUSBまたは他の適切な接続を介して提供され得る。
図5は、例えば、温度センサ540と、電源542と、基準電圧(または電流)生成器544と、を含む、構成可能なハードウェアモジュール520の追加の構成要素を示す。
 
【0053】
  本明細書に記載されるように、構成マネージャ102は、120、420、520などの構成可能なハードウェアモジュールの特定のハードウェア構成のための構成データ110を生成し得る。本明細書に記載されるように、構成データ110は、120、420、520などの構成可能なハードウェアモジュールにおいて、ハードウェア構成を実装するためのハードウェア構成データと、ハードウェア構成をシミュレートするためのシミュレーションデータと、を含み得る。
 
【0054】
  いくつかの例において、構成マネージャ102は、異なる構成可能なハードウェアモジュール120、420、520のハードウェア構成を生成するように構成され得る。例えば、構成データストア108は、例えば、増幅器および変換器などの異なるタイプの構成要素、異なる範囲の許容可能な構成要素構成の、異なる数ならびに/またはタイプの利用可能な入力および/もしくは出力チャネル、スイッチネットワークをプログラミングするための異なるスイッチネットワークおよび/または機構、異なる制御回路タイプなど、を有する、異なる構成可能なハードウェアモジュール120、420、520を記述するデータを含み得る。構成マネージャ102は、例えば、ユーザ124によって提供される物理量および/または性能係数に基づいて、構成ハードウェアモジュール120、420、520を選択し得る。他の例において、ユーザ124は、使用のための構成可能なハードウェアモジュール120、420、520を指定し得る。
 
【0055】
  図6は、本明細書に記載される120、420、520などの、構成可能なハードウェアモジュールのハードウェア構成のための構成データ110の配置の一例を示す図である。構成データ110は、ハードウェア構成データ602と、例えば、引数データ616、バインディングデータ612、バンドルデータ614、生成器データ608、シミュレータデータ610、分析データ604、および評価データ606を含むシミュレーションデータと、を含む。
 
【0056】
  ハードウェア構成データ602は、構成可能なハードウェアモジュールにおいて特定のハードウェア構成を実施するための任意の適切なデータを含み得る。例えば、ハードウェア構成データ602は、1つ以上の入力チャネルおよび/または1つ以上の励磁チャネルを実装するための1つ以上のスイッチの構成を記述するスイッチデータを含み得る。かかるデータは、任意の適切な形態であり得る。いくつかの例において、スイッチデータは、構成可能なハードウェアモジュールのための制御回路の処理ユニットのレジスタに書き込まれ得る1つ以上のレジスタマップを含み得る。いくつかの例において、ハードウェア構成データはまた、命令データを含み得る。命令データは、1つ以上の励磁信号を生成するために、かつ/またはトランスデューサもしくは他のセンサからの1つ以上のセンサ信号を処理するために、制御回路において実行される命令を含み得る。
 
【0057】
  ハードウェア構成をシミュレートするためのシミュレーションデータは、選択されたハードウェア構成を1つ以上のシミュレータに関連付ける値および/またはデータ構造を含み得る。例えば、引数データ616は、シミュレーションのための1つ以上の引数を記述し得る。引数は、ハードウェア構成またはシミュレーションのための他の適切な条件を記述するパラメータを含み得る。引数の例は、シミュレーションのための開始電圧、シミュレーションのための入力信号の周波数などを含む。引数データ616は、任意の適切なデータタイプまたはデータ形式を利用して引数を表し得る。
 
【0058】
  いくつかの例において、引数データ616によって記述される引数は、シミュレーションのための入力パラメータ(例えば、シミュレーション入力パラメータ)を受け取るための共通フォーマットを提供する。例えば、本明細書で記載されるように、引数は、UI  106に、基礎のシミュレータ、生成器、評価、分析、または使用された分析に関係なく、一貫した方法の形式で、ユーザ124からシミュレーション入力パラメータを提供および/または要求することを可能にし得る。同様に、本明細書に記載されるように、引数を使用することにより、構成マネージャ102は、ハードウェア構成をシミュレートするために、特定の基礎のシミュレータ、生成器、評価、または使用された分析に関係なく利用され得るシミュレーション入力パラメータを生成することができる。
 
【0059】
  いくつかの例において、引数は、特定のシミュレーション入力パラメータと、例えば、引数の最小値、引数の最大値、パラメータの単位、パラメータの他の記述子などのシミュレーション入力パラメータを記述するメタデータと、を記述し得る。引数データ616は、例えば拡張マークアップ言語(XML)、C#などの任意の適切な構文を使用して引数を記述し得る。シミュレーションのための開始電圧の引数の記述の例が以下に提供される。
 
【0060】
<Args>
  <Float  Name=“vStart”  DisplayName=“Start  Voltage”  Unit=“V”  Value=“0.001”/>
  <Toggle  Name=“fsOrODR”  DisplayName=“Control  FS  or  ODR”  Value=“FS”>
    <Option>Fs</Option>
    <Option>ODR</Option>
  </Toggle>
</Args>
 
【0061】
  この例において、引数vStartは引数名、引数値、および引数選択肢fsOrODRを提供する。FsOrODRは、開始電圧が指定された出力データレート(ODR)または指定されたサンプリング周波数を有するべきかどうかを示し得る。
 
【0062】
  バインディングデータ612は、1つ以上のバインディングを記述し得る。バインディングは、特定のシミュレータ、生成器、評価、または分析に対する1つ以上の引数を関連付けるデータ構造であるか、またはこれを含み得る。バインディングは、1つ以上の引数に対して実施される変換を記述し得る。例えば、上記の開始電圧を参照すると、特定のシミュレータ、生成器、評価、または分析は、ミリボルト(mV)で表される開始電圧を受け取ることが予想され得る。一方、上記の例のような引数は、ボルト単位の電圧を提供し得る。バインディングは、引数をシミュレータ、生成器、評価、または分析によって予想される入力に変換し得る。いくつかの例において、バインディングによって記述される変換は、複数の引数を含み得る。以下のコード例は、2つのバインディングを示している。第1のバインディングは、4800OverODRと呼ばれる引数が、4800を別の引数odrの値で除算した値に等しいことを示している。第2のバインディングは、fsOrODRが値FSを有する場合、内部サンプリング周波数fsInternalが引数fsbitsに設定されるが、fsOrODRが値ODRを有する場合、4800OverODRの値に設定されることを示している。
 
【0063】
<Bindings>
  <Binding  RPN=“4800  @odr/”Destination=“4800OverODR”/>
  <Binding  Toggle=“fsOrODR”  Destination=“fsInternal”>
    <Case  Value=“FS”  Source=“fsbits”  Destination=“fsInternal”/>
    <Case  Value=“ODR”  Source=“4800OverODR”  Destination=“fsInternal”/>
  </Binding>
</Bindings>
 
【0064】
  バンドル614は、UI  106においてユーザ124から表示および/または求められるべき引数のグループを記述し得る。バンドル614を記述するためのコードの例が以下に提供される。
 
【0065】
<Def  Name=“COMMON−BUNDLES”>
  <Bundle  Name=“extEnabled”>
    <Arg  Name=“resistance”/>
    <Arg  Name=“capacitance”/>
  </Bundle>
  <Bundle  Name=“extDisabled”/>
</Def>
 
【0066】
  以上の例は、構成マネージャ102から受け取られる、かつ/またはバンドルextEnabledが起動されたときに、UI  106を介してユーザ124から求められる引数を記述するextEnabledと呼ばれるバンドルを示す。例えば、引数の抵抗と静電容量はバンドルextEnabledを介して受け取られる。以上のコードはまた、引数を求めないかまたは受け取らない、バンドルextDisabledを記述する。
 
【0067】
  評価データ606は、シミュレーションの対象である信号チェーンを記述し得る。信号チェーンは、1つ以上の生成器(生成器データ608によって記述される)と、1つ以上のシミュレータ(シミュレータデータ610によって記述される)と、1つ以上の評価(評価データ606によって記述される)と、を含み得る。生成器データ608によって記述される生成器は、シミュレーションのための入力信号を生成および/または記述し得る。生成器データ608は、生成器をシミュレートするためのコードおよび/または生成器をシミュレートするためのコードへのリンク、生成器の実行シミュレーションの位置などを含み得る。生成器データ608および/または評価データはまた、例えば、波形タイプ、周波数などの生成器のための入力パラメータを含み得る。単一の波形生成器、複数の波形生成器などを含む生成器の例。シミュレータデータ610は、本明細書に記載されるモデル112のような、ハードウェア構成要素をシミュレートするための1つ以上のモデルへのインターフェースとして記述および/または機能し得る。いくつかの例において、構成データ110は、例えば、増幅器、変換器、フィルタなどを含む構成可能なハードウェアモジュールの複数の構成要素のためのシミュレータデータ610を含み得る。シミュレータデータ610は、構成要素をシミュレートするためのコードおよび/または構成要素をシミュレートするためのコードへのリンク、構成要素の実行シミュレーションの位置などを含み得る。評価データ606は、生成器608によって提供される入力を受け取ったときに、シミュレートされた構成要素の出力に対して実施される評価を記述し得る。評価の例は、電圧プロット、電流プロット、高速フーリエ変換、または他の適切な変換などを含む。
 
【0068】
  図7は、
図1のシミュレーションマネージャ104によるシミュレーションのための構成データ110によって記述され得る、信号チェーン700の一例を示す図である。例えば、信号チェーン700は、構成データ110の分析データ604によって記述され得る。信号チェーン700は、生成器702と、構成要素704と、構成要素706と、評価708と、を含む。例えば、生成器702は、シミュレーションのための入力信号を生成し得る。生成器702は、上記の生成器データ608によって記述され得る。構成要素704、706は、例えば、ハードウェア構成の全部または一部であり得る。例えば、構成要素704、706は、例えば、フィルタ、増幅器、変換器などであり得る。シミュレータデータ610は、構成要素704をシミュレートするためのモデル(例えば、112)および/または構成要素706をシミュレートするためのモデルを記述し、かつ/またはこれと交信し得る。評価708は、評価データ606によって記述され得る。
 
【0069】
  図8は、
図1のシミュレーションマネージャ104によるシミュレーションのための構成データ110によって記述され得る、信号チェーン800の別の例を示す図である。信号チェーン800は、単一の正弦波形を生成するように構成された生成器802を含む。信号チェーンはまた、構成要素と、DAC  804と、フィルタ806とを含む。DAC  804は、デジタル信号をアナログに変換し得る。フィルタ806は、例えば、高周波ノイズを除去するための低パスフィルタであり得る。分析808は、周波数成分を示すフーリエ変換である。例えば、高速フーリエ変換アルゴリズムを含む、任意の適切なフーリエ変換が使用され得る。信号チェーン800は、構成データ110によって記述され得る。例えば、評価データ606は、例えば、信号チェーン800に含まれる断片802、804、806、808を含む信号チェーン800と、断片802、804、806、808が互いにどのように接続されているかを記述し得る。生成器データ608は、例えば、引数および/またはバインディングに関して記述され得る、生成器802の特性および/または入力パラメータを含む、生成器802を記述し得る。シミュレータデータ610は、例えば引数および/またはバインディングに関して、モデルへの入力パラメータとともに、DAC  804のモデルおよびフィルタ806のモデルを記述し得る。解析データ604は、例えば、使用されるフーリエ変換のタイプ、分析の周波数範囲または周波数焦点などの入力パラメータとともに、フーリエ変換分析808を記述し得る。
 
【0070】
  図9は、
図1のシミュレーションマネージャ104によるシミュレーションの構成データ110によって記述され得る、信号チェーン900のさらに別の例を示す図である。例えば、信号チェーン900は、複数の生成器902、904、並列構成要素906、908、および複数の分析910、912を示す複合信号チェーンである。いくつかの例において、シミュレーションマネージャ104は、信号チェーン900のような複合信号変化を記述するシミュレーションデータを受け取り、これに応答して、直列または同時に信号チェーン900の様々な置換をシミュレートするように構成され得る。生成器902は、単一波形の正弦波生成器であり得る。構成要素906、908は、異なるDACおよび/または同じモデルのDACであり得るが、異なる構成であり得る。分析は、経時的な電圧プロット(分析910)およびフーリエ変換(分析912)を含み得る。
 
【0071】
  図10は、構成可能なハードウェアモジュール120、420、520のうちの1つなどの構成可能なハードウェアモジュールのためのハードウェア構成を生成およびシミュレートするように、環境100内で実行され得るプロセスフロー1000の一例を示すフロー図である。例えば、プロセスフロー1000は、ユーザ124がハードウェア構成を要求し、要求されたハードウェア構成を受け取り、ハードウェア構成をシミュレートする対話を記述する。
 
【0072】
  動作1002において、構成マネージャ102は、測定される物理量を記述するデータを受け取り得る。物理量は、構成可能なハードウェアモジュールと通信するトランスデューサまたは他のセンサで測定可能な任意の物理量であり得る。いくつかの例において、物理量を記述するデータは、UI  106を介して受け取られ得る。動作1004において、構成マネージャ102は、物理量の測定法を記述する性能係数データを受け取り得る。性能係数データは、例えば、物理量の予想される範囲、測定についての所望の精度、測定についての所望の精密度などの、行われる測定に関する制約を記述し得る。性能係数データは、1つ以上の性能係数に対する許容可能な値の範囲を含み得る。いくつかの例において、性能係数データはまた、性能係数のうちの1つ以上の重みを示し得る。重みは、ハードウェア構成を判定する際に、性能係数に優先順位を付けるために、構成マネージャ102によって使用され得る。いくつかの例において、ユーザはまた、例えば、使用するセンサのタイプ、使用する特定のセンサ、入力チャネルパラメータ、励磁チャネルパラメータなどを含む追加の設計入力を提供し得る。
 
【0073】
  動作1006において、構成マネージャ102は、例えば物理量および性能係数に少なくとも部分的に基づいて、物理量を測定するための1つ以上のハードウェア構成を識別し得る。ハードウェア構成を選択するために、任意の適切な方法が使用され得る。例えば、構成マネージャ102は、構成データストア108などにおける、例えば、様々なハードウェア構成の性能を記述する性能データを含む、構成可能なハードウェアモジュールの異なる構成を記述する構成データにアクセスし得る。構成マネージャ102は、示された物理量を測定し、ユーザ124によって提供される性能係数に適合する1つ以上のハードウェア構成を選択し得る。いくつかの例において、全ての性能係数を満たすハードウェア構成はない。構成マネージャ102は、例えば、ユーザ124によって提供される性能係数重みに従って、性能係数に基づいて最適化されたハードウェア構成を選択し得る。
 
【0074】
  任意選択的に、構成マネージャ102は、動作1006において、ハードウェア構成を選択するために、1つ以上のシミュレーションを利用し得る。例えば、任意選択の動作1006Bにおいて、構成マネージャ102は、例えば、シミュレーションを実行するためにシミュレーションマネージャ104を利用して、1つ以上の候補ハードウェア構成をシミュレートし得る。構成マネージャ102は、選択された候補ハードウェア構成のための構成データ110を生成し、候補ハードウェア構成のための構成データ110の全部または一部をシミュレーションマネージャ104に提供し得る。シミュレーションマネージャ104は、候補ハードウェア構成のシミュレーションを実行し得る。シミュレーションは、例えば、1つ以上の性能係数に関連するハードウェア構成の格付けを含む、ハードウェア構成の結果を返し得る。いくつかの例において、構成は、動作1006Bにおいて、複数の候補ハードウェア構成をシミュレートし得る。任意選択の動作1006Aにおいて、構成マネージャ102は、例えば、シミュレーションの結果に基づいて、シミュレートされた候補ハードウェア構成の中から1つ以上のハードウェア構成を選択し得る。いくつかの例において、構成マネージャ102は、候補ハードウェア構成の中から1つのハードウェア構成を選択し得る。例えば、構成マネージャ102は、ユーザ124によって選択された性能係数に最もよく一致するハードウェア構成を選択し得る。
 
【0075】
  いくつかの例において、動作1006において生成および/または識別されるハードウェア構成は、動的測定を実行するための命令データを含み得る。動的測定は、構成可能なハードウェアモジュールの動作が経時的に変化する測定であり得る。例えば、構成可能なハードウェアモジュールは、センサの状態を変化させ(例えば、センサに提供された励磁信号を修正することによって)、かつ/またはセンサからの入力信号を異なる時間に異なる方法で処理し得る。
 
【0076】
  例えば、構成可能なハードウェアモジュールは、センサに提供される励磁信号を修正することによって(例えば、本明細書に記載される構成された励磁チャネルを介して)、センサの状態を変化させ得る。いくつかの例において、構成可能なハードウェアモジュールは、例えば、第1の定電流または定電圧から、第2の定電流または定電圧に上昇することなどによって、ステップアップする段階的状励磁信号を提供し得る。いくつかの例において、構成可能なハードウェアモジュールは、例えば、第1の定電流または定電圧から、第2の定電流または定電圧に降下することなどによって、ステップダウンする段階的励磁信号を提供し得る。いくつかの例において、構成可能なハードウェアモジュールは、ステップアップおよびステップダウンする(例えば、ある場合にはステップアップし、他の場合にはステップダウンする)段階的励磁信号を提供し得る。構成可能なハードウェアモジュールは、例えば、他の方法で変化する励磁信号を提供することによって、同様に任意の他の適切な方法でセンサの状態を変化させ得る。例えば、励磁信号は、ランプ関数、指数関数、正弦関数または他の周期的関数などであり得るか、またはこれらを含み得る。上記のように、関数に応じた、または関数を含む励磁信号を提供する場合、第1の励磁信号を提供し、続いて修正された励磁信号を提供するものとして説明される。
 
【0077】
  いくつかの例において、構成可能なハードウェアモジュールは、例えば、条件が真であると判定された後に物理量を測定することによって、経時的にセンサ入力信号を異なる方法で処理し得る。例えば、構成可能なハードウェアモジュールは、センサからの入力信号を測定するためにセンサが起動された後、所定の時間待機し得る。例えば、これにより、物理量が測定される前に、センサが安定化またはウォームアップすることが可能になる。別の例において、この条件は、励磁信号に関連し得る。例えば、励磁信号が特定の電流または電圧までランプアップする場合、構成可能なハードウェアモジュールは、センサからの入力信号を測定する前に、励磁信号がランプアップを完了するまで待機し得る。
 
【0078】
  動作1008において、構成マネージャ102は、動作1006において生成された1つ以上の候補ハードウェア構成を、UI  106において表示し得る。構成マネージャ102はまた、それぞれの候補ハードウェア構成のための性能係数の値を表示し得る。いくつかの例において、UI  106はまた、例えば、それぞれの利点および/または欠点の記述を含む候補ハードウェア構成のテキスト記述を提供し得る。動作1010において、構成マネージャ102は、ユーザ124から、UI  106に表示された候補ハードウェア構成のうちの1つの選択肢を受け取り得る。例えば、ユーザ124は、UI  106においてハードウェア構成を選択し得る。いくつかの例において、ユーザ124はまた、例えば、
図14で後述するように、ハードウェア構成の追加の実装の詳細を選択し得る。
 
【0079】
  いくつかの例において、構成マネージャ102は、候補ハードウェア構成の中から単一のハードウェア構成を選択し得る。例えば、構成マネージャ102は、性能係数(例えば、性能係数の重み)に最もよく一致する候補ハードウェア構成を選択し得る。構成管理102は、単一のハードウェア構成を選択すると、動作1008において、そのハードウェア構成を記述するデータがUIに表示され、ユーザは動作1010において選択されたハードウェア構成を確認し得る。
 
【0080】
  動作1012において、構成マネージャ102は、選択されたハードウェア構成のための構成データ110を生成し得る。以前に動作1006Bにおいてシミュレートされたような選択されたハードウェア構成であれば、選択されたハードウェア構成のための構成データ110は、既に存在する可能性がある。いくつかの例において、動作1012において、動作1006Bのために生成されたシミュレーションデータは、レジスタマップ設定または他のスイッチ状態データ、制御回路における実行のための命令などのハードウェア構成データで補われ得る。
 
【0081】
  動作1014において、構成マネージャ102および/またはシミュレーションマネージャ104は、例えば、UI  106を介して、ユーザ124に選択されたハードウェア構成をシミュレートすることを可能にし得る。例えば、
図2を参照すると、シミュレーションマネージャ104は、個別にまたはUI  106を介して、シミュレーションUI  206を提供し得る。いくつかの例において、ユーザ124は、シミュレーションの結果に基づいてハードウェア構成を修正し得る。例えば、構成マネージャ102は、動作1016において、UI  106を介して、ユーザからハードウェア構成を修正する要求を受け取り得る。これに応答して、構成マネージャ102は、選択されたハードウェア構成のための構成データ110を修正し得る。
 
【0082】
  図11〜
図21は、プロセスフロー1000の実装の例を示すUI  106からのスクリーンショットの例を示す。
図11は、測定される物理量を記述するデータを受け取るためのUI  106のスクリーン1100を示すスクリーンショットである。スクリーン1100は、ウェブブラウザ1102に示されている。例えば、UI  106は、ユーザコンピューティングデバイス122において実行されるウェブアプリによって提供され得る。スクリーン1100は、スクリーン1100に表示される「測定タイプを選択する」タブ1104を含む。「測定タイプを選択する」タブ1104は、「測定タイプ」フィールド1106を含み得る。ユーザは、「測定タイプ」フィールド1106から測定される物理量を選択し得る。
図11の例において、「測定タイプ」フィールド1106は、温度、圧力、光、重量、力、接触、近接、流れ、化学量、ガス、バイオセンスまたはバイオメトリック量、レベルなどを含む物理量の例を含む。このリストは非限定的であり、
図11に示される物理量の一部または全部に加えて、またはその代わりに、いくつかの例において、選択のために、追加の物理量がまた利用可能であり得る。
 
【0083】
  いくつかの例において、ユーザ124が「測定タイプ」フィールド1106から物理量を選択するとき、情報フィールド1114において物理量に関する追加の情報および/または物理量の測定に関する情報が表示され得る。これにより、ハードウェア構成を選択するプロセス中にユーザ124を教育し得る。
 
【0084】
  測定法フィールド1108は、ユーザ124によって選択された物理量を表示し得る(例えば、「測定タイプ」フィールド1106から)。例えば、ユーザ124は、測定に測定法フィールド1108を表示させるために、追加の測定ボタン1112を選択し得る。ユーザは、例えば、測定法フィールド1108において対応するタブを選択することによって、追加された測定を選択し得る。例えば、
図11において、第1の測定のタブ「測定1」が選択される。測定法タブが選択されると、ユーザ124は、例えばメニュー1110を利用して測定のための物理量を提供し得る。任意の適切なメニュータイプが使用され得る。
 
【0085】
  図11は、測定法フィールド1108に複数の測定法を示す。いくつかの例において、構成マネージャ102は、複数の物理量を同時に管理することができる構成可能なハードウェアモジュールのハードウェア構成を選択するように構成され得る。例えば、構成可能なハードウェアモジュール(120、420、520など)は、複数のセンサを駆動するために複数の入力および励磁チャネルを生成する構成要素を含み得る。他の例において、UI  106および構成マネージャ102は、ユーザ124に複数のハードウェア構成を生成することを可能にし得る。例えば、測定法フィールド1108の各タブ(例えば、「測定1」、「測定2」、「測定3」、「測定4」など)は、構成マネージャによって生成された異なるハードウェア構成に対応し得る。
 
【0086】
  図12は、ユーザから追加の設計入力を受け取るための測定法フィールド1108のより詳細な図を含む、スクリーン1100の図の別の例を示すスクリーンショットである。
図12において、
図11と同様に、「測定タイプを選択する」タブ1104が選択される。測定法フィールド1108の「測定1」タブはまた、選択されたままである。ユーザ124は、メニュー1110に示されるように、測定される物理量として「温度」を選択した。センサクラスメニュー1116は、センサクラス「熱電対」が選択されたことを示している。センサの1つのクラスのみが特定の物理量を測定するために利用可能である場合、構成マネージャ102はそのクラスを選択し、それに応じてセンサクラスメニュー1116を設定し得る。複数のセンサクラスが利用可能であるいくつかの例において、ユーザ124は、センサクラスメニュー1116からセンサクラスを選択し得る。いくつかの例において、情報フィールド1114は、例えば、選択されたセンサクラスを含むセンサクラスに関する情報を表示するように更新され得る。
 
【0087】
  センサタイプフィールド1118は、ユーザ124に使用されるセンサのタイプを選択することを可能にする。センサタイプデータフィールド1120は、選択されたセンサタイプおよび/または他のセンサタイプに関するデータを提供し得る。例えば、
図12において、センサタイプデータフィールド1120は、例えば、測定可能な最低温度、測定可能な最高温度、および感度を含むTタイプ熱電対センサの性能パラメータを示す。
 
【0088】
  図13は、ユーザ124からの性能係数データおよび追加の設計入力を受け取るための測定法フィールド1108の図を含む、スクリーン1100の別の図の例を示すスクリーンショットである。
図13において、
図11および
図12と同様に、「測定タイプを選択する」タブ1104が選択される。測定法フィールド1108の「測定1」タブはまた、選択されたままである。ユーザ124は、メニュー1110に示されるように、測定される物理量として「温度」を選択した。センサクラスメニュー1116は、センサクラス「熱電対」が選択されたことを示し、センサタイプメニュー1118は、センサタイプ「Tタイプ」が選択されたことを示している。「測定精度」フィールド1122は、温度測定の所望の精度を記述する性能係数の値を受け取り得る。例えば、
図13において、ユーザは0.25℃の所望の精度を選択した。
 
【0089】
  ハードウェア構成タイプボタン1124は、フィールド1122に入力された性能係数を満たし得るハードウェア構成のタイプを示す。例えば、
図13において、1つのハードウェア構成は、示された性能係数、すなわち「冷接点補償測定」構成を満たす。複数のタイプのハードウェア構成が性能係数を満たすことができる場合、ボタン1124の複数の例が示され得る。いくつかの例において、ユーザ124は、対応するボタン(例えば、ボタン1124または追加ボタンが示されている場合には別のボタン)を選択することによって、ハードウェア構成タイプを選択する。情報フィールド1114は、選択されたセンサクラス、タイプ、およびハードウェア構成タイプの記述を含むように更新され得る。
 
【0090】
  図14は、ユーザ124から追加の設計入力を受け取るための測定法フィールド1108の図を含む、スクリーン1100の図の別の例を示すスクリーンショットである。
図14に示されるように、ユーザ124は、「冷接点補償測定」ハードウェア構成を選択した。ハードウェア構成詳細フィールド1126は、選択されたハードウェア構成タイプの追加の詳細を受け取り得る。例えば、構成フィールド1126は、ユーザにハードウェア構成とともに使用される特定のセンサを選択することを可能にするセンサフィールド1128を含み得る。センサフィールド1128は、センサのカテゴリを記述するタブを含み得る。例えば、
図14において、センサフィールド1128は、「サーミスタ」カテゴリセンサ、「RTD3ワイヤ」カテゴリセンサ、「RTD4ワイヤ」カテゴリセンサ、および「デジタル温度IC」カテゴリセンサのためのタブを含む。
図14において、「RTD3ワイヤ」カテゴリセンサが選択され、2つの特定のセンサが、例えばシリアル番号(例えば、Pt100およびPt1000)によってセンサフィールド1128に表示される。ユーザは、センサフィールド1128からセンサのうちの1つを選択し得る。構成詳細フィールド1126はまた、ハードウェア構成の概略
図1130を表示し得る。また、いくつかの例において、選択されたセンサ、感覚カテゴリ、センサクラスなどを記述するために、情報フィールド1114を更新し得る。
 
【0091】
  図15は、ユーザ124から追加の設計入力を受け取るための構成詳細フィールドの図を含む、スクリーン1100の図の別の例を示すスクリーンショットである。
図15において、ユーザ124はセンサ(例えば、Pt100)を選択した。センサフィールド1128は、Pt100の選択時に、推奨される入力チャネルおよび励磁チャネルパラメータを利用するか、または入力チャネルおよび励磁チャネルパラメータを手動で選択するかをユーザ124に尋ねるプロンプトを含み得る。例えば、
図15の例で選択されたセンサは、力電流、測定電流(FIMI)センサであるため、示された励磁チャネルパラメータは励磁電流であり、示された入力チャネルパラメータは基準抵抗値である。異なるタイプのセンサは、異なる励磁パラメータおよび入力チャネルパラメータを有することになる。
 
【0092】
  図15で選択されたように、ユーザ124が入力チャネルおよび励磁チャネルパラメータを手動で選択すべき場合、構成詳細フィールド1126は、入力チャネルおよび/または励磁チャネルパラメータを受け取るための手動パラメータフィールド1131を含み得る。ユーザ124が「コンプライアンスをチェックする」ボタン1132を選択した場合、構成マネージャは、ユーザの選択された入力チャネルおよび励磁チャネルパラメータを有するハードウェア構成が性能係数を満たすか否かを判定し得る。情報フィールド1114は、入力チャネルおよび/または励磁チャネル構成に関する追加の情報を示すために、再び更新され得る。
図16は、スクリーン1100の図の別の例を示すスクリーンショットである。
図16において、ユーザは、記載されるように、追加の設計入力を提供した。追加の設計入力の一部または全部は、設計入力要約フィールド1134において要約され得る。ユーザは、ハードウェア構成を選択するように構成マネージャ102に促すために、検索ボタン1136を選択し得る。
 
【0093】
  図17は、測定法フィールド1108における候補ハードウェア構成を表示するスクリーン1100の別の図の例を示すスクリーンショットである。例えば、候補ハードウェア構成フィールド1140は、例えば、ユーザ124が検索ボタン1136(
図16)を選択したときに、構成マネージャ102によって生成された候補ハードウェア構成を記述する情報を表示し得る。例えば、候補ハードウェア構成フィールド1142、1144、1146は、それぞれ、3つの異なる候補ハードウェア構成を記述し得る。いくつかの例において、フィールド1142、1144、1146における候補ハードウェア構成は、ハードウェア構成がユーザ124によって提供される性能係数とどれだけよく一致するかを示す順序で配置され得る。例えば、フィールド1142において記述された候補ハードウェア構成は、性能係数と最もよく一致し得るが、フィールド1144および1146において記述されたハードウェア構成は、あまり一致していない可能性がある。
 
【0094】
  図17はまた、様々な性能係数および対応する重みメニューを含む性能係数重みフィールド1148の例を示す。ユーザ124は、記載された性能係数に重みを割り当ててもよく、構成マネージャ102は、入力された重みに基づいて候補ハードウェア構成を判定および/または格付け得る。例えば、フィールド1142、1144、1146において示される候補ハードウェア構成の順序は、性能係数重みフィールド1148において提供される性能係数重みを反映し得る。ユーザ124は、例えば候補ハードウェア構成フィールド1140から候補ハードウェア構成を選択し得る。
 
【0095】
  ユーザが候補ハードウェア構成を選択する場合、いくつかの例において、構成マネージャ102は、ユーザに、選択されたハードウェア構成を説明する追加の情報および/または処理のためのオプションを提供し得る。
図18は、選択されたハードウェア構成を記述する追加の情報を表示するスクリーン1100の図の別の例を示すスクリーンショットである。例えば、
図18において、ハードウェア構成フィールド1140は、選択されたハードウェア構成を記述するデータを含む性能グラフ1152を含む。
図18の例において、性能グラフ1152は、測定セトリング時間(横軸)にわたる測定誤差(縦軸)の指示を示す。例えば、測定セトリング時間は、センサが起動されて(例えば、バイアス信号が提供される)からの時間を示し得る。いくつかの例において、ハードウェア構成は、測定セトリング時間でセンサからの入力信号を測定するための命令を含んでもよく、許容可能な誤差レベルを提供する。例えば、判定された測定セトリング時間の経過は、その後に入力信号が測定される条件であり得る。
 
【0096】
  「ハードウェア構成ファイルを作成する」ボタン1154は、選択されたハードウェア構成のための構成データ110を生成および/または完了するように構成マネージャに促すために、ユーザ124によって選択され得る。例えば、ユーザがボタン1154を選択すると、構成マネージャ102は、例えば、ハードウェア構成のためのレジスタマップまたは他のスイッチセットアップ、構成可能なハードウェアモジュールの制御回路によって実行される命令などのハードウェア構成データを生成し得る。
 
【0097】
  フィールド1150は、ユーザ124に構成マネージャ102から追加のサービスを要求することを可能にするためのボタンを含み得る。例えば、「データシートをクリップボードに追加する」ボタンは、選択されると、構成マネージャ102に、センサおよび/または構成可能なハードウェアモジュールの他の構成要素のデータシートを取り出し、それをユーザに提供し、かつ/またはデータシートを構成データ110に付加するように促し得る。「ハードウェアレイアウトランドパターン」ボタンは、選択されると、構成マネージャ102に、例えばUI  106を介して、かつ/または構成データ110に付加されて、ハードウェアレイアウトランドパターンを提供するように促し得る。「ハードウェア構成ファイルを追加する」ボタンは、構成マネージャ102に、例えば、UI  106を介して、かつ/または構成データ110に付加されて、例えば、ハードウェア構成データを含むかまたは記述するハードウェア構成ファイルを提供するように促し得る。「ハードウェア接続図表を加える」ボタンは、構成マネージャ102に、例えば、UI  106を介して、かつ/または構成データ110に付加されて、ハードウェア構成のハードウェア接続図表を提供するように促し得る。「サンプルボタン」は、ユーザ124によって選択されると、例えば、ユーザ124がハードウェア構成によって利用されるハードウェア構成要素のサンプルを購入または注文し得るウェブ位置にユーザ124を案内し得る。「評価ボード」ボタンは、ユーザ124によって選択されると、例えば、ユーザ124がハードウェア構成を実装するための評価ボードを購入するか、または別様に取得し得るウェブ位置にユーザ124を案内し得る。
 
【0098】
  いくつかの例において、「評価に続く」ボタン1153は、ユーザ124によって選択されると、構成マネージャ102および/またはシミュレーションマネージャ104に、選択されたハードウェア構成をシミュレートするように促し得る。
図19は、シミュレーションスクリーン1900の例を示すスクリーンショットである。シミュレーションスクリーン1900は、UI  106を介してユーザ124に提供され得る。スクリーン1900は、設定フィールド1902および概略フィールド1904を含む。設定フィールド1902は、選択されたハードウェア構成のシミュレーションのための入力パラメータを示すことをメイする。例えば、入力パラメータの値は、構成データ110から読み取られ得る。いくつかの例において、ユーザ124は、フィールド1902において入力パラメータの一部または全部の値を修正し得る。いくつかの例において、設定フィールド1902からの入力パラメータは、構成データ110における引数データ616によって記述された引数に対応し得る。例えば、構成データは、フィールド1902において示される入力パラメータ/引数の組み合わせを記述するバンドルデータ614を含み得る。
 
【0099】
  タブ1906、1908、1910、1912、1914、1916、1918は、スクリーン1900におけるシミュレーションの異なる態様を表示するためにユーザによって選択され得る。例えば、
図19において、「図表」タブ1906が選択されており、これによりシミュレーションマネージャ104に、ハードウェア構成の概略図表を示す概略フィールド1904を表示するように促し得る。
図19の例において、シミュレーションのための生成器を記述する入力パラメータまたは引数は、概略フィールド1904における「アナログ入力」ブロックおよび設定フィールド1902における「アナログ入力(DC)」フィールドによって示される。様々な構成要素のためのシミュレータおよび基礎モデル112は、構成データ110(例えば、シミュレータデータ610)から読み取られ得る。
 
【0100】
  タブ1908、1910、1912および1914は、シミュレーションマネージャ104によって実施される評価を表す。例えば、
図20は波形評価の結果を見るために「波形」評価タブが選択されたスクリーン1900の別の例を示すスクリーンショットである。例えば、グラフフィールド1920は、ハードウェア構成のシミュレーションから生じる波形のグラフィカルプロットを示す。結果テーブルフィールド1922は、グラフフィールド1904において示される波形の様々な特徴に関する数値を示す。
図21は、周波数応答タブ1910が選択されたスクリーン1900の別の例を示すスクリーンショットである。グラフフィールド1930は、生成器に対するハードウェア構成の周波数応答のグラフィカル表現を示す。結果テーブルフィールド1932は、グラフフィールド1930において示される周波数応答を記述する数値を示す。追加のタブ1912、1914は、スクリーン1900に追加の評価結果を表示することを可能にし得る。例えば、ヒストグラムタブ1912は、選択されると、モデルの実行された試行に関してハードウェア構成の特定の特性(例えば、ノイズレベル、出力電圧)のヒストグラムを示し得る。「ステップ応答」タブ1914は、選択されると、ステップ機能に対するハードウェア構成の応答を示し得る。
 
【0101】
  「次のステップ」タブ1916は、例えば、ユーザ124がハードウェア構成を実装するための構成可能なハードウェアモジュール、センサ、および/または他の構成要素を命令し得るウェブ位置にリンクし得る。「ヘルプ」タブ1918は、シミュレーションマネージャ104のヘルプ機能を起動し得る。
 
【0102】
  図22は、コンピューティングデバイスのソフトウェアアーキテクチャ2202の一例を示すブロック
図2200である。例えば、本明細書に記載されるように、アーキテクチャ2202は、例えば、制御回路314、404、504、ユーザコンピューティングデバイス122、サーバ126、または構成マネージャ102およびシミュレーションマネージャ104などを実装するサーバなどの様々なハードウェアアーキテクチャとともに使用され得る。
図22は、ソフトウェアアーキテクチャ2202の単なる非限定的な例に過ぎず、多くの他のアーキテクチャが、本明細書に記載される機能を容易にするために実装され得る。代表的なハードウェア層2204が示されており、例えば、上記したコンピューティングデバイスのいずれかを表し得る。いくつかの例において、ハードウェア層2204は、
図22のアーキテクチャ2202および/または
図23のアーキテクチャ2300に従って実装され得る。
 
【0103】
  代表的なハードウェア層2204は、関連する実行可能命令2208を有する1つ以上のプロセッサユニット2206を含む。実行可能命令2208は、
図1〜
図21の、方法、モジュール、構成要素などの実装を含む、ソフトウェアアーキテクチャ2202の実行可能命令を表す。ハードウェア層2204はまた、実行可能命令2208も有する、メモリおよび/または記憶モジュール2210を含む。ハードウェア層2204はまた、ハードウェアアーキテクチャ2300の一部として示された他のハードウェアなどの、ハードウェア層2204の任意の他のハードウェアを表す、他のハードウェア2212によって示されるような他のハードウェアを含み得る。
 
【0104】
  図22のアーキテクチャの例において、ソフトウェア2202は、各層が特定の機能性を提供する層のスタックとして概念化され得る。例えば、ソフトウェア2202は、オペレーティングシステム2214、ライブラリ2216、フレームワーク/ミドルウェア2218、アプリケーション2220、およびプレゼンテーション層2244などの層を含み得る。動作的に、層内のアプリケーション2220および/または他の構成要素は、ソフトウェアスタックを介してアプリケーションプログラミングインターフェース(API)コール2224を呼び出し、APIコール2224に応答して、メッセージ2226として示される、応答、戻り値などを受け取り得る。図示される層は、本質的に代表的であり、全てのソフトウェアアーキテクチャが全ての層を有するわけではない。例えば、一部のモバイルまたは特殊目的オペレーティングシステムは、フレームワーク/ミドルウェア層2218を提供しなくてもよいが、他のものはかかる層を提供し得る。他のソフトウェアアーキテクチャは、追加のまたは異なる層を含み得る。
 
【0105】
  オペレーティングシステム2214は、ハードウェアリソースを管理し、共通サービスを提供し得る。オペレーティングシステム2214は、例えば、カーネル2228、サービス2230、およびドライバ2232を含み得る。カーネル2228は、ハードウェア層と他のソフトウェア層との間の抽象化層として機能し得る。例えば、カーネル2228は、メモリ管理、プロセッサ管理(例えば、スケジューリング)、構成要素管理、ネットワーク化、セキュリティ設定などを担当し得る。サービス2230は、他のソフトウェア層のための他の共通サービスを提供し得る。いくつかの例において、サービス2230は割り込みサービスを含む。割り込みサービスは、ハードウェアまたはソフトウェア割り込みの受け取りを検出し、それに応答して、アーキテクチャ2202に、その現在の処理を一時停止させ、割り込みが受け取られたときに割り込みサービスルーチン(ISR)を実行させ得る。ISRは、例えば、本明細書で記載するように、アラートを生成し得る。
ドライバ2232は、基礎ハードウェアを制御またはこれと交信することを担当し得る。例えば、ドライバ2232は、ハードウェア構成に依存する、ディスプレイドライバ、カメラドライバ、Bluetooth(登録商標)ドライバ、フラッシュメモリドライバ、シリアル通信ドライバ(例えば、ユニバーサルシリアルバス(USB)ドライバ)、Wi−Fi(登録商標)ドライバ、NFCドライバ、オーディオドライバ、電源管理ドライバなどを含み得る。
 
【0106】
  ライブラリ2216は、アプリケーション2220および/または他の構成要素および/または層によって利用され得る共通インフラストラクチャを提供し得る。ライブラリ2216は、典型的には、他のソフトウェアモジュールに基礎オペレーティングシステム2214の機能(例えば、カーネル2228、サービス2230および/またはドライバ2232)と直接交信するよりも容易な方法で、タスクを実施することを可能にする機能を提供する。ライブラリ2216は、メモリ割り当て関数、文字列操作関数、数学関数などの関数を提供し得るシステムライブラリ2234(例えば、C標準ライブラリ)を含み得る。さらに、ライブラリ2216は、メディアライブラリ(例えば、MPEG4、H.264、MP3、AAC、AMR、JPG、PNGなどの様々なメディアフォーマットの提示および操作をサポートするライブラリ)、グラフィックスライブラリ(例えば、ディスプレイ上のグラフィックコンテンツに2Dおよび9Dをレンダリングするために使用され得るOpenGLフレームワーク)、データベースライブラリ(例えば、様々なリレーショナルデータベース機能を提供し得るSQLite)、ウェブライブラリ(例えば、ウェブブラウジング機能性を提供するWebKit)などの、APIライブラリ2236を含み得る。ライブラリ2216はまた、アプリケーション2220および他のソフトウェア構成要素/モジュールに多くの他のAPIを提供するための多種多様な他のライブラリ2238を含み得る。
 
【0107】
  フレームワーク2218(ミドルウェアとも呼ばれることもある)は、アプリケーション2220および/または他のソフトウェア構成要素/モジュールによって利用され得るより高いレベルの共通インフラストラクチャを提供し得る。例えば、フレームワーク2218は、様々なグラフィックユーザインターフェース(GUI)機能、高レベルリソース管理、高レベル位置特定サービスなどを提供し得る。フレームワーク2218は、アプリケーション2220および/または他のソフトウェア構成要素/モジュールによって利用され得る広範囲の他のAPIを提供してもよく、そのいくつかは特定のオペレーティングシステムまたはプラットフォームに固有であり得る。
 
【0108】
  アプリケーション2220は、組み込みアプリケーション2240および/または第三者アプリケーション2242を含む。代表的な組み込みアプリケーション2240の例は、連絡先アプリケーション、ブラウザアプリケーション、ブックリーダーアプリケーション、位置特定アプリケーション、メディアアプリケーション、メッセージングアプリケーション、および/またはゲームアプリケーションを含み得るが、これらに限定されない。第三者アプリケーション2242は、組み込みアプリケーション2240のいずれか、および他の広範囲のアプリケーションを含み得る。特定の例において、第三者アプリケーション2242(例えば、特定のプラットフォームのベンダー以外のエンティティによってAndroid(商標)またはiOS(商標)ソフトウェア開発キット(SDK)を使用して開発されたアプリケーション)は、iOS(商標)、Android(商標)、Windows(登録商標)Phone、または他のユーザコンピューティングデバイスオペレーティングシステムなどのモバイルオペレーティングシステム上で実行されるモバイルソフトウェアであり得る。この例において、第三者アプリケーション2242は、本明細書に記載される機能を容易にするために、オペレーティングシステム2214などのモバイルオペレーティングシステムによって提供されるAPIコール2224を呼び出し得る。
 
【0109】
  アプリケーション2220は、ユーザインターフェースを作成してシステムのユーザと対話するために、組み込みオペーティングシステム機能(例えば、カーネル2228、サービス2230および/またはドライバ2232)、ライブラリ(例えば、システム2234、API2236、および他のライブラリ2238)、フレームワーク/ミドルウェア2218を利用し得る。代わりに、またはさらに、いくつかのシステムにおいて、ユーザとの対話は、プレゼンテーション層2244などのプレゼンテーション層を介して行われ得る。これらのシステムにおいて、アプリケーション/モジュール「論理」は、ユーザと対話するアプリケーション/モジュールの側面から分離され得る。
 
【0110】
  いくつかのソフトウェアアーキテクチャは仮想マシンを利用する。例えば、本明細書に記載されるシステムは、1つ以上のサーバコンピューティングマシンで実行される1つ以上の仮想マシンを利用して実行され得る。
図22の例において、これは仮想マシン2248によって示されている。仮想マシンは、アプリケーション/モジュールがハードウェアコンピューティングデバイス上で実行しているかのように実行し得るソフトウェア環境を作成する。仮想マシンは、ホストオペレーティングシステム(オペレーティングシステム2214)によってホストされ、典型的には、必ずしもそうではないが、仮想マシン2248の動作およびホストオペレーティングシステム(すなわち、オペレーティングシステム2214)との交信を管理する、仮想マシンモニタ2246を有する。ソフトウェアアーキテクチャは、オペレーティングシステム2250、ライブラリ2252、フレームワーク/ミドルウェア2254、アプリケーション2256、および/またはプレゼンテーション層2258などの仮想マシン2248内で実行される。仮想マシン2248内で実行されるソフトウェアアーキテクチャのこれらの層は、前述の対応する層と同じであってもよいかまたは異なっていてもよい。
 
【0111】
  図23は、その中で命令のセットまたはシーケンスを実行して、本明細書で論じた技法のいずれか1つの例をマシンに実施させることができる、コンピューティングデバイスハードウェアアーキテクチャ2300を示すブロック図である。例えば、アーキテクチャ2300は、
図22に関して記載されたソフトウェアアーキテクチャ2202を実行し得る。アーキテクチャ2300は、スタンドアロンデバイスとして動作し得えるか、または他のマシンに接続され(例えば、ネットワーク接続)得る。ネットワーク化デプロイメントにおいて、アーキテクチャ2300は、サーバクライアントネットワーク環境内のサーバまたはクライアントマシンのいずれかの能力で動作してもよく、ピアツーピア(または分散)ネットワーク環境においてピアマシンとして機能し得る。アーキテクチャ2300は、パーソナルコンピュータ(PC)、タブレットPC、ハイブリッドタブレット、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンがとる動作を指定する命令(シーケンシャルまたはその他)を実行できる任意のマシンンにおいて実装され得る。
 
【0112】
  例示的なアーキテクチャ2300は、少なくとも1つのプロセッサ(例えば、中央処理装置(CPU)、グラフィック処理装置(GPU)またはその両方、プロセッサコア、計算ノードなど)を含むプロセッサ装置2302を含む。アーキテクチャ2300は、リンク2308(例えば、バス)を介して互いに通信するメインメモリ2304およびスタティックメモリ2306をさらに含み得る。アーキテクチャ2300は、ビデオディスプレイユニット2310、英数字入力デバイス2312(例えば、キーボード)、およびユーザインターフェース(UI)ナビゲーションデバイス2314(例えば、マウス)をさらに含み得る。いくつかの例において、ビデオディスプレイユニット2310、入力デバイス2312、およびUIナビゲーションデバイス2314は、タッチスクリーンディスプレイに組み込まれる。アーキテクチャ2300は、記憶デバイス2316(例えば、ドライブユニット)、信号生成デバイス2318(例えば、スピーカ)、ネットワークインターフェースデバイス2320、および1つ以上のセンサ(図示せず)、全地球測位システム(GPS)センサ、コンパス、加速度計、または他のセンサをさらに含み得る。
 
【0113】
  いくつかの例において、プロセッサユニット2302または他の適切なハードウェア構成要素は、ハードウェア割り込みをサポートし得る。ハードウェア割り込みに応答して、プロセッサユニット2302は、その処理を中断し、例えば、本明細書に記載されるように割り込みサービスルーチン(ISR)を実行し得る。
 
【0114】
  記憶デバイス2316は、本明細書に記載される技法または機能のいずれか1つ以上によって具体化または利用されるデータ構造および命令2324(例えば、ソフトウェア)の1つ以上のセットが記憶されるマシン可読媒体2322を含む。命令2324はまた、マシン可読媒体も構成するメインメモリ2304、スタティックメモリ2306およびプロセッサユニット2302とともに、メインメモリ2304、スタティックメモリ2306内に、および/またはプロセッサユニット2302内に、アーキテクチャ2300による実行中に、完全にまたは少なくとも部分的に存在し得る。マシン可読媒体2322に記憶される命令は、例えば、ソフトウェアアーキテクチャ2202を実装するための命令、本明細書に記載される特徴のうちのいずれかを実行するための命令などを含み得る。
 
【0115】
  マシン可読媒体2322は、単一の媒体である例において示されているが、用語「マシン可読媒体」は、1つ以上の命令2324を記憶する単一の媒体または複数の媒体(例えば、集中型もしくは分散型データベース、ならびに/または関連キャッシュおよびサーバ)を含み得る。用語「マシン可読媒体」はまた、マシンによる実行のための命令であって、マシンに本開示の技法の任意の1つ以上を行わせる命令を記憶、符号化、または運ぶことができる任意の媒体、あるいはかかる命令によって使用されるまたはそれと関連付けられたデータ構造を記憶、符号化、または運ぶことができる任意の有形の媒体を含み得る。したがって、用語「マシン可読媒体」は、固体メモリ、ならびに光学および磁気媒体を含み得るが、これに限定されない。マシン可読媒体の特定の例は、例えば半導体メモリデバイス(例えば、電気的にプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能でプログラム可能な読み取り専用メモリ(EEPROM))およびフラッシュメモリデバイスを含むがこれに限定されない不揮発性メモリ、内部ハードディスクおよび取り外し可能なディスクなどの磁気ディスク、磁気光学ディスク、ならびにCD−ROMおよびDVD−ROMディスクを含む。
 
【0116】
  命令2324は、さらに、多数の周知の転送プロトコル(例えば、ハイパーテキスト転送プロトコルまたはHTTP)のうちの任意の1つを利用するネットワークインターフェースデバイス2320を介して、通信媒体を使用して通信ネットワーク2326上で送信または受信され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、携帯電話ネットワーク、旧来の一般電話(POTS)ネットワーク、および無線データネットワーク(例えば、Wi−Fi、3G、および5G  LTE/LTE−AまたはWiMAXネットワーク)を含む。用語「伝送媒体」は、マシンによる実行のための命令を記憶、符号化、または搬送することができる任意の無形媒体を含むとみなされるものとし、かかるソフトウェアの通信を容易にするデジタルまたはアナログの通信信号またはその他の無形媒体を含む。
 
【0117】
  本開示では、様々な構成要素が特定の方法で構成されているものとして説明されている。構成要素は、任意の適切な方法で構成され得る。例えば、コンピューティングデバイスであるか、またはそれを含む構成要素は、コンピューティングデバイスをプログラムする適切なソフトウェア命令で構成され得る。構成要素はまた、そのハードウェア構成によって、または任意の他の適切な方法で構成され得る。
 
【0118】
  上記は、例示的なものであって、限定的なものではないことが意図される。例えば、上記の例(またはそれらの1つ以上の態様)は、互いと組み合わせて使用されてもよい。他の実施形態が、例えば、当業者による上記の検討後に、使用され得る。要約は、例えば、米国の37C.F.R.§1.72(b)に準拠しており、読み手が技術的開示の本質を迅速に確認することを可能にするものである。それは特許請求の範囲もしくはその意味を解釈または限定するために使用されないという理解の下で提示される。
 
【0119】
  また、上記の「発明を実施するための形態」では、様々な特徴が、開示を簡素化するためにまとめられ得る。しかしながら、特許請求の範囲は、実施形態が前記特徴の部分集合を特徴とすることができるため、本明細書に開示されるあらゆる特徴を説明することはできない。さらに、実施形態は、特定の例で開示されたものより少ない特徴を含み得る。したがって、添付の特許請求の範囲は、本明細書によって「発明を実施するための形態」に組み込まれ、請求項が個別の実施形態として独立して立証される。本明細書に記載される実施形態の範囲は、かかる特許請求の範囲が権利を与えられる均等物の全範囲とともに、添付の特許請求の範囲を参照して決定されるべきである。
 
【0120】
様々な注記および実施例
  本文書に記載されている非限定的な例のそれぞれは、単独で存在することができ、または1つ以上の他の例との様々な置換または組み合わせで組み合わせることができる。
 
【0121】
  上記の発明を実施するための形態は、発明を実施するための形態の一部を形成する添付の図面の参照を含む。図面は、例示として、本発明が実施され得る特定の実施形態を示す。これらの実施形態は、本明細書では「例」とも呼ばれる。かかる例は、図示または説明されたものに加えて要素を含み得る。しかしながら、本発明者らはまた、図示または説明された要素のみが提供される実施例も企図する。さらに、本発明者らはまた、特定の例(またはその1つ以上の態様)に関して、あるいは本明細書に図示または説明された他の例(またはその1つ以上の態様)に関して、図示または説明された要素(またはその1つ以上の態様)の任意の組み合わせまたは置換を使用する例も企図する。
 
【0122】
  万一、本文書と、参照によって組み込まれるようなあらゆる文書の間に矛盾する使用法があった場合には、本文書における使用法が支配する。
 
【0123】
  本文書では、特許文書において一般的であるように、用語「a」または「an」が、1つまたは2つ以上を含むように、「少なくとも1つの」または「1つ以上の」の任意の他の実例あるいは使用法とは独立して、使用される。本文書では、用語「または」は、別段指示されない限り、「AまたはB」が、「BではなくてA」、「AではなくてB」、および「AおよびB」を含むように、非排他的なまたはこのことを言うために使用される。本文書では、用語「含む(including)」および「それにおいて(in  which)」は、それぞれの用語「備える(comprising)」および「それにおいて(wherein)」のプレインイングリッシュの均等物として使用される。また、以下の特許請求の範囲では、用語「含む」および「備える」は、オープンエンド形式であり、すなわち、特許請求の範囲内のかかる用語の後に列挙されたものに加えた要素を含むシステム、デバイス、物品、組成、配合物、またはプロセスは、依然としてその特許請求の範囲内にあるとみなされる。さらに、以下の特許請求の範囲では、用語「第1の」、「第2の」、および「第3の」などが、単に標識として使用され、それらの対象に数値的要件を課すことを意図されない。
 
【0124】
  本明細書に記載される方法の例は、マシンまたはコンピュータで少なくとも部分的に実現され得る。いくつかの例は、上記例に記載されたような方法を実施するために電子デバイスを構成するように動作可能な命令を用いて符号化されたコンピュータ可読媒体またはマシン可読媒体を含むことができる。かかる方法の実現形態は、コード、例えば、マイクロコード、アセンブリ言語コード、高レベル言語コード、または同様のものなどを含むことができる。かかるコードは、様々な方法を実施するためにコンピュータ可読命令を含むことができる。コードは、コンピュータプログラム製品の一部を形成し得る。さらに、ある実施例では、コードは、実行の間または他の時間などに、1つ以上の揮発性の、非一時的な、または不揮発性の有形コンピュータ可読媒体上に有形的に記憶され得る。これらの有形のコンピュータ可読媒体の例は、限定されるものではないが、ハードディスク、取り外し可能な磁気ディスク、取り外し可能な光学ディスク(例えば、コンパクトディスクおよびデジタルビデオディスク)、磁気カセット、メモリカードまたはスティック、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、および同様のものを含むことができる。
 
【0125】
  上記は、例示的なものであって、限定的なものではないことが意図される。例えば、上記の例(またはそれらの1つ以上の態様)は、互いと組み合わせて使用されてもよい。他の実施形態が、例えば、当業者による上記の検討後に、使用され得る。要約は、37C.F.R.§1.72(b)に準拠して提供され、読み手が技術的開示の本質を迅速に確認することを可能にする。それは特許請求の範囲もしくはその意味を解釈または限定するために使用されないという理解の下で提示される。また、上記の「発明を実施するための形態」では、様々な特徴が、開示を簡素化するためにまとめられ得る。これは、特許請求されない開示された特徴が任意の特許請求の範囲に必須であることを意図するように解釈されるべきではない。むしろ、発明の主題は、特定の開示された実施形態の全ての特徴よりも少なく存在し得る。それ故、以下の特許請求の範囲は、実施例または実施形態として「発明を実施するための形態」に本明細書により組み込まれ、各特許請求の範囲は、個別の実施形態として自立しており、かかる実施形態は、様々な組み合わせまたは置換で互いと組み合わされ得ることが考えられる。本発明の範囲は、かかる特許請求の範囲が権利を与えられる均等物の全範囲とともに、添付の特許請求の範囲を参照して決定されるべきである。
 
【0126】
[実施例]
  実施例1は、ユーザから、物理量の指示を受け取ることと、ユーザから、物理量の測定法を記述する性能係数データを受け取ることと、物理量および性能係数データの指示に少なくとも部分的に基づいて、物理量を測定するためのハードウェアモジュールのハードウェア構成を生成することであって、ハードウェア構成が、物理量の動的測定を実行するようにハードウェアモジュールを構成するための命令データを含む、生成することと、ハードウェア構成を記述する構成データを生成することであって、構成データが、ハードウェア構成の少なくとも一部を実装するようにハードウェアモジュールを構成するためのハードウェア構成データを含む、生成することと、を含む、アクションを実施するように構成された構成マネージャ、を備える、物理量の測定を実施するように構成可能なハードウェアモジュールを構成するためのシステムである。
 
【0127】
  実施例2において、実施例1に記載の主題では、任意選択的に、命令データが、センサに励磁信号を提供することと、センサに励磁信号を提供した後、センサに修正された励磁信号を提供することと、を含む動作を実施するハードウェアモジュールの制御回路を構成する命令を含む。
 
【0128】
  実施例3において、実施例1〜2のいずれか1つ以上に記載の主題では、任意選択的に、命令データが、第1の条件が真であると判定することと、第1の条件が真であると判定した後、センサからの入力信号を測定することであって、入力信号が物理量を示す、測定することと、を含む動作を実施するようにハードウェアモジュールの制御回路を構成する命令を含む。
 
【0129】
  実施例4において、実施例1〜3のいずれか1つ以上に記載の主題では、任意選択的に、ハードウェア構成が、物理量を検知するようにセンサにバイアスをかけるためのハードウェアモジュールの励磁チャネルを構成するための励磁チャネルデータと、センサから物理量を示す信号を受け取るためのハードウェアモジュールの入力チャネルを構成するための入力チャネルデータと、をさらに含む。
 
【0130】
  実施例5において、実施例1〜4のいずれか1つ以上に記載の主題では、任意選択的に、構成マネージャが、ハードウェアモジュールの記述を受け取ることを含むアクションを実施するようにさらに構成され、ハードウェア構成の生成がまた、ハードウェアモジュールの記述にも少なくとも部分的に基づいている。
 
【0131】
  実施例6において、実施例1〜5のいずれか1つ以上に記載の主題では、任意選択的に、構成マネージャがまた、第1の候補ハードウェア構成のための構成データを生成することと、シミュレーションマネージャから、第1の候補ハードウェア構成のシミュレーションを要求することと、シミュレーションマネージャから、第1の候補ハードウェア構成のシミュレーションを記述する第1のシミュレーションデータを受け取ることであって、ハードウェア構成の生成が、第1のシミュレーションデータに少なくとも部分的に基づいている、受け取ることと、を含む動作を実施するようにも構成されている。
 
【0132】
  実施例7において、実施例1〜6のいずれか1つ以上に記載の主題では、任意選択的に、性能係数データが、物理量を測定するためのセンサタイプの指示と、物理量を測定するための測定精度と、を含む。
 
【0133】
  実施例8において、実施例1〜7のいずれか1つ以上に記載の主題では、任意選択的に、前記構成マネージャがまた、第1の候補ハードウェア構成を生成することと、第2の候補ハードウェア構成を生成することと、ユーザから、ハードウェア構成となる第1の候補ハードウェア構成または第2の候補ハードウェア構成の選択を受け取ることと、を含む動作を実施するように構成されている。
 
【0134】
  実施例9において、実施例8に記載の主題では、任意選択的に、性能係数データが、複数の性能係数を含み、構成マネージャがまた、ユーザから、性能係数の少なくとも一部の重みを記述する重みデータを受け取ることと、重みデータに少なくとも部分的に基づいて、候補ハードウェア構成のセットから、ハードウェア構成を選択することと、を含む動作を実施するようにも構成されている。
 
【0135】
  実施例10において、実施例1〜9のいずれか1つ以上に記載の主題では、任意選択的に、ハードウェア構成データが、ハードウェアモジュールにおいてハードウェア構成を実装するためのスイッチネットワーク状態を記述するスイッチネットワークデータを含む。
 
【0136】
  実施例11において、実施例1〜10のうちのいずれか1つ以上に記載の主題では、任意選択的に、ハードウェア構成データが、ハードウェアモジュールのスイッチネットワークの状態を記述するスイッチネットワークデータを含み、スイッチネットワークの状態が、ハードウェアモジュールのセンサ入力/出力(I/O)コネクタとハードウェアモジュールの励磁チャネルとの間の第1の接続、およびセンサI/O接続とハードウェアモジュールの入力チャネルとの間の第2の接続を記述する。
 
【0137】
  実施例12において、実施例11に記載の主題では、任意選択的に、ハードウェア構成データがまた、第2のスイッチネットワークの状態を記述するスイッチネットワークデータを含み、第2のスイッチネットワークの前記状態が、入力チャネルとハードウェアモジュールのアナログデジタル変換器との間の第3の接続、および励磁チャネルとハードウェアモジュールのアナログデジタル変換器との間の第4の接続を記述する。
 
【0138】
  実施例13において、実施例1〜12のいずれか1つ以上に記載の主題では、任意選択的に、命令データが、ハードウェアモジュールの励磁チャネルに励磁信号を提供することと、ハードウェアモジュールの入力チャネルからセンサ入力を受け取ることと、を含む動作を実施するハードウェアモジュールの制御回路を構成する命令を含む。
 
【0139】
  実施例14において、実施例1〜13のいずれか1つ以上に記載の主題では、任意選択的に、構成データが、ハードウェア構成のシミュレーションのための入力パラメータを含むシミュレーションデータをさらに含む。
 
【0140】
  実施例15において、実施例14に記載の主題は、任意選択的に、シミュレーションマネージャを備え、シミュレーションマネージャが、入力パラメータを受け取ることと、ハードウェア構成のシミュレーションを生成することと、ユーザにハードウェア構成のシミュレーションの結果を提供することと、を含む動作を実施するように構成される。
 
【0141】
  実施例16において、実施例1〜15のいずれか1つ以上に記載の主題では、任意選択的に、ハードウェア構成が、第1のセンサから第1のセンサ信号を受け取るための第1の入力チャネルと、第1のセンサ信号を受け取るための第2の入力チャネルと、第1の入力チャネルの出力と第2の入力チャネルの出力とを結合して結合データストリームを生成するための命令と、を含む。
 
【0142】
  実施例17は、ユーザから、かつ少なくとも1つのコンピューティングデバイスによって、物理量の指示を受け取ることと、ユーザから、かつ少なくとも1つのコンピューティングデバイスによって、物理量の測定法を記述する性能係数データを受け取ることと、少なくとも1つのコンピューティングデバイスによって、物理量の指示および性能係数データに少なくとも部分的に基づいて、物理量を測定するためのハードウェアモジュールのハードウェア構成を生成することであって、ハードウェア構成が、物理量の動的測定を実行するように、ハードウェアモジュールを構成するための命令データを含む、生成することと、少なくとも1つのコンピューティングデバイスによって、ハードウェア構成を記述する構成データを生成することであって、構成データが、ハードウェア構成の少なくとも一部を実装するように、ハードウェアモジュールを構成するためのハードウェア構成データを含む、生成することと、を含む、物理量の測定を実施するように構成可能なハードウェアモジュールを構成するための方法である。
 
【0143】
  実施例18において、実施例17に記載の主題は、任意選択的に、センサに励磁信号を提供することと、センサに励磁信号を提供した後、センサに修正された励磁信号を提供することと、を含む。
 
【0144】
  実施例19において、実施例17〜18のいずれか1つ以上の主題は、任意選択的に、第1の条件が真であると判定することと、第1の条件が真であると判定した後、センサからの入力信号を測定することであって、入力信号が前記物理量を示す、測定することと、を含む。
 
【0145】
  実施例20は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに、ユーザから、物理量の指示を受け取ることと、ユーザから、物理量の測定法を記述する性能係数データを受け取ることと、物理量の指示および性能係数データに少なくとも部分的に基づいて、物理量を測定するように構成可能なハードウェアモジュールのハードウェア構成を生成することであって、ハードウェア構成が、物理量の動的測定を実行するようにハードウェアモジュールを構成するための命令データを含む、生成することと、ハードウェア構成を記述する構成データを生成することであって、構成データが、ハードウェア構成の少なくとも一部を実装するようにハードウェアモジュールを構成するためのハードウェア構成データを含む、生成することと、を含む動作を実施させる記憶された命令を含む、マシン可読媒体である。