-
VERWANDTE ANMELDUNGEN
-
Die vorliegende Anmeldung ist eine internationale Anmeldung der nichtvorläufigen US-Anmeldung Nr.
16/369,723 , eingereicht am 29.3.2019, die den Nutzen der vorläufigen US-Anmeldung Nr.
62/728,290 , eingereicht am 7.9.2018 und der vorläufigen US-Anmeldung Nr.
62/770,382 , eingereicht am 21.11.2018, beansprucht, die hiermit alle durch Bezugnahme vollständig aufgenommen werden.
-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft integrierte Schaltungs- bzw. IC-Vorrichtungen mit programmierbaren Analogblöcken; insbesondere die Optimierung der Leistungsfähigkeit und des Power-Managements von IC-Vorrichtungen durch Umkonfigurieren der programmierbaren Analogblöcke als Reaktion auf sich ändernde Bedingungen.
-
HINTERGRUND
-
Integrierte Schaltungsvorrichtungen können sowohl Analog- als auch Digitalblöcke umfassen. Analogblöcke werden oft umkonfigurierbar gemacht, um Anforderungen bezüglich Multitask-Verarbeitung zu genügen und um optimales Power-Management zu erleichtern. Analogblöcke können Funktionalität liefern, wie etwa Vornehmen von Messungen und Durchführen eines Vergleichs gemessener Größen, die Digitalblöcke nicht bereitstellen können. In einer Kombination können Analog- und Digitalblöcke Flexibilität von durch Digitalblöcke ausgeführten Softwareanweisungen mit der Geschwindigkeit von Analog-Hardware kombinieren. Während Digitalblöcke besser mit rechnerisch intensiven Aufgaben umgehen können, können Analogblöcke überlegene Leistungsfähigkeit liefern, wenn Geschwindigkeit und Energiesparen maßgeblich sind. Eine sorgfältige Zuteilung der Ausführung von verschiedenen Aufgaben zwischen Analog- und Digitalblöcken ist dementsprechend wichtig, um Geschwindigkeit, Komplexität und Energieeffizienz der Verarbeitung zu optimieren. Dies ist insbesondere entscheidend, wenn integrierte Schaltungen in medizinischen elektronischen Vorrichtungen, einer Vorrichtung des Internet der Dinge und in verschiedenen tragbaren elektronischen Vorrichtungen verwendet werden, die beschränkte Energieressourcen aufweisen und bei denen der Nutzen eines effektiven Power-Managements besonders signifikant sein kann.
-
Figurenliste
-
- 1 ist eine Blockdarstellung einer beispielhaften Implementierung eines umkonfigurierbaren programmierbaren Analog-Subsystems mit niedriger Leistung.
- 2a ist eine Blockdarstellung einer beispielhaften Implementierung eines zeitkontinuierlichen Blocks (oder eines zeitdiskreten Blocks) eines beispielhaften programmierbaren Analog-Subsystems mit niedriger Leistung.
- 2b ist eine Blockdarstellung einer beispielhaften Implementierung einer Sukzessive-Approximation-Register-Analog-Digital-Umwandlerschaltung eines beispielhaften programmierbaren Analog-Subsystems mit niedriger Leistung.
- 2c ist eine Blockdarstellung einer beispielhaften Implementierung eines Analog-Referenzblocks eines beispielhaften programmierbaren Analog-Subsystems mit niedriger Leistung.
- 3 ist eine Blockdarstellung einer anderen beispielhaften Implementierung eines mit einem Digital-Subsystem, einem Eingabe/Ausgabe-Subsystem, mit systemweiten und PeripherieRessourcen integrierten umkonfigurierbaren programmierbaren Analog-Subsystems mit niedriger Leistung.
- 4 ist eine Blockdarstellung einer beispielhaften Darstellung der Verarbeitung von Eingangssignalen, die verschiedene Eingangspegel aufweisen, durch ein mit einem Digital-Subsystem integriertes umkonfigurierbares programmierbares Analog-Subsystem mit niedriger Leistung in einer möglichen Implementierung.
- 5a ist eine Blockdarstellung einer beispielhaften Implementierung der Anwendung eines umkonfigurierbaren programmierbaren Analog-Subsystems mit niedriger Leistung, das Funkempfang- und -Sendung verwendet.
- 5b ist eine Blockdarstellung zur Veranschaulichung der Anwendung eines umkonfigurierbaren programmierbaren Analog-Subsystems mit niedriger Leistung für Spracherkennung in einer beispielhaften Implementierung.
- 6 ist ein Impulsdiagramm, das relative Leistungspegel für verschiedene Zustände eines Systems, das ein umkonfigurierbares programmierbares Analog-Subsystem mit niedriger Leistung und ein Digital-Subsystem, das eine CPU (Zentralverarbeitungseinheit) enthält, umfasst, für verschiedene beispielhafte Zustände der zwei Subsysteme zeigt, in einer beispielhaften Implementierung.
- 7 ist ein Flussdiagramm einer möglichen Implementierung eines Verfahrens zur Umkonfiguration eines programmierbaren Analog-Subsystems mit niedriger Leistung als Reaktion auf ein Eingangssignal.
- 8 ist ein Flussdiagramm einer möglichen Implementierung eines Verfahrens zur Umkonfiguration eines mit einem Digital-Subsystem integrierten programmierbaren Analog-Subsystems mit niedriger Leistung als Reaktion auf ein Eingangssignal.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Aspekte und Implementierungen der vorliegenden Offenbarung betreffen die Optimierung der Leistungsfähigkeit und des Power-Managements von integrierten Schaltungs- bzw. IC-Vorrichtungen durch Verwendung autonomer Umkonfigurierbarkeit der Analogschaltungen unabhängig von dem digitalen Prozessor, der in einem Schlafmodus bleiben oder eine andere Operation ausführen kann. Der Prozessor kann sich in demselben Baustein/Substrat wie die Analogschaltungen befinden oder kann getrennt implementiert sein. Die Analogschaltungen können zu einem PASS (programmierbaren Analog-Subsystem) kombiniert sein, das in Kombination mit einem Digital-Subsystem, das eine CPU (Zentralverarbeitungseinheit) und eine Speichervorrichtung umfassen kann, oder bei einigen Implementierungen getrennt davon verwendet werden kann. Bei einigen Implementierungen kann das Digital-Subsystem eine Datenverarbeitungsvorrichtung auf großem Maßstab, eine GPU (Vielzweck-Verarbeitungseinheit) oder eine APU (Anwendungs-Verarbeitungseinheit) sein. Bei anderen Implementierungen kann das Digital-Subsystem eine MCU (Mikrocontrollereinheit) mit einer CPU und Speicher und ausgelegt zur Bestimmung einer spezifischen Operation sein. Die Mikrocontrollereinheit kann eine getrennte Schaltung oder eine in ein größeres System eingebettete Schaltung sein. Das PASS kann eine Logikschaltung (bei einigen Implementierungen in Verbindung mit einem oder mehreren endlichen Automaten) zur Entscheidungsfindung hinsichtlich Umkonfiguration einer oder mehrerer Analog-Vorrichtungen, wie etwa EA-Vorrichtungen (Eingabe-Ausgabe), Routingvorrichtungen, CTB (zeitkontinuierlicher Blöcke), zeitdiskreter Blöcke, ADC (Analog-Digital-Umwandlern) verwenden. Zum Beispiel kann das PASS beim Empfang und Verarbeiten eines Eingangssignals zu einzelnen oder mehreren Ausgangsdaten eine oder mehrere seiner programmierbaren Analogschaltungen als Reaktion auf die Ausgangsdaten umkonfigurieren. Das PASS kann eine solche Umkonfiguration durchführen, ohne die CPU aufzuwecken, wenn sich die CPU in einem Schlafzustand befindet, oder ohne die CPU-Anweisungen anzufordern, wenn sich die CPU in einem Aktiv-Zustand befindet. Das PASS kann weiter die Eingangssignale empfangen und Verarbeiten und nach weiteren Ausgangsdaten Ausschau halten. Als Reaktion auf solche weiteren Ausgangsdaten kann das PASS eine Aufweckanweisung an die CPU übermitteln. Die CPU kann Verarbeitung ausführen und bei einigen Implementierungen Konfigurationsdaten an das PASS ausgeben, mit zusätzlichen Anweisungen dafür, wie eine oder mehrere der PASS-Analogschaltungen umzukonfigurieren sind.
-
Moderne Datenverarbeitungsvorrichtungen, insbesondere Automobilvorrichtungen, am Körper tragbare Vorrichtungen, handgehaltene Vorrichtungen, Zählervorrichtungen, geräteintegrierte Vorrichtungen und dergleichen, erfordern ein zunehmend effizientes Power-Management. Viele tragbare Vorrichtungen packen signifikante rechnerische Ressourcen in kleine Formfaktoren. Kompakte Abmessungen können die Kapazität tragbarer Vorrichtungen für Energiespeicherung begrenzen. Dementsprechend wird es zunehmend entscheidend, den Energieverbrauch während der Ausführung verschiedener Aufgaben zu optimieren. Eine Aufgabe durch eine minimale Anzahl wesentlicher Komponenten auszuführen, führt im Allgemeinen zu besserer Nutzung von Energieressourcen. Ein IC kann aus einem Digital-Subsystem (z.B. einer Mikrocontrollereinheit) bestehen, das eine CPU und ein umkonfigurierbares Analog-Subsystem aufweist. Das Digital-Subsystem kann in einem Schlafmodus mit niedriger Leistung bleiben, während sich das Analog-Subsystem in einem Modus mit begrenzter Funktionalität befinden kann. Das Analog-Subsystem kann mittels seines Frontend-Moduls ein Eingangssignal (z.B. ein Sprachsignal) empfangen und das Signal nach Analogverarbeitung (z.B. Decodierung, Filterung und Verstärkung) einem Analog-Digital-Umwandler und dann zur digitalen Vorverarbeitung zuführen. Die Ausgabe der digitalen Vorverarbeitung kann angeben, dass das Eingangssignal ein bestimmtes Schwellenkriterium erfüllt oder anderweitig ein Ereignis angibt. Als Reaktion auf eine solche Bestimmung kann das Analog-Subsystem eine Aufweckanweisung an die CPU übermitteln. Danach kann die CPU in dem Speicher des Digital-Subsystems gespeicherte Anweisungen ausführen und die Parameter des Analog-Subsystems umkonfigurieren, so dass die Analogschaltungen Funktionalität bereitstellen können, die besser an die geänderten Bedingungen angepasst ist.
-
Zum Beispiel kann das Analog-Subsystem Eingangssignale auf das Auftreten einer oder mehrerer Bedingungen überwachen, wie etwa Abfall der Umgebungstemperatur unter ein bestimmtes voreingestelltes Minimum. Bei einem solchen Ereignis können die Analogblöcke die CPU aufwecken, die bei Ausführung von Software oder Firmware ein Heizsystem einschalten oder einstellen kann. Außerdem kann die CPU die Analoglöcke umkonfigurieren. Nachdem das Heizsystem eingeschaltet ist, können die Analogblöcke umkonfiguriert werden, um auf einen Temperaturanstieg über ein gewisses voreingestelltes Maximum zu überwachen. Die CPU und/oder andere Digitalblöcke können dann zu dem Schlafmodus mit niedriger Leistung zurückkehren, während die umkonfigurierten Analogblöcke weiter die Umgebungstemperatur überwachen können. Wenn die Maximaltemperatur erreicht ist, können die Analogblöcke für weitere digitale Verarbeitung (z.B. Steuerung des Heizsystems) und/oder Analogblock-Umkonfiguration ein weiteres Prozessor-Aufwecken auslösen. Als Ergebnis kann der Stromverbrauch stark reduziert werden.
-
Ein solcher Ansatz hat jedoch eine Anzahl von Unzulänglichkeiten. Er verlässt sich für die Umkonfiguration der programmierbaren Analogschaltungen auf die CPU-Funktionalität (Verarbeitungsleistung und Anweisungsausführung). Aber die CPU kann selbst bei der Ausführung einer minimalen Umkonfiguration des Analog-Subsystems eine signifikante Energie verbrauchen. Außerdem kann die CPU eine beträchtliche Zeit benötigen, um aus einem Schlafmodus in einen Aktiv-Zustand aufzuwachen, so dass die Leistungsökonomie im Schlafmodus auf Kosten einer verzögerten Leistungsfähigkeit kommen kann. Ein solcher Mangel an Umkonfigurierbarkeit der Analogschaltungen, während die CPU im Schlafmodus bleibt, kann deshalb ein Nachteil sein, wenn Power-Management und Verarbeitungsgeschwindigkeit entscheidend sind. Insbesondere in einer Situation, in der die CPU dazu aufgerufen werden kann, auf mehrere Fehlalarme zu reagieren, kann die Nutzung von Datenverarbeitungsressourcen suboptimal werden. Dieses Problem verschlimmert sich weiter, wenn verschiedene Analogblöcke feste Funktionalität aufweisen (wie etwa Auflösung oder einen Bereich von Parametern der Überwachung) und nur mit CPU-Beteiligung umkonfiguriert werden können. Als Folge werden in dynamischen Umgebungen, wenn typische Zeitintervalle zwischen überwachten Ereignissen oder Bedingungen kürzer als die für CPU-Aufwecken und Datenverarbeitung erforderlichen Zeiten werden, integrierte Schaltungen mit nur durch die CPU umkonfigurierbaren Analogblöcken unfähig zu effizientem Power-Management.
-
Aspekte und Implementierungen der vorliegenden Offenbarung gehen diese und andere Unzulänglichkeiten der existierenden ICs an, indem dynamische Konfigurierbarkeit programmierbarer Analogschaltungen ohne aktive CPU-Beteiligung oder Eingabe bereitgestellt wird. Verschiedene Analogschaltungen können zu einem LP-PASS (programmierbares Analog-Subsystem mit niedriger Leistung) kombiniert werden, das sich in einem von mehreren Zuständen befinden kann, die als Reaktion auf ein oder mehrere empfangene Eingangssignale oder externe Bedingungen ohne CPU-Eingabe auswählbar sind. Zum Beispiel kann das LP-PASS sich selbst in eine andere Konfiguration umkonfigurieren, während die CPU in einem Schlafzustand bleibt. Bei einigen Implementierungen kann sich die CPU in einem Aktiv-Zustand befinden, aber das LP-PASS kann eine Umkonfiguration durchführen, ohne CPU-Anweisungen anzufordern. Dadurch kann die CPU andere Funktionen ausführen, wie etwa Verarbeitung von digitalen Aufgaben, die mit den Aufgaben, die das LP-PASS ausführt, in Beziehung stehen können oder auch nicht. Dies kann schnellere Verarbeitung derselben Aufgabe erlauben, wenn sowohl das LP-PASS als auch die CPU verschiedene Teile derselben Aufgabe verarbeiten, oder kann gleichzeitige Verarbeitung verschiedene Aufgaben durch das LP-PASS und die CPU erlauben.
-
Eine Auswahl des Zustands des LP-PASS kann erreicht werden, indem eine Logikschaltung ein Digitalsignal von einer ADC-Schaltung (Analog-Digital-Umwandler) oder von einem Komparator empfängt. Die ADC-Schaltung kann ein oder mehrere durch Frontend-Analogschaltungen vorverarbeitete Analogsignale empfangen. Die durch das LP-PASS empfangenen Eingangssignale können vielfältige äußere Bedingungen repräsentieren. Bei einigen Implementierungen können die Eingangssignale Radiowellen, Lichtsignale, Schallwellen, Bewegungsindikatoren, Richtung, Geschwindigkeit, Temperatur, mechanischer Kontakt, chemische Zusammensetzungen oder beliebige andere Signale sein, die durch Umgebungssensoren erzeugt werden können, die den Zustand der das LP-PASS umgebenden physischen oder chemischen Umgebung repräsentieren. Bei einigen Implementierungen können Sensoren Umgebungen detektieren, die sich in signifikanten Entfernungen von dem LP-PASS befinden.
-
1 ist eine Blockdarstellung einer beispielhaften Implementierung 100 eines umkonfigurierbaren LP-PASS. Das LP-PASS 102 kann mit einer oder mehreren EA-Vorrichtungen (Eingabe-Ausgabe) verbunden sein, um Eingangssignale von einer oder mehreren Signalquellen zu empfangen. Die EA-Vorrichtungen können einen oder mehrere GPIO-Ports (General Purpose Input Output Device) 104 oder PRGIO-Blöcke (Programmable Input Output) 106 umfassen, die mehrere Anschlussstifte, Schalter oder Sensoren mit der Fähigkeit zum Liefern von Eingangssignalen an das LP-PASS 102 wie oben beschrieben umfassen können. Bei einigen Implementierungen können die EA-Vorrichtungen ein Hochfrequenz- bzw. HF-Frontend zur Funkverarbeitung umfassen, die ein drahtloses Netzwerk, ein persönliches Netzwerk oder ein softwaredefiniertes Funksystem unterstützt. Das HF-Frontend kann in der Lage sein, HF- (oder Zwischenfrequenz-) Signale zu empfangen, zu senden und/oder zu verarbeiten, darunter Verstärkung, Decodierung und/oder andere traditionelle Komponenten der Funksignalverarbeitung. Bei einigen Implementierungen können verschiedene EA-Vorrichtungen (z.B. Temperatursensoren) auf demselben Chip (z.B. demselben Si-Substrat) wie das LP-PASS 102 angebracht sein. Bei anderen Implementierungen können sich einige oder alle der EA-Vorrichtungen außerhalb des LP-PASS 102 befinden, aber kommunikativ damit gekoppelt sein.
-
Die mittels der EA-Vorrichtungen eingegebenen Signale können über mehrere MUX (Multiplexer) zu verschiedenen Analogblöcken geroutet werden. 1 zeigt ein beispielhaftes System mit zwei MUX 110 und 112. Bei anderen Implementierungen können zusätzliche MUX vorhanden sein, um Eingangsdaten von mehreren der EA-Vorrichtungen zu verschiedenen Schaltungen im LP-PASS zu routen. Die Verarbeitungspfade für die Eingangssignale sind in 1 als durchgezogene Linien gezeigt, wobei die Pfeile die Signalausbreitungsrichtung angeben. Bei einigen Implementierungen können einige der Eingangssignale zur Verarbeitung im kontinuierlichen Zeitbereich zu einem CTB (zeitkontinuierlichen Block) 120 geroutet werden. In dem CTB 120 können verschiedene Eingangssignale decodiert, verstärkt, umgewandelt (z.B. von Strom- in Spannungssignale oder von Strom- in Zeitsignale oder von Spannungs- in Zeitsignale oder von Spannungs- in Frequenzsignale und so weiter), verglichen, gepuffert oder auf ähnliche Weise verarbeitet werden. Bei einigen Implementierungen kann anstelle eines CTB oder zusätzlich zu einem CTB zur Signalverarbeitung zu diskreten Zeiten ein DTB (zeitdiskreter Block) verwendet werden. Die Ausgaben des CTB/DTB 120 können bei einer beispielhaften Implementierung in einen ADC, wie etwa einen SAR-ADC (Sukzessive-Approximation-Register) 130 eingegeben werden. Der SAR-ADC 130 kann die eingegebenen Analogsignale in Digitalsignale transformieren. Das System von Multiplexern kann einige Eingangssignale direkt unter Umgehung des CTB/DTB 120 zu dem SAR-ADC 130 routen. Zum Beispiel kann bei einigen Implementierungen ein eigener SAR-MUX 112 verwendet werden, um Eingangssignale, die direkt dem SAR-ADC 130 zugeführt werden sollen, zu routen. Ein AROUTE (Analog-Routingblock) 114 kann Steuerdaten (wie etwa Konfiguration von Schaltern) für einige oder alle der MUX des LP-PASS 120 bereitstellen. Der AROUTE 114 kann Signalroutingdaten bereitstellen, um Konnektivität zwischen den EA-Vorrichtungen und mehreren Analogblöcken, wie etwa dem CTB/DTB 120 und dem SAR-ADC 130, zu erleichtern. Unterschiedliche Konfigurationen des LP-PASS 102 können unterschiedliche Routing-Felder aufweisen. Beispielsweise kann bei einigen Konfigurationen, die für grobe Spracherkennung beabsichtigt sind, ein Toneingangssignal von einem Mikrofoneingang durch SAR-MUX 112 direkt an SAR-ADC 130 geliefert werden. Bei anderen Konfigurationen kann dagegen, wenn genauere Spracherkennung beabsichtigt ist, die Toneingabe von einem Mikrofon zuerst zur zeitkontinuierlichen oder -diskreten Verarbeitung zu dem CTB/DTB 120 geroutet werden. Als ein weiteres Beispiel kann im Fall der Raucherkennung das Routing-Feld Eingangssignale zu dem SAR-ADC 130 leiten, aber nachdem das Vorhandensein von Rauch festgestellt wurde, kann das LP-PASS 102 zu einer anderen Konfiguration, bei der die Eingangssignale mittels des CTB/DTB 120 für zusätzliche Verarbeitung, die die Rauchzusammensetzung bestimmen soll, geroutet werden, umkonfiguriert werden. Indem den MUX Steuersignale zugeführt werden, kann der AROUTE 114 solches Eingangssignal-Umrouten erleichtern. Bei einigen Implementierungen kann das LP-PASS 102 einen oder mehrere Busse umfassen. Bei einigen Implementierungen kann das LP-PASS ein Feld von Bussen umfassen. Bei einigen Implementierungen kann das Routing über Busse gesteuert werden, indem der AROUTE 114 den MUX 110 und 112 Steuersignale zuführt. Bei einigen Implementierungen können einige der Busse Direktsignalrouting zu verschiedenen Blöcken des LP-PASS 102 und den MUX 110 und 112 bereitstellen.
-
Der SAR-ADC 130 kann ein oder mehrere Signale (z.B. zeitkontinuierliche Signale) in ein oder mehrere Digitalsignale umwandeln. Der SAR-ADC 130 kann eine Binärsuche mit einer Auflösung verwenden, die von der spezifischen Konfiguration des LP-PASS 102 abhängen kann. Zum Beispiel kann in der Vorgabekonfiguration des LP-PASS zur Detektion einer gewissen Größe A der SAR-ADC 130 dafür ausgelegt sein, nur ein einziges Bit mit den Werten 0 oder 1 auszugeben, je nachdem, ob die Größe A unter oder über einem bestimmten vorbestimmten Schwellenwert liegt. Sobald die Größe A für eine bestimmte Zeitdauer (z.B. kumulativ für mehr als 5 der letzten 10 Sekunden) über dem Schwellenwert war, kann das SAR-ADC 130 in einen Zustand umkonfiguriert werden, in dem der Ausgangswert mit zwei Bit (z.B. Zustände 00, 01, 10, 11), drei Bit (001, 101 usw.) oder mehr, abhängig von der erforderlichen Auflösung, spezifiziert wird.
-
Die Funktionalität der Analogschaltungen (wie etwa MUX, CTB, SAR-ADC) kann bei einigen Implementierungen durch einen AREF (Analog-Referenzblock) 140 unterstützt werden. Der AREF 140 kann anderen Analogblöcken Referenzspannungen und Referenzströme bereitstellen. Zum Beispiel kann der AREF 140 Bandlückenspannung, Niederspannung, Hochspannung und dergleichen bereitstellen. In einem beliebigen nicht einschränkenden Beispiel kann die Niederspannung 1,1 V sein, während die Hochspannung im Bereich 2,7-5,5 V liegen kann, oder bei einem beliebigen anderen Wert. Der AREF 140 kann auf ähnliche Weise verschiedenen Analogblöcken Referenzströme bereitstellen. Bei einigen Implementierungen können Referenzspannungen und Referenzströme für den Analogblock, für den sie bereitgestellt werden, spezifisch sein. Bei einigen Implementierungen können Referenzspannungen und Referenzströme temperaturunabhängig sein. Bei einigen Implementierungen können Referenzspannungen und Referenzströme proportional zur Temperatur sein oder können eine gewisse andere vorbestimmte Temperaturabhängigkeit aufweisen. Bei einigen Implementierungen kann der AREF 140 eine Repeaterfähigkeit aufweisen, so dass Vervielfachungen der Referenzspannungen (und/oder -ströme) verschiedenen Analogschaltungen bereitgestellt werden können. Der AREF 140 kann ferner Taktsignale für verschiedene Analogschaltungen bereitstellen. Bei einigen Implementierungen kann der AREF 140 verschiedenen Analogschaltungen verschiedene Taktsignale bereitstellen.
-
Die durch die Analogblöcke (und Schaltungen in diesen Blöcken) verarbeiteten Signale können in einen Digital-Verarbeitungsblock 150 des LP-PASS 102 eingegeben werden. Zum Beispiel kann, wie in 1 durch eine durchgezogene Linie dargestellt, ein Digitalsignal von dem SAR-ADC an eine Logikschaltung 152 des Digital-Verarbeitungsblocks 150 geliefert werden. Die Logikschaltung 152 kann mehrere miteinander verbundene Logikgatter umfassen. Die Logikschaltung 152 kann in der Lage sein, Anweisungen auszuführen, die in einer Speichervorrichtung 154 gespeichert sind, die von nun an einfach als Speicher 154 bezeichnet wird. Der Speicher 154 kann bei einigen Implementierungen ein ROM (Festwertspeicher) sein. Bei anderen Implementierungen kann der Speicher 154 ein RAM (Direktzugriffsspeicher) oder ein Flash-Speicher oder eine beliebige andere Art von Speicher oder eine Kombination verschiedener Arten von Speichervorrichtungen sein.
-
Die Logikschaltung 152 kann entsprechend verschiedenen Analogeingängen des LP-PASS 102 ein oder mehrere digitale Eingangssignale verarbeiten, die durch den SAR-ADC 130 bereitgestellt werden. Zum Beispiel können Spracherkennungs-Digitaleingangssignale zusammen mit Temperatur-, Feuchtigkeits-, Atmosphärendruck- und anderen Digitaleingangssignalen verarbeitet werden. Bei einigen Implementierungen können verschiedene Digitaleingangssignale durch verschiedene Gatter der Logikschaltung 152 verarbeitet werden. Bei anderen Implementierungen können verschiedene Digitaleingangssignale durch dieselben Gatter der Logikschaltung 152, aber zeitlich sequenziell, verarbeitet werden, so dass z.B. die Verarbeitung des Digitaleingangssignals s1 in dem Zeitintervall t1 stattfinden kann, gefolgt von der Verarbeitung des Digitaleingangssignals s2 in dem Zeitintervall t2, wiederum gefolgt von der Verarbeitung des Digitaleingangssignals s1 und so weiter. Die digitalen Ausgaben der Verarbeitung der verschiedenen digitalen Eingaben durch die Logikschaltung 152 können vorübergehend oder permanent oder bis zum nächsten Booten in dem Speicher 154 gespeichert werden.
-
Die digitalen Ausgaben der Logikschaltung 152 können zum Umkonfigurieren verschiedener Analogblöcke und -schaltungen des LP-PASS 102 verwendet werden, wie in 1 schematisch durch gestrichelte Linien angegeben ist. Zum Beispiel geben die gestrichelten Linien, die sich von der Logikschaltung 152 und dem FSM 158 zu dem AROUTE 114 erstrecken, schematisch an, wie Umkonfiguration des AROUTE 114 durchgeführt werden kann. Die gestrichelten Linien von dem AROUTE 114 zu den MUX 110 und 112 geben ihrerseits an, dass das Routing von Daten durch die MUX 110 und 112 durch den AROUTE 114, z.B. durch Umkonfigurieren eines oder mehrerer MUX-Schalter, umkonfiguriert werden kann. Zum Beispiel kann sich das LP-PASS 102 in einer ersten Konfiguration - z.B. mit niedriger Leistung - befinden, wobei die Analogblöcke (wie etwa CTB/DTB 120, SAR-ADC 130) dafür ausgelegt sein können, eingegebene Analogsignale mit einer im Vergleich zu den maximalen Fähigkeiten des LP-PASS niedrigen Auflösung zu verarbeiten. Das LP-PASS 102 und seine Logikschaltung 152 können dessen ungeachtet in einem Standby-Modus bleiben, der in der Lage ist, auf Angaben gewisser Ereignisse in den Eingangsanalogsignalen zu überwachen. Zum Beispiel kann das LP-PASS 102 Audiorauschen für die Fälle menschlicher Sprache überwachen. Das LP-PASS 102 ist möglicherweise nicht in der Lage, in der niedrigsten LP-PASS-Auflösung schlüssig Sprache auszumachen, aber die Logikschaltung 152 kann in der Lage sein, Anzeichen für menschliche Sprache zu detektieren. Zum Beispiel kann der Speicher 154 Kriterien - wie etwa typische Töne und Kadenz - einer menschlichen Sprache mit der eingestellten niedrigen Auflösung zu speichern. Wenn das LP-PASS 102 die Eingangsanalogsignale auf eine Angabe eines gewissen Ereignisses hin überwacht und eine solche Angabe in einer Konfiguration mit ultraniedriger Leistung erhalten wird, die auch ein Modus mit niedriger Auflösung sein kann, kann die Logikschaltung 152 eine oder mehrere der Analogschaltungen in eine zweite Konfiguration des LP-PASS 102 umkonfigurieren, um die Auflösung der Analogsignalverarbeitung und/oder Analog-Digital-Umwandlung zu vergrößern. Dementsprechend können die Analogschaltungen in der zweiten Konfiguration eine höhere Betriebsleistung als in der ersten Konfiguration aufweisen. Bei einigen Implementierungen können die Analogschaltungen in der zweiten Konfiguration eine niedrigere Betriebsleistung als in der ersten Konfiguration aufweisen. Zum Beispiel kann die erste Konfiguration zur Implementierung eines Aktiv-Zustands verwendet werden, während die zweite Konfiguration zur Implementierung eines Schlaf-Zustands des LP-PASS verwendet werden kann. Wie nachfolgend ausführlicher besprochen wird, kann es mehrere Aktiv-Zustände geben (wie etwa Aktiv1, Aktiv2 usw.) die durch verschiedene Grade der LP-PASS-Funktionalität und verschiedene Grade des Stromverbrauchs gekennzeichnet sind. Ebenso kann es verschiedene Schlaf-Zustände geben (wie etwa Leerlauf, Tiefschlaf usw.).
-
Verschiedene LP-PASS-Konfigurationen können durch verschieden Auflösung der zeitkontinuierlichen Verarbeitung der Eingangssignale sowie verschiedene Auflösung der Ausgangsdigitalsignale gekennzeichnet sein. Zum Beispiel kann die digitale Auflösung von 8 Bit auf 12 Bit und von 12 Bit auf 16 Bit vergrößert werden, wenn das LP-PASS 102 umkonfiguriert wird. Höhere Auflösung kann längere Verarbeitungszeit und/oder größeren Stromverbrauch erfordern. Da das Verlieren der niedrigsten Auflösung zu der schnellsten Verarbeitung und/oder der niedrigsten Leistungsumwandlung führen kann, kann das LP-PASS 102 die Verarbeitung der Konfiguration niedrigster Auflösung beginnen, aber sich selbst (z.B. seinen SAR-ADC 130) als Reaktion auf Detektion von Indizien spezifischer Ereignisse umkonfigurieren.
-
Bei einigen Implementierungen kann zum Umkonfigurieren des LP-PASS 102 in die zweite Konfiguration die Logikschaltung 152 einige oder alle der Blöcke CTB/DTB 120, SAR-ADC 130, AREF 140, AROUTE 114, MUX 110 und SAR MUX 112 umkonfigurieren. Um zum Beispiel die Auflösung zeitkontinuierlicher Verarbeitung zu vergrößern, kann die Logikschaltung 152 Anweisungen für den AREF 140 zum Vergrößern der Frequenz des durch den AREF an den CTB/DTB 120 ausgegebenen Taktsignals ausführen. In einem anderen Beispiel kann zur Vergrößerung der Auflösung von Analog-Digital-Umwandlung der SAR-ADC 130 und der CTB/DTB 120 z.B. von einem 12-Bit-20-ksps-Abtastmodus in einen 12-Bit-1-MSPS-Abtastmodus umkonfiguriert werden. Bei einigen Implementierungen kann die Abtastrate gleich bleiben, aber die Auflösung zunehmen. Umgekehrt kann die Abtastrate vergrößert werden, aber nicht die Auflösung.
-
Bei einigen Implementierungen kann das LP-PASS 102 einen FSM (endlichen Automaten) umfassen. Der FSM 158 kann als eine von der Logikschaltung 152 getrennte Schaltung (oder Menge von Schaltungen) hardwareimplementiert werden. Bei einigen Implementierungen kann der FSM 158 auf denselben Schaltkreisen wie die Logikschaltung 152 implementiert werden. Bei einigen Implementierungen kann der FSM 158 als durch die Logikschaltung 152 ausgeführte Anweisungen implementiert werden. Der FSM 158 kann in der Lage sein, eine Eingabe von der Logikschaltung 152 oder direkt vom SAR-ADC 130 oder von beiden zu empfangen. Als Reaktion auf Empfang von Eingaben kann der FSM 158 in der Lage sein, einen oder mehrere FSM-Zustände auszuwählen. FSM-Zustände können Einstellungen in einer beliebigen der Analogschaltungen oder Einstellungen mehrerer der Analogschaltungen oder Einstellungen des LP-PASS 102 als Ganzes entsprechen. Der durch den FSM 158 ausgewählte Zustand kann zum Umkonfigurieren einiger oder aller der Blöcke CTB/DTB 120, SAR-ADC 130, AREF 140, AROUTE 114, MUX 110 und SAR MUX 112 verwendet werden.
-
Der FSM 158 kann eines oder mehrere eines endlichen Transduktors, einer intelligenten Logikschaltung, einer programmierbaren Logikvorrichtung, einer Steuerung, einer Schlussfolgerung-Engine, eines Akzeptors, eines Klassifizierers oder Sequenzierertyps oder eine beliebige Kombination davon sein. Ein Klassifizierer-FSM kann in der Lage sein, auf der Basis der Eingabe aus mehreren verfügbaren Zuständen einen Zustand auszuwählen. Zum Beispiel kann ein von einer Herzüberwachungsvorrichtung verwendeter FSM abhängig von dem Puls des Patienten auswählen, ob Herzrhythmuskorrekturen zu implementieren, Elektrokardiogrammmessungen vorzunehmen oder eine Mitteilung an eine medizinische Fachkraft zu senden ist. Ein Akzeptor-FSM kann in der Lage sein, eine Binärausgabe zu produzieren. Bei einigen Implementierungen bedeutet Ausgabe von Zustand 0, dass keine Änderungen der aktuellen Konfiguration des LP-PASS 102 zu implementieren sind, während Ausgabe von Zustand 1 bedeutet, dass das LP-PASS 102 umkonfiguriert werden muss. Bei einigen Implementierungen kann Auswahl der LP-PASS-Konfiguration der Reihe nach geschehen: z.B. bedeutet die Ausgabe von Zustand 1, dass die Konfiguration mit der nächsten verfügbaren Auflösung (oder dem nächsten verfügbaren Stromverbrauch) auszuwählen ist. Als ein Anschauungsbeispiel kann einer 12-Bit-20-ksps-Abtastkonfiguration des SAR-ADC 130 eine 12-Bit-1-MSPS-Konfiguration folgen, der eine 16-Bit-62,5 KSPS-Konfiguration folgt. Der FSM als Schlussfolgerungs-Engine kann beispielsweise in der Spracherkennung verwendet werden, wie etwa wenn sich das LP-PASS 102 in einem Standby-Modus, suchend nach Indizien für ein Codewort, befinden kann. Der FSM untersucht die beobachteten Phänomene im digitalen Bereich (nach ADC) und vergleicht die Daten mit vorgeladenen Daten im Speicher - um Schlussfolgerungen zu ziehen. Dieser FSM kann auch als Schlussfolgerungs-Engine wirken und Schlüsselentscheidungen in der Bildverarbeitung und auch in der Spracherkennung treffen.
-
2a, 2b und 2c zeigen einige mögliche Architekturen auf hoher Ebene eines CTB (zeitkontinuierlichen Blocks), eines SAR-ADC (Sukzessive-Approximation-Register) und eines AREF (Analog-Referenzblocks). Einige der in 2a, 2b und 2c gezeigten Komponenten und auch die in den nachfolgenden 3 und 4 können dieselben wie in 1 sein. Dementsprechend können sich Elemente mit den dreistelligen Bezugszahlen, die sich nur in der ersten Stelle unterscheiden (z.B. CTB/DTB 120, 220, 320, 420) auf dieselben Komponenten beziehen.
-
2a ist eine Blockdarstellung einer beispielhaften Implementierung des CTB/DTB 220 eines beispielhaften programmierbaren Analog-Subsystems 102 mit niedriger Leistung. Der CTB/DTB 220 kann ausreichende Bandbreite zur Unterstützung spezifizierter digitaler Abtastraten aufweisen, wie etwa 12-Bit-Abtastung mit 1 MSPS oder 16-Bit-Abtastung mit 62,5 KSPS. Bei einigen Implementierungen kann der CTB/DTB 220 zwei oder mehr Operationsverstärker 221 und ein Widerstandsnetzwerk 222 aufweisen. Bei einigen Implementierungen kann der CTB/DTB 220 ferner eine Pumpe 223 umfassen, die eine Zweifach-Ladungspumpe sein kann. Die Pumpe 223 kann zur Ermöglichung von Operationen der Operationsverstärker 221 verwendet werden. Bei einigen Implementierungen kann der CTB/DTB 220 eine interne Logikschaltung 224 zum Steuern von internem Routing mit Firmware-steuerbaren Schalter umfassen. Die Routingmatrix 225 kann mehrere Busse, Schalter und Latches aufweisen. Die Routingmatrix 225 kann auch interne Multiplexer des CTB/DTB 220 aufweisen, die von dem MUX 110 verschieden sind. Einige oder alle der Routing-Schalter können durch Komponenten außerhalb des CTB/DTB 220, wie etwa die Logikschaltung 152, der FSM 158 oder der AROUTE 114, steuerbar sein. Die Routingmatrix 225 kann bei einigen Implementierungen den CTB/DTB 220 mit mehreren EA-Anschlussstiften der EA-Vorrichtungen, wie etwa GPIO 104 und PRGIO 106, verbinden. GPIO-Anschlussstifte können zu Gruppen von 8 Anschlussstiften gruppiert werden, die getrennte Analogports repräsentieren können. Der CTB/DTB 220 kann ferner einen Decoder 226 zum Verarbeiten codierter Eingaben umfassen. Der CTB/DTB 220 kann auch eine Kondensatorschaltung 229 (z.B. ein Array von Kondensatoren) zur zeitdiskreten Verarbeitung aufweisen. Die Komponenten des CTB/DTB 220 (z.B. die Operationsverstärker 221 und das Widerstandsnetzwerk 222) können dafür ausgelegt sein, als ein oder mehrere Puffer 227 oder Komparatoren 228 zu dienen. Einige der in 2a gezeigten Komponenten des CTB/DTB 220 können optional sein und bei einigen Implementierungen nicht verwendet werden. Zum Beispiel muss die Kondensatorschaltung 229 bei einer CTB-Implementierung (zeitkontinuierlicher Block) des CTB/DTB 220 nicht vorhanden sein. Bei einigen Implementierungen kann ein kompakterer CTBm (CTB-mini) mit derselben oder ähnlichen Funktionalität wie ein typischer CTB, aber mit einer kleineren Fähigkeit, verwendet werden.
-
2b ist eine Blockdarstellung einer beispielhaften Implementierung einer SAR-ADC-Schaltung (Sukzessive-Approximation-Register-Analog-Digital-Umwandler) 230 eines beispielhaften programmierbaren Analog-Subsystems 102 mit niedriger Leistung. Der SAR-ADC 230 kann eine Abtast-/Halteschaltung 231 umfassen, um die Eingangsanalogsignale (z.B. Signale von dem SAR-MUX 112 und/oder dem CTB/DTB 220) auf der Basis einer spezifizierten Abtastfrequenz zu erfassen. Der SAR-ADC 230 kann auch einen Referenzpuffer 232 zum Speichern von durch den AREF 140 bereitgestellten Referenzsignalen (z.B. Referenzspannung und -strom) aufweisen. Der SAR-ADC 230 kann auch einen DAC (Digital-Analog-Umwandler) 233 aufweisen, der in diskreten Zeitintervallen die Analogsignale in einen oder mehrere Komparatoren 234 leiten kann. Der DAC 233 kann auch ein Kondensatorarray 235 umfassen oder damit gekoppelt sein. Der Komparator bzw. die Komparatoren 234 können in der Abtast-/Halteschaltung 231 gespeicherte Eingangssignale mit der Ausgabe des DAC 233 vergleichen, die entsprechend Differenz bestimmen und diese Differenz zu der SAR-Logikschaltung 236 senden. Die SAR-Logikschaltung 236 kann einen Sukzessive-Approximation-Algorithmus ausführen, bis die in der Abtast-/Halteschaltung 231 gespeicherten Analogsignale bis auf die Genauigkeit digitalisiert sind, die durch die Anzahl der Bit der digitalen Ausgabe des SAR-ADC 230 spezifiziert wird, z.B. 8 Bit ,12 Bit, 16 Bit, abhängig von der Konfiguration. Der SAR-ADC 230 kann den Takt 237 zur digitalen Abtastung der Eingangsanalogsignale verwenden. Der Takt kann eine Timinglogik enthalten, die verschiedene Abtastraten in verschiedenen Phasen der Analog-Digital-Umwandlung bereitstellen kann. Bei einigen Implementierungen kann der SAR-ADC 230 ferner einen oder mehrere Pegelumwandler 238 einsetzen, um digitale Steuersignale niedriger Spannung für verbesserten Rauschabstand und verminderten Stromverbrauch durch den SAR-ADC 230 in analoge Steuersignale höherer Spannung umzuwandeln. Der SAR-ADC 230 kann ferner eine Leistungsregeleinheit 239 umfassen. Einige der Komponenten des SAR-ADC 230, die in 2b gezeigt sind, können optional sein und bei einigen Implementierungen nicht verwendet werden.
-
2c ist eine Blockdarstellung einer beispielhaften Implementierung eines Analog-Referenzblocks eines beispielhaften programmierbaren Analog-Subsystems mit niedriger Leistung. Der AREF 240 kann einen Takt 241 umfassen, der den Analogschaltungen des LP-PASS 102 mehrere konfigurierbare Taktreferenzen bereitstellen kann. Zum Beispiel kann der Takt 241 Taktreferenzen für die Pumpe 223 des CTB/DTB 220, für den Takt 237 des SAR-ADC 230 und so weiter bereitstellen. Der Spannungsreferenzblock 242 kann einigen oder allen Analogblöcken (und Schaltungen in den Blöcken) des LP-PASS 102 präzise Spannungsreferenzen bereitstellen. Zum Beispiel kann der Spannungsreferenzblock 242 eine Bandlücken-Spannungsreferenz, eine Analog-Masse-Spannungsreferenz, eine Analog-Stromversorgungsspannungsreferenz und dergleichen bereitstellen. Verschiedene Analogblöcke können verschiedene Spannungsreferenzen empfangen. Der Stromreferenzblock 243 kann einigen oder allen Analogblöcken präzise Stromreferenzen bereitstellen. Dies kann zum Beispiel einen IPTAT (Strom der proportional zu Absoluttemperatur ist), einen IZTAT (Strom, der von der Absoluttemperatur unabhängig ist) und einen ICTAT (Strom, der komplementär der Absoluttemperatur (d.h. abnehmend mit dieser) ist) umfassen. Die Bereitstellung mehrerer Spannungs- und Stromreferenzwerte kann bei einigen Implementierungen durch einen PRB (programmierbaren Referenzblock) 244 erleichtert werden. Der PRB 244 kann eine durch den Spannungsreferenzblock 242 (Stromreferenzblock 243) bereitgestellte Eingangsreferenzspannung (oder Strom) nehmen, diese(n) mit einer Konstante multiplizieren und mehrere dividierte Versionen des erhaltenen Werts von Spannung (Strom) zur Verwendung in verschiedenen Blöcken des LP-PASS ausgeben. Die Ausgangsreferenzspannungen (Ströme) können durch den AROUTE 114 zu entsprechenden Analogblöcken geroutet werden. Ebenso können Ausgaben des Takts 241 auch durch den AROUTE 114 an die beabsichtigten Ziele geliefert werden. Die oben beschriebenen Operationen - Multiplikation und Division von Spannung/Strom -, die durch den AREF 240 ausgeführt werden, können durch eine interne Routingmatrix 245 erleichtert werden. Der PRB 244 kann in der Lage sein, Umkonfigurationsanweisungen von der Logikschaltung 152 oder dem FSM 158 zu empfangen. Als Reaktion auf den Empfang solcher Anweisungen kann der PRB 244 die durch den AREF 240 produzierten und ausgegebenen Spannungs- oder Stromreferenzen justieren. Einige der in 2c gezeigten Komponenten des AREF 240 können optional sein und bei einigen Implementierungen nicht verwendet werden.
-
3 ist eine Blockdarstellung einer beispielhaften Implementierung 300 eines umkonfigurierbaren LP-PASS (programmierbaren Analog-Subsystems mit niedriger Leistung) 302, integriert mit einem Digital-Subsystem 360, einem Eingabe/Ausgabe-Subsystem 303 und Peripherieressourcen 380. Das in 3 gezeigte IC-System kann in vielfältigen Anwendungen verwendet werden, zum Beispiel, aber ohne Beschränkung darauf, Internet der Dinge, Wearables, Bewegungsdetektoren, sprachaktivierte Steuergeräte, intelligente Haushaltsgeräte, tragbare Geräte, batteriebetriebene Geräte, Kraftfahrzeugvorrichtungen, chemische Erfassung, medizinische Elektronik (z.B. Glukose-, Pulsüberwachung) und vieles mehr. Das LP-PASS 302 kann sich in einer von mehreren Konfigurationen befinden, die sich durch die Funktionalität und den Stromverbrauch voneinander unterscheiden, und in einigen Implementierungen zur Implementierung verschiedener Zustände des LP-PASS 302 verwendet werden können, z.B. Tiefschlaf, Schlaf, Aktiv. Es können zusätzliche Zustände implementiert werden, wenn es in spezifischen Anwendungen vorteilhaft ist. Zum Beispiel kann eine Gruppe von Aktiv-Zuständen eine Anzahl verschiedener Zustände umfassen, z.B. Aktiv 1, Aktiv2, Aktiv3 und so weiter, die sich durch die Menge und Komplexität der Verarbeitung unterscheiden können, die durch das LP-PASS 302 durchgeführt werden kann. Zum Beispiel kann ein SAR-ADC im AktivI-Zustand in einem 12-Bit-Niedrig-Abtastmodus arbeiten, während er im Aktiv3-Zustand in einem 16-Bit-Hochabtastungsmodus arbeiten kann. Das Digital-Subsystem 360 kann sich ebenfalls in einem von mehreren Zuständen befinden. In einem solcher Zustände, einem CPU-Aus-Zustand, kann die CPU (Zentralverarbeitungseinheit) 362 des Digital-Subsystems inaktiv sein. In einem anderen Zustand kann die CPU 362 voll aktiv sein, ein CPU-Ein-Zustand. Bei einigen Implementierungen können auch zusätzliche Zwischenzustände realisiert werden, bei denen die CPU 362 teilweise aktiv mit verschiedenen Graden der CPU-Funktionalität sein kann.
-
Das LP-PASS 302 kann dieselben Blöcke wie das in 1 dargestellte LP-PASS 102 umfassen. Einige der Blöcke können in mehr als einer Kopie vorhanden sein. Zum Beispiel gibt es bei einer in 3 dargestellten Implementierung zwei Mengen von MUX, CTB, SAR-ADC, Speichervorrichtungen, Registern und FSM. Jede mit den zu den Bezugszahlen hinzugefügten Zeichen (1) und (2) bezeichnete Menge kann getrennte Verarbeitung der mittels des EA-Subsystems 303 eingegebenen Analogsignale durchführen. Jede Menge kann unabhängig durch die Logikschaltung 352 und einen mengendesignierten FSM, wie etwa den FSM 358(1) für die linke Menge und den FSM 358(2) für die rechte Menge, umkonfiguriert werden. Bei einigen Implementierungen können eine oder mehrere der in 3 als getrennt angegebenen Vorrichtungen von den zwei Mengen geteilt werden. Zum Beispiel können FSM 358(1) und FSM 358(2) tatsächlich ein einziger FSM sein, der beide Mengen bedient. Bei anderen Implementierungen kann das in 3 dargestellte System weitere Mengen umfassen, die zusätzliche CTB und SAR-ADC und andere Blöcke aufweisen. Bei anderen Implementierungen können zusätzliche Mengen (dritte, vierte ...) vorhanden sein.
-
Die Funktionalität des Mehrfach-Mengen-LP-PASS 302 kann der Funktionalität des Einzelmengen-LP-PASS 102 ähnlich sein. Das EA-Subsystem kann GPIO 304, PRGIO 306 und PI (programmierbares Interconnect) 308A umfassen. Das PI 308A kann steuern, welche Eingangssignale von GPIO 304 und/oder PRGIO 306 an das LP-PASS 302 geliefert werden. Das LP-PASS kann als Teil des LP-PASS 302 zusätzlich ein PI 308B aufweisen. Bei einigen Implementierungen kann das PI 308B ankommende Analogsignale auf verschiedene Mengen von Analogschaltungen verteilen. Zum Beispiel können chemische und physische Erfassungseingänge zu dem MUX 310(1) geleitet werden, während Audiosignale zu dem MUX 310(2) geleitet werden können. Das Routing von Signalen in dem LP-PASS 302 kann durch den AROUTE 314 erfolgen und Referenzwerte beider Mengen von Analogschaltungen können durch den AREF 304 bereitgestellt werden. Die Logikschaltung 352 kann dafür ausgelegt sein, digitale Eingaben von einigen oder allen CTB 320 zu empfangen und einen oder mehrere digitale Ausgangswerte zu produzieren. Einige der Ausgangswerte können Binärfunktionen (0 oder 1) der Eingangsanalogsignale sein. Zum Beispiel kann das Eingangstonsignal zu der Binärausgabe 1 führen, wenn die Eingabe ein Codewort enthalten hat, und zu der Binärausgabe 0, wenn die Eingabe das Codewort nicht enthalten hat. Einige Ausgangswerte können Mehrbit-Digitalzahlen sein, die Eingangsanalogsignale auf quasikontinuierliche Weise repräsentieren können. Zum Beispiel kann eine detektierte Umgebungstemperatur oder chemische Zusammensetzung von Luft oder Wasser durch eine Größe repräsentiert werden, die eine signifikante Auflösung (Genauigkeit) aufweist. Das PI 308B kann durch die Logikschaltung 352 gesteuert werden, die steuern kann, wie Eingangssignale in dem LP-PASS 302 verteilt werden, indem das PI 308B umprogrammiert wird, wie schematisch in 3 durch gestrichelte Linien gezeigt. Das LP-PASS 302 kann auch eine Leistungsüberwachungsvorrichtung 359 zur Steuerung eines Leistungspegels des LP-PASS sowie des Timings zum Herauf-/Herunterfahren verschiedener Blöcke des LP-PASS 302 aufweisen. Timing kann spezifische Instanzen des Herauf-/Herunterfahrens (einschließlich vollständige und teilweise Reduktion der Leistung) sowie Dauer der Herauf-/Herunterfahrübergänge umfassen. Die Leistungsüberwachungsvorrichtung 359 kann Überwachungsfunktionalität sowohl für die Analogblöcke des LP-PASS 350 als auch den Digitalverarbeitungsblock 350 bereitstellen. Die Leistungsüberwachungsvorrichtung 359 kann durch die Logikschaltung 352 und/oder den FSM 354 gesteuert werden. Bei einigen Implementierungen kann die Leistungsüberwachungsvorrichtung 359 ihre eigene interne Logik aufweisen und kann in der Lage sein, autonom von der Logikschaltung 352/dem FSM 354 zu arbeiten.
-
Die Logikschaltung 352 oder der FSM 358 können bestimmen, ob ein oder mehrere Ausgangswerte ein erstes Kriterium erfüllen. Bei einigen Implementierungen kann das erste Kriterium durch einen ersten Schwellenwert repräsentiert werden, und das erste Kriterium ist erfüllt, wenn der Ausgangswert einen ersten Schwellenwert überschreitet. Bei einigen Implementierungen ist das erste Kriterium erfüllt, wenn der Ausgangswert unter dem ersten Schwellenwert liegt. Der Pluralausdruck „Kriterien“ versteht sich in der vorliegenden Offenbarung als sowohl seine Wörterbuchbedeutung (plural) als auch die verwandte Singularbedeutung („Kriterium“) einschließend. Dementsprechend umfasst der Ausdruck „erste Kriterien“ (oder „zweite Kriterien“ und dergleichen) Implementierungen, bei denen ein einziger Ausgangswert mit einem einzigen Schwellenwert verglichen werden kann, sowie Implementierungen, bei denen mehrere Ausgangswerte mit mehreren Schwellenwerten verglichen werden können. Auf ähnliche Weise sollte ein Singularausdruck „Schwellenwert“ auch als Implementierungen mit mehreren Schwellenwerten einschließend aufgefasst werden.
-
Der erste Schwellenwert kann in dem Speicher 354(1) oder 354(2) gespeichert werden. Bei einigen Implementierungen kann der erste Schwellenwert in den Registern 356(1) oder 356(2) gespeichert werden. Bei einigen Implementierungen kann der erste Schwellenwert in den Einstellungen der FSM 358(1) oder 358(2) gespeichert werden. Wenn bestimmt wird, dass das erste Kriterium erfüllt ist, können die Logikschaltung 352 und/oder die entsprechenden FSM 358 das LP-PASS 302 von einer ersten PASS-Konfiguration in eine zweite PASS-Konfiguration umkonfigurieren, die eine andere Konfigurationseinstellung aufweist. Die Konfigurationseinstellung kann Parameter umfassen, die eine Funktionalität mindestens einer programmierbaren Analogschaltung bestimmen, wie etwa Taktrate des CTB/DTB 320, Auflösung und Abtastrate des SAR-ADC 330, Routing-Felder des AROUTE 314, Analogreferenzen des AREF 340 und dergleichen. Die Einstellung(en) für die zweite PASS-Konfiguration kann/können in dem Speicher 354, in Registern 356 oder in den Einstellungen der FSM 358 gespeichert werden. Bei einigen Implementierungen können die Register 356 in ROM implementiert werden, und in ihnen gespeicherte Konfigurationseinstellungen können nicht modifiziert werden. Bei einigen Implementierungen können die Register 356 RAM-implementiert sein und können durch die CPU 362 des Digital-Subsystems 360 modifiziert werden. Bei einigen Implementierungen können einige Konfigurationseinstellungen in RAM (entweder in dem Speicher 354 oder in den Registern 356) gespeichert werden, während andere Konfigurationseinstellungen in ROM (entweder in dem Speicher 354 oder in den Registern 356) gespeichert werden können. Bei einigen Implementierungen können Konfigurationseinstellungen in Registern 356 gespeichert werden, während durch das LP-PASS 302 gesammelte Daten in dem Speicher 354 gespeichert werden können. Bei einigen Implementierungen können die Konfigurationseinstellungen die Zustände eines oder mehrerer Schalter eines oder mehrerer von CTB/DTB 320, SAR-ADC 330, AROUTE 314, AREF 340 und dergleichen repräsentieren.
-
Wenn sich das LP-PASS 302 in der ersten Konfiguration befindet, kann sich die CPU 362 des Digital-Subsystems 360 im CPUAus-Zustand befinden. Wenn das LP-PASS 302 in die zweite Konfiguration umkonfiguriert wird, kann die CPU im CPU-Aus-Zustand bleiben. Das LP-PASS 302 kann in der zweiten Konfiguration weiter die Analogeingangssignale empfangen und verarbeiten. Die Logikschaltung 352 oder der FSM 358 können danach bestimmen, dass ein oder mehrere Ausgangswerte in der zweiten Konfiguration ein zweites Kriterium erfüllen. Zum Beispiel kann der Ausgangswert der Logikschaltung 352 über (oder unter) dem ersten zweiten Schwellenwert liegen. Wenn dies geschieht, kann die Logikschaltung 352 mittels einer (nicht gezeigten) digitalen Schnittstelle ein Aufwecksignal an die CPU 362 ausgeben und CPU-Übergang in den CPU-Ein-Zustand auslösen. Bei einigen Implementierungen kann das Aufwecksignal eine Anweisung, wie etwa eine digitale Anweisung, für die CPU zum Aufwachen sein. Bei anderen Implementierungen kann das Aufwecksignal ein Datensignal sein, das keine Anweisung an die CPU 362 enthält, aber dergestalt, dass bewirkt wird, dass die CPU 362 aufwacht. In dem Ein-Zustand kann die CPU 362 Anweisungen aus dem Speicher 364 des Digital-Subsystems 360 laden und einen digitalen Code ausführen. Als Ergebnis der Codeausführung kann die CPU 362 Konfigurationsdaten mit Anweisungen zu dem LP-PASS 302 (z.B. zu der Logikschaltung 352 und/oder den FSM 358) senden, um das LP-PASS in eine dritte PASS-Konfiguration umzukonfigurieren. Die Einstellungen für die dritte Konfiguration können bei einigen Implementierungen aus dem LP-PASS-Speicher 354 oder den Registern 356 abgerufen werden. Bei einigen Implementierungen kann die CPU 362 zuerst Konfigurationseinstellungen in einer oder mehreren RAM-Vorrichtungen des LP-PASS 302 (z.B. in dem Speicher 354 oder in den Registern 356) abspeichern und die Logikschaltung 352 anweisen, diese gespeicherten Einstellungen abzurufen. Bei einer Implementierung kann die CPU 362 die Einstellungen verschiedener Analogblöcke des LP-PASS 302 direkt ohne Beteiligung der Logikschaltung 352 modifizieren. Bei einigen Implementierungen kann die CPU 362 bei Auftreten einer gewissen vorbestimmten Bedingung neue Konfigurationseinstellungen in den Speicher 354 oder in die Register 356 laden. Wenn zum Beispiel das LP-PASS 102 Rauch in der Umgebungsluft detektiert, kann das LP-PASS 102 ein Aufwecksignal an die CPU 362 ausgeben, und die CPU 362 kann neue Konfigurationseinstellungen zum Umkonfigurieren des LP-PASS 102 von Detektion von Rauch in Bestimmung seiner chemischen Zusammensetzung laden. Bei einigen Implementierungen kann die CPU 362 neue Konfigurationseinstellung unabhängig von den Eingangssignalen einfach als Teil einer Aktualisierung, z.B. einer planmäßigen Aktualisierung (zu einer spezifischen Tageszeit), in den Speicher 354 oder in die Register 356 laden.
-
Bei einigen Implementierungen kann das LP-PASS 302 in der zweiten Konfiguration kein zweites Analogeingangssignal empfangen. Stattdessen kann bei Umkonfiguration (und ohne Aufwecken der CPU 362) das LP-PASS 302 das erste Analogeingangssignal, das während der anfänglichen Verarbeitung gespeichert wurde, die in der ersten PASS-Konfiguration durchgeführt wurde, neu verarbeiten. Zum Beispiel kann das erste Analogeingangssignal in der Abtast-/Halteschaltung 231 des SAR-ADC 330 gespeichert werden. Nachdem das LP-PASS 302 in die zweite Konfiguration, die z.B. eine höhere SAR-ADC-Abtastrate aufweist, umkonfiguriert wurde, können der umkonfigurierte SAR-ADC 330 und die Logikschaltung 352 das gespeicherte Eingangssignal mit einer neuen (höheren) Auflösung neu verarbeiten, um einen neuen Ausgangswert zu bestimmen. Dieser neue Ausgangswert kann dann mit dem zweiten Schwellenwert verglichen werden und es kann entschieden werden, ob die CPU 362 aus ihrem Aus-Zustand aufgeweckt werden soll.
-
Bei einigen Implementierungen kann das LP-PASS 30 nach Empfang und Verarbeitung der Analogeingangssignale ein Signal an die CPU 362 ausgeben, das von einem Aufwecksignal verschieden ist. Bei einigen Implementierungen ist das an die CPU 362 ausgegebene Signal ein Modusauswahlsignal. Zum Beispiel kann sich bei einigen Implementierungen die CPU 362 anfänglich im CPU-Ein-Zustandbefinden, und die Logikschaltung 352 kann ein Signal an die CPU 362 ausgeben, das bewirkt, dass die CPU 362 in den CPU-Aus-Zustand übergeht. Bei einigen Implementierungen kann das Modusauswahlsignal bewirken, dass die CPU 362 zwischen verschiedenen Aktiv-Modi (Zuständen) übergeht.
-
Bei einigen Implementierungen kann das LP-PASS 302 beim Durchlaufen von mehreren Umkonfigurationen in Konfigurationen mit schrittweise eskalierender Funktionalität (z.B. Geschwindigkeit, Genauigkeit und Auflösung) und schrittweise eskalierendem Stromverbrauch keine Aufweckanweisung an die CPU ausgeben, bevor die CPU 362 schließlich aufgeweckt wird. Die Sequenz von LP-PASS-Zuständen kann zum Beispiel folgendermaßen sein: Schlaf, Aktiv1, Aktiv2, Aktiv3, gefolgt von einer Aufweckanweisung an die CPU 362. Bei einer Implementierung kann das LP-PASS 302 Zurückkehren und Deeskalieren, ohne die CPU 362 aufzuwecken, wenn bestimmt wird, dass keine aktive CPU-Beteiligung oder -eingabe notwendig ist: Aktiv1, Aktiv2, Aktiv3, Aktiv2, Aktiv1. Bei einigen Implementierungen kann das LP-PASS 302 in den Zustand Schlaf (oder Tiefschlaf) deeskalieren. Bei einigen Implementierungen kann das LP-PASS 302 sich selbst periodisch am Anfang eines Überwachungszeitraums in einen der Aktiv-Zustände umkonfigurieren und am Ende eines solchen Zeitraums zu dem Zustand Schlaf (oder Tiefschlaf) zurückkehren.
-
Das Digital-Subsystem 360 kann ein Vielzweck-Verarbeitungssystem oder ein Spezialzweck-Verarbeitungssystem sein, das dafür ausgelegt ist, eine begrenzte Anzahl von Anweisungen auszuführen. Bei einigen Implementierungen kann das Digital-Subsystem 360 eine MCU (Mikrocontrollereinheit) sein. Das Digital-Subsystem 360 kann Flash-Speicher 366, eine DMA-Schaltung (Direct Memory Access) 368 sowie andere herkömmliche Komponenten umfassen, wie etwa Monitore, EA-Vorrichtungen, Netzwerkadapter und so weiter. Das Digital-Subsystem 360 kann Zugang zu einer Cloud-Speicherung haben. Die durch das Digital-Subsystem 360 durchgeführte Datenverarbeitung kann ganz oder teilweise eine entfernte (z.B. Cloud-) Datenverarbeitung sein.
-
Das System 300 kann eine Anzahl von systemweiten Ressourcen 370 aufweisen, wie etwa einen internen Hauptoszillator 372 und einen Referenzblock 374 zur Bereitstellung von Spannung und Strom für die Komponenten des Digital-Subsystems und bei einigen Implementierungen für den AREF 340. Die systemweiten Ressourcen können auch einen PLL (Phasenregelkreis) 376 zur Erzeugung phasenverriegelter Referenzsignale umfassen. Das System 300 kann auch eine Anzahl von Peripherieressourcen 380 aufweisen, die kapazitive Erfassungsarrrays 382, einen Watchdog-Timer 384, einen seriellen Kommunikationsblock 386, eine Flüssigkristallanzeige 388 und einen TCPWM (Timer-Zählerpulsbreitenmodulator) 389 umfassen können.
-
Bei einigen Implementierungen können alle Komponenten des Systems 300 auf demselben Chip (Substrat) implementiert werden, so wie es durch das gestrichelte rechteckige SoC (System-on-Chip) 390 mit niedriger Leistung dargestellt ist. Bei einigen Implementierungen können einige der Komponenten des Systems 300 außerhalb des Chips implementiert werden. Zum Beispiel können einige oder alle der Peripherieressourcen 380 und/oder des EA-Subsystems 303 außerhalb des Chips implementiert und durch einen oder mehrere (nicht gezeigte) Busse mit dem Chip verbunden werden, der das LP-PASS 302 und das Digital-Subsystem 360 hostet. Bei einigen Implementierungen können das LP-PASS 302 und das Digital-Subsystem 360 als getrennte SoC auf verschiedenen (z.B. Si-) Substraten implementiert werden.
-
4 ist eine Blockdarstellung einer beispielhaften Veranschaulichung 400 der Verarbeitung von Eingangssignalen mit verschiedenen Eingangspegeln durch ein umkonfigurierbares LP-PASS (programmierbares Analog-Subsystem mit niedriger Leistung) 402, das mit einem Digital-Subsystem 460 integriert ist, in einer möglichen Implementierung.
-
Das LP-PASS 402 kann eine in 1 gezeigte Einzelmengen-Vorrichtung, eine in 3 dargestellte Zweimengen-Vorrichtung oder eine Mehrfach-Mengen-Vorrichtung sein. 4 zeigt die Funktionalität des LP-PASS 402 in zwei beispielhaften Situationen. In der ersten Situation hat ein Eingangssignal 401 einen Eingangspegel über einem ersten Schwellenkriterium zur Umkonfiguration des LP-PASS 402. Aber der Eingangspegel des Signals 401 kann unter einem zweiten Schwellenkriterium liegen. Folglich konfiguriert sich das LP-PASS 402 selbst um, gibt aber kein Signal an die CPU 462 aus. Bei einigen Implementierungen kann sich der Ausdruck „Eingangspegel“ auf einen Spannungspegel, einen Strompegel, einen Pegel, der eine Ladung angibt, oder eine beliebige andere physikalische oder chemische Größe oder eine Änderung einer beliebigen physikalischen oder chemischen Größe beziehen. In der zweiten Situation hat ein Eingangssignal 403 einen Eingangspegel, der über dem zweiten Schwellenkriterium zum Ausgeben eines Signals an die CPU 462 liegt. Die Eingangssignale 401 und/oder 403 werden zuerst durch eine Frontend-Schnittstelle 405 empfangen. Die Frontend-Schnittstelle 405 kann Vorverarbeitung der Eingangssignale 401 und/oder 403 durchführen. Zum Beispiel kann die Frontend-Schnittstelle 405 ein Mikrofon zum Umwandeln von Audiosignalen in elektrische Signale, die durch die LP-PASS-Analogschaltkreise erkannt werden können, oder mehrere Funkschaltungen und -vorrichtungen (Antennen, Verstärker, Filter usw.) zum Umwandeln von Funkwellen in elektrische Signale umfassen. Die Frontend-Schnittstelle 405 kann beliebige Komponenten des EA-Subsystems 303 und der MUX 310, 312 umfassen. Die durch die Frontend-Schnittstelle 405 vorverarbeiteten Signale können zur zeitkontinuierlichen oder -diskreten Verarbeitung in den CTB/DTB 420 und dann zur Umwandlung in digitale Werte in den SAR-ADC 430 eingegeben werden. Der CTB/DTB 420 und/oder der SAR-ADC 430 können anfänglich Einstellungen aufweisen, die einer ersten LP-PASS-Konfiguration entsprechen. Die durch den SAR-ADC 430 digitalisierten Signale können in den Digital-Verarbeitungsblock 450 eingegeben werden, spezieller in die Logikschaltung 452 und/oder den FSM 458. Die Logikschaltung 452 und/oder der FSM 458 können einen oder mehrere Ausgangswerte erzeugen und bestimmen, ob die Ausgangswerte ein oder mehrere Kriterien erfüllen, wie etwa bei einigen Implementierungen das erste Kriterium für Umkonfiguration des LP-PASS 402 und das zweite Kriterium für das Ausgeben eines Signals an die CPU 462. Wenn die Logikschaltung 452 und/oder der FSM 458 bestimmen, dass für das Eingangssignal 401 die ersten Kriterien erfüllt sind, aber die zweiten Kriterien nicht erfüllt sind, können die Logikschaltung 452 und/oder der FSM 458 das LP-PASS 402 in die zweite PASS-Konfiguration umkonfigurieren.
-
Bei einigen Implementierungen können die ersten Kriterien mehrere Metriken umfassen. Abhängig von der Anwendung der mehreren Metriken auf ein oder mehrere Ausgangswerte kann die zweite PASS-Konfiguration aus mehr als einer möglichen Konfiguration ausgewählt werden. Bei einigen Implementierungen kann, wenn eine bestimmte Teilmenge der ersten Kriterien erfüllt ist, die Umkonfiguration des LP-PASS 402 mit Hilfe eines oder mehrerer vorkonfigurierter Zustände der FSM 458 durchgeführt werden. Der FSM 458 kann verwendet werden, um schnelle Umkonfiguration des LP-PASS 402 zu erleichtern. Wenn keine der Teilmengen der ersten Kriterien erfüllt sind, so dass keiner der vorkonfigurierten Zustände des FSM 458 auszuwählen ist, kann die Umkonfiguration des LP-PASS 402 durch die Logikschaltung 452 durchgeführt werden. Bei einigen Implementierungen können die Einstellungen für die zweite Konfiguration des LP-PASS 402 aus dem LP-PASS-Speicher 454 abgerufen werden. Bei einigen Implementierungen kann der LP-PASS-Speicher 454 ein oder mehrere ROM-Register umfassen, z.B. Register 356 zum Speichern von Konfigurati onseinstell ungen.
-
Die Einstellungen für die ausgewählte zweite PASS-Konfiguration können auf die Frontend-Schnittstelle 405, den CTB/DTB 420, den SAR-ADC 430 und andere in 4 nicht explizit gezeigte LP-PASS-Blöcke (wie etwa AROUTE, AREF) angewandt werden, wie durch offene Pfeile angegeben. Das LP-PASS 402 kann danach zusätzliche Eingaben verarbeiten. Bei einigen Implementierungen kann das LP-PASS 402 zuerst das anfängliche Eingangssignal (z.B. das Eingangssignal 401) mit erhöhter Auflösung neu verarbeiten. Die Eingangssignale können für solche nachfolgende Verarbeitung in einem oder mehreren Puffern (z.B. in dem Abtast-/Haltepuffer 231) des LP-PASS 402 gespeichert werden.
-
Wenn eine Über-Schwellen-Eingabe 201 durch das LP-PASS 402 verarbeitet wird, können die Logikschaltung 452 und/oder der FSM 458 bestimmen, dass der Ausgangswert bzw. die Ausgangswerte die zweiten Kriterien erfüllen. Als Reaktion auf das Bestimmen, dass das zweite Kriterium erfüllt ist, kann der Digital-Verarbeitungsblock über die Digital-Schnittstelle 455 eine Aufweckanweisung an das Digital-Subsystem 460 ausgeben, um die CPU 462 aus ihrem CPU-Aus-Zustand aufzuwecken. Als Reaktion auf das Signal von dem LP-PASS 102 kann die CPU 462 in den CPU-Ein-Zustand übergehen. Die Aufweckanweisungen können eine Unterbrechungsnachricht enthalten, die einen Grund für das Aufwecken beschreibt. Die CPU 462 kann dann (z.B. aus dem Speicher 464) als Reaktion auf die in der Unterbrechungsnachricht enthaltenen spezifischen Gründe einen bestimmten Code laden und ausführen. Bei einigen Implementierungen kann die CPU 462 Anweisungen zum Übergang in eine dritte PASS-Konfiguration an das LP-PASS 402 ausgeben. Die dritte PASS-Konfiguration kann bei einigen Implementierungen verwendet werden, um einen der Aktiv-LP-PASS-Zustände zu implementieren. Bei anderen Implementierungen kann die dritte PASS-Konfiguration verwendet werden, um einen Schlaf- oder Tiefschlaf-Zustand zu implementieren. Bei einigen Implementierungen gibt die CPU 462 möglicherweise keine Umkonfigurationsanweisungen an das LP-PASS 402 aus, aber das LP-PASS 402 kann sich selbst gemäß einer der oben beschriebenen Prozeduren in die dritte Konfiguration umkonfigurieren.
-
Bei einigen Implementierungen können, wenn sich das LP-PASS 402 in einem seiner Aktiv-Zustände befindet und sich die CPU 462 in ihrem CPU-Ein-Zustand befindet, das LP-PASS 402 und die CPU 462 dieselbe Aufgabe, z.B. Spracherkennung, verarbeiten. Bei anderen Implementierungen können das LP-PASS 402 und die CPU 462 verschiedene Aufgaben verarbeiten. Zum Beispiel kann das LP-PASS 402 Luftfeuchtigkeit überwachen, während die CPU 462 das Heizsystem justiert. Als ein andere Beispiel kann das LP-PASS 402 die Helligkeit von durch intelligente Fenster durchgelassener natürlicher Beleuchtung überwachen, während die CPU 462 Klimaanlagenparameter optimiert. Wenn die aktuelle Aufgabe gelöst wurde, kann die CPU 462 in den CPU-Aus-Zustandübergehen und weitere Konfigurationsanweisungen an das LP-PASS 402 ausgeben. Bei einigen Implementierungen kann das LP-PASS eine Angabe empfangen, dass die CPU 462 in den CPU-Aus-Zustand übergegangen ist, und sich selbst ohne CPU-Beteiligung oder Eingabe in einen Vorgabezustand (z.B. Schlaf oder Aktiv1) umkonfigurieren.
-
Bei einigen Implementierungen kann das durch das LP-PASS 102 an die CPU 462 ausgegebene Signal eine Aufweckanweisung sein. Als Reaktion auf das Empfangen einer solchen Anweisung kann die CPU 462 aus ihrem CPU-Aus-Zustand aufwachen. Bei einigen Implementierungen kann das Ausgangssignal ein Unterbrechungssignal für die CPU 462 sein, die sich im CPU-Ein-Zustand befinden kann, aber andere Aufgaben verarbeitet, z.B. Aufgaben, die nicht mit den durch das LP-PASS 402 ausgeführten Aufgaben zusammenhängen. Als Reaktion auf das Empfangen einer solchen Unterbrechungsanweisung ändert die CPU 462 ihren Zustand möglicherweise nicht, kann aber die Aufgabe, die sie aktuell ausführt, unterbrechen und zu einer anderen Aufgabe wechseln, z.B. Umkonfigurieren des LP-PASS 402, wie oben erläutert. Bei einigen Implementierungen kann das Ausgangssignal ein „Schlaf“-Signal für die CPU 462 zum Wechseln in den CPU-Aus-Zustand sein. Ein solches Signal kann zum Beispiel durch das LP-PASS 402 als Reaktion auf das Nichtauftreten eines bestimmten Ereignisses innerhalb eines vorbestimmten Zeitraums ausgegeben werden.
-
5a ist eine Blockdarstellung einer beispielhaften Implementierung 500(a) der Anwendung eines umkonfigurierbaren LP-PASS (programmierbaren Analog-Subsystems mit niedriger Leistung) unter Verwendung von Funkempfang und - sendung. Die gezeigte Implementierung kann als Teil einer Steuerung des Internet der Dinge verwendet werden. Die gezeigte Implementierung kann als eine Schnittstelle mit Cloud- oder anderen digitalen und/oder analogen Vorrichtungen unter Verwendung eines lokalen Netzwerks, eines persönlichen Netzwerks oder beliebiger anderer Netzwerke und Protokolle auf der Basis von Funkempfang und/oder -sendung verwenden. Eine oder mehrere Antennen 501 können für das Empfangen und Senden von Funkwellen durch einen Empfänger 502 und einen Sender 504 verwendet werden. Bei einigen Implementierungen kann der Empfänger 502 eine Empfängerantenne 501(R) verwenden, während der Sender 504 eine getrennte Sendeantenne 501(T) verwenden kann. Bei anderen Implementierungen kann eine einzige Antenne sowohl für das Senden als auch das Empfangen verwendet werden. Die Antenne kann zum Beispiel eine MIMO-Antenne (mehrere Eingänge und mehrere Ausgänge) sein. Das von der Antenne 501(R) empfangene Funksignal kann in das FEM-R (Empfänger-Frontendmodul) 506(R) geleitet werden. Das FEM-R 506(R) kann Multiplexer, Filter (z.B. Bandpassfilter), rauscharme Hochfrequenzverstärker, einen oder mehrere Abwärtsmischer, Frequenzumtastungs- und/oder Amplitudenumtastungsmodule und andere Schaltkreise umfassen, die zum Verarbeiten von Funksignalen verwendet werden können. Bei einigen Implementierungen kann die Ausgabe des FEM-R 506(R) durch einen Decoder 508 verarbeitet werden.
-
Die Ausgabe des Empfängers 502 kann dem LP-PASS 512 zugeführt werden. Das LP-PASS 512 kann irgendeines der LP-PASS 102, 302, 402 oder dergleichen sein. Das LP-PASS 512 kann sich wie oben offenbart in einem der Zustände mit niedriger Leistung befinden. Das LP-PASS 512 kann, als Reaktion auf die Analog- und Digitalverarbeitung der durch die Antenne 501(R) empfangenen Signale, in der Lage sein sowohl sich selbst als auch das FEM-R 506(R) umzukonfigurieren. Bei einigen Implementierungen kann das LP-PASS 512 in der Lage sein, über den Sender 504 und die Antenne 501(T) Funksignale zu senden. Das zu sendende Signal kann in dem Speicher des LP-PASS 512 gespeichert und durch den FSM des LP-PASS 512 ausgewählt werden, wenn die digitale Ausgabe des LP-PASS 512 ein oder mehrere vorbestimmte Kriterien erfüllt. Bei einigen Implementierungen kann das zu sendende Signal durch die Logikschaltung des LP-PASS 512 bestimmt werden. Das Signal kann durch das DAC-Modul (Digital-Analog-Umwandler) 516 in eine analoge Form umgewandelt werden. Bei einigen Implementierungen kann das Signal durch einen Codierer 518 codiert und dem Sender-Frontend-Modul FEM-T 506(T) zugeführt werden. Das FEM-T 506(T) kann Multiplexer, Filter (z.B. Bandpassfilter), rauscharme Hochfrequenzverstärker, einen oder mehrere Abwärtsmischer, Frequenzumtastungs- und/oder Amplitudenumtastungsmodule und andere Schaltkreise umfassen.
-
Das LP-PASS 512 kann zusammen mit dem Digital-Subsystem 514 auf demselben Chip (z.B. demselben Si-Substrat) z.B. als ein SoC (System-on-Chip) mit niedriger Leistung 516 hergestellt werden. Bei einigen Implementierungen kann das SoC 516 das SoC 390 sein. Das Digital-Subsystem 514 kann eine CPU, einen Speicher und eine Digital-Schnittstelle umfassen. Bei einigen Implementierungen kann das Digital-Subsystem 514 eine MCU sein. Während oben beschriebener Funksignalverarbeitung kann sich das Digital-Subsystem 514 in dem CPU-Aus-Zustand befinden. Bei einigen Implementierungen kann, wenn digitale Ausgaben des LP-PASS 512 ein oder mehrere Kriterien zum Aufwecken der CPU erfüllen, das Digital-Subsystem 514 Funkempfang und/oder Funksendung übernehmen. Das Digital-Subsystem 514 kann auch das LP-PASS 512 umkonfigurieren, wie oben mit Bezug auf 3 und 4 beschrieben.
-
Bei einigen Implementierungen können der Empfänger 502 und der Sender 504 auf demselben Chip, z.B. dem Sendeempfänger-SoC 520, angebracht sein. Bei einigen Implementierungen kann das Sendeempfänger-SoC 520 ein IoT-Chip (Internet der Dinge) sein. Bei einigen Implementierungen können der Empfänger 502, der Sender 504 und das LP-PASS 51 auf demselben Chip angebracht sein. Bei einigen Implementierungen können sich der Empfänger 502 und der Sender 504 einige Komponenten teilen. Zum Beispiel können sich FEM-R 506(R) und FEM-T 506(T) Filter, Verstärker und/oder andere Komponenten teilen oder als ein einziges Modul implementiert werden. Bei einigen Implementierungen können der Empfänger 502, der Sender 504 und das LP-PASS 512 auf demselben Chip angebracht werden. Bei einigen Implementierungen können der Empfänger 502, der Sender 504, das LP-PASS 512 und das Digital-Subsystem 514 auf demselben Chip angebracht sein. Bei einigen Implementierungen können anstelle des Empfängers 502 und des Senders 504 ein oder mehrere Netzwerkadapter verwendet werden, und es kann Daten-Streaming (z.B. zu/von einem Netzwerk, einer Cloud) anstelle von Funkempfang/-sendung verwendet werden.
-
5b ist eine Blockdarstellung einer beispielhaften Implementierung 500b einer Anwendung eines umkonfigurierbaren programmierbaren Analog-Subsystems mit niedriger Leistung für Spracherkennung. Die Implementierung 500b kann einschließlich, aber ohne Beschränkung darauf, im Kontext von Wearables, Internet der Dinge, Kraftfahrzeugen oder Vielzweckanwendungen verwendet werden. In einer beispielhaften Veranschaulichung von 5b kann ein Tonsignal durch ein Mikrofon 530 detektiert und mittels einer Analog-Schnittstelle 540 zu einem adaptiven Erfassungssystem mit niedriger Leistung 550, das ein LP-PASS 552 und ein Digital-Subsystem 554 umfassen kann, gesendet werden. Das adaptive Erfassungssystem mit niedriger Leistung 550 kann bei einer beispielhaften Implementierung in einer geräuschvollen Umgebung verwendet werden, um dabei zu helfen, menschliche Sprache zu detektieren und zu unterscheiden. Das Digital-Subsystem 554 kann eine CPU aufweisen, die sich im CPU-Aus-Zustand befinden kann, wenn gerade keine aktive Sprache detektiert wird. Bei einigen Implementierungen kann sich das LP-PASS 552 in einem der Aktiv-Zustände oder einem der Zustände Schlaf oder Tiefschlafbefinden. Zum Beispiel kann bei dem LP-PASS 552 im Schlaf-Zustand seine Logikschaltung heruntergefahren und sein SAR-ADC so ausgelegt sein, dass er minimale Auflösung (z.B. 8 Bit 1 ksps) und die niedrigste Abtastrate aufweist. Bei Detektion eines spezifischen Ereignisses - wie etwa Detektion einer Signatur einer menschlichen Sprache - kann sich das LP-PASS 552 selbst in einen der Aktiv-Zustände umkonfigurieren. Zum Beispiel kann der FSM des LP-PASS 552 auf die Signatur einer menschlichen Sprache reagieren und das LP-PASS 552 in einen der Aktiv-Zustände versetzen. In der neuen Konfiguration kann die Logikschaltung des LP-PASS 552 bei einer veranschaulichenden, nicht einschränkenden Implementierung aufgeweckt werden, und die Digital-Auflösung und die Abtastrate des SAR-ADC kann erhöht werden, z.B. auf 16 Bit, 44,1 ksps. In dem neuen Zustand kann das LP-PASS 552 weiter die mittels der Analog-Schnittstelle 540 gelieferten Eingangsaudiosignale auf weitere Signaturen menschlicher Sprache hin überwachen. Wenn keine Sprache detektiert wird, kann das LP-PASS 552 nach Ablauf einer bestimmten vorbestimmten Zeit zum Vorgabemodus (z.B. 8 Bit, 1 ksps) zurückkehren.
-
Wenn jedoch weitere Sprache detektiert wird, kann das LP-PASS 552 die CPU des Digital-Subsystems 554 aufwecken. Die CPU kann ferner das LP-PASS 552 und/oder die Analog-Schnittstelle 540 umkonfigurieren und damit beginnen, die detektierte Sprache mittels einer Digital-Schnittstelle 560 an ein Spracherkennungssystem 570 auszugeben. Bei einigen Implementierungen kann das Digital-Subsystem 554 fehlen, und wenn eine positive Bestimmung erfolgt ist, dass eine Sprache detektiert wird, kann das LP-PASS 552 das Spracherkennungssystem 570 aufwecken und mittels der Schnittstelle 560 das (digitalisierte) Audiosignal ausgeben.
-
Bei einigen Implementierungen kann das Mikrofon 530 durch ein Funk-Frontend oder einen Netzwerkadapter oder eine beliebige andere Vorrichtung mit der Fähigkeit zum Liefern eines Audiosignals ersetzt werden. Bei einigen Implementierungen können die Analog-Schnittstelle 540 und die Digital-Schnittstelle 560 auf demselben Chip mit dem LP-PASS 552 angebracht sein.
-
6 ist ein Impulsdiagramm, das relative Leistungspegel für verschiedene Zustände eines Systems, das ein umkonfigurierbares programmierbares Analog-Subsystem mit niedriger Leistung und ein Digital-Subsystem, das eine CPU (Zentralverarbeitungseinheit) enthält, umfasst, für verschiedene beispielhafte Zustände der zwei Subsysteme zeigt, in einer beispielhaften Implementierung. 6 kann qualitativ ausgedrückt Leistungspegel eines beliebigen der in 3, 4, 5a und 5b gezeigten Systeme, wie anwendbar, veranschaulichen. Der obere Graph zeigt in Konzeptform und nicht als Beschränkung Leistungspegel des Digital-Subsystems abhängig von seinem CPU-Zustand. Die untere Graph zeigt in Konzeptform und nicht zur Beschränkung Leistungspegel des LP-PASS abhängig von seinem Zustand, die von der Konfiguration seiner Blöcke abhängen können. Die Zeit T1 veranschaulicht qualitativ ausgedrückt eine Zeit des CPU-Aufweckens 612 für die CPU (oder das gesamte Digital-Subsystem) zum Übergang von einem CPU-Aus-Zustand zu einem CPU-Ein-Zustand. Die Zeit T2 veranschaulicht qualitativ ausgedrückt eine Zeit des LP-PASS-Aufweckens 622 für das LP-PASS zum Übergang von dem LP-PASS-Schlaf- zu einem der LP-PASS-Aktiv-Zustände. Wie in 6 gezeigt, kann die Zeit T2 signifikant kürzer als die Zeit T1 sein. Ferner kann der Stromverbrauch des Digital-Subsystems im CPU-Ein-Zustand- signifikant höher als in einem der LP-PASS-Aktiv-Zustände (oder Konfigurationsmodi) sein, wie schematisch durch die Höhe der zwei Graphen gezeigt ist.
-
Abhängig von dem Auslöseereignis, das das LP-PASS aufweckt, kann das LP-PASS in einen der Aktiv-Zustände umkonfiguriert werden, wie etwa Aktiv 1, Aktiv2, Aktiv3 und so weiter. Bei Abwesenheit eines Auslöseereignisses kann das LP-PASS in spezifizierten Zeitintervallen gemäß einem Aufweckplan in einen der Aktiv-Zustände übergehen (durch Ändern von Konfigurationen eines oder mehrerer Blöcke). Zum Beispiel kann das LP-PASS alle 1 Sekunden von dem LP-PASS-Schlaf-Zustand in den LP-PASS-Aktiv1-Zustand und alle 10 Sekunden von dem LP-PASS-Schlaf-Zustand in den LP-PASS-Aktiv2-Zustand übergehen. Verschiedene LP-PASS-Zuständen können sich durch LP-PASS-Funktionalität und Stromverbrauch unterscheiden. In einigen Fällen kann Aufwecken des LP-PASS dem Aufwecken des Digital-Subsystems folgen (und dadurch verursacht werden).
-
Bei anderen Implementierungen können die Längen von Zeitintervallen viel kürzer sein. Zum Beispiel kann bei einer Implementierung eine Periode eines Tastverhältnisses des LP-PASS 50 µs betragen, wobei die ersten 44 µs jedes Zyklus im LP-PASS-Schlaf-Zustand und die nächsten 6 µs im LP-PASS-Aktiv1-Zustand verbracht werden. Im Schlaf-Zustand kann sich das LP-PASS in einem Zustand mit ultraniedriger Leistung befinden, in dem es auf eine Aufweckunterbrechung wartet. Im Aktiv 1-Zustand kann bei dem LP-PASS das Analog-Frontend (z.B. CTB) aktiv sein, wobei der SAR-ADC dafür ausgelegt ist, eine Einzelumwandlung durchzuführen, das Ergebnis im LP-PASS-Speicher zu speichern und es mit den LP-PASS-Umkonfigurations- oder CPU-Aufweckkriterien zu vergleichen. Einmal alle NZyklen (z.B. N=10) kann das LP-PASS in den Zustand Aktiv2 (oder Aktiv3) mit höherer (oder ultimativer) Funktionalität der LP-PASS-Schaltungen umkonfiguriert werden. Das LP-PASS kann für 20 µs (oder eine beliebige andere vorbestimmte Zeit) in einem solchen Zustand bleiben und dann zum Schlaf-Zustand zurückkehren.
-
6 zeigt als Beispiel eine Anzahl verschiedener Möglichkeiten. Vor dem Start der Zeitlinie befindet sich die CPU (oder das gesamte Digital-Subsystem) im Aus-Zustand, und das LP-PASS befindet sich im Schlaf-Zustand. Am Anfang der angegebenen Zeitlinie wird die CPU aufgeweckt und geht in den Ein-Zustand 614 über. Dieser Übergang 612 kann durch einen Benutzer, durch ein externes Ereignis (wie etwa einen über ein Netzwerk empfangenen Aufweckruf) verursacht werden oder kann gemäß einem Aufweckplan auftreten. Nach dem Aufwecken 612 der CPU kann die CPU einen Aufweckruf 622 zu dem LP-PASS senden und das LP-PASS in einen seiner Aktiv-Zustände 624 - wie dargestellt Aktiv2 - umkonfigurieren. Beim Abschluss einer Verarbeitungsaufgabe kann die CPU das LP-PASS wieder in den LP-PASS-Schlaf-Zustand 626 zurück umkonfigurieren. Danach geht die CPU selbst in den CPU-Aus-Zustand 616 über. Mit der CPU im Aus-Zustand kann das LP-PASS eine Reihe von Übergängen in einen seiner Aktiv-Zustände erfahren. Diese sind in 6 als die LP-PASS-Aktiv1-Zustände 628 gezeigt. Einige dieser Zustände können wie oben offenbart durchgeführt werden. Zum Beispiel kann das LP-PASS äußere Analogeingaben überwachen, Digitalausgaben erzeugen und die Digitalausgaben mit einem oder mehreren Kriterien (z.B. Schwellenwerten) vergleichen, um zu bestimmen, ob das LP-PASS umzukonfigurieren ist. Einige der Umkonfigurationen können auftreten, nachdem ein vorbestimmtes Zeitintervall vergangen ist, ohne dass der Ausgangswert die Umkonfigurationskriterien erfüllt. Nachdem das LP-PASS die notwendigen Aufgaben während seiner Einsätze von Aktiv1 628 (wie etwa Sprachüberwachung oder Justierung von Heizungs-/Klimaeinstellungen) erfüllt hat, kann das LP-PASS in die LP-PASS-Schlaf-Zustände 626 zurückkehren. In einigen Fällen können die Ausgangswerte dergestalt sein, dass Kriterien zur Umkonfiguration des LP-PASS in einen dritten Zustand - z.B. LP-PASS-Aktiv3 630 - erfüllt sind. Das LP-PASS kann sich nicht nur selbst in Aktiv3 umkonfigurieren, sondern (wie in 6 gezeigt) auch Aufweckanweisungen zur CPU senden und ihren Übergang in den CPU-Ein-Zustand 614 bewirken. Die in 6 gezeigten Beispiele sind nicht erschöpfend, da viele andere Kombinationen und Szenarien möglich sind. Zusätzlich zu den zwei CPU-Zuständen (CPU Ein und CPU Aus) sind zum Beispiel andere zusätzliche Zustände des Digital-Subsystems möglich, die sich durch den Grad der CPU-Funktionalität und des Stromverbrauchs unterscheiden können. Die Zeichnungen von 6 sind veranschaulichend und sollten nicht einschränkend ausgelegt werden. Obwohl der Stromverbrauch in den drei-LP-PASS-Zustand auf demselben Pegel gezeigt ist, muss dies zum Beispiel im Allgemeinen nicht so sein, und es können verschiedene LP-PASS-Zustände durch verschiedene Pegel des Stromverbrauchs gekennzeichnet sein.
-
7 ist ein Flussdiagramm einer möglichen Implementierung eines Verfahrens 700 zur Umkonfiguration eines programmierbaren Analog-Subsystems mit niedriger Leistung als Reaktion auf ein Eingangssignal. Das Verfahren 700 kann durch eine Logikschaltung und/oder einen FSM des LP-PASS ausgeführt werden, das Hardware (z.B. Schaltkreise, dedizierte Logik, programmierbare Logik, Mikrocode usw.), Software, Firmware oder eine Kombination davon umfassen kann. Das LP-PASS kann eines der LP-PASS 102, 302, 402, 512 oder 552 sein. Die Logikschaltung kann eine der Logikschaltungen 152, 352 oder 452 sein. Der FSM kann einer der FSM 158, 358 oder 458 sein. Das Verfahren 700 kann das Empfangen eines ersten Eingangssignals von einer EA-Vorrichtung durch ein mit der EA-Vorrichtung gekoppeltes PASS umfassen, wobei das PASS mehrere umkonfigurierbare Analogschaltungen und eine Schnittstelle zum Austauschen von Daten mit einer CPU (710) aufweist. Die EA-Vorrichtung kann eine beliebige Vorrichtung mit der Fähigkeit zum Eingeben von Analogsignalen sein, einen oder mehrere Anschlussstifte, Schalter oder Sensoren umfassen. Bei einigen Implementierungen können die EA-Vorrichtungen eine Funk-Frontendverarbeitung, ein Koaxialkabel, eine optoelektronische Faser usw. umfassen.
-
Das Verfahren 700 kann mit der Verarbeitung des ersten Eingangssignals mit dem PASS in einer ersten PASS-Konfiguration mittels der mehreren umkonfigurierbaren Analogschaltungen fortgesetzt werden, wobei die mehreren umkonfigurierbaren Analogschaltungen in der ersten PASS-Konfiguration eine erste Konfigurationseinstellung aufweisen (720). Die umkonfigurierbaren PASS-Schaltungen können einige oder alle der in 1-4 gezeigten Schaltungen umfassen, wie etwa CTB, SAR-ADC, AROUTE, AREF, mehrere Multiplexer und dergleichen. Das Verfahren 700 kann mit dem Erzeugen eines ersten Ausgangswerts auf der Basis des ersten Eingangssignals fortgesetzt werden (730). Zum Beispiel kann der SAR-ADC der Logikschaltung und/oder dem FMS des PASS eine digitale Eingabe zuführen. Die Logikschaltung und/oder der FSM können den ersten Digitalausgangswert erzeugen, der die analoge Eingabe des PASS repräsentieren kann. Das Verfahren 700 kann mit dem Umkonfigurieren der mehreren umkonfigurierbaren Analogschaltungen in eine zweite PASS-Konfiguration mit einer zweiten Konfigurationseinstellung fortgesetzt werden, wobei die zweite Konfigurationseinstellung von der ersten Konfigurationseinstellung verschieden ist (740). Umkonfigurieren der zweiten PASS-Konfiguration kann als Reaktion auf den ersten Ausgangswert durchgeführt werden. Das PASS kann eine Korrespondenz zwischen verschiedenen Ausgangswerten und einer PASS-Konfiguration, die als Reaktion auf einen bestimmten Ausgangswert auszuwählen ist, aufrechterhalten. Bei einigen Implementierungen kann die Korrespondenz ein Index sein, der in einem oder mehreren Registern (z.B. auf ROM basierenden Registern) des PASS und/oder in einer oder mehreren Speichervorrichtungen (z.B. RAM) des PASS gespeichert ist. Bei einigen Implementierungen kann die Korrespondenz sich auf einen oder mehrere durch das PASS gespeicherte Schwellenwerte beziehen. Bei einigen Implementierungen ist eine PASS-Konfiguration auszuwählen, wenn der erste Ausgangswert größer als ein Schwellenwert ist. Bei einigen Implementierungen ist eine PASS-Konfiguration auszuwählen, wenn der erste Ausgangswert kleiner als ein Schwellenwert ist. Bei einigen Implementierungen wird die Korrespondenz in die Schaltkreise des FSM codiert.
-
Bei einigen Implementierungen kann das Umkonfigurieren der mehreren umkonfigurierbaren Analogschaltungen in eine zweite PASS-Konfiguration durch Auswählen eines der FSM-Zustände durchgeführt werden. Bei einigen Implementierungen können Einstellungen für einige oder alle der Analogschaltungen des PASS auf der Basis eines ausgewählten FSM-Zustands erhalten werden. Bei einigen Implementierungen können Einstellungen für einige oder alle der Analogschaltungen des PASS durch die Logikschaltung des PASS bereitgestellt werden. Bei einigen Implementierungen können Einstellungen für einige der Analogschaltungen des PASS durch den FSM bereitgestellt werden, während Einstellungen für andere Analogschaltungen durch die Logikschaltung bereitgestellt werden können. Bei einigen Implementierungen können Einstellungen für einige Analogschaltungen zwischen zwei oder mehr verschiedenen PASS-Konfigurationen gleich bleiben.
-
8 ist ein Flussdiagramm einer möglichen Implementierung eines Verfahrens 800 zur Umkonfiguration eines mit einem Digital-Subsystem integrierten programmierbaren Analog-Subsystem mit niedriger Leistung als Reaktion auf ein Eingangssignal. Das Verfahren 800 kann durch dieselben Vorrichtungen und Schaltungen wie oben in Bezug auf das Verfahren 700 beschrieben ausgeführt werden. Das Verfahren 800 kann das Empfangen eines ersten Eingangssignals von einer EA-Vorrichtung durch das mit der EA-Vorrichtung gekoppelte PASS umfassen (810). Das PASS kann mehrere umkonfigurierbare Analogschaltungen und eine Schnittstelle zum Austauschen von Daten mit einer CPU umfassen. Das Verfahren 800 kann mit Verarbeiten des ersten Eingangssignals mittels der mehreren umkonfigurierbaren Analogschaltungen mit dem PASS in einer ersten PASS-Konfiguration fortgesetzt werden (820). Das Verfahren 800 kann mit dem Erzeugen eines ersten Ausgangswerts auf der Basis des ersten Eingangssignals fortgesetzt werden (830). Die Blöcke 810-830 können bei einigen Implementierungen dieselben wie die Blöcke 810-830 des Verfahrens 700 sein.
-
Das Verfahren 800 kann mit einem Entscheidungsfindungsblock fortgesetzt werden, in dem bestimmt werden kann, ob der erste Ausgangswert die ersten Schwellenkriterien erfüllt (835). Zum Beispiel kann durch die Logikschaltung und/oder den FSM bestimmt werden, ob die Kohlenmonoxidkonzentration einen detektierbaren Wert erreicht hat. Wenn das erste Schwellenkriterium nicht erfüllt ist, kann das PASS in der ersten PASS-Konfiguration bleiben (840). Wenn jedoch bestimmt wird, dass das erste Schwellenkriterium erfüllt ist, kann das Verfahren 800 mit der Bestimmung fortgesetzt werden, ob das zweite Schwellenkriterium erfüllt ist (845). Zum Beispiel kann in Block 845 bestimmt werden, ob die Kohlenmonoxidkonzentration einen gefährlichen Wert erreicht hat. Wenn das zweite Schwellenkriterium nicht erfüllt ist, kann das Verfahren 800 mit dem Umkonfigurieren der mehreren umkonfigurierbaren Analogschaltungen in eine zweite PASS-Konfiguration mit einer zweiten Konfigurationseinstellung fortgesetzt werden (850). Bei einigen Implementierungen kann Block 850 ähnlich wie Block 740 des Verfahrens 700 ausgeführt werden. Zum Beispiel kann die erste Konfiguration zum Implementieren des LP-PASS-Schlaf-Zustands und die zweite Konfiguration zum Implementieren des LP-PASS-Aktivl-Zustands verwendet werden. In anderen Fällen kann die erste Konfiguration zum Implementieren des LP-PASS-Aktiv1-Zustands und die zweite Konfiguration zum Implementieren des LP-PASS-Aktiv2-Zustands verwendet werden. Das Verfahren 800 kann damit fortgesetzt werden, dass das LP-PASS ein nachfolgendes (z.B. zweites) Eingangssignal von einer EA-Vorrichtung empfängt. Bei einigen Implementierungen kann das zweite Eingangssignal dasselbe wie das erste Eingangssignal sein, aber durch eine oder mehrere Analogschaltungen zur späteren Neuverarbeitung durch das PASS in der zweiten Konfiguration (die eine höhere Auflösung und/oder Genauigkeit der Verarbeitung aufweisen kann) gespeichert werden.
-
Das Verfahren 800 kann mit der Verarbeitung des zweiten Eingangssignals mittels der mehreren umkonfigurierbaren Analogschaltungen mit dem PASS in der zweiten PASS-Konfiguration (870) und mit dem Erzeugen eines zweiten Ausgangswerts auf der Basis des zweiten Eingangssignals (880) fortgesetzt werden. Die Schritte in den Blöcken 870-880 können ähnlich wie die Schritte in den Blöcken 810-830 ausgeführt werden. Das Verfahren kann dann in einer Schleife zum Entscheidungsfindungsblock 845 zurückkehren und die zweite Ausgabe wieder mit dem zweiten Schwellenkriterium vergleichen. Falls das zweite Schwellenkriterium nicht erfüllt wurde, kann das Verfahren damit fortgesetzt werden, das PASS in der zweiten Konfiguration zu halten und die Blöcke 850-880 und 845 je nach Bedarf zu wiederholen. Falls das zweite Schwellenkriterium erfüllt wurde, kann das Verfahren 800 mit dem Ausgeben eines Signals an die CPU (890) (wie etwa einer Aufweck- oder Unterbrechungsanweisung bei einigen Implementierungen) mittels einer Schnittstelle (wie etwa der Digital-Schnittstelle 455) fortgesetzt werden. Wenn bestimmt wird, dass sowohl das erste Kriterium (Block 835) als auch das zweite Kriterium (Block 845) erfüllt sind, während sich das PASS immer noch in der ersten PASS-Konfiguration befindet, kann das Verfahren 800 mit dem Aufwecken der CPU (890) und auch (wie durch die gestrichelte Linie gezeigt) dem Umkonfigurieren des PASS in die zweite PASS-Konfiguration fortgesetzt werden. Bei einigen Implementierungen kann dieser Schritt optional sein, und das Verfahren 800 kann enden, wenn die CPU die Eingangssignalverarbeitung übernimmt.
-
Es versteht sich, dass die obige Beschreibung veranschaulichend und nicht einschränkend sein soll. Fachleuten werden bei Durchsicht und Verständnis der obigen Beschreibung viele andere Implementierungsbeispiele ersichtlich sein. Obwohl die vorliegende Offenbarung spezifische Beispiele beschreibt, versteht sich, dass die Systeme und Verfahren der vorliegenden Offenbarung nicht auf die hier beschriebenen Beispiele beschränkt sind, sondern innerhalb des Schutzumfangs der angefügten Ansprüche mit Modifikationen praktiziert werden können. Die Beschreibung und Zeichnungen sind dementsprechend nicht im einschränkenden Sinne, sondern in einem veranschaulichenden Sinne aufzufassen. Der Schutzumfang der vorliegenden Offenbarung sollte deshalb unter Bezugnahme auf die angefügten Ansprüche zusammen mit dem vollen Umfang von Äquivalenten, zu denen diese Ansprüche berechtigt sind, bestimmt werden.
-
Die Implementierungen der Verfahren, Hardware, Software, Firmware oder Codemenge, die oben dargelegt werden, können über Anweisungen oder Code, gespeichert auf einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium, implementiert werden, die durch ein Verarbeitungselement ausführbar sind. „Speicher“ umfasst jeden Mechanismus, der Informationen in einer durch eine Maschine, wie etwa einen Computer oder ein elektronisches System, lesbaren Form bereitstellt (d.h. speichert und/oder überträgt). Zum Beispiel umfasst „Speicher“ RAM (Direktzugriffsspeicher), wie etwa SRAM (statischen RAM) oder DRAM (dynamischen RAM); ROM; ein magnetisches oder optisches Speicherungsmedium; Flash-Speichervorrichtungen; elektrische Speicherungsvorrichtungen; optische Speicherungsvorrichtungen; akustische Speicherungsvorrichtungen und eine beliebige Art von greifbarem maschinenlesbarem Medium, das zum Speichern oder Übertragen von elektronischen Anweisungen oder Informationen in einer durch eine Maschine (z.B. einen Computer) lesbaren Form geeignet ist.
-
In dieser gesamten Patentschrift bedeutet ein Bezug auf „eine einzige Implementierung“ oder „eine Implementierung“, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Zusammenhang mit der Implementierung beschrieben ist, in wenigstens einer Implementierung der Offenbarung enthalten ist. Demgemäß bezieht sich das Vorkommen der Ausdrücke „bei einer einzigen Implementierung“ oder „bei einer Implementierung“ an verschiedenen Stellen in dieser gesamten Patentschrift nicht notwendigerweise alle auf dieselbe Implementierung. Ferner können die bestimmten Merkmale, Strukturen oder Eigenschaften gemäß einer oder mehreren Implementierungen in einer geeigneten Weise kombiniert werden.
-
In der vorstehenden Patentschrift erfolgte eine ausführliche Beschreibung unter Bezugnahme auf spezifische beispielhafte Implementierungen. Es versteht sich jedoch, dass daran verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne vom breiteren Gedanken und Schutzumfang der Offenbarung, wie in den anliegenden Ansprüchen dargelegt, abzuweichen. Die Patentschrift und die Zeichnungen sind demgemäß als veranschaulichend statt als einschränkend anzusehen. Ferner bezieht sich die vorhergehende Verwendung von Implementierung, Implementierung und/oder eines anderen beispielhaften Sprachgebrauchs nicht notwendigerweise auf dieselbe Implementierung oder dasselbe Beispiel, sondern kann sich auf verschiedene und unterschiedliche Implementierungen sowie möglicherweise auf dieselbe Implementierung beziehen.
-
Die Wörter „Beispiel“ oder „beispielhaft“ werden hier so verwendet, dass sie als ein Beispiel, eine Instanz oder eine Veranschaulichung dienend bedeuten. Jeder hier als „Beispiel“ oder „beispielhaft“ beschriebene Aspekt oder Entwurf ist nicht notwendigerweise als gegenüber anderen Aspekten oder Entwürfen bevorzugt oder vorteilhaft auszulegen. Vielmehr soll die Verwendung der Wörter „Beispiel“ oder „beispielhaft“ Konzepte in einer konkreten Weise präsentieren. Wie in dieser Anmeldung verwendet, soll der Begriff „oder“ ein inklusives „oder“ statt eines exklusiven „oder“ bedeuten. Das heißt, dass, sofern nichts anderes angegeben wird oder anhand des Zusammenhangs klar ist, „X weist A oder B auf“ jede der natürlichen inklusiven Permutationen bedeuten soll. Das heißt, dass, falls X A aufweist, X B aufweist oder X sowohl A als auch B aufweist, „X weist A oder B auf“ in jedem der vorstehenden Fälle erfüllt ist. Zusätzlich sollten die Artikel „ein/eine/eines“, wie in dieser Anmeldung und den anliegenden Ansprüchen verwendet, allgemein als „ein/eine/eines oder mehrere“ bedeutend ausgelegt werden, es sei denn, dass etwas anderes angegeben wird oder dass anhand des Zusammenhangs klar ist, dass dies eine Singularform betrifft. Überdies soll die Verwendung des Begriffs „eine Implementierung“ oder „eine einzige Implementierung“ oder „eine Implementation“ oder „eine einzige Implementation“ überall nicht dieselbe Implementierung oder Implementation bedeuten, es sei denn, dass dies so beschrieben wird. Auch sind die Begriffe „erster“, „zweiter“, „dritter“, „vierter“ usw., wie hier verwendet, als Bezeichnungen zu verstehen, um zwischen verschiedenen Elementen zu unterscheiden, und sie weisen nicht notwendigerweise eine Ordnungszahlbedeutung entsprechend ihrer numerischen Bezeichnung auf.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 16/369723 [0001]
- US 62/728290 [0001]
- US 62/770382 [0001]