Programmable System on Chip Nutzen Sie 100% Ihrer Hardware-Ressourcen mit dynamischer Rekonfiguration!

Autor / Redakteur: Sachin Gupta * / Holger Heller

Wenn Sie Systeme entwickeln müssen, die mehr können und kleiner und energieeffizienter sind, ist es notwendig, durch dynamische Rekonfiguration mehr als 100% der verfügbaren Ressourcen zu erreichen.

Firmen zum Thema

PSoC-1-Architektur von Cypress: Programmable System on Chip mit verschiedenen Systemressourcen, CPU-Kern, digitalem Subsystem, analogem Subsystem und programmierbaren Verbindungen
PSoC-1-Architektur von Cypress: Programmable System on Chip mit verschiedenen Systemressourcen, CPU-Kern, digitalem Subsystem, analogem Subsystem und programmierbaren Verbindungen
(Bild: VBM-Archiv)

Dynamische Rekonfiguration kann in fast jeder Anwendung realisiert werden, die verschiedene Aufgaben zu verschiedenen Zeiten durchführt. Ein tragbares Gerät zum Fahrkartenverkauf könnte dieselbe Logik benutzen, die den Drucker betreibt, um als Akkuaufladeschaltkreis zu dienen. Auf ähnliche Weise lädt eine LED-basierte Laterne den Akku auf wenn Strom zur Verfügung steht, und nutzt diese Ressourcen, um die weißen LEDS zu steuern, wenn keine Netzspannung verfügbar ist.

Tatsächlich wird dabei das Aufladen des Akkus mit anderen Systemfunktionalitäten zeitgemultiplext. Im Ergebnis passt ein System auf eine kleinere Grundfläche als wenn für jede Funktion eine getrennte Logik erforderlich ist.

Bildergalerie

Dynamische Rekonfiguration

Dynamische Rekonfiguration ist eine bekannte Fähigkeit von digitalen Architekturen wie FPGAs. Sie wird erreicht, indem eine neue Konfiguration in einem nichtflüchtigen Speicher gespeichert und später in die passenden Konfigurationsregister geschrieben wird. Jede der verschiedenen Konfigurationen wird in einem nichtflüchtigen Speicher/Flash zum Zeitpunkt der Geräteprogrammierung gespeichert.

Die Programmierbarkeit ist aber nicht mehr allein auf die digitale Domäne begrenzt. Heute können analoge Ressourcen dynamisch rekonfiguriert und mehr als die Spezifikationen einer bestimmten Peripherie geändert werden. Mithilfe dynamischer Rekonfiguration kann die gleiche analoge Ressource als Analog-Digital-Umwandler, Verstärker oder kapazitiver Touchsensor während der Betriebszeit auf Grundlage der Anwendungsbedingungen dienen.

Bild 1: Kontinuierlich zeitlich programmierbarer analoger Block
Bild 1: Kontinuierlich zeitlich programmierbarer analoger Block
(Bild: VBM-Archiv)
Um zu verstehen, wie analoge Ressourcen dynamisch rekonfiguriert werden können, muss man einen kontinuierlich zeitlich programmierbaren analogen Block (Bild 1) in Betracht ziehen. Auf den ersten Blick erscheint diese Schaltung kompliziert. Eigentlich ist dies aber ein verhältnismäßig einfacher Schaltkreis, der die Möglichkeit bietet, verschiedene Signale mit irgendeinem Eingang/Ausgang zu verbinden, um verschiedene Schaltungen zu erreichen. Derselbe Block kann zum Beispiel als invertierender oder nichtinvertierender Verstärker konfiguriert werden.

Referenzmultiplexer

Ein hysteresefähiger Komparator mit der erforderlichen Verstärkung/Hysterese kann erreicht werden, indem der passende Widerstandswert innerhalb der Widerstandsmatrix und die erforderliche Referenz unter Verwendung eines Referenzmultiplexers ausgewählt werden. Die Ausgang des Blocks kann auch zu einem anderen Block oder einem Ausgangspol geleitet werden.

Alle diese Anschlüsse und Widerstandwerte werden mithilfe von Konfigurationsregistern konfiguriert, die während der Laufzeit beschrieben werden können. Dieser Block kann daher als Abschwächer, Puffer, nichtinvertierender Verstärker und sogar als Instrumentenverstärker fungieren, wenn er mit zusätzlichen Blöcken kombiniert wird. Systementwickler können die Funktionalität der Blocks mithilfe von Firmware ändern, indem sie neue Werte in die Konfigurationsregister schreiben.

Bild 2: Programmierbarer Schaltkondensator-Analogblock
Bild 2: Programmierbarer Schaltkondensator-Analogblock
(Bild: VBM-Archiv)
Bild 2 zeigt einen anderen programmierbaren analogen Block, einen Schaltkondensatorblock. Dieser Block bietet mehr Steuerung hinsichtlich der Definition von Funktionalität sowie register-konfigurierbarer Anschlüsse. Er hat die Fähigkeit, mit der Schaltkondensatormethode einen Kondensator als einen Widerstand zu emulieren, wobei der Widerstand durch Steuerung des Ladungsflusses realisiert wird. Der Widerstand wird mit der Gleichung unten berechnet: R = 1/FSC

R ist der Wert des Widerstands, der unter Verwendung des Kondensatorwerts C emuliert wird, und F ist die Schaltfrequenz.

(ID:42389029)