Anwendungsbeispiel ARM-Cortex STM32L-Mikrocontroller für Healthcare und Medizintechnik

Der Bedarf an portablen Diagnosegeräten nimmt ständig zu. Ursachen sind die Bevölkerungsstruktur in der westlichen Welt und die Änderung der Lebensgewohnheiten in den asiatischen Ländern. Durch den Kostendruck im Gesundheitssystem sind lokale Diagnose und elektronische Fernüberwachung über das Internet zentrale Punkte der Kostenreduzierung geworden.

Geräte für Healthcare- und Medizin-Anwendungen stellen besondere Anforderungen an Energieverbrauch, A/D- und D/A-Wandler und setzen auf moderne Schnittstellen wie z.B. USB. Viele Geräte sind batteriebetrieben, selbst netzbetriebene Geräte in der Medizintechnik haben oft einen batteriegespeisten Backup-Modus. Ein typisches tragbares medizinisches Gerät (Bild 1) besteht in der Regel aus zwei Untergruppen: einem Analogteil zur Ansteuerung und Auswertung der Sensoren sowie einem Digitalteil, der hauptsächlich Algorithmen zur Signalanalyse und die Anzeige beinhaltet sowie Datenspeicherung, Kommunikation, Zeitsteuerung und andere Funktionen (z.B. Power Management) abdeckt.

Die Mixed-Signal-Technologie, die im STM32L verwendet wird, erlaubt den notwendigen hohen Integrationsgrad, der zu einer Reduzierung der Bauteileliste und Vereinfachung der Energieverwaltung im Gerät führt. Der STM32L integriert einen 12-bit-A/D-Wandler mit 24 Kanälen und zwei 12-bit-D/A-Wandler. Die Verwendung einer externen Spannungsreferenz ist möglich, was zu einer sehr guten Isolierung des Analogteils vom Digitalteil beiträgt. Der A/D-Wandler kann dank kurzer Wandlungszeiten alle Messaufgaben im System wahrnehmen, von elektrochemischen oder optischen Sensoren bis zur Temperaturmessung oder Spannungsüberwachung. Mittels Oversampling können bis zu 14 bit Genauigkeit erreicht werden, was den höchsten Ansprüchen in diesem Segment gerecht wird. Mit den 12-bit-D/A-Wandlern lassen sich die Sensoren präzise ansteuern, und das interne EEPROM macht das Daten-Logging einfach. Die integrierte Echtzeit-Uhr ist ebenso leistungsfähig wie eine externe High-end-Komponente.

Eine Vielfalt von Kommunikationsschnittstellen ermöglicht sowohl digitalen Datenaustausch mit den Sensoren via I2C und SPI, als auch eine Verbindung zu einem Hostrechner über RS 232, IrDA oder USB. Der LCD-Controller kann bis zu 8 x 40 Segmente direkt ansteuern und trägt mit seinem integrierten Aufwärtswandler deutlich zur Bauteilereduzierung bei.

Ultra-Low-Power-Architektur

Mikrocontroller-basierte Low-Power-Anwendungen zeichnen sich üblicherweise durch häufigen Wechsel zwischen Idle-Modus (minimale Stromaufnahme, evtl. Ausführung von Low-Power-Funktionen wie Zeitsteuerung oder LCD-Anzeige) und Aktiv-Modus (Mikrocontroller aktiv, Anwendungsprogramm läuft) aus. In einer derartigen Anwendung erlaubt der STM32L die Reduzierung der Energieaufnahme durch Reduzierung des Energieumsatzes im Aktiv-Modus, dessen Reduzierung im Idle-Modus und Minimierung der Zeit im Aktiv-Modus.

Üblicherweise stellen die erste und letzte Forderung gegensätzliche Ziele dar. Um die Zeit im Aktiv-Modus zu verringern, ist eine leistungsfähigere CPU erforderlich, die im allgemeinen mehr Strom benötigt. Das Problem kann jedoch wie folgt gelöst werden:

Der ARM-Cortex-M3-Prozessor zeichnet sich aus durch sein Verhältnis von Rechenleistung und Stromaufnahme, das in µA/DMIPS ausgedrückt werden kann. Diese Maßeinheit ist für die zur Ausführung einer Task benötigte Energie aussagekräftiger als µA/MHz, bei der die Anzahl der Zyklen pro Befehl und die Effizienz des Befehlssatzes nicht berücksichtigt werden. Die Verwendung einer 32-bit-CPU trägt zur Reduzierung der im Aktiv-Modus verbrachten Zeit bei und ist hier einem 8- oder 16-bit-Rechner weit überlegen, der eventuell in µA/MHz besser abschneidet aber bei µA/DMIPS den Kürzeren zieht. Weiteres Einsparungspotential bringen die Cortex-M3-spezifische niedrige Interrupt-Latenzzeit, eine automatische Kontextsicherung und das "Tail Chaining", d.h., aufeinanderfolgende Interrupts werden ohne weitere Kontextsicherung ausgeführt.