Energieautarke Systeme Sensor-Interface mit μA-Stromaufnahme

Bild 1. Das in den Tiny- und Giant-Gecko-Mikrocontrollern integrierte LESense-Modul kann analoge Sensoren erregen und messen - ohne den Prozessorkern damit zu belästigen.
Bild 1. Das in den Tiny- und Giant-Gecko-Mikrocontrollern integrierte LESense-Modul kann analoge Sensoren erregen und messen - ohne den Prozessorkern damit zu belästigen.

Die neue, von Energy Micro entwickelte Sensorschnittstelle arbeitet mit sehr geringer Leistungsaufnahme und ermöglicht eine Ankopplung verschiedener Sensortypen. Damit können Sensoren sogar im extrem energiesparenden „Deep Sleep Mode“ des Mikrocontrollers ausgewertet werden

Speziell für seine Ultra-Low-Power-Controllerfamilien Tiny- und Giant-Gecko hat die Energy Micro AS [1] eine neuartige Sensorschnittstelle entwickelt, die eine autonome Überwachung von bis zu 16 Sensoren im „Deep Sleep Mode“ erlaubt (Bild 1). Sowohl aktive als auch passive analoge Sensoren, wie z.B. kapazitive, induktive und resistive Sensoren, können angeschlossen werden.

Die Bezeichnung „LESense“ der Sensorschnittstelle leitet sich von „Low Energy Sensor“ ab. Ihr wesentliches Merkmal ist, dass sie die Überwachung bzw. Messung der Sensoren völlig autonom vollzieht, d.h. ohne Intervention des Prozessorkerns Cortex-M3. Durch die Auslagerung der Sensormessung in das LESense-Modul, das sich mit einer durchschnittlichen Stromaufnahme von einigen µA begnügt, ist es möglich, besonders energiesparende Anwendungen zu realisieren.

Das von der Gecko-Controllerfamilie bereits bekannte „Peripheral Reflex System“ (PRS) ermöglicht zudem die Einbindung von weiteren Peripherien, wie z.B. Pulse Counter (PCNT), Real Time Counter (RTC), Low Energy Timer (LETimer) und Ein-/Ausgänge (GPIO). Hierbei wirkt das PRS wie ein Verdrahtungsnetzwerk, das den Austausch von Triggersignalen zwischen den einzelnen Peripherien auch im Tiefschlafmodus erlaubt. Damit lassen sich auch komplexe Messszenarien implementieren, die den Einsatz des Prozessorkerns (Cortex-M3) und somit den Wechsel in den „Run“-Modus auch für längere Zeitfenster unterbinden.

Zur Messung der Sensorsignale stehen dem Anwender zwei analoge Komparatoren (ACMP) zur Verfügung, denen je ein Multiplexer mit acht analogen Eingängen vorgeschaltet ist. Die Referenzspannung kann aus mehreren Quellen ausgewählt werden, z.B. von zwei Digital/Analog-Umsetzern (DAU) mit 12 bit Auflösung oder vom internen Linearregler (LDO, Low Dropout) erzeugte Gleichspannung (1,25 V und 2,5 V), eine in kleinen Stufen programmierbare Versorgungsspannung oder eine externe Referenzspannung.

Die Ausgangssignale der Komparatoren werden im LESense-Modul verarbeitet. Es übernimmt die Zuordnung und Evaluierung der Ergebnisse sowie die gesamte Ablaufsteuerung. Der konfigurierbare Sequenzer definiert hierbei, in welcher zeitlichen Reihenfolge und Dauer die Sensorsignale gemessen und ausgewertet werden. Insbesondere passive Sensoren benötigen eine Erregung, bevor ein Messvorgang eingeleitet werden kann. Der Sequenzer stellt hierzu verschiedene Stimulus-Szenarien zur Verfügung, die am Messanschluss oder alternativ an einem anderen Ausgang ausgegeben werden können. Die integrierte Zähl- und Vergleichs-Funktion ermöglicht das Zählen von Pulsen, die am Ausgang der Komparatoren (ACMP) während eines Messzyklus generiert werden.

Das Ergebnis kann mit einem Referenzwert verglichen oder in einem Pufferspeicher für eine spätere Auswertung zwischengespeichert werden. Komplexere Messszenarien ermöglicht der Decoder am Ausgang des LESense-Moduls. Er ist mit einer konfigurierbaren Zustandsmaschine (Finite State Machine, FSM) mit 16 Zuständen ausgestattet, wie sie z.B. für einen Quadratur-Decoder benötigt wird. Die Funktionsweise des LESense-Interface lässt sich sehr gut an den folgenden drei Anwendungsbeispielen mit unterschiedlichen Sensoren verdeutlichen.

Kapazitive Sensorik

Kapazitive Sensoren beruhen auf einer Änderung der Kapazität eines Kondensators. Die Anwendungsmöglichkeiten kapazitiver Sensoren umfassen Differentialsensor (Weg oder Winkel), Drucksensor, Füllstandssensor oder Näherungs- und Berührungsschalter. In diesem Beispiel wird ein kapazitiver Berührungsschalter eingesetzt (Bild 2).

Je nach Ausgangswert des Komparators (ACMP) - 1 oder 0 - wird eine von zwei Referenzspannungen am invertierenden Eingang zugeschaltet - z.B. UB/4 und eine frei programmierbare Spannung UB_prog - und ein Sensor-Kondensator durch den Inverter ent- oder aufgeladen. Beträgt der Ausgangswert des Komparators 1 (Inverterausgang = 0), so liegt am invertierenden Eingang z.B. die Spannung UB / 4 an und der Sensor-Kondensator wird durch den Inverter so lange entladen, bis die abfallende Spannung unterhalb von UB/4 sinkt (Bild 3).

Hierdurch wechselt der Ausgang des Komparators auf 0 (Inverterausgang = 1), wodurch die Referenzspannung am invertierenden Eingang auf ein höheres Potential - in diesem Beispiel UB_prog - schaltet und zugleich ein Ladevorgang des Sensor-Kondensators eingeleitet wird. Schließlich wechselt der Komparator seinen Ausgangswert wieder auf 1 und der Ent- und Aufladevorgang des Sensor-Kondensators wiederholt sich erneut.

Die Frequenz der hierdurch verursachten Oszillation ist unter anderem abhängig von der gewählten Kapazität der Sensor-Kondensatoren. Je höher die Kapazität, umso länger dauert der Ent- und Aufladevorgang und umso niedriger wird die Frequenz. Durch die Berührung des Sensor-Kondensators mit einem kapazitiven Objekt, z.B. mit einem menschlichen Finger, wird die Kapazität erhöht, und folglich verringert dies die Oszillationsfrequenz.

Zur Berechnung der Frequenz zählt der im LESense-Modul integrierte Zähler die Anzahl der „1“-Pegel am Ausgang des Komparators innerhalb eines Zeitfensters, das durch den Timer vorgegeben wird. Der Sequenzer bestimmt die zeitliche Reihenfolge und die Parametrisierung jeder einzelnen Messung. Ist die Messung an einem Anschluss abgeschlossen, so wird automatisch auf den nächsten Anschluss geschaltet. Der Anwender kann frei bestimmen, welches Ereignis bei einer Detektion erfolgen soll. Im einfachsten Fall wird ein Wecksignal ausgelöst, was Energy Micro in diesem Zusammenhang auch als „Wake on Touch“ bezeichnet. Die durchschnittliche Stromaufnahme beträgt bei einer Messwiederholfrequenz von 20 Hz lediglich 1,4 µA, bei 100 Hz nur 1,9 µA.