IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ハネウェル・インターナショナル・インコーポレーテッドの特許一覧

特許7377608高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法
<>
  • 特許-高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法 図1
  • 特許-高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法 図2A
  • 特許-高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法 図2B
  • 特許-高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法 図3
  • 特許-高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法 図4
  • 特許-高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法 図5
  • 特許-高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法 図6
  • 特許-高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法 図7
  • 特許-高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-01
(45)【発行日】2023-11-10
(54)【発明の名称】高性能パルス幅変調(PWM)信号を生成するためのシステム及び方法
(51)【国際特許分類】
   H03K 7/08 20060101AFI20231102BHJP
   H04L 25/49 20060101ALI20231102BHJP
【FI】
H03K7/08 C
H04L25/49 H
【請求項の数】 2
【外国語出願】
(21)【出願番号】P 2019040454
(22)【出願日】2019-03-06
(65)【公開番号】P2019161648
(43)【公開日】2019-09-19
【審査請求日】2022-03-02
(31)【優先権主張番号】15/918,317
(32)【優先日】2018-03-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500575824
【氏名又は名称】ハネウェル・インターナショナル・インコーポレーテッド
【氏名又は名称原語表記】Honeywell International Inc.
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(72)【発明者】
【氏名】トム・クレイダー
(72)【発明者】
【氏名】ポール・ディー・カマン
(72)【発明者】
【氏名】ヴィンセント・ジェームス・ガバガン・フォース
【審査官】吉村 伊佐雄
(56)【参考文献】
【文献】特開平04-295280(JP,A)
【文献】国際公開第2011/161860(WO,A1)
【文献】米国特許出願公開第2012/0139654(US,A1)
【文献】特開平01-141412(JP,A)
【文献】米国特許出願公開第2013/0194051(US,A1)
【文献】国際公開第2009/125580(WO,A1)
【文献】米国特許出願公開第2011/0089983(US,A1)
【文献】韓国公開特許第10-2010-0133480(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
H03K3/00-3/86
5/04-5/07
5/13-5/145
7/00-11/00
H03L1/00-9/00
(57)【特許請求の範囲】
【請求項1】
システムメモリ素子に通信可能に結合されたプロセッサによってパルス幅変調(PWM)信号を生成するための方法であって、
前記プロセッサによってデータ入力ベクトルを受信することと、
前記データ入力ベクトルを粗調整入力信号及び微調整入力信号に分割することと、
前記プロセッサによって、
前記粗調整入力信号を使用して典型的なPWM発生器動作を実行し、粗調整PWM出力信号を生成することにより、低速クロック速度を使用して前記粗調整PWM出力信号を計算することであって、
前記典型的なPWM発生器動作は、前記粗調整入力信号を使用する、少なくともコンパレータ動作及び増分カウンタ動作を含んで、前記粗調整PWM出力信号を生成する、ことと、
前記プロセッサによって、
前記微調整入力信号を1の増加する連続表現を含むサーモメータコードセットに変換することにより、前記微調整入力信号を修正して、前記修正された微調整入力信号を生成することであって、前記修正された微調整入力信号は前記サーモメータコードセットを含む、ことと、
前記プロセッサによって、前記修正された微調整入力信号に基づいて、高速クロック速度を使用して前記粗調整PWM出力信号に対する微調整を実行することと、
前記プロセッサによって、前記微調整に基づいて、分解能の増加したPWM出力信号を生成することと、を含
前記修正された微調整入力信号に基づいて、高速クロック速度を使用して前記粗調整PWM出力信号に対する微調整を実行することは、
前記粗調整PWM出力信号及び前記修正された微調整入力信号を受信することであって、前記粗調整PWM出力信号及び前記修正された微調整入力信号は、前記低速クロック速度を使用して事前計算された、ことと、
論理右シフト又は論理左シフトを実行することにより前記微調整入力信号の1ビットをシフトして、ビットシフトされた微調整信号を生成することと、
前記粗調整PWM出力信号及び前記ビットシフトされた微調整信号を使用して論理OR動作を実行し、前記分解能の増加したPWM出力信号を生成することと、を含む、方法。
【請求項2】
前記微調整入力信号を修正して、前記修正された微調整入力信号を生成することは、
前記微調整入力信号を、前記1の増加する連続表現を含む立ち下がりエッジサーモメータコードセット、又は前記1の増加する連続表現を含む立ち上がりエッジサーモメータコードセットに変換することを更に含み、
前記修正された微調整入力信号は、前記立ち下がりエッジサーモメータコードセット又は前記立ち上がりエッジサーモメータコードセットを含む、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載の主題の実施形態は、概ねパルス幅変調(PWM)信号の生成に関する。より具体的には、本主題の実施形態は、PWM信号を変調して分解能を増加させることに関する。
【背景技術】
【0002】
パルス幅変調(PWM)は、選択信号を使用して、デバイスに供給された出力を制御可能にするために使用され得る変調技術である。特定のPWM用途では、複雑かつ高速のPWM発生器が必要である。例としては、クラスDオーディオ用途、無線周波数(RF)用途の直接デジタル合成(DDS)デジタルアナログ変換器(DAC)、モータ制御用の空間ベクトルPWM変調、直流/直流(DC/DC)変換器、集中荷重(POL)変換器などが挙げられてよいが、これらに限定されない。フィールドプログラマブルゲートアレイ(FPGA)及び特定用途向け集積回路(ASIC)設計の場合、高周波数の高分解能パルス幅変調(PWM)波形の直接デジタル合成には、超高周波数クロックドメインが必要である。しかしながら、最大クロック速度は、PWM発生器論理の複雑性の制限を受ける。
【0003】
したがって、典型的なハードウェア(例えば、FPGA、ASIC)を使用して、分解能を増加させることが望ましい。更に、他の望ましい特徴及び特質は、後続の「発明を実施するための形態」及び添付の「特許請求の範囲」を、添付図面、並びに前述の「技術分野」及び「背景技術」と併せ読むことで明らかになるであろう。
【発明の概要】
【0004】
本開示のいくつかの実施形態は、システムメモリ素子に通信可能に結合されたプロセッサによってパルス幅変調(PWM)信号を生成するための方法を提供する。本方法は、プロセッサによって、低速クロック速度を使用して粗調整PWM出力信号及び修正された微調整入力信号を計算し、プロセッサによって、修正された微調整入力信号に基づいて、高速クロック速度を使用して、粗調整PWM出力信号に対する微調整を実行し、プロセッサによって、微調整に基づいて、分解能の増加したPWM出力信号を生成する。
【0005】
本開示のいくつかの実施形態は、パルス幅変調(PWM)信号を生成するためのシステムを提供する。このシステムは、システムメモリ素子と、直接デジタル合成(DDS)デジタルアナログ変換器(DAC)と、システムメモリ素子及びDDS DACに通信可能に結合された、少なくとも1つのプロセッサと、を含み、少なくとも1つのプロセッサは、低速クロック速度を使用して、粗調整PWM出力信号及び修正された微調整入力信号を計算し、修正された微調整入力信号に基づいて、高速クロック速度を使用して、粗調整PWM出力信号に対する微調整を実行し、微調整に基づいて、DDS DACを介して分解能の増加したPWM出力信号を生成するように構成されている。
【0006】
本開示のいくつかの実施形態は、プロセッサによって実行されると、パルス幅変調(PWM)信号を生成するための方法を実行する命令を含む、非一時的コンピュータ読み取り可能な媒体を提供する。本方法は、プロセッサによって、低速クロック速度を使用して、粗調整PWM出力信号及び修正された微調整入力信号を計算し、プロセッサによって、修正された微調整入力信号に基づいて、高速クロック速度を使用して、粗調整PWM出力信号に対する微調整を実行し、プロセッサによって、微調整に基づいて、分解能の増加したPWM出力信号を生成する。
【0007】
この概要は、以下の「発明を実施するための形態」で更に詳述される、選定された概念を単純な形態で紹介するために提供される。この概要は、特許請求される主題の主な特徴又は本質的な特徴を識別することを意図するものではない。また、特許請求される主題の範囲の決定を支援するものとして使用されることを意図するものでもない。
【図面の簡単な説明】
【0008】
本主題のより完全な理解は、以下の図と共に「発明を実施するための形態」及び「特許請求の範囲」を参照することにより誘導され得、同一の参照番号は、図面を通して類似の要素を指している。
【0009】
図1】本開示の実施形態による高分解能パルス幅変調(PWM)信号生成システムの機能ブロック図である。
図2A】従来技術のPWM発生器及び従来技術のPWM発生器によって生成される典型的な波形の図である。
図2B】従来技術のPWM発生器及び従来技術のPWM発生器によって生成される典型的な波形の図である。
図3】本開示の実施形態による高分解能PWM信号生成システムの低速態様の図である。
図4】本開示の実施形態による高分解能PWM信号生成システムの高速態様の図である。
図5】本開示の実施形態による高分解能PWM信号生成システムによって生成される典型的な波形のプロット図である。
図6】本開示の実施形態による高分解能PWM信号を生成するためのプロセスの一実施形態を示すフロー図である。
図7】本開示の実施形態による、低速クロック速度を使用して粗調整PWM出力信号及び修正された微調整入力信号を計算するためのプロセスの一実施形態を示すフロー図である。
図8】本開示の実施形態による、高速クロック速度を使用して、粗調整PWM出力信号に対する微調整を実行するためのプロセスの一実施形態を示すフロー図である。
【発明を実施するための形態】
【0010】
以下の「発明を実施するための形態」は、本質的に単なる例示であり、本主題の実施形態又はかかる実施形態の用途及び使用例を限定することを意図するものではない。本明細書で使用される場合、用語「例示的」は、「実施例、例、又は実例として機能する」ことを意味する。例示として本明細書に記載される任意の実施は、必ずしも他の実施よりも好ましい又は有利であると解釈されなくてよい。更に、前述の「技術分野」、「背景技術」、「発明の概要」、又は以下の「発明を実施するための形態」で提示される、任意の明示又は黙示の理論によって拘束されることを意図するものではない。
【0011】
本明細書に示される本主題は、高分解能パルス幅変調(PWM)信号を生成するためのシステム及び方法に関する。より具体的には、本主題は、低クロック速度を使用して必要なデータ値を事前計算し、次いで、入力データに対して「微」調整を実行し、高クロック速度を使用して高分解能PWM出力信号を生成することにより典型的なPWM発生器の能力を増加させることに関する。したがって、本システムは、低速でPWM特有の計算を行い、その結果、ビット幅及び分解能の増加した入力データ信号を処理する。本システムは、次いで、高速を使用してPWMデータを調整し、したがって、PWM出力信号の速度及び分解能を増加させる。このようにして、PWM出力信号の分解能は、PWM発生器の特定のハードウェアプラットフォーム実装の最大能力に依存しない。
【0012】
本明細書では、1段階のPWM発生器性能限界を含むシステムが企図される。性能限界は、論理の複雑性及びシステムがその論理を実行できる最大周波数に基づいている。異なる実施は、システムの技術(例えば、ホスティングハードウェア)に応じて異なる限界を有する。限界周波数は、システムが、2つの段階、つまり(1)高クロック速度段階、及び(2)低クロック速度段階を使用することにより向上させる分解能に上限を設ける。高クロック速度段階のクロックドメイン周波数は、実施ハードウェアが実行できる最高周波数の手動測定を使用して、高クロック速度段階の最高速度を識別することにより定められ、最高速度は、高クロック速度段階に使用される。低クロック速度段階のクロックドメイン周波数は、ユーザの要件又は実施デバイスの限界を満たす必要に応じて、計算比率(例えば、1:2、1:4、1:8)を使用して計算される。かかる実施により、粗調整段階がサポートできる最高PWM周波数において、最も微細なビット調整(すなわち、分解能)が可能になる。
【0013】
本開示の様々な実施形態に関しては、特定の技術が使用される。パルス幅変調(PWM)は、選択信号を使用してデバイスに供給された出力を制御可能にする(例えば、モータ出力制御)ために使用される変調技術である。高速の高分解能PWM信号発生器クロックは、低速クロック信号及び高速クロック信号を同時に使用して、低速ドメインのPWMデータセットを事前計算し、事前計算された高速ドメインのPWMデータセットに対する微調整を実行する。典型的な高速クロック信号及び低速クロック信号は、適用される実施ハードウェアに基づいて様々であり、高速クロック信号及び低速クロック信号は、適用される比率を使用して相関している。高速クロック信号対低速クロック信号の比率は、システム設計の一部であり、ユーザが選択した実施は、高クロック速度と低クロック速度との任意の2のべき乗であり得る(例えば、1:2、1:4、1:8、1:16)。
【0014】
ここで図を参照すると、図1は、本開示の実施形態による高分解能パルス幅変調(PWM)信号生成システム100の機能ブロック図である。高分解能PWM信号生成システム100は、任意の所望のプラットフォームを使用して実施されてよいが、概ねフィールドプログラマブルゲートアレイ(FPGA)又は特定用途向け集積回路(ASIC)を使用して実施されるであろう。
【0015】
高分解能PWM信号生成システム100は、少なくとも1つのプロセッサ102、システムメモリ104素子、クロック106、低速粗調整PWMモジュール108、高速微調整PWMモジュール110、及び高分解能PWM出力発生器112を含んでよいが、これらに限定されない。実際、高分解能PWM信号生成システム100の様々な実施形態は、特定の用途に望ましいように、追加の、又は別の要素及び構成要素を含んでよい。高分解能PWM信号生成システム100のこれらの要素及び特徴は、互いに動作可能に関連付けられている、互いに結合されてよい、又は別の方法で所望の機能を支援する必要に応じて互いに協働するように構成されていてよく、具体的には、本明細書に記載するように高速の高分解能PWM信号を提供する。図示しやすく、かつ明確にするために、図1では、これらの要素及び特徴に関する様々な物理的、電気的、及び論理的な結合及び相互接続は示されない。更に、当然のことながら、高分解能PWM信号生成システム100の実施形態は、所望の機能を支援するために協働する他の要素、モジュール、及び特徴を含むであろう。簡略化するために、図1は、以下で更に詳述する高速の高分解能PWM信号生成機能に関連する特定の要素のみを示す。
【0016】
少なくとも1つのプロセッサ102は、1つ以上の汎用プロセッサ、連想メモリ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、任意の好適なプログラマブル論理デバイス、ディスクリートゲート若しくはトランジスタ論理、ディスクリートハードウェア構成要素、又は本明細書に記載の機能を実行するように設計されている任意の組み合わせを使用して実施されてよい、又は実行されてよい。具体的には、少なくとも1つのプロセッサ102は、1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、又は状態マシンとして実現されてよい。更に、少なくとも1つのプロセッサ102は、コンピューティングデバイスの組み合わせ、例えば、デジタル信号プロセッサとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、デジタル信号プロセッサコアと併せた1つ以上のマイクロプロセッサ、又は任意の他のかかる構成として実施されてよい。
【0017】
少なくとも1つのプロセッサ102は、システムメモリ104に通信可能に結合されている。システムメモリ104は、パルス幅変調(PWM)と関連付けられている、任意の取得された又は生成されたデータを格納するように構成されている。システムメモリ104は、実施形態に適切であるように、任意の数の装置、構成要素、又はモジュールを使用して実現されてよい。更に、高分解能PWM信号生成システム100は、特定の実施形態に適切であるように、組み込まれているシステムメモリ104、及び/又は動作可能に結合されているシステムメモリ104を含み得る。実際、システムメモリ104は、RAMメモリ、フラッシュメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、又は当該技術分野において既知の記憶媒体の任意の他の形態として実現され得る。特定の実施形態では、システムメモリ104は、高分解能PWM信号生成システム100の機能を支援するためにも使用されてよい、ハードディスクを含む。システムメモリ104は、少なくとも1つのプロセッサ102がシステムメモリ104に対して情報を読み書きできるように、少なくとも1つのプロセッサ102に連結され得る。別の方法では、システムメモリ104は、少なくとも1つのプロセッサ102と一体であってよい。例として、少なくとも1つのプロセッサ102及びシステムメモリ104は、好適に設計された特定用途向け集積回路(ASIC)内に存在してよい。
【0018】
クロック106は、高分解能PWM信号生成システム100に低速クロック信号及び高速クロック信号の両方を提供するように構成されている。高分解能PWM信号生成システムの例示的実施形態は、単一クロックを使用して、高速クロック信号及び低速クロック信号を同期的に生成し、その結果、高速クロック信号と低速クロック信号との位相関系が固定される。しかし、当然のことながら、高分解能PWM信号生成システムの他の実施形態は、固定された位相関係を使用して高速クロック信号及び低速クロック信号を生成するように構成されている、同期化された、2クロックシステムを使用してよい。したがって、クロック106は、2つのクロックを使用して実施されてよく、2つのクロックのうちの第1のクロックは高速クロック信号を提供し、2つのクロックのうちの第2のクロックは低速クロック信号を提供する。クロック106の1つの例示的実施形態は、40MHz及び320MHzを含むクロック周波数と、10ビットの分解能と、を使用し、3つの「微細」ビット及び7つの「粗」ビットが存在する。この例では、1:8の関係が存在し、40MHzx8=320MHzである。1:8の比率は、「微細」ビットの数に対応する。つまり、2=8である。この例示的関係は、例示的10ビット入力における各「ステップ」について、結果として生じる、出力パルス幅の等しい増加又は減少が存在することを示す。換言すると、結果は、「0000000111」(10進数の7)から「0000001000」(10進数の8)への結果と同一の「0000000010」(10進数の2)から「0000000011」(10進数の3)へという段階的変化である。当然のことながら、これらの実施例の両方の差分は「1」であるが、後者は、微細から粗境界に及ぶステップである。更に、「0000000001」の値(10進数の1)は、パルス幅における有限増分を示す。「0001000011」の値10進数の67)は、67を乗じた同一の有限増分を示す。微細/粗分割に対するクロック関係は、ステップサイズ関係を維持するものである。当然のことながら、1:8比率を使用する本明細書に記載の例示的実施形態は、1つの考えられる実施に過ぎない。クロック106の他の実施形態は、特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)が16×基本クロックの速度の速度で第2クロックを実行できるときに、1:16比率(すなわち、2=16)を使用してよい。
【0019】
低速粗調整PWMモジュール108は、低クロック速度(クロック106によって提供される)において「粗」データセットを事前計算するように構成されており、粗データセットは、高速クロックドメインで使用するために事前計算されて、高分解能PWM出力信号を生成する。低速粗調整PWMモジュール108は、高分解能PWM信号生成システム100によって受信された入力ベクトルを分割するように機能する。2つの部分に分割されると、低速粗調整PWMモジュール108は、(i)入力ベクトルの第1部分(すなわち、粗調整入力信号)を使用して典型的なPWM動作を実行し、(ii)入力ベクトルの第2部分(すなわち、微調整入力信号)をサーモメータコードセットに変換することにより、入力ベクトルの第2部分を修正する。事前計算された粗データセットは、典型的なPWM動作の結果(すなわち、粗調整PWM出力信号)及びサーモメータコード(すなわち、修正された微調整入力信号)を含む。
【0020】
高速微調整PWMモジュール110は、事前計算された粗データセットを使用し、高クロック速度を使用して高分解能PWM出力信号を生成するように構成されている。高速微調整PWMモジュール110は、事前計算された粗データセットを使用して、2つの動作、すなわち、(1)入力サーモメータコードを使用したビットシフト、並びに(2)典型的なPWM動作出力(すなわち、粗調整PWM出力信号)及びビットシフトされたサーモメータコードを使用した、論理動作(例えば、論理OR、論理AND)を実行する。高クロック速度を使用して、最小化された動作セットを実行することにより、高速微調整PWMモジュール110は、高分解能の高速PWM出力信号を生成する。
【0021】
実際、低速粗調整PWMモジュール108及び/又は高速微調整PWMモジュール110は、少なくとも1つのプロセッサ102を使用して(又はこれと協働して)実施されて、本明細書でより詳細に記載する機能及び動作を実行してよい。この点に関して言えば、低速粗調整PWMモジュール108及び/又は高速微調整PWMモジュール110は、好適に書き込まれた処理論理、アプリケーションプログラムコードなどとして実現されてよい。
【0022】
高分解能PWM出力発生器112は、高速微調整PWMモジュール110から1つ以上の入力/出力(I/O)デバイス、ポート、及び/又はFPGA及び/又はASIC設計の一部として実装された他のハードウェア若しくは論理に高速の高分解能PWM出力信号を送信する、又は他の方法で提供するように構成されている。
【0023】
図2A~2Bは、従来技術のパルス幅変調(PWM)発生器200及び従来技術のPWM発生器によって生成される典型的な波形202の図である。図2Aは、典型的なPWM動作を実行する、従来技術のPWM発生器200を示す。データ入力信号204が受信され、データ入力信号204は、変動データ(Nビットデータワード(N:0)206)である。従来技術のPWM発生器200は、データワード(N:0)206を使用して典型的なPWM動作を実行し、典型的なPWM動作は、組み合わせ論理を使用して、Nビットコンパレータ動作208を実行し、増分カウンタ210を増加させることを含む。コンパレータ動作208及び増分カウンタ210動作の結果は、出力PWM信号214を生成する、フリップフロップ212によって使用される。フリップフロップ212は、ポジティブクロックエッジのみでその値を変更できるクロックドデバイスである。クロックがポジティブエッジではないとき、フリップフロップは、現在の既存の値を保持する。コンパレータ動作208は、Nビットデータワード(N:0)206をカウンタ値と比較することを含む。Nビットデータワード(N:0)206がカウンタ値と等しくなると、次いで、フリップフロップ212はクリアされる。オーバーフローが生じると、カウンタは1にセットされる。
【0024】
従来技術のPWM発生器200に含まれる組み合わせ論理は、増分カウンタ210及びフリップフロップ212に一貫したクロック速度を使用し、出力PWM信号214を生成する。Nビットデータワード(N:0)206を使用して典型的なPWM動作を実行するには、Nビットのそれぞれが単一クロックサイクル内で比較される。したがって、Nビットデータワード(N:0)206の分解能は、従来技術のPWM発生器200のハードウェア実施能によって制限される。速度の増加(例えば、クロックサイクルの高速化)は、比較論理がより小さくなる、したがって、PWM発生器200の分解能を犠牲するように、増分カウンタ210のサイズの減少を要求する。増加した分解能(例えば、Nビットデータワード(N:0)206の増加したビット幅)は、クロック周波数の減少を要求する。これは、1クロックサイクルで実行される組み合わせ論理動作の量が増加するためである。
【0025】
図2Bは、図2Aの従来技術のPWM発生器200によって生成される、典型的な波形202を示す。時間値218はx軸に沿って示され、PWMカウンタ値216はy軸に沿って示される。示されるように、典型的な波形202は、PWM発生器200の分解能に関連付けられている最大値に達するまで各クロックサイクルを増加させる増分カウンタ210によって提供される鋸歯状パターンを含む。
【0026】
図3は、本開示の実施形態による高分解能PWM信号生成システムの低速態様300の図である。低速態様300は、図1に示される低速粗調整PWMモジュール108を使用して実施され得ることに留意されたい。この点に関して言えば、低速態様300は、低速粗調整PWMモジュール108の特定の要素及び構成要素をより詳細に示す。当然のことながら、コンパレータ306、増分カウンタ308、及びサーモメータコード発生器314、及び任意の対応する論理素子は、個々に、又は組み合わせて、特許請求される機能を実行するための例示的手段である。実際、高分解能PWM信号生成システムの低速態様300の実施形態は、特定の用途について所望されるように、追加の、又は別の要素及び構成要素を含んでよい。例えば、組み合わせ論理動作を実行するための追加構成要素(例えば、ルックアップテーブル(LUT)、フリップフロップ、マルチプレクサ)は、本開示の範囲から逸脱することなく用いられてよい。
【0027】
データ入力信号302が受信され、データ入力信号302は、Nビットデータワード(N:0)である。高分解能PWM信号生成システムの低速態様300は、データ入力信号302を2つのベクトル、すなわち粗調整入力信号(N:M)及び微調整入力信号((M-1):0)に分割する(すなわち、分ける)304。粗調整入力信号(N:M)は、N対Mのビットを含み、Nは、データワード(N:0)の第1ビットであり、Mは、データワード(N:0)が分割される、任意の他のデータワードのビットである。概して、分割位置は、(図1に関して前述したように)クロックドメインの遅速比率に依存し、Mは、高速クロックドメインと遅速クロックドメインとの間での2のべき乗比率である。微調整入力信号((M-1):0)は、M-1対データワード(N:0)の終端のビットを含む。
【0028】
低速態様300は、粗調整入力信号(N:M)を使用して典型的なPWM動作を実行し、典型的なPWM動作は、組み合わせ論理を使用して、コンパレータ動作306を実行し、増分カウンタ308を増加させることを含む。典型的なPWM動作は、図2A~2Bに関して前述しており、ここでは重複して説明しない。コンパレータ306動作及び増分カウンタ308動作の結果は粗調整PWM出力312であり、これは、高速PWM論理態様によって後に使用されて、高分解能の高速PWM出力信号を生成する(図4を参照)。
【0029】
データ入力信号302(すなわち、データワード(N:0))が2つのベクトルに分割される304と、微調整入力信号((M-1):0)は、次いでサーモメータコード316に変換される314(すなわち、修正される)。サーモメータコード316は、2進数の1の増加する連続表現である。変換されると、サーモメータコード316は、高速PWM論理態様によって後に使用されて、高分解能の高速PWM出力信号を生成する(図4を参照)。サーモメータコード316は、高速クロックドメインシフトレジスタにロードされる事前計算された値であり、サーモメータコード316のビット幅は、高速クロックドメインから得られる、更なる分解能を示す。例えば、2のM乗(すなわち、2)の幅の立ち下がりエッジサーモメータコードを使用すると、((M-1):0)の2進値は、出力サーモメータコードワードで定められた数の1(例えば、2の1)によって左寄せされる。これは、単純なルックアップテーブル又はデコードブロックである。立ち上がりエッジサーモメータコードを使用する例では、1の数は、代わりに右寄せされる。当然のことながら、適用される実施形態に基づいて、調整は立ち下がりエッジ信号、立ち上がりエッジ信号、又は両エッジに対して行われてよい。
【0030】
したがって、粗調整PWM出力312及びサーモメータコード316は、後に使用するために事前計算された粗データセットを構成する。低速態様300は、実施ハードウェアが使用可能なビット幅よりも大きいビット幅を含むデータ入力信号302を使用して計算を実行して、PWM出力信号を生成する。低速態様300は、より高い分解能のデータ入力信号302に必要な計算を実行し、その結果、高速態様(図4に示される)は、高クロック速度で最小動作を実行でき、したがって、高分解能かつ高速のPWM出力信号を生成する。
【0031】
図4は、本開示の実施形態による高分解能PWM信号生成システムの高速態様400の図である。高速態様400は、図1に示される高速微調整PWMモジュール110を使用して実施され得ることに留意されたい。この点に関して言えば、高速態様400は、高速微調整PWMモジュール110の特定の要素及び構成要素をより詳細に示す。当然のことながら、シフトレジスタ402、論理ORゲート406、及び任意の対応する論理素子は、個々に、又は組み合わせて、特許請求される機能を実行するための例示的手段である。実際、高分解能PWM信号生成システムの高速態様400の実施形態は、特定の用途について所望されるように、追加の、又は別の要素及び構成要素を含んでよい。例えば、組み合わせ論理動作を実行するための追加構成要素(例えば、ルックアップテーブル(LUT)、フリップフロップ、マルチプレクサ)は、本開示の範囲から逸脱することなく用いられてよい。
【0032】
高速態様400は、粗調整PWM出力312及び修正された微調整入力信号316をデータ入力として受信する。高速態様400は、粗調整PWM出力312を使用して、立ち下がりエッジ検出404を行う。立ち下がりエッジPWMの場合、立ち下がりエッジ検出404の出力が使用される。立ち下がりエッジ検出404の出力は、事前計算された立ち下がりエッジサーモメータコード値と共にシフトレジスタをロードするために使用される単一のクロックパルス信号である。立ち上がりエッジPWMの場合、粗調整PWM信号で立ち上がりエッジパルスを生成する立ち上がりエッジ検出ブロック(図示せず)が存在するであろう。立ち上がり/立ち下がりエッジ検出器は、単一のシングルフリップフロップ及び1つの2入力組み合わせゲートからなり、高速クロックドメインで使用するための高速をもたらす。高速態様400は、修正された微調整入力信号316及び立ち下がりエッジの検出404の出力をシフトレジスタ402に対する入力として使用する。ここで、高速態様400は、修正された微調整入力信号316のビットシフトを実行する。シフトレジスタの出力402は、ビットシフトされた微調整信号である。次いで、高速態様400は、粗調整PWM出力312及びビットシフトされた微調整信号を使用して論理動作(例えば、論理OR406)を実行し、高速の高分解能PWM出力信号408を生成する。
【0033】
高速クロック速度で動作するために、高速態様400は、最小組み合わせ論理を使用する必要がある。示されるように、高分解能PWM信号生成システムの高速態様400は、低速態様から2つの事前計算された入力信号を受信し(図3を参照)、その結果、高速態様400は、高クロック速度で最小動作を実行して、高速の高分解能PWM出力信号を生成することができる。
【0034】
図5は、本開示の実施形態による高分解能PWM信号生成システムによって生成される典型的な波形のプロット500の図である。高速クロック信号506は、実施ハードウェアが実行できる最高周波数の手動測定を使用して、高クロック速度段階の最高速度を識別することにより定められる信号を生成する任意のクロックを使用して実施されてよく、最高速度は、高クロック速度段階に使用される。低速クロック信号502は、ユーザの要件又は実施デバイスの制限を満たす必要に応じて、低クロック速度対高クロック速度の計算比率(例えば、1:2、1:4、1:8、1:16)を使用して計算される信号を生成する任意のクロックを使用して実施されてよい。したがって、低速クロック信号502は、高速クロック信号506の「2のべき乗」の倍数に基づいている。粗調整パルス幅変調(PWM)信号504は、図2A~2Bに関して記載したように、典型的なPWM動作(例えば、コンパレータ動作、増分カウンタ動作)を実行する典型的なPWM発生器によって生成される。
【0035】
高速の高分解能PWM出力信号508は、拡張された立ち下がりエッジの形態で増加した分解能510を含む。このようにして、粗調整PWM信号504は拡張されて、分解能を増加する。高分解能PWM信号生成システムは、高速の高分解能PWM出力信号を生成するために、低速クロックドメインで実行される高分解能動作の使用と、高速クロックドメインで実行される高速動作の使用と、を組み合わせる。高分解能PWM信号生成システムは、出力パルスの立ち下がりエッジを拡張する(例えば、増加した分解能510)ことにより、又は出力パルスの立ち上がりエッジを拡張することにより、典型的なPWM出力信号(例えば、図2A~2Bに関して記載したように、典型的なPWM動作によって生成されるPWM出力信号)の分解能を増加させる。
【0036】
図1に関して前述したように、高分解能PWM信号生成システムの例示的実施形態は、単一クロックを使用して、高速クロック信号及び低速クロック信号を同期的に生成し、その結果、高速クロック信号506と低速クロック信号502との位相関系が固定される。しかし、当然のことながら、高分解能PWM信号生成システムの他の実施形態は、固定された位相関係を使用して高速クロック信号506及び低速クロック信号502を生成するように構成されている、同期化された、2クロックシステムを使用してよい。
【0037】
図6は、本開示の実施形態による高分解能PWM信号を生成するためのプロセス600の一実施形態を示すフロー図である。最初に、プロセス600は、システムメモリ素子に通信可能に結合されたプロセッサによって、低速クロック速度を使用して、粗調整PWM出力信号及び修正された微調整入力信号を計算する(工程602)。低速クロック速度を使用して、粗調整PWM出力信号及び修正された微調整入力信号を計算するための1つの好適な方法は、図7を参照して以下に記載する。ここでは、プロセス600は、後に使用するために、データセット(例えば、粗調整PWM出力信号、修正された微調整入力信号)を事前計算する。プロセス600は低速クロック信号を使用して、実施ハードウェア(例えば、FPGA、ASICなど)が、より高い分解能のPWM出力信号の生成をもたらす、より高いビット幅を含むデータ値を使用した計算を実行できるようにする。その後の使用中、及び高速クロック信号の使用中、事前計算されたデータセットは、高速の高分解能PWM出力信号の生成に使用される。
【0038】
次に、プロセス600は、プロセッサによって、修正された微調整入力信号に基づいて高速クロック速度を使用して、粗調整PWM出力信号に対する微調整を実行する(工程604)。高速クロック速度を使用して、粗調整PWM出力信号に対する微調整を実行するための1つの好適な方法は、図8を参照して以下に記載する。高クロック速度を使用して動作するために、プロセス600は最小組み合わせ論理動作を実行する。最小組み合わせ論理動作は、(図3に関して前述した)クロック比率Mによって決定される。クロック比率Mが高いほど、プロセス600で許可される組み合わせ論理は少ない。プロセス600の例示的実施形態は、高速クロックドメインで2入力組み合わせ論理ゲートを使用する。より高いクロック比率Mは、高速ドメインにおける、より高速のクロック速度を示す。周波数が増加するにつれて、タイミングの閉鎖は困難になる。したがって、タイミングを閉鎖するために、より少ない論理が許可される。
【0039】
次いで、プロセス600は、プロセッサによって、微調整に基づいて、分解能の増加したPWM出力信号を生成する(工程606)。いくつかの実施形態では、プロセス600は、粗調整PWM出力信号、修正された微調整入力信号、及び微調整を使用して元のPWM出力信号のパルスの立ち下がりエッジを調整し、調整された立ち下がりエッジを生成し、分解能の増加したPWM出力信号は、調整された立ち下がりエッジを含む。いくつかの実施形態では、プロセス600は、粗調整PWM出力信号、修正された微調整入力信号、及び微調整を使用して元のPWM出力信号のパルスの立ち上がりエッジを調整し、調整された立ち上がりエッジを生成し、解能の増加したPWM出力信号は、調整された立ち上がりエッジを含む。
【0040】
プロセス600は、高速の高分解能PWM出力信号を生成するために、低速クロックドメインで実行される高分解能動作の使用と、高速クロックドメインで実行される高速動作の使用と、を組み合わせる。プロセス600は、出力パルスの立ち下がりエッジを拡張することにより、又は出力パルスの立ち上がりエッジを拡張することにより、典型的なPWM出力信号(例えば、図2A~2Bに関して記載したように、典型的なPWM動作によって生成されるPWM出力信号)の分解能を増加させる。
【0041】
図7は、本開示の実施形態による、低速クロック速度して粗調整PWM出力信号及び修正された微調整入力信号を計算するためのプロセス700の一実施形態を示すフロー図である。当然のことながら、図7に記載されるプロセス700は、図6の説明で上述した工程602の一実施形態を示し、更なる詳細を含む。最初に、プロセス700は、プロセッサによってデータ入力ベクトルを受信する(工程702)。データ入力ベクトルは、PWM発生器に対する典型的な入力信号であり、低クロック速度に適したビット幅を含むNビットデータワード(N:0)を含む。データ入力ベクトルが受信され、データ入力ベクトルは、図3に関して前述したように、Nビットデータワード(N:0)である。
【0042】
次に、プロセス700は、データ入力ベクトルを粗調整入力信号及び微調整入力信号に分割する(工程704)。ここでは、プロセスは、Nビットデータワード(N:0)を2つのベクトル、すなわち、粗調整入力信号(N:M)及び微調整入力信号((M-1):0)に分割する。粗調整入力信号(N:M)は、N対Mのビットを含み、Nは、データワード(N:0)の第1ビットであり、Mは、データワード(N:0)が分割される、任意の他のデータワードのビットである。微調整入力信号((M-1):0)は、M-1対データワード(N:0)の終端のビットを含む。プロセス700は、高分解能PWM信号生成システムの低速態様の一環として、データ入力信号(すなわち、データ入力ベクトル)を2つのベクトル、すなわち粗調整入力信号(N:M)及び微調整入力信号((M-1):0)に分割する(すなわち、分ける)。粗調整入力信号(N:M)は、N対Mのビットを含み、Nは、データワード(N:0)の第1ビットであり、Mは、データワード(N:0)が分割される、任意の他のデータワードのビットである。概して、分割位置は、(図1に関して前述したように)クロックドメインの遅速比率に依存し、Mは、高速クロックドメインと遅速クロックドメインとの間での2のべき乗比率である。微調整入力信号((M-1):0)は、M-1対データワード(N:0)の終端のビットを含む。
【0043】
プロセス700は、次いで、粗調整入力信号を使用して典型的なPWM動作を実行し、粗調整PWM出力信号を生成する(工程706)。典型的なPWM動作には、粗調整入力信号を使用して、(図2A~2Bに関して前述したように)コンパレータ動作及び増分カウンタ動作を実行することが挙げられる。典型的なPWM動作の結果は、粗調整PWM出力信号である。低速態様は、粗調整入力信号(N:M)を使用して典型的なPWM動作を実行し、典型的なPWM動作は、組み合わせ論理を使用して、コンパレータ動作を実行し、増分カウンタを増加させることを含む。コンパレータ動作及び増分カウンタ動作の結果は粗調整PWM出力であり、これは、高速PWM論理態様によって後に使用されて高分解能の高速PWM出力信号を生成する。
【0044】
プロセス700はまた、微調整入力信号をサーモメータコードセットに変換することにより微調整入力信号を修正して、修正された微調整入力信号を生成し、修正された微調整入力信号は、サーモメータコードセットを含む(工程708)。データ入力信号(すなわち、Nビットデータワード(N:0))が2つのベクトルに分割されると、微調整入力信号((M-1):0)は、次いでサーモメータコードに変換される又は修正される。サーモメータコードは、2進数の1の増加する連続表現であり、立ち下がりエッジサーモメータコードは、左寄せされた、2進数の1の増加する連続表現であり、立ち上がりエッジサーモメータコードは、右寄せされた、2進数の1の増加する連続表現である。
【0045】
プロセス700のいくつかの実施形態では、サーモメータコードセットは、PWM出力信号の立ち下がりエッジを修正して、PWM出力信号の分解能を増加させるために使用される、立ち下がりエッジサーモメータコードセットを含んでよい。プロセス700のいくつかの実施形態では、サーモメータコードセットは、PWM出力信号の立ち上がりエッジを修正して、PWM出力信号の分解能を増加させるために使用される、立ち上がりエッジサーモメータコードセットを含んでよい。変換されると、サーモメータコードは、高速PWM論理態様によって後に使用されて、高分解能の高速PWM出力信号を生成する。
【0046】
プロセス700は低速クロック信号を使用して、後に使用するために粗データセットを事前計算し、事前計算された粗データセットは、粗調整PWM出力及びサーモメータコードを含む。低速クロック信号は、実施ハードウェアハードウェアの制限によって示される高速クロック信号に基づいて、低クロック速度対高クロック速度の計算比率(例えば、1:2、1:4、1:8、1:16)を使用して計算される。ここで、高速クロック信号は、実施ハードウェアが実行できる最高周波数の手動測定を使用して、高クロック速度段階の最高速度を識別することにより定められ、最高速度は、高クロック速度段階に使用される。
【0047】
サーモメータコードは、2進数の1の増加する連続表現である。サーモメータコードは、高速クロックドメインシフトレジスタにロードされる事前計算された値であり、サーモメータコードのビット幅は、高速クロックドメインから得られる、更なる分解能を示す。例えば、2のM乗(すなわち、2)の幅の立ち下がりエッジサーモメータコードを使用すると、((M-1):0)の2進値は、出力サーモメータコードワードで定められた数の1(例えば、2の1)によって左寄せされる。これは、単純なルックアップテーブル又はデコードブロックである。立ち上がりエッジサーモメータコードを使用する例では、1の数は、代わりに右寄せされる。当然のことながら、適用される実施形態に基づいて、調整は立ち下がりエッジ信号、立ち上がりエッジ信号、又は両エッジに対して行われてよい。
【0048】
プロセス700は、実施ハードウェアが使用可能なビット幅よりも大きいビット幅を含むデータ入力信号を使用して計算を実行して、PWM出力信号を生成する。プロセス700は、より高い分解能のデータ入力信号(すなわち、Nビットデータワード(N:0))に必要な計算を実行し、その結果、高速態様は、高クロック速度で最小動作を実行でき、したがって、高分解能かつ高速のPWM出力信号を生成する。
【0049】
図8は、本開示の実施形態による、高速クロック速度を使用して、粗調整PWM出力信号に対する微調整を実行するためのプロセス800の一実施形態を示すフロー図である。当然のことながら、図8に記載されるプロセス800は、図6の説明で上述した工程604の一実施形態を示し、更なる詳細を含む。
【0050】
最初に、プロセス800は粗調整PWM出力信号及び修正された微調整入力信号を受信し、粗調整PWM出力信号及び修正された微調整入力信号は、低速クロック速度を使用して事前計算された(工程802)。ここで、プロセス800は、(1)粗調整PWM出力、及び(2)修正された微調整入力信号をデータ入力として受信する。プロセス800は、粗調整PWM出力を使用して、立ち下がりエッジ検出を実行する。プロセス800は、システムの高速態様の一環として、粗調整PWM出力及び修正された微調整入力信号をデータ入力として受信する。高速態様は、粗調整PWM出力を使用して、立ち下がりエッジ検出を実行する。立ち下がりエッジPWMの場合、立ち下がりエッジ検出の出力が使用される。立ち下がりエッジ検出の出力は、事前計算された立ち下がりエッジサーモメータコード値と共にシフトレジスタをロードするために使用される単一のクロックパルス信号である。立ち上がりエッジPWMの場合、粗調整PWM信号で立ち上がりエッジパルスを生成する立ち上がりエッジ検出ブロック(図示せず)が存在するであろう。立ち上がり/立ち下がりエッジ検出器は、単一のシングルフリップフロップ及び1つの2入力組み合わせゲートからなり、高速クロックドメインで使用する高速をもたらす。
【0051】
プロセス800は、サーモメータコードセットを使用してビットシフトを実行し、ビットシフトされた微調整信号を生成する(工程804)。いくつかの実施形態では、ビットシフトは左シフトであり、いくつかの実施形態では、ビットシフトは右シフトである。プロセス800は、概して、シフトレジスタを使用してビットシフトを実行する。プロセス800は、修正された微調整入力信号及び立ち下がりエッジ検出の出力をシフトレジスタに対する入力として使用する。ここで、プロセス800は、修正された微調整入力信号(すなわち、サーモメータコード)のビットシフトを実行する。
【0052】
次に、プロセス800は、粗調整PWM出力信号及びビットシフトされた微調整信号を使用して論理動作を実行し、分解能が増加したPWM出力信号を生成する(工程806)。いくつかの実施形態では、論理動作は論理OR動作である。他の実施形態では、プロセス800は論理AND動作を使用する。シフトレジスタの出力は、ビットシフトされた微調整信号である。プロセス800は、次いで、粗調整PWM出力及びビットシフトされた微調整信号を使用して論理動作(例えば、論理OR、論理AND)を実行し、高速の高分解能PWM出力信号を生成する。高速クロック速度で動作するために、プロセス800は、最小組み合わせ論理を使用する必要がある。高速クロック信号は、実施ハードウェアが実行できる最高周波数の手動測定を使用する、高クロック速度段階の最高速度であり、最高速度は、高クロック速度段階に使用される。プロセス800は、低速態様から2つの事前計算された入力信号を受信し、その結果、プロセス800は、高クロック速度で最小動作を実行して、高速の高分解能PWM出力信号を生成できる。
【0053】
プロセス600~800に関連して実行される様々なタスクは、ソフトウェア、ハードウェア、ファームウェア、又はこれらの任意の組み合わせによって実行されてよい。例示を目的として、プロセス600~800の前述の説明は、図1~5に関連して前述した要素を参照してよい。実際、プロセス600~800の一部は、前述のシステムの異なる要素によって実行されてよい。当然のことながら、プロセス600~800は、任意の数の追加タスク又は代替タスクを含んでよく、図6~8に示されるタスクは、図示された順序で実行される必要はなく、プロセス600~800は、本明細書に詳述されていない追加機能を有する、より包括的な手順又はプロセスに組み込まれてよい。更に、図6~8に示されるタスクのうちの1つ以上は、意図される機能全体がそのまま維持される限り、プロセス600~800の実施形態から省かれてよい。
【0054】
技法及び技術は、本明細書において、様々な計算構成要素又はデバイスによって実行され得る動作、処理タスク、及び機能の象徴的表現を参照して、機能及び/又は論理ブロック構成要素の観点から説明されてよい。かかる動作、タスク、及び機能は、コンピュータで実行される、カスタマイズされる、ソフトウェアで実施される、又はコンピュータで実施されると称されることがある。実際、1つ以上のプロセッサデバイスは、システムメモリ内のメモリ位置にあるデータビットを示す電気信号の操作、並びに他の信号の処理によって、前述の動作、タスク、及び機能を実行できる。データビットが維持されるメモリ位置は、データビットに対応する特定の電気特性、磁気特性、光学特性、又は有機特性を有する物理位置である。当然のことながら、図に示される様々なブロック構成要素は、指定された機能を実行するように構成されている、任意の数のハードウェア、ソフトウェア、及び/又はファームウェア構成要素によって実現されてよい。例えば、あるシステム又は構成要素の実施形態は、1つ以上のマイクロプロセッサ又は他の制御デバイスの制御下で様々な機能を実行し得る、様々な集積回路構成要素、例えば、メモリ素子、デジタル信号処理素子、論理素子、ルックアップテーブルなどを用いてよい。
【0055】
ソフトウェア又はファームウェアに実装されるとき、本明細書に記載のシステムの様々な要素は、本質的に、様々なタスクを実行するコードセグメント又は命令である。プログラム又はコードセグメントは、プロセッサ読み取り可能な媒体に格納され得る、又は伝送媒体又は通信路を介してキャリアウエーブ内で具現化されるコンピュータデータ信号によって伝送され得る。「コンピュータ読み取り可能な媒体」、「プロセッサ読み取り可能な媒体」、又は「マシン読み取り可能な媒体」は、情報を格納できる、又は転送できる任意の媒体を含んでよい。プロセッサ読み取り可能な媒体の例としては、電子回路、半導体メモリデバイス、ROM、フラッシュメモリ、消去可能なROM(EROM)、フロッピーディスク、CD-ROM、光ディスク、ハードディスク、光ファイバー媒体、高周波数(RF)リンクなどが挙げられる。コンピュータデータ信号には、電子ネットワークチャネル、光ファイバー、空気、電磁路、又はRFリンクなど伝送媒体を介して伝搬し得る任意の信号が挙げられてよい。コードセグメントは、インターネット、イントラネット、LANなどコンピュータネットワークを介してダウンロードされてよい。
【0056】
前述の説明は、要素又はノード又は特徴を共に「接続される」又は「結合される」と称している。本明細書で使用される場合、特に明記しない限り、「結合される」は、ある要素/ノード/又は特徴が、直接的に、又は間接的に別の要素/ノード/又は特徴に接合される(又は直接的に、若しくは間接的に通信する)ことを意味し、それは必ずしも機械的に行われない。同様に、特に明記しない限り、「接続される」は、ある要素/ノード/又は特徴が、直接的に別の要素/ノード/又は特徴に接合される(又は直接的に通信する)ことを意味し、それは必ずしも機械的に行われない。したがって、図1に示される概略図は、要素の1つの例示的構成を示すが、追加の介在要素、特徴、又は構成要素が、示されている主題の実施形態に存在してよい。
【0057】
簡潔にするために、信号処理、データ伝送、ネットワーク制御、及びシステムの他の機能面(及びシステムの単独動作構成要素)に関連する従来技術は、本明細書において詳述されないことがある。更に、本明細書に含まれる様々な図面に示される接続線は、様々な要素間の例示的機能関係及び/又は物理的結合を示すことが意図される。本主題の実施形態には、多数の別の、又は追加の機能関係又は物理的接続が存在し得ることに留意されたい。
【0058】
本明細書に記載の機能ユニットのいくつかは、その実施独立性を特に強調するために、「モジュール」と称されている。例えば、本明細書においてモジュールと称される機能は、全体的に、又は部分的に、カスタムVLSI回路又はゲートアレイ、論理チップ、トランジスタ、又は他のディスクリート構成要素など市販の半導体を含むハードウェア回路として実施されてよい。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイ論理、プログラマブル論理デバイスなどプログラマブルハードウェアデバイスで実施されてよい。モジュールはまた、様々な種類のプロセッサで実行するためのソフトウェアで実施されてよい。例えば、実行可能コードの識別されたモジュールは、例えば、オブジェクト、プロシージャ、又は関数として組織化され得るコンピュータ命令の1つ以上の物理又は論理モジュールを含んでよい。しかしながら、識別されるモジュールの実行可能なものは、物理的に同位置に配置される必要はないものの、論理的に結合されるとモジュールを構成し、モジュールに定められた目的を達成する、異なる位置に格納されている、異種の命令を含んでよい。実際、実行可能コードのモジュールは、単一の命令又は多数の命令であってよく、更には、いくつかの異なるコードセグメント、異なるプログラム、及びいくつかのメモリデバイスに分散していてもよい。同様に、動作データは、任意の好適な形態で具体化され、任意の好適な種類のデータ構造で組織化されてよい。動作データは、単一データセットとして収集されてよい、又は異なる記憶装置など異なる位置に分散されてよく、システム又はネットワーク上に、少なくとも部分的に、単に電気信号として存在してよい。
【0059】
前述の「発明を実施するための形態」で、少なくとも1つの例示の実施形態が提示されてきたが、膨大な数の変更例が存在することを理解されたい。本明細書に記載の例示的実施形態は、いかなるようにも特許請求される主題の範囲、適用性、又は構成を制限することを意図しないことをまた理解されたい。むしろ、前述の「発明を実施するための形態」は、当業者らに記載の実施形態を実施するのに簡便なロードマップを提供するであろう。要素の機能及び構成において、本特許出願が出願された時点における周知の等価物及び予測可能な等価物を含む請求項によって定義される範囲から逸脱することなく、多様な変更がなされ得ることを理解されたい。
図1
図2A
図2B
図3
図4
図5
図6
図7
図8