ISSCC 2011 Signalprozessor für Medizinanwendungen läuft mit 0,4 V

Für die Aufnahme und Auswertung von EKG und EEG haben der Halbleiterhersteller NXP und Forscher des IMEC einen ereignisgesteuerten Signalprozessor entwickelt, der mit einer Versorungsspannung von 0,4 V auskommt und bei 1 MHz Taktfrequenz nur 130 nW aufnimmt.

Das vorgestellte SoC basiert auf NXPs CoolFlux-DSP-Core, der nicht nur EKG- oder EEG-Daten aufnehmen kann, sondern auch Bewegungs-Artifakte herausrechnen kann. Die Versorungsspannung kann zwischen 0,4 und 1,2 V liegen und die Taktfrequenz 1 bis 100 MHz betragen. Bei 0,4 V und 1 MHz nimmt es nur 130 µW auf.

Der Chip wird in einem 90-nm-LP-Prozess gefertigt und belegt eine Siliziumfläche von 1,875 x 3,75 mm (6,1875 mm2). An Speicher sind 2 Mbit vorhanden, desweiteren ein DMA-Controller (DMAC), Interrupt-Controller, Timer, JTAG, I2C und 5 Schnittstellen für 8-Kanal-EEG-Sensor, EKG-Sensor, Temperatur-Sensor, 3D-Beschleunigungsmesser für die Herausrechnung von Bewegungs-Artifakten sowie SPI für die drahtlose Datenübertragung. Der Prozessor kann von externem Flash-Speicher gebootet oder das Programm über die JTAG-Schnittstelle geladen werden.

Jede Schnittstelle ist für die Aufnahme der Daten mit einem eigenen DMA-Kanal versehen, die über Punkt-zu-Punkt-Verdrahtungen kommunizieren. Damit wird der vergleichsweise energiefressende System-Bus entlastet und der DAtentransfer auch möglich, wenn der DSP-Core selbst per Power-Gating komplett abgeschaltet ist. Wenn eine vordefinierte Anzahl von Datensätzen eingelesen wurde, wird der Core per Interrupt aufgeweckt.

Es gibt zwei Taktversorgungen, eine externe für niedrige Frequenzen und eine On-Chip mit bis zu 100 MHz. Um Energie zu sparen, werden die Schnittstellen und der Power-Manager in den meisten Fällen mit einem geringeren Takt versorgt als der Core und die Speicher. Wird eine Komponente nicht genötigt, wird sie entweder per Clock-Gating deaktiviert oder sogar per Power-Gating komplett abgeschaltet, um auch noch Leckströme zu verhindern.

Auf dem SoC gibt es 15 Power-Domänen. Alleine die Speicher für Daten und Programmcode wurden in 13 einzelne Bänke unterteilt, die individuell abgeschaltet werden können. Die übrigen zwei verteilen sich auf Core und den "Rest" inklusive Peripherie, wobei letztere immer eingeschaltet bleibt. Prozessor und Peripherie werden extern mit 0,m4 bis 1,2 V versorgt, das Problem besteht darin, dass dies für den Speicher nicht ausreicht. Daher mussten zwischen Logik und Speichern noch Umsetzer integriert werden, die die Spannung auf 1,36 V hochsetzen. Um deren Anzahl zu begrenzen, teilen sich alle Speicherbänke die Adress-, Daten- und Steuerleitungen zur Core-Logik.

Die Architekten implementierten 4 unterschiedliche Power-Modi: Im "Datensammlungsmodus" werden nur die Peripherie und die benötigte Anzahl von Speicherbänken mit 0,4 bzw. 0,7 V versorgt. Der Programmspeicher befindet sich im Retention-Modus und der Rest des SoCs wird abgeschaltet. Im "Low-Performance-Modus" werden Prozessor und Peripherie mit 0,4 V versorgt, Teile des Programm- und Datenspeichers mit 0,7 V und die restlichen Speicherbänke sind abgeschaltet. Im "High-Performance-Modus" werden alle Komponenten bis auf die ungenutzen Speicherbänke mit 1,2 V versorgt. Im "Sleep-Modus" wird schließelich das gesamte System von der Spannungsversorgung getrennt, das Aufwecken geschieht durch einen externen Interrupt. Der Power-Manager schaltet zwischen den 4 Modi um, wenn er vom Interrupt-Controller aktiviert wird.

Bein einer EKG-Anwendung nimmt das SoC im "Datensammlungsmodus" bei 1 MHz Taktfrequenz und 0,4 V VErsorgungsspannung gemessene 128 µW auf, wobei jeweils eine Speicherbank für Programmcode und Daten mit 0,7 V versorgt werden. Würde man sowohl Logik als auch Speicher in derselben Konfiguration mit 1,2 V versorgen, stiege der Wert auf 950 µW. Im "Low-Performance-Modus" werden 470 µW und im "High-Performance-Modus" 1,45 µW aufgenommen.