Field Programmable Analog Array
Eine feldprogrammierbare Analoganordnung (FPAA, engl. field programmable analog array) ist ein frei programmierbarer analoger Schaltkreis, konstruiert nach dem Vorbild der FPGAs. Ein FPAA besteht aus einer Matrix von konfigurierbaren analogen Blöcken. Ein solcher Block wird CAB (engl. für Configurable Analog Block) genannt.
Mit einem CAB lassen sich verschiedene analoge Grundschaltungen wie Filter oder Verstärker realisieren. Eine logische Schaltung dient zum Herstellen der notwendigen Verbindungen innerhalb und zwischen den CABs. Analoge Ein- und Ausgänge stellen die Verbindung zur Außenwelt her. Die Konfiguration erfolgt über digitale Ein- und Ausgänge, die an Speicherbausteine oder Mikroprozessoren angeschlossen werden können.
Aufbau und Funktion
Das Kernstück eines FPAA bildet die Matrix aus programmierbaren analogen Schaltungen. Hierin befinden sich zwischen 2 und 20 CABs. Diese CABs bestehen aus einem oder mehreren Operationsverstärkern, insbesondere Transkonduktanzverstärker, und passiven Bauelementen, die über elektronische Schalter miteinander verknüpft werden können. Somit ist es möglich, eine Vielzahl einfacher analoger Schaltungen zu realisieren.
Bei der Implementierung der zuschaltbaren Bauteile kommen zwei Prinzipien zur Anwendung: die Switched-Capacitor Technik und die Verwendung herkömmlicher Bauteile (Widerstände und Kondensatoren).
Mit dem Switched Capacitor (SC) lassen sich sowohl Kapazitäten als auch Widerstände erzeugen. Ein Widerstand wird erzeugt, indem ein Kondensator mit hoher Frequenz zunächst zu dem negativen und zum positiven Pol des Signalwegs dazugeschaltet wird, er sich abhängig von der aktuellen Signalspannung, der Schaltfrequenz und seiner Kapazität abwechselnd teilweise lädt und entlädt. Der Vorteil dieser Technik liegt in ihrer hohen Flexibilität und Stabilität. Nachteile sind die geringe Bandbreite in Abhängigkeit von der Schaltfrequenz (s. Nyquist-Theorem) und die parasitären Effekte, die ebenfalls durch die Schaltfrequenz bedingt sind.
Eine Alternative stellt die Verwendung herkömmlicher Bauelemente in Form von Einheitswiderständen und -kapazitäten dar. Je nach beabsichtigtem Verwendungszweck des FPAA sind diese teilweise fest verdrahtet. Dies ermöglicht eine höhere Bandbreite und vermeidet die Artefakte, wie sie bei abgetasteten Systemen auftreten. Ein Nachteil ist die geringere Flexibilität dieser Schaltungen.
Zusätzlich enthalten die konfigurierbaren analogen Blöcke einen digitalen Arbeitsspeicher (RAM), in den die erwünschte Konfiguration geladen wird. Einige FPAAs von Anadigm besitzen zusätzliche "Shadow-RAMs", die es ermöglichen, neue Konfigurationsdaten während des Betriebs ohne Unterbrechung des analogen Signals zu laden.
Die Analoge Matrix wird von einer Reihe an Hilfsschaltungen umgeben. Notwendig ist eine logische Schaltung, welche die Konfigurationsdaten verarbeitet und für die Speicherung an der richtigen Stelle sorgt. Ein interner digitaler Zeitgeber koordiniert das Laden der Konfiguration. Häufig stehen konfigurierbare Ein- und Ausgabezellen zur Verfügung, die z. B. mit zuschaltbaren Anti-Aliasing-Filtern oder Verstärkern ausgestattet sind. Werden Switched-Capacitors genutzt, so werden analoge Zeitgeber benötigt.
Programmierung
Die Programmierung der FPAAs geschieht über ein herstellerspezifisches Protokoll, abhängig von der Architektur des Chips. Die Hersteller stellen für ihre Produkte eigene Entwicklungssoftware zur Verfügung, mit Hilfe derer die gewünschte Schaltung entwickelt und meist auch simuliert werden kann. Die resultierende Konfiguration wird dann in Form eines Bitstream in den Chip hochgeladen. Dieser konfiguriert den Chip in der gewünschten Weise.