(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-22
(45)【発行日】2024-05-01
(54)【発明の名称】超低電力適応型再構成可能システム
(51)【国際特許分類】
H03K 19/173 20060101AFI20240423BHJP
【FI】
H03K19/173 130
(21)【出願番号】P 2021512623
(86)(22)【出願日】2019-08-21
(86)【国際出願番号】 US2019047526
(87)【国際公開番号】W WO2020050981
(87)【国際公開日】2020-03-12
【審査請求日】2022-08-19
(32)【優先日】2018-09-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-11-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-03-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507364997
【氏名又は名称】サイプレス セミコンダクター コーポレーション
【氏名又は名称原語表記】Cypress Semiconductor Corporation
【住所又は居所原語表記】198 Champion Court, San Jose, CA 95134, United States of America
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】イーシュウァール チャガラジャン
(72)【発明者】
【氏名】アンドリュー ペイジ
(72)【発明者】
【氏名】ハロルド カッツ
(72)【発明者】
【氏名】ケンダル ケスター―ペリー
(72)【発明者】
【氏名】ラジヴ シン
(72)【発明者】
【氏名】エルハン ハンジュオール
(72)【発明者】
【氏名】バート スーラム
【審査官】工藤 一光
(56)【参考文献】
【文献】米国特許出願公開第2016/0329900(US,A1)
【文献】米国特許出願公開第2002/0108006(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H03K19/173-19/17796
G06F12/02
(57)【特許請求の範囲】
【請求項1】
装置であって、前記装置は、
第1の入力信号を受信するための入/出力(IO)デバイスと、
前記IOデバイスに結合されたプログラマブルアナログサブシステム(PASS)と、を含み、
前記PASSは、
連続時間領域で信号処理を実行するための連続時間ブロック(CTB)を含む複数の再構成可能なアナログ回路と、
論理回路と、
データを中央処理ユニット(CPU)と通信するためのインタフェースと、
を含み、
前記PASSは、第1のPASS構成
において、
前記CPUがスリープモードにある状態で、前記第1の入力信号を、前記第1の入力信号に基づいて第1の出力値を生成するために前記複数の再構成可能なアナログ回路によって処理するように構成され、前記複数の再構成可能なアナログ回路は、前記第1のPASS構成では第1の構成設定を有し、
前記PASSは、
前記論理回路が前記第1の出力値
を処理することに応じて、
前記CTBの1つまたは複数の設定を変更し、前記
PASSを、第2の構成設定を有する第2のPASS構成に再構成するように構成され、前記第2の構成設定は、前記第1の構成設定とは異なる、
装置。
【請求項2】
前記複数の再構成可能なアナログ回路は、前記第2のPASS構成において前記第1のPASS構成よりも高い動作電力を有している、
請求項1記載の装置。
【請求項3】
前記PASSは、前記第2のPASS構成では、第2の入力信号を、第2の出力値を生成するために前記複数の再構成可能なアナログ回路によって処理するようにさらに構成され、前記複数の再構成可能なアナログ回路は、前記第2のPASS構成では前記第2の構成設定を有し、
前記PASSは、前記第2の出力値に応じて、前記インタフェースによってウェイクアップ信号を前記CPUに出力するようにさらに構成されている、
請求項1記載の装置。
【請求項4】
前記PASSは、前記CPUへの前記ウェイクアップ信号の出力に応じて、前記CPUから、第3の構成設定を含む構成データを受信するようにさらに構成され、前記第3の構成設定は、前記第2の構成設定とは異なり、
前記PASSは、前記複数の再構成可能なアナログ回路を、前記第3の構成設定を有する第3のPASS構成に再構成するようにさらに構成されている、
請求項3記載の装置。
【請求項5】
前記PASSは、前記第2のPASS構成では、第2の入力信号を、第2の出力値を生成するために前記複数の再構成可能なアナログ回路によって処理するようにさらに構成され、前記複数の再構成可能なアナログ回路は、前記第2のPASS構成では前記第2の構成設定を有し、
前記PASSは、前記第2の出力値に応じて、前記インタフェースによってモード選択信号を前記CPUに出力するようにさらに構成されている、
請求項1記載の装置。
【請求項6】
前記PASSは、前記第1の構成設定を格納するための第1のレジスタセットと、前記第2の構成設定を格納するための第2のレジスタセットと、を含む、
請求項1記載の装置。
【請求項7】
前記PASSは、前記第1の構成設定を格納するためのレジスタセットを含み、
前記複数の再構成可能なアナログ回路を前記第2の構成設定に再構成することは、
前記第2の構成設定を格納するために前記レジスタセットの内容を変更し、
前記レジスタセットの変更された内容に従って、前記再構成可能なアナログ回路の少なくとも1つを再構成することである、
請求項1記載の装置。
【請求項8】
前記再構成可能なアナログ回路は
、
前記CTBの出力を処理するためのアナログ-デジタル変換器(ADC)回路と、
前記IOデバイスの複数のピンを、前記CTBまたは前記ADC回路の少なくとも1つの複数の入力側に選択的に接続するための1つまたは複数のマルチプレクサと、
前記PASSを、前記ADC回路の出力に従って前記第1のPASS構成から前記第2のPASS構成に再構成するためのPASS論理回路と、
のうちの少なくとも
1つを含む、
請求項1記載の装置。
【請求項9】
前記再構成可能なアナログ回路は、
電圧基準、電流基準またはクロック信号のうちの少なくとも1つを提供するためのアナログ基準ブロックと、
前記PASS論理回路の出力に従って選択可能な複数の状態を有する有限状態機械と、
のうちの少なくとも1つをさらに含む、
請求項8記載の装置。
【請求項10】
システムであって、前記システムは、
信号源から第1の入力信号を受信するための入/出力(IO)デバイスと、
メモリならびに前記メモリに結合された中央処理ユニット(CPU)を含むデジタルサブシステムと、
前記IOデバイスならびに前記デジタルサブシステムに結合されたプログラマブルアナログサブシステム(PASS)と、
を含み、
前記PASSは、
連続時間領域で信号処理を実行するための連続時間ブロック(CTB)を含む複数の再構成可能なアナログ回路と、
論理回路と、
データを前記CPUと通信するためのインタフェースと、
を含み、
前記PASSは、第1のPASS構成において
、前記デジタルサブシステム
がスリープモードにある状態で、前記第1の入力信号を、前記第1の入力信号に基づいて第1の出力値を生成するために前記複数の再構成可能なアナログ回路によって処理するように構成され、前記複数の再構成可能なアナログ回路は、前記第1のPASS構成では第1の構成設定を有し、
前記PASSは、
前記論理回路が前記第1の出力値
を処理することに応じて、
前記CTBの1つまたは複数の設定を変更し、前記
PASSを、CPUの介入なしで第2の構成設定を有する第2のPASS構成に再構成するように構成され、前記第2の構成設定は、前記第1の構成設定とは異なる、
システム。
【請求項11】
前記複数の再構成可能なアナログ回路は、前記第2のPASS構成において前記第1のPASS構成よりも高い動作電力を有している、
請求項10記載のシステム。
【請求項12】
前記PASSは、前記第2のPASS構成では、第2の入力信号を、第2の出力値を生成するために前記複数の再構成可能なアナログ回路によって処理するようにさらに構成され、前記複数の再構成可能なアナログ回路は、前記第2のPASS構成では前記第2の構成設定を有し、
前記PASSは、前記第2の出力値に応じて、前記インタフェースによってモード選択信号を前記デジタルサブシステムに出力するようにさらに構成されている、
請求項10記載のシステム。
【請求項13】
前記PASSは、前記デジタルサブシステムへの前記モード選択信号の出力に応じて、前記デジタルサブシステムから、第3の構成設定を含む構成データを受信するようにさらに構成され、前記第3の構成設定は、前記第2の構成設定とは異なり、
前記PASSは、前記複数の再構成可能なアナログ回路を、前記第3の構成設定を有する第3のPASS構成に再構成するようにさらに構成されている、
請求項12記載のシステム。
【請求項14】
前記PASSは、前記第1の構成設定を格納するための第1のレジスタセットと、前記第2の構成設定を格納するための第2のレジスタセットと、を含む、
請求項10記載のシステム。
【請求項15】
前記PASSは、前記第1の構成設定を格納するためのレジスタセットを含み、
前記複数の再構成可能なアナログ回路を前記第2の構成設定に再構成することは、
前記第2の構成設定を格納するために前記レジスタセットの内容を変更し、
前記レジスタセットの変更された内容に従って、前記再構成可能なアナログ回路の少なくとも1つを再構成することである、
請求項10記載のシステム。
【請求項16】
入/出力(IO)デバイスに結合されたプログラマブルアナログサブシステム(PASS)によって
前記IOデバイスから第1の入力信号を受信するステップであって、前記PASSは、
連続時間領域で信号処理を実行するための連続時間ブロック(CTB)を含む複数の再構成可能なアナログ回路と、
論理回路と、データを中央処理ユニット(CPU)と通信するためのインタフェースと
、を含むステップと、
第1のPASS構成の前記PASSを用いて、前記第1の入力信号を、前記複数の再構成可能なアナログ回路によって処理するステップであって、前記複数の再構成可能なアナログ回路は、前記第1のPASS構成では第1の構成設定を有
し、前記CPUは、スリープモードにあるステップと、
前記第1の入力信号に基づいて第1の出力値を生成するステップと、
前記論理回路が前記第1の出力値
を処理することに応じて、
前記CTBの1つまたは複数の設定を変更し、前記
PASSを、第2の構成設定を有する第2のPASS構成に再構成するステップであって、前記第2の構成設定は、前記第1の構成設定とは異なるステップと、
を含む方法。
【請求項17】
前記複数の再構成可能なアナログ回路は、前記第2のPASS構成において前記第1のPASS構成よりも高い動作電力を有している、
請求項16記載の方法。
【請求項18】
前記複数の再構成可能なアナログ回路を、前記第2のPASS構成に再構成するステップは、前記第1の出力値が第1の閾値基準を満たしていることを決定するステップに応じている、
請求項16記載の方法。
【請求項19】
前記方法は、
前記第2のPASS構成の前記PASSを用いて、第2の入力信号を、前記複数の再構成可能なアナログ回路によって処理するステップであって、前記複数の再構成可能なアナログ回路は、前記第2のPASS構成では第2の構成設定を有するステップと、
第2の出力値を生成するステップと、
前記第2の出力値に応じて、前記インタフェースによって信号を前記CPUに出力するステップと、
をさらに含む、
請求項16記載の方法。
【請求項20】
前記CPUに前記信号を出力するステップは、前記第2の出力値が第2の閾値基準を満たしていることを決定するステップに応じている、
請求項19記載の方法。
【請求項21】
前記方法は、
前記CPUへの前記信号の出力に応じて、前記CPUから、第3の構成設定を含む構成データを受信するステップであって、前記第3の構成設定は、前記第2の構成設定とは異なるステップと、
前記複数の再構成可能なアナログ回路を、前記第3の構成設定を有す
る第3のPASS構成に再構成するステップと、
をさらに含む、
請求項19記載の方法。
【請求項22】
前記PASSは、前記第1の構成設定を格納するための第1のレジスタセットと、前記第2の構成設定を格納するための第2のレジスタセットと、を含む、
請求項19記載の方法。
【請求項23】
前記PASSは、前記第1の構成設定を格納するためのレジスタセットを含み、
前記複数の再構成可能なアナログ回路を前記第2の構成設定に再構成するステップは、
前記第2の構成設定を格納するために前記レジスタセットの内容を変更するステップと、
前記レジスタセットの変更された内容に従って、前記再構成可能なアナログ回路の少なくとも1つを再構成するステップと、
を含む、
請求項19記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2018年9月7日に出願された米国特許仮出願第62/728,290号および2018年11月21日に出願された米国特許仮出願第62/770,382号の優先権を主張する2019年3月29日に出願された米国特許非仮出願第16/369,723号の国際出願であって、これによってこれらの出願のすべては参照によりその全体が本明細書に組み込まれる。
【0002】
技術分野
本開示は、プログラム可能なアナログブロックを有する集積回路(IC)デバイスに関し、より具体的には、プログラム可能なアナログブロックを、条件の変化に応じて再構成することにより、ICデバイスの性能および電力管理を最適化することに関する。
【背景技術】
【0003】
集積回路デバイスは、アナログブロックとデジタルブロックの両方を含むことができる。アナログブロックは、マルチタスク処理の要求を満たし、最適な電力管理を容易にするために、再構成可能にされることがよくある。アナログブロックは、デジタルブロックでは提供できない、測定を行ったり測定量の比較を実行したりするような機能を提供することができる。組み合わせでは、アナログブロックおよびデジタルブロックは、デジタルブロックによって実行されるソフトウェア命令の柔軟性を、アナログハードウェアの速度と組み合わせることができる。デジタルブロックは計算量の多いタスクの処理により優れている一方で、アナログブロックは、速度とエネルギーの節約とが重要な場面に優れた性能を提供できる。したがって、処理の速度、複雑さ、およびエネルギー効率を最適化するためには、アナログブロックとデジタルブロックとの間でさまざまなタスクの実行を慎重に割り当てることが重要である。これは、特に、集積回路が、医療用電子機器、モノのインターネットデバイス、および限りのあるエネルギーリソースを有するさまざまなポータブル電子デバイスで使用される場合、ならびに効果的な電力管理の利点が特に重要になり得る場合に極めて重要である。
【図面の簡単な説明】
【0004】
【
図1】再構成可能な低電力プログラマブルアナログサブシステムの1つの例示的な実装形態のブロック図
【
図2a】例示的な低電力プログラマブルアナログサブシステムの連続的時間ブロック(または離散的時間ブロック)の1つの例示的な実装形態のブロック図
【
図2b】例示的な低電力プログラマブルアナログサブシステムの逐次比較レジスタアナログ-デジタル変換器回路の1つの例示的な実装形態のブロック図
【
図2c】例示的な低電力プログラマブルアナログサブシステムのアナログ参照ブロックの1つの例示的な実装形態のブロック図
【
図3】デジタルサブシステム、入/出力サブシステム、システム全体および周辺リソースと統合された再構成可能な低電力プログラマブルアナログサブシステムの他の例示的な実装形態のブロック図
【
図4】1つの可能な実装形態において、デジタルサブシステムと統合された再構成可能な低電力プログラマブルアナログサブシステムによる、さまざまな入力レベルを有する入力信号の処理の1つの例示的例証のブロック図
【
図5a】無線受信および送信を使用する再構成可能な低電力プログラマブルアナログサブシステムの適用の1つの例示的な実装形態のブロック図
【
図5b】1つの例示的な実装形態における、音声認識のための再構成可能な低電力プログラマブルアナログサブシステムの例証的用途のブロック図
【
図6】1つの例証的実装形態において、2つのサブシステムのさまざまな例示的状態で、再構成可能な低電力プログラマブルアナログサブシステムおよび中央処理ユニット(CPU)を含有するデジタルサブシステムを含むシステムの異なる状態に対する相対電力レベルを示したタイミング図
【
図7】低電力プログラマブルアナログサブシステムの、入力信号に応じた、再構成の方法の1つの可能な実装形態のフローチャート
【
図8】デジタルサブシステムと統合された低電力プログラマブルアナログサブシステムの、入力信号に応じた、再構成の方法の1つの可能な実装形態のフローチャート
【発明を実施するための形態】
【0005】
本開示の態様および実装形態は、スリープモードに留まるかまたは異なる動作を実行することができるデジタルプロセッサに依存しないアナログ回路の自律的な再構成可能性を利用することによって、集積回路(IC)デバイスの性能および電力管理を最適化することに向けられている。プロセッサは、アナログ回路と同じダイ/基板に配置されてもよいし、別個に実装されてもよい。アナログ回路は、中央処理ユニット(CPU)およびメモリデバイスを含み得るデジタルサブシステムと組み合わせて使用されてもよいし、いくつかの実装形態のようにそれとは別個に使用されてもよいプログラマブルアナログサブシステム(PASS)に組み合わされてよい。いくつかの実装形態では、このデジタルサブシステムは、大規模コンピューティングデバイス、汎用処理ユニット(GPU)、またはアプリケーション処理ユニット(APU)であってよい。他の実装形態では、デジタルサブシステムは、CPUおよびメモリを有し、特定の動作を制御するように設計されたマイクロコントローラユニット(MCU)であってよい。このマイクロコントローラユニットは、別個の回路またはより大きなシステムに組み込まれた回路であってよい。PASSは、入/出力(IO)デバイス、ルーティングデバイス、連続的時間ブロック(CTB)、離散的時間ブロック、アナログ-デジタル変換器(ADC)などの1つまたは複数のアナログデバイスの再構成に関する意思決定のために論理回路を(いくつかの実装形態では、1つまたは複数の有限状態マシンと組み合わせて)使用することができる。例えば、入力信号を受信して1つまたは複数の出力データに処理すると、PASSは、出力データに応じて、その1つまたは複数のプログラマブルアナログ回路を再構成することができる。PASSは、そのような再構成を、CPUがスリープ状態ならばCPUをウェイクアップすることなく実行することができ、あるいはCPUがアクティブ状態ならばCPU命令を要求することなく実行することができる。PASSは、入力信号の受信および処理を継続することができ、さらなる出力データを見張っている場合がある。そのようなさらなる出力データに応じて、PASSは、CPUとウェイクアップ命令を通信することができる。CPUは、処理を実行することができ、いくつかの実装形態では、1つまたは複数のPASSアナログ回路をどのように再構成するかについての付加的な命令とともに構成データをPASSに出力することができる。
【0006】
最新のコンピューティングデバイス、特に自動車用の、ウェアラブル、ハンドヘルド、メータリング、アプライアンス統合型などは、ますます効率的な電力管理を必要とする。多くのポータブルデバイスは、重要な計算リソースを小さなフォームファクタに詰め込んでいる。コンパクトな寸法は、エネルギー貯蔵用のポータブルデバイスの容量を制限する場合がある。したがって、さまざまなタスクの実行中にエネルギー消費を最適化することがますます重要になる。一般に、最小限の数の必須コンポーネントでタスクをより高速に実行することは、エネルギーリソースの利用率をより向上させる。ICは、CPUおよび再構成可能なアナログサブシステムを有するデジタルサブシステム(例えば、マイクロコントローラユニット)から構成することができる。このデジタルサブシステムは、低電力スリープモードに留まることができ、一方、アナログサブシステムは、機能が制限されたモードであってよい。アナログサブシステムは、そのフロントエンドモジュールによって入力信号(例えば、音声信号)を受信し、アナログ処理(例えば、復号化、フィルタリング、および増幅)の後に、アナログ-デジタル変換器に、次いでデジタル前処理のために信号を提供することができる。デジタル前処理出力は、入力信号が特定の閾値基準を満たしていることを示すか、そうでなければイベントを示すことができる。そのような決定に応じて、アナログサブシステムは、ウェイクアップ命令をCPUと通信することができる。続いて、CPUは、デジタルサブシステムのメモリに格納された命令を実行し、アナログサブシステムのパラメータを再構成することができ、それによって、アナログ回路は、変化した条件により良好に調整された機能を提供することができる。
【0007】
例えば、アナログサブシステムは、特定の事前設定された最小値を下回る周囲温度の低下などの1つまたは複数の条件の発生について入力信号を監視することができる。そのようなイベントが発生すると、アナログブロックはCPUをウェイクアップし、CPUはソフトウェアまたはファームウェアの実行時に、暖房システムをオンにするまたは調整することができる。付加的に、CPUは、アナログブロックを再構成することができる。暖房システムをオンにした後、アナログブロックは、事前設定された一部の最大値を超える温度上昇を監視するために再構成することができる。次いで、CPUおよび/または他のデジタルブロックは、低電力スリープモードに戻ることができ、一方、再構成されたアナログブロックは、周囲温度をさらに監視することができる。最大温度に達した場合には、アナログブロックは、さらなるデジタル処理(例えば暖房システムの制御など)および/またはアナログブロックの再構成のために他のプロセッサのウェイクアップをトリガーすることができる。その結果、電力消費を大幅に低減することができる。
【0008】
しかしながら、そのような取り組みにはいくつかの欠点がある。それは、プログラマブルアナログ回路の再構成をCPU機能(処理能力と命令実行)に依存している点である。ただし、CPUは、アナログサブシステムの最小限の再構成を実行している間でさえもかなりのエネルギーを消費する可能性がある。その上さらに、CPUがスリープモードからアクティブ状態にウェイクアップするのにかなりの時間がかかる可能性があるため、スリープモードでの電力節約は動作の遅延という代償を伴う可能性がある。したがって、CPUがスリープモードに留まる間のそのようなアナログ回路の再構成可能性の欠如は、電力管理と処理速度とが不可欠である場合に不利になりかねない。特に、CPUが複数の誤ったアラームに応じるように呼び出されるかもしれない状況では、計算リソースの使用率が最適には及ばない可能性がある。この問題は、さまざまなアナログブロックの機能(解像度や監視パラメータの範囲など)が固定され、CPUの介入によってのみ再構成できる場合にさらに悪化する。その結果、動的な環境において、監視されるイベント間または条件間の典型的な時間間隔がCPUのウェイクアップおよびデータ処理に要する時間よりも短くなると、CPUのみで再構成可能なアナログブロックを備えた集積回路は、効率的な電力管理ができなくなる。
【0009】
本開示の態様および実装形態は、CPUのアクティブな介入または入力なしでプログラマブルアナログ回路の動的構成可能性を提供することによって、当該の欠陥および既存のICの他の欠陥に対処する。さまざまなアナログ回路は、低電力(LP)プログラマブルアナログサブシステム(PASS)に組み合わせてよく、この低電力プログラマブルアナログサブシステム(LP PASS)は、CPUの入力なしで1つまたは複数の受信入力信号または外部条件に応じて選択可能な複数の状態の1つになり得る場合がある。例えば、LP PASSはそれ自体を、CPUがスリープ状態に留まる間に別の構成に再構成することができる。いくつかの実装形態では、CPUがアクティブ状態ではあるが、LP PASSは、CPUの命令を要することなく再構成を実行することができる。これは、CPUに、LP PASSが実行しているタスクに関連していても関連していなくてもよいデジタルタスクの処理などの他の機能を実行させることができる。これは、LP PASSとCPUの両方が同じタスクの異なる部分を処理している場合に、同じタスクのより高速な処理を可能にさせることができ、あるいは、LP PASSとCPUとによる異なるタスクの同時処理を可能にさせることができる。
【0010】
LP PASSの状態の選択は、アナログ-デジタル変換器(ADC)回路または比較器からデジタル信号を受信する論理回路によって実施されてよい。このADC回路は、フロントエンドアナログ回路によって前処理された1つまたは複数のアナログ信号を受信することができる。LP PASSによって受信される入力信号は、さまざまな外部条件を表すことができる。いくつかの実装形態では、これらの入力信号は、電波、光信号、音波、動きのインジケータ、方向、速度、温度、機械的接触、化学組成、あるいはLP PASSを取り巻く物理的状態もしくは化学的環境を表す環境センサによって生成され得る任意の他の信号であってもよい。いくつかの実装形態では、センサは、LP PASSからかなり離れた場所にある環境を検出することができる。
【0011】
図1は、再構成可能なLP PASSの1つの例示的な実装形態100のブロック図である。このLP PASS102は、1つまたは複数の信号源から入力信号を受信するために、1つまたは複数の入/出力(IO)デバイスに接続されてよい。このIOデバイスは、1つまたは複数の汎用入/出力デバイス(GPIO)ポート104またはプログラマブル入/出力(PRGIO)ブロック106を含むことができ、これらは、上記で説明するようにLP PASS102に入力信号を送達することができる複数のピン、スイッチ、またはセンサを含むことができる。いくつかの実装形態では、IOデバイスは、無線エリアネットワーク、パーソナルエリアネットワーク、またはソフトウェアディファインド無線システムを支援する無線処理のための無線周波数(RF)フロントエンドを含むことができる。このRFフロントエンドは、増幅、復号化、および/または無線信号処理の他の従来のコンポーネントを含むRF(または中間周波数)信号を受信、送信、および/または処理可能な場合がある。いくつかの実装形態では、さまざまなIOデバイス(例えば、温度センサ)は、LP PASS102と同じチップ(例えば、同じSi基板)上に取り付けられてよい。他の実装形態では、IOデバイスの一部またはすべては、LP PASS102の外部であるが、それと通信可能に結合されてもよい。
【0012】
IOデバイスによって入力された信号は、複数のマルチプレクサ(MUX)を介してさまざまなアナログブロックにルーティングされてよい。
図1は、2つのMUX110および112を備えた例示的なシステムを示す。付加的なMUXは、複数のIOデバイスからLP PASS内のさまざまな回路に入力データをルーティングするために他の実装形態に存在していてよい。入力信号のための処理パスは、信号伝搬の方向を示す矢印とともに実線で
図1に示されている。いくつかの実装形態では、入力信号のいくつかは、連続的時間領域の処理のために連続的時間ブロック(CTB)120にルーティングされてよい。CTB120では、さまざまな入力信号が、復号化、増幅、変換(例えば、電流から電圧信号へ、または電流から時間信号へ、または電圧から時間信号へ、または電圧から周波数信号へなど)、比較、バッファリング、または同様に処理されてよい。いくつかの実装形態では、離散的時間での信号処理のための離散的時間ブロック(DTB)が、CTBの代わりに、またはCTBに付加的に使用されてよい。CTB/DTB120の出力は、1つの例示的な実装形態において、逐次比較レジスタ(SAR)ADC130などのADCに入力されてよい。このSAR ADC130は、入力アナログ信号をデジタル信号に変換することができる。マルチプレクサのシステムは、CTB/DTB120をバイパスして、いくつかの入力信号を直接SAR ADC130にルーティングすることができる。例えば、いくつかの実装形態では、専用のSAR MUX112は、SAR ADC130に直接提供されることを意図した入力信号をルーティングするために使用されてもよい。アナログルーティングブロック(AROUTE)114は、LP PASS102のMUXの一部またはすべてのために制御データ(スイッチの構成など)を提供することができる。このAROUTE114は、IOデバイスと、CTB/DTB120およびSAR ADC130などの複数のアナログブロックと、の間の接続を容易にする信号ルーティングデータを提供することができる。LP PASS102の異なる構成は、異なるルーティングファブリックを有することができる。例えば、大まかな音声検出を意図したいくつかの構成では、マイクロフォン入力からの音声入力信号は、SAR MUX112によって直接SAR ADC130に送達されてよい。他の構成では、対照的に、より正確な音声認識が意図される場合には、マイクロフォンからの音声入力は、連続的時間処理または離散的時間処理のために、最初にCTB/DTB120にルーティングされてよい。さらなる例として、煙検出の例では、ルーティングファブリックは、入力信号をSAR ADC130に向けることができるが、一度煙の存在が確立されると、LP PASS102は、煙組成の決定を意図した付加的な処理のためのCTB/DTB120によってルーティングされた入力信号とともに異なる構成に再構成されてよい。制御信号をMUXに提供することにより、AROUTE114は、そのような入力信号の再ルーティングを容易にすることができる。いくつかの実装形態では、LP PASS102は、1つまたは複数のバスを含むことができる。一部の実装形態では、LP PASSは、バスのファブリックを含むことができる。いくつかの実装形態では、バスを介したルーティングは、MUX110および112に制御信号を提供するAROUTE114によって制御されてよい。いくつかの実装形態では、バスのいくつかは、LP PASS102のさまざまなブロック、MUX110および112に信号ルーティングを直接提供することができる。
【0013】
SAR ADC130は、1つまたは複数の信号(例えば、連続的時間信号)を1つまたは複数のデジタル信号に変換することができる。SAR ADC130は、LP PASS102の特定の構成に依存し得る解像度を伴う二分探索法を使用することができる。例えば、LP PASSのデフォルト構成では、いくつかの量Aを検出するために、SAR ADC130は、量Aが特定の予め定められた閾値を下回っている、または上回っているのに対応する値0または1を伴って1ビットだけを出力するように構成されてよい。一度、量Aがある程度の時間(例えば過去10秒間のうち累積的に5秒を超えて)閾値を上回ると、SAR ADC130は、出力値が2ビット(例えば、状態00,01,10,11)、3ビット(001,101など)、または所要の解像度に応じてそれ以上で特定される状態に再構成されてよい。
【0014】
アナログ回路(MUX、CTB、SAR ADCなど)の機能は、いくつかの実装形態では、アナログ参照ブロック(AREF)140によって支援されてよい。このAREF140は、基準電圧および基準電流を他のアナログブロックに提供することができる。例えば、AREF140は、バンドギャップ電圧、低電圧、高電圧などを提供することができる。いくつかの非限定的な例では、低電圧は1.1Vであってよく、一方、高電圧は2.7~5.5Vまたは任意の他の値の範囲内であってもよい。AREF140は、同様に、さまざまなアナログブロックに基準電流を提供することができる。いくつかの実装形態では、基準電圧および基準電流は、それらが提供されるアナログブロックに固有のものであってもよい。いくつかの実装形態では、基準電圧および基準電流は温度に依存しないものであってよい。いくつかの実装形態では、基準電圧および基準電流は、温度に比例するものであってもよいし、あるいは任意の他の予め定められた温度依存性を有することもできる。いくつかの実装形態では、AREF140は、リピータ機能を有することができ、そのため、基準電圧(および/または電流)の倍数をさまざまなアナログ回路に提供することができる。AREF140は、さらに、さまざまなアナログ回路のためにクロック信号を提供することができる。いくつかの実装形態では、AREF140は、異なるアナログ回路に異なるクロック信号を提供することができる。
【0015】
アナログブロック(およびそれらのブロック内の回路)によって処理される信号は、LP PASS102のデジタル処理ブロック150内に入力されてよい。例えば、
図1で実線によって示されるように、デジタル信号は、SAR ADC130からデジタル処理ブロック150の論理回路152に送達されてよい。この論理回路152は、相互接続された複数の論理ゲートを含むことができる。論理回路152は、メモリデバイス154(以後、単にメモリ154とも称される)に格納された命令を実行可能な場合もある。メモリ154は、いくつかの実装形態では、読み取り専用メモリ(ROM)であってよい。他の実装形態では、メモリ154は、ランダムアクセスメモリ(RAM)、またはフラッシュメモリ、または任意の他のタイプのメモリ、または異なるタイプのメモリデバイスの組み合わせであってもよい。
【0016】
論理回路152は、LP PASS102のさまざまなアナログ入力に対応してSAR ADC130によって提供される1つまたは複数のデジタル入力信号を処理することができる。例えば、音声認識デジタル入力信号は、温度、湿度、大気圧、およびその他のデジタル入力信号とともに処理することができる。いくつかの実装形態では、異なるデジタル入力信号は、論理回路152の異なるゲートによって処理されてよい。他の実装形態では、異なるデジタル入力信号は、論理回路152の同じゲートによって、ただし時間的に順次処理されてよい。それにより、例えば、デジタル入力信号s1の処理が時間間隔t1にわたって行われ、続いてデジタル入力信号s2の処理が時間間隔t2にわたって行われ、続いてデジタル入力信号s1の処理が再び行われ、以下同様となる場合もある。論理回路152によるさまざまなデジタル入力の処理のデジタル出力は、一時的または永続的に、または次の起動まで、メモリ154に格納されてよい。
【0017】
論理回路152のデジタル出力は、
図1の破線によって概略的に示されるように、LP PASS102のさまざまなアナログブロックおよび回路を再構成するために使用されてよい。例えば、論理回路152およびFSM158からAROUTE114まで延在する破線は、AROUTE114の再構成がどのように実行されてよいかを概略的に示している。次に、AROUTE114からMUX110および112への破線も、MUX110および112によるデータのルーティングが、AROUTE114によって、例えば1つまたは複数のMUXスイッチの再構成によって再構成されてよいことを示している。例えば、LP PASS102は、アナログブロック(CTB/DTB120、SAR ADC130など)が、LP PASSの最大機能と比較される低解像度で入力アナログ信号を処理するように構成されてもよい第1の(例えば低電力の)構成であってもよい。それにもかかわらず、LP PASS102およびその論理回路152は、入力アナログ信号におけるいくつかのイベントの表示について監視することができるスタンバイモードに留まることができる。例えば、LP PASS 102は、人間の音声の例のためのオーディオノイズを監視してもよい。LP PASS102は、最低のLP PASS解像度で音声を決定的に識別することができないかもしれないが、論理回路152は、人間の音声の兆候を検出することはできるかもしれない。例えば、メモリ154は、設定された低解像度での人間の音声の基準(典型的な音や韻律など)を格納することができる。LP PASS102が、何らかのイベントの表示について入力アナログ信号を監視しており、そのような表示が低解像度モードでもあり得る超低電力構成で取得された場合、論理回路152は、アナログ信号処理および/またはアナログ-デジタル変換の分解能を向上させるために1つまたは複数のアナログ回路をLP PASS102の第2の構成に再構成することができる。それに対応して、アナログ回路は、第2の構成において、第1の構成よりも高い動作電力を有することができる。いくつかの実装形態では、アナログ回路は、第2の構成において、第1の構成よりも低い動作電力を有することができる。例えば、第1の構成は、アクティブ状態を実装するために使用されてよいが、第2の構成は、LP PASSのスリープ状態を実装するために使用されてよい。以下でより詳細に論じるように、LP PASS機能の異なるレベルと電力消費の異なるレベルとによって特徴付けられる複数のアクティブ状態(アクティブ1、アクティブ2など)が存在してよい。同様に、異なるスリープ状態(アイドル、ディープスリープなど)が存在してもよい。
【0018】
異なるLP PASS構成は、入力信号の連続的時間処理の異なる解像度、ならびに出力デジタル信号の異なる解像度によって特徴付けられてよい。例えば、LP PASS102が再構成された場合、デジタル解像度が8ビットから12ビットに、および12ビットから16ビットに増加する場合がある。解像度が高いほど、より長い処理時間および/またはより多くの電力消費を要する場合がある。最低解像度の逸失は、結果として最速の処理および/または最低の電力変換をもたらす場合があるため、LP PASS102それ自体は、最低解像度構成で処理を開始するが、特定のイベントの兆候の検出に応じて(例えば、そのSAR ADC130)を再構成することができる。
【0019】
いくつかの実装形態では、LP PASS102を第2の構成に再構成するために、論理回路152は、ブロックCTB/DTB120、SAR ADC130、AREF140、AROUTE114、MUX110、およびSAR MUX112の一部またはすべてを再構成することができる。例えば、連続的時間処理の分解能を高めるために、論理回路152は、AREFによってCTB/DTB120に出力されるクロック信号の周波数を高めるために、AREF140への命令を実行することができる。他の例では、アナログ-デジタル変換の分解能を高めるために、SAR ADC130およびCTB/DTB120は、例えば12ビット20kspsのサンプリングモードから12ビット1MSPSのサンプリングモードに再構成されてよい。一部の実装形態では、サンプリングレートは、同じものに留まるが、解像度を高めることができる。逆に、解像度ではなくサンプリングレートを高めてもよい。
【0020】
いくつかの実装形態では、LP PASS102は、有限状態機械ブロック(FSM)158を含むことができる。このFSM158は、論理回路152とは別の回路(または回路のセット)としてハードウェア実装であってよい。いくつかの実装形態では、FSM158は、論理回路152と同じ回路上に実装されてよい。いくつかの実装形態では、FSM158は、論理回路152によって実行される命令として実装されてよい。FSM158は、論理回路152から、またはSAR ADC130から直接、またはその両方から入力を受信することが可能であってよい。入力の受信に応じて、FSM158は、1つまたは複数のFSM状態を選択することが可能であってよい。FSM状態は、アナログ回路のいずれか1つの設定、または複数のアナログ回路の設定、または全体としてのLP PASS102の設定に対応することができる。FSM158によって選択された状態は、ブロックCTB/DTB120、SAR ADC130、AREF140、AROUTE114、MUX110、およびSAR MUX112の一部またはすべてを再構成するために使用されてよい。
【0021】
FSM158は、1つまたは複数の有限状態変換器、インテリジェント論理回路、プログラマブル論理デバイス、コントローラ、推論エンジン、アクセプタ、分類器、またはシーケンサータイプ、あるいはそれらの任意の組み合わせであってよい。分類器FSMは、入力に基づいて複数の利用可能な状態からある状態を選択することが可能であってよい。例えば、心臓モニタリングデバイスによって使用されるFSMは、患者の心拍数に依存して、心調律補正を実装するか、心電図測定を管理するか、または医療専門家への通信をディスパッチするかを選択できる。アクセプタFSMは、バイナリ出力を生成することが可能であってよい。いくつかの実装形態では、状態0の出力は、LP PASS102の現在の構成への変更が実装されるべきでないことを意味するが、状態1の出力は、LP PASS102を再構成する必要があることを意味する。いくつかの実装形態では、LP PASS構成の選択は順次行われてもよい。例えば、状態1の出力は、次に利用可能な解像度(または電力消費)を有する構成が選択されるべきことを意味する。例証的な例として、SAR ADC130の12ビット20kspsのサンプリング構成は、12ビット1MSPSの構成によって続けられ、16ビット62.5KSPSの構成によって続けられてもよい。推論エンジンとしてのFSMは、例として、LP PASS102がコードワードの兆候を探索するスタンバイモードであってもよい場合など、音声認識において使用されてよい。FSMは、(ADC後の)デジタルドメインで観測された現象を検討し、推論を行うために当該データを、メモリに事前ロードされたデータと照合する。このFSMは、推論エンジンとして機能することもでき、画像処理や音声認識においても重要な決定を下す。
【0022】
図2a、
図2bおよび
図2cは、連続的時間ブロック(CTB)、逐次比較レジスタ(SAR ADC)、およびアナログ参照ブロック(AREF)のいくつかの可能な高レベルアーキテクチャを示している。
図2a、
図2bおよび
図2cに示されるコンポーネントのいくつか、ならびにこれらの後続の
図3および
図4のコンポーネントは、
図1と同じであってよい。したがって、最初の桁だけが異なる3桁の数字によって参照される項目(例えば、CTB/DTB120,220,320,420)は、同じコンポーネントを指すことができる。
【0023】
図2aは、例示的な低電力プログラマブルアナログサブシステム102のCTB/DTB220の1つの例示的な実装形態のブロック図である。このCTB/DTB220は、12ビット1MSPSのサンプリングまたは16ビット62.5KSPSのサンプリングなど、特定のデジタルサンプリングレートを支援するのに十分な帯域幅を有することができる。いくつかの実装形態では、CTB/DTB220は、2つまたはそれ以上の演算増幅器221および抵抗器ネットワーク222を有することができる。いくつかの実装形態では、CTB/DTB220は、デュアルチャージポンプであってもよいポンプ223をさらに含むことができる。このポンプ223は、演算増幅器221の動作を容易にするために使用されてよい。いくつかの実装形態では、CTB/DTB220は、ファームウェア制御可能なスイッチで内部ルーティングを制御するための内部論理回路224を含み得る。ルーティングマトリックス225は、複数のバス、スイッチ、およびラッチを有することができる。ルーティングマトリックス225は、CTB/DTB220の内部にMUX110とは異なるマルチプレクサを有することもできる。ルーティングスイッチの一部またはすべては、論理回路152、FSM158、およびAROUTE114などのCTB/DTB220の外部のコンポーネントによって制御可能であってよい。ルーティングマトリックス225は、いくつかの実装形態では、CTB/DTB220を、GPIO104およびPRGIO106などのIOデバイスの複数のIOピンに接続させることができる。GPIOピンは、8ピンのグループにグループ化されてよく、これらは、別個のアナログポートを表す場合がある。CTB/DTB220は、符号化された入力を処理するためのデコーダ226をさらに含むことができる。CTB/DTB220は、離散的時間処理のためのキャパシタ回路229(例えばキャパシタアレイ)を有することもできる。CTB/DTB220のコンポーネント(例えば、演算増幅器221および抵抗器ネットワーク222)は、1つまたは複数のバッファ227または比較器228として機能するように構成されてよい。
図2aに示されるCTB/DTB220のコンポーネントのいくつかは任意選択的であって、いくつかの実装形態では使用されない場合もある。例えば、キャパシタ回路229は、CTB/DTB220の連続的時間ブロック(CTB)実装形態に存在しない場合がある。いくつかの実装形態では、典型的なCTBと同じか同様の機能を有するが、より小さな性能を備えたよりコンパクトなCTBm(CTB-ミニ)が使用されてよい。
【0024】
図2bは、例示的な低電力プログラマブルアナログサブシステム102の逐次比較レジスタアナログ-デジタル変換回路(SAR ADC)230の1つの例示的な実装形態のブロック図である。SAR ADC230は、指定されたサンプリング周波数に基づいて入力アナログ信号(例えば、SAR MUX112および/またはCTB/DTB220からの信号)を捕捉するサンプル/ホールド回路231を含むことができる。SAR ADC230は、AREF140によって提供された基準信号(例えば、基準電圧および電流)を格納するための基準バッファ232を有することもできる。SAR ADC230は、デジタル-アナログ変換器(DAC)233を有することもでき、これは、離散的時間間隔で、アナログ信号を1つまたは複数の比較器234に供給することができる。DAC233は、コンデンサアレイ235を含むか、またはそれに結合されてもよい。比較器234は、サンプル/ホールド回路231に格納された入力信号をDAC233の出力と比較し、対応する差分を決定し、この差分をSAR論理回路236に送信することができる。SAR論理回路236は、構成に応じて、サンプル/ホールド回路231に格納されたアナログ信号がSAR ADC230のデジタル出力のビット数、例えば、8ビット、12ビット、16ビットによって指定された精度でデジタル化されるまで、逐次近似アルゴリズムを実行することができる。SAR ADC230は、入力アナログ信号のデジタルサンプリングのためにクロック237を使用することができる。クロックは、アナログからデジタルへの変換の異なる段階で異なるサンプリングレートを提供できるタイミングロジックを組み込むことができる。いくつかの実装形態では、SAR ADC230は、信号対雑音比を改善し、SAR ADC230による電力消費を低減するため低電圧デジタル制御信号を高電圧アナログ制御信号に変換するために、レベルシフタ238をさらに展開することができる。SAR ADC230は、電力制御ユニット239をさらに含むことができる。
図2bに示されるSAR ADC230のコンポーネントのいくつかは任意選択的であって、いくつかの実装形態では使用されない場合もある。
【0025】
図2cは、例示的な低電力プログラマブルアナログサブシステム102のアナログ基準ブロック240の1つの例示的な実装形態のブロック図である。AREF240は、LP PASS102のアナログ回路に複数の構成可能なクロック基準を提供することができるクロック241を含むことができる。例えば、クロック241は、CTB/DTB220のポンプ223、SAR ADC230のクロック237などへのクロック基準を提供することができる。電圧基準ブロック242は、LP PASS102のアナログブロック(およびブロック内の回路)の一部またはすべてに正確な電圧基準を提供することができる。例えば、電圧基準ブロック242は、バンドギャップ電圧基準、アナログ接地電圧基準、アナログ電源電圧基準などを提供することができる。異なるアナログブロックは、異なる電圧基準を受信することができる。電流基準ブロック243は、アナログブロックの一部またはすべてに正確な電流基準を提供することができる。例えば、これは、絶対温度に比例する電流(IPTAT)、絶対温度に依存しない電流(IZTAT)、および絶対温度を補完する(すなわち絶対温度とともに減少する)電流(ICTAT)を含むことができる。複数の電圧および電流基準値を提供することは、いくつかの実装形態では、プログラマブル基準ブロック(PRB)244によって促進されてもよい。このPRB244は、電圧基準ブロック242(電流基準ブロック243)によって提供される入力基準電圧(または電流)を取り、それを定数で乗算し、取得された電圧(電流)値の複数の除算されたバージョンをLP PASSの異なるブロックでの使用のために出力することができる。出力基準電圧(電流)は、AROUTE114によって対応するアナログブロックにルーティングされてよい。同様に、クロック241の出力も、AROUTE114によって目的の宛先に送達されてよい。AREF240によって実行される上記に記載の演算(電圧/電流の乗算と除算)は、内部ルーティングマトリックス245によって促進されてもよい。PRB244は、論理回路152またはFSM158から再構成命令を受信することが可能であってよい。そのような命令の受信に応じて、PRB244は、AREF240によって生成および出力される電圧または電流基準を調整することができる。
図2cに示されるAREF240のコンポーネントのいくつかは任意選択的であって、いくつかの実装形態では使用されない場合もある。
【0026】
図3は、デジタルサブシステム360、入/出力サブシステム303、および周辺リソース380と統合された再構成可能な低電力プログラマブルアナログサブシステム(LP PASS)302の例示的な実装形態300のブロック図である。
図3に示すICシステムは、さまざまな用途で、例えばこれらに限定されるわけではないが、モノのインターネット、ウェアラブル、動き検出器、音声アクティブ制御機器、スマート家電、携帯機器、電池式機器、自動車装置、化学的感知、医療用電子機器(例えば、グルコース、心臓モニタリング)、およびその他多数で使用されてよい。LP PASS302は、機能および電力消費によって互いに異なる複数の構成のうちの1つであってもよく、また、一部の実装形態では、LP PASS302の異なる状態、例えば、ディープスリープ、スリープ、アクティブなどを実装するために使用されてよい。特定の用途において有利な場合には、付加的な状態を実装してよい。例えば、アクティブ状態のグループは、いくつかの異なる状態、例えば、アクティブ1、アクティブ2、アクティブ3などを含むことができ、これらは、LP PASS302によって実行されてよい処理の量および複雑さによって異ならせることが可能である。例えば、アクティブ1状態のSAR ADCは、12ビットの低サンプリングモードで動作することができるが、アクティブ3状態では、SAR ADCは16ビットの高サンプリングモードで動作することができる。同様に、デジタルサブシステム360は、複数の状態のうちの1つであってよい。そのような状態のうちの1つのCPUオフ状態では、デジタルサブシステムの中央処理ユニット(CPU)362は、非アクティブであってもよい。他の状態では、CPU362は、完全にアクティブのCPUオン状態であってもよい。いくつかの実装形態では、CPU362が、異なる程度のCPU機能で部分的にアクティブになり得る付加的な中間状態が実現されてもよい。
【0027】
LP PASS302は、
図1に示されるLP PASS102と同じブロックを含むことができる。これらのブロックのいくつかは、コピー以上に存在してよい。例えば、
図3に示される実装形態では、MUX、CTB、SAR ADC、メモリデバイス、レジスタ、およびFSMの2つのセットが存在している。参照番号に文字(1)および(2)を付加されて設計された各セットは、IOサブシステム303によって入力されたアナログ信号の別個の処理を実行することができる。各セットは、論理回路352や設計されたFSMのセット、例えば左側セット用のFSM358(1)や右側セット用のFSM358(2)などに依存しないで再構成されてもよい。いくつかの実装形態では、
図3では別個なものとして示されている1つまたは複数のデバイスは、2つのセット間で共有されてもよい。例えば、FSM358(1)およびFSM358(2)は、実際には両方のセットに使用される単一のFSMであってよい。他の実装形態では、
図3に示されるシステムは、付加的なCTBおよびSAR ADCおよび他のブロックを有するさらなるセットを含むことができる。他の実装形態では、さらなるセット(第3、第4…)が、存在していてもよい。
【0028】
マルチセットLP PASS302の機能は、シングルセットLP PASS102の機能と同様であってよい。IOサブシステムは、GPIO304、PRGIO306、およびプログラマブル相互接続系(PI)308Aを含むことができる。このPI308Aは、GPIO304および/またはPRGIO306からLP PASS102に送達される入力信号を制御することができる。このLP PASSは、LP PASS302の一部としてPI308Bを付加的に有することができる。いくつかの実装形態では、PI308Bは、到来するアナログ信号をアナログ回路の異なるセット間で分配することができる。例えば、化学的および物理的感知入力は、MUX310(1)に向けられてよく、一方、音声信号は、MUX310(2)に向けられてよい。LP PASS302内の信号のルーティングは、AROUTE314によって行われてよく、アナログ回路の両方のセットに対する基準値は、AREF340によって提供されてよい。論理回路352は、一部またはすべてのCTB320からデジタル入力を受け取り、1つまたは複数のデジタル出力値を生成するように構成されてよい。いくつかの出力値は、入力アナログ信号の2進関数(0または1)であってよい。例えば、入力音声信号は、コードワードを含んだ入力の場合には2進出力1の結果をもたらすことができ、コードワードを含まない入力の場合には2進出力0の結果をもたらすことができる。いくつかの出力値は、準連続的な方法で入力アナログ信号を表すことができるマルチビットデジタル数値であってもよい。例えば、空気または水の検出された周囲温度または化学組成は、有意な分解能(精度)を有する量によって表されてよい。PI308Bは、
図3に破線で概略的に示されるように、PI308Bを再プログラミングすることによって、LP PASS302内で入力信号がどのように分配されるかを制御できる論理回路352によって制御されてもよい。LP PASS302は、LP PASSの電力レベル、ならびにLP PASS302のさまざまなブロックの電力アップ/ダウンのタイミングを制御するための電力スーパーバイザ359を有することもできる。このタイミングは、電力アップ/ダウンの特定の例(電力の完全なおよび部分的な低減を含む)、ならびに電力アップ/ダウンの移行の持続時間を含むことができる。電力スーパーバイザ359は、LP PASS302のアナログブロックとデジタル処理ブロック350の両方に監視機能を提供することができる。電力スーパーバイザ359は、論理回路352および/またはFSM354によって制御されてよい。いくつかの実装形態では、電力スーパーバイザ359は、それ自体の内部ロジックを有することができ、論理回路352/FSM354から自律して動作可能であってもよい。
【0029】
論理回路352またはFSM358は、1つまたは複数の出力値が第1の基準を満たすかどうかを決定することができる。いくつかの実装形態では、第1の基準は、第1の閾値によって表されてよく、第1の基準は、出力値が第1の閾値を超える場合に満たされる。いくつかの実装形態では、第1の基準は、出力値が第1の閾値を下回る場合に満たされる。複数形の用語「criteria」は、本開示では、その辞書的に複数の意味と関連する単数の意味(「criterion」)の両方を包含するものとして理解されたい。したがって、「第1の基準」(または「第2の基準」など)という用語は、単一の出力値が単一の閾値と比較されてよい実装形態、ならびに複数の出力値が複数の閾値と比較されてよい実装形態を包含している。同様に、単数の用語「閾値」は、複数の閾値を有する実装形態も包含するものと理解されるべきである。
【0030】
第1の閾値は、メモリ354(1)または354(2)に格納されてよい。いくつかの実装形態では、第1の閾値は、レジスタ356(1)または356(2)に格納されてよい。いくつかの実装形態では、第1の閾値は、FSM358(1)または358(2)の設定において格納されてよい。第1の基準を満たしていることが決定された場合、論理回路352および/または対応するFSM358は、LP PASS302を、第1のPASS構成から、異なる構成設定を有する第2のPASS構成に再構成することができる。この構成設定には、CTB/DTB320のクロックレート、SAR ADC330の分解能とサンプリングレート、AROUTE314のルーティングファブリック、AREF340のアナログ基準など、少なくとも1つのプログラマブルアナログ回路の機能を決定するパラメータを含めることができる。第2のPASS構成のための設定は、メモリ354、レジスタ356に格納されるかまたはFSM358の設定において格納されてよい。いくつかの実装形態では、レジスタ356は、ROMに実装されてよく、それらに格納された構成設定は変更できない。いくつかの実装形態では、レジスタ356は、RAMに実装されてよく、これは、デジタルサブシステム360のCPU362によって変更されてよい。いくつかの実装形態では、いくつかの構成設定が、RAM(メモリ354かまたはレジスタ356)に格納されてよく、一方、他の構成設定は、ROM(メモリ354かまたはレジスタ356)に格納されてよい。いくつかの実装形態では、構成設定は、レジスタ356に格納されてよいが、LP PASS302によって収集されたデータは、メモリ354に格納されてよい。いくつかの実装形態では、構成設定は、1つまたは複数のCTB/DTB320、SAR ADC330、AROUTE314、AREF340などの1つまたは複数のスイッチの状態を表すことができる。
【0031】
LP PASS302が第1の構成の場合、デジタルサブシステム360のCPU362は、CPUオフ状態であってよい。LP PASS 302が、第2の構成に再構成された場合、CPUは、CPUオフ状態に留まることができる。LP PASS302は、第2の構成でアナログ入力信号を受信し処理し続けることができる。続いて、論理回路352またはFSM358は、第2の構成における1つまたは複数の出力値が第2の基準を満たすことを決定することができる。例えば、論理回路352の出力値は、第1、第2の閾値を上回る(または下回る)場合がある。これが起きると、論理回路352は、デジタルインタフェース(図示せず)によって、ウェイクアップ信号をCPU362に出力し、CPUオン状態へのCPUの移行をトリガーすることができる。いくつかの実装形態では、このウェイクアップ信号は、CPUをウェイクアップさせるためのデジタル命令などの命令であってよい。他の実装形態では、ウェイクアップ信号は、CPU362に対する命令は含まないがCPU362をウェイクアップさせるようなデータ信号であってもよい。オン状態では、CPU362は、デジタルサブシステム360のメモリ364から命令をロードし、デジタルコードを実行することができる。コード実行の結果として、CPU362は、LP PASSを第3のPASS構成に再構成するための命令を伴う構成データをLP PASS302(例えば、論理回路352および/またはFSM358)に送信することができる。第3の構成設定は、いくつかの実装形態では、LP PASSメモリ354またはレジスタ356から取り出されてよい。いくつかの実装形態では、CPU362は、最初に、構成設定をLP PASS302の1つまたは複数のRAMデバイスに(例えば、メモリ354またはレジスタ356に)格納し、格納されたこれらの設定を論理回路352にフェッチするように命令することができる。いくつかの実装形態では、CPU362は、論理回路352の介入なしでLP PASS302のさまざまなアナログブロックの設定を直接変更することができる。いくつかの実装形態では、CPU362は、新しい構成設定をいくつかの予め定められた条件の発生時にメモリ354またはレジスタ356にロードすることができる。例えば、LP PASS102が、周辺空気中に煙を検出した場合、LP PASS102は、ウェイクアップ信号をCPU362に出力することができ、CPU362は、煙の検出からその化学組成を決定するためにLP PASS102を再構成するための新しい構成設定をロードすることができる。いくつかの実装形態では、CPU362は、新しい構成設定を単なる更新の一部、例えばスケジュールされた(特定の時刻での)更新の一部として、入力信号に依存することなくメモリ354またはレジスタ356にロードすることができる。
【0032】
いくつかの実装形態では、第2の構成のLP PASS302は、第2のアナログ入力信号を受信しない場合がある。むしろ、再構成時に(およびCPU362のウェイクアップなしで)、LP PASS302は、第1のPASS構成で実行された初期処理中に格納された第1のアナログ入力信号を再処理することができる。例えば、第1のアナログ入力信号は、SAR ADC330のサンプル/ホールド回路231に格納されてよい。LP PASS302が、例えば、より高いSAR ADCサンプリングレートを有する第2の構成に再構成された後で、当該再構成されたSAR ADC330および論理回路352は、新しい出力値を決定するために、格納された入力信号を新しい(より高い)分解能で再処理することができる。次いで、この新しい出力値は、第2の閾値と比較して、CPU362をそのオフ状態からウェイクアップさせるかどうかの決定を下してもよい。
【0033】
いくつかの実装形態では、アナログ入力信号を受信および処理した後、LP PASS302は、ウェイクアップ信号とは異なる信号をCPU362に出力することができる。いくつかの実装形態では、CPU362に出力される信号は、モード選択信号である。例えば、いくつかの実装形態では、CPU362は、最初はCPUオン状態であってもよく、論理回路352は、CPU362をCPUオフ状態に移行させる信号をCPU362に出力することができる。いくつかの実装形態では、モード選択信号は、CPU362を異なるアクティブモード(状態)間で移行させることができる。
【0034】
いくつかの実装形態では、LP PASS302は、CPU362が最終的にウェイクアップする前に、複数の再構成が漸進的で段階的に増大する機能(例えば、速度、精度、および解像度)および電力消費を伴う構成へ移っている間は、ウェイクアップ命令をCPUに出力しない場合がある。例えば、LP PASS状態のシーケンスが、スリープ、アクティブ1、アクティブ2、アクティブ3となっていって、CPU362へのウェイクアップ命令によって続けられてもよい。いくつかの実装形態では、LP PASS302は、アクティブなCPUの介入がないことまたは入力が不要なことが決定した場合には、CPU362をウェイクアップさせることなく反転し段階的に減少することができる(すなわち、アクティブ1、アクティブ2、アクティブ3、アクティブ2、アクティブ1)。一部の実装形態では、LP PASS 302は、スリープ(またはディープスリープ)状態に段階的に減少することができる。いくつかの実装形態では、LP PASS302はそれ自体を、監視期間周期の開始時にアクティブ状態の1つに周期的に再構成し、そのような周期の終了時にスリープ(またはディープスリープ)状態に戻ることができる。
【0035】
デジタルサブシステム360は、限られた数の命令を実行するように構成された汎用処理システムまたは特殊用途処理システムであってもよい。いくつかの実装形態では、デジタルサブシステム360は、マイクロコントローラユニット(MCU)であってよい。デジタルサブシステム360は、フラッシュメモリ366、ダイレクトメモリアクセス回路(DMA)368、ならびにモニタ、IOデバイス、ネットワークアダプタなどの他の従来のコンポーネントを含むことができる。デジタルサブシステム360は、クラウドストレージにアクセスすることができる。デジタルサブシステム360によって実行される演算の一部またはすべては、リモート(例えばクラウド)の演算であってもよい。
【0036】
システム300は、デジタルサブシステムのコンポーネントおよびいくつかの実装形態ではAREF340に、電圧および電流を提供するための内部主要発振器372および基準ブロック374などのいくつかのシステム全体のリソース370を有することができる。これらのシステム全体のリソースは、位相ロックされた基準信号を生成するための位相ロックループ(PLL)376を含むこともできる。システム300は、容量感知アレイ382、ウォッチドッグタイマー384、シリアル通信ブロック386、液晶ディスプレイ388、およびタイマーカウンタパルス幅変調器(TCPWM)389を含み得るいくつかの周辺リソース380を有することもできる。
【0037】
いくつかの実装形態では、システム300のすべてのコンポーネントは、破線の矩形の低電力システムオンチップ(SoC)390によって示されるように同じチップ(基板)上に実装されてよい。いくつかの実装形態では、システム300のいくつかのコンポーネントは、オフチップで実装されてもよい。例えば、周辺リソース380および/またはIOサブシステム303の一部またはすべては、オフチップで実装され、1つまたは複数のバス(図示せず)によってLP PASS302およびデジタルサブシステム360をホストするチップに接続されてよい。いくつかの実装形態では、LP PASS302およびデジタルサブシステム360は、異なる(例えばSi)基板上に別個のSoCとして実装されてよい。
【0038】
図4は、1つの可能な実装形態において、デジタルサブシステム460と統合された再構成可能な低電力プログラマブルアナログサブシステム(LP PASS)402による、さまざまな入力レベルを有する入力信号の処理の1つの例示的例証400のブロック図である。
【0039】
LP PASS402は、
図1に示される単一のセットの装置、
図3に示される2つのセットの装置、または複数のセットの装置であってよい。
図4は、2つの例示的な状況におけるLP PASS402の機能を示している。第1の状況では、入力信号401は、LP PASS402の再構成のための第1の閾値基準を上回る入力レベルを有する。それでも、信号401の入力レベルは、第2の閾値基準を下回る可能性がある。その結果として、LP PASS402はそれ自体を再構成するが、CPU462には信号を出力しない。いくつかの実装形態では、「入力レベル」という用語は、電圧レベル、電流レベル、充電を示すレベル、または任意の他の物理的もしくは化学的量、あるいは物理的もしくは化学的量の変化を指し得る。第2の状況では、入力信号403は、CPU462に信号を出力するための第2の閾値基準を上回る入力レベルを有する。これらの入力信号401および/または403は、最初にフロントエンドインタフェース405によって受信されている。このフロントエンドインタフェース405は、入力信号401および/または403の前処理を実行することができる。例えば、フロントエンドインタフェース405は、オーディオ信号をLP PASSアナログ回路によって認識できる電気信号に変換するためのマイクロフォンや電波を電気信号に変換するための複数の無線回路およびデバイス(アンテナ、増幅器、フィルタなど)を含むことができる。フロントエンドインタフェース405は、IOサブシステム303およびMUX310,312の任意のコンポーネントを含むことができる。フロントエンドインタフェース405によって前処理された信号は、連続的または離散的時間処理のためにCTB/DTB420に入力され、次いで、デジタル値への変換のためにSAR ADC430に入力されてよい。これらのCTB/DTB420および/またはSAR ADC430は、最初に、第1のLP PASS構成に対応する設定を有することができる。SAR ADC430によってデジタル化された信号は、デジタル処理ブロック450、より具体的には論理回路452および/またはFSM458に入力されてよい。これらの論理回路452および/またはFSM458は、1つまたは複数の出力値を生成することができ、いくつかの実装形態では、出力値がLP PASS402再構成のための第1の基準やCPU462に信号を出力するための第2の基準などの1つまたは複数の基準を満たすかどうかを決定することができる。論理回路452および/またはFSM458が、入力信号401について、第1の基準は満たされているが第2の基準は満たされていないことを決定した場合、論理回路452および/またはFSM458は、LP PASS402を、第2のPASS構成に再構成することができる。
【0040】
いくつかの実装形態では、第1の基準は、複数のメトリックを含むことができる。1つまたは複数の出力値への複数のメトリックの適用に依存して、第2のPASS構成は、2つ以上の可能な構成から選択されてよい。いくつかの実装形態では、第1の基準の特定のサブセットが満たされる場合、LP PASS402の再構成は、FSM458の1つまたは複数の事前構成された状態の支援によって実行されてもよい。FSM458は、LP PASS402の高速な再構成を容易にするために使用されてよい。第1の基準のサブセットのいずれも満たされないため、FSM458の事前構成された状態のいずれも選択されるべきでない場合、LP PASS402の再構成は、論理回路452によって実行されてよい。いくつかの実装形態では、LP PASS402の第2の構成のための設定は、LP PASSメモリ454から検索されてよい。いくつかの実装形態では、このLP PASSメモリ454は、1つまたは複数のROMレジスタ、例えば、構成設定を格納するレジスタ356を含むことができる。
【0041】
選択された第2のPASS構成のための設定は、白抜き矢印によって示されているように、フロントエンドインタフェース405、CTB/DTB420、SAR ADC430、および
図4に明示的に示されていない他のLP PASSブロック(AROUTE、AREFなど)に適用されてよい。続いて、LP PASS402は、付加的な入力を処理することができる。いくつかの実装形態では、LP PASS402は、最初に、増加した解像度で初期入力信号(例えば入力信号401)を再処理することができる。この入力信号は、そのような後続処理のために、LP PASS402の1つまたは複数のバッファ(例えば、サンプル/ホールドバッファ231)に格納されてよい。
【0042】
スーパースレッショルド入力201がLP PASS402によって処理されるとき、論理回路452および/またはFSM458は、出力値が第2の基準を満たすことを決定することができる。第2の基準が満たされているとの決定に応じて、デジタル処理ブロックは、CPU462をそのCPUオフ状態からウェイクアップさせるために、デジタルインタフェース455を介してウェイクアップ命令をデジタルサブシステム460に出力することができる。LP PASS402からの信号に応じて、CPU462は、CPUオン状態に移行することができる。ウェイクアップ命令は、ウェイクアップの理由を説明する割り込みメッセージを含有することができる。次いで、CPU462は、割り込みメッセージに含有される特定の理由に応じて、特定のコードを(例えばメモリ464から)ロードして実行することができる。いくつかの実装形態では、CPU462は、第3のPASS構成に移行するために、LP PASS402に命令を出力することができる。この第3のPASS構成は、いくつかの実装形態では、アクティブLP PASS状態の1つを実装するために使用されてよい。他の実装形態では、第3のPASS構成は、スリープ状態もしくはディープスリープ状態を実装するために使用されてもよい。いくつかの実装形態では、CPU462は、任意の再構成命令をLP PASS402に出力しない場合があるが、LP PASS402はそれ自体を、上記で説明した手順の1つに従って、第3の構成に再構成することができる。
【0043】
いくつかの実装形態では、LP PASS402がそのアクティブ状態の1つにあり、CPU462がそのCPUオン状態にあるとき、LP PASS402およびCPU462は、同じタスクを、例えば音声認識を処理してよい。他の実装形態では、LP PASS402およびCPU462は、異なるタスクを処理してもよい。例えば、LP PASS402は、空気の湿度を監視してもよいが、CPU462は、暖房システムを調整している。他の例として、LP PASS402は、スマートウィンドウを透過する自然光の明るさを監視してもよいが、CPU462は、空調パラメータを最適化している。現在のタスクが達成されると、CPU462は、CPUオフ状態に移行し、さらなる構成命令をLP PASS402に出力することができる。いくつかの実装形態では、LP PASSは、CPU462がCPUオフ状態に移行したという指示を受信することができ、LP PASS自体をCPUの介入またはデフォルト状態(例えば、スリープまたはアクティブ1など)への入力なしで再構成させることができる。
【0044】
いくつかの実装形態では、LP PASS402によるCPU462への信号出力は、ウェイクアップ命令であってよい。そのような命令の受信に応じて、CPU462は、そのCPUオフ状態からウェイクアップすることができる。いくつかの実装形態では、出力信号は、CPU462への割り込み信号であってよい。この割り込み信号は、CPUオン状態であってもよいが、他のタスク、例えば、LP PASS402によって実行されるタスクとは無関係のタスクを処理するものであってよい。割り込み命令の受信に応じて、CPU462は、その状態を変更できないが、現在実行しているタスクを中断し、異なるタスク、例えば上記で説明したように、LP PASS402を再構成するタスクに切り替えることができる。いくつかの実装形態では、出力信号は、CPUオフ状態に切り替えるためのCPU462への「スリープ」信号であってもよい。例えば、そのような信号は、予め定められた周期期間内で特定のイベントの出現がないことに応じて、LP PASS402によって出力されてもよい。
【0045】
図5aは、無線受信および送信を使用する再構成可能な低電力プログラマブルアナログサブシステム(LP PASS)の適用の1つの例示的な実装形態500(a)のブロック図である。示されている実装形態は、モノのインターネットコントローラの一部として使用されてもよい。示される実装形態は、ローカルエリアネットワーク、パーソナルエリアネットワーク、または無線受信および/もしくは送信に基づく任意の他のネットワークおよびプロトコルを使用するクラウドまたは他のデジタルおよび/もしくはアナログデバイスとのインタフェースとして使用することができる。1つまたは複数のアンテナ501は、受信機502および送信機504による電波の受信および送信のために使用されてよい。いくつかの実装形態では、受信機502は、受信機アンテナ501(R)を使用することができ、一方、送信機504は、別個の送信機アンテナ501(T)を使用することができる。他の実装形態では、単一のアンテナが送信と受信の両方に使用されてもよい。例えば、アンテナは、マルチ入力マルチ出力(MIMO)アンテナであってもよい。アンテナ501(R)によって受信された無線信号は、受信機フロントエンドモジュール(FEM-R)506(R)に供給されてよい。FEM-R506(R)は、マルチプレクサ、フィルタ(例えば、バンドパスフィルタ)、低ノイズ無線周波数増幅器、ダウンコンバージョンミキサー、周波数シフトおよび/または振幅シフトキーイングモジュール、ならびに無線信号を処理するために使用され得る他の回路を含むことができる。いくつかの実装形態では、FEM-R506(R)の出力は、デコーダ508によって処理されてよい。
【0046】
受信機502の出力は、LP PASS512に提供されてよい。このLP PASS512は、LP PASS102、302、402などのいずれか1つであってよい。LP PASS512は、上記で開示されたように、低電力状態の1つであってよい。LP PASS512は、アンテナ501(R)によって受信された信号のアナログおよびデジタル処理に応じて、PASS512自体を、ならびにFEM-R506(R)を再構成することが可能であってよい。いくつかの実装形態では、LP PASS512は、送信機504およびアンテナ501(T)を介して無線信号を送信することが可能であってよい。送信されるべき信号は、LP PASS512のメモリに格納され、LP PASS512のデジタル出力が1つまたは複数の予め定められた基準を満たすときに、LP PASS512のFSMによって選択されてよい。いくつかの実装形態では、送信されるべき信号は、LP PASS512の論理回路によって決定されてよい。この信号は、デジタル-アナログ変換器(DAC)モジュール516によってアナログ形式に変換されてよい。いくつかの実装形態では、信号は、エンコーダ518によって符号化され、送信機フロントエンドモジュールFEM-T506(T)に提供されてよい。このFEM-T506(T)は、マルチプレクサ、フィルタ(例えば、バンドパスフィルタ)、低ノイズ無線周波数増幅器、ダウンコンバージョンミキサー、周波数シフトおよび/または振幅シフトキーイングモジュール、ならびに他の回路を含むことができる。
【0047】
LP PASS512は、例えば低電力システムオンチップ(SoC)516として、同じチップ(例えば同じSi基板)上でデジタルサブシステム514と一緒に製造されてよい。いくつかの実装形態では、このSoC516は、SoC390であってもよい。デジタルサブシステム514は、CPU、メモリ、およびデジタルインタフェースを含むことができる。いくつかの実装形態では、デジタルサブシステム514は、MCUであってもよい。上記で説明したような無線信号の処理中、デジタルサブシステム514は、CPUオフ状態であってよい。いくつかの実装形態では、LP PASS512のデジタル出力がCPUをウェイクアップさせるための1つまたは複数の基準を満たすとき、デジタルサブシステム514は、無線受信および/または無線送信を引き継ぐことができる。デジタルサブシステム514は、
図3および
図4を参照して上記で説明したように、LP PASS512を再構成することもできる。
【0048】
いくつかの実装形態では、受信機502および送信機504は、同じチップ、例えばトランシーバーSoC520上に取り付けられてよい。いくつかの実装形態では、トランシーバーSoC520は、モノのインターネット(IoT)チップであり得る。いくつかの実装形態では、受信機502、送信機504、およびLP PASS512は、同じチップ上に取り付けられてよい。いくつかの実装形態では、受信機502および送信機504は、いくつかのコンポーネントを共有することができる。例えば、FEM-R 506(R)およびFEM-T 506(T)は、フィルタ、増幅器、および/または他のコンポーネントを共有することができ、あるいは単一のモジュールとして実装されてもよい。いくつかの実装形態では、受信機502、送信機504、およびLP PASS512は、同じチップ上に取り付けられてよい。いくつかの実装形態では、受信機502、送信機504、LP PASS512、およびデジタルサブシステム514は、同じチップ上に取り付けられてよい。いくつかの実装形態では、1つまたは複数のネットワークアダプタが、受信機502および送信機504の代わりに使用されてよく、さらに(例えば、ネットワーク、クラウドへの/ネットワーク、クラウドからの)データストリーミングが、無線受信/送信の代わりに使用されてもよい。
【0049】
図5bは、音声認識のための再構成可能な低電力プログラマブルアナログサブシステムの適用の1つの例示的な実装形態500bのブロック図である。この実装形態500bは、ウェアラブル、モノのインターネット、自動車、または汎用アプリケーションの文脈を含みその中で使用されているがこれらに限定されるものではない。
図5bの例示的例証では、音声信号は、マイクロフォン530によって検出され、アナログインタフェース540によって低電力適応型感知システム550に送信されてよい。この低電力適応型感知システム550は、LP PASS552およびデジタルサブシステム554を含むことができる。低電力適応型感知システム550は、1つの例示的な実装形態では、ノイズの多い環境下で、人間の音声の検出および識別を支援するために使用してよい。デジタルサブシステム554は、アクティブな音声が目下検出されていないときにはCPUオフ状態であり得るCPUを有することができる。いくつかの実装形態では、LP PASS552は、アクティブ状態の1つ、またはスリープもしくはディープスリープ状態の1つであり得る。例えば、スリープ状態のLP PASS552では、その論理回路はシャットダウンされ、SAR ADCは最小の解像度(例えば8ビット1ksps)と最小のサンプリングレートとを有するように構成することができる。人間の音声の署名の検出などの特定のイベントが検出されると、LP PASS552はそれ自体を、アクティブ状態の1つに再構成することができる。例えば、LP PASS552のFSMは、人間の音声の署名に応じて、LP PASS552をアクティブ状態の1つにシフトすることができる。新しい構成では、論理回路、LP PASS552がウェイクアップされ、SAR ADCのデジタル分解能およびサンプリングレートを、例えば、1つの例証的で非限定的な実装形態として16ビット44.1kspsに増加させてもよい。新しい状態では、LP PASS552は、人間の音声のさらなる署名について、アナログインタフェース540によって送達される入力オーディオ信号の監視を継続することができる。音声が検出されない場合、LP PASS552は、予め定められた時間が経過した後、デフォルトモード(例えば8ビット1ksps)に戻すことができる。
【0050】
しかしながら、より多くの音声が検出された場合、LP PASS552は、デジタルサブシステム554のCPUをウェイクアップすることができる。このCPUは、LP PASS552および/またはアナログインタフェース540をさらに再構成し、デジタルインタフェース560によって音声認識システム570に対し検出された音声の出力を開始することができる。いくつかの実装形態では、デジタルサブシステム554が存在しない場合があり、音声が検出されていることの肯定的な決定がなされた場合に、LP PASS552は、音声認識システム570をウェイクアップし、インタフェース560によって(デジタル化された)音声信号を出力することができる。
【0051】
いくつかの実装形態では、マイクロフォン530は、無線フロントエンドまたはネットワークアダプタ、またはオーディオ信号を送達することができる任意の他のデバイスに置き換えられてよい。いくつかの実装形態では、アナログインタフェース540およびデジタルインタフェース560は、LP PASS552と同じチップに取り付けられてよい。
【0052】
図6は、1つの例証的な実装形態における2つのサブシステムのさまざまな例示的な状態について、再構成可能な低電力プログラマブルアナログサブシステムと中央処理ユニット(CPU)を含有するデジタルサブシステムとを含むシステムの異なる状態の相対電力レベルを示すタイミングチャート600である。
図6は、適用可能例として、
図3、
図4、
図5a、および
図5bに示されるシステムの任意の1つのシステムの電力レベルを定性的観点から示すことができる。上のグラフは、デジタルサブシステムの電力レベルを、CPUの状態に依存して、限定のためにではなく構想的な形態で示している。下のグラフは、LP PASSの電力レベルを、そのブロックの構成に依存し得るその状態に応じて限定のためにではなく構想的な形態で示している。時間T1は、定性的観点から、CPU(またはデジタルサブシステム全体)がCPUオフ状態からCPUオン状態に移行するためのCPUウェイクアップ612の時間を示している。時間T2は、定性的観点から、LP PASSがLP PASSスリープからLP PASSアクティブ状態の1つに移行するためのLP PASSウェイクアップ622の時間を示している。
図6に示されるように、時間T2は、時間T1よりも著しく短くなる可能性がある。さらに、CPUオン状態でのデジタルサブシステムによる電力消費は、2つのグラフの高さによって概略的に示されているように、LP PASSアクティブ状態(または構成モード)の1つよりも大幅に大きくなる可能性がある。
【0053】
LP PASSをウェイクアップするトリガーイベントに依存して、LP PASSは、アクティブ1、アクティブ2、アクティブ3などのようなアクティブ状態の1つに再構成されてよい。トリガーイベントがない場合、LP PASSは、ウェイクアップスケジュールごとに指定された時間間隔で(1つまたは複数のブロックの構成の変更によって)アクティブ状態の1つに移行することができる。例えば、1秒ごとにLP PASSは、LP PASSスリープ状態からLP PASSアクティブ1状態に移行することができ、10秒ごとにLP PASSは、LP PASSスリープ状態からLP PASSアクティブ2状態に移行することができる。さまざまなLP PASS状態は、LP PASSの機能および電力消費によって異なる場合がある。場合によっては、LP PASSのウェイクアップは、デジタルサブシステムのウェイクアップに続くことができる(そしてそれによって引き起こされる場合がある)。
【0054】
他の実装形態では、時間間隔の長さははるかに短くてもよい。例えば、LP PASSのデューティサイクルの周期は、1つの実装形態では50μsであってよく、各サイクルの最初の44μsは、LP PASSスリープ状態で費やされ、次の6μsは、LP PASSアクティブ1状態で費やされる。スリープ状態では、LP PASSは、ウェイクアップ割り込みを待機している超低電力状態であってよい。アクティブ1状態では、LP PASSは、単一の変換を実行し、結果をLP PASSメモリに格納し、LP PASS再構成またはCPUウェイクアップ基準と比較するようにするように構成されたSAR ADCをアクティブにするアナログフロントエンド(CTBなど)を有することができる。Nサイクル(例えば、N=10)ごとに1回、LP PASSは、LP PASS回路のより高い(または究極の)機能を備えたアクティブ2(またはアクティブ3)状態に再構成されてよい。LP PASSは、20μs(または任意の他の予め定められた時間)だけそのような状態に留めることができ、その後、スリープ状態に戻ることができる。
【0055】
図6は、例として、さまざまな可能性のいくつかを示している。タイムラインの開始前は、CPU(またはデジタルサブシステム全体)はオフ状態であり、LP PASSは、スリープ状態である。示されたタイムラインの開始時に、CPUはウェイクアップされ、オン状態614への移行に移る。この移行612は、ユーザによって、外部イベント(ネットワークを介して受信されたウェイクアップコールなど)によって引き起こされてよく、あるいはウェイクアップスケジュールに従って発生する場合もある。CPUウェイクアップ612に続いて、CPUは、ウェイクアップコール622をLP PASSに送信し、LP PASSを、そのアクティブ状態624の1つである図示のアクティブ2に再構成することができる。処理タスクの完了時に、CPUは、LP PASSをLP PASSスリープ状態626に戻すように再構成することができる。続いて、CPU自体は、CPUオフ状態616への移行に移る。CPUがオフ状態である場合、LP PASSは、その1つまたは複数のアクティブ状態への一連の移行を経る場合がある。これらは、LP PASS アクティブ1状態628として
図6に示されている。これらの状態のいくつかは、上記で開示されたように実行されてよい。例えば、LP PASSは、外部アナログ入力を監視し、デジタル出力を生成し、このデジタル出力を、LP PASSを再構成するかどうかの決定のために1つまたは複数の基準(例えば閾値)と比較してもよい。再構成のいくつかは、出力値が再構成基準を満たすことなく予め定められた時間間隔が経過した後に発生する場合がある。LP PASSがアクティブ1状態628の期間中に必要なタスク(音声監視や暖房/AC設定の調整など)を完了した後、LP PASSは、LP PASSスリープ状態626に戻ることができる。場合によっては、出力値は、LP PASSを第3の状態(例えば、LP PASSアクティブ3状態630)に再構成するための基準が満たされるような値になる可能性もある。アクティブ3に再構成することに加えて、LP PASS自体は、(
図6に示されるように)ウェイクアップ命令をCPUに送信し、それによってCPUオン状態614への移行を引き起こすことができる。
図6に示される例は、網羅的なものではなく、他の多くの組み合わせやシナリオが可能である。例えば、2つのCPU状態(CPUオンおよびCPUオフ)に加え、CPU機能のレベルと電力消費とによって異ならせることのできる、デジタルサブシステムの他の付加的な状態が可能である。
図6の図面は例証的なものであり、限定的に解釈されるべきではない。例えば、3つのLP PASS状態での電力消費は同じレベルで示されているが、一般に、これはそうである必要はなく、さまざまなLP PASS状態が異なる電力消費レベルによって特徴付けられてもよい。
【0056】
図7は、低電力プログラマブルアナログサブシステムの、入力信号に応じた再構成の方法700の1つの可能な実装形態のフローチャートである。本方法700は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア、ファームウェア、またはそれらの組み合わせを含み得るLP PASSの論理回路および/またはFSMによって実行されてよい。LP PASSは、LP PASS102、302、402、512、または552のうちの1つであってよい。論理回路は、論理回路152、352、または452のうちの1つであってよい。FSMは、FSM158、358、または458のうちの1つであってよい。本方法700は、IOデバイスからの第1の入力信号をIOデバイスに結合されたPASSによって受信するステップ(710)を含むことができ、このPASSは、複数の再構成可能なアナログ回路と、データをCPUと通信するためのインタフェースと、を有する。IOデバイスは、1つまたは複数のピン、スイッチ、またはセンサを含んだ、アナログ信号の入力が可能な任意のデバイスであってよい。いくつかの実装形態では、IOデバイスは、無線フロントエンド処理部、同軸ケーブル、光電子ファイバなどを含むことができる。
【0057】
本方法700は、第1のPASS構成のPASSを用いて、第1の入力信号を、第1のPASS構成の第1の構成設定を有する複数の再構成可能なアナログ回路によって処理するステップ(720)で継続することができる。再構成可能なPASS回路は、CTB、SAR ADC、AROUTE、AREF、複数のマルチプレクサなど、
図1~
図4に示される回路の一部またはすべてを含むことができる。本方法700は、第1の入力信号に基づいて第1の出力値を生成するステップ(730)で継続することができる。例えば、SAR ADCは、デジタル入力をPASSの論理回路および/またはFMSに提供することができる。論理回路および/またはFSMは、PASSへのアナログ入力を表し得る第1のデジタル出力値を生成することができる。本方法700は、複数の再構成可能なアナログ回路を、第2の構成設定を有する第2のPASS構成に再構成するステップ(740)で継続することができ、ここで、第2の構成設定は、第1の構成設定とは異なっている。第2のPASS構成の再構成は、第1の出力値に応じて実行されてよい。PASSは、さまざまな出力値と、特定の出力値に応じて選択されるべきPASS構成と、の間の対応を維持することができる。いくつかの実装形態では、この対応は、PASSの1つまたは複数のレジスタ(例えばROMベースのレジスタ)および/またはPASSの1つまたは複数のメモリデバイス(例えばRAM)に格納されたインデックスであってもよい。いくつかの実装形態では、対応は、PASSによって格納された1つまたは複数の閾値を参照することができる。いくつかの実装形態では、第1の出力値が閾値よりも大きい場合にPASS構成が選択されている。いくつかの実装形態では、第1の出力値が閾値よりも小さい場合にPASS構成が選択されている。いくつかの実装形態では、対応は、FSMの回路で符号化されている。
【0058】
いくつかの実装形態では、複数の再構成可能なアナログ回路を第2のPASS構成に再構成するステップは、FSM状態のうちの1つを選択することによって実行されてよい。いくつかの実装形態では、PASSのアナログ回路の一部またはすべてのための設定は、選択されたFSM状態に基づいて取得されてよい。いくつかの実装形態では、PASSのアナログ回路の一部またはすべてのための設定は、PASSの論理回路によって提供されてよい。いくつかの実装形態では、PASSのアナログ回路の一部のための設定は、FSMによって提供されてよいが、他のアナログ回路のための設定は、論理回路によって提供されてよい。いくつかの実装形態では、一部のアナログ回路のための設定は、2つ以上の異なるPASS構成間で同じものに留まることができる。
【0059】
図8は、デジタルサブシステムと統合された低電力プログラマブルアナログサブシステムの、入力信号に応じた再構成の方法800の1つの可能な実装形態のフローチャートである。本方法800は、方法700に関連して上記で説明したものと同じデバイスおよび回路によって実行されてよい。本方法800は、IOデバイスからの第1の入力信号をIOデバイスに結合されたPASSによって受信するステップ(810)を含むことができる。PASSは、複数の再構成可能なアナログ回路と、データをCPUと通信するためのインタフェースと、を有することができる。本方法800は、第1のPASS構成のPASSを用いて、第1の入力信号を、複数の再構成可能なアナログ回路によって処理するステップ(820)で継続することができる。本方法800は、第1の入力信号に基づいて第1の出力値を生成するステップ(830)で継続することができる。ブロック810~830は、いくつかの実装形態では、方法700のブロック710~730と同じであってよい。
【0060】
本方法800は、第1の出力値が第1の閾値基準を満たしているかどうかが決定される意思決定ブロック(835)で継続することができる。例えば、一酸化炭素濃度が検出可能なレベルに達したかどうかが、論理回路および/またはFSMによって決定されてよい。第1の閾値基準が満たされない場合、PASSは、第1のPASS構成(840)に留まることができる。しかしながら、第1の閾値基準が満たされていることが決定された場合、本方法800は、第2の閾値基準が満たされているかどうかを決定するステップ(845)で継続することができる。例えば、ブロック845では、一酸化炭素濃度が危険なレベルに達したかどうかが決定されてもよい。第2の閾値基準が満たされない場合、本方法800は、複数の再構成可能なアナログ回路を、第2の構成設定を有する第2のPASS構成に再構成するステップ(850)で継続することができる。いくつかの実装形態では、ブロック850は、方法700のブロック740と同様に実行されてもよい。例えば、第1の構成は、LP PASSスリープ状態を実装するために使用されてよく、第2の構成は、LP PASSアクティブ1状態を実装するために使用されてよい。他の例では、第1の構成は、LP PASSアクティブ1状態を実装するために使用されてよく、第2の構成は、LP PASSアクティブ2状態を実装するために使用されてよい。本方法800は、LP PASSがIOデバイスから後続の(例えば第2の)入力信号を受信するステップで継続することができる。いくつかの実装形態では、第2の入力信号は、第1の入力信号と同じであってもよいが、PASSによる後からの再処理のために1つまたは複数のアナログ回路によって(より高い分解能および/または処理精度を有し得る)第2の構成に格納されてよい。
【0061】
本方法800は、第2のPASS構成のPASSを用いて、第2の入力信号を、複数の再構成可能なアナログ回路によって処理するステップ(870)、ならびに第2の入力信号に基づいて第2の出力値を生成するステップ(880)で継続することができる。ブロック870~ブロック880のアクションは、ブロック810~ブロック830のアクションと同様に実行されてよい。次いで、本方法は、意思決定ブロック845にフィードバックされ、第2の出力を、第2の閾値基準と再び比較することができる。第2の閾値基準が満たされていない場合、本方法は、PASSを第2の構成に維持し、必要に応じてブロック850~ブロック880ならびにブロック845を繰り返すステップで継続することができる。第2の閾値基準が満たされている場合、本方法800は、信号(いくつかの実装形態では、ウェイクアップまたは割り込み命令など)を、インタフェース(デジタルインタフェース455など)によってCPUに出力するステップ(890)で進めることができる。PASSがまだ第1のPASS構成にある間に第1の基準(ブロック835)と第2の基準(ブロック845)の両方が満たされていることが決定された場合、本方法800は、CPUをウェイクアップするステップ(890)ならびに(破線で示されているように)PASSを第2のPASS構成に再構成するステップで継続することもできる。いくつかの実装形態では、このアクションは任意選択的であってもよく、本方法800は、CPUが入力信号処理を引き継ぐ場合に終了させることができる。
【0062】
上記の説明は、例証を意図するものであり、限定的なものではないことを理解されたい。上記の説明を読んで理解すれば、他の多くの実装例が当業者にとって明らかになるであろう。本開示は特定の例を説明しているが、本開示のシステムおよび方法は、本明細書に記載の例に限定されるのではなく、添付の特許請求の範囲内で修正を加えて実施されてもよいことが認識されるであろう。したがって、本明細書および図面は、限定的な意味ではなく、むしろ例示的な意味で見なされるべきである。したがって、本開示の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲で権利付与される同等物の全範囲とともに決定されるべきである。
【0063】
上記で記載される方法、ハードウェア、ソフトウェア、ファームウェアまたはコードの実装形態は、処理要素によって実行可能である、機械アクセス可能媒体、機械読み取り可能媒体、コンピュータアクセス可能媒体、またはコンピュータ読み取り可能媒体に格納された命令またはコードを介して実装されてよい。「メモリ」は、コンピュータまたは電子システムなどの機械によって読み取り可能な形式で情報を提供する(すなわち格納および/または送信する)任意のメカニズムを含む。例えば、「メモリ」には、スタティックRAM(SRAM)やダイナミックRAM(DRAM)などのランダムアクセスメモリ(RAM)、ROM、磁気的または光学的記憶媒体、フラッシュメモリデバイス、電気的記憶デバイス、光学的記憶デバイス、音響的記憶デバイス、ならびに機械(例えばコンピュータ)によって読み取り可能な形式で電子命令もしくは情報を記憶もしくは送信するのに適した任意のタイプの有形の機械可読媒体が含まれる。
【0064】
「1つの実装形態」または「ある実装形態」に対する本明細書全体の参照は、実装形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも1つの実装形態に含まれていることを意味する。したがって、本明細書全体のさまざまな場所での「1つの実装形態において」または「ある実装形態において」との語句の出現は、必ずしもすべてが同じ実装形態を指すとは限らない。さらに、特定の特徴、構造、または特性は、1つまたは複数の実装形態において任意の適切な方法で組み合わせてもよい。
【0065】
前述の明細書では、特定の例示的な実装形態を参照して詳細な説明が与えられている。しかしながら、添付の特許請求の範囲に記載されているように、本開示のより広い趣旨および範囲から逸脱することなく、さまざまな修正および変更を行うことができることは明らかであろう。したがって、本明細書および図面は、限定的な意味ではなく、むしろ例示的な意味で見なされるべきである。さらに、前述の実装形態、実施形態、および/または他の例示的な言語の使用は、必ずしも同じ実装形態または同じ例を指すとは限らないが、異なる別個の実装形態、ならびに潜在的に同じ実装形態を指す場合がある。
【0066】
「例」または「例示的」という用語は、本明細書では、例、実例、または例示として機能することを意味するために使用される。本明細書で「例」または「例示的」として説明される任意の態様または設計は、必ずしも他の態様または設計よりも好適もしくは有利であるとの意に解釈すべきではない。むしろ、「例」または「例示的」という言葉の使用は、概念を具体的な形態に提示することを意図する。本出願で使用される場合、「または」という用語は、排他的な「または」ではなく、むしろ包括的な「または」を意味することを意図している。すなわち、特段の明記がない限り、または文脈から明らかでない限り、「Xは、AまたはBを含む」とは、自然な包括的順列のいずれかを意味することを意図している。すなわち、XがAを含む、XがBを含む、またはXがAとBの両方を含む場合に、「XはAまたはBを含む」とは、前述のいずれかの例を満たすことになる。付加的に、本出願および添付の特許請求の範囲で使用される「ある」および「1つ」などの記述は、単数形に向けられるべき特段の明記がない限り、またはそのことが文脈から明らかでない限り、一般に「1つまたは複数」を意味するものと解釈されるべきである。さらに、全体を通して「実施形態」または「1つの実施形態」または「実装形態」または「1つの実装形態」という用語の使用は、特段の説明がない限り、同じ実施形態または実装形態を意味することを意図したものではない。また、本明細書で使用される「第1」、「第2」、「第3」、「第4」などの用語は、異なる要素間で区別するためのラベルとして意図され、必ずしもそれらの数値指定に従った序数の意味を有するものとは限らない。